6package com.google.ortools.sat;
18public final class SatParameters
extends
19 com.google.protobuf.GeneratedMessage implements
22private static final long serialVersionUID = 0L;
24 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
25 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
30 SatParameters.class.getName());
33 private SatParameters(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
36 private SatParameters() {
38 preferredVariableOrder_ = 0;
40 usePhaseSaving_ =
true;
41 polarityRephaseIncrement_ = 1000;
42 minimizationAlgorithm_ = 2;
43 binaryMinimizationAlgorithm_ = 1;
44 subsumptionDuringConflictAnalysis_ =
true;
45 clauseCleanupPeriod_ = 10000;
46 clauseCleanupRatio_ = 0.5D;
47 clauseCleanupProtection_ = 0;
48 clauseCleanupLbdBound_ = 5;
49 clauseCleanupOrdering_ = 0;
50 pbCleanupIncrement_ = 200;
51 pbCleanupRatio_ = 0.5D;
52 variableActivityDecay_ = 0.8D;
53 maxVariableActivityValue_ = 1e+100D;
54 glucoseMaxDecay_ = 0.95D;
55 glucoseDecayIncrement_ = 0.01D;
56 glucoseDecayIncrementPeriod_ = 5000;
57 clauseActivityDecay_ = 0.999D;
58 maxClauseActivityValue_ = 1e+20D;
59 restartAlgorithms_ = emptyIntList();
60 defaultRestartAlgorithms_ =
"LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
62 restartRunningWindowSize_ = 50;
63 restartDlAverageRatio_ = 1D;
64 restartLbdAverageRatio_ = 1D;
65 blockingRestartWindowSize_ = 5000;
66 blockingRestartMultiplier_ = 1.4D;
67 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
68 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
69 maxNumberOfConflicts_ = 9223372036854775807L;
70 maxMemoryInMb_ = 10000L;
71 absoluteGapLimit_ = 0.0001D;
75 countAssumptionLevelsInLbd_ =
true;
76 presolveBveThreshold_ = 500;
77 presolveBveClauseWeight_ = 3;
78 probingDeterministicTimeLimit_ = 1D;
79 presolveProbingDeterministicTimeLimit_ = 30D;
80 presolveBlockedClause_ =
true;
81 presolveUseBva_ =
true;
82 presolveBvaThreshold_ = 1;
83 maxPresolveIterations_ = 3;
84 cpModelPresolve_ =
true;
85 cpModelProbingLevel_ = 2;
86 cpModelUseSatPresolve_ =
true;
87 removeFixedVariablesEarly_ =
true;
88 tableCompressionLevel_ = 2;
89 expandReservoirConstraints_ =
true;
90 mergeNoOverlapWorkLimit_ = 1000000000000D;
91 mergeAtMostOneWorkLimit_ = 100000000D;
92 presolveSubstitutionLevel_ = 1;
93 presolveInclusionWorkLimit_ = 100000000L;
95 inferAllDiffs_ =
true;
96 findBigLinearOverlap_ =
true;
97 useSatInprocessing_ =
true;
98 inprocessingDtimeRatio_ = 0.2D;
99 inprocessingProbingDtime_ = 1D;
100 inprocessingMinimizationDtime_ = 1D;
101 inprocessingMinimizationUseConflictAnalysis_ =
true;
103 com.google.protobuf.LazyStringArrayList.emptyList();
105 com.google.protobuf.LazyStringArrayList.emptyList();
107 com.google.protobuf.LazyStringArrayList.emptyList();
109 com.google.protobuf.LazyStringArrayList.emptyList();
110 subsolverParams_ = java.util.Collections.emptyList();
111 shareObjectiveBounds_ =
true;
112 shareLevelZeroBounds_ =
true;
113 shareBinaryClauses_ =
true;
114 minimizeSharedClauses_ =
true;
115 useOptimizationHints_ =
true;
116 coreMinimizationLevel_ = 2;
117 findMultipleCores_ =
true;
118 coverOptimization_ =
true;
119 maxSatAssumptionOrder_ = 0;
120 maxSatStratification_ = 1;
121 propagationLoopDetectionFactor_ = 10D;
122 usePrecedencesInDisjunctiveConstraint_ =
true;
123 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
124 maxNumIntervalsForTimetableEdgeFinding_ = 100;
125 useDisjunctiveConstraintInCumulative_ =
true;
126 maxPairsPairwiseReasoningInNoOverlap2D_ = 1250;
127 useDualSchedulingHeuristics_ =
true;
128 routingCutDpEffort_ = 10000000D;
129 searchBranching_ = 0;
130 hintConflictLimit_ = 10;
131 useExtendedProbing_ =
true;
132 probingNumCombinationsLimit_ = 20000;
133 useShavingInProbingSearch_ =
true;
134 shavingSearchDeterministicTime_ = 0.001D;
135 shavingSearchThreshold_ = 64L;
136 pseudoCostReliabilityThreshold_ = 100L;
137 binarySearchNumConflicts_ = -1;
138 useFeasibilityJump_ =
true;
139 feasibilityJumpDecay_ = 0.95D;
140 feasibilityJumpLinearizationLevel_ = 2;
141 feasibilityJumpRestartFactor_ = 1;
142 feasibilityJumpBatchDtime_ = 0.1D;
143 feasibilityJumpVarRandomizationProbability_ = 0.05D;
144 feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
145 feasibilityJumpEnableRestarts_ =
true;
146 feasibilityJumpMaxExpandedConstraintSize_ = 500;
147 violationLsPerturbationPeriod_ = 100;
148 violationLsCompoundMoveProbability_ = 0.5D;
149 sharedTreeWorkerMinRestartsPerSubtree_ = 1;
150 sharedTreeWorkerEnableTrailSharing_ =
true;
151 sharedTreeWorkerEnablePhaseSharing_ =
true;
152 sharedTreeOpenLeavesPerWorker_ = 2D;
153 sharedTreeMaxNodesPerWorker_ = 10000;
154 sharedTreeSplitStrategy_ = 0;
155 sharedTreeBalanceTolerance_ = 1;
156 instantiateAllVariables_ =
true;
157 autoDetectGreaterThanAtLeastOneOf_ =
true;
158 lnsInitialDifficulty_ = 0.5D;
159 lnsInitialDeterministicLimit_ = 0.1D;
161 solutionPoolSize_ = 3;
163 useFeasibilityPump_ =
true;
164 useLbRelaxLns_ =
true;
165 lbRelaxNumWorkersThreshold_ = 16;
167 useExactLpReason_ =
true;
168 atMostOneMaxExpansionSize_ = 3;
169 catchSigintSignal_ =
true;
170 useImpliedBounds_ =
true;
171 lpPrimalTolerance_ = 1e-07D;
172 lpDualTolerance_ = 1e-07D;
173 convertIntervals_ =
true;
175 symmetryDetectionDeterministicTimeLimit_ = 1D;
176 newLinearPropagation_ =
true;
177 linearSplitSize_ = 100;
178 linearizationLevel_ = 1;
179 booleanEncodingLevel_ = 1;
180 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
185 addZeroHalfCuts_ =
true;
186 addCliqueCuts_ =
true;
188 maxAllDiffCutSize_ = 64;
189 addLinMaxCuts_ =
true;
190 maxIntegerRoundingScaling_ = 600;
191 addLpConstraintsLazily_ =
true;
192 rootLpIterations_ = 2000;
193 minOrthogonalityForLpConstraints_ = 0.05D;
194 maxCutRoundsAtLevelZero_ = 1;
195 maxConsecutiveInactiveCount_ = 100;
196 cutMaxActiveCountValue_ = 10000000000D;
197 cutActiveCountDecay_ = 0.8D;
198 cutCleanupTarget_ = 1000;
199 newConstraintsBatchSize_ = 50;
200 exploitIntegerLpSolution_ =
true;
201 exploitAllLpSolution_ =
true;
202 exploitObjective_ =
true;
203 mipMaxBound_ = 10000000D;
205 mipAutomaticallyScaleVariables_ =
true;
206 mipWantedPrecision_ = 1e-06D;
207 mipMaxActivityExponent_ = 53;
208 mipCheckPrecision_ = 0.0001D;
209 mipComputeTrueObjectiveBound_ =
true;
210 mipMaxValidMagnitude_ = 1e+20D;
211 mipDropTolerance_ = 1e-16D;
212 mipPresolveLevel_ = 2;
215 public static final com.google.protobuf.Descriptors.Descriptor
217 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
221 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
223 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
224 .ensureFieldAccessorsInitialized(
225 com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
236 public enum VariableOrder
237 implements com.google.protobuf.ProtocolMessageEnum {
257 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
258 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
263 VariableOrder.class.getName());
292 @java.lang.Deprecated
293 public static VariableOrder
valueOf(
int value) {
306 default:
return null;
310 public static com.google.protobuf.Internal.EnumLiteMap<
VariableOrder>
312 return internalValueMap;
314 private static final com.google.protobuf.Internal.EnumLiteMap<
316 new com.google.protobuf.Internal.EnumLiteMap<
VariableOrder>() {
322 public final com.google.protobuf.Descriptors.EnumValueDescriptor
326 public final com.google.protobuf.Descriptors.EnumDescriptor
330 public static final com.google.protobuf.Descriptors.EnumDescriptor
332 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
338 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
340 throw new java.lang.IllegalArgumentException(
341 "EnumValueDescriptor is not for this type.");
343 return VALUES[desc.getIndex()];
346 private final int value;
368 implements com.google.protobuf.ProtocolMessageEnum {
384 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
385 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
390 Polarity.class.getName());
415 @java.lang.Deprecated
429 default:
return null;
433 public static com.google.protobuf.Internal.EnumLiteMap<
Polarity>
435 return internalValueMap;
437 private static final com.google.protobuf.Internal.EnumLiteMap<
439 new com.google.protobuf.Internal.EnumLiteMap<
Polarity>() {
440 public Polarity findValueByNumber(
int number) {
445 public final com.google.protobuf.Descriptors.EnumValueDescriptor
449 public final com.google.protobuf.Descriptors.EnumDescriptor
453 public static final com.google.protobuf.Descriptors.EnumDescriptor
455 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
458 private static final Polarity[] VALUES = values();
461 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
463 throw new java.lang.IllegalArgumentException(
464 "EnumValueDescriptor is not for this type.");
466 return VALUES[desc.getIndex()];
469 private final int value;
485 public enum ConflictMinimizationAlgorithm
486 implements com.google.protobuf.ProtocolMessageEnum {
506 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
507 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
512 ConflictMinimizationAlgorithm.class.getName());
541 @java.lang.Deprecated
542 public static ConflictMinimizationAlgorithm
valueOf(
int value) {
550 public static ConflictMinimizationAlgorithm
forNumber(
int value) {
556 default:
return null;
562 return internalValueMap;
564 private static final com.google.protobuf.Internal.EnumLiteMap<
572 public final com.google.protobuf.Descriptors.EnumValueDescriptor
576 public final com.google.protobuf.Descriptors.EnumDescriptor
580 public static final com.google.protobuf.Descriptors.EnumDescriptor
582 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
587 public static ConflictMinimizationAlgorithm
valueOf(
588 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
590 throw new java.lang.IllegalArgumentException(
591 "EnumValueDescriptor is not for this type.");
593 return VALUES[desc.getIndex()];
596 private final int value;
612 public enum BinaryMinizationAlgorithm
613 implements com.google.protobuf.ProtocolMessageEnum {
637 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
638 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
643 BinaryMinizationAlgorithm.class.getName());
676 @java.lang.Deprecated
677 public static BinaryMinizationAlgorithm
valueOf(
int value) {
685 public static BinaryMinizationAlgorithm
forNumber(
int value) {
692 default:
return null;
698 return internalValueMap;
700 private static final com.google.protobuf.Internal.EnumLiteMap<
708 public final com.google.protobuf.Descriptors.EnumValueDescriptor
712 public final com.google.protobuf.Descriptors.EnumDescriptor
716 public static final com.google.protobuf.Descriptors.EnumDescriptor
718 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
723 public static BinaryMinizationAlgorithm
valueOf(
724 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
726 throw new java.lang.IllegalArgumentException(
727 "EnumValueDescriptor is not for this type.");
729 return VALUES[desc.getIndex()];
732 private final int value;
750 public enum ClauseProtection
751 implements com.google.protobuf.ProtocolMessageEnum {
779 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
780 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
785 ClauseProtection.class.getName());
822 @java.lang.Deprecated
823 public static ClauseProtection
valueOf(
int value) {
836 default:
return null;
842 return internalValueMap;
844 private static final com.google.protobuf.Internal.EnumLiteMap<
852 public final com.google.protobuf.Descriptors.EnumValueDescriptor
856 public final com.google.protobuf.Descriptors.EnumDescriptor
860 public static final com.google.protobuf.Descriptors.EnumDescriptor
862 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
868 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
870 throw new java.lang.IllegalArgumentException(
871 "EnumValueDescriptor is not for this type.");
873 return VALUES[desc.getIndex()];
876 private final int value;
893 public enum ClauseOrdering
894 implements com.google.protobuf.ProtocolMessageEnum {
914 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
915 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
920 ClauseOrdering.class.getName());
949 @java.lang.Deprecated
950 public static ClauseOrdering
valueOf(
int value) {
962 default:
return null;
966 public static com.google.protobuf.Internal.EnumLiteMap<
ClauseOrdering>
968 return internalValueMap;
970 private static final com.google.protobuf.Internal.EnumLiteMap<
978 public final com.google.protobuf.Descriptors.EnumValueDescriptor
982 public final com.google.protobuf.Descriptors.EnumDescriptor
986 public static final com.google.protobuf.Descriptors.EnumDescriptor
988 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
994 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
996 throw new java.lang.IllegalArgumentException(
997 "EnumValueDescriptor is not for this type.");
999 return VALUES[desc.getIndex()];
1002 private final int value;
1023 public enum RestartAlgorithm
1024 implements com.google.protobuf.ProtocolMessageEnum {
1064 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
1065 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
1070 RestartAlgorithm.class.getName());
1119 @java.lang.Deprecated
1120 public static RestartAlgorithm
valueOf(
int value) {
1135 default:
return null;
1141 return internalValueMap;
1143 private static final com.google.protobuf.Internal.EnumLiteMap<
1151 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1155 public final com.google.protobuf.Descriptors.EnumDescriptor
1159 public static final com.google.protobuf.Descriptors.EnumDescriptor
1161 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
1167 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1169 throw new java.lang.IllegalArgumentException(
1170 "EnumValueDescriptor is not for this type.");
1172 return VALUES[desc.getIndex()];
1175 private final int value;
1191 public enum MaxSatAssumptionOrder
1192 implements com.google.protobuf.ProtocolMessageEnum {
1208 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
1209 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
1214 MaxSatAssumptionOrder.class.getName());
1239 @java.lang.Deprecated
1240 public static MaxSatAssumptionOrder
valueOf(
int value) {
1253 default:
return null;
1259 return internalValueMap;
1261 private static final com.google.protobuf.Internal.EnumLiteMap<
1269 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1273 public final com.google.protobuf.Descriptors.EnumDescriptor
1277 public static final com.google.protobuf.Descriptors.EnumDescriptor
1279 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
1285 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1287 throw new java.lang.IllegalArgumentException(
1288 "EnumValueDescriptor is not for this type.");
1290 return VALUES[desc.getIndex()];
1293 private final int value;
1309 public enum MaxSatStratificationAlgorithm
1310 implements com.google.protobuf.ProtocolMessageEnum {
1342 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
1343 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
1348 MaxSatStratificationAlgorithm.class.getName());
1389 @java.lang.Deprecated
1390 public static MaxSatStratificationAlgorithm
valueOf(
int value) {
1398 public static MaxSatStratificationAlgorithm
forNumber(
int value) {
1403 default:
return null;
1409 return internalValueMap;
1411 private static final com.google.protobuf.Internal.EnumLiteMap<
1419 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1423 public final com.google.protobuf.Descriptors.EnumDescriptor
1427 public static final com.google.protobuf.Descriptors.EnumDescriptor
1429 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
1434 public static MaxSatStratificationAlgorithm
valueOf(
1435 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1437 throw new java.lang.IllegalArgumentException(
1438 "EnumValueDescriptor is not for this type.");
1440 return VALUES[desc.getIndex()];
1443 private final int value;
1459 public enum SearchBranching
1460 implements com.google.protobuf.ProtocolMessageEnum {
1551 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
1552 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
1557 SearchBranching.class.getName());
1657 @java.lang.Deprecated
1658 public static SearchBranching
valueOf(
int value) {
1677 default:
return null;
1681 public static com.google.protobuf.Internal.EnumLiteMap<
SearchBranching>
1683 return internalValueMap;
1685 private static final com.google.protobuf.Internal.EnumLiteMap<
1693 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1697 public final com.google.protobuf.Descriptors.EnumDescriptor
1701 public static final com.google.protobuf.Descriptors.EnumDescriptor
1703 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
1709 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1711 throw new java.lang.IllegalArgumentException(
1712 "EnumValueDescriptor is not for this type.");
1714 return VALUES[desc.getIndex()];
1717 private final int value;
1729 public enum SharedTreeSplitStrategy
1730 implements com.google.protobuf.ProtocolMessageEnum {
1781 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
1782 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
1787 SharedTreeSplitStrategy.class.getName());
1847 @java.lang.Deprecated
1848 public static SharedTreeSplitStrategy
valueOf(
int value) {
1856 public static SharedTreeSplitStrategy
forNumber(
int value) {
1863 default:
return null;
1869 return internalValueMap;
1871 private static final com.google.protobuf.Internal.EnumLiteMap<
1879 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1883 public final com.google.protobuf.Descriptors.EnumDescriptor
1887 public static final com.google.protobuf.Descriptors.EnumDescriptor
1889 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(10);
1895 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1897 throw new java.lang.IllegalArgumentException(
1898 "EnumValueDescriptor is not for this type.");
1900 return VALUES[desc.getIndex()];
1903 private final int value;
1919 public enum FPRoundingMethod
1920 implements com.google.protobuf.ProtocolMessageEnum {
1964 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
1965 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
1970 FPRoundingMethod.class.getName());
2023 @java.lang.Deprecated
2024 public static FPRoundingMethod
valueOf(
int value) {
2038 default:
return null;
2044 return internalValueMap;
2046 private static final com.google.protobuf.Internal.EnumLiteMap<
2054 public final com.google.protobuf.Descriptors.EnumValueDescriptor
2058 public final com.google.protobuf.Descriptors.EnumDescriptor
2062 public static final com.google.protobuf.Descriptors.EnumDescriptor
2064 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(11);
2070 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2072 throw new java.lang.IllegalArgumentException(
2073 "EnumValueDescriptor is not for this type.");
2075 return VALUES[desc.getIndex()];
2078 private final int value;
2087 private int bitField0_;
2088 private int bitField1_;
2089 private int bitField2_;
2090 private int bitField3_;
2091 private int bitField4_;
2092 private int bitField5_;
2093 private int bitField6_;
2094 private int bitField7_;
2095 private int bitField8_;
2097 @SuppressWarnings(
"serial")
2098 private volatile java.lang.Object name_ =
"";
2110 return ((bitField0_ & 0x00000001) != 0);
2123 java.lang.Object ref = name_;
2124 if (ref instanceof java.lang.String) {
2125 return (java.lang.String) ref;
2127 com.google.protobuf.ByteString bs =
2128 (com.google.protobuf.ByteString) ref;
2129 java.lang.String s = bs.toStringUtf8();
2130 if (bs.isValidUtf8()) {
2146 public com.google.protobuf.ByteString
2148 java.lang.Object ref = name_;
2149 if (ref instanceof java.lang.String) {
2150 com.google.protobuf.ByteString b =
2151 com.google.protobuf.ByteString.copyFromUtf8(
2152 (java.lang.String) ref);
2156 return (com.google.protobuf.ByteString) ref;
2161 private int preferredVariableOrder_ = 0;
2167 return ((bitField0_ & 0x00000002) != 0);
2179 private int initialPolarity_ = 1;
2185 return ((bitField0_ & 0x00000004) != 0);
2197 private boolean usePhaseSaving_ =
true;
2218 return ((bitField0_ & 0x00000008) != 0);
2240 return usePhaseSaving_;
2244 private int polarityRephaseIncrement_ = 1000;
2257 return ((bitField0_ & 0x00000010) != 0);
2271 return polarityRephaseIncrement_;
2275 private boolean polarityExploitLsHints_ =
false;
2287 return ((bitField0_ & 0x00000020) != 0);
2300 return polarityExploitLsHints_;
2304 private double randomPolarityRatio_ = 0D;
2319 return ((bitField0_ & 0x00000040) != 0);
2335 return randomPolarityRatio_;
2339 private double randomBranchesRatio_ = 0D;
2352 return ((bitField0_ & 0x00000080) != 0);
2366 return randomBranchesRatio_;
2370 private boolean useErwaHeuristic_ =
false;
2383 return ((bitField0_ & 0x00000100) != 0);
2397 return useErwaHeuristic_;
2401 private double initialVariablesActivity_ = 0D;
2417 return ((bitField0_ & 0x00000200) != 0);
2434 return initialVariablesActivity_;
2438 private boolean alsoBumpVariablesInConflictReasons_ =
false;
2452 return ((bitField0_ & 0x00000400) != 0);
2467 return alsoBumpVariablesInConflictReasons_;
2471 private int minimizationAlgorithm_ = 2;
2477 return ((bitField0_ & 0x00000800) != 0);
2489 private int binaryMinimizationAlgorithm_ = 1;
2495 return ((bitField0_ & 0x00001000) != 0);
2507 private boolean subsumptionDuringConflictAnalysis_ =
true;
2521 return ((bitField0_ & 0x00002000) != 0);
2536 return subsumptionDuringConflictAnalysis_;
2540 private int clauseCleanupPeriod_ = 10000;
2551 return ((bitField0_ & 0x00004000) != 0);
2563 return clauseCleanupPeriod_;
2567 private int clauseCleanupTarget_ = 0;
2579 return ((bitField0_ & 0x00008000) != 0);
2592 return clauseCleanupTarget_;
2596 private double clauseCleanupRatio_ = 0.5D;
2609 return ((bitField0_ & 0x00010000) != 0);
2623 return clauseCleanupRatio_;
2627 private int clauseCleanupProtection_ = 0;
2633 return ((bitField0_ & 0x00020000) != 0);
2645 private int clauseCleanupLbdBound_ = 5;
2657 return ((bitField0_ & 0x00040000) != 0);
2670 return clauseCleanupLbdBound_;
2674 private int clauseCleanupOrdering_ = 0;
2680 return ((bitField0_ & 0x00080000) != 0);
2692 private int pbCleanupIncrement_ = 200;
2703 return ((bitField0_ & 0x00100000) != 0);
2715 return pbCleanupIncrement_;
2719 private double pbCleanupRatio_ = 0.5D;
2726 return ((bitField0_ & 0x00200000) != 0);
2734 return pbCleanupRatio_;
2738 private double variableActivityDecay_ = 0.8D;
2756 return ((bitField0_ & 0x00400000) != 0);
2775 return variableActivityDecay_;
2779 private double maxVariableActivityValue_ = 1e+100D;
2786 return ((bitField0_ & 0x00800000) != 0);
2794 return maxVariableActivityValue_;
2798 private double glucoseMaxDecay_ = 0.95D;
2813 return ((bitField0_ & 0x01000000) != 0);
2829 return glucoseMaxDecay_;
2833 private double glucoseDecayIncrement_ = 0.01D;
2840 return ((bitField0_ & 0x02000000) != 0);
2848 return glucoseDecayIncrement_;
2852 private int glucoseDecayIncrementPeriod_ = 5000;
2859 return ((bitField0_ & 0x04000000) != 0);
2867 return glucoseDecayIncrementPeriod_;
2871 private double clauseActivityDecay_ = 0.999D;
2882 return ((bitField0_ & 0x08000000) != 0);
2894 return clauseActivityDecay_;
2898 private double maxClauseActivityValue_ = 1e+20D;
2905 return ((bitField0_ & 0x10000000) != 0);
2913 return maxClauseActivityValue_;
2917 @SuppressWarnings(
"serial")
2918 private com.google.protobuf.Internal.IntList restartAlgorithms_;
2919 private static final com.google.protobuf.Internal.IntListAdapter.IntConverter<
2921 new com.google.protobuf.Internal.IntListAdapter.IntConverter<
2946 return new com.google.protobuf.Internal.IntListAdapter<
2947 com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
2967 return restartAlgorithms_.size();
2988 return restartAlgorithms_converter_.convert(restartAlgorithms_.getInt(index));
2992 @SuppressWarnings(
"serial")
2993 private volatile java.lang.Object defaultRestartAlgorithms_ =
"LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
3000 return ((bitField0_ & 0x20000000) != 0);
3008 java.lang.Object ref = defaultRestartAlgorithms_;
3009 if (ref instanceof java.lang.String) {
3010 return (java.lang.String) ref;
3012 com.google.protobuf.ByteString bs =
3013 (com.google.protobuf.ByteString) ref;
3014 java.lang.String s = bs.toStringUtf8();
3015 if (bs.isValidUtf8()) {
3016 defaultRestartAlgorithms_ = s;
3026 public com.google.protobuf.ByteString
3028 java.lang.Object ref = defaultRestartAlgorithms_;
3029 if (ref instanceof java.lang.String) {
3030 com.google.protobuf.ByteString b =
3031 com.google.protobuf.ByteString.copyFromUtf8(
3032 (java.lang.String) ref);
3033 defaultRestartAlgorithms_ = b;
3036 return (com.google.protobuf.ByteString) ref;
3041 private int restartPeriod_ = 50;
3053 return ((bitField0_ & 0x40000000) != 0);
3066 return restartPeriod_;
3070 private int restartRunningWindowSize_ = 50;
3081 return ((bitField0_ & 0x80000000) != 0);
3093 return restartRunningWindowSize_;
3097 private double restartDlAverageRatio_ = 1D;
3109 return ((bitField1_ & 0x00000001) != 0);
3122 return restartDlAverageRatio_;
3126 private double restartLbdAverageRatio_ = 1D;
3133 return ((bitField1_ & 0x00000002) != 0);
3141 return restartLbdAverageRatio_;
3145 private boolean useBlockingRestart_ =
false;
3158 return ((bitField1_ & 0x00000004) != 0);
3172 return useBlockingRestart_;
3176 private int blockingRestartWindowSize_ = 5000;
3183 return ((bitField1_ & 0x00000008) != 0);
3191 return blockingRestartWindowSize_;
3195 private double blockingRestartMultiplier_ = 1.4D;
3202 return ((bitField1_ & 0x00000010) != 0);
3210 return blockingRestartMultiplier_;
3214 private int numConflictsBeforeStrategyChanges_ = 0;
3227 return ((bitField1_ & 0x00000020) != 0);
3241 return numConflictsBeforeStrategyChanges_;
3245 private double strategyChangeIncreaseRatio_ = 0D;
3257 return ((bitField1_ & 0x00000040) != 0);
3270 return strategyChangeIncreaseRatio_;
3274 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
3286 return ((bitField1_ & 0x00000080) != 0);
3299 return maxTimeInSeconds_;
3303 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
3316 return ((bitField1_ & 0x00000100) != 0);
3330 return maxDeterministicTime_;
3334 private int maxNumDeterministicBatches_ = 0;
3346 return ((bitField1_ & 0x00000200) != 0);
3359 return maxNumDeterministicBatches_;
3363 private long maxNumberOfConflicts_ = 9223372036854775807L;
3380 return ((bitField1_ & 0x00000400) != 0);
3398 return maxNumberOfConflicts_;
3402 private long maxMemoryInMb_ = 10000L;
3418 return ((bitField1_ & 0x00000800) != 0);
3435 return maxMemoryInMb_;
3439 private double absoluteGapLimit_ = 0.0001D;
3467 return ((bitField1_ & 0x00001000) != 0);
3496 return absoluteGapLimit_;
3500 private double relativeGapLimit_ = 0D;
3507 return ((bitField1_ & 0x00002000) != 0);
3515 return relativeGapLimit_;
3519 private int randomSeed_ = 1;
3536 return ((bitField1_ & 0x00004000) != 0);
3558 private boolean permuteVariableRandomly_ =
false;
3572 return ((bitField1_ & 0x00008000) != 0);
3587 return permuteVariableRandomly_;
3591 private boolean permutePresolveConstraintOrder_ =
false;
3598 return ((bitField1_ & 0x00010000) != 0);
3606 return permutePresolveConstraintOrder_;
3610 private boolean useAbslRandom_ =
false;
3617 return ((bitField1_ & 0x00020000) != 0);
3625 return useAbslRandom_;
3629 private boolean logSearchProgress_ =
false;
3642 return ((bitField1_ & 0x00040000) != 0);
3656 return logSearchProgress_;
3660 private boolean logSubsolverStatistics_ =
false;
3674 return ((bitField1_ & 0x00080000) != 0);
3689 return logSubsolverStatistics_;
3693 @SuppressWarnings(
"serial")
3694 private volatile java.lang.Object logPrefix_ =
"";
3705 return ((bitField1_ & 0x00100000) != 0);
3717 java.lang.Object ref = logPrefix_;
3718 if (ref instanceof java.lang.String) {
3719 return (java.lang.String) ref;
3721 com.google.protobuf.ByteString bs =
3722 (com.google.protobuf.ByteString) ref;
3723 java.lang.String s = bs.toStringUtf8();
3724 if (bs.isValidUtf8()) {
3739 public com.google.protobuf.ByteString
3741 java.lang.Object ref = logPrefix_;
3742 if (ref instanceof java.lang.String) {
3743 com.google.protobuf.ByteString b =
3744 com.google.protobuf.ByteString.copyFromUtf8(
3745 (java.lang.String) ref);
3749 return (com.google.protobuf.ByteString) ref;
3754 private boolean logToStdout_ =
true;
3765 return ((bitField1_ & 0x00200000) != 0);
3777 return logToStdout_;
3781 private boolean logToResponse_ =
false;
3792 return ((bitField1_ & 0x00400000) != 0);
3804 return logToResponse_;
3808 private boolean usePbResolution_ =
false;
3822 return ((bitField1_ & 0x00800000) != 0);
3837 return usePbResolution_;
3841 private boolean minimizeReductionDuringPbResolution_ =
false;
3855 return ((bitField1_ & 0x01000000) != 0);
3870 return minimizeReductionDuringPbResolution_;
3874 private boolean countAssumptionLevelsInLbd_ =
true;
3893 return ((bitField1_ & 0x02000000) != 0);
3913 return countAssumptionLevelsInLbd_;
3917 private int presolveBveThreshold_ = 500;
3930 return ((bitField1_ & 0x04000000) != 0);
3944 return presolveBveThreshold_;
3948 private int presolveBveClauseWeight_ = 3;
3960 return ((bitField1_ & 0x08000000) != 0);
3973 return presolveBveClauseWeight_;
3977 private double probingDeterministicTimeLimit_ = 1D;
3992 return ((bitField1_ & 0x10000000) != 0);
4008 return probingDeterministicTimeLimit_;
4012 private double presolveProbingDeterministicTimeLimit_ = 30D;
4019 return ((bitField1_ & 0x20000000) != 0);
4027 return presolveProbingDeterministicTimeLimit_;
4031 private boolean presolveBlockedClause_ =
true;
4043 return ((bitField1_ & 0x40000000) != 0);
4056 return presolveBlockedClause_;
4060 private boolean presolveUseBva_ =
true;
4071 return ((bitField1_ & 0x80000000) != 0);
4083 return presolveUseBva_;
4087 private int presolveBvaThreshold_ = 1;
4101 return ((bitField2_ & 0x00000001) != 0);
4116 return presolveBvaThreshold_;
4120 private int maxPresolveIterations_ = 3;
4133 return ((bitField2_ & 0x00000002) != 0);
4147 return maxPresolveIterations_;
4151 private boolean cpModelPresolve_ =
true;
4162 return ((bitField2_ & 0x00000004) != 0);
4174 return cpModelPresolve_;
4178 private int cpModelProbingLevel_ = 2;
4189 return ((bitField2_ & 0x00000008) != 0);
4201 return cpModelProbingLevel_;
4205 private boolean cpModelUseSatPresolve_ =
true;
4216 return ((bitField2_ & 0x00000010) != 0);
4228 return cpModelUseSatPresolve_;
4232 private boolean removeFixedVariablesEarly_ =
true;
4246 return ((bitField2_ & 0x00000020) != 0);
4261 return removeFixedVariablesEarly_;
4265 private boolean detectTableWithCost_ =
false;
4281 return ((bitField2_ & 0x00000040) != 0);
4298 return detectTableWithCost_;
4302 private int tableCompressionLevel_ = 2;
4316 return ((bitField2_ & 0x00000080) != 0);
4331 return tableCompressionLevel_;
4335 private boolean expandAlldiffConstraints_ =
false;
4347 return ((bitField2_ & 0x00000100) != 0);
4360 return expandAlldiffConstraints_;
4364 private boolean expandReservoirConstraints_ =
true;
4376 return ((bitField2_ & 0x00000200) != 0);
4389 return expandReservoirConstraints_;
4393 private boolean expandReservoirUsingCircuit_ =
false;
4417 return ((bitField2_ & 0x00000400) != 0);
4442 return expandReservoirUsingCircuit_;
4446 private boolean encodeCumulativeAsReservoir_ =
false;
4459 return ((bitField2_ & 0x00000800) != 0);
4473 return encodeCumulativeAsReservoir_;
4477 private int maxLinMaxSizeForExpansion_ = 0;
4492 return ((bitField2_ & 0x00001000) != 0);
4508 return maxLinMaxSizeForExpansion_;
4512 private boolean disableConstraintExpansion_ =
false;
4524 return ((bitField2_ & 0x00002000) != 0);
4537 return disableConstraintExpansion_;
4541 private boolean encodeComplexLinearConstraintWithInteger_ =
false;
4553 return ((bitField2_ & 0x00004000) != 0);
4566 return encodeComplexLinearConstraintWithInteger_;
4570 private double mergeNoOverlapWorkLimit_ = 1000000000000D;
4585 return ((bitField2_ & 0x00008000) != 0);
4601 return mergeNoOverlapWorkLimit_;
4605 private double mergeAtMostOneWorkLimit_ = 100000000D;
4612 return ((bitField2_ & 0x00010000) != 0);
4620 return mergeAtMostOneWorkLimit_;
4624 private int presolveSubstitutionLevel_ = 1;
4638 return ((bitField2_ & 0x00020000) != 0);
4653 return presolveSubstitutionLevel_;
4657 private boolean presolveExtractIntegerEnforcement_ =
false;
4673 return ((bitField2_ & 0x00040000) != 0);
4690 return presolveExtractIntegerEnforcement_;
4694 private long presolveInclusionWorkLimit_ = 100000000L;
4711 return ((bitField2_ & 0x00080000) != 0);
4729 return presolveInclusionWorkLimit_;
4733 private boolean ignoreNames_ =
true;
4744 return ((bitField2_ & 0x00100000) != 0);
4756 return ignoreNames_;
4760 private boolean inferAllDiffs_ =
true;
4778 return ((bitField2_ & 0x00200000) != 0);
4797 return inferAllDiffs_;
4801 private boolean findBigLinearOverlap_ =
true;
4815 return ((bitField2_ & 0x00400000) != 0);
4830 return findBigLinearOverlap_;
4834 private boolean useSatInprocessing_ =
true;
4846 return ((bitField2_ & 0x00800000) != 0);
4859 return useSatInprocessing_;
4863 private double inprocessingDtimeRatio_ = 0.2D;
4876 return ((bitField2_ & 0x01000000) != 0);
4890 return inprocessingDtimeRatio_;
4894 private double inprocessingProbingDtime_ = 1D;
4905 return ((bitField2_ & 0x02000000) != 0);
4917 return inprocessingProbingDtime_;
4921 private double inprocessingMinimizationDtime_ = 1D;
4941 return ((bitField2_ & 0x04000000) != 0);
4962 return inprocessingMinimizationDtime_;
4966 private boolean inprocessingMinimizationUseConflictAnalysis_ =
true;
4973 return ((bitField2_ & 0x08000000) != 0);
4981 return inprocessingMinimizationUseConflictAnalysis_;
4985 private boolean inprocessingMinimizationUseAllOrderings_ =
false;
4992 return ((bitField2_ & 0x10000000) != 0);
5000 return inprocessingMinimizationUseAllOrderings_;
5004 private int numWorkers_ = 0;
5028 return ((bitField2_ & 0x20000000) != 0);
5057 private int numSearchWorkers_ = 0;
5064 return ((bitField2_ & 0x40000000) != 0);
5072 return numSearchWorkers_;
5076 private int numFullSubsolvers_ = 0;
5091 return ((bitField2_ & 0x80000000) != 0);
5107 return numFullSubsolvers_;
5111 @SuppressWarnings(
"serial")
5112 private com.google.protobuf.LazyStringArrayList subsolvers_ =
5113 com.google.protobuf.LazyStringArrayList.emptyList();
5146 public com.google.protobuf.ProtocolStringList
5183 return subsolvers_.size();
5219 return subsolvers_.get(index);
5254 public com.google.protobuf.ByteString
5256 return subsolvers_.getByteString(index);
5260 @SuppressWarnings(
"serial")
5261 private com.google.protobuf.LazyStringArrayList extraSubsolvers_ =
5262 com.google.protobuf.LazyStringArrayList.emptyList();
5272 public com.google.protobuf.ProtocolStringList
5274 return extraSubsolvers_;
5286 return extraSubsolvers_.size();
5299 return extraSubsolvers_.get(index);
5311 public com.google.protobuf.ByteString
5313 return extraSubsolvers_.getByteString(index);
5317 @SuppressWarnings(
"serial")
5318 private com.google.protobuf.LazyStringArrayList ignoreSubsolvers_ =
5319 com.google.protobuf.LazyStringArrayList.emptyList();
5336 public com.google.protobuf.ProtocolStringList
5338 return ignoreSubsolvers_;
5357 return ignoreSubsolvers_.size();
5377 return ignoreSubsolvers_.get(index);
5396 public com.google.protobuf.ByteString
5398 return ignoreSubsolvers_.getByteString(index);
5402 @SuppressWarnings(
"serial")
5403 private com.google.protobuf.LazyStringArrayList filterSubsolvers_ =
5404 com.google.protobuf.LazyStringArrayList.emptyList();
5409 public com.google.protobuf.ProtocolStringList
5411 return filterSubsolvers_;
5418 return filterSubsolvers_.size();
5426 return filterSubsolvers_.get(index);
5433 public com.google.protobuf.ByteString
5435 return filterSubsolvers_.getByteString(index);
5439 @SuppressWarnings(
"serial")
5440 private java.
util.List<com.google.
ortools.
sat.SatParameters> subsolverParams_;
5454 return subsolverParams_;
5468 public java.util.List<? extends com.google.ortools.sat.SatParametersOrBuilder>
5470 return subsolverParams_;
5485 return subsolverParams_.size();
5500 return subsolverParams_.get(index);
5516 return subsolverParams_.get(index);
5520 private boolean interleaveSearch_ =
false;
5536 return ((bitField3_ & 0x00000001) != 0);
5553 return interleaveSearch_;
5557 private int interleaveBatchSize_ = 0;
5564 return ((bitField3_ & 0x00000002) != 0);
5572 return interleaveBatchSize_;
5576 private boolean shareObjectiveBounds_ =
true;
5587 return ((bitField3_ & 0x00000004) != 0);
5599 return shareObjectiveBounds_;
5603 private boolean shareLevelZeroBounds_ =
true;
5614 return ((bitField3_ & 0x00000008) != 0);
5626 return shareLevelZeroBounds_;
5630 private boolean shareBinaryClauses_ =
true;
5641 return ((bitField3_ & 0x00000010) != 0);
5653 return shareBinaryClauses_;
5657 private boolean shareGlueClauses_ =
false;
5669 return ((bitField3_ & 0x00000020) != 0);
5682 return shareGlueClauses_;
5686 private boolean minimizeSharedClauses_ =
true;
5698 return ((bitField3_ & 0x00000040) != 0);
5711 return minimizeSharedClauses_;
5715 private boolean debugPostsolveWithFullSolver_ =
false;
5728 return ((bitField3_ & 0x00000080) != 0);
5742 return debugPostsolveWithFullSolver_;
5746 private int debugMaxNumPresolveOperations_ = 0;
5758 return ((bitField3_ & 0x00000100) != 0);
5771 return debugMaxNumPresolveOperations_;
5775 private boolean debugCrashOnBadHint_ =
false;
5786 return ((bitField3_ & 0x00000200) != 0);
5798 return debugCrashOnBadHint_;
5802 private boolean debugCrashIfPresolveBreaksHint_ =
false;
5813 return ((bitField3_ & 0x00000400) != 0);
5825 return debugCrashIfPresolveBreaksHint_;
5829 private boolean useOptimizationHints_ =
true;
5843 return ((bitField3_ & 0x00000800) != 0);
5858 return useOptimizationHints_;
5862 private int coreMinimizationLevel_ = 2;
5876 return ((bitField3_ & 0x00001000) != 0);
5891 return coreMinimizationLevel_;
5895 private boolean findMultipleCores_ =
true;
5907 return ((bitField3_ & 0x00002000) != 0);
5920 return findMultipleCores_;
5924 private boolean coverOptimization_ =
true;
5937 return ((bitField3_ & 0x00004000) != 0);
5951 return coverOptimization_;
5955 private int maxSatAssumptionOrder_ = 0;
5961 return ((bitField3_ & 0x00008000) != 0);
5973 private boolean maxSatReverseAssumptionOrder_ =
false;
5985 return ((bitField3_ & 0x00010000) != 0);
5998 return maxSatReverseAssumptionOrder_;
6002 private int maxSatStratification_ = 1;
6008 return ((bitField3_ & 0x00020000) != 0);
6020 private double propagationLoopDetectionFactor_ = 10D;
6039 return ((bitField3_ & 0x00040000) != 0);
6059 return propagationLoopDetectionFactor_;
6063 private boolean usePrecedencesInDisjunctiveConstraint_ =
true;
6082 return ((bitField3_ & 0x00080000) != 0);
6102 return usePrecedencesInDisjunctiveConstraint_;
6106 private int maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
6121 return ((bitField3_ & 0x00100000) != 0);
6137 return maxSizeToCreatePrecedenceLiteralsInDisjunctive_;
6141 private boolean useStrongPropagationInDisjunctive_ =
false;
6152 return ((bitField3_ & 0x00200000) != 0);
6164 return useStrongPropagationInDisjunctive_;
6168 private boolean useDynamicPrecedenceInDisjunctive_ =
false;
6184 return ((bitField3_ & 0x00400000) != 0);
6201 return useDynamicPrecedenceInDisjunctive_;
6205 private boolean useDynamicPrecedenceInCumulative_ =
false;
6212 return ((bitField3_ & 0x00800000) != 0);
6220 return useDynamicPrecedenceInCumulative_;
6224 private boolean useOverloadCheckerInCumulative_ =
false;
6241 return ((bitField3_ & 0x01000000) != 0);
6259 return useOverloadCheckerInCumulative_;
6263 private boolean useConservativeScaleOverloadChecker_ =
false;
6280 return ((bitField3_ & 0x02000000) != 0);
6298 return useConservativeScaleOverloadChecker_;
6302 private boolean useTimetableEdgeFindingInCumulative_ =
false;
6319 return ((bitField3_ & 0x04000000) != 0);
6337 return useTimetableEdgeFindingInCumulative_;
6341 private int maxNumIntervalsForTimetableEdgeFinding_ = 100;
6353 return ((bitField3_ & 0x08000000) != 0);
6366 return maxNumIntervalsForTimetableEdgeFinding_;
6370 private boolean useHardPrecedencesInCumulative_ =
false;
6386 return ((bitField3_ & 0x10000000) != 0);
6403 return useHardPrecedencesInCumulative_;
6407 private boolean exploitAllPrecedences_ =
false;
6414 return ((bitField3_ & 0x20000000) != 0);
6422 return exploitAllPrecedences_;
6426 private boolean useDisjunctiveConstraintInCumulative_ =
true;
6446 return ((bitField3_ & 0x40000000) != 0);
6467 return useDisjunctiveConstraintInCumulative_;
6471 private boolean useTimetablingInNoOverlap2D_ =
false;
6486 return ((bitField3_ & 0x80000000) != 0);
6502 return useTimetablingInNoOverlap2D_;
6506 private boolean useEnergeticReasoningInNoOverlap2D_ =
false;
6519 return ((bitField4_ & 0x00000001) != 0);
6533 return useEnergeticReasoningInNoOverlap2D_;
6537 private boolean useAreaEnergeticReasoningInNoOverlap2D_ =
false;
6550 return ((bitField4_ & 0x00000002) != 0);
6564 return useAreaEnergeticReasoningInNoOverlap2D_;
6568 private boolean useTryEdgeReasoningInNoOverlap2D_ =
false;
6575 return ((bitField4_ & 0x00000004) != 0);
6583 return useTryEdgeReasoningInNoOverlap2D_;
6587 private int maxPairsPairwiseReasoningInNoOverlap2D_ = 1250;
6600 return ((bitField4_ & 0x00000008) != 0);
6614 return maxPairsPairwiseReasoningInNoOverlap2D_;
6618 private int maximumRegionsToSplitInDisconnectedNoOverlap2D_ = 0;
6638 return ((bitField4_ & 0x00000010) != 0);
6659 return maximumRegionsToSplitInDisconnectedNoOverlap2D_;
6663 private boolean useDualSchedulingHeuristics_ =
true;
6676 return ((bitField4_ & 0x00000020) != 0);
6690 return useDualSchedulingHeuristics_;
6694 private boolean useAllDifferentForCircuit_ =
false;
6706 return ((bitField4_ & 0x00000040) != 0);
6719 return useAllDifferentForCircuit_;
6723 private int routingCutSubsetSizeForBinaryRelationBound_ = 0;
6741 return ((bitField4_ & 0x00000080) != 0);
6760 return routingCutSubsetSizeForBinaryRelationBound_;
6764 private int routingCutSubsetSizeForTightBinaryRelationBound_ = 0;
6777 return ((bitField4_ & 0x00000100) != 0);
6791 return routingCutSubsetSizeForTightBinaryRelationBound_;
6795 private double routingCutDpEffort_ = 10000000D;
6809 return ((bitField4_ & 0x00000200) != 0);
6824 return routingCutDpEffort_;
6828 private int searchBranching_ = 0;
6834 return ((bitField4_ & 0x00000400) != 0);
6846 private int hintConflictLimit_ = 10;
6857 return ((bitField4_ & 0x00000800) != 0);
6869 return hintConflictLimit_;
6873 private boolean repairHint_ =
false;
6887 return ((bitField4_ & 0x00001000) != 0);
6906 private boolean fixVariablesToTheirHintedValue_ =
false;
6918 return ((bitField4_ & 0x00002000) != 0);
6931 return fixVariablesToTheirHintedValue_;
6935 private boolean useProbingSearch_ =
false;
6948 return ((bitField4_ & 0x00004000) != 0);
6962 return useProbingSearch_;
6966 private boolean useExtendedProbing_ =
true;
6977 return ((bitField4_ & 0x00008000) != 0);
6989 return useExtendedProbing_;
6993 private int probingNumCombinationsLimit_ = 20000;
7004 return ((bitField4_ & 0x00010000) != 0);
7016 return probingNumCombinationsLimit_;
7020 private boolean useShavingInProbingSearch_ =
true;
7032 return ((bitField4_ & 0x00020000) != 0);
7045 return useShavingInProbingSearch_;
7049 private double shavingSearchDeterministicTime_ = 0.001D;
7061 return ((bitField4_ & 0x00040000) != 0);
7074 return shavingSearchDeterministicTime_;
7078 private long shavingSearchThreshold_ = 64L;
7092 return ((bitField4_ & 0x00080000) != 0);
7107 return shavingSearchThreshold_;
7111 private boolean useObjectiveLbSearch_ =
false;
7123 return ((bitField4_ & 0x00100000) != 0);
7136 return useObjectiveLbSearch_;
7140 private boolean useObjectiveShavingSearch_ =
false;
7153 return ((bitField4_ & 0x00200000) != 0);
7167 return useObjectiveShavingSearch_;
7171 private boolean useVariablesShavingSearch_ =
false;
7183 return ((bitField4_ & 0x00400000) != 0);
7196 return useVariablesShavingSearch_;
7200 private long pseudoCostReliabilityThreshold_ = 100L;
7212 return ((bitField4_ & 0x00800000) != 0);
7225 return pseudoCostReliabilityThreshold_;
7229 private boolean optimizeWithCore_ =
false;
7243 return ((bitField4_ & 0x01000000) != 0);
7258 return optimizeWithCore_;
7262 private boolean optimizeWithLbTreeSearch_ =
false;
7277 return ((bitField4_ & 0x02000000) != 0);
7293 return optimizeWithLbTreeSearch_;
7297 private boolean saveLpBasisInLbTreeSearch_ =
false;
7313 return ((bitField4_ & 0x04000000) != 0);
7330 return saveLpBasisInLbTreeSearch_;
7334 private int binarySearchNumConflicts_ = -1;
7348 return ((bitField4_ & 0x08000000) != 0);
7363 return binarySearchNumConflicts_;
7367 private boolean optimizeWithMaxHs_ =
false;
7383 return ((bitField4_ & 0x10000000) != 0);
7400 return optimizeWithMaxHs_;
7404 private boolean useFeasibilityJump_ =
true;
7417 return ((bitField4_ & 0x20000000) != 0);
7431 return useFeasibilityJump_;
7435 private boolean useLsOnly_ =
false;
7447 return ((bitField4_ & 0x40000000) != 0);
7464 private double feasibilityJumpDecay_ = 0.95D;
7476 return ((bitField4_ & 0x80000000) != 0);
7489 return feasibilityJumpDecay_;
7493 private int feasibilityJumpLinearizationLevel_ = 2;
7504 return ((bitField5_ & 0x00000001) != 0);
7516 return feasibilityJumpLinearizationLevel_;
7520 private int feasibilityJumpRestartFactor_ = 1;
7532 return ((bitField5_ & 0x00000002) != 0);
7545 return feasibilityJumpRestartFactor_;
7549 private double feasibilityJumpBatchDtime_ = 0.1D;
7560 return ((bitField5_ & 0x00000004) != 0);
7572 return feasibilityJumpBatchDtime_;
7576 private double feasibilityJumpVarRandomizationProbability_ = 0.05D;
7588 return ((bitField5_ & 0x00000008) != 0);
7601 return feasibilityJumpVarRandomizationProbability_;
7605 private double feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
7617 return ((bitField5_ & 0x00000010) != 0);
7630 return feasibilityJumpVarPerburbationRangeRatio_;
7634 private boolean feasibilityJumpEnableRestarts_ =
true;
7647 return ((bitField5_ & 0x00000020) != 0);
7661 return feasibilityJumpEnableRestarts_;
7665 private int feasibilityJumpMaxExpandedConstraintSize_ = 500;
7679 return ((bitField5_ & 0x00000040) != 0);
7694 return feasibilityJumpMaxExpandedConstraintSize_;
7698 private int numViolationLs_ = 0;
7711 return ((bitField5_ & 0x00000080) != 0);
7725 return numViolationLs_;
7729 private int violationLsPerturbationPeriod_ = 100;
7740 return ((bitField5_ & 0x00000100) != 0);
7752 return violationLsPerturbationPeriod_;
7756 private double violationLsCompoundMoveProbability_ = 0.5D;
7768 return ((bitField5_ & 0x00000200) != 0);
7781 return violationLsCompoundMoveProbability_;
7785 private int sharedTreeNumWorkers_ = 0;
7802 return ((bitField5_ & 0x00000400) != 0);
7820 return sharedTreeNumWorkers_;
7824 private boolean useSharedTreeSearch_ =
false;
7835 return ((bitField5_ & 0x00000800) != 0);
7847 return useSharedTreeSearch_;
7851 private int sharedTreeWorkerMinRestartsPerSubtree_ = 1;
7863 return ((bitField5_ & 0x00001000) != 0);
7876 return sharedTreeWorkerMinRestartsPerSubtree_;
7880 private boolean sharedTreeWorkerEnableTrailSharing_ =
true;
7892 return ((bitField5_ & 0x00002000) != 0);
7905 return sharedTreeWorkerEnableTrailSharing_;
7909 private boolean sharedTreeWorkerEnablePhaseSharing_ =
true;
7921 return ((bitField5_ & 0x00004000) != 0);
7934 return sharedTreeWorkerEnablePhaseSharing_;
7938 private double sharedTreeOpenLeavesPerWorker_ = 2D;
7949 return ((bitField5_ & 0x00008000) != 0);
7961 return sharedTreeOpenLeavesPerWorker_;
7965 private int sharedTreeMaxNodesPerWorker_ = 10000;
7979 return ((bitField5_ & 0x00010000) != 0);
7994 return sharedTreeMaxNodesPerWorker_;
7998 private int sharedTreeSplitStrategy_ = 0;
8004 return ((bitField5_ & 0x00020000) != 0);
8016 private int sharedTreeBalanceTolerance_ = 1;
8033 return ((bitField5_ & 0x00040000) != 0);
8051 return sharedTreeBalanceTolerance_;
8055 private boolean enumerateAllSolutions_ =
false;
8072 return ((bitField5_ & 0x00080000) != 0);
8090 return enumerateAllSolutions_;
8094 private boolean keepAllFeasibleSolutionsInPresolve_ =
false;
8112 return ((bitField5_ & 0x00100000) != 0);
8131 return keepAllFeasibleSolutionsInPresolve_;
8135 private boolean fillTightenedDomainsInResponse_ =
false;
8150 return ((bitField5_ & 0x00200000) != 0);
8166 return fillTightenedDomainsInResponse_;
8170 private boolean fillAdditionalSolutionsInResponse_ =
false;
8190 return ((bitField5_ & 0x00400000) != 0);
8211 return fillAdditionalSolutionsInResponse_;
8215 private boolean instantiateAllVariables_ =
true;
8229 return ((bitField5_ & 0x00800000) != 0);
8244 return instantiateAllVariables_;
8248 private boolean autoDetectGreaterThanAtLeastOneOf_ =
true;
8262 return ((bitField5_ & 0x01000000) != 0);
8277 return autoDetectGreaterThanAtLeastOneOf_;
8281 private boolean stopAfterFirstSolution_ =
false;
8292 return ((bitField5_ & 0x02000000) != 0);
8304 return stopAfterFirstSolution_;
8308 private boolean stopAfterPresolve_ =
false;
8320 return ((bitField5_ & 0x04000000) != 0);
8333 return stopAfterPresolve_;
8337 private boolean stopAfterRootPropagation_ =
false;
8344 return ((bitField5_ & 0x08000000) != 0);
8352 return stopAfterRootPropagation_;
8356 private double lnsInitialDifficulty_ = 0.5D;
8367 return ((bitField5_ & 0x10000000) != 0);
8379 return lnsInitialDifficulty_;
8383 private double lnsInitialDeterministicLimit_ = 0.1D;
8390 return ((bitField5_ & 0x20000000) != 0);
8398 return lnsInitialDeterministicLimit_;
8402 private boolean useLns_ =
true;
8413 return ((bitField5_ & 0x40000000) != 0);
8429 private boolean useLnsOnly_ =
false;
8440 return ((bitField5_ & 0x80000000) != 0);
8456 private int solutionPoolSize_ = 3;
8469 return ((bitField6_ & 0x00000001) != 0);
8483 return solutionPoolSize_;
8487 private boolean useRinsLns_ =
true;
8498 return ((bitField6_ & 0x00000002) != 0);
8514 private boolean useFeasibilityPump_ =
true;
8525 return ((bitField6_ & 0x00000004) != 0);
8537 return useFeasibilityPump_;
8541 private boolean useLbRelaxLns_ =
true;
8554 return ((bitField6_ & 0x00000008) != 0);
8568 return useLbRelaxLns_;
8572 private int lbRelaxNumWorkersThreshold_ = 16;
8583 return ((bitField6_ & 0x00000010) != 0);
8595 return lbRelaxNumWorkersThreshold_;
8599 private int fpRounding_ = 2;
8605 return ((bitField6_ & 0x00000020) != 0);
8617 private boolean diversifyLnsParams_ =
false;
8628 return ((bitField6_ & 0x00000040) != 0);
8640 return diversifyLnsParams_;
8644 private boolean randomizeSearch_ =
false;
8655 return ((bitField6_ & 0x00000080) != 0);
8667 return randomizeSearch_;
8671 private long searchRandomVariablePoolSize_ = 0L;
8684 return ((bitField6_ & 0x00000100) != 0);
8698 return searchRandomVariablePoolSize_;
8702 private boolean pushAllTasksTowardStart_ =
false;
8714 return ((bitField6_ & 0x00000200) != 0);
8727 return pushAllTasksTowardStart_;
8731 private boolean useOptionalVariables_ =
false;
8747 return ((bitField6_ & 0x00000400) != 0);
8764 return useOptionalVariables_;
8768 private boolean useExactLpReason_ =
true;
8782 return ((bitField6_ & 0x00000800) != 0);
8797 return useExactLpReason_;
8801 private boolean useCombinedNoOverlap_ =
false;
8814 return ((bitField6_ & 0x00001000) != 0);
8828 return useCombinedNoOverlap_;
8832 private int atMostOneMaxExpansionSize_ = 3;
8844 return ((bitField6_ & 0x00002000) != 0);
8857 return atMostOneMaxExpansionSize_;
8861 private boolean catchSigintSignal_ =
true;
8874 return ((bitField6_ & 0x00004000) != 0);
8888 return catchSigintSignal_;
8892 private boolean useImpliedBounds_ =
true;
8905 return ((bitField6_ & 0x00008000) != 0);
8919 return useImpliedBounds_;
8923 private boolean polishLpSolution_ =
false;
8937 return ((bitField6_ & 0x00010000) != 0);
8952 return polishLpSolution_;
8956 private double lpPrimalTolerance_ = 1e-07D;
8971 return ((bitField6_ & 0x00020000) != 0);
8987 return lpPrimalTolerance_;
8991 private double lpDualTolerance_ = 1e-07D;
8998 return ((bitField6_ & 0x00040000) != 0);
9006 return lpDualTolerance_;
9010 private boolean convertIntervals_ =
true;
9023 return ((bitField6_ & 0x00080000) != 0);
9037 return convertIntervals_;
9041 private int symmetryLevel_ = 2;
9057 return ((bitField6_ & 0x00100000) != 0);
9074 return symmetryLevel_;
9078 private boolean useSymmetryInLp_ =
false;
9093 return ((bitField6_ & 0x00200000) != 0);
9109 return useSymmetryInLp_;
9113 private boolean keepSymmetryInPresolve_ =
false;
9127 return ((bitField6_ & 0x00400000) != 0);
9142 return keepSymmetryInPresolve_;
9146 private double symmetryDetectionDeterministicTimeLimit_ = 1D;
9157 return ((bitField6_ & 0x00800000) != 0);
9169 return symmetryDetectionDeterministicTimeLimit_;
9173 private boolean newLinearPropagation_ =
true;
9186 return ((bitField6_ & 0x01000000) != 0);
9200 return newLinearPropagation_;
9204 private int linearSplitSize_ = 100;
9217 return ((bitField6_ & 0x02000000) != 0);
9231 return linearSplitSize_;
9235 private int linearizationLevel_ = 1;
9249 return ((bitField6_ & 0x04000000) != 0);
9264 return linearizationLevel_;
9268 private int booleanEncodingLevel_ = 1;
9280 return ((bitField6_ & 0x08000000) != 0);
9293 return booleanEncodingLevel_;
9297 private int maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
9311 return ((bitField6_ & 0x10000000) != 0);
9326 return maxDomainSizeWhenEncodingEqNeqConstraints_;
9330 private int maxNumCuts_ = 10000;
9345 return ((bitField6_ & 0x20000000) != 0);
9365 private int cutLevel_ = 1;
9378 return ((bitField6_ & 0x40000000) != 0);
9396 private boolean onlyAddCutsAtLevelZero_ =
false;
9408 return ((bitField6_ & 0x80000000) != 0);
9421 return onlyAddCutsAtLevelZero_;
9425 private boolean addObjectiveCut_ =
false;
9440 return ((bitField7_ & 0x00000001) != 0);
9456 return addObjectiveCut_;
9460 private boolean addCgCuts_ =
true;
9472 return ((bitField7_ & 0x00000002) != 0);
9489 private boolean addMirCuts_ =
true;
9501 return ((bitField7_ & 0x00000004) != 0);
9518 private boolean addZeroHalfCuts_ =
true;
9530 return ((bitField7_ & 0x00000008) != 0);
9543 return addZeroHalfCuts_;
9547 private boolean addCliqueCuts_ =
true;
9560 return ((bitField7_ & 0x00000010) != 0);
9574 return addCliqueCuts_;
9578 private boolean addRltCuts_ =
true;
9590 return ((bitField7_ & 0x00000020) != 0);
9607 private int maxAllDiffCutSize_ = 64;
9620 return ((bitField7_ & 0x00000040) != 0);
9634 return maxAllDiffCutSize_;
9638 private boolean addLinMaxCuts_ =
true;
9651 return ((bitField7_ & 0x00000080) != 0);
9665 return addLinMaxCuts_;
9669 private int maxIntegerRoundingScaling_ = 600;
9687 return ((bitField7_ & 0x00000100) != 0);
9706 return maxIntegerRoundingScaling_;
9710 private boolean addLpConstraintsLazily_ =
true;
9724 return ((bitField7_ & 0x00000200) != 0);
9739 return addLpConstraintsLazily_;
9743 private int rootLpIterations_ = 2000;
9757 return ((bitField7_ & 0x00000400) != 0);
9772 return rootLpIterations_;
9776 private double minOrthogonalityForLpConstraints_ = 0.05D;
9791 return ((bitField7_ & 0x00000800) != 0);
9807 return minOrthogonalityForLpConstraints_;
9811 private int maxCutRoundsAtLevelZero_ = 1;
9822 return ((bitField7_ & 0x00001000) != 0);
9834 return maxCutRoundsAtLevelZero_;
9838 private int maxConsecutiveInactiveCount_ = 100;
9851 return ((bitField7_ & 0x00002000) != 0);
9865 return maxConsecutiveInactiveCount_;
9869 private double cutMaxActiveCountValue_ = 10000000000D;
9882 return ((bitField7_ & 0x00004000) != 0);
9896 return cutMaxActiveCountValue_;
9900 private double cutActiveCountDecay_ = 0.8D;
9907 return ((bitField7_ & 0x00008000) != 0);
9915 return cutActiveCountDecay_;
9919 private int cutCleanupTarget_ = 1000;
9930 return ((bitField7_ & 0x00010000) != 0);
9942 return cutCleanupTarget_;
9946 private int newConstraintsBatchSize_ = 50;
9958 return ((bitField7_ & 0x00020000) != 0);
9971 return newConstraintsBatchSize_;
9975 private boolean exploitIntegerLpSolution_ =
true;
9989 return ((bitField7_ & 0x00040000) != 0);
10002 @java.lang.Override
10004 return exploitIntegerLpSolution_;
10008 private boolean exploitAllLpSolution_ =
true;
10019 @java.lang.Override
10021 return ((bitField7_ & 0x00080000) != 0);
10033 @java.lang.Override
10035 return exploitAllLpSolution_;
10039 private boolean exploitBestSolution_ =
false;
10048 @java.lang.Override
10050 return ((bitField7_ & 0x00100000) != 0);
10060 @java.lang.Override
10062 return exploitBestSolution_;
10066 private boolean exploitRelaxationSolution_ =
false;
10077 @java.lang.Override
10079 return ((bitField7_ & 0x00200000) != 0);
10091 @java.lang.Override
10093 return exploitRelaxationSolution_;
10097 private boolean exploitObjective_ =
true;
10107 @java.lang.Override
10109 return ((bitField7_ & 0x00400000) != 0);
10120 @java.lang.Override
10122 return exploitObjective_;
10126 private boolean detectLinearizedProduct_ =
false;
10137 @java.lang.Override
10139 return ((bitField7_ & 0x00800000) != 0);
10151 @java.lang.Override
10153 return detectLinearizedProduct_;
10157 private double mipMaxBound_ = 10000000D;
10168 @java.lang.Override
10170 return ((bitField7_ & 0x01000000) != 0);
10182 @java.lang.Override
10184 return mipMaxBound_;
10188 private double mipVarScaling_ = 1D;
10199 @java.lang.Override
10201 return ((bitField7_ & 0x02000000) != 0);
10213 @java.lang.Override
10215 return mipVarScaling_;
10219 private boolean mipScaleLargeDomain_ =
false;
10230 @java.lang.Override
10232 return ((bitField7_ & 0x04000000) != 0);
10244 @java.lang.Override
10246 return mipScaleLargeDomain_;
10250 private boolean mipAutomaticallyScaleVariables_ =
true;
10263 @java.lang.Override
10265 return ((bitField7_ & 0x08000000) != 0);
10279 @java.lang.Override
10281 return mipAutomaticallyScaleVariables_;
10285 private boolean onlySolveIp_ =
false;
10305 @java.lang.Override
10307 return ((bitField7_ & 0x10000000) != 0);
10328 @java.lang.Override
10330 return onlySolveIp_;
10334 private double mipWantedPrecision_ = 1e-06D;
10359 @java.lang.Override
10361 return ((bitField7_ & 0x20000000) != 0);
10387 @java.lang.Override
10389 return mipWantedPrecision_;
10393 private int mipMaxActivityExponent_ = 53;
10409 @java.lang.Override
10411 return ((bitField7_ & 0x40000000) != 0);
10428 @java.lang.Override
10430 return mipMaxActivityExponent_;
10434 private double mipCheckPrecision_ = 0.0001D;
10445 @java.lang.Override
10447 return ((bitField7_ & 0x80000000) != 0);
10459 @java.lang.Override
10461 return mipCheckPrecision_;
10465 private boolean mipComputeTrueObjectiveBound_ =
true;
10478 @java.lang.Override
10480 return ((bitField8_ & 0x00000001) != 0);
10494 @java.lang.Override
10496 return mipComputeTrueObjectiveBound_;
10500 private double mipMaxValidMagnitude_ = 1e+20D;
10513 @java.lang.Override
10515 return ((bitField8_ & 0x00000002) != 0);
10529 @java.lang.Override
10531 return mipMaxValidMagnitude_;
10535 private boolean mipTreatHighMagnitudeBoundsAsInfinity_ =
false;
10549 @java.lang.Override
10551 return ((bitField8_ & 0x00000004) != 0);
10566 @java.lang.Override
10568 return mipTreatHighMagnitudeBoundsAsInfinity_;
10572 private double mipDropTolerance_ = 1e-16D;
10582 @java.lang.Override
10584 return ((bitField8_ & 0x00000008) != 0);
10595 @java.lang.Override
10597 return mipDropTolerance_;
10601 private int mipPresolveLevel_ = 2;
10613 @java.lang.Override
10615 return ((bitField8_ & 0x00000010) != 0);
10628 @java.lang.Override
10630 return mipPresolveLevel_;
10633 private byte memoizedIsInitialized = -1;
10634 @java.lang.Override
10640 memoizedIsInitialized = 1;
10644 @java.lang.Override
10645 public void writeTo(com.google.protobuf.CodedOutputStream output)
10646 throws java.io.IOException {
10647 if (((bitField0_ & 0x00000002) != 0)) {
10648 output.writeEnum(1, preferredVariableOrder_);
10650 if (((bitField0_ & 0x00000004) != 0)) {
10651 output.writeEnum(2, initialPolarity_);
10653 if (((bitField0_ & 0x00000800) != 0)) {
10654 output.writeEnum(4, minimizationAlgorithm_);
10656 if (((bitField0_ & 0x00004000) != 0)) {
10657 output.writeInt32(11, clauseCleanupPeriod_);
10659 if (((bitField0_ & 0x00008000) != 0)) {
10660 output.writeInt32(13, clauseCleanupTarget_);
10662 if (((bitField0_ & 0x00400000) != 0)) {
10663 output.writeDouble(15, variableActivityDecay_);
10665 if (((bitField0_ & 0x00800000) != 0)) {
10666 output.writeDouble(16, maxVariableActivityValue_);
10668 if (((bitField0_ & 0x08000000) != 0)) {
10669 output.writeDouble(17, clauseActivityDecay_);
10671 if (((bitField0_ & 0x10000000) != 0)) {
10672 output.writeDouble(18, maxClauseActivityValue_);
10674 if (((bitField0_ & 0x01000000) != 0)) {
10675 output.writeDouble(22, glucoseMaxDecay_);
10677 if (((bitField0_ & 0x02000000) != 0)) {
10678 output.writeDouble(23, glucoseDecayIncrement_);
10680 if (((bitField0_ & 0x04000000) != 0)) {
10681 output.writeInt32(24, glucoseDecayIncrementPeriod_);
10683 if (((bitField0_ & 0x40000000) != 0)) {
10684 output.writeInt32(30, restartPeriod_);
10686 if (((bitField1_ & 0x00004000) != 0)) {
10687 output.writeInt32(31, randomSeed_);
10689 if (((bitField0_ & 0x00000080) != 0)) {
10690 output.writeDouble(32, randomBranchesRatio_);
10692 if (((bitField0_ & 0x00001000) != 0)) {
10693 output.writeEnum(34, binaryMinimizationAlgorithm_);
10695 if (((bitField3_ & 0x00000800) != 0)) {
10696 output.writeBool(35, useOptimizationHints_);
10698 if (((bitField1_ & 0x00000080) != 0)) {
10699 output.writeDouble(36, maxTimeInSeconds_);
10701 if (((bitField1_ & 0x00000400) != 0)) {
10702 output.writeInt64(37, maxNumberOfConflicts_);
10704 if (((bitField1_ & 0x00000800) != 0)) {
10705 output.writeInt64(40, maxMemoryInMb_);
10707 if (((bitField1_ & 0x00040000) != 0)) {
10708 output.writeBool(41, logSearchProgress_);
10710 if (((bitField1_ & 0x00800000) != 0)) {
10711 output.writeBool(43, usePbResolution_);
10713 if (((bitField0_ & 0x00000008) != 0)) {
10714 output.writeBool(44, usePhaseSaving_);
10716 if (((bitField0_ & 0x00000040) != 0)) {
10717 output.writeDouble(45, randomPolarityRatio_);
10719 if (((bitField0_ & 0x00100000) != 0)) {
10720 output.writeInt32(46, pbCleanupIncrement_);
10722 if (((bitField0_ & 0x00200000) != 0)) {
10723 output.writeDouble(47, pbCleanupRatio_);
10725 if (((bitField1_ & 0x01000000) != 0)) {
10726 output.writeBool(48, minimizeReductionDuringPbResolution_);
10728 if (((bitField1_ & 0x02000000) != 0)) {
10729 output.writeBool(49, countAssumptionLevelsInLbd_);
10731 if (((bitField3_ & 0x00001000) != 0)) {
10732 output.writeInt32(50, coreMinimizationLevel_);
10734 if (((bitField3_ & 0x00008000) != 0)) {
10735 output.writeEnum(51, maxSatAssumptionOrder_);
10737 if (((bitField3_ & 0x00010000) != 0)) {
10738 output.writeBool(52, maxSatReverseAssumptionOrder_);
10740 if (((bitField3_ & 0x00020000) != 0)) {
10741 output.writeEnum(53, maxSatStratification_);
10743 if (((bitField1_ & 0x04000000) != 0)) {
10744 output.writeInt32(54, presolveBveThreshold_);
10746 if (((bitField1_ & 0x08000000) != 0)) {
10747 output.writeInt32(55, presolveBveClauseWeight_);
10749 if (((bitField0_ & 0x00002000) != 0)) {
10750 output.writeBool(56, subsumptionDuringConflictAnalysis_);
10752 if (((bitField1_ & 0x20000000) != 0)) {
10753 output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
10755 if (((bitField0_ & 0x00020000) != 0)) {
10756 output.writeEnum(58, clauseCleanupProtection_);
10758 if (((bitField0_ & 0x00040000) != 0)) {
10759 output.writeInt32(59, clauseCleanupLbdBound_);
10761 if (((bitField0_ & 0x00080000) != 0)) {
10762 output.writeEnum(60, clauseCleanupOrdering_);
10764 for (
int i = 0; i < restartAlgorithms_.size(); i++) {
10765 output.writeEnum(61, restartAlgorithms_.getInt(i));
10767 if (((bitField0_ & 0x80000000) != 0)) {
10768 output.writeInt32(62, restartRunningWindowSize_);
10770 if (((bitField1_ & 0x00000001) != 0)) {
10771 output.writeDouble(63, restartDlAverageRatio_);
10773 if (((bitField1_ & 0x00000004) != 0)) {
10774 output.writeBool(64, useBlockingRestart_);
10776 if (((bitField1_ & 0x00000008) != 0)) {
10777 output.writeInt32(65, blockingRestartWindowSize_);
10779 if (((bitField1_ & 0x00000010) != 0)) {
10780 output.writeDouble(66, blockingRestartMultiplier_);
10782 if (((bitField1_ & 0x00000100) != 0)) {
10783 output.writeDouble(67, maxDeterministicTime_);
10785 if (((bitField1_ & 0x00000020) != 0)) {
10786 output.writeInt32(68, numConflictsBeforeStrategyChanges_);
10788 if (((bitField1_ & 0x00000040) != 0)) {
10789 output.writeDouble(69, strategyChangeIncreaseRatio_);
10791 if (((bitField0_ & 0x20000000) != 0)) {
10792 com.google.protobuf.GeneratedMessage.writeString(output, 70, defaultRestartAlgorithms_);
10794 if (((bitField1_ & 0x00000002) != 0)) {
10795 output.writeDouble(71, restartLbdAverageRatio_);
10797 if (((bitField1_ & 0x80000000) != 0)) {
10798 output.writeBool(72, presolveUseBva_);
10800 if (((bitField2_ & 0x00000001) != 0)) {
10801 output.writeInt32(73, presolveBvaThreshold_);
10803 if (((bitField3_ & 0x00080000) != 0)) {
10804 output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
10806 if (((bitField0_ & 0x00000100) != 0)) {
10807 output.writeBool(75, useErwaHeuristic_);
10809 if (((bitField0_ & 0x00000200) != 0)) {
10810 output.writeDouble(76, initialVariablesActivity_);
10812 if (((bitField0_ & 0x00000400) != 0)) {
10813 output.writeBool(77, alsoBumpVariablesInConflictReasons_);
10815 if (((bitField3_ & 0x01000000) != 0)) {
10816 output.writeBool(78, useOverloadCheckerInCumulative_);
10818 if (((bitField3_ & 0x04000000) != 0)) {
10819 output.writeBool(79, useTimetableEdgeFindingInCumulative_);
10821 if (((bitField3_ & 0x40000000) != 0)) {
10822 output.writeBool(80, useDisjunctiveConstraintInCumulative_);
10824 if (((bitField4_ & 0x00000400) != 0)) {
10825 output.writeEnum(82, searchBranching_);
10827 if (((bitField4_ & 0x01000000) != 0)) {
10828 output.writeBool(83, optimizeWithCore_);
10830 if (((bitField3_ & 0x00002000) != 0)) {
10831 output.writeBool(84, findMultipleCores_);
10833 if (((bitField4_ & 0x10000000) != 0)) {
10834 output.writeBool(85, optimizeWithMaxHs_);
10836 if (((bitField2_ & 0x00000004) != 0)) {
10837 output.writeBool(86, cpModelPresolve_);
10839 if (((bitField5_ & 0x00080000) != 0)) {
10840 output.writeBool(87, enumerateAllSolutions_);
10842 if (((bitField1_ & 0x40000000) != 0)) {
10843 output.writeBool(88, presolveBlockedClause_);
10845 if (((bitField3_ & 0x00004000) != 0)) {
10846 output.writeBool(89, coverOptimization_);
10848 if (((bitField6_ & 0x04000000) != 0)) {
10849 output.writeInt32(90, linearizationLevel_);
10851 if (((bitField6_ & 0x20000000) != 0)) {
10852 output.writeInt32(91, maxNumCuts_);
10854 if (((bitField6_ & 0x80000000) != 0)) {
10855 output.writeBool(92, onlyAddCutsAtLevelZero_);
10857 if (((bitField2_ & 0x00000010) != 0)) {
10858 output.writeBool(93, cpModelUseSatPresolve_);
10860 if (((bitField7_ & 0x00040000) != 0)) {
10861 output.writeBool(94, exploitIntegerLpSolution_);
10863 if (((bitField5_ & 0x01000000) != 0)) {
10864 output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
10866 if (((bitField5_ & 0x02000000) != 0)) {
10867 output.writeBool(98, stopAfterFirstSolution_);
10869 if (((bitField4_ & 0x08000000) != 0)) {
10870 output.writeInt32(99, binarySearchNumConflicts_);
10872 if (((bitField2_ & 0x40000000) != 0)) {
10873 output.writeInt32(100, numSearchWorkers_);
10875 if (((bitField5_ & 0x80000000) != 0)) {
10876 output.writeBool(101, useLnsOnly_);
10878 if (((bitField6_ & 0x00000080) != 0)) {
10879 output.writeBool(103, randomizeSearch_);
10881 if (((bitField6_ & 0x00000100) != 0)) {
10882 output.writeInt64(104, searchRandomVariablePoolSize_);
10884 if (((bitField5_ & 0x00800000) != 0)) {
10885 output.writeBool(106, instantiateAllVariables_);
10887 if (((bitField6_ & 0x08000000) != 0)) {
10888 output.writeInt32(107, booleanEncodingLevel_);
10890 if (((bitField6_ & 0x00000400) != 0)) {
10891 output.writeBool(108, useOptionalVariables_);
10893 if (((bitField6_ & 0x00000800) != 0)) {
10894 output.writeBool(109, useExactLpReason_);
10896 if (((bitField2_ & 0x00000008) != 0)) {
10897 output.writeInt32(110, cpModelProbingLevel_);
10899 if (((bitField7_ & 0x00000200) != 0)) {
10900 output.writeBool(112, addLpConstraintsLazily_);
10902 if (((bitField3_ & 0x00000004) != 0)) {
10903 output.writeBool(113, shareObjectiveBounds_);
10905 if (((bitField3_ & 0x00000008) != 0)) {
10906 output.writeBool(114, shareLevelZeroBounds_);
10908 if (((bitField7_ & 0x00000800) != 0)) {
10909 output.writeDouble(115, minOrthogonalityForLpConstraints_);
10911 if (((bitField7_ & 0x00080000) != 0)) {
10912 output.writeBool(116, exploitAllLpSolution_);
10914 if (((bitField7_ & 0x00000002) != 0)) {
10915 output.writeBool(117, addCgCuts_);
10917 if (((bitField7_ & 0x00000100) != 0)) {
10918 output.writeInt32(119, maxIntegerRoundingScaling_);
10920 if (((bitField7_ & 0x00000004) != 0)) {
10921 output.writeBool(120, addMirCuts_);
10923 if (((bitField7_ & 0x00002000) != 0)) {
10924 output.writeInt32(121, maxConsecutiveInactiveCount_);
10926 if (((bitField7_ & 0x00020000) != 0)) {
10927 output.writeInt32(122, newConstraintsBatchSize_);
10929 if (((bitField4_ & 0x00800000) != 0)) {
10930 output.writeInt64(123, pseudoCostReliabilityThreshold_);
10932 if (((bitField7_ & 0x01000000) != 0)) {
10933 output.writeDouble(124, mipMaxBound_);
10935 if (((bitField7_ & 0x02000000) != 0)) {
10936 output.writeDouble(125, mipVarScaling_);
10938 if (((bitField7_ & 0x20000000) != 0)) {
10939 output.writeDouble(126, mipWantedPrecision_);
10941 if (((bitField7_ & 0x40000000) != 0)) {
10942 output.writeInt32(127, mipMaxActivityExponent_);
10944 if (((bitField7_ & 0x80000000) != 0)) {
10945 output.writeDouble(128, mipCheckPrecision_);
10947 if (((bitField6_ & 0x00000002) != 0)) {
10948 output.writeBool(129, useRinsLns_);
10950 if (((bitField7_ & 0x00100000) != 0)) {
10951 output.writeBool(130, exploitBestSolution_);
10953 if (((bitField7_ & 0x00400000) != 0)) {
10954 output.writeBool(131, exploitObjective_);
10956 if (((bitField5_ & 0x00200000) != 0)) {
10957 output.writeBool(132, fillTightenedDomainsInResponse_);
10959 if (((bitField6_ & 0x00001000) != 0)) {
10960 output.writeBool(133, useCombinedNoOverlap_);
10962 if (((bitField3_ & 0x00000002) != 0)) {
10963 output.writeInt32(134, interleaveBatchSize_);
10965 if (((bitField6_ & 0x00004000) != 0)) {
10966 output.writeBool(135, catchSigintSignal_);
10968 if (((bitField3_ & 0x00000001) != 0)) {
10969 output.writeBool(136, interleaveSearch_);
10971 if (((bitField6_ & 0x00000040) != 0)) {
10972 output.writeBool(137, diversifyLnsParams_);
10974 if (((bitField2_ & 0x00000002) != 0)) {
10975 output.writeInt32(138, maxPresolveIterations_);
10977 if (((bitField6_ & 0x00008000) != 0)) {
10978 output.writeBool(144, useImpliedBounds_);
10980 if (((bitField2_ & 0x00008000) != 0)) {
10981 output.writeDouble(145, mergeNoOverlapWorkLimit_);
10983 if (((bitField2_ & 0x00010000) != 0)) {
10984 output.writeDouble(146, mergeAtMostOneWorkLimit_);
10986 if (((bitField2_ & 0x00020000) != 0)) {
10987 output.writeInt32(147, presolveSubstitutionLevel_);
10989 if (((bitField7_ & 0x00000040) != 0)) {
10990 output.writeInt32(148, maxAllDiffCutSize_);
10992 if (((bitField5_ & 0x04000000) != 0)) {
10993 output.writeBool(149, stopAfterPresolve_);
10995 if (((bitField3_ & 0x00000100) != 0)) {
10996 output.writeInt32(151, debugMaxNumPresolveOperations_);
10998 if (((bitField7_ & 0x00000080) != 0)) {
10999 output.writeBool(152, addLinMaxCuts_);
11001 if (((bitField4_ & 0x00000800) != 0)) {
11002 output.writeInt32(153, hintConflictLimit_);
11004 if (((bitField7_ & 0x00001000) != 0)) {
11005 output.writeInt32(154, maxCutRoundsAtLevelZero_);
11007 if (((bitField7_ & 0x00004000) != 0)) {
11008 output.writeDouble(155, cutMaxActiveCountValue_);
11010 if (((bitField7_ & 0x00008000) != 0)) {
11011 output.writeDouble(156, cutActiveCountDecay_);
11013 if (((bitField7_ & 0x00010000) != 0)) {
11014 output.writeInt32(157, cutCleanupTarget_);
11016 if (((bitField1_ & 0x00001000) != 0)) {
11017 output.writeDouble(159, absoluteGapLimit_);
11019 if (((bitField1_ & 0x00002000) != 0)) {
11020 output.writeDouble(160, relativeGapLimit_);
11022 if (((bitField7_ & 0x00200000) != 0)) {
11023 output.writeBool(161, exploitRelaxationSolution_);
11025 if (((bitField3_ & 0x00000080) != 0)) {
11026 output.writeBool(162, debugPostsolveWithFullSolver_);
11028 if (((bitField2_ & 0x00800000) != 0)) {
11029 output.writeBool(163, useSatInprocessing_);
11031 if (((bitField6_ & 0x00000004) != 0)) {
11032 output.writeBool(164, useFeasibilityPump_);
11034 if (((bitField6_ & 0x00000020) != 0)) {
11035 output.writeEnum(165, fpRounding_);
11037 if (((bitField7_ & 0x08000000) != 0)) {
11038 output.writeBool(166, mipAutomaticallyScaleVariables_);
11040 if (((bitField4_ & 0x00001000) != 0)) {
11041 output.writeBool(167, repairHint_);
11043 if (((bitField0_ & 0x00000010) != 0)) {
11044 output.writeInt32(168, polarityRephaseIncrement_);
11046 if (((bitField7_ & 0x00000008) != 0)) {
11047 output.writeBool(169, addZeroHalfCuts_);
11049 if (((bitField2_ & 0x00000100) != 0)) {
11050 output.writeBool(170, expandAlldiffConstraints_);
11052 if (((bitField0_ & 0x00000001) != 0)) {
11053 com.google.protobuf.GeneratedMessage.writeString(output, 171, name_);
11055 if (((bitField7_ & 0x00000010) != 0)) {
11056 output.writeBool(172, addCliqueCuts_);
11058 if (((bitField5_ & 0x00100000) != 0)) {
11059 output.writeBool(173, keepAllFeasibleSolutionsInPresolve_);
11061 if (((bitField2_ & 0x00040000) != 0)) {
11062 output.writeBool(174, presolveExtractIntegerEnforcement_);
11064 if (((bitField6_ & 0x00010000) != 0)) {
11065 output.writeBool(175, polishLpSolution_);
11067 if (((bitField4_ & 0x00004000) != 0)) {
11068 output.writeBool(176, useProbingSearch_);
11070 if (((bitField6_ & 0x00080000) != 0)) {
11071 output.writeBool(177, convertIntervals_);
11073 if (((bitField1_ & 0x00008000) != 0)) {
11074 output.writeBool(178, permuteVariableRandomly_);
11076 if (((bitField1_ & 0x00010000) != 0)) {
11077 output.writeBool(179, permutePresolveConstraintOrder_);
11079 if (((bitField1_ & 0x00020000) != 0)) {
11080 output.writeBool(180, useAbslRandom_);
11082 if (((bitField2_ & 0x00002000) != 0)) {
11083 output.writeBool(181, disableConstraintExpansion_);
11085 if (((bitField2_ & 0x00000200) != 0)) {
11086 output.writeBool(182, expandReservoirConstraints_);
11088 if (((bitField6_ & 0x00100000) != 0)) {
11089 output.writeInt32(183, symmetryLevel_);
11091 if (((bitField1_ & 0x00100000) != 0)) {
11092 com.google.protobuf.GeneratedMessage.writeString(output, 185, logPrefix_);
11094 if (((bitField1_ & 0x00200000) != 0)) {
11095 output.writeBool(186, logToStdout_);
11097 if (((bitField1_ & 0x00400000) != 0)) {
11098 output.writeBool(187, logToResponse_);
11100 if (((bitField4_ & 0x02000000) != 0)) {
11101 output.writeBool(188, optimizeWithLbTreeSearch_);
11103 if (((bitField1_ & 0x00080000) != 0)) {
11104 output.writeBool(189, logSubsolverStatistics_);
11106 if (((bitField0_ & 0x00010000) != 0)) {
11107 output.writeDouble(190, clauseCleanupRatio_);
11109 if (((bitField6_ & 0x10000000) != 0)) {
11110 output.writeInt32(191, maxDomainSizeWhenEncodingEqNeqConstraints_);
11112 if (((bitField4_ & 0x00002000) != 0)) {
11113 output.writeBool(192, fixVariablesToTheirHintedValue_);
11115 if (((bitField6_ & 0x00000001) != 0)) {
11116 output.writeInt32(193, solutionPoolSize_);
11118 if (((bitField5_ & 0x00400000) != 0)) {
11119 output.writeBool(194, fillAdditionalSolutionsInResponse_);
11121 if (((bitField3_ & 0x00000200) != 0)) {
11122 output.writeBool(195, debugCrashOnBadHint_);
11124 if (((bitField6_ & 0x40000000) != 0)) {
11125 output.writeInt32(196, cutLevel_);
11127 if (((bitField7_ & 0x00000001) != 0)) {
11128 output.writeBool(197, addObjectiveCut_);
11130 if (((bitField8_ & 0x00000001) != 0)) {
11131 output.writeBool(198, mipComputeTrueObjectiveBound_);
11133 if (((bitField8_ & 0x00000002) != 0)) {
11134 output.writeDouble(199, mipMaxValidMagnitude_);
11136 if (((bitField3_ & 0x80000000) != 0)) {
11137 output.writeBool(200, useTimetablingInNoOverlap2D_);
11139 if (((bitField2_ & 0x00080000) != 0)) {
11140 output.writeInt64(201, presolveInclusionWorkLimit_);
11142 if (((bitField2_ & 0x00100000) != 0)) {
11143 output.writeBool(202, ignoreNames_);
11145 if (((bitField3_ & 0x00000010) != 0)) {
11146 output.writeBool(203, shareBinaryClauses_);
11148 if (((bitField4_ & 0x00020000) != 0)) {
11149 output.writeBool(204, useShavingInProbingSearch_);
11151 if (((bitField4_ & 0x00040000) != 0)) {
11152 output.writeDouble(205, shavingSearchDeterministicTime_);
11154 if (((bitField2_ & 0x20000000) != 0)) {
11155 output.writeInt32(206, numWorkers_);
11157 for (
int i = 0; i < subsolvers_.size(); i++) {
11158 com.google.protobuf.GeneratedMessage.writeString(output, 207, subsolvers_.getRaw(i));
11160 for (
int i = 0; i < ignoreSubsolvers_.size(); i++) {
11161 com.google.protobuf.GeneratedMessage.writeString(output, 209, ignoreSubsolvers_.getRaw(i));
11163 for (
int i = 0; i < subsolverParams_.size(); i++) {
11164 output.writeMessage(210, subsolverParams_.get(i));
11166 if (((bitField4_ & 0x00000001) != 0)) {
11167 output.writeBool(213, useEnergeticReasoningInNoOverlap2D_);
11169 if (((bitField4_ & 0x00000020) != 0)) {
11170 output.writeBool(214, useDualSchedulingHeuristics_);
11172 if (((bitField3_ & 0x10000000) != 0)) {
11173 output.writeBool(215, useHardPrecedencesInCumulative_);
11175 if (((bitField2_ & 0x00000040) != 0)) {
11176 output.writeBool(216, detectTableWithCost_);
11178 if (((bitField2_ & 0x00000080) != 0)) {
11179 output.writeInt32(217, tableCompressionLevel_);
11181 for (
int i = 0; i < extraSubsolvers_.size(); i++) {
11182 com.google.protobuf.GeneratedMessage.writeString(output, 219, extraSubsolvers_.getRaw(i));
11184 if (((bitField3_ & 0x20000000) != 0)) {
11185 output.writeBool(220, exploitAllPrecedences_);
11187 if (((bitField3_ & 0x00040000) != 0)) {
11188 output.writeDouble(221, propagationLoopDetectionFactor_);
11190 if (((bitField7_ & 0x10000000) != 0)) {
11191 output.writeBool(222, onlySolveIp_);
11193 if (((bitField2_ & 0x00004000) != 0)) {
11194 output.writeBool(223, encodeComplexLinearConstraintWithInteger_);
11196 if (((bitField6_ & 0x01000000) != 0)) {
11197 output.writeBool(224, newLinearPropagation_);
11199 if (((bitField7_ & 0x04000000) != 0)) {
11200 output.writeBool(225, mipScaleLargeDomain_);
11202 if (((bitField1_ & 0x10000000) != 0)) {
11203 output.writeDouble(226, probingDeterministicTimeLimit_);
11205 if (((bitField7_ & 0x00000400) != 0)) {
11206 output.writeInt32(227, rootLpIterations_);
11208 if (((bitField4_ & 0x00100000) != 0)) {
11209 output.writeBool(228, useObjectiveLbSearch_);
11211 if (((bitField3_ & 0x00100000) != 0)) {
11212 output.writeInt32(229, maxSizeToCreatePrecedenceLiteralsInDisjunctive_);
11214 if (((bitField3_ & 0x00200000) != 0)) {
11215 output.writeBool(230, useStrongPropagationInDisjunctive_);
11217 if (((bitField8_ & 0x00000008) != 0)) {
11218 output.writeDouble(232, mipDropTolerance_);
11220 if (((bitField2_ & 0x00200000) != 0)) {
11221 output.writeBool(233, inferAllDiffs_);
11223 if (((bitField2_ & 0x00400000) != 0)) {
11224 output.writeBool(234, findBigLinearOverlap_);
11226 if (((bitField5_ & 0x00000400) != 0)) {
11227 output.writeInt32(235, sharedTreeNumWorkers_);
11229 if (((bitField5_ & 0x00000800) != 0)) {
11230 output.writeBool(236, useSharedTreeSearch_);
11232 if (((bitField5_ & 0x00010000) != 0)) {
11233 output.writeInt32(238, sharedTreeMaxNodesPerWorker_);
11235 if (((bitField5_ & 0x00020000) != 0)) {
11236 output.writeEnum(239, sharedTreeSplitStrategy_);
11238 if (((bitField4_ & 0x40000000) != 0)) {
11239 output.writeBool(240, useLsOnly_);
11241 if (((bitField4_ & 0x80000000) != 0)) {
11242 output.writeDouble(242, feasibilityJumpDecay_);
11244 if (((bitField5_ & 0x00000080) != 0)) {
11245 output.writeInt32(244, numViolationLs_);
11247 if (((bitField5_ & 0x00000008) != 0)) {
11248 output.writeDouble(247, feasibilityJumpVarRandomizationProbability_);
11250 if (((bitField5_ & 0x00000010) != 0)) {
11251 output.writeDouble(248, feasibilityJumpVarPerburbationRangeRatio_);
11253 if (((bitField5_ & 0x00000100) != 0)) {
11254 output.writeInt32(249, violationLsPerturbationPeriod_);
11256 if (((bitField5_ & 0x00000020) != 0)) {
11257 output.writeBool(250, feasibilityJumpEnableRestarts_);
11259 if (((bitField5_ & 0x08000000) != 0)) {
11260 output.writeBool(252, stopAfterRootPropagation_);
11262 if (((bitField4_ & 0x00200000) != 0)) {
11263 output.writeBool(253, useObjectiveShavingSearch_);
11265 if (((bitField6_ & 0x00000008) != 0)) {
11266 output.writeBool(255, useLbRelaxLns_);
11268 if (((bitField6_ & 0x02000000) != 0)) {
11269 output.writeInt32(256, linearSplitSize_);
11271 if (((bitField5_ & 0x00000001) != 0)) {
11272 output.writeInt32(257, feasibilityJumpLinearizationLevel_);
11274 if (((bitField5_ & 0x00000002) != 0)) {
11275 output.writeInt32(258, feasibilityJumpRestartFactor_);
11277 if (((bitField5_ & 0x00000200) != 0)) {
11278 output.writeDouble(259, violationLsCompoundMoveProbability_);
11280 if (((bitField3_ & 0x08000000) != 0)) {
11281 output.writeInt32(260, maxNumIntervalsForTimetableEdgeFinding_);
11283 if (((bitField8_ & 0x00000010) != 0)) {
11284 output.writeInt32(261, mipPresolveLevel_);
11286 if (((bitField6_ & 0x00000200) != 0)) {
11287 output.writeBool(262, pushAllTasksTowardStart_);
11289 if (((bitField3_ & 0x00400000) != 0)) {
11290 output.writeBool(263, useDynamicPrecedenceInDisjunctive_);
11292 if (((bitField5_ & 0x00000040) != 0)) {
11293 output.writeInt32(264, feasibilityJumpMaxExpandedConstraintSize_);
11295 if (((bitField4_ & 0x20000000) != 0)) {
11296 output.writeBool(265, useFeasibilityJump_);
11298 if (((bitField6_ & 0x00020000) != 0)) {
11299 output.writeDouble(266, lpPrimalTolerance_);
11301 if (((bitField6_ & 0x00040000) != 0)) {
11302 output.writeDouble(267, lpDualTolerance_);
11304 if (((bitField3_ & 0x00800000) != 0)) {
11305 output.writeBool(268, useDynamicPrecedenceInCumulative_);
11307 if (((bitField4_ & 0x00008000) != 0)) {
11308 output.writeBool(269, useExtendedProbing_);
11310 if (((bitField6_ & 0x00002000) != 0)) {
11311 output.writeInt32(270, atMostOneMaxExpansionSize_);
11313 if (((bitField4_ & 0x00000002) != 0)) {
11314 output.writeBool(271, useAreaEnergeticReasoningInNoOverlap2D_);
11316 if (((bitField4_ & 0x00010000) != 0)) {
11317 output.writeInt32(272, probingNumCombinationsLimit_);
11319 if (((bitField2_ & 0x01000000) != 0)) {
11320 output.writeDouble(273, inprocessingDtimeRatio_);
11322 if (((bitField2_ & 0x02000000) != 0)) {
11323 output.writeDouble(274, inprocessingProbingDtime_);
11325 if (((bitField2_ & 0x04000000) != 0)) {
11326 output.writeDouble(275, inprocessingMinimizationDtime_);
11328 if (((bitField4_ & 0x00000008) != 0)) {
11329 output.writeInt32(276, maxPairsPairwiseReasoningInNoOverlap2D_);
11331 if (((bitField7_ & 0x00800000) != 0)) {
11332 output.writeBool(277, detectLinearizedProduct_);
11334 if (((bitField8_ & 0x00000004) != 0)) {
11335 output.writeBool(278, mipTreatHighMagnitudeBoundsAsInfinity_);
11337 if (((bitField7_ & 0x00000020) != 0)) {
11338 output.writeBool(279, addRltCuts_);
11340 if (((bitField2_ & 0x00001000) != 0)) {
11341 output.writeInt32(280, maxLinMaxSizeForExpansion_);
11343 if (((bitField5_ & 0x00008000) != 0)) {
11344 output.writeDouble(281, sharedTreeOpenLeavesPerWorker_);
11346 if (((bitField5_ & 0x00001000) != 0)) {
11347 output.writeInt32(282, sharedTreeWorkerMinRestartsPerSubtree_);
11349 if (((bitField5_ & 0x40000000) != 0)) {
11350 output.writeBool(283, useLns_);
11352 if (((bitField4_ & 0x04000000) != 0)) {
11353 output.writeBool(284, saveLpBasisInLbTreeSearch_);
11355 if (((bitField3_ & 0x00000020) != 0)) {
11356 output.writeBool(285, shareGlueClauses_);
11358 if (((bitField3_ & 0x02000000) != 0)) {
11359 output.writeBool(286, useConservativeScaleOverloadChecker_);
11361 if (((bitField2_ & 0x00000800) != 0)) {
11362 output.writeBool(287, encodeCumulativeAsReservoir_);
11364 if (((bitField2_ & 0x00000400) != 0)) {
11365 output.writeBool(288, expandReservoirUsingCircuit_);
11367 if (((bitField4_ & 0x00400000) != 0)) {
11368 output.writeBool(289, useVariablesShavingSearch_);
11370 if (((bitField4_ & 0x00080000) != 0)) {
11371 output.writeInt64(290, shavingSearchThreshold_);
11373 if (((bitField1_ & 0x00000200) != 0)) {
11374 output.writeInt32(291, maxNumDeterministicBatches_);
11376 if (((bitField5_ & 0x00000004) != 0)) {
11377 output.writeDouble(292, feasibilityJumpBatchDtime_);
11379 for (
int i = 0; i < filterSubsolvers_.size(); i++) {
11380 com.google.protobuf.GeneratedMessage.writeString(output, 293, filterSubsolvers_.getRaw(i));
11382 if (((bitField2_ & 0x80000000) != 0)) {
11383 output.writeInt32(294, numFullSubsolvers_);
11385 if (((bitField5_ & 0x00002000) != 0)) {
11386 output.writeBool(295, sharedTreeWorkerEnableTrailSharing_);
11388 if (((bitField6_ & 0x00000010) != 0)) {
11389 output.writeInt32(296, lbRelaxNumWorkersThreshold_);
11391 if (((bitField2_ & 0x08000000) != 0)) {
11392 output.writeBool(297, inprocessingMinimizationUseConflictAnalysis_);
11394 if (((bitField2_ & 0x10000000) != 0)) {
11395 output.writeBool(298, inprocessingMinimizationUseAllOrderings_);
11397 if (((bitField4_ & 0x00000004) != 0)) {
11398 output.writeBool(299, useTryEdgeReasoningInNoOverlap2D_);
11400 if (((bitField3_ & 0x00000040) != 0)) {
11401 output.writeBool(300, minimizeSharedClauses_);
11403 if (((bitField6_ & 0x00200000) != 0)) {
11404 output.writeBool(301, useSymmetryInLp_);
11406 if (((bitField6_ & 0x00800000) != 0)) {
11407 output.writeDouble(302, symmetryDetectionDeterministicTimeLimit_);
11409 if (((bitField6_ & 0x00400000) != 0)) {
11410 output.writeBool(303, keepSymmetryInPresolve_);
11412 if (((bitField5_ & 0x00004000) != 0)) {
11413 output.writeBool(304, sharedTreeWorkerEnablePhaseSharing_);
11415 if (((bitField5_ & 0x00040000) != 0)) {
11416 output.writeInt32(305, sharedTreeBalanceTolerance_);
11418 if (((bitField3_ & 0x00000400) != 0)) {
11419 output.writeBool(306, debugCrashIfPresolveBreaksHint_);
11421 if (((bitField5_ & 0x10000000) != 0)) {
11422 output.writeDouble(307, lnsInitialDifficulty_);
11424 if (((bitField5_ & 0x20000000) != 0)) {
11425 output.writeDouble(308, lnsInitialDeterministicLimit_);
11427 if (((bitField0_ & 0x00000020) != 0)) {
11428 output.writeBool(309, polarityExploitLsHints_);
11430 if (((bitField2_ & 0x00000020) != 0)) {
11431 output.writeBool(310, removeFixedVariablesEarly_);
11433 if (((bitField4_ & 0x00000040) != 0)) {
11434 output.writeBool(311, useAllDifferentForCircuit_);
11436 if (((bitField4_ & 0x00000080) != 0)) {
11437 output.writeInt32(312, routingCutSubsetSizeForBinaryRelationBound_);
11439 if (((bitField4_ & 0x00000100) != 0)) {
11440 output.writeInt32(313, routingCutSubsetSizeForTightBinaryRelationBound_);
11442 if (((bitField4_ & 0x00000200) != 0)) {
11443 output.writeDouble(314, routingCutDpEffort_);
11445 if (((bitField4_ & 0x00000010) != 0)) {
11446 output.writeInt32(315, maximumRegionsToSplitInDisconnectedNoOverlap2D_);
11448 getUnknownFields().writeTo(output);
11451 @java.lang.Override
11453 int size = memoizedSize;
11454 if (size != -1)
return size;
11457 if (((bitField0_ & 0x00000002) != 0)) {
11458 size += com.google.protobuf.CodedOutputStream
11459 .computeEnumSize(1, preferredVariableOrder_);
11461 if (((bitField0_ & 0x00000004) != 0)) {
11462 size += com.google.protobuf.CodedOutputStream
11463 .computeEnumSize(2, initialPolarity_);
11465 if (((bitField0_ & 0x00000800) != 0)) {
11466 size += com.google.protobuf.CodedOutputStream
11467 .computeEnumSize(4, minimizationAlgorithm_);
11469 if (((bitField0_ & 0x00004000) != 0)) {
11470 size += com.google.protobuf.CodedOutputStream
11471 .computeInt32Size(11, clauseCleanupPeriod_);
11473 if (((bitField0_ & 0x00008000) != 0)) {
11474 size += com.google.protobuf.CodedOutputStream
11475 .computeInt32Size(13, clauseCleanupTarget_);
11477 if (((bitField0_ & 0x00400000) != 0)) {
11478 size += com.google.protobuf.CodedOutputStream
11479 .computeDoubleSize(15, variableActivityDecay_);
11481 if (((bitField0_ & 0x00800000) != 0)) {
11482 size += com.google.protobuf.CodedOutputStream
11483 .computeDoubleSize(16, maxVariableActivityValue_);
11485 if (((bitField0_ & 0x08000000) != 0)) {
11486 size += com.google.protobuf.CodedOutputStream
11487 .computeDoubleSize(17, clauseActivityDecay_);
11489 if (((bitField0_ & 0x10000000) != 0)) {
11490 size += com.google.protobuf.CodedOutputStream
11491 .computeDoubleSize(18, maxClauseActivityValue_);
11493 if (((bitField0_ & 0x01000000) != 0)) {
11494 size += com.google.protobuf.CodedOutputStream
11495 .computeDoubleSize(22, glucoseMaxDecay_);
11497 if (((bitField0_ & 0x02000000) != 0)) {
11498 size += com.google.protobuf.CodedOutputStream
11499 .computeDoubleSize(23, glucoseDecayIncrement_);
11501 if (((bitField0_ & 0x04000000) != 0)) {
11502 size += com.google.protobuf.CodedOutputStream
11503 .computeInt32Size(24, glucoseDecayIncrementPeriod_);
11505 if (((bitField0_ & 0x40000000) != 0)) {
11506 size += com.google.protobuf.CodedOutputStream
11507 .computeInt32Size(30, restartPeriod_);
11509 if (((bitField1_ & 0x00004000) != 0)) {
11510 size += com.google.protobuf.CodedOutputStream
11511 .computeInt32Size(31, randomSeed_);
11513 if (((bitField0_ & 0x00000080) != 0)) {
11514 size += com.google.protobuf.CodedOutputStream
11515 .computeDoubleSize(32, randomBranchesRatio_);
11517 if (((bitField0_ & 0x00001000) != 0)) {
11518 size += com.google.protobuf.CodedOutputStream
11519 .computeEnumSize(34, binaryMinimizationAlgorithm_);
11521 if (((bitField3_ & 0x00000800) != 0)) {
11522 size += com.google.protobuf.CodedOutputStream
11523 .computeBoolSize(35, useOptimizationHints_);
11525 if (((bitField1_ & 0x00000080) != 0)) {
11526 size += com.google.protobuf.CodedOutputStream
11527 .computeDoubleSize(36, maxTimeInSeconds_);
11529 if (((bitField1_ & 0x00000400) != 0)) {
11530 size += com.google.protobuf.CodedOutputStream
11531 .computeInt64Size(37, maxNumberOfConflicts_);
11533 if (((bitField1_ & 0x00000800) != 0)) {
11534 size += com.google.protobuf.CodedOutputStream
11535 .computeInt64Size(40, maxMemoryInMb_);
11537 if (((bitField1_ & 0x00040000) != 0)) {
11538 size += com.google.protobuf.CodedOutputStream
11539 .computeBoolSize(41, logSearchProgress_);
11541 if (((bitField1_ & 0x00800000) != 0)) {
11542 size += com.google.protobuf.CodedOutputStream
11543 .computeBoolSize(43, usePbResolution_);
11545 if (((bitField0_ & 0x00000008) != 0)) {
11546 size += com.google.protobuf.CodedOutputStream
11547 .computeBoolSize(44, usePhaseSaving_);
11549 if (((bitField0_ & 0x00000040) != 0)) {
11550 size += com.google.protobuf.CodedOutputStream
11551 .computeDoubleSize(45, randomPolarityRatio_);
11553 if (((bitField0_ & 0x00100000) != 0)) {
11554 size += com.google.protobuf.CodedOutputStream
11555 .computeInt32Size(46, pbCleanupIncrement_);
11557 if (((bitField0_ & 0x00200000) != 0)) {
11558 size += com.google.protobuf.CodedOutputStream
11559 .computeDoubleSize(47, pbCleanupRatio_);
11561 if (((bitField1_ & 0x01000000) != 0)) {
11562 size += com.google.protobuf.CodedOutputStream
11563 .computeBoolSize(48, minimizeReductionDuringPbResolution_);
11565 if (((bitField1_ & 0x02000000) != 0)) {
11566 size += com.google.protobuf.CodedOutputStream
11567 .computeBoolSize(49, countAssumptionLevelsInLbd_);
11569 if (((bitField3_ & 0x00001000) != 0)) {
11570 size += com.google.protobuf.CodedOutputStream
11571 .computeInt32Size(50, coreMinimizationLevel_);
11573 if (((bitField3_ & 0x00008000) != 0)) {
11574 size += com.google.protobuf.CodedOutputStream
11575 .computeEnumSize(51, maxSatAssumptionOrder_);
11577 if (((bitField3_ & 0x00010000) != 0)) {
11578 size += com.google.protobuf.CodedOutputStream
11579 .computeBoolSize(52, maxSatReverseAssumptionOrder_);
11581 if (((bitField3_ & 0x00020000) != 0)) {
11582 size += com.google.protobuf.CodedOutputStream
11583 .computeEnumSize(53, maxSatStratification_);
11585 if (((bitField1_ & 0x04000000) != 0)) {
11586 size += com.google.protobuf.CodedOutputStream
11587 .computeInt32Size(54, presolveBveThreshold_);
11589 if (((bitField1_ & 0x08000000) != 0)) {
11590 size += com.google.protobuf.CodedOutputStream
11591 .computeInt32Size(55, presolveBveClauseWeight_);
11593 if (((bitField0_ & 0x00002000) != 0)) {
11594 size += com.google.protobuf.CodedOutputStream
11595 .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
11597 if (((bitField1_ & 0x20000000) != 0)) {
11598 size += com.google.protobuf.CodedOutputStream
11599 .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
11601 if (((bitField0_ & 0x00020000) != 0)) {
11602 size += com.google.protobuf.CodedOutputStream
11603 .computeEnumSize(58, clauseCleanupProtection_);
11605 if (((bitField0_ & 0x00040000) != 0)) {
11606 size += com.google.protobuf.CodedOutputStream
11607 .computeInt32Size(59, clauseCleanupLbdBound_);
11609 if (((bitField0_ & 0x00080000) != 0)) {
11610 size += com.google.protobuf.CodedOutputStream
11611 .computeEnumSize(60, clauseCleanupOrdering_);
11615 for (
int i = 0; i < restartAlgorithms_.size(); i++) {
11616 dataSize += com.google.protobuf.CodedOutputStream
11617 .computeEnumSizeNoTag(restartAlgorithms_.getInt(i));
11620 size += 2 * restartAlgorithms_.size();
11622 if (((bitField0_ & 0x80000000) != 0)) {
11623 size += com.google.protobuf.CodedOutputStream
11624 .computeInt32Size(62, restartRunningWindowSize_);
11626 if (((bitField1_ & 0x00000001) != 0)) {
11627 size += com.google.protobuf.CodedOutputStream
11628 .computeDoubleSize(63, restartDlAverageRatio_);
11630 if (((bitField1_ & 0x00000004) != 0)) {
11631 size += com.google.protobuf.CodedOutputStream
11632 .computeBoolSize(64, useBlockingRestart_);
11634 if (((bitField1_ & 0x00000008) != 0)) {
11635 size += com.google.protobuf.CodedOutputStream
11636 .computeInt32Size(65, blockingRestartWindowSize_);
11638 if (((bitField1_ & 0x00000010) != 0)) {
11639 size += com.google.protobuf.CodedOutputStream
11640 .computeDoubleSize(66, blockingRestartMultiplier_);
11642 if (((bitField1_ & 0x00000100) != 0)) {
11643 size += com.google.protobuf.CodedOutputStream
11644 .computeDoubleSize(67, maxDeterministicTime_);
11646 if (((bitField1_ & 0x00000020) != 0)) {
11647 size += com.google.protobuf.CodedOutputStream
11648 .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
11650 if (((bitField1_ & 0x00000040) != 0)) {
11651 size += com.google.protobuf.CodedOutputStream
11652 .computeDoubleSize(69, strategyChangeIncreaseRatio_);
11654 if (((bitField0_ & 0x20000000) != 0)) {
11655 size += com.google.protobuf.GeneratedMessage.computeStringSize(70, defaultRestartAlgorithms_);
11657 if (((bitField1_ & 0x00000002) != 0)) {
11658 size += com.google.protobuf.CodedOutputStream
11659 .computeDoubleSize(71, restartLbdAverageRatio_);
11661 if (((bitField1_ & 0x80000000) != 0)) {
11662 size += com.google.protobuf.CodedOutputStream
11663 .computeBoolSize(72, presolveUseBva_);
11665 if (((bitField2_ & 0x00000001) != 0)) {
11666 size += com.google.protobuf.CodedOutputStream
11667 .computeInt32Size(73, presolveBvaThreshold_);
11669 if (((bitField3_ & 0x00080000) != 0)) {
11670 size += com.google.protobuf.CodedOutputStream
11671 .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
11673 if (((bitField0_ & 0x00000100) != 0)) {
11674 size += com.google.protobuf.CodedOutputStream
11675 .computeBoolSize(75, useErwaHeuristic_);
11677 if (((bitField0_ & 0x00000200) != 0)) {
11678 size += com.google.protobuf.CodedOutputStream
11679 .computeDoubleSize(76, initialVariablesActivity_);
11681 if (((bitField0_ & 0x00000400) != 0)) {
11682 size += com.google.protobuf.CodedOutputStream
11683 .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
11685 if (((bitField3_ & 0x01000000) != 0)) {
11686 size += com.google.protobuf.CodedOutputStream
11687 .computeBoolSize(78, useOverloadCheckerInCumulative_);
11689 if (((bitField3_ & 0x04000000) != 0)) {
11690 size += com.google.protobuf.CodedOutputStream
11691 .computeBoolSize(79, useTimetableEdgeFindingInCumulative_);
11693 if (((bitField3_ & 0x40000000) != 0)) {
11694 size += com.google.protobuf.CodedOutputStream
11695 .computeBoolSize(80, useDisjunctiveConstraintInCumulative_);
11697 if (((bitField4_ & 0x00000400) != 0)) {
11698 size += com.google.protobuf.CodedOutputStream
11699 .computeEnumSize(82, searchBranching_);
11701 if (((bitField4_ & 0x01000000) != 0)) {
11702 size += com.google.protobuf.CodedOutputStream
11703 .computeBoolSize(83, optimizeWithCore_);
11705 if (((bitField3_ & 0x00002000) != 0)) {
11706 size += com.google.protobuf.CodedOutputStream
11707 .computeBoolSize(84, findMultipleCores_);
11709 if (((bitField4_ & 0x10000000) != 0)) {
11710 size += com.google.protobuf.CodedOutputStream
11711 .computeBoolSize(85, optimizeWithMaxHs_);
11713 if (((bitField2_ & 0x00000004) != 0)) {
11714 size += com.google.protobuf.CodedOutputStream
11715 .computeBoolSize(86, cpModelPresolve_);
11717 if (((bitField5_ & 0x00080000) != 0)) {
11718 size += com.google.protobuf.CodedOutputStream
11719 .computeBoolSize(87, enumerateAllSolutions_);
11721 if (((bitField1_ & 0x40000000) != 0)) {
11722 size += com.google.protobuf.CodedOutputStream
11723 .computeBoolSize(88, presolveBlockedClause_);
11725 if (((bitField3_ & 0x00004000) != 0)) {
11726 size += com.google.protobuf.CodedOutputStream
11727 .computeBoolSize(89, coverOptimization_);
11729 if (((bitField6_ & 0x04000000) != 0)) {
11730 size += com.google.protobuf.CodedOutputStream
11731 .computeInt32Size(90, linearizationLevel_);
11733 if (((bitField6_ & 0x20000000) != 0)) {
11734 size += com.google.protobuf.CodedOutputStream
11735 .computeInt32Size(91, maxNumCuts_);
11737 if (((bitField6_ & 0x80000000) != 0)) {
11738 size += com.google.protobuf.CodedOutputStream
11739 .computeBoolSize(92, onlyAddCutsAtLevelZero_);
11741 if (((bitField2_ & 0x00000010) != 0)) {
11742 size += com.google.protobuf.CodedOutputStream
11743 .computeBoolSize(93, cpModelUseSatPresolve_);
11745 if (((bitField7_ & 0x00040000) != 0)) {
11746 size += com.google.protobuf.CodedOutputStream
11747 .computeBoolSize(94, exploitIntegerLpSolution_);
11749 if (((bitField5_ & 0x01000000) != 0)) {
11750 size += com.google.protobuf.CodedOutputStream
11751 .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
11753 if (((bitField5_ & 0x02000000) != 0)) {
11754 size += com.google.protobuf.CodedOutputStream
11755 .computeBoolSize(98, stopAfterFirstSolution_);
11757 if (((bitField4_ & 0x08000000) != 0)) {
11758 size += com.google.protobuf.CodedOutputStream
11759 .computeInt32Size(99, binarySearchNumConflicts_);
11761 if (((bitField2_ & 0x40000000) != 0)) {
11762 size += com.google.protobuf.CodedOutputStream
11763 .computeInt32Size(100, numSearchWorkers_);
11765 if (((bitField5_ & 0x80000000) != 0)) {
11766 size += com.google.protobuf.CodedOutputStream
11767 .computeBoolSize(101, useLnsOnly_);
11769 if (((bitField6_ & 0x00000080) != 0)) {
11770 size += com.google.protobuf.CodedOutputStream
11771 .computeBoolSize(103, randomizeSearch_);
11773 if (((bitField6_ & 0x00000100) != 0)) {
11774 size += com.google.protobuf.CodedOutputStream
11775 .computeInt64Size(104, searchRandomVariablePoolSize_);
11777 if (((bitField5_ & 0x00800000) != 0)) {
11778 size += com.google.protobuf.CodedOutputStream
11779 .computeBoolSize(106, instantiateAllVariables_);
11781 if (((bitField6_ & 0x08000000) != 0)) {
11782 size += com.google.protobuf.CodedOutputStream
11783 .computeInt32Size(107, booleanEncodingLevel_);
11785 if (((bitField6_ & 0x00000400) != 0)) {
11786 size += com.google.protobuf.CodedOutputStream
11787 .computeBoolSize(108, useOptionalVariables_);
11789 if (((bitField6_ & 0x00000800) != 0)) {
11790 size += com.google.protobuf.CodedOutputStream
11791 .computeBoolSize(109, useExactLpReason_);
11793 if (((bitField2_ & 0x00000008) != 0)) {
11794 size += com.google.protobuf.CodedOutputStream
11795 .computeInt32Size(110, cpModelProbingLevel_);
11797 if (((bitField7_ & 0x00000200) != 0)) {
11798 size += com.google.protobuf.CodedOutputStream
11799 .computeBoolSize(112, addLpConstraintsLazily_);
11801 if (((bitField3_ & 0x00000004) != 0)) {
11802 size += com.google.protobuf.CodedOutputStream
11803 .computeBoolSize(113, shareObjectiveBounds_);
11805 if (((bitField3_ & 0x00000008) != 0)) {
11806 size += com.google.protobuf.CodedOutputStream
11807 .computeBoolSize(114, shareLevelZeroBounds_);
11809 if (((bitField7_ & 0x00000800) != 0)) {
11810 size += com.google.protobuf.CodedOutputStream
11811 .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
11813 if (((bitField7_ & 0x00080000) != 0)) {
11814 size += com.google.protobuf.CodedOutputStream
11815 .computeBoolSize(116, exploitAllLpSolution_);
11817 if (((bitField7_ & 0x00000002) != 0)) {
11818 size += com.google.protobuf.CodedOutputStream
11819 .computeBoolSize(117, addCgCuts_);
11821 if (((bitField7_ & 0x00000100) != 0)) {
11822 size += com.google.protobuf.CodedOutputStream
11823 .computeInt32Size(119, maxIntegerRoundingScaling_);
11825 if (((bitField7_ & 0x00000004) != 0)) {
11826 size += com.google.protobuf.CodedOutputStream
11827 .computeBoolSize(120, addMirCuts_);
11829 if (((bitField7_ & 0x00002000) != 0)) {
11830 size += com.google.protobuf.CodedOutputStream
11831 .computeInt32Size(121, maxConsecutiveInactiveCount_);
11833 if (((bitField7_ & 0x00020000) != 0)) {
11834 size += com.google.protobuf.CodedOutputStream
11835 .computeInt32Size(122, newConstraintsBatchSize_);
11837 if (((bitField4_ & 0x00800000) != 0)) {
11838 size += com.google.protobuf.CodedOutputStream
11839 .computeInt64Size(123, pseudoCostReliabilityThreshold_);
11841 if (((bitField7_ & 0x01000000) != 0)) {
11842 size += com.google.protobuf.CodedOutputStream
11843 .computeDoubleSize(124, mipMaxBound_);
11845 if (((bitField7_ & 0x02000000) != 0)) {
11846 size += com.google.protobuf.CodedOutputStream
11847 .computeDoubleSize(125, mipVarScaling_);
11849 if (((bitField7_ & 0x20000000) != 0)) {
11850 size += com.google.protobuf.CodedOutputStream
11851 .computeDoubleSize(126, mipWantedPrecision_);
11853 if (((bitField7_ & 0x40000000) != 0)) {
11854 size += com.google.protobuf.CodedOutputStream
11855 .computeInt32Size(127, mipMaxActivityExponent_);
11857 if (((bitField7_ & 0x80000000) != 0)) {
11858 size += com.google.protobuf.CodedOutputStream
11859 .computeDoubleSize(128, mipCheckPrecision_);
11861 if (((bitField6_ & 0x00000002) != 0)) {
11862 size += com.google.protobuf.CodedOutputStream
11863 .computeBoolSize(129, useRinsLns_);
11865 if (((bitField7_ & 0x00100000) != 0)) {
11866 size += com.google.protobuf.CodedOutputStream
11867 .computeBoolSize(130, exploitBestSolution_);
11869 if (((bitField7_ & 0x00400000) != 0)) {
11870 size += com.google.protobuf.CodedOutputStream
11871 .computeBoolSize(131, exploitObjective_);
11873 if (((bitField5_ & 0x00200000) != 0)) {
11874 size += com.google.protobuf.CodedOutputStream
11875 .computeBoolSize(132, fillTightenedDomainsInResponse_);
11877 if (((bitField6_ & 0x00001000) != 0)) {
11878 size += com.google.protobuf.CodedOutputStream
11879 .computeBoolSize(133, useCombinedNoOverlap_);
11881 if (((bitField3_ & 0x00000002) != 0)) {
11882 size += com.google.protobuf.CodedOutputStream
11883 .computeInt32Size(134, interleaveBatchSize_);
11885 if (((bitField6_ & 0x00004000) != 0)) {
11886 size += com.google.protobuf.CodedOutputStream
11887 .computeBoolSize(135, catchSigintSignal_);
11889 if (((bitField3_ & 0x00000001) != 0)) {
11890 size += com.google.protobuf.CodedOutputStream
11891 .computeBoolSize(136, interleaveSearch_);
11893 if (((bitField6_ & 0x00000040) != 0)) {
11894 size += com.google.protobuf.CodedOutputStream
11895 .computeBoolSize(137, diversifyLnsParams_);
11897 if (((bitField2_ & 0x00000002) != 0)) {
11898 size += com.google.protobuf.CodedOutputStream
11899 .computeInt32Size(138, maxPresolveIterations_);
11901 if (((bitField6_ & 0x00008000) != 0)) {
11902 size += com.google.protobuf.CodedOutputStream
11903 .computeBoolSize(144, useImpliedBounds_);
11905 if (((bitField2_ & 0x00008000) != 0)) {
11906 size += com.google.protobuf.CodedOutputStream
11907 .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
11909 if (((bitField2_ & 0x00010000) != 0)) {
11910 size += com.google.protobuf.CodedOutputStream
11911 .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
11913 if (((bitField2_ & 0x00020000) != 0)) {
11914 size += com.google.protobuf.CodedOutputStream
11915 .computeInt32Size(147, presolveSubstitutionLevel_);
11917 if (((bitField7_ & 0x00000040) != 0)) {
11918 size += com.google.protobuf.CodedOutputStream
11919 .computeInt32Size(148, maxAllDiffCutSize_);
11921 if (((bitField5_ & 0x04000000) != 0)) {
11922 size += com.google.protobuf.CodedOutputStream
11923 .computeBoolSize(149, stopAfterPresolve_);
11925 if (((bitField3_ & 0x00000100) != 0)) {
11926 size += com.google.protobuf.CodedOutputStream
11927 .computeInt32Size(151, debugMaxNumPresolveOperations_);
11929 if (((bitField7_ & 0x00000080) != 0)) {
11930 size += com.google.protobuf.CodedOutputStream
11931 .computeBoolSize(152, addLinMaxCuts_);
11933 if (((bitField4_ & 0x00000800) != 0)) {
11934 size += com.google.protobuf.CodedOutputStream
11935 .computeInt32Size(153, hintConflictLimit_);
11937 if (((bitField7_ & 0x00001000) != 0)) {
11938 size += com.google.protobuf.CodedOutputStream
11939 .computeInt32Size(154, maxCutRoundsAtLevelZero_);
11941 if (((bitField7_ & 0x00004000) != 0)) {
11942 size += com.google.protobuf.CodedOutputStream
11943 .computeDoubleSize(155, cutMaxActiveCountValue_);
11945 if (((bitField7_ & 0x00008000) != 0)) {
11946 size += com.google.protobuf.CodedOutputStream
11947 .computeDoubleSize(156, cutActiveCountDecay_);
11949 if (((bitField7_ & 0x00010000) != 0)) {
11950 size += com.google.protobuf.CodedOutputStream
11951 .computeInt32Size(157, cutCleanupTarget_);
11953 if (((bitField1_ & 0x00001000) != 0)) {
11954 size += com.google.protobuf.CodedOutputStream
11955 .computeDoubleSize(159, absoluteGapLimit_);
11957 if (((bitField1_ & 0x00002000) != 0)) {
11958 size += com.google.protobuf.CodedOutputStream
11959 .computeDoubleSize(160, relativeGapLimit_);
11961 if (((bitField7_ & 0x00200000) != 0)) {
11962 size += com.google.protobuf.CodedOutputStream
11963 .computeBoolSize(161, exploitRelaxationSolution_);
11965 if (((bitField3_ & 0x00000080) != 0)) {
11966 size += com.google.protobuf.CodedOutputStream
11967 .computeBoolSize(162, debugPostsolveWithFullSolver_);
11969 if (((bitField2_ & 0x00800000) != 0)) {
11970 size += com.google.protobuf.CodedOutputStream
11971 .computeBoolSize(163, useSatInprocessing_);
11973 if (((bitField6_ & 0x00000004) != 0)) {
11974 size += com.google.protobuf.CodedOutputStream
11975 .computeBoolSize(164, useFeasibilityPump_);
11977 if (((bitField6_ & 0x00000020) != 0)) {
11978 size += com.google.protobuf.CodedOutputStream
11979 .computeEnumSize(165, fpRounding_);
11981 if (((bitField7_ & 0x08000000) != 0)) {
11982 size += com.google.protobuf.CodedOutputStream
11983 .computeBoolSize(166, mipAutomaticallyScaleVariables_);
11985 if (((bitField4_ & 0x00001000) != 0)) {
11986 size += com.google.protobuf.CodedOutputStream
11987 .computeBoolSize(167, repairHint_);
11989 if (((bitField0_ & 0x00000010) != 0)) {
11990 size += com.google.protobuf.CodedOutputStream
11991 .computeInt32Size(168, polarityRephaseIncrement_);
11993 if (((bitField7_ & 0x00000008) != 0)) {
11994 size += com.google.protobuf.CodedOutputStream
11995 .computeBoolSize(169, addZeroHalfCuts_);
11997 if (((bitField2_ & 0x00000100) != 0)) {
11998 size += com.google.protobuf.CodedOutputStream
11999 .computeBoolSize(170, expandAlldiffConstraints_);
12001 if (((bitField0_ & 0x00000001) != 0)) {
12002 size += com.google.protobuf.GeneratedMessage.computeStringSize(171, name_);
12004 if (((bitField7_ & 0x00000010) != 0)) {
12005 size += com.google.protobuf.CodedOutputStream
12006 .computeBoolSize(172, addCliqueCuts_);
12008 if (((bitField5_ & 0x00100000) != 0)) {
12009 size += com.google.protobuf.CodedOutputStream
12010 .computeBoolSize(173, keepAllFeasibleSolutionsInPresolve_);
12012 if (((bitField2_ & 0x00040000) != 0)) {
12013 size += com.google.protobuf.CodedOutputStream
12014 .computeBoolSize(174, presolveExtractIntegerEnforcement_);
12016 if (((bitField6_ & 0x00010000) != 0)) {
12017 size += com.google.protobuf.CodedOutputStream
12018 .computeBoolSize(175, polishLpSolution_);
12020 if (((bitField4_ & 0x00004000) != 0)) {
12021 size += com.google.protobuf.CodedOutputStream
12022 .computeBoolSize(176, useProbingSearch_);
12024 if (((bitField6_ & 0x00080000) != 0)) {
12025 size += com.google.protobuf.CodedOutputStream
12026 .computeBoolSize(177, convertIntervals_);
12028 if (((bitField1_ & 0x00008000) != 0)) {
12029 size += com.google.protobuf.CodedOutputStream
12030 .computeBoolSize(178, permuteVariableRandomly_);
12032 if (((bitField1_ & 0x00010000) != 0)) {
12033 size += com.google.protobuf.CodedOutputStream
12034 .computeBoolSize(179, permutePresolveConstraintOrder_);
12036 if (((bitField1_ & 0x00020000) != 0)) {
12037 size += com.google.protobuf.CodedOutputStream
12038 .computeBoolSize(180, useAbslRandom_);
12040 if (((bitField2_ & 0x00002000) != 0)) {
12041 size += com.google.protobuf.CodedOutputStream
12042 .computeBoolSize(181, disableConstraintExpansion_);
12044 if (((bitField2_ & 0x00000200) != 0)) {
12045 size += com.google.protobuf.CodedOutputStream
12046 .computeBoolSize(182, expandReservoirConstraints_);
12048 if (((bitField6_ & 0x00100000) != 0)) {
12049 size += com.google.protobuf.CodedOutputStream
12050 .computeInt32Size(183, symmetryLevel_);
12052 if (((bitField1_ & 0x00100000) != 0)) {
12053 size += com.google.protobuf.GeneratedMessage.computeStringSize(185, logPrefix_);
12055 if (((bitField1_ & 0x00200000) != 0)) {
12056 size += com.google.protobuf.CodedOutputStream
12057 .computeBoolSize(186, logToStdout_);
12059 if (((bitField1_ & 0x00400000) != 0)) {
12060 size += com.google.protobuf.CodedOutputStream
12061 .computeBoolSize(187, logToResponse_);
12063 if (((bitField4_ & 0x02000000) != 0)) {
12064 size += com.google.protobuf.CodedOutputStream
12065 .computeBoolSize(188, optimizeWithLbTreeSearch_);
12067 if (((bitField1_ & 0x00080000) != 0)) {
12068 size += com.google.protobuf.CodedOutputStream
12069 .computeBoolSize(189, logSubsolverStatistics_);
12071 if (((bitField0_ & 0x00010000) != 0)) {
12072 size += com.google.protobuf.CodedOutputStream
12073 .computeDoubleSize(190, clauseCleanupRatio_);
12075 if (((bitField6_ & 0x10000000) != 0)) {
12076 size += com.google.protobuf.CodedOutputStream
12077 .computeInt32Size(191, maxDomainSizeWhenEncodingEqNeqConstraints_);
12079 if (((bitField4_ & 0x00002000) != 0)) {
12080 size += com.google.protobuf.CodedOutputStream
12081 .computeBoolSize(192, fixVariablesToTheirHintedValue_);
12083 if (((bitField6_ & 0x00000001) != 0)) {
12084 size += com.google.protobuf.CodedOutputStream
12085 .computeInt32Size(193, solutionPoolSize_);
12087 if (((bitField5_ & 0x00400000) != 0)) {
12088 size += com.google.protobuf.CodedOutputStream
12089 .computeBoolSize(194, fillAdditionalSolutionsInResponse_);
12091 if (((bitField3_ & 0x00000200) != 0)) {
12092 size += com.google.protobuf.CodedOutputStream
12093 .computeBoolSize(195, debugCrashOnBadHint_);
12095 if (((bitField6_ & 0x40000000) != 0)) {
12096 size += com.google.protobuf.CodedOutputStream
12097 .computeInt32Size(196, cutLevel_);
12099 if (((bitField7_ & 0x00000001) != 0)) {
12100 size += com.google.protobuf.CodedOutputStream
12101 .computeBoolSize(197, addObjectiveCut_);
12103 if (((bitField8_ & 0x00000001) != 0)) {
12104 size += com.google.protobuf.CodedOutputStream
12105 .computeBoolSize(198, mipComputeTrueObjectiveBound_);
12107 if (((bitField8_ & 0x00000002) != 0)) {
12108 size += com.google.protobuf.CodedOutputStream
12109 .computeDoubleSize(199, mipMaxValidMagnitude_);
12111 if (((bitField3_ & 0x80000000) != 0)) {
12112 size += com.google.protobuf.CodedOutputStream
12113 .computeBoolSize(200, useTimetablingInNoOverlap2D_);
12115 if (((bitField2_ & 0x00080000) != 0)) {
12116 size += com.google.protobuf.CodedOutputStream
12117 .computeInt64Size(201, presolveInclusionWorkLimit_);
12119 if (((bitField2_ & 0x00100000) != 0)) {
12120 size += com.google.protobuf.CodedOutputStream
12121 .computeBoolSize(202, ignoreNames_);
12123 if (((bitField3_ & 0x00000010) != 0)) {
12124 size += com.google.protobuf.CodedOutputStream
12125 .computeBoolSize(203, shareBinaryClauses_);
12127 if (((bitField4_ & 0x00020000) != 0)) {
12128 size += com.google.protobuf.CodedOutputStream
12129 .computeBoolSize(204, useShavingInProbingSearch_);
12131 if (((bitField4_ & 0x00040000) != 0)) {
12132 size += com.google.protobuf.CodedOutputStream
12133 .computeDoubleSize(205, shavingSearchDeterministicTime_);
12135 if (((bitField2_ & 0x20000000) != 0)) {
12136 size += com.google.protobuf.CodedOutputStream
12137 .computeInt32Size(206, numWorkers_);
12141 for (
int i = 0; i < subsolvers_.size(); i++) {
12142 dataSize += computeStringSizeNoTag(subsolvers_.getRaw(i));
12149 for (
int i = 0; i < ignoreSubsolvers_.size(); i++) {
12150 dataSize += computeStringSizeNoTag(ignoreSubsolvers_.getRaw(i));
12155 for (
int i = 0; i < subsolverParams_.size(); i++) {
12156 size += com.google.protobuf.CodedOutputStream
12157 .computeMessageSize(210, subsolverParams_.get(i));
12159 if (((bitField4_ & 0x00000001) != 0)) {
12160 size += com.google.protobuf.CodedOutputStream
12161 .computeBoolSize(213, useEnergeticReasoningInNoOverlap2D_);
12163 if (((bitField4_ & 0x00000020) != 0)) {
12164 size += com.google.protobuf.CodedOutputStream
12165 .computeBoolSize(214, useDualSchedulingHeuristics_);
12167 if (((bitField3_ & 0x10000000) != 0)) {
12168 size += com.google.protobuf.CodedOutputStream
12169 .computeBoolSize(215, useHardPrecedencesInCumulative_);
12171 if (((bitField2_ & 0x00000040) != 0)) {
12172 size += com.google.protobuf.CodedOutputStream
12173 .computeBoolSize(216, detectTableWithCost_);
12175 if (((bitField2_ & 0x00000080) != 0)) {
12176 size += com.google.protobuf.CodedOutputStream
12177 .computeInt32Size(217, tableCompressionLevel_);
12181 for (
int i = 0; i < extraSubsolvers_.size(); i++) {
12182 dataSize += computeStringSizeNoTag(extraSubsolvers_.getRaw(i));
12187 if (((bitField3_ & 0x20000000) != 0)) {
12188 size += com.google.protobuf.CodedOutputStream
12189 .computeBoolSize(220, exploitAllPrecedences_);
12191 if (((bitField3_ & 0x00040000) != 0)) {
12192 size += com.google.protobuf.CodedOutputStream
12193 .computeDoubleSize(221, propagationLoopDetectionFactor_);
12195 if (((bitField7_ & 0x10000000) != 0)) {
12196 size += com.google.protobuf.CodedOutputStream
12197 .computeBoolSize(222, onlySolveIp_);
12199 if (((bitField2_ & 0x00004000) != 0)) {
12200 size += com.google.protobuf.CodedOutputStream
12201 .computeBoolSize(223, encodeComplexLinearConstraintWithInteger_);
12203 if (((bitField6_ & 0x01000000) != 0)) {
12204 size += com.google.protobuf.CodedOutputStream
12205 .computeBoolSize(224, newLinearPropagation_);
12207 if (((bitField7_ & 0x04000000) != 0)) {
12208 size += com.google.protobuf.CodedOutputStream
12209 .computeBoolSize(225, mipScaleLargeDomain_);
12211 if (((bitField1_ & 0x10000000) != 0)) {
12212 size += com.google.protobuf.CodedOutputStream
12213 .computeDoubleSize(226, probingDeterministicTimeLimit_);
12215 if (((bitField7_ & 0x00000400) != 0)) {
12216 size += com.google.protobuf.CodedOutputStream
12217 .computeInt32Size(227, rootLpIterations_);
12219 if (((bitField4_ & 0x00100000) != 0)) {
12220 size += com.google.protobuf.CodedOutputStream
12221 .computeBoolSize(228, useObjectiveLbSearch_);
12223 if (((bitField3_ & 0x00100000) != 0)) {
12224 size += com.google.protobuf.CodedOutputStream
12225 .computeInt32Size(229, maxSizeToCreatePrecedenceLiteralsInDisjunctive_);
12227 if (((bitField3_ & 0x00200000) != 0)) {
12228 size += com.google.protobuf.CodedOutputStream
12229 .computeBoolSize(230, useStrongPropagationInDisjunctive_);
12231 if (((bitField8_ & 0x00000008) != 0)) {
12232 size += com.google.protobuf.CodedOutputStream
12233 .computeDoubleSize(232, mipDropTolerance_);
12235 if (((bitField2_ & 0x00200000) != 0)) {
12236 size += com.google.protobuf.CodedOutputStream
12237 .computeBoolSize(233, inferAllDiffs_);
12239 if (((bitField2_ & 0x00400000) != 0)) {
12240 size += com.google.protobuf.CodedOutputStream
12241 .computeBoolSize(234, findBigLinearOverlap_);
12243 if (((bitField5_ & 0x00000400) != 0)) {
12244 size += com.google.protobuf.CodedOutputStream
12245 .computeInt32Size(235, sharedTreeNumWorkers_);
12247 if (((bitField5_ & 0x00000800) != 0)) {
12248 size += com.google.protobuf.CodedOutputStream
12249 .computeBoolSize(236, useSharedTreeSearch_);
12251 if (((bitField5_ & 0x00010000) != 0)) {
12252 size += com.google.protobuf.CodedOutputStream
12253 .computeInt32Size(238, sharedTreeMaxNodesPerWorker_);
12255 if (((bitField5_ & 0x00020000) != 0)) {
12256 size += com.google.protobuf.CodedOutputStream
12257 .computeEnumSize(239, sharedTreeSplitStrategy_);
12259 if (((bitField4_ & 0x40000000) != 0)) {
12260 size += com.google.protobuf.CodedOutputStream
12261 .computeBoolSize(240, useLsOnly_);
12263 if (((bitField4_ & 0x80000000) != 0)) {
12264 size += com.google.protobuf.CodedOutputStream
12265 .computeDoubleSize(242, feasibilityJumpDecay_);
12267 if (((bitField5_ & 0x00000080) != 0)) {
12268 size += com.google.protobuf.CodedOutputStream
12269 .computeInt32Size(244, numViolationLs_);
12271 if (((bitField5_ & 0x00000008) != 0)) {
12272 size += com.google.protobuf.CodedOutputStream
12273 .computeDoubleSize(247, feasibilityJumpVarRandomizationProbability_);
12275 if (((bitField5_ & 0x00000010) != 0)) {
12276 size += com.google.protobuf.CodedOutputStream
12277 .computeDoubleSize(248, feasibilityJumpVarPerburbationRangeRatio_);
12279 if (((bitField5_ & 0x00000100) != 0)) {
12280 size += com.google.protobuf.CodedOutputStream
12281 .computeInt32Size(249, violationLsPerturbationPeriod_);
12283 if (((bitField5_ & 0x00000020) != 0)) {
12284 size += com.google.protobuf.CodedOutputStream
12285 .computeBoolSize(250, feasibilityJumpEnableRestarts_);
12287 if (((bitField5_ & 0x08000000) != 0)) {
12288 size += com.google.protobuf.CodedOutputStream
12289 .computeBoolSize(252, stopAfterRootPropagation_);
12291 if (((bitField4_ & 0x00200000) != 0)) {
12292 size += com.google.protobuf.CodedOutputStream
12293 .computeBoolSize(253, useObjectiveShavingSearch_);
12295 if (((bitField6_ & 0x00000008) != 0)) {
12296 size += com.google.protobuf.CodedOutputStream
12297 .computeBoolSize(255, useLbRelaxLns_);
12299 if (((bitField6_ & 0x02000000) != 0)) {
12300 size += com.google.protobuf.CodedOutputStream
12301 .computeInt32Size(256, linearSplitSize_);
12303 if (((bitField5_ & 0x00000001) != 0)) {
12304 size += com.google.protobuf.CodedOutputStream
12305 .computeInt32Size(257, feasibilityJumpLinearizationLevel_);
12307 if (((bitField5_ & 0x00000002) != 0)) {
12308 size += com.google.protobuf.CodedOutputStream
12309 .computeInt32Size(258, feasibilityJumpRestartFactor_);
12311 if (((bitField5_ & 0x00000200) != 0)) {
12312 size += com.google.protobuf.CodedOutputStream
12313 .computeDoubleSize(259, violationLsCompoundMoveProbability_);
12315 if (((bitField3_ & 0x08000000) != 0)) {
12316 size += com.google.protobuf.CodedOutputStream
12317 .computeInt32Size(260, maxNumIntervalsForTimetableEdgeFinding_);
12319 if (((bitField8_ & 0x00000010) != 0)) {
12320 size += com.google.protobuf.CodedOutputStream
12321 .computeInt32Size(261, mipPresolveLevel_);
12323 if (((bitField6_ & 0x00000200) != 0)) {
12324 size += com.google.protobuf.CodedOutputStream
12325 .computeBoolSize(262, pushAllTasksTowardStart_);
12327 if (((bitField3_ & 0x00400000) != 0)) {
12328 size += com.google.protobuf.CodedOutputStream
12329 .computeBoolSize(263, useDynamicPrecedenceInDisjunctive_);
12331 if (((bitField5_ & 0x00000040) != 0)) {
12332 size += com.google.protobuf.CodedOutputStream
12333 .computeInt32Size(264, feasibilityJumpMaxExpandedConstraintSize_);
12335 if (((bitField4_ & 0x20000000) != 0)) {
12336 size += com.google.protobuf.CodedOutputStream
12337 .computeBoolSize(265, useFeasibilityJump_);
12339 if (((bitField6_ & 0x00020000) != 0)) {
12340 size += com.google.protobuf.CodedOutputStream
12341 .computeDoubleSize(266, lpPrimalTolerance_);
12343 if (((bitField6_ & 0x00040000) != 0)) {
12344 size += com.google.protobuf.CodedOutputStream
12345 .computeDoubleSize(267, lpDualTolerance_);
12347 if (((bitField3_ & 0x00800000) != 0)) {
12348 size += com.google.protobuf.CodedOutputStream
12349 .computeBoolSize(268, useDynamicPrecedenceInCumulative_);
12351 if (((bitField4_ & 0x00008000) != 0)) {
12352 size += com.google.protobuf.CodedOutputStream
12353 .computeBoolSize(269, useExtendedProbing_);
12355 if (((bitField6_ & 0x00002000) != 0)) {
12356 size += com.google.protobuf.CodedOutputStream
12357 .computeInt32Size(270, atMostOneMaxExpansionSize_);
12359 if (((bitField4_ & 0x00000002) != 0)) {
12360 size += com.google.protobuf.CodedOutputStream
12361 .computeBoolSize(271, useAreaEnergeticReasoningInNoOverlap2D_);
12363 if (((bitField4_ & 0x00010000) != 0)) {
12364 size += com.google.protobuf.CodedOutputStream
12365 .computeInt32Size(272, probingNumCombinationsLimit_);
12367 if (((bitField2_ & 0x01000000) != 0)) {
12368 size += com.google.protobuf.CodedOutputStream
12369 .computeDoubleSize(273, inprocessingDtimeRatio_);
12371 if (((bitField2_ & 0x02000000) != 0)) {
12372 size += com.google.protobuf.CodedOutputStream
12373 .computeDoubleSize(274, inprocessingProbingDtime_);
12375 if (((bitField2_ & 0x04000000) != 0)) {
12376 size += com.google.protobuf.CodedOutputStream
12377 .computeDoubleSize(275, inprocessingMinimizationDtime_);
12379 if (((bitField4_ & 0x00000008) != 0)) {
12380 size += com.google.protobuf.CodedOutputStream
12381 .computeInt32Size(276, maxPairsPairwiseReasoningInNoOverlap2D_);
12383 if (((bitField7_ & 0x00800000) != 0)) {
12384 size += com.google.protobuf.CodedOutputStream
12385 .computeBoolSize(277, detectLinearizedProduct_);
12387 if (((bitField8_ & 0x00000004) != 0)) {
12388 size += com.google.protobuf.CodedOutputStream
12389 .computeBoolSize(278, mipTreatHighMagnitudeBoundsAsInfinity_);
12391 if (((bitField7_ & 0x00000020) != 0)) {
12392 size += com.google.protobuf.CodedOutputStream
12393 .computeBoolSize(279, addRltCuts_);
12395 if (((bitField2_ & 0x00001000) != 0)) {
12396 size += com.google.protobuf.CodedOutputStream
12397 .computeInt32Size(280, maxLinMaxSizeForExpansion_);
12399 if (((bitField5_ & 0x00008000) != 0)) {
12400 size += com.google.protobuf.CodedOutputStream
12401 .computeDoubleSize(281, sharedTreeOpenLeavesPerWorker_);
12403 if (((bitField5_ & 0x00001000) != 0)) {
12404 size += com.google.protobuf.CodedOutputStream
12405 .computeInt32Size(282, sharedTreeWorkerMinRestartsPerSubtree_);
12407 if (((bitField5_ & 0x40000000) != 0)) {
12408 size += com.google.protobuf.CodedOutputStream
12409 .computeBoolSize(283, useLns_);
12411 if (((bitField4_ & 0x04000000) != 0)) {
12412 size += com.google.protobuf.CodedOutputStream
12413 .computeBoolSize(284, saveLpBasisInLbTreeSearch_);
12415 if (((bitField3_ & 0x00000020) != 0)) {
12416 size += com.google.protobuf.CodedOutputStream
12417 .computeBoolSize(285, shareGlueClauses_);
12419 if (((bitField3_ & 0x02000000) != 0)) {
12420 size += com.google.protobuf.CodedOutputStream
12421 .computeBoolSize(286, useConservativeScaleOverloadChecker_);
12423 if (((bitField2_ & 0x00000800) != 0)) {
12424 size += com.google.protobuf.CodedOutputStream
12425 .computeBoolSize(287, encodeCumulativeAsReservoir_);
12427 if (((bitField2_ & 0x00000400) != 0)) {
12428 size += com.google.protobuf.CodedOutputStream
12429 .computeBoolSize(288, expandReservoirUsingCircuit_);
12431 if (((bitField4_ & 0x00400000) != 0)) {
12432 size += com.google.protobuf.CodedOutputStream
12433 .computeBoolSize(289, useVariablesShavingSearch_);
12435 if (((bitField4_ & 0x00080000) != 0)) {
12436 size += com.google.protobuf.CodedOutputStream
12437 .computeInt64Size(290, shavingSearchThreshold_);
12439 if (((bitField1_ & 0x00000200) != 0)) {
12440 size += com.google.protobuf.CodedOutputStream
12441 .computeInt32Size(291, maxNumDeterministicBatches_);
12443 if (((bitField5_ & 0x00000004) != 0)) {
12444 size += com.google.protobuf.CodedOutputStream
12445 .computeDoubleSize(292, feasibilityJumpBatchDtime_);
12449 for (
int i = 0; i < filterSubsolvers_.size(); i++) {
12450 dataSize += computeStringSizeNoTag(filterSubsolvers_.getRaw(i));
12455 if (((bitField2_ & 0x80000000) != 0)) {
12456 size += com.google.protobuf.CodedOutputStream
12457 .computeInt32Size(294, numFullSubsolvers_);
12459 if (((bitField5_ & 0x00002000) != 0)) {
12460 size += com.google.protobuf.CodedOutputStream
12461 .computeBoolSize(295, sharedTreeWorkerEnableTrailSharing_);
12463 if (((bitField6_ & 0x00000010) != 0)) {
12464 size += com.google.protobuf.CodedOutputStream
12465 .computeInt32Size(296, lbRelaxNumWorkersThreshold_);
12467 if (((bitField2_ & 0x08000000) != 0)) {
12468 size += com.google.protobuf.CodedOutputStream
12469 .computeBoolSize(297, inprocessingMinimizationUseConflictAnalysis_);
12471 if (((bitField2_ & 0x10000000) != 0)) {
12472 size += com.google.protobuf.CodedOutputStream
12473 .computeBoolSize(298, inprocessingMinimizationUseAllOrderings_);
12475 if (((bitField4_ & 0x00000004) != 0)) {
12476 size += com.google.protobuf.CodedOutputStream
12477 .computeBoolSize(299, useTryEdgeReasoningInNoOverlap2D_);
12479 if (((bitField3_ & 0x00000040) != 0)) {
12480 size += com.google.protobuf.CodedOutputStream
12481 .computeBoolSize(300, minimizeSharedClauses_);
12483 if (((bitField6_ & 0x00200000) != 0)) {
12484 size += com.google.protobuf.CodedOutputStream
12485 .computeBoolSize(301, useSymmetryInLp_);
12487 if (((bitField6_ & 0x00800000) != 0)) {
12488 size += com.google.protobuf.CodedOutputStream
12489 .computeDoubleSize(302, symmetryDetectionDeterministicTimeLimit_);
12491 if (((bitField6_ & 0x00400000) != 0)) {
12492 size += com.google.protobuf.CodedOutputStream
12493 .computeBoolSize(303, keepSymmetryInPresolve_);
12495 if (((bitField5_ & 0x00004000) != 0)) {
12496 size += com.google.protobuf.CodedOutputStream
12497 .computeBoolSize(304, sharedTreeWorkerEnablePhaseSharing_);
12499 if (((bitField5_ & 0x00040000) != 0)) {
12500 size += com.google.protobuf.CodedOutputStream
12501 .computeInt32Size(305, sharedTreeBalanceTolerance_);
12503 if (((bitField3_ & 0x00000400) != 0)) {
12504 size += com.google.protobuf.CodedOutputStream
12505 .computeBoolSize(306, debugCrashIfPresolveBreaksHint_);
12507 if (((bitField5_ & 0x10000000) != 0)) {
12508 size += com.google.protobuf.CodedOutputStream
12509 .computeDoubleSize(307, lnsInitialDifficulty_);
12511 if (((bitField5_ & 0x20000000) != 0)) {
12512 size += com.google.protobuf.CodedOutputStream
12513 .computeDoubleSize(308, lnsInitialDeterministicLimit_);
12515 if (((bitField0_ & 0x00000020) != 0)) {
12516 size += com.google.protobuf.CodedOutputStream
12517 .computeBoolSize(309, polarityExploitLsHints_);
12519 if (((bitField2_ & 0x00000020) != 0)) {
12520 size += com.google.protobuf.CodedOutputStream
12521 .computeBoolSize(310, removeFixedVariablesEarly_);
12523 if (((bitField4_ & 0x00000040) != 0)) {
12524 size += com.google.protobuf.CodedOutputStream
12525 .computeBoolSize(311, useAllDifferentForCircuit_);
12527 if (((bitField4_ & 0x00000080) != 0)) {
12528 size += com.google.protobuf.CodedOutputStream
12529 .computeInt32Size(312, routingCutSubsetSizeForBinaryRelationBound_);
12531 if (((bitField4_ & 0x00000100) != 0)) {
12532 size += com.google.protobuf.CodedOutputStream
12533 .computeInt32Size(313, routingCutSubsetSizeForTightBinaryRelationBound_);
12535 if (((bitField4_ & 0x00000200) != 0)) {
12536 size += com.google.protobuf.CodedOutputStream
12537 .computeDoubleSize(314, routingCutDpEffort_);
12539 if (((bitField4_ & 0x00000010) != 0)) {
12540 size += com.google.protobuf.CodedOutputStream
12541 .computeInt32Size(315, maximumRegionsToSplitInDisconnectedNoOverlap2D_);
12543 size += getUnknownFields().getSerializedSize();
12544 memoizedSize = size;
12548 @java.lang.Override
12549 public boolean equals(
final java.lang.Object obj) {
12553 if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
12554 return super.equals(obj);
12565 if (preferredVariableOrder_ != other.preferredVariableOrder_)
return false;
12569 if (initialPolarity_ != other.initialPolarity_)
return false;
12589 != java.lang.Double.doubleToLongBits(
12595 != java.lang.Double.doubleToLongBits(
12606 != java.lang.Double.doubleToLongBits(
12616 if (minimizationAlgorithm_ != other.minimizationAlgorithm_)
return false;
12620 if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_)
return false;
12640 != java.lang.Double.doubleToLongBits(
12645 if (clauseCleanupProtection_ != other.clauseCleanupProtection_)
return false;
12654 if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_)
return false;
12664 != java.lang.Double.doubleToLongBits(
12670 != java.lang.Double.doubleToLongBits(
12676 != java.lang.Double.doubleToLongBits(
12682 != java.lang.Double.doubleToLongBits(
12688 != java.lang.Double.doubleToLongBits(
12699 != java.lang.Double.doubleToLongBits(
12705 != java.lang.Double.doubleToLongBits(
12708 if (!restartAlgorithms_.equals(other.restartAlgorithms_))
return false;
12727 != java.lang.Double.doubleToLongBits(
12733 != java.lang.Double.doubleToLongBits(
12749 != java.lang.Double.doubleToLongBits(
12760 != java.lang.Double.doubleToLongBits(
12766 != java.lang.Double.doubleToLongBits(
12772 != java.lang.Double.doubleToLongBits(
12793 != java.lang.Double.doubleToLongBits(
12799 != java.lang.Double.doubleToLongBits(
12875 != java.lang.Double.doubleToLongBits(
12881 != java.lang.Double.doubleToLongBits(
12972 != java.lang.Double.doubleToLongBits(
12978 != java.lang.Double.doubleToLongBits(
13019 != java.lang.Double.doubleToLongBits(
13025 != java.lang.Double.doubleToLongBits(
13031 != java.lang.Double.doubleToLongBits(
13146 if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_)
return false;
13155 if (maxSatStratification_ != other.maxSatStratification_)
return false;
13160 != java.lang.Double.doubleToLongBits(
13276 != java.lang.Double.doubleToLongBits(
13281 if (searchBranching_ != other.searchBranching_)
return false;
13321 != java.lang.Double.doubleToLongBits(
13387 != java.lang.Double.doubleToLongBits(
13403 != java.lang.Double.doubleToLongBits(
13409 != java.lang.Double.doubleToLongBits(
13415 != java.lang.Double.doubleToLongBits(
13441 != java.lang.Double.doubleToLongBits(
13472 != java.lang.Double.doubleToLongBits(
13482 if (sharedTreeSplitStrategy_ != other.sharedTreeSplitStrategy_)
return false;
13537 != java.lang.Double.doubleToLongBits(
13543 != java.lang.Double.doubleToLongBits(
13583 if (fpRounding_ != other.fpRounding_)
return false;
13643 != java.lang.Double.doubleToLongBits(
13649 != java.lang.Double.doubleToLongBits(
13675 != java.lang.Double.doubleToLongBits(
13776 != java.lang.Double.doubleToLongBits(
13792 != java.lang.Double.doubleToLongBits(
13798 != java.lang.Double.doubleToLongBits(
13844 != java.lang.Double.doubleToLongBits(
13850 != java.lang.Double.doubleToLongBits(
13871 != java.lang.Double.doubleToLongBits(
13882 != java.lang.Double.doubleToLongBits(
13893 != java.lang.Double.doubleToLongBits(
13904 != java.lang.Double.doubleToLongBits(
13912 if (!getUnknownFields().
equals(other.getUnknownFields()))
return false;
13916 @java.lang.Override
13918 if (memoizedHashCode != 0) {
13919 return memoizedHashCode;
13925 hash = (53 * hash) +
getName().hashCode();
13929 hash = (53 * hash) + preferredVariableOrder_;
13933 hash = (53 * hash) + initialPolarity_;
13937 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13946 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13951 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13956 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13961 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13966 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13971 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13976 hash = (53 * hash) + minimizationAlgorithm_;
13980 hash = (53 * hash) + binaryMinimizationAlgorithm_;
13984 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13997 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14002 hash = (53 * hash) + clauseCleanupProtection_;
14010 hash = (53 * hash) + clauseCleanupOrdering_;
14018 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14023 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14028 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14033 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14038 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14047 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14052 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14057 hash = (53 * hash) + restartAlgorithms_.hashCode();
14073 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14078 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14083 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14092 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14101 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14106 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14111 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14120 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14125 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14130 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14135 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14144 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14149 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14154 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14159 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14164 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14173 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14178 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14183 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14188 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14193 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14206 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14211 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14216 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14221 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14234 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14243 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14248 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14253 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14262 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14267 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14272 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14277 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14286 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14291 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14296 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14301 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14310 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14315 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14320 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14325 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14330 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14335 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14340 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14345 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14350 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14355 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14360 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14397 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14406 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14411 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14416 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14421 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14426 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14431 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14440 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14445 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14450 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14459 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14464 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14469 hash = (53 * hash) + maxSatAssumptionOrder_;
14473 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14478 hash = (53 * hash) + maxSatStratification_;
14482 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14487 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14496 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14501 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14506 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14511 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14516 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14521 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14530 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14535 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14540 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14545 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14550 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14555 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14560 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14573 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14578 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14591 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14596 hash = (53 * hash) + searchBranching_;
14604 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14609 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14614 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14619 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14628 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14633 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14638 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14643 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14648 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14653 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14658 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14663 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14668 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14673 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14682 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14687 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14692 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14697 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14710 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14715 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14720 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14725 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14742 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14751 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14760 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14765 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14770 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14779 hash = (53 * hash) + sharedTreeSplitStrategy_;
14787 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14792 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14797 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14802 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14807 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14812 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14817 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14822 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14827 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14832 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14837 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14842 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14847 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14856 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14861 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14866 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14875 hash = (53 * hash) + fpRounding_;
14879 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14884 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14889 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14894 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14899 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14904 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14909 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14918 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14923 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14928 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14933 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14938 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14943 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14952 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14957 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14962 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
14967 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
14996 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15001 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15006 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15011 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15016 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15021 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15026 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15035 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15044 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15053 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
15066 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
15071 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
15084 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15089 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15094 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15099 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15104 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15109 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15114 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
15119 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
15124 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15129 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15134 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15139 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
15148 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
15153 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15158 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
15163 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
15168 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
15175 hash = (29 * hash) + getUnknownFields().hashCode();
15176 memoizedHashCode = hash;
15181 java.nio.ByteBuffer data)
15182 throws com.google.protobuf.InvalidProtocolBufferException {
15183 return PARSER.parseFrom(data);
15186 java.nio.ByteBuffer data,
15187 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15188 throws com.google.protobuf.InvalidProtocolBufferException {
15189 return PARSER.parseFrom(data, extensionRegistry);
15192 com.google.protobuf.ByteString data)
15193 throws com.google.protobuf.InvalidProtocolBufferException {
15194 return PARSER.parseFrom(data);
15197 com.google.protobuf.ByteString data,
15198 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15199 throws com.google.protobuf.InvalidProtocolBufferException {
15200 return PARSER.parseFrom(data, extensionRegistry);
15203 throws com.google.protobuf.InvalidProtocolBufferException {
15204 return PARSER.parseFrom(data);
15208 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15209 throws com.google.protobuf.InvalidProtocolBufferException {
15210 return PARSER.parseFrom(data, extensionRegistry);
15213 throws java.io.IOException {
15214 return com.google.protobuf.GeneratedMessage
15215 .parseWithIOException(PARSER, input);
15218 java.io.InputStream input,
15219 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15220 throws java.io.IOException {
15221 return com.google.protobuf.GeneratedMessage
15222 .parseWithIOException(PARSER, input, extensionRegistry);
15226 throws java.io.IOException {
15227 return com.google.protobuf.GeneratedMessage
15228 .parseDelimitedWithIOException(PARSER, input);
15232 java.io.InputStream input,
15233 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15234 throws java.io.IOException {
15235 return com.google.protobuf.GeneratedMessage
15236 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
15239 com.google.protobuf.CodedInputStream input)
15240 throws java.io.IOException {
15241 return com.google.protobuf.GeneratedMessage
15242 .parseWithIOException(PARSER, input);
15245 com.google.protobuf.CodedInputStream input,
15246 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15247 throws java.io.IOException {
15248 return com.google.protobuf.GeneratedMessage
15249 .parseWithIOException(PARSER, input, extensionRegistry);
15252 @java.lang.Override
15255 return DEFAULT_INSTANCE.toBuilder();
15258 return DEFAULT_INSTANCE.toBuilder().
mergeFrom(prototype);
15260 @java.lang.Override
15262 return this == DEFAULT_INSTANCE
15266 @java.lang.Override
15268 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
15282 public static final class Builder
extends
15283 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
15286 public static final com.google.protobuf.Descriptors.Descriptor
15288 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
15291 @java.lang.Override
15292 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
15294 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
15295 .ensureFieldAccessorsInitialized(
15296 com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
15305 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
15309 @java.lang.Override
15322 preferredVariableOrder_ = 0;
15323 initialPolarity_ = 1;
15324 usePhaseSaving_ =
true;
15325 polarityRephaseIncrement_ = 1000;
15326 polarityExploitLsHints_ =
false;
15327 randomPolarityRatio_ = 0D;
15328 randomBranchesRatio_ = 0D;
15329 useErwaHeuristic_ =
false;
15330 initialVariablesActivity_ = 0D;
15331 alsoBumpVariablesInConflictReasons_ =
false;
15332 minimizationAlgorithm_ = 2;
15333 binaryMinimizationAlgorithm_ = 1;
15334 subsumptionDuringConflictAnalysis_ =
true;
15335 clauseCleanupPeriod_ = 10000;
15336 clauseCleanupTarget_ = 0;
15337 clauseCleanupRatio_ = 0.5D;
15338 clauseCleanupProtection_ = 0;
15339 clauseCleanupLbdBound_ = 5;
15340 clauseCleanupOrdering_ = 0;
15341 pbCleanupIncrement_ = 200;
15342 pbCleanupRatio_ = 0.5D;
15343 variableActivityDecay_ = 0.8D;
15344 maxVariableActivityValue_ = 1e+100D;
15345 glucoseMaxDecay_ = 0.95D;
15346 glucoseDecayIncrement_ = 0.01D;
15347 glucoseDecayIncrementPeriod_ = 5000;
15348 clauseActivityDecay_ = 0.999D;
15349 maxClauseActivityValue_ = 1e+20D;
15350 restartAlgorithms_ = emptyIntList();
15351 bitField0_ = (bitField0_ & ~0x20000000);
15352 defaultRestartAlgorithms_ =
"LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
15353 restartPeriod_ = 50;
15354 restartRunningWindowSize_ = 50;
15355 restartDlAverageRatio_ = 1D;
15356 restartLbdAverageRatio_ = 1D;
15357 useBlockingRestart_ =
false;
15358 blockingRestartWindowSize_ = 5000;
15359 blockingRestartMultiplier_ = 1.4D;
15360 numConflictsBeforeStrategyChanges_ = 0;
15361 strategyChangeIncreaseRatio_ = 0D;
15362 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
15363 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
15364 maxNumDeterministicBatches_ = 0;
15365 maxNumberOfConflicts_ = 9223372036854775807L;
15366 maxMemoryInMb_ = 10000L;
15367 absoluteGapLimit_ = 0.0001D;
15368 relativeGapLimit_ = 0D;
15370 permuteVariableRandomly_ =
false;
15371 permutePresolveConstraintOrder_ =
false;
15372 useAbslRandom_ =
false;
15373 logSearchProgress_ =
false;
15374 logSubsolverStatistics_ =
false;
15376 logToStdout_ =
true;
15377 logToResponse_ =
false;
15378 usePbResolution_ =
false;
15379 minimizeReductionDuringPbResolution_ =
false;
15380 countAssumptionLevelsInLbd_ =
true;
15381 presolveBveThreshold_ = 500;
15382 presolveBveClauseWeight_ = 3;
15383 probingDeterministicTimeLimit_ = 1D;
15384 presolveProbingDeterministicTimeLimit_ = 30D;
15385 presolveBlockedClause_ =
true;
15386 presolveUseBva_ =
true;
15387 presolveBvaThreshold_ = 1;
15388 maxPresolveIterations_ = 3;
15389 cpModelPresolve_ =
true;
15390 cpModelProbingLevel_ = 2;
15391 cpModelUseSatPresolve_ =
true;
15392 removeFixedVariablesEarly_ =
true;
15393 detectTableWithCost_ =
false;
15394 tableCompressionLevel_ = 2;
15395 expandAlldiffConstraints_ =
false;
15396 expandReservoirConstraints_ =
true;
15397 expandReservoirUsingCircuit_ =
false;
15398 encodeCumulativeAsReservoir_ =
false;
15399 maxLinMaxSizeForExpansion_ = 0;
15400 disableConstraintExpansion_ =
false;
15401 encodeComplexLinearConstraintWithInteger_ =
false;
15402 mergeNoOverlapWorkLimit_ = 1000000000000D;
15403 mergeAtMostOneWorkLimit_ = 100000000D;
15404 presolveSubstitutionLevel_ = 1;
15405 presolveExtractIntegerEnforcement_ =
false;
15406 presolveInclusionWorkLimit_ = 100000000L;
15407 ignoreNames_ =
true;
15408 inferAllDiffs_ =
true;
15409 findBigLinearOverlap_ =
true;
15410 useSatInprocessing_ =
true;
15411 inprocessingDtimeRatio_ = 0.2D;
15412 inprocessingProbingDtime_ = 1D;
15413 inprocessingMinimizationDtime_ = 1D;
15414 inprocessingMinimizationUseConflictAnalysis_ =
true;
15415 inprocessingMinimizationUseAllOrderings_ =
false;
15417 numSearchWorkers_ = 0;
15418 numFullSubsolvers_ = 0;
15420 com.google.protobuf.LazyStringArrayList.emptyList();
15422 com.google.protobuf.LazyStringArrayList.emptyList();
15423 ignoreSubsolvers_ =
15424 com.google.protobuf.LazyStringArrayList.emptyList();
15425 filterSubsolvers_ =
15426 com.google.protobuf.LazyStringArrayList.emptyList();
15427 if (subsolverParamsBuilder_ ==
null) {
15428 subsolverParams_ = java.util.Collections.emptyList();
15430 subsolverParams_ =
null;
15431 subsolverParamsBuilder_.clear();
15433 bitField3_ = (bitField3_ & ~0x00000020);
15434 interleaveSearch_ =
false;
15435 interleaveBatchSize_ = 0;
15436 shareObjectiveBounds_ =
true;
15437 shareLevelZeroBounds_ =
true;
15438 shareBinaryClauses_ =
true;
15439 shareGlueClauses_ =
false;
15440 minimizeSharedClauses_ =
true;
15441 debugPostsolveWithFullSolver_ =
false;
15442 debugMaxNumPresolveOperations_ = 0;
15443 debugCrashOnBadHint_ =
false;
15444 debugCrashIfPresolveBreaksHint_ =
false;
15445 useOptimizationHints_ =
true;
15446 coreMinimizationLevel_ = 2;
15447 findMultipleCores_ =
true;
15448 coverOptimization_ =
true;
15449 maxSatAssumptionOrder_ = 0;
15450 maxSatReverseAssumptionOrder_ =
false;
15451 maxSatStratification_ = 1;
15452 propagationLoopDetectionFactor_ = 10D;
15453 usePrecedencesInDisjunctiveConstraint_ =
true;
15454 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
15455 useStrongPropagationInDisjunctive_ =
false;
15456 useDynamicPrecedenceInDisjunctive_ =
false;
15457 useDynamicPrecedenceInCumulative_ =
false;
15458 useOverloadCheckerInCumulative_ =
false;
15459 useConservativeScaleOverloadChecker_ =
false;
15460 useTimetableEdgeFindingInCumulative_ =
false;
15461 maxNumIntervalsForTimetableEdgeFinding_ = 100;
15462 useHardPrecedencesInCumulative_ =
false;
15463 exploitAllPrecedences_ =
false;
15464 useDisjunctiveConstraintInCumulative_ =
true;
15465 useTimetablingInNoOverlap2D_ =
false;
15466 useEnergeticReasoningInNoOverlap2D_ =
false;
15467 useAreaEnergeticReasoningInNoOverlap2D_ =
false;
15468 useTryEdgeReasoningInNoOverlap2D_ =
false;
15469 maxPairsPairwiseReasoningInNoOverlap2D_ = 1250;
15470 maximumRegionsToSplitInDisconnectedNoOverlap2D_ = 0;
15471 useDualSchedulingHeuristics_ =
true;
15472 useAllDifferentForCircuit_ =
false;
15473 routingCutSubsetSizeForBinaryRelationBound_ = 0;
15474 routingCutSubsetSizeForTightBinaryRelationBound_ = 0;
15475 routingCutDpEffort_ = 10000000D;
15476 searchBranching_ = 0;
15477 hintConflictLimit_ = 10;
15478 repairHint_ =
false;
15479 fixVariablesToTheirHintedValue_ =
false;
15480 useProbingSearch_ =
false;
15481 useExtendedProbing_ =
true;
15482 probingNumCombinationsLimit_ = 20000;
15483 useShavingInProbingSearch_ =
true;
15484 shavingSearchDeterministicTime_ = 0.001D;
15485 shavingSearchThreshold_ = 64L;
15486 useObjectiveLbSearch_ =
false;
15487 useObjectiveShavingSearch_ =
false;
15488 useVariablesShavingSearch_ =
false;
15489 pseudoCostReliabilityThreshold_ = 100L;
15490 optimizeWithCore_ =
false;
15491 optimizeWithLbTreeSearch_ =
false;
15492 saveLpBasisInLbTreeSearch_ =
false;
15493 binarySearchNumConflicts_ = -1;
15494 optimizeWithMaxHs_ =
false;
15495 useFeasibilityJump_ =
true;
15496 useLsOnly_ =
false;
15497 feasibilityJumpDecay_ = 0.95D;
15498 feasibilityJumpLinearizationLevel_ = 2;
15499 feasibilityJumpRestartFactor_ = 1;
15500 feasibilityJumpBatchDtime_ = 0.1D;
15501 feasibilityJumpVarRandomizationProbability_ = 0.05D;
15502 feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
15503 feasibilityJumpEnableRestarts_ =
true;
15504 feasibilityJumpMaxExpandedConstraintSize_ = 500;
15505 numViolationLs_ = 0;
15506 violationLsPerturbationPeriod_ = 100;
15507 violationLsCompoundMoveProbability_ = 0.5D;
15508 sharedTreeNumWorkers_ = 0;
15509 useSharedTreeSearch_ =
false;
15510 sharedTreeWorkerMinRestartsPerSubtree_ = 1;
15511 sharedTreeWorkerEnableTrailSharing_ =
true;
15512 sharedTreeWorkerEnablePhaseSharing_ =
true;
15513 sharedTreeOpenLeavesPerWorker_ = 2D;
15514 sharedTreeMaxNodesPerWorker_ = 10000;
15515 sharedTreeSplitStrategy_ = 0;
15516 sharedTreeBalanceTolerance_ = 1;
15517 enumerateAllSolutions_ =
false;
15518 keepAllFeasibleSolutionsInPresolve_ =
false;
15519 fillTightenedDomainsInResponse_ =
false;
15520 fillAdditionalSolutionsInResponse_ =
false;
15521 instantiateAllVariables_ =
true;
15522 autoDetectGreaterThanAtLeastOneOf_ =
true;
15523 stopAfterFirstSolution_ =
false;
15524 stopAfterPresolve_ =
false;
15525 stopAfterRootPropagation_ =
false;
15526 lnsInitialDifficulty_ = 0.5D;
15527 lnsInitialDeterministicLimit_ = 0.1D;
15529 useLnsOnly_ =
false;
15530 solutionPoolSize_ = 3;
15531 useRinsLns_ =
true;
15532 useFeasibilityPump_ =
true;
15533 useLbRelaxLns_ =
true;
15534 lbRelaxNumWorkersThreshold_ = 16;
15536 diversifyLnsParams_ =
false;
15537 randomizeSearch_ =
false;
15538 searchRandomVariablePoolSize_ = 0L;
15539 pushAllTasksTowardStart_ =
false;
15540 useOptionalVariables_ =
false;
15541 useExactLpReason_ =
true;
15542 useCombinedNoOverlap_ =
false;
15543 atMostOneMaxExpansionSize_ = 3;
15544 catchSigintSignal_ =
true;
15545 useImpliedBounds_ =
true;
15546 polishLpSolution_ =
false;
15547 lpPrimalTolerance_ = 1e-07D;
15548 lpDualTolerance_ = 1e-07D;
15549 convertIntervals_ =
true;
15550 symmetryLevel_ = 2;
15551 useSymmetryInLp_ =
false;
15552 keepSymmetryInPresolve_ =
false;
15553 symmetryDetectionDeterministicTimeLimit_ = 1D;
15554 newLinearPropagation_ =
true;
15555 linearSplitSize_ = 100;
15556 linearizationLevel_ = 1;
15557 booleanEncodingLevel_ = 1;
15558 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
15559 maxNumCuts_ = 10000;
15561 onlyAddCutsAtLevelZero_ =
false;
15562 addObjectiveCut_ =
false;
15564 addMirCuts_ =
true;
15565 addZeroHalfCuts_ =
true;
15566 addCliqueCuts_ =
true;
15567 addRltCuts_ =
true;
15568 maxAllDiffCutSize_ = 64;
15569 addLinMaxCuts_ =
true;
15570 maxIntegerRoundingScaling_ = 600;
15571 addLpConstraintsLazily_ =
true;
15572 rootLpIterations_ = 2000;
15573 minOrthogonalityForLpConstraints_ = 0.05D;
15574 maxCutRoundsAtLevelZero_ = 1;
15575 maxConsecutiveInactiveCount_ = 100;
15576 cutMaxActiveCountValue_ = 10000000000D;
15577 cutActiveCountDecay_ = 0.8D;
15578 cutCleanupTarget_ = 1000;
15579 newConstraintsBatchSize_ = 50;
15580 exploitIntegerLpSolution_ =
true;
15581 exploitAllLpSolution_ =
true;
15582 exploitBestSolution_ =
false;
15583 exploitRelaxationSolution_ =
false;
15584 exploitObjective_ =
true;
15585 detectLinearizedProduct_ =
false;
15586 mipMaxBound_ = 10000000D;
15587 mipVarScaling_ = 1D;
15588 mipScaleLargeDomain_ =
false;
15589 mipAutomaticallyScaleVariables_ =
true;
15590 onlySolveIp_ =
false;
15591 mipWantedPrecision_ = 1e-06D;
15592 mipMaxActivityExponent_ = 53;
15593 mipCheckPrecision_ = 0.0001D;
15594 mipComputeTrueObjectiveBound_ =
true;
15595 mipMaxValidMagnitude_ = 1e+20D;
15596 mipTreatHighMagnitudeBoundsAsInfinity_ =
false;
15597 mipDropTolerance_ = 1e-16D;
15598 mipPresolveLevel_ = 2;
15602 @java.lang.Override
15603 public com.google.protobuf.Descriptors.Descriptor
15605 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
15608 @java.lang.Override
15610 return com.google.ortools.sat.SatParameters.getDefaultInstance();
15613 @java.lang.Override
15617 throw newUninitializedMessageException(result);
15622 @java.lang.Override
15625 buildPartialRepeatedFields(result);
15626 if (bitField0_ != 0) { buildPartial0(result); }
15627 if (bitField1_ != 0) { buildPartial1(result); }
15628 if (bitField2_ != 0) { buildPartial2(result); }
15629 if (bitField3_ != 0) { buildPartial3(result); }
15630 if (bitField4_ != 0) { buildPartial4(result); }
15631 if (bitField5_ != 0) { buildPartial5(result); }
15632 if (bitField6_ != 0) { buildPartial6(result); }
15633 if (bitField7_ != 0) { buildPartial7(result); }
15634 if (bitField8_ != 0) { buildPartial8(result); }
15639 private void buildPartialRepeatedFields(com.google.ortools.sat.SatParameters result) {
15640 if (((bitField0_ & 0x20000000) != 0)) {
15641 restartAlgorithms_.makeImmutable();
15642 bitField0_ = (bitField0_ & ~0x20000000);
15644 result.restartAlgorithms_ = restartAlgorithms_;
15645 if (subsolverParamsBuilder_ ==
null) {
15646 if (((bitField3_ & 0x00000020) != 0)) {
15647 subsolverParams_ = java.util.Collections.unmodifiableList(subsolverParams_);
15648 bitField3_ = (bitField3_ & ~0x00000020);
15650 result.subsolverParams_ = subsolverParams_;
15652 result.subsolverParams_ = subsolverParamsBuilder_.build();
15656 private void buildPartial0(com.google.ortools.sat.SatParameters result) {
15657 int from_bitField0_ = bitField0_;
15658 int to_bitField0_ = 0;
15659 if (((from_bitField0_ & 0x00000001) != 0)) {
15660 result.name_ = name_;
15661 to_bitField0_ |= 0x00000001;
15663 if (((from_bitField0_ & 0x00000002) != 0)) {
15664 result.preferredVariableOrder_ = preferredVariableOrder_;
15665 to_bitField0_ |= 0x00000002;
15667 if (((from_bitField0_ & 0x00000004) != 0)) {
15668 result.initialPolarity_ = initialPolarity_;
15669 to_bitField0_ |= 0x00000004;
15671 if (((from_bitField0_ & 0x00000008) != 0)) {
15672 result.usePhaseSaving_ = usePhaseSaving_;
15673 to_bitField0_ |= 0x00000008;
15675 if (((from_bitField0_ & 0x00000010) != 0)) {
15676 result.polarityRephaseIncrement_ = polarityRephaseIncrement_;
15677 to_bitField0_ |= 0x00000010;
15679 if (((from_bitField0_ & 0x00000020) != 0)) {
15680 result.polarityExploitLsHints_ = polarityExploitLsHints_;
15681 to_bitField0_ |= 0x00000020;
15683 if (((from_bitField0_ & 0x00000040) != 0)) {
15684 result.randomPolarityRatio_ = randomPolarityRatio_;
15685 to_bitField0_ |= 0x00000040;
15687 if (((from_bitField0_ & 0x00000080) != 0)) {
15688 result.randomBranchesRatio_ = randomBranchesRatio_;
15689 to_bitField0_ |= 0x00000080;
15691 if (((from_bitField0_ & 0x00000100) != 0)) {
15692 result.useErwaHeuristic_ = useErwaHeuristic_;
15693 to_bitField0_ |= 0x00000100;
15695 if (((from_bitField0_ & 0x00000200) != 0)) {
15696 result.initialVariablesActivity_ = initialVariablesActivity_;
15697 to_bitField0_ |= 0x00000200;
15699 if (((from_bitField0_ & 0x00000400) != 0)) {
15700 result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
15701 to_bitField0_ |= 0x00000400;
15703 if (((from_bitField0_ & 0x00000800) != 0)) {
15704 result.minimizationAlgorithm_ = minimizationAlgorithm_;
15705 to_bitField0_ |= 0x00000800;
15707 if (((from_bitField0_ & 0x00001000) != 0)) {
15708 result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
15709 to_bitField0_ |= 0x00001000;
15711 if (((from_bitField0_ & 0x00002000) != 0)) {
15712 result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
15713 to_bitField0_ |= 0x00002000;
15715 if (((from_bitField0_ & 0x00004000) != 0)) {
15716 result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
15717 to_bitField0_ |= 0x00004000;
15719 if (((from_bitField0_ & 0x00008000) != 0)) {
15720 result.clauseCleanupTarget_ = clauseCleanupTarget_;
15721 to_bitField0_ |= 0x00008000;
15723 if (((from_bitField0_ & 0x00010000) != 0)) {
15724 result.clauseCleanupRatio_ = clauseCleanupRatio_;
15725 to_bitField0_ |= 0x00010000;
15727 if (((from_bitField0_ & 0x00020000) != 0)) {
15728 result.clauseCleanupProtection_ = clauseCleanupProtection_;
15729 to_bitField0_ |= 0x00020000;
15731 if (((from_bitField0_ & 0x00040000) != 0)) {
15732 result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
15733 to_bitField0_ |= 0x00040000;
15735 if (((from_bitField0_ & 0x00080000) != 0)) {
15736 result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
15737 to_bitField0_ |= 0x00080000;
15739 if (((from_bitField0_ & 0x00100000) != 0)) {
15740 result.pbCleanupIncrement_ = pbCleanupIncrement_;
15741 to_bitField0_ |= 0x00100000;
15743 if (((from_bitField0_ & 0x00200000) != 0)) {
15744 result.pbCleanupRatio_ = pbCleanupRatio_;
15745 to_bitField0_ |= 0x00200000;
15747 if (((from_bitField0_ & 0x00400000) != 0)) {
15748 result.variableActivityDecay_ = variableActivityDecay_;
15749 to_bitField0_ |= 0x00400000;
15751 if (((from_bitField0_ & 0x00800000) != 0)) {
15752 result.maxVariableActivityValue_ = maxVariableActivityValue_;
15753 to_bitField0_ |= 0x00800000;
15755 if (((from_bitField0_ & 0x01000000) != 0)) {
15756 result.glucoseMaxDecay_ = glucoseMaxDecay_;
15757 to_bitField0_ |= 0x01000000;
15759 if (((from_bitField0_ & 0x02000000) != 0)) {
15760 result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
15761 to_bitField0_ |= 0x02000000;
15763 if (((from_bitField0_ & 0x04000000) != 0)) {
15764 result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
15765 to_bitField0_ |= 0x04000000;
15767 if (((from_bitField0_ & 0x08000000) != 0)) {
15768 result.clauseActivityDecay_ = clauseActivityDecay_;
15769 to_bitField0_ |= 0x08000000;
15771 if (((from_bitField0_ & 0x10000000) != 0)) {
15772 result.maxClauseActivityValue_ = maxClauseActivityValue_;
15773 to_bitField0_ |= 0x10000000;
15775 if (((from_bitField0_ & 0x40000000) != 0)) {
15776 result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
15777 to_bitField0_ |= 0x20000000;
15779 if (((from_bitField0_ & 0x80000000) != 0)) {
15780 result.restartPeriod_ = restartPeriod_;
15781 to_bitField0_ |= 0x40000000;
15783 result.bitField0_ |= to_bitField0_;
15786 private void buildPartial1(com.google.ortools.sat.SatParameters result) {
15787 int from_bitField1_ = bitField1_;
15788 int to_bitField0_ = 0;
15789 if (((from_bitField1_ & 0x00000001) != 0)) {
15790 result.restartRunningWindowSize_ = restartRunningWindowSize_;
15791 to_bitField0_ |= 0x80000000;
15793 int to_bitField1_ = 0;
15794 if (((from_bitField1_ & 0x00000002) != 0)) {
15795 result.restartDlAverageRatio_ = restartDlAverageRatio_;
15796 to_bitField1_ |= 0x00000001;
15798 if (((from_bitField1_ & 0x00000004) != 0)) {
15799 result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
15800 to_bitField1_ |= 0x00000002;
15802 if (((from_bitField1_ & 0x00000008) != 0)) {
15803 result.useBlockingRestart_ = useBlockingRestart_;
15804 to_bitField1_ |= 0x00000004;
15806 if (((from_bitField1_ & 0x00000010) != 0)) {
15807 result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
15808 to_bitField1_ |= 0x00000008;
15810 if (((from_bitField1_ & 0x00000020) != 0)) {
15811 result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
15812 to_bitField1_ |= 0x00000010;
15814 if (((from_bitField1_ & 0x00000040) != 0)) {
15815 result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
15816 to_bitField1_ |= 0x00000020;
15818 if (((from_bitField1_ & 0x00000080) != 0)) {
15819 result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
15820 to_bitField1_ |= 0x00000040;
15822 if (((from_bitField1_ & 0x00000100) != 0)) {
15823 result.maxTimeInSeconds_ = maxTimeInSeconds_;
15824 to_bitField1_ |= 0x00000080;
15826 if (((from_bitField1_ & 0x00000200) != 0)) {
15827 result.maxDeterministicTime_ = maxDeterministicTime_;
15828 to_bitField1_ |= 0x00000100;
15830 if (((from_bitField1_ & 0x00000400) != 0)) {
15831 result.maxNumDeterministicBatches_ = maxNumDeterministicBatches_;
15832 to_bitField1_ |= 0x00000200;
15834 if (((from_bitField1_ & 0x00000800) != 0)) {
15835 result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
15836 to_bitField1_ |= 0x00000400;
15838 if (((from_bitField1_ & 0x00001000) != 0)) {
15839 result.maxMemoryInMb_ = maxMemoryInMb_;
15840 to_bitField1_ |= 0x00000800;
15842 if (((from_bitField1_ & 0x00002000) != 0)) {
15843 result.absoluteGapLimit_ = absoluteGapLimit_;
15844 to_bitField1_ |= 0x00001000;
15846 if (((from_bitField1_ & 0x00004000) != 0)) {
15847 result.relativeGapLimit_ = relativeGapLimit_;
15848 to_bitField1_ |= 0x00002000;
15850 if (((from_bitField1_ & 0x00008000) != 0)) {
15851 result.randomSeed_ = randomSeed_;
15852 to_bitField1_ |= 0x00004000;
15854 if (((from_bitField1_ & 0x00010000) != 0)) {
15855 result.permuteVariableRandomly_ = permuteVariableRandomly_;
15856 to_bitField1_ |= 0x00008000;
15858 if (((from_bitField1_ & 0x00020000) != 0)) {
15859 result.permutePresolveConstraintOrder_ = permutePresolveConstraintOrder_;
15860 to_bitField1_ |= 0x00010000;
15862 if (((from_bitField1_ & 0x00040000) != 0)) {
15863 result.useAbslRandom_ = useAbslRandom_;
15864 to_bitField1_ |= 0x00020000;
15866 if (((from_bitField1_ & 0x00080000) != 0)) {
15867 result.logSearchProgress_ = logSearchProgress_;
15868 to_bitField1_ |= 0x00040000;
15870 if (((from_bitField1_ & 0x00100000) != 0)) {
15871 result.logSubsolverStatistics_ = logSubsolverStatistics_;
15872 to_bitField1_ |= 0x00080000;
15874 if (((from_bitField1_ & 0x00200000) != 0)) {
15875 result.logPrefix_ = logPrefix_;
15876 to_bitField1_ |= 0x00100000;
15878 if (((from_bitField1_ & 0x00400000) != 0)) {
15879 result.logToStdout_ = logToStdout_;
15880 to_bitField1_ |= 0x00200000;
15882 if (((from_bitField1_ & 0x00800000) != 0)) {
15883 result.logToResponse_ = logToResponse_;
15884 to_bitField1_ |= 0x00400000;
15886 if (((from_bitField1_ & 0x01000000) != 0)) {
15887 result.usePbResolution_ = usePbResolution_;
15888 to_bitField1_ |= 0x00800000;
15890 if (((from_bitField1_ & 0x02000000) != 0)) {
15891 result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
15892 to_bitField1_ |= 0x01000000;
15894 if (((from_bitField1_ & 0x04000000) != 0)) {
15895 result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
15896 to_bitField1_ |= 0x02000000;
15898 if (((from_bitField1_ & 0x08000000) != 0)) {
15899 result.presolveBveThreshold_ = presolveBveThreshold_;
15900 to_bitField1_ |= 0x04000000;
15902 if (((from_bitField1_ & 0x10000000) != 0)) {
15903 result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
15904 to_bitField1_ |= 0x08000000;
15906 if (((from_bitField1_ & 0x20000000) != 0)) {
15907 result.probingDeterministicTimeLimit_ = probingDeterministicTimeLimit_;
15908 to_bitField1_ |= 0x10000000;
15910 if (((from_bitField1_ & 0x40000000) != 0)) {
15911 result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
15912 to_bitField1_ |= 0x20000000;
15914 if (((from_bitField1_ & 0x80000000) != 0)) {
15915 result.presolveBlockedClause_ = presolveBlockedClause_;
15916 to_bitField1_ |= 0x40000000;
15918 result.bitField0_ |= to_bitField0_;
15919 result.bitField1_ |= to_bitField1_;
15922 private void buildPartial2(com.google.ortools.sat.SatParameters result) {
15923 int from_bitField2_ = bitField2_;
15924 int to_bitField1_ = 0;
15925 if (((from_bitField2_ & 0x00000001) != 0)) {
15926 result.presolveUseBva_ = presolveUseBva_;
15927 to_bitField1_ |= 0x80000000;
15929 int to_bitField2_ = 0;
15930 if (((from_bitField2_ & 0x00000002) != 0)) {
15931 result.presolveBvaThreshold_ = presolveBvaThreshold_;
15932 to_bitField2_ |= 0x00000001;
15934 if (((from_bitField2_ & 0x00000004) != 0)) {
15935 result.maxPresolveIterations_ = maxPresolveIterations_;
15936 to_bitField2_ |= 0x00000002;
15938 if (((from_bitField2_ & 0x00000008) != 0)) {
15939 result.cpModelPresolve_ = cpModelPresolve_;
15940 to_bitField2_ |= 0x00000004;
15942 if (((from_bitField2_ & 0x00000010) != 0)) {
15943 result.cpModelProbingLevel_ = cpModelProbingLevel_;
15944 to_bitField2_ |= 0x00000008;
15946 if (((from_bitField2_ & 0x00000020) != 0)) {
15947 result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
15948 to_bitField2_ |= 0x00000010;
15950 if (((from_bitField2_ & 0x00000040) != 0)) {
15951 result.removeFixedVariablesEarly_ = removeFixedVariablesEarly_;
15952 to_bitField2_ |= 0x00000020;
15954 if (((from_bitField2_ & 0x00000080) != 0)) {
15955 result.detectTableWithCost_ = detectTableWithCost_;
15956 to_bitField2_ |= 0x00000040;
15958 if (((from_bitField2_ & 0x00000100) != 0)) {
15959 result.tableCompressionLevel_ = tableCompressionLevel_;
15960 to_bitField2_ |= 0x00000080;
15962 if (((from_bitField2_ & 0x00000200) != 0)) {
15963 result.expandAlldiffConstraints_ = expandAlldiffConstraints_;
15964 to_bitField2_ |= 0x00000100;
15966 if (((from_bitField2_ & 0x00000400) != 0)) {
15967 result.expandReservoirConstraints_ = expandReservoirConstraints_;
15968 to_bitField2_ |= 0x00000200;
15970 if (((from_bitField2_ & 0x00000800) != 0)) {
15971 result.expandReservoirUsingCircuit_ = expandReservoirUsingCircuit_;
15972 to_bitField2_ |= 0x00000400;
15974 if (((from_bitField2_ & 0x00001000) != 0)) {
15975 result.encodeCumulativeAsReservoir_ = encodeCumulativeAsReservoir_;
15976 to_bitField2_ |= 0x00000800;
15978 if (((from_bitField2_ & 0x00002000) != 0)) {
15979 result.maxLinMaxSizeForExpansion_ = maxLinMaxSizeForExpansion_;
15980 to_bitField2_ |= 0x00001000;
15982 if (((from_bitField2_ & 0x00004000) != 0)) {
15983 result.disableConstraintExpansion_ = disableConstraintExpansion_;
15984 to_bitField2_ |= 0x00002000;
15986 if (((from_bitField2_ & 0x00008000) != 0)) {
15987 result.encodeComplexLinearConstraintWithInteger_ = encodeComplexLinearConstraintWithInteger_;
15988 to_bitField2_ |= 0x00004000;
15990 if (((from_bitField2_ & 0x00010000) != 0)) {
15991 result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
15992 to_bitField2_ |= 0x00008000;
15994 if (((from_bitField2_ & 0x00020000) != 0)) {
15995 result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
15996 to_bitField2_ |= 0x00010000;
15998 if (((from_bitField2_ & 0x00040000) != 0)) {
15999 result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
16000 to_bitField2_ |= 0x00020000;
16002 if (((from_bitField2_ & 0x00080000) != 0)) {
16003 result.presolveExtractIntegerEnforcement_ = presolveExtractIntegerEnforcement_;
16004 to_bitField2_ |= 0x00040000;
16006 if (((from_bitField2_ & 0x00100000) != 0)) {
16007 result.presolveInclusionWorkLimit_ = presolveInclusionWorkLimit_;
16008 to_bitField2_ |= 0x00080000;
16010 if (((from_bitField2_ & 0x00200000) != 0)) {
16011 result.ignoreNames_ = ignoreNames_;
16012 to_bitField2_ |= 0x00100000;
16014 if (((from_bitField2_ & 0x00400000) != 0)) {
16015 result.inferAllDiffs_ = inferAllDiffs_;
16016 to_bitField2_ |= 0x00200000;
16018 if (((from_bitField2_ & 0x00800000) != 0)) {
16019 result.findBigLinearOverlap_ = findBigLinearOverlap_;
16020 to_bitField2_ |= 0x00400000;
16022 if (((from_bitField2_ & 0x01000000) != 0)) {
16023 result.useSatInprocessing_ = useSatInprocessing_;
16024 to_bitField2_ |= 0x00800000;
16026 if (((from_bitField2_ & 0x02000000) != 0)) {
16027 result.inprocessingDtimeRatio_ = inprocessingDtimeRatio_;
16028 to_bitField2_ |= 0x01000000;
16030 if (((from_bitField2_ & 0x04000000) != 0)) {
16031 result.inprocessingProbingDtime_ = inprocessingProbingDtime_;
16032 to_bitField2_ |= 0x02000000;
16034 if (((from_bitField2_ & 0x08000000) != 0)) {
16035 result.inprocessingMinimizationDtime_ = inprocessingMinimizationDtime_;
16036 to_bitField2_ |= 0x04000000;
16038 if (((from_bitField2_ & 0x10000000) != 0)) {
16039 result.inprocessingMinimizationUseConflictAnalysis_ = inprocessingMinimizationUseConflictAnalysis_;
16040 to_bitField2_ |= 0x08000000;
16042 if (((from_bitField2_ & 0x20000000) != 0)) {
16043 result.inprocessingMinimizationUseAllOrderings_ = inprocessingMinimizationUseAllOrderings_;
16044 to_bitField2_ |= 0x10000000;
16046 if (((from_bitField2_ & 0x40000000) != 0)) {
16047 result.numWorkers_ = numWorkers_;
16048 to_bitField2_ |= 0x20000000;
16050 if (((from_bitField2_ & 0x80000000) != 0)) {
16051 result.numSearchWorkers_ = numSearchWorkers_;
16052 to_bitField2_ |= 0x40000000;
16054 result.bitField1_ |= to_bitField1_;
16055 result.bitField2_ |= to_bitField2_;
16058 private void buildPartial3(com.google.ortools.sat.SatParameters result) {
16059 int from_bitField3_ = bitField3_;
16060 int to_bitField2_ = 0;
16061 if (((from_bitField3_ & 0x00000001) != 0)) {
16062 result.numFullSubsolvers_ = numFullSubsolvers_;
16063 to_bitField2_ |= 0x80000000;
16065 if (((from_bitField3_ & 0x00000002) != 0)) {
16066 subsolvers_.makeImmutable();
16067 result.subsolvers_ = subsolvers_;
16069 if (((from_bitField3_ & 0x00000004) != 0)) {
16070 extraSubsolvers_.makeImmutable();
16071 result.extraSubsolvers_ = extraSubsolvers_;
16073 if (((from_bitField3_ & 0x00000008) != 0)) {
16074 ignoreSubsolvers_.makeImmutable();
16075 result.ignoreSubsolvers_ = ignoreSubsolvers_;
16077 if (((from_bitField3_ & 0x00000010) != 0)) {
16078 filterSubsolvers_.makeImmutable();
16079 result.filterSubsolvers_ = filterSubsolvers_;
16081 int to_bitField3_ = 0;
16082 if (((from_bitField3_ & 0x00000040) != 0)) {
16083 result.interleaveSearch_ = interleaveSearch_;
16084 to_bitField3_ |= 0x00000001;
16086 if (((from_bitField3_ & 0x00000080) != 0)) {
16087 result.interleaveBatchSize_ = interleaveBatchSize_;
16088 to_bitField3_ |= 0x00000002;
16090 if (((from_bitField3_ & 0x00000100) != 0)) {
16091 result.shareObjectiveBounds_ = shareObjectiveBounds_;
16092 to_bitField3_ |= 0x00000004;
16094 if (((from_bitField3_ & 0x00000200) != 0)) {
16095 result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
16096 to_bitField3_ |= 0x00000008;
16098 if (((from_bitField3_ & 0x00000400) != 0)) {
16099 result.shareBinaryClauses_ = shareBinaryClauses_;
16100 to_bitField3_ |= 0x00000010;
16102 if (((from_bitField3_ & 0x00000800) != 0)) {
16103 result.shareGlueClauses_ = shareGlueClauses_;
16104 to_bitField3_ |= 0x00000020;
16106 if (((from_bitField3_ & 0x00001000) != 0)) {
16107 result.minimizeSharedClauses_ = minimizeSharedClauses_;
16108 to_bitField3_ |= 0x00000040;
16110 if (((from_bitField3_ & 0x00002000) != 0)) {
16111 result.debugPostsolveWithFullSolver_ = debugPostsolveWithFullSolver_;
16112 to_bitField3_ |= 0x00000080;
16114 if (((from_bitField3_ & 0x00004000) != 0)) {
16115 result.debugMaxNumPresolveOperations_ = debugMaxNumPresolveOperations_;
16116 to_bitField3_ |= 0x00000100;
16118 if (((from_bitField3_ & 0x00008000) != 0)) {
16119 result.debugCrashOnBadHint_ = debugCrashOnBadHint_;
16120 to_bitField3_ |= 0x00000200;
16122 if (((from_bitField3_ & 0x00010000) != 0)) {
16123 result.debugCrashIfPresolveBreaksHint_ = debugCrashIfPresolveBreaksHint_;
16124 to_bitField3_ |= 0x00000400;
16126 if (((from_bitField3_ & 0x00020000) != 0)) {
16127 result.useOptimizationHints_ = useOptimizationHints_;
16128 to_bitField3_ |= 0x00000800;
16130 if (((from_bitField3_ & 0x00040000) != 0)) {
16131 result.coreMinimizationLevel_ = coreMinimizationLevel_;
16132 to_bitField3_ |= 0x00001000;
16134 if (((from_bitField3_ & 0x00080000) != 0)) {
16135 result.findMultipleCores_ = findMultipleCores_;
16136 to_bitField3_ |= 0x00002000;
16138 if (((from_bitField3_ & 0x00100000) != 0)) {
16139 result.coverOptimization_ = coverOptimization_;
16140 to_bitField3_ |= 0x00004000;
16142 if (((from_bitField3_ & 0x00200000) != 0)) {
16143 result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
16144 to_bitField3_ |= 0x00008000;
16146 if (((from_bitField3_ & 0x00400000) != 0)) {
16147 result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
16148 to_bitField3_ |= 0x00010000;
16150 if (((from_bitField3_ & 0x00800000) != 0)) {
16151 result.maxSatStratification_ = maxSatStratification_;
16152 to_bitField3_ |= 0x00020000;
16154 if (((from_bitField3_ & 0x01000000) != 0)) {
16155 result.propagationLoopDetectionFactor_ = propagationLoopDetectionFactor_;
16156 to_bitField3_ |= 0x00040000;
16158 if (((from_bitField3_ & 0x02000000) != 0)) {
16159 result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
16160 to_bitField3_ |= 0x00080000;
16162 if (((from_bitField3_ & 0x04000000) != 0)) {
16163 result.maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = maxSizeToCreatePrecedenceLiteralsInDisjunctive_;
16164 to_bitField3_ |= 0x00100000;
16166 if (((from_bitField3_ & 0x08000000) != 0)) {
16167 result.useStrongPropagationInDisjunctive_ = useStrongPropagationInDisjunctive_;
16168 to_bitField3_ |= 0x00200000;
16170 if (((from_bitField3_ & 0x10000000) != 0)) {
16171 result.useDynamicPrecedenceInDisjunctive_ = useDynamicPrecedenceInDisjunctive_;
16172 to_bitField3_ |= 0x00400000;
16174 if (((from_bitField3_ & 0x20000000) != 0)) {
16175 result.useDynamicPrecedenceInCumulative_ = useDynamicPrecedenceInCumulative_;
16176 to_bitField3_ |= 0x00800000;
16178 if (((from_bitField3_ & 0x40000000) != 0)) {
16179 result.useOverloadCheckerInCumulative_ = useOverloadCheckerInCumulative_;
16180 to_bitField3_ |= 0x01000000;
16182 if (((from_bitField3_ & 0x80000000) != 0)) {
16183 result.useConservativeScaleOverloadChecker_ = useConservativeScaleOverloadChecker_;
16184 to_bitField3_ |= 0x02000000;
16186 result.bitField2_ |= to_bitField2_;
16187 result.bitField3_ |= to_bitField3_;
16190 private void buildPartial4(com.google.ortools.sat.SatParameters result) {
16191 int from_bitField4_ = bitField4_;
16192 int to_bitField3_ = 0;
16193 if (((from_bitField4_ & 0x00000001) != 0)) {
16194 result.useTimetableEdgeFindingInCumulative_ = useTimetableEdgeFindingInCumulative_;
16195 to_bitField3_ |= 0x04000000;
16197 if (((from_bitField4_ & 0x00000002) != 0)) {
16198 result.maxNumIntervalsForTimetableEdgeFinding_ = maxNumIntervalsForTimetableEdgeFinding_;
16199 to_bitField3_ |= 0x08000000;
16201 if (((from_bitField4_ & 0x00000004) != 0)) {
16202 result.useHardPrecedencesInCumulative_ = useHardPrecedencesInCumulative_;
16203 to_bitField3_ |= 0x10000000;
16205 if (((from_bitField4_ & 0x00000008) != 0)) {
16206 result.exploitAllPrecedences_ = exploitAllPrecedences_;
16207 to_bitField3_ |= 0x20000000;
16209 if (((from_bitField4_ & 0x00000010) != 0)) {
16210 result.useDisjunctiveConstraintInCumulative_ = useDisjunctiveConstraintInCumulative_;
16211 to_bitField3_ |= 0x40000000;
16213 if (((from_bitField4_ & 0x00000020) != 0)) {
16214 result.useTimetablingInNoOverlap2D_ = useTimetablingInNoOverlap2D_;
16215 to_bitField3_ |= 0x80000000;
16217 int to_bitField4_ = 0;
16218 if (((from_bitField4_ & 0x00000040) != 0)) {
16219 result.useEnergeticReasoningInNoOverlap2D_ = useEnergeticReasoningInNoOverlap2D_;
16220 to_bitField4_ |= 0x00000001;
16222 if (((from_bitField4_ & 0x00000080) != 0)) {
16223 result.useAreaEnergeticReasoningInNoOverlap2D_ = useAreaEnergeticReasoningInNoOverlap2D_;
16224 to_bitField4_ |= 0x00000002;
16226 if (((from_bitField4_ & 0x00000100) != 0)) {
16227 result.useTryEdgeReasoningInNoOverlap2D_ = useTryEdgeReasoningInNoOverlap2D_;
16228 to_bitField4_ |= 0x00000004;
16230 if (((from_bitField4_ & 0x00000200) != 0)) {
16231 result.maxPairsPairwiseReasoningInNoOverlap2D_ = maxPairsPairwiseReasoningInNoOverlap2D_;
16232 to_bitField4_ |= 0x00000008;
16234 if (((from_bitField4_ & 0x00000400) != 0)) {
16235 result.maximumRegionsToSplitInDisconnectedNoOverlap2D_ = maximumRegionsToSplitInDisconnectedNoOverlap2D_;
16236 to_bitField4_ |= 0x00000010;
16238 if (((from_bitField4_ & 0x00000800) != 0)) {
16239 result.useDualSchedulingHeuristics_ = useDualSchedulingHeuristics_;
16240 to_bitField4_ |= 0x00000020;
16242 if (((from_bitField4_ & 0x00001000) != 0)) {
16243 result.useAllDifferentForCircuit_ = useAllDifferentForCircuit_;
16244 to_bitField4_ |= 0x00000040;
16246 if (((from_bitField4_ & 0x00002000) != 0)) {
16247 result.routingCutSubsetSizeForBinaryRelationBound_ = routingCutSubsetSizeForBinaryRelationBound_;
16248 to_bitField4_ |= 0x00000080;
16250 if (((from_bitField4_ & 0x00004000) != 0)) {
16251 result.routingCutSubsetSizeForTightBinaryRelationBound_ = routingCutSubsetSizeForTightBinaryRelationBound_;
16252 to_bitField4_ |= 0x00000100;
16254 if (((from_bitField4_ & 0x00008000) != 0)) {
16255 result.routingCutDpEffort_ = routingCutDpEffort_;
16256 to_bitField4_ |= 0x00000200;
16258 if (((from_bitField4_ & 0x00010000) != 0)) {
16259 result.searchBranching_ = searchBranching_;
16260 to_bitField4_ |= 0x00000400;
16262 if (((from_bitField4_ & 0x00020000) != 0)) {
16263 result.hintConflictLimit_ = hintConflictLimit_;
16264 to_bitField4_ |= 0x00000800;
16266 if (((from_bitField4_ & 0x00040000) != 0)) {
16267 result.repairHint_ = repairHint_;
16268 to_bitField4_ |= 0x00001000;
16270 if (((from_bitField4_ & 0x00080000) != 0)) {
16271 result.fixVariablesToTheirHintedValue_ = fixVariablesToTheirHintedValue_;
16272 to_bitField4_ |= 0x00002000;
16274 if (((from_bitField4_ & 0x00100000) != 0)) {
16275 result.useProbingSearch_ = useProbingSearch_;
16276 to_bitField4_ |= 0x00004000;
16278 if (((from_bitField4_ & 0x00200000) != 0)) {
16279 result.useExtendedProbing_ = useExtendedProbing_;
16280 to_bitField4_ |= 0x00008000;
16282 if (((from_bitField4_ & 0x00400000) != 0)) {
16283 result.probingNumCombinationsLimit_ = probingNumCombinationsLimit_;
16284 to_bitField4_ |= 0x00010000;
16286 if (((from_bitField4_ & 0x00800000) != 0)) {
16287 result.useShavingInProbingSearch_ = useShavingInProbingSearch_;
16288 to_bitField4_ |= 0x00020000;
16290 if (((from_bitField4_ & 0x01000000) != 0)) {
16291 result.shavingSearchDeterministicTime_ = shavingSearchDeterministicTime_;
16292 to_bitField4_ |= 0x00040000;
16294 if (((from_bitField4_ & 0x02000000) != 0)) {
16295 result.shavingSearchThreshold_ = shavingSearchThreshold_;
16296 to_bitField4_ |= 0x00080000;
16298 if (((from_bitField4_ & 0x04000000) != 0)) {
16299 result.useObjectiveLbSearch_ = useObjectiveLbSearch_;
16300 to_bitField4_ |= 0x00100000;
16302 if (((from_bitField4_ & 0x08000000) != 0)) {
16303 result.useObjectiveShavingSearch_ = useObjectiveShavingSearch_;
16304 to_bitField4_ |= 0x00200000;
16306 if (((from_bitField4_ & 0x10000000) != 0)) {
16307 result.useVariablesShavingSearch_ = useVariablesShavingSearch_;
16308 to_bitField4_ |= 0x00400000;
16310 if (((from_bitField4_ & 0x20000000) != 0)) {
16311 result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
16312 to_bitField4_ |= 0x00800000;
16314 if (((from_bitField4_ & 0x40000000) != 0)) {
16315 result.optimizeWithCore_ = optimizeWithCore_;
16316 to_bitField4_ |= 0x01000000;
16318 if (((from_bitField4_ & 0x80000000) != 0)) {
16319 result.optimizeWithLbTreeSearch_ = optimizeWithLbTreeSearch_;
16320 to_bitField4_ |= 0x02000000;
16322 result.bitField3_ |= to_bitField3_;
16323 result.bitField4_ |= to_bitField4_;
16326 private void buildPartial5(com.google.ortools.sat.SatParameters result) {
16327 int from_bitField5_ = bitField5_;
16328 int to_bitField4_ = 0;
16329 if (((from_bitField5_ & 0x00000001) != 0)) {
16330 result.saveLpBasisInLbTreeSearch_ = saveLpBasisInLbTreeSearch_;
16331 to_bitField4_ |= 0x04000000;
16333 if (((from_bitField5_ & 0x00000002) != 0)) {
16334 result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
16335 to_bitField4_ |= 0x08000000;
16337 if (((from_bitField5_ & 0x00000004) != 0)) {
16338 result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
16339 to_bitField4_ |= 0x10000000;
16341 if (((from_bitField5_ & 0x00000008) != 0)) {
16342 result.useFeasibilityJump_ = useFeasibilityJump_;
16343 to_bitField4_ |= 0x20000000;
16345 if (((from_bitField5_ & 0x00000010) != 0)) {
16346 result.useLsOnly_ = useLsOnly_;
16347 to_bitField4_ |= 0x40000000;
16349 if (((from_bitField5_ & 0x00000020) != 0)) {
16350 result.feasibilityJumpDecay_ = feasibilityJumpDecay_;
16351 to_bitField4_ |= 0x80000000;
16353 int to_bitField5_ = 0;
16354 if (((from_bitField5_ & 0x00000040) != 0)) {
16355 result.feasibilityJumpLinearizationLevel_ = feasibilityJumpLinearizationLevel_;
16356 to_bitField5_ |= 0x00000001;
16358 if (((from_bitField5_ & 0x00000080) != 0)) {
16359 result.feasibilityJumpRestartFactor_ = feasibilityJumpRestartFactor_;
16360 to_bitField5_ |= 0x00000002;
16362 if (((from_bitField5_ & 0x00000100) != 0)) {
16363 result.feasibilityJumpBatchDtime_ = feasibilityJumpBatchDtime_;
16364 to_bitField5_ |= 0x00000004;
16366 if (((from_bitField5_ & 0x00000200) != 0)) {
16367 result.feasibilityJumpVarRandomizationProbability_ = feasibilityJumpVarRandomizationProbability_;
16368 to_bitField5_ |= 0x00000008;
16370 if (((from_bitField5_ & 0x00000400) != 0)) {
16371 result.feasibilityJumpVarPerburbationRangeRatio_ = feasibilityJumpVarPerburbationRangeRatio_;
16372 to_bitField5_ |= 0x00000010;
16374 if (((from_bitField5_ & 0x00000800) != 0)) {
16375 result.feasibilityJumpEnableRestarts_ = feasibilityJumpEnableRestarts_;
16376 to_bitField5_ |= 0x00000020;
16378 if (((from_bitField5_ & 0x00001000) != 0)) {
16379 result.feasibilityJumpMaxExpandedConstraintSize_ = feasibilityJumpMaxExpandedConstraintSize_;
16380 to_bitField5_ |= 0x00000040;
16382 if (((from_bitField5_ & 0x00002000) != 0)) {
16383 result.numViolationLs_ = numViolationLs_;
16384 to_bitField5_ |= 0x00000080;
16386 if (((from_bitField5_ & 0x00004000) != 0)) {
16387 result.violationLsPerturbationPeriod_ = violationLsPerturbationPeriod_;
16388 to_bitField5_ |= 0x00000100;
16390 if (((from_bitField5_ & 0x00008000) != 0)) {
16391 result.violationLsCompoundMoveProbability_ = violationLsCompoundMoveProbability_;
16392 to_bitField5_ |= 0x00000200;
16394 if (((from_bitField5_ & 0x00010000) != 0)) {
16395 result.sharedTreeNumWorkers_ = sharedTreeNumWorkers_;
16396 to_bitField5_ |= 0x00000400;
16398 if (((from_bitField5_ & 0x00020000) != 0)) {
16399 result.useSharedTreeSearch_ = useSharedTreeSearch_;
16400 to_bitField5_ |= 0x00000800;
16402 if (((from_bitField5_ & 0x00040000) != 0)) {
16403 result.sharedTreeWorkerMinRestartsPerSubtree_ = sharedTreeWorkerMinRestartsPerSubtree_;
16404 to_bitField5_ |= 0x00001000;
16406 if (((from_bitField5_ & 0x00080000) != 0)) {
16407 result.sharedTreeWorkerEnableTrailSharing_ = sharedTreeWorkerEnableTrailSharing_;
16408 to_bitField5_ |= 0x00002000;
16410 if (((from_bitField5_ & 0x00100000) != 0)) {
16411 result.sharedTreeWorkerEnablePhaseSharing_ = sharedTreeWorkerEnablePhaseSharing_;
16412 to_bitField5_ |= 0x00004000;
16414 if (((from_bitField5_ & 0x00200000) != 0)) {
16415 result.sharedTreeOpenLeavesPerWorker_ = sharedTreeOpenLeavesPerWorker_;
16416 to_bitField5_ |= 0x00008000;
16418 if (((from_bitField5_ & 0x00400000) != 0)) {
16419 result.sharedTreeMaxNodesPerWorker_ = sharedTreeMaxNodesPerWorker_;
16420 to_bitField5_ |= 0x00010000;
16422 if (((from_bitField5_ & 0x00800000) != 0)) {
16423 result.sharedTreeSplitStrategy_ = sharedTreeSplitStrategy_;
16424 to_bitField5_ |= 0x00020000;
16426 if (((from_bitField5_ & 0x01000000) != 0)) {
16427 result.sharedTreeBalanceTolerance_ = sharedTreeBalanceTolerance_;
16428 to_bitField5_ |= 0x00040000;
16430 if (((from_bitField5_ & 0x02000000) != 0)) {
16431 result.enumerateAllSolutions_ = enumerateAllSolutions_;
16432 to_bitField5_ |= 0x00080000;
16434 if (((from_bitField5_ & 0x04000000) != 0)) {
16435 result.keepAllFeasibleSolutionsInPresolve_ = keepAllFeasibleSolutionsInPresolve_;
16436 to_bitField5_ |= 0x00100000;
16438 if (((from_bitField5_ & 0x08000000) != 0)) {
16439 result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
16440 to_bitField5_ |= 0x00200000;
16442 if (((from_bitField5_ & 0x10000000) != 0)) {
16443 result.fillAdditionalSolutionsInResponse_ = fillAdditionalSolutionsInResponse_;
16444 to_bitField5_ |= 0x00400000;
16446 if (((from_bitField5_ & 0x20000000) != 0)) {
16447 result.instantiateAllVariables_ = instantiateAllVariables_;
16448 to_bitField5_ |= 0x00800000;
16450 if (((from_bitField5_ & 0x40000000) != 0)) {
16451 result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
16452 to_bitField5_ |= 0x01000000;
16454 if (((from_bitField5_ & 0x80000000) != 0)) {
16455 result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
16456 to_bitField5_ |= 0x02000000;
16458 result.bitField4_ |= to_bitField4_;
16459 result.bitField5_ |= to_bitField5_;
16462 private void buildPartial6(com.google.ortools.sat.SatParameters result) {
16463 int from_bitField6_ = bitField6_;
16464 int to_bitField5_ = 0;
16465 if (((from_bitField6_ & 0x00000001) != 0)) {
16466 result.stopAfterPresolve_ = stopAfterPresolve_;
16467 to_bitField5_ |= 0x04000000;
16469 if (((from_bitField6_ & 0x00000002) != 0)) {
16470 result.stopAfterRootPropagation_ = stopAfterRootPropagation_;
16471 to_bitField5_ |= 0x08000000;
16473 if (((from_bitField6_ & 0x00000004) != 0)) {
16474 result.lnsInitialDifficulty_ = lnsInitialDifficulty_;
16475 to_bitField5_ |= 0x10000000;
16477 if (((from_bitField6_ & 0x00000008) != 0)) {
16478 result.lnsInitialDeterministicLimit_ = lnsInitialDeterministicLimit_;
16479 to_bitField5_ |= 0x20000000;
16481 if (((from_bitField6_ & 0x00000010) != 0)) {
16482 result.useLns_ = useLns_;
16483 to_bitField5_ |= 0x40000000;
16485 if (((from_bitField6_ & 0x00000020) != 0)) {
16486 result.useLnsOnly_ = useLnsOnly_;
16487 to_bitField5_ |= 0x80000000;
16489 int to_bitField6_ = 0;
16490 if (((from_bitField6_ & 0x00000040) != 0)) {
16491 result.solutionPoolSize_ = solutionPoolSize_;
16492 to_bitField6_ |= 0x00000001;
16494 if (((from_bitField6_ & 0x00000080) != 0)) {
16495 result.useRinsLns_ = useRinsLns_;
16496 to_bitField6_ |= 0x00000002;
16498 if (((from_bitField6_ & 0x00000100) != 0)) {
16499 result.useFeasibilityPump_ = useFeasibilityPump_;
16500 to_bitField6_ |= 0x00000004;
16502 if (((from_bitField6_ & 0x00000200) != 0)) {
16503 result.useLbRelaxLns_ = useLbRelaxLns_;
16504 to_bitField6_ |= 0x00000008;
16506 if (((from_bitField6_ & 0x00000400) != 0)) {
16507 result.lbRelaxNumWorkersThreshold_ = lbRelaxNumWorkersThreshold_;
16508 to_bitField6_ |= 0x00000010;
16510 if (((from_bitField6_ & 0x00000800) != 0)) {
16511 result.fpRounding_ = fpRounding_;
16512 to_bitField6_ |= 0x00000020;
16514 if (((from_bitField6_ & 0x00001000) != 0)) {
16515 result.diversifyLnsParams_ = diversifyLnsParams_;
16516 to_bitField6_ |= 0x00000040;
16518 if (((from_bitField6_ & 0x00002000) != 0)) {
16519 result.randomizeSearch_ = randomizeSearch_;
16520 to_bitField6_ |= 0x00000080;
16522 if (((from_bitField6_ & 0x00004000) != 0)) {
16523 result.searchRandomVariablePoolSize_ = searchRandomVariablePoolSize_;
16524 to_bitField6_ |= 0x00000100;
16526 if (((from_bitField6_ & 0x00008000) != 0)) {
16527 result.pushAllTasksTowardStart_ = pushAllTasksTowardStart_;
16528 to_bitField6_ |= 0x00000200;
16530 if (((from_bitField6_ & 0x00010000) != 0)) {
16531 result.useOptionalVariables_ = useOptionalVariables_;
16532 to_bitField6_ |= 0x00000400;
16534 if (((from_bitField6_ & 0x00020000) != 0)) {
16535 result.useExactLpReason_ = useExactLpReason_;
16536 to_bitField6_ |= 0x00000800;
16538 if (((from_bitField6_ & 0x00040000) != 0)) {
16539 result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
16540 to_bitField6_ |= 0x00001000;
16542 if (((from_bitField6_ & 0x00080000) != 0)) {
16543 result.atMostOneMaxExpansionSize_ = atMostOneMaxExpansionSize_;
16544 to_bitField6_ |= 0x00002000;
16546 if (((from_bitField6_ & 0x00100000) != 0)) {
16547 result.catchSigintSignal_ = catchSigintSignal_;
16548 to_bitField6_ |= 0x00004000;
16550 if (((from_bitField6_ & 0x00200000) != 0)) {
16551 result.useImpliedBounds_ = useImpliedBounds_;
16552 to_bitField6_ |= 0x00008000;
16554 if (((from_bitField6_ & 0x00400000) != 0)) {
16555 result.polishLpSolution_ = polishLpSolution_;
16556 to_bitField6_ |= 0x00010000;
16558 if (((from_bitField6_ & 0x00800000) != 0)) {
16559 result.lpPrimalTolerance_ = lpPrimalTolerance_;
16560 to_bitField6_ |= 0x00020000;
16562 if (((from_bitField6_ & 0x01000000) != 0)) {
16563 result.lpDualTolerance_ = lpDualTolerance_;
16564 to_bitField6_ |= 0x00040000;
16566 if (((from_bitField6_ & 0x02000000) != 0)) {
16567 result.convertIntervals_ = convertIntervals_;
16568 to_bitField6_ |= 0x00080000;
16570 if (((from_bitField6_ & 0x04000000) != 0)) {
16571 result.symmetryLevel_ = symmetryLevel_;
16572 to_bitField6_ |= 0x00100000;
16574 if (((from_bitField6_ & 0x08000000) != 0)) {
16575 result.useSymmetryInLp_ = useSymmetryInLp_;
16576 to_bitField6_ |= 0x00200000;
16578 if (((from_bitField6_ & 0x10000000) != 0)) {
16579 result.keepSymmetryInPresolve_ = keepSymmetryInPresolve_;
16580 to_bitField6_ |= 0x00400000;
16582 if (((from_bitField6_ & 0x20000000) != 0)) {
16583 result.symmetryDetectionDeterministicTimeLimit_ = symmetryDetectionDeterministicTimeLimit_;
16584 to_bitField6_ |= 0x00800000;
16586 if (((from_bitField6_ & 0x40000000) != 0)) {
16587 result.newLinearPropagation_ = newLinearPropagation_;
16588 to_bitField6_ |= 0x01000000;
16590 if (((from_bitField6_ & 0x80000000) != 0)) {
16591 result.linearSplitSize_ = linearSplitSize_;
16592 to_bitField6_ |= 0x02000000;
16594 result.bitField5_ |= to_bitField5_;
16595 result.bitField6_ |= to_bitField6_;
16598 private void buildPartial7(com.google.ortools.sat.SatParameters result) {
16599 int from_bitField7_ = bitField7_;
16600 int to_bitField6_ = 0;
16601 if (((from_bitField7_ & 0x00000001) != 0)) {
16602 result.linearizationLevel_ = linearizationLevel_;
16603 to_bitField6_ |= 0x04000000;
16605 if (((from_bitField7_ & 0x00000002) != 0)) {
16606 result.booleanEncodingLevel_ = booleanEncodingLevel_;
16607 to_bitField6_ |= 0x08000000;
16609 if (((from_bitField7_ & 0x00000004) != 0)) {
16610 result.maxDomainSizeWhenEncodingEqNeqConstraints_ = maxDomainSizeWhenEncodingEqNeqConstraints_;
16611 to_bitField6_ |= 0x10000000;
16613 if (((from_bitField7_ & 0x00000008) != 0)) {
16614 result.maxNumCuts_ = maxNumCuts_;
16615 to_bitField6_ |= 0x20000000;
16617 if (((from_bitField7_ & 0x00000010) != 0)) {
16618 result.cutLevel_ = cutLevel_;
16619 to_bitField6_ |= 0x40000000;
16621 if (((from_bitField7_ & 0x00000020) != 0)) {
16622 result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
16623 to_bitField6_ |= 0x80000000;
16625 int to_bitField7_ = 0;
16626 if (((from_bitField7_ & 0x00000040) != 0)) {
16627 result.addObjectiveCut_ = addObjectiveCut_;
16628 to_bitField7_ |= 0x00000001;
16630 if (((from_bitField7_ & 0x00000080) != 0)) {
16631 result.addCgCuts_ = addCgCuts_;
16632 to_bitField7_ |= 0x00000002;
16634 if (((from_bitField7_ & 0x00000100) != 0)) {
16635 result.addMirCuts_ = addMirCuts_;
16636 to_bitField7_ |= 0x00000004;
16638 if (((from_bitField7_ & 0x00000200) != 0)) {
16639 result.addZeroHalfCuts_ = addZeroHalfCuts_;
16640 to_bitField7_ |= 0x00000008;
16642 if (((from_bitField7_ & 0x00000400) != 0)) {
16643 result.addCliqueCuts_ = addCliqueCuts_;
16644 to_bitField7_ |= 0x00000010;
16646 if (((from_bitField7_ & 0x00000800) != 0)) {
16647 result.addRltCuts_ = addRltCuts_;
16648 to_bitField7_ |= 0x00000020;
16650 if (((from_bitField7_ & 0x00001000) != 0)) {
16651 result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
16652 to_bitField7_ |= 0x00000040;
16654 if (((from_bitField7_ & 0x00002000) != 0)) {
16655 result.addLinMaxCuts_ = addLinMaxCuts_;
16656 to_bitField7_ |= 0x00000080;
16658 if (((from_bitField7_ & 0x00004000) != 0)) {
16659 result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
16660 to_bitField7_ |= 0x00000100;
16662 if (((from_bitField7_ & 0x00008000) != 0)) {
16663 result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
16664 to_bitField7_ |= 0x00000200;
16666 if (((from_bitField7_ & 0x00010000) != 0)) {
16667 result.rootLpIterations_ = rootLpIterations_;
16668 to_bitField7_ |= 0x00000400;
16670 if (((from_bitField7_ & 0x00020000) != 0)) {
16671 result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
16672 to_bitField7_ |= 0x00000800;
16674 if (((from_bitField7_ & 0x00040000) != 0)) {
16675 result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
16676 to_bitField7_ |= 0x00001000;
16678 if (((from_bitField7_ & 0x00080000) != 0)) {
16679 result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
16680 to_bitField7_ |= 0x00002000;
16682 if (((from_bitField7_ & 0x00100000) != 0)) {
16683 result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
16684 to_bitField7_ |= 0x00004000;
16686 if (((from_bitField7_ & 0x00200000) != 0)) {
16687 result.cutActiveCountDecay_ = cutActiveCountDecay_;
16688 to_bitField7_ |= 0x00008000;
16690 if (((from_bitField7_ & 0x00400000) != 0)) {
16691 result.cutCleanupTarget_ = cutCleanupTarget_;
16692 to_bitField7_ |= 0x00010000;
16694 if (((from_bitField7_ & 0x00800000) != 0)) {
16695 result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
16696 to_bitField7_ |= 0x00020000;
16698 if (((from_bitField7_ & 0x01000000) != 0)) {
16699 result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
16700 to_bitField7_ |= 0x00040000;
16702 if (((from_bitField7_ & 0x02000000) != 0)) {
16703 result.exploitAllLpSolution_ = exploitAllLpSolution_;
16704 to_bitField7_ |= 0x00080000;
16706 if (((from_bitField7_ & 0x04000000) != 0)) {
16707 result.exploitBestSolution_ = exploitBestSolution_;
16708 to_bitField7_ |= 0x00100000;
16710 if (((from_bitField7_ & 0x08000000) != 0)) {
16711 result.exploitRelaxationSolution_ = exploitRelaxationSolution_;
16712 to_bitField7_ |= 0x00200000;
16714 if (((from_bitField7_ & 0x10000000) != 0)) {
16715 result.exploitObjective_ = exploitObjective_;
16716 to_bitField7_ |= 0x00400000;
16718 if (((from_bitField7_ & 0x20000000) != 0)) {
16719 result.detectLinearizedProduct_ = detectLinearizedProduct_;
16720 to_bitField7_ |= 0x00800000;
16722 if (((from_bitField7_ & 0x40000000) != 0)) {
16723 result.mipMaxBound_ = mipMaxBound_;
16724 to_bitField7_ |= 0x01000000;
16726 if (((from_bitField7_ & 0x80000000) != 0)) {
16727 result.mipVarScaling_ = mipVarScaling_;
16728 to_bitField7_ |= 0x02000000;
16730 result.bitField6_ |= to_bitField6_;
16731 result.bitField7_ |= to_bitField7_;
16734 private void buildPartial8(com.google.ortools.sat.SatParameters result) {
16735 int from_bitField8_ = bitField8_;
16736 int to_bitField7_ = 0;
16737 if (((from_bitField8_ & 0x00000001) != 0)) {
16738 result.mipScaleLargeDomain_ = mipScaleLargeDomain_;
16739 to_bitField7_ |= 0x04000000;
16741 if (((from_bitField8_ & 0x00000002) != 0)) {
16742 result.mipAutomaticallyScaleVariables_ = mipAutomaticallyScaleVariables_;
16743 to_bitField7_ |= 0x08000000;
16745 if (((from_bitField8_ & 0x00000004) != 0)) {
16746 result.onlySolveIp_ = onlySolveIp_;
16747 to_bitField7_ |= 0x10000000;
16749 if (((from_bitField8_ & 0x00000008) != 0)) {
16750 result.mipWantedPrecision_ = mipWantedPrecision_;
16751 to_bitField7_ |= 0x20000000;
16753 if (((from_bitField8_ & 0x00000010) != 0)) {
16754 result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
16755 to_bitField7_ |= 0x40000000;
16757 if (((from_bitField8_ & 0x00000020) != 0)) {
16758 result.mipCheckPrecision_ = mipCheckPrecision_;
16759 to_bitField7_ |= 0x80000000;
16761 int to_bitField8_ = 0;
16762 if (((from_bitField8_ & 0x00000040) != 0)) {
16763 result.mipComputeTrueObjectiveBound_ = mipComputeTrueObjectiveBound_;
16764 to_bitField8_ |= 0x00000001;
16766 if (((from_bitField8_ & 0x00000080) != 0)) {
16767 result.mipMaxValidMagnitude_ = mipMaxValidMagnitude_;
16768 to_bitField8_ |= 0x00000002;
16770 if (((from_bitField8_ & 0x00000100) != 0)) {
16771 result.mipTreatHighMagnitudeBoundsAsInfinity_ = mipTreatHighMagnitudeBoundsAsInfinity_;
16772 to_bitField8_ |= 0x00000004;
16774 if (((from_bitField8_ & 0x00000200) != 0)) {
16775 result.mipDropTolerance_ = mipDropTolerance_;
16776 to_bitField8_ |= 0x00000008;
16778 if (((from_bitField8_ & 0x00000400) != 0)) {
16779 result.mipPresolveLevel_ = mipPresolveLevel_;
16780 to_bitField8_ |= 0x00000010;
16782 result.bitField7_ |= to_bitField7_;
16783 result.bitField8_ |= to_bitField8_;
16786 @java.lang.Override
16788 if (other instanceof com.google.ortools.sat.SatParameters) {
16789 return mergeFrom((com.google.ortools.sat.SatParameters)other);
16791 super.mergeFrom(other);
16796 public Builder
mergeFrom(com.google.ortools.sat.SatParameters other) {
16797 if (other == com.google.ortools.sat.SatParameters.getDefaultInstance())
return this;
16798 if (other.hasName()) {
16799 name_ = other.name_;
16800 bitField0_ |= 0x00000001;
16803 if (other.hasPreferredVariableOrder()) {
16806 if (other.hasInitialPolarity()) {
16809 if (other.hasUsePhaseSaving()) {
16812 if (other.hasPolarityRephaseIncrement()) {
16815 if (other.hasPolarityExploitLsHints()) {
16818 if (other.hasRandomPolarityRatio()) {
16821 if (other.hasRandomBranchesRatio()) {
16824 if (other.hasUseErwaHeuristic()) {
16827 if (other.hasInitialVariablesActivity()) {
16830 if (other.hasAlsoBumpVariablesInConflictReasons()) {
16833 if (other.hasMinimizationAlgorithm()) {
16836 if (other.hasBinaryMinimizationAlgorithm()) {
16839 if (other.hasSubsumptionDuringConflictAnalysis()) {
16842 if (other.hasClauseCleanupPeriod()) {
16845 if (other.hasClauseCleanupTarget()) {
16848 if (other.hasClauseCleanupRatio()) {
16851 if (other.hasClauseCleanupProtection()) {
16854 if (other.hasClauseCleanupLbdBound()) {
16857 if (other.hasClauseCleanupOrdering()) {
16860 if (other.hasPbCleanupIncrement()) {
16863 if (other.hasPbCleanupRatio()) {
16866 if (other.hasVariableActivityDecay()) {
16869 if (other.hasMaxVariableActivityValue()) {
16872 if (other.hasGlucoseMaxDecay()) {
16875 if (other.hasGlucoseDecayIncrement()) {
16878 if (other.hasGlucoseDecayIncrementPeriod()) {
16881 if (other.hasClauseActivityDecay()) {
16884 if (other.hasMaxClauseActivityValue()) {
16887 if (!other.restartAlgorithms_.isEmpty()) {
16888 if (restartAlgorithms_.isEmpty()) {
16889 restartAlgorithms_ = other.restartAlgorithms_;
16890 bitField0_ = (bitField0_ & ~0x20000000);
16892 ensureRestartAlgorithmsIsMutable();
16893 restartAlgorithms_.addAll(other.restartAlgorithms_);
16897 if (other.hasDefaultRestartAlgorithms()) {
16898 defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
16899 bitField0_ |= 0x40000000;
16902 if (other.hasRestartPeriod()) {
16905 if (other.hasRestartRunningWindowSize()) {
16908 if (other.hasRestartDlAverageRatio()) {
16911 if (other.hasRestartLbdAverageRatio()) {
16914 if (other.hasUseBlockingRestart()) {
16917 if (other.hasBlockingRestartWindowSize()) {
16920 if (other.hasBlockingRestartMultiplier()) {
16923 if (other.hasNumConflictsBeforeStrategyChanges()) {
16926 if (other.hasStrategyChangeIncreaseRatio()) {
16929 if (other.hasMaxTimeInSeconds()) {
16932 if (other.hasMaxDeterministicTime()) {
16935 if (other.hasMaxNumDeterministicBatches()) {
16938 if (other.hasMaxNumberOfConflicts()) {
16941 if (other.hasMaxMemoryInMb()) {
16944 if (other.hasAbsoluteGapLimit()) {
16947 if (other.hasRelativeGapLimit()) {
16950 if (other.hasRandomSeed()) {
16953 if (other.hasPermuteVariableRandomly()) {
16956 if (other.hasPermutePresolveConstraintOrder()) {
16959 if (other.hasUseAbslRandom()) {
16962 if (other.hasLogSearchProgress()) {
16965 if (other.hasLogSubsolverStatistics()) {
16968 if (other.hasLogPrefix()) {
16969 logPrefix_ = other.logPrefix_;
16970 bitField1_ |= 0x00200000;
16973 if (other.hasLogToStdout()) {
16976 if (other.hasLogToResponse()) {
16979 if (other.hasUsePbResolution()) {
16982 if (other.hasMinimizeReductionDuringPbResolution()) {
16985 if (other.hasCountAssumptionLevelsInLbd()) {
16988 if (other.hasPresolveBveThreshold()) {
16991 if (other.hasPresolveBveClauseWeight()) {
16994 if (other.hasProbingDeterministicTimeLimit()) {
16997 if (other.hasPresolveProbingDeterministicTimeLimit()) {
17000 if (other.hasPresolveBlockedClause()) {
17003 if (other.hasPresolveUseBva()) {
17006 if (other.hasPresolveBvaThreshold()) {
17009 if (other.hasMaxPresolveIterations()) {
17012 if (other.hasCpModelPresolve()) {
17015 if (other.hasCpModelProbingLevel()) {
17018 if (other.hasCpModelUseSatPresolve()) {
17021 if (other.hasRemoveFixedVariablesEarly()) {
17024 if (other.hasDetectTableWithCost()) {
17027 if (other.hasTableCompressionLevel()) {
17030 if (other.hasExpandAlldiffConstraints()) {
17033 if (other.hasExpandReservoirConstraints()) {
17036 if (other.hasExpandReservoirUsingCircuit()) {
17039 if (other.hasEncodeCumulativeAsReservoir()) {
17042 if (other.hasMaxLinMaxSizeForExpansion()) {
17045 if (other.hasDisableConstraintExpansion()) {
17048 if (other.hasEncodeComplexLinearConstraintWithInteger()) {
17051 if (other.hasMergeNoOverlapWorkLimit()) {
17054 if (other.hasMergeAtMostOneWorkLimit()) {
17057 if (other.hasPresolveSubstitutionLevel()) {
17060 if (other.hasPresolveExtractIntegerEnforcement()) {
17063 if (other.hasPresolveInclusionWorkLimit()) {
17066 if (other.hasIgnoreNames()) {
17069 if (other.hasInferAllDiffs()) {
17072 if (other.hasFindBigLinearOverlap()) {
17075 if (other.hasUseSatInprocessing()) {
17078 if (other.hasInprocessingDtimeRatio()) {
17081 if (other.hasInprocessingProbingDtime()) {
17084 if (other.hasInprocessingMinimizationDtime()) {
17087 if (other.hasInprocessingMinimizationUseConflictAnalysis()) {
17090 if (other.hasInprocessingMinimizationUseAllOrderings()) {
17093 if (other.hasNumWorkers()) {
17096 if (other.hasNumSearchWorkers()) {
17099 if (other.hasNumFullSubsolvers()) {
17102 if (!other.subsolvers_.isEmpty()) {
17103 if (subsolvers_.isEmpty()) {
17104 subsolvers_ = other.subsolvers_;
17105 bitField3_ |= 0x00000002;
17107 ensureSubsolversIsMutable();
17108 subsolvers_.addAll(other.subsolvers_);
17112 if (!other.extraSubsolvers_.isEmpty()) {
17113 if (extraSubsolvers_.isEmpty()) {
17114 extraSubsolvers_ = other.extraSubsolvers_;
17115 bitField3_ |= 0x00000004;
17117 ensureExtraSubsolversIsMutable();
17118 extraSubsolvers_.addAll(other.extraSubsolvers_);
17122 if (!other.ignoreSubsolvers_.isEmpty()) {
17123 if (ignoreSubsolvers_.isEmpty()) {
17124 ignoreSubsolvers_ = other.ignoreSubsolvers_;
17125 bitField3_ |= 0x00000008;
17127 ensureIgnoreSubsolversIsMutable();
17128 ignoreSubsolvers_.addAll(other.ignoreSubsolvers_);
17132 if (!other.filterSubsolvers_.isEmpty()) {
17133 if (filterSubsolvers_.isEmpty()) {
17134 filterSubsolvers_ = other.filterSubsolvers_;
17135 bitField3_ |= 0x00000010;
17137 ensureFilterSubsolversIsMutable();
17138 filterSubsolvers_.addAll(other.filterSubsolvers_);
17142 if (subsolverParamsBuilder_ ==
null) {
17143 if (!other.subsolverParams_.isEmpty()) {
17144 if (subsolverParams_.isEmpty()) {
17145 subsolverParams_ = other.subsolverParams_;
17146 bitField3_ = (bitField3_ & ~0x00000020);
17148 ensureSubsolverParamsIsMutable();
17149 subsolverParams_.addAll(other.subsolverParams_);
17154 if (!other.subsolverParams_.isEmpty()) {
17155 if (subsolverParamsBuilder_.isEmpty()) {
17156 subsolverParamsBuilder_.dispose();
17157 subsolverParamsBuilder_ =
null;
17158 subsolverParams_ = other.subsolverParams_;
17159 bitField3_ = (bitField3_ & ~0x00000020);
17160 subsolverParamsBuilder_ =
17161 com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
17162 getSubsolverParamsFieldBuilder() :
null;
17164 subsolverParamsBuilder_.addAllMessages(other.subsolverParams_);
17168 if (other.hasInterleaveSearch()) {
17171 if (other.hasInterleaveBatchSize()) {
17174 if (other.hasShareObjectiveBounds()) {
17177 if (other.hasShareLevelZeroBounds()) {
17180 if (other.hasShareBinaryClauses()) {
17183 if (other.hasShareGlueClauses()) {
17186 if (other.hasMinimizeSharedClauses()) {
17189 if (other.hasDebugPostsolveWithFullSolver()) {
17192 if (other.hasDebugMaxNumPresolveOperations()) {
17195 if (other.hasDebugCrashOnBadHint()) {
17198 if (other.hasDebugCrashIfPresolveBreaksHint()) {
17201 if (other.hasUseOptimizationHints()) {
17204 if (other.hasCoreMinimizationLevel()) {
17207 if (other.hasFindMultipleCores()) {
17210 if (other.hasCoverOptimization()) {
17213 if (other.hasMaxSatAssumptionOrder()) {
17216 if (other.hasMaxSatReverseAssumptionOrder()) {
17219 if (other.hasMaxSatStratification()) {
17222 if (other.hasPropagationLoopDetectionFactor()) {
17225 if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
17228 if (other.hasMaxSizeToCreatePrecedenceLiteralsInDisjunctive()) {
17231 if (other.hasUseStrongPropagationInDisjunctive()) {
17234 if (other.hasUseDynamicPrecedenceInDisjunctive()) {
17237 if (other.hasUseDynamicPrecedenceInCumulative()) {
17240 if (other.hasUseOverloadCheckerInCumulative()) {
17243 if (other.hasUseConservativeScaleOverloadChecker()) {
17246 if (other.hasUseTimetableEdgeFindingInCumulative()) {
17249 if (other.hasMaxNumIntervalsForTimetableEdgeFinding()) {
17252 if (other.hasUseHardPrecedencesInCumulative()) {
17255 if (other.hasExploitAllPrecedences()) {
17258 if (other.hasUseDisjunctiveConstraintInCumulative()) {
17261 if (other.hasUseTimetablingInNoOverlap2D()) {
17264 if (other.hasUseEnergeticReasoningInNoOverlap2D()) {
17267 if (other.hasUseAreaEnergeticReasoningInNoOverlap2D()) {
17270 if (other.hasUseTryEdgeReasoningInNoOverlap2D()) {
17273 if (other.hasMaxPairsPairwiseReasoningInNoOverlap2D()) {
17276 if (other.hasMaximumRegionsToSplitInDisconnectedNoOverlap2D()) {
17279 if (other.hasUseDualSchedulingHeuristics()) {
17282 if (other.hasUseAllDifferentForCircuit()) {
17285 if (other.hasRoutingCutSubsetSizeForBinaryRelationBound()) {
17288 if (other.hasRoutingCutSubsetSizeForTightBinaryRelationBound()) {
17291 if (other.hasRoutingCutDpEffort()) {
17294 if (other.hasSearchBranching()) {
17297 if (other.hasHintConflictLimit()) {
17300 if (other.hasRepairHint()) {
17303 if (other.hasFixVariablesToTheirHintedValue()) {
17306 if (other.hasUseProbingSearch()) {
17309 if (other.hasUseExtendedProbing()) {
17312 if (other.hasProbingNumCombinationsLimit()) {
17315 if (other.hasUseShavingInProbingSearch()) {
17318 if (other.hasShavingSearchDeterministicTime()) {
17321 if (other.hasShavingSearchThreshold()) {
17324 if (other.hasUseObjectiveLbSearch()) {
17327 if (other.hasUseObjectiveShavingSearch()) {
17330 if (other.hasUseVariablesShavingSearch()) {
17333 if (other.hasPseudoCostReliabilityThreshold()) {
17336 if (other.hasOptimizeWithCore()) {
17339 if (other.hasOptimizeWithLbTreeSearch()) {
17342 if (other.hasSaveLpBasisInLbTreeSearch()) {
17345 if (other.hasBinarySearchNumConflicts()) {
17348 if (other.hasOptimizeWithMaxHs()) {
17351 if (other.hasUseFeasibilityJump()) {
17354 if (other.hasUseLsOnly()) {
17357 if (other.hasFeasibilityJumpDecay()) {
17360 if (other.hasFeasibilityJumpLinearizationLevel()) {
17363 if (other.hasFeasibilityJumpRestartFactor()) {
17366 if (other.hasFeasibilityJumpBatchDtime()) {
17369 if (other.hasFeasibilityJumpVarRandomizationProbability()) {
17372 if (other.hasFeasibilityJumpVarPerburbationRangeRatio()) {
17375 if (other.hasFeasibilityJumpEnableRestarts()) {
17378 if (other.hasFeasibilityJumpMaxExpandedConstraintSize()) {
17381 if (other.hasNumViolationLs()) {
17384 if (other.hasViolationLsPerturbationPeriod()) {
17387 if (other.hasViolationLsCompoundMoveProbability()) {
17390 if (other.hasSharedTreeNumWorkers()) {
17393 if (other.hasUseSharedTreeSearch()) {
17396 if (other.hasSharedTreeWorkerMinRestartsPerSubtree()) {
17399 if (other.hasSharedTreeWorkerEnableTrailSharing()) {
17402 if (other.hasSharedTreeWorkerEnablePhaseSharing()) {
17405 if (other.hasSharedTreeOpenLeavesPerWorker()) {
17408 if (other.hasSharedTreeMaxNodesPerWorker()) {
17411 if (other.hasSharedTreeSplitStrategy()) {
17414 if (other.hasSharedTreeBalanceTolerance()) {
17417 if (other.hasEnumerateAllSolutions()) {
17420 if (other.hasKeepAllFeasibleSolutionsInPresolve()) {
17423 if (other.hasFillTightenedDomainsInResponse()) {
17426 if (other.hasFillAdditionalSolutionsInResponse()) {
17429 if (other.hasInstantiateAllVariables()) {
17432 if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
17435 if (other.hasStopAfterFirstSolution()) {
17438 if (other.hasStopAfterPresolve()) {
17441 if (other.hasStopAfterRootPropagation()) {
17444 if (other.hasLnsInitialDifficulty()) {
17447 if (other.hasLnsInitialDeterministicLimit()) {
17450 if (other.hasUseLns()) {
17453 if (other.hasUseLnsOnly()) {
17456 if (other.hasSolutionPoolSize()) {
17459 if (other.hasUseRinsLns()) {
17462 if (other.hasUseFeasibilityPump()) {
17465 if (other.hasUseLbRelaxLns()) {
17468 if (other.hasLbRelaxNumWorkersThreshold()) {
17471 if (other.hasFpRounding()) {
17474 if (other.hasDiversifyLnsParams()) {
17477 if (other.hasRandomizeSearch()) {
17480 if (other.hasSearchRandomVariablePoolSize()) {
17483 if (other.hasPushAllTasksTowardStart()) {
17486 if (other.hasUseOptionalVariables()) {
17489 if (other.hasUseExactLpReason()) {
17492 if (other.hasUseCombinedNoOverlap()) {
17495 if (other.hasAtMostOneMaxExpansionSize()) {
17498 if (other.hasCatchSigintSignal()) {
17501 if (other.hasUseImpliedBounds()) {
17504 if (other.hasPolishLpSolution()) {
17507 if (other.hasLpPrimalTolerance()) {
17510 if (other.hasLpDualTolerance()) {
17513 if (other.hasConvertIntervals()) {
17516 if (other.hasSymmetryLevel()) {
17519 if (other.hasUseSymmetryInLp()) {
17522 if (other.hasKeepSymmetryInPresolve()) {
17525 if (other.hasSymmetryDetectionDeterministicTimeLimit()) {
17528 if (other.hasNewLinearPropagation()) {
17531 if (other.hasLinearSplitSize()) {
17534 if (other.hasLinearizationLevel()) {
17537 if (other.hasBooleanEncodingLevel()) {
17540 if (other.hasMaxDomainSizeWhenEncodingEqNeqConstraints()) {
17543 if (other.hasMaxNumCuts()) {
17546 if (other.hasCutLevel()) {
17549 if (other.hasOnlyAddCutsAtLevelZero()) {
17552 if (other.hasAddObjectiveCut()) {
17555 if (other.hasAddCgCuts()) {
17558 if (other.hasAddMirCuts()) {
17561 if (other.hasAddZeroHalfCuts()) {
17564 if (other.hasAddCliqueCuts()) {
17567 if (other.hasAddRltCuts()) {
17570 if (other.hasMaxAllDiffCutSize()) {
17573 if (other.hasAddLinMaxCuts()) {
17576 if (other.hasMaxIntegerRoundingScaling()) {
17579 if (other.hasAddLpConstraintsLazily()) {
17582 if (other.hasRootLpIterations()) {
17585 if (other.hasMinOrthogonalityForLpConstraints()) {
17588 if (other.hasMaxCutRoundsAtLevelZero()) {
17591 if (other.hasMaxConsecutiveInactiveCount()) {
17594 if (other.hasCutMaxActiveCountValue()) {
17597 if (other.hasCutActiveCountDecay()) {
17600 if (other.hasCutCleanupTarget()) {
17603 if (other.hasNewConstraintsBatchSize()) {
17606 if (other.hasExploitIntegerLpSolution()) {
17609 if (other.hasExploitAllLpSolution()) {
17612 if (other.hasExploitBestSolution()) {
17615 if (other.hasExploitRelaxationSolution()) {
17618 if (other.hasExploitObjective()) {
17621 if (other.hasDetectLinearizedProduct()) {
17624 if (other.hasMipMaxBound()) {
17627 if (other.hasMipVarScaling()) {
17630 if (other.hasMipScaleLargeDomain()) {
17633 if (other.hasMipAutomaticallyScaleVariables()) {
17636 if (other.hasOnlySolveIp()) {
17639 if (other.hasMipWantedPrecision()) {
17642 if (other.hasMipMaxActivityExponent()) {
17645 if (other.hasMipCheckPrecision()) {
17648 if (other.hasMipComputeTrueObjectiveBound()) {
17651 if (other.hasMipMaxValidMagnitude()) {
17654 if (other.hasMipTreatHighMagnitudeBoundsAsInfinity()) {
17657 if (other.hasMipDropTolerance()) {
17660 if (other.hasMipPresolveLevel()) {
17663 this.mergeUnknownFields(other.getUnknownFields());
17668 @java.lang.Override
17673 @java.lang.Override
17675 com.google.protobuf.CodedInputStream input,
17676 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
17677 throws java.io.IOException {
17678 if (extensionRegistry ==
null) {
17679 throw new java.lang.NullPointerException();
17682 boolean done =
false;
17684 int tag = input.readTag();
17690 int tmpRaw = input.readEnum();
17692 com.google.ortools.sat.SatParameters.VariableOrder.forNumber(tmpRaw);
17693 if (tmpValue ==
null) {
17694 mergeUnknownVarintField(1, tmpRaw);
17696 preferredVariableOrder_ = tmpRaw;
17697 bitField0_ |= 0x00000002;
17702 int tmpRaw = input.readEnum();
17704 com.google.ortools.sat.SatParameters.Polarity.forNumber(tmpRaw);
17705 if (tmpValue ==
null) {
17706 mergeUnknownVarintField(2, tmpRaw);
17708 initialPolarity_ = tmpRaw;
17709 bitField0_ |= 0x00000004;
17714 int tmpRaw = input.readEnum();
17716 com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.forNumber(tmpRaw);
17717 if (tmpValue ==
null) {
17718 mergeUnknownVarintField(4, tmpRaw);
17720 minimizationAlgorithm_ = tmpRaw;
17721 bitField0_ |= 0x00000800;
17726 clauseCleanupPeriod_ = input.readInt32();
17727 bitField0_ |= 0x00004000;
17731 clauseCleanupTarget_ = input.readInt32();
17732 bitField0_ |= 0x00008000;
17736 variableActivityDecay_ = input.readDouble();
17737 bitField0_ |= 0x00400000;
17741 maxVariableActivityValue_ = input.readDouble();
17742 bitField0_ |= 0x00800000;
17746 clauseActivityDecay_ = input.readDouble();
17747 bitField0_ |= 0x08000000;
17751 maxClauseActivityValue_ = input.readDouble();
17752 bitField0_ |= 0x10000000;
17756 glucoseMaxDecay_ = input.readDouble();
17757 bitField0_ |= 0x01000000;
17761 glucoseDecayIncrement_ = input.readDouble();
17762 bitField0_ |= 0x02000000;
17766 glucoseDecayIncrementPeriod_ = input.readInt32();
17767 bitField0_ |= 0x04000000;
17771 restartPeriod_ = input.readInt32();
17772 bitField0_ |= 0x80000000;
17776 randomSeed_ = input.readInt32();
17777 bitField1_ |= 0x00008000;
17781 randomBranchesRatio_ = input.readDouble();
17782 bitField0_ |= 0x00000080;
17786 int tmpRaw = input.readEnum();
17788 com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.forNumber(tmpRaw);
17789 if (tmpValue ==
null) {
17790 mergeUnknownVarintField(34, tmpRaw);
17792 binaryMinimizationAlgorithm_ = tmpRaw;
17793 bitField0_ |= 0x00001000;
17798 useOptimizationHints_ = input.readBool();
17799 bitField3_ |= 0x00020000;
17803 maxTimeInSeconds_ = input.readDouble();
17804 bitField1_ |= 0x00000100;
17808 maxNumberOfConflicts_ = input.readInt64();
17809 bitField1_ |= 0x00000800;
17813 maxMemoryInMb_ = input.readInt64();
17814 bitField1_ |= 0x00001000;
17818 logSearchProgress_ = input.readBool();
17819 bitField1_ |= 0x00080000;
17823 usePbResolution_ = input.readBool();
17824 bitField1_ |= 0x01000000;
17828 usePhaseSaving_ = input.readBool();
17829 bitField0_ |= 0x00000008;
17833 randomPolarityRatio_ = input.readDouble();
17834 bitField0_ |= 0x00000040;
17838 pbCleanupIncrement_ = input.readInt32();
17839 bitField0_ |= 0x00100000;
17843 pbCleanupRatio_ = input.readDouble();
17844 bitField0_ |= 0x00200000;
17848 minimizeReductionDuringPbResolution_ = input.readBool();
17849 bitField1_ |= 0x02000000;
17853 countAssumptionLevelsInLbd_ = input.readBool();
17854 bitField1_ |= 0x04000000;
17858 coreMinimizationLevel_ = input.readInt32();
17859 bitField3_ |= 0x00040000;
17863 int tmpRaw = input.readEnum();
17865 com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.forNumber(tmpRaw);
17866 if (tmpValue ==
null) {
17867 mergeUnknownVarintField(51, tmpRaw);
17869 maxSatAssumptionOrder_ = tmpRaw;
17870 bitField3_ |= 0x00200000;
17875 maxSatReverseAssumptionOrder_ = input.readBool();
17876 bitField3_ |= 0x00400000;
17880 int tmpRaw = input.readEnum();
17882 com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.forNumber(tmpRaw);
17883 if (tmpValue ==
null) {
17884 mergeUnknownVarintField(53, tmpRaw);
17886 maxSatStratification_ = tmpRaw;
17887 bitField3_ |= 0x00800000;
17892 presolveBveThreshold_ = input.readInt32();
17893 bitField1_ |= 0x08000000;
17897 presolveBveClauseWeight_ = input.readInt32();
17898 bitField1_ |= 0x10000000;
17902 subsumptionDuringConflictAnalysis_ = input.readBool();
17903 bitField0_ |= 0x00002000;
17907 presolveProbingDeterministicTimeLimit_ = input.readDouble();
17908 bitField1_ |= 0x40000000;
17912 int tmpRaw = input.readEnum();
17914 com.google.ortools.sat.SatParameters.ClauseProtection.forNumber(tmpRaw);
17915 if (tmpValue ==
null) {
17916 mergeUnknownVarintField(58, tmpRaw);
17918 clauseCleanupProtection_ = tmpRaw;
17919 bitField0_ |= 0x00020000;
17924 clauseCleanupLbdBound_ = input.readInt32();
17925 bitField0_ |= 0x00040000;
17929 int tmpRaw = input.readEnum();
17931 com.google.ortools.sat.SatParameters.ClauseOrdering.forNumber(tmpRaw);
17932 if (tmpValue ==
null) {
17933 mergeUnknownVarintField(60, tmpRaw);
17935 clauseCleanupOrdering_ = tmpRaw;
17936 bitField0_ |= 0x00080000;
17941 int tmpRaw = input.readEnum();
17943 com.google.ortools.sat.SatParameters.RestartAlgorithm.forNumber(tmpRaw);
17944 if (tmpValue ==
null) {
17945 mergeUnknownVarintField(61, tmpRaw);
17947 ensureRestartAlgorithmsIsMutable();
17948 restartAlgorithms_.addInt(tmpRaw);
17953 int length = input.readRawVarint32();
17954 int oldLimit = input.pushLimit(length);
17955 while(input.getBytesUntilLimit() > 0) {
17956 int tmpRaw = input.readEnum();
17958 com.google.ortools.sat.SatParameters.RestartAlgorithm.forNumber(tmpRaw);
17959 if (tmpValue ==
null) {
17960 mergeUnknownVarintField(61, tmpRaw);
17962 ensureRestartAlgorithmsIsMutable();
17963 restartAlgorithms_.addInt(tmpRaw);
17966 input.popLimit(oldLimit);
17970 restartRunningWindowSize_ = input.readInt32();
17971 bitField1_ |= 0x00000001;
17975 restartDlAverageRatio_ = input.readDouble();
17976 bitField1_ |= 0x00000002;
17980 useBlockingRestart_ = input.readBool();
17981 bitField1_ |= 0x00000008;
17985 blockingRestartWindowSize_ = input.readInt32();
17986 bitField1_ |= 0x00000010;
17990 blockingRestartMultiplier_ = input.readDouble();
17991 bitField1_ |= 0x00000020;
17995 maxDeterministicTime_ = input.readDouble();
17996 bitField1_ |= 0x00000200;
18000 numConflictsBeforeStrategyChanges_ = input.readInt32();
18001 bitField1_ |= 0x00000040;
18005 strategyChangeIncreaseRatio_ = input.readDouble();
18006 bitField1_ |= 0x00000080;
18010 defaultRestartAlgorithms_ = input.readBytes();
18011 bitField0_ |= 0x40000000;
18015 restartLbdAverageRatio_ = input.readDouble();
18016 bitField1_ |= 0x00000004;
18020 presolveUseBva_ = input.readBool();
18021 bitField2_ |= 0x00000001;
18025 presolveBvaThreshold_ = input.readInt32();
18026 bitField2_ |= 0x00000002;
18030 usePrecedencesInDisjunctiveConstraint_ = input.readBool();
18031 bitField3_ |= 0x02000000;
18035 useErwaHeuristic_ = input.readBool();
18036 bitField0_ |= 0x00000100;
18040 initialVariablesActivity_ = input.readDouble();
18041 bitField0_ |= 0x00000200;
18045 alsoBumpVariablesInConflictReasons_ = input.readBool();
18046 bitField0_ |= 0x00000400;
18050 useOverloadCheckerInCumulative_ = input.readBool();
18051 bitField3_ |= 0x40000000;
18055 useTimetableEdgeFindingInCumulative_ = input.readBool();
18056 bitField4_ |= 0x00000001;
18060 useDisjunctiveConstraintInCumulative_ = input.readBool();
18061 bitField4_ |= 0x00000010;
18065 int tmpRaw = input.readEnum();
18067 com.google.ortools.sat.SatParameters.SearchBranching.forNumber(tmpRaw);
18068 if (tmpValue ==
null) {
18069 mergeUnknownVarintField(82, tmpRaw);
18071 searchBranching_ = tmpRaw;
18072 bitField4_ |= 0x00010000;
18077 optimizeWithCore_ = input.readBool();
18078 bitField4_ |= 0x40000000;
18082 findMultipleCores_ = input.readBool();
18083 bitField3_ |= 0x00080000;
18087 optimizeWithMaxHs_ = input.readBool();
18088 bitField5_ |= 0x00000004;
18092 cpModelPresolve_ = input.readBool();
18093 bitField2_ |= 0x00000008;
18097 enumerateAllSolutions_ = input.readBool();
18098 bitField5_ |= 0x02000000;
18102 presolveBlockedClause_ = input.readBool();
18103 bitField1_ |= 0x80000000;
18107 coverOptimization_ = input.readBool();
18108 bitField3_ |= 0x00100000;
18112 linearizationLevel_ = input.readInt32();
18113 bitField7_ |= 0x00000001;
18117 maxNumCuts_ = input.readInt32();
18118 bitField7_ |= 0x00000008;
18122 onlyAddCutsAtLevelZero_ = input.readBool();
18123 bitField7_ |= 0x00000020;
18127 cpModelUseSatPresolve_ = input.readBool();
18128 bitField2_ |= 0x00000020;
18132 exploitIntegerLpSolution_ = input.readBool();
18133 bitField7_ |= 0x01000000;
18137 autoDetectGreaterThanAtLeastOneOf_ = input.readBool();
18138 bitField5_ |= 0x40000000;
18142 stopAfterFirstSolution_ = input.readBool();
18143 bitField5_ |= 0x80000000;
18147 binarySearchNumConflicts_ = input.readInt32();
18148 bitField5_ |= 0x00000002;
18152 numSearchWorkers_ = input.readInt32();
18153 bitField2_ |= 0x80000000;
18157 useLnsOnly_ = input.readBool();
18158 bitField6_ |= 0x00000020;
18162 randomizeSearch_ = input.readBool();
18163 bitField6_ |= 0x00002000;
18167 searchRandomVariablePoolSize_ = input.readInt64();
18168 bitField6_ |= 0x00004000;
18172 instantiateAllVariables_ = input.readBool();
18173 bitField5_ |= 0x20000000;
18177 booleanEncodingLevel_ = input.readInt32();
18178 bitField7_ |= 0x00000002;
18182 useOptionalVariables_ = input.readBool();
18183 bitField6_ |= 0x00010000;
18187 useExactLpReason_ = input.readBool();
18188 bitField6_ |= 0x00020000;
18192 cpModelProbingLevel_ = input.readInt32();
18193 bitField2_ |= 0x00000010;
18197 addLpConstraintsLazily_ = input.readBool();
18198 bitField7_ |= 0x00008000;
18202 shareObjectiveBounds_ = input.readBool();
18203 bitField3_ |= 0x00000100;
18207 shareLevelZeroBounds_ = input.readBool();
18208 bitField3_ |= 0x00000200;
18212 minOrthogonalityForLpConstraints_ = input.readDouble();
18213 bitField7_ |= 0x00020000;
18217 exploitAllLpSolution_ = input.readBool();
18218 bitField7_ |= 0x02000000;
18222 addCgCuts_ = input.readBool();
18223 bitField7_ |= 0x00000080;
18227 maxIntegerRoundingScaling_ = input.readInt32();
18228 bitField7_ |= 0x00004000;
18232 addMirCuts_ = input.readBool();
18233 bitField7_ |= 0x00000100;
18237 maxConsecutiveInactiveCount_ = input.readInt32();
18238 bitField7_ |= 0x00080000;
18242 newConstraintsBatchSize_ = input.readInt32();
18243 bitField7_ |= 0x00800000;
18247 pseudoCostReliabilityThreshold_ = input.readInt64();
18248 bitField4_ |= 0x20000000;
18252 mipMaxBound_ = input.readDouble();
18253 bitField7_ |= 0x40000000;
18257 mipVarScaling_ = input.readDouble();
18258 bitField7_ |= 0x80000000;
18262 mipWantedPrecision_ = input.readDouble();
18263 bitField8_ |= 0x00000008;
18267 mipMaxActivityExponent_ = input.readInt32();
18268 bitField8_ |= 0x00000010;
18272 mipCheckPrecision_ = input.readDouble();
18273 bitField8_ |= 0x00000020;
18277 useRinsLns_ = input.readBool();
18278 bitField6_ |= 0x00000080;
18282 exploitBestSolution_ = input.readBool();
18283 bitField7_ |= 0x04000000;
18287 exploitObjective_ = input.readBool();
18288 bitField7_ |= 0x10000000;
18292 fillTightenedDomainsInResponse_ = input.readBool();
18293 bitField5_ |= 0x08000000;
18297 useCombinedNoOverlap_ = input.readBool();
18298 bitField6_ |= 0x00040000;
18302 interleaveBatchSize_ = input.readInt32();
18303 bitField3_ |= 0x00000080;
18307 catchSigintSignal_ = input.readBool();
18308 bitField6_ |= 0x00100000;
18312 interleaveSearch_ = input.readBool();
18313 bitField3_ |= 0x00000040;
18317 diversifyLnsParams_ = input.readBool();
18318 bitField6_ |= 0x00001000;
18322 maxPresolveIterations_ = input.readInt32();
18323 bitField2_ |= 0x00000004;
18327 useImpliedBounds_ = input.readBool();
18328 bitField6_ |= 0x00200000;
18332 mergeNoOverlapWorkLimit_ = input.readDouble();
18333 bitField2_ |= 0x00010000;
18337 mergeAtMostOneWorkLimit_ = input.readDouble();
18338 bitField2_ |= 0x00020000;
18342 presolveSubstitutionLevel_ = input.readInt32();
18343 bitField2_ |= 0x00040000;
18347 maxAllDiffCutSize_ = input.readInt32();
18348 bitField7_ |= 0x00001000;
18352 stopAfterPresolve_ = input.readBool();
18353 bitField6_ |= 0x00000001;
18357 debugMaxNumPresolveOperations_ = input.readInt32();
18358 bitField3_ |= 0x00004000;
18362 addLinMaxCuts_ = input.readBool();
18363 bitField7_ |= 0x00002000;
18367 hintConflictLimit_ = input.readInt32();
18368 bitField4_ |= 0x00020000;
18372 maxCutRoundsAtLevelZero_ = input.readInt32();
18373 bitField7_ |= 0x00040000;
18377 cutMaxActiveCountValue_ = input.readDouble();
18378 bitField7_ |= 0x00100000;
18382 cutActiveCountDecay_ = input.readDouble();
18383 bitField7_ |= 0x00200000;
18387 cutCleanupTarget_ = input.readInt32();
18388 bitField7_ |= 0x00400000;
18392 absoluteGapLimit_ = input.readDouble();
18393 bitField1_ |= 0x00002000;
18397 relativeGapLimit_ = input.readDouble();
18398 bitField1_ |= 0x00004000;
18402 exploitRelaxationSolution_ = input.readBool();
18403 bitField7_ |= 0x08000000;
18407 debugPostsolveWithFullSolver_ = input.readBool();
18408 bitField3_ |= 0x00002000;
18412 useSatInprocessing_ = input.readBool();
18413 bitField2_ |= 0x01000000;
18417 useFeasibilityPump_ = input.readBool();
18418 bitField6_ |= 0x00000100;
18422 int tmpRaw = input.readEnum();
18424 com.google.ortools.sat.SatParameters.FPRoundingMethod.forNumber(tmpRaw);
18425 if (tmpValue ==
null) {
18426 mergeUnknownVarintField(165, tmpRaw);
18428 fpRounding_ = tmpRaw;
18429 bitField6_ |= 0x00000800;
18434 mipAutomaticallyScaleVariables_ = input.readBool();
18435 bitField8_ |= 0x00000002;
18439 repairHint_ = input.readBool();
18440 bitField4_ |= 0x00040000;
18444 polarityRephaseIncrement_ = input.readInt32();
18445 bitField0_ |= 0x00000010;
18449 addZeroHalfCuts_ = input.readBool();
18450 bitField7_ |= 0x00000200;
18454 expandAlldiffConstraints_ = input.readBool();
18455 bitField2_ |= 0x00000200;
18459 name_ = input.readBytes();
18460 bitField0_ |= 0x00000001;
18464 addCliqueCuts_ = input.readBool();
18465 bitField7_ |= 0x00000400;
18469 keepAllFeasibleSolutionsInPresolve_ = input.readBool();
18470 bitField5_ |= 0x04000000;
18474 presolveExtractIntegerEnforcement_ = input.readBool();
18475 bitField2_ |= 0x00080000;
18479 polishLpSolution_ = input.readBool();
18480 bitField6_ |= 0x00400000;
18484 useProbingSearch_ = input.readBool();
18485 bitField4_ |= 0x00100000;
18489 convertIntervals_ = input.readBool();
18490 bitField6_ |= 0x02000000;
18494 permuteVariableRandomly_ = input.readBool();
18495 bitField1_ |= 0x00010000;
18499 permutePresolveConstraintOrder_ = input.readBool();
18500 bitField1_ |= 0x00020000;
18504 useAbslRandom_ = input.readBool();
18505 bitField1_ |= 0x00040000;
18509 disableConstraintExpansion_ = input.readBool();
18510 bitField2_ |= 0x00004000;
18514 expandReservoirConstraints_ = input.readBool();
18515 bitField2_ |= 0x00000400;
18519 symmetryLevel_ = input.readInt32();
18520 bitField6_ |= 0x04000000;
18524 logPrefix_ = input.readBytes();
18525 bitField1_ |= 0x00200000;
18529 logToStdout_ = input.readBool();
18530 bitField1_ |= 0x00400000;
18534 logToResponse_ = input.readBool();
18535 bitField1_ |= 0x00800000;
18539 optimizeWithLbTreeSearch_ = input.readBool();
18540 bitField4_ |= 0x80000000;
18544 logSubsolverStatistics_ = input.readBool();
18545 bitField1_ |= 0x00100000;
18549 clauseCleanupRatio_ = input.readDouble();
18550 bitField0_ |= 0x00010000;
18554 maxDomainSizeWhenEncodingEqNeqConstraints_ = input.readInt32();
18555 bitField7_ |= 0x00000004;
18559 fixVariablesToTheirHintedValue_ = input.readBool();
18560 bitField4_ |= 0x00080000;
18564 solutionPoolSize_ = input.readInt32();
18565 bitField6_ |= 0x00000040;
18569 fillAdditionalSolutionsInResponse_ = input.readBool();
18570 bitField5_ |= 0x10000000;
18574 debugCrashOnBadHint_ = input.readBool();
18575 bitField3_ |= 0x00008000;
18579 cutLevel_ = input.readInt32();
18580 bitField7_ |= 0x00000010;
18584 addObjectiveCut_ = input.readBool();
18585 bitField7_ |= 0x00000040;
18589 mipComputeTrueObjectiveBound_ = input.readBool();
18590 bitField8_ |= 0x00000040;
18594 mipMaxValidMagnitude_ = input.readDouble();
18595 bitField8_ |= 0x00000080;
18599 useTimetablingInNoOverlap2D_ = input.readBool();
18600 bitField4_ |= 0x00000020;
18604 presolveInclusionWorkLimit_ = input.readInt64();
18605 bitField2_ |= 0x00100000;
18609 ignoreNames_ = input.readBool();
18610 bitField2_ |= 0x00200000;
18614 shareBinaryClauses_ = input.readBool();
18615 bitField3_ |= 0x00000400;
18619 useShavingInProbingSearch_ = input.readBool();
18620 bitField4_ |= 0x00800000;
18624 shavingSearchDeterministicTime_ = input.readDouble();
18625 bitField4_ |= 0x01000000;
18629 numWorkers_ = input.readInt32();
18630 bitField2_ |= 0x40000000;
18634 com.google.protobuf.ByteString bs = input.readBytes();
18635 ensureSubsolversIsMutable();
18636 subsolvers_.add(bs);
18640 com.google.protobuf.ByteString bs = input.readBytes();
18641 ensureIgnoreSubsolversIsMutable();
18642 ignoreSubsolvers_.add(bs);
18648 com.google.ortools.sat.SatParameters.parser(),
18649 extensionRegistry);
18650 if (subsolverParamsBuilder_ ==
null) {
18651 ensureSubsolverParamsIsMutable();
18652 subsolverParams_.add(m);
18654 subsolverParamsBuilder_.addMessage(m);
18659 useEnergeticReasoningInNoOverlap2D_ = input.readBool();
18660 bitField4_ |= 0x00000040;
18664 useDualSchedulingHeuristics_ = input.readBool();
18665 bitField4_ |= 0x00000800;
18669 useHardPrecedencesInCumulative_ = input.readBool();
18670 bitField4_ |= 0x00000004;
18674 detectTableWithCost_ = input.readBool();
18675 bitField2_ |= 0x00000080;
18679 tableCompressionLevel_ = input.readInt32();
18680 bitField2_ |= 0x00000100;
18684 com.google.protobuf.ByteString bs = input.readBytes();
18685 ensureExtraSubsolversIsMutable();
18686 extraSubsolvers_.add(bs);
18690 exploitAllPrecedences_ = input.readBool();
18691 bitField4_ |= 0x00000008;
18695 propagationLoopDetectionFactor_ = input.readDouble();
18696 bitField3_ |= 0x01000000;
18700 onlySolveIp_ = input.readBool();
18701 bitField8_ |= 0x00000004;
18705 encodeComplexLinearConstraintWithInteger_ = input.readBool();
18706 bitField2_ |= 0x00008000;
18710 newLinearPropagation_ = input.readBool();
18711 bitField6_ |= 0x40000000;
18715 mipScaleLargeDomain_ = input.readBool();
18716 bitField8_ |= 0x00000001;
18720 probingDeterministicTimeLimit_ = input.readDouble();
18721 bitField1_ |= 0x20000000;
18725 rootLpIterations_ = input.readInt32();
18726 bitField7_ |= 0x00010000;
18730 useObjectiveLbSearch_ = input.readBool();
18731 bitField4_ |= 0x04000000;
18735 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = input.readInt32();
18736 bitField3_ |= 0x04000000;
18740 useStrongPropagationInDisjunctive_ = input.readBool();
18741 bitField3_ |= 0x08000000;
18745 mipDropTolerance_ = input.readDouble();
18746 bitField8_ |= 0x00000200;
18750 inferAllDiffs_ = input.readBool();
18751 bitField2_ |= 0x00400000;
18755 findBigLinearOverlap_ = input.readBool();
18756 bitField2_ |= 0x00800000;
18760 sharedTreeNumWorkers_ = input.readInt32();
18761 bitField5_ |= 0x00010000;
18765 useSharedTreeSearch_ = input.readBool();
18766 bitField5_ |= 0x00020000;
18770 sharedTreeMaxNodesPerWorker_ = input.readInt32();
18771 bitField5_ |= 0x00400000;
18775 int tmpRaw = input.readEnum();
18777 com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy.forNumber(tmpRaw);
18778 if (tmpValue ==
null) {
18779 mergeUnknownVarintField(239, tmpRaw);
18781 sharedTreeSplitStrategy_ = tmpRaw;
18782 bitField5_ |= 0x00800000;
18787 useLsOnly_ = input.readBool();
18788 bitField5_ |= 0x00000010;
18792 feasibilityJumpDecay_ = input.readDouble();
18793 bitField5_ |= 0x00000020;
18797 numViolationLs_ = input.readInt32();
18798 bitField5_ |= 0x00002000;
18802 feasibilityJumpVarRandomizationProbability_ = input.readDouble();
18803 bitField5_ |= 0x00000200;
18807 feasibilityJumpVarPerburbationRangeRatio_ = input.readDouble();
18808 bitField5_ |= 0x00000400;
18812 violationLsPerturbationPeriod_ = input.readInt32();
18813 bitField5_ |= 0x00004000;
18817 feasibilityJumpEnableRestarts_ = input.readBool();
18818 bitField5_ |= 0x00000800;
18822 stopAfterRootPropagation_ = input.readBool();
18823 bitField6_ |= 0x00000002;
18827 useObjectiveShavingSearch_ = input.readBool();
18828 bitField4_ |= 0x08000000;
18832 useLbRelaxLns_ = input.readBool();
18833 bitField6_ |= 0x00000200;
18837 linearSplitSize_ = input.readInt32();
18838 bitField6_ |= 0x80000000;
18842 feasibilityJumpLinearizationLevel_ = input.readInt32();
18843 bitField5_ |= 0x00000040;
18847 feasibilityJumpRestartFactor_ = input.readInt32();
18848 bitField5_ |= 0x00000080;
18852 violationLsCompoundMoveProbability_ = input.readDouble();
18853 bitField5_ |= 0x00008000;
18857 maxNumIntervalsForTimetableEdgeFinding_ = input.readInt32();
18858 bitField4_ |= 0x00000002;
18862 mipPresolveLevel_ = input.readInt32();
18863 bitField8_ |= 0x00000400;
18867 pushAllTasksTowardStart_ = input.readBool();
18868 bitField6_ |= 0x00008000;
18872 useDynamicPrecedenceInDisjunctive_ = input.readBool();
18873 bitField3_ |= 0x10000000;
18877 feasibilityJumpMaxExpandedConstraintSize_ = input.readInt32();
18878 bitField5_ |= 0x00001000;
18882 useFeasibilityJump_ = input.readBool();
18883 bitField5_ |= 0x00000008;
18887 lpPrimalTolerance_ = input.readDouble();
18888 bitField6_ |= 0x00800000;
18892 lpDualTolerance_ = input.readDouble();
18893 bitField6_ |= 0x01000000;
18897 useDynamicPrecedenceInCumulative_ = input.readBool();
18898 bitField3_ |= 0x20000000;
18902 useExtendedProbing_ = input.readBool();
18903 bitField4_ |= 0x00200000;
18907 atMostOneMaxExpansionSize_ = input.readInt32();
18908 bitField6_ |= 0x00080000;
18912 useAreaEnergeticReasoningInNoOverlap2D_ = input.readBool();
18913 bitField4_ |= 0x00000080;
18917 probingNumCombinationsLimit_ = input.readInt32();
18918 bitField4_ |= 0x00400000;
18922 inprocessingDtimeRatio_ = input.readDouble();
18923 bitField2_ |= 0x02000000;
18927 inprocessingProbingDtime_ = input.readDouble();
18928 bitField2_ |= 0x04000000;
18932 inprocessingMinimizationDtime_ = input.readDouble();
18933 bitField2_ |= 0x08000000;
18937 maxPairsPairwiseReasoningInNoOverlap2D_ = input.readInt32();
18938 bitField4_ |= 0x00000200;
18942 detectLinearizedProduct_ = input.readBool();
18943 bitField7_ |= 0x20000000;
18947 mipTreatHighMagnitudeBoundsAsInfinity_ = input.readBool();
18948 bitField8_ |= 0x00000100;
18952 addRltCuts_ = input.readBool();
18953 bitField7_ |= 0x00000800;
18957 maxLinMaxSizeForExpansion_ = input.readInt32();
18958 bitField2_ |= 0x00002000;
18962 sharedTreeOpenLeavesPerWorker_ = input.readDouble();
18963 bitField5_ |= 0x00200000;
18967 sharedTreeWorkerMinRestartsPerSubtree_ = input.readInt32();
18968 bitField5_ |= 0x00040000;
18972 useLns_ = input.readBool();
18973 bitField6_ |= 0x00000010;
18977 saveLpBasisInLbTreeSearch_ = input.readBool();
18978 bitField5_ |= 0x00000001;
18982 shareGlueClauses_ = input.readBool();
18983 bitField3_ |= 0x00000800;
18987 useConservativeScaleOverloadChecker_ = input.readBool();
18988 bitField3_ |= 0x80000000;
18992 encodeCumulativeAsReservoir_ = input.readBool();
18993 bitField2_ |= 0x00001000;
18997 expandReservoirUsingCircuit_ = input.readBool();
18998 bitField2_ |= 0x00000800;
19002 useVariablesShavingSearch_ = input.readBool();
19003 bitField4_ |= 0x10000000;
19007 shavingSearchThreshold_ = input.readInt64();
19008 bitField4_ |= 0x02000000;
19012 maxNumDeterministicBatches_ = input.readInt32();
19013 bitField1_ |= 0x00000400;
19017 feasibilityJumpBatchDtime_ = input.readDouble();
19018 bitField5_ |= 0x00000100;
19022 com.google.protobuf.ByteString bs = input.readBytes();
19023 ensureFilterSubsolversIsMutable();
19024 filterSubsolvers_.add(bs);
19028 numFullSubsolvers_ = input.readInt32();
19029 bitField3_ |= 0x00000001;
19033 sharedTreeWorkerEnableTrailSharing_ = input.readBool();
19034 bitField5_ |= 0x00080000;
19038 lbRelaxNumWorkersThreshold_ = input.readInt32();
19039 bitField6_ |= 0x00000400;
19043 inprocessingMinimizationUseConflictAnalysis_ = input.readBool();
19044 bitField2_ |= 0x10000000;
19048 inprocessingMinimizationUseAllOrderings_ = input.readBool();
19049 bitField2_ |= 0x20000000;
19053 useTryEdgeReasoningInNoOverlap2D_ = input.readBool();
19054 bitField4_ |= 0x00000100;
19058 minimizeSharedClauses_ = input.readBool();
19059 bitField3_ |= 0x00001000;
19063 useSymmetryInLp_ = input.readBool();
19064 bitField6_ |= 0x08000000;
19068 symmetryDetectionDeterministicTimeLimit_ = input.readDouble();
19069 bitField6_ |= 0x20000000;
19073 keepSymmetryInPresolve_ = input.readBool();
19074 bitField6_ |= 0x10000000;
19078 sharedTreeWorkerEnablePhaseSharing_ = input.readBool();
19079 bitField5_ |= 0x00100000;
19083 sharedTreeBalanceTolerance_ = input.readInt32();
19084 bitField5_ |= 0x01000000;
19088 debugCrashIfPresolveBreaksHint_ = input.readBool();
19089 bitField3_ |= 0x00010000;
19093 lnsInitialDifficulty_ = input.readDouble();
19094 bitField6_ |= 0x00000004;
19098 lnsInitialDeterministicLimit_ = input.readDouble();
19099 bitField6_ |= 0x00000008;
19103 polarityExploitLsHints_ = input.readBool();
19104 bitField0_ |= 0x00000020;
19108 removeFixedVariablesEarly_ = input.readBool();
19109 bitField2_ |= 0x00000040;
19113 useAllDifferentForCircuit_ = input.readBool();
19114 bitField4_ |= 0x00001000;
19118 routingCutSubsetSizeForBinaryRelationBound_ = input.readInt32();
19119 bitField4_ |= 0x00002000;
19123 routingCutSubsetSizeForTightBinaryRelationBound_ = input.readInt32();
19124 bitField4_ |= 0x00004000;
19128 routingCutDpEffort_ = input.readDouble();
19129 bitField4_ |= 0x00008000;
19133 maximumRegionsToSplitInDisconnectedNoOverlap2D_ = input.readInt32();
19134 bitField4_ |= 0x00000400;
19138 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
19145 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
19146 throw e.unwrapIOException();
19152 private int bitField0_;
19153 private int bitField1_;
19154 private int bitField2_;
19155 private int bitField3_;
19156 private int bitField4_;
19157 private int bitField5_;
19158 private int bitField6_;
19159 private int bitField7_;
19160 private int bitField8_;
19162 private java.lang.Object name_ =
"";
19173 return ((bitField0_ & 0x00000001) != 0);
19185 java.lang.Object ref = name_;
19186 if (!(ref instanceof java.lang.String)) {
19187 com.google.protobuf.ByteString bs =
19188 (com.google.protobuf.ByteString) ref;
19189 java.lang.String s = bs.toStringUtf8();
19190 if (bs.isValidUtf8()) {
19195 return (java.lang.String) ref;
19207 public com.google.protobuf.ByteString
19209 java.lang.Object ref = name_;
19210 if (ref instanceof String) {
19211 com.google.protobuf.ByteString b =
19212 com.google.protobuf.ByteString.copyFromUtf8(
19213 (java.lang.String) ref);
19217 return (com.google.protobuf.ByteString) ref;
19231 java.lang.String value) {
19232 if (value ==
null) {
throw new NullPointerException(); }
19234 bitField0_ |= 0x00000001;
19249 bitField0_ = (bitField0_ & ~0x00000001);
19264 com.google.protobuf.ByteString value) {
19265 if (value ==
null) {
throw new NullPointerException(); }
19267 bitField0_ |= 0x00000001;
19272 private int preferredVariableOrder_ = 0;
19278 return ((bitField0_ & 0x00000002) != 0);
19284 @java.lang.Override
19295 if (value ==
null) {
19296 throw new NullPointerException();
19298 bitField0_ |= 0x00000002;
19299 preferredVariableOrder_ = value.getNumber();
19308 bitField0_ = (bitField0_ & ~0x00000002);
19309 preferredVariableOrder_ = 0;
19314 private int initialPolarity_ = 1;
19320 return ((bitField0_ & 0x00000004) != 0);
19326 @java.lang.Override
19337 if (value ==
null) {
19338 throw new NullPointerException();
19340 bitField0_ |= 0x00000004;
19341 initialPolarity_ = value.getNumber();
19350 bitField0_ = (bitField0_ & ~0x00000004);
19351 initialPolarity_ = 1;
19356 private boolean usePhaseSaving_ =
true;
19375 @java.lang.Override
19377 return ((bitField0_ & 0x00000008) != 0);
19397 @java.lang.Override
19399 return usePhaseSaving_;
19422 usePhaseSaving_ = value;
19423 bitField0_ |= 0x00000008;
19446 bitField0_ = (bitField0_ & ~0x00000008);
19447 usePhaseSaving_ =
true;
19452 private int polarityRephaseIncrement_ = 1000;
19463 @java.lang.Override
19465 return ((bitField0_ & 0x00000010) != 0);
19477 @java.lang.Override
19479 return polarityRephaseIncrement_;
19494 polarityRephaseIncrement_ = value;
19495 bitField0_ |= 0x00000010;
19510 bitField0_ = (bitField0_ & ~0x00000010);
19511 polarityRephaseIncrement_ = 1000;
19516 private boolean polarityExploitLsHints_ ;
19526 @java.lang.Override
19528 return ((bitField0_ & 0x00000020) != 0);
19539 @java.lang.Override
19541 return polarityExploitLsHints_;
19555 polarityExploitLsHints_ = value;
19556 bitField0_ |= 0x00000020;
19570 bitField0_ = (bitField0_ & ~0x00000020);
19571 polarityExploitLsHints_ =
false;
19576 private double randomPolarityRatio_ ;
19589 @java.lang.Override
19591 return ((bitField0_ & 0x00000040) != 0);
19605 @java.lang.Override
19607 return randomPolarityRatio_;
19624 randomPolarityRatio_ = value;
19625 bitField0_ |= 0x00000040;
19642 bitField0_ = (bitField0_ & ~0x00000040);
19643 randomPolarityRatio_ = 0D;
19648 private double randomBranchesRatio_ ;
19659 @java.lang.Override
19661 return ((bitField0_ & 0x00000080) != 0);
19673 @java.lang.Override
19675 return randomBranchesRatio_;
19690 randomBranchesRatio_ = value;
19691 bitField0_ |= 0x00000080;
19706 bitField0_ = (bitField0_ & ~0x00000080);
19707 randomBranchesRatio_ = 0D;
19712 private boolean useErwaHeuristic_ ;
19723 @java.lang.Override
19725 return ((bitField0_ & 0x00000100) != 0);
19737 @java.lang.Override
19739 return useErwaHeuristic_;
19754 useErwaHeuristic_ = value;
19755 bitField0_ |= 0x00000100;
19770 bitField0_ = (bitField0_ & ~0x00000100);
19771 useErwaHeuristic_ =
false;
19776 private double initialVariablesActivity_ ;
19790 @java.lang.Override
19792 return ((bitField0_ & 0x00000200) != 0);
19807 @java.lang.Override
19809 return initialVariablesActivity_;
19827 initialVariablesActivity_ = value;
19828 bitField0_ |= 0x00000200;
19846 bitField0_ = (bitField0_ & ~0x00000200);
19847 initialVariablesActivity_ = 0D;
19852 private boolean alsoBumpVariablesInConflictReasons_ ;
19864 @java.lang.Override
19866 return ((bitField0_ & 0x00000400) != 0);
19879 @java.lang.Override
19881 return alsoBumpVariablesInConflictReasons_;
19897 alsoBumpVariablesInConflictReasons_ = value;
19898 bitField0_ |= 0x00000400;
19914 bitField0_ = (bitField0_ & ~0x00000400);
19915 alsoBumpVariablesInConflictReasons_ =
false;
19920 private int minimizationAlgorithm_ = 2;
19926 return ((bitField0_ & 0x00000800) != 0);
19932 @java.lang.Override
19943 if (value ==
null) {
19944 throw new NullPointerException();
19946 bitField0_ |= 0x00000800;
19947 minimizationAlgorithm_ = value.getNumber();
19956 bitField0_ = (bitField0_ & ~0x00000800);
19957 minimizationAlgorithm_ = 2;
19962 private int binaryMinimizationAlgorithm_ = 1;
19968 return ((bitField0_ & 0x00001000) != 0);
19974 @java.lang.Override
19985 if (value ==
null) {
19986 throw new NullPointerException();
19988 bitField0_ |= 0x00001000;
19989 binaryMinimizationAlgorithm_ = value.getNumber();
19998 bitField0_ = (bitField0_ & ~0x00001000);
19999 binaryMinimizationAlgorithm_ = 1;
20004 private boolean subsumptionDuringConflictAnalysis_ =
true;
20016 @java.lang.Override
20018 return ((bitField0_ & 0x00002000) != 0);
20031 @java.lang.Override
20033 return subsumptionDuringConflictAnalysis_;
20049 subsumptionDuringConflictAnalysis_ = value;
20050 bitField0_ |= 0x00002000;
20066 bitField0_ = (bitField0_ & ~0x00002000);
20067 subsumptionDuringConflictAnalysis_ =
true;
20072 private int clauseCleanupPeriod_ = 10000;
20081 @java.lang.Override
20083 return ((bitField0_ & 0x00004000) != 0);
20093 @java.lang.Override
20095 return clauseCleanupPeriod_;
20108 clauseCleanupPeriod_ = value;
20109 bitField0_ |= 0x00004000;
20122 bitField0_ = (bitField0_ & ~0x00004000);
20123 clauseCleanupPeriod_ = 10000;
20128 private int clauseCleanupTarget_ ;
20138 @java.lang.Override
20140 return ((bitField0_ & 0x00008000) != 0);
20151 @java.lang.Override
20153 return clauseCleanupTarget_;
20167 clauseCleanupTarget_ = value;
20168 bitField0_ |= 0x00008000;
20182 bitField0_ = (bitField0_ & ~0x00008000);
20183 clauseCleanupTarget_ = 0;
20188 private double clauseCleanupRatio_ = 0.5D;
20199 @java.lang.Override
20201 return ((bitField0_ & 0x00010000) != 0);
20213 @java.lang.Override
20215 return clauseCleanupRatio_;
20230 clauseCleanupRatio_ = value;
20231 bitField0_ |= 0x00010000;
20246 bitField0_ = (bitField0_ & ~0x00010000);
20247 clauseCleanupRatio_ = 0.5D;
20252 private int clauseCleanupProtection_ = 0;
20258 return ((bitField0_ & 0x00020000) != 0);
20264 @java.lang.Override
20275 if (value ==
null) {
20276 throw new NullPointerException();
20278 bitField0_ |= 0x00020000;
20279 clauseCleanupProtection_ = value.getNumber();
20288 bitField0_ = (bitField0_ & ~0x00020000);
20289 clauseCleanupProtection_ = 0;
20294 private int clauseCleanupLbdBound_ = 5;
20304 @java.lang.Override
20306 return ((bitField0_ & 0x00040000) != 0);
20317 @java.lang.Override
20319 return clauseCleanupLbdBound_;
20333 clauseCleanupLbdBound_ = value;
20334 bitField0_ |= 0x00040000;
20348 bitField0_ = (bitField0_ & ~0x00040000);
20349 clauseCleanupLbdBound_ = 5;
20354 private int clauseCleanupOrdering_ = 0;
20360 return ((bitField0_ & 0x00080000) != 0);
20366 @java.lang.Override
20377 if (value ==
null) {
20378 throw new NullPointerException();
20380 bitField0_ |= 0x00080000;
20381 clauseCleanupOrdering_ = value.getNumber();
20390 bitField0_ = (bitField0_ & ~0x00080000);
20391 clauseCleanupOrdering_ = 0;
20396 private int pbCleanupIncrement_ = 200;
20405 @java.lang.Override
20407 return ((bitField0_ & 0x00100000) != 0);
20417 @java.lang.Override
20419 return pbCleanupIncrement_;
20432 pbCleanupIncrement_ = value;
20433 bitField0_ |= 0x00100000;
20446 bitField0_ = (bitField0_ & ~0x00100000);
20447 pbCleanupIncrement_ = 200;
20452 private double pbCleanupRatio_ = 0.5D;
20457 @java.lang.Override
20459 return ((bitField0_ & 0x00200000) != 0);
20465 @java.lang.Override
20467 return pbCleanupRatio_;
20476 pbCleanupRatio_ = value;
20477 bitField0_ |= 0x00200000;
20486 bitField0_ = (bitField0_ & ~0x00200000);
20487 pbCleanupRatio_ = 0.5D;
20492 private double variableActivityDecay_ = 0.8D;
20508 @java.lang.Override
20510 return ((bitField0_ & 0x00400000) != 0);
20527 @java.lang.Override
20529 return variableActivityDecay_;
20549 variableActivityDecay_ = value;
20550 bitField0_ |= 0x00400000;
20570 bitField0_ = (bitField0_ & ~0x00400000);
20571 variableActivityDecay_ = 0.8D;
20576 private double maxVariableActivityValue_ = 1e+100D;
20581 @java.lang.Override
20583 return ((bitField0_ & 0x00800000) != 0);
20589 @java.lang.Override
20591 return maxVariableActivityValue_;
20600 maxVariableActivityValue_ = value;
20601 bitField0_ |= 0x00800000;
20610 bitField0_ = (bitField0_ & ~0x00800000);
20611 maxVariableActivityValue_ = 1e+100D;
20616 private double glucoseMaxDecay_ = 0.95D;
20629 @java.lang.Override
20631 return ((bitField0_ & 0x01000000) != 0);
20645 @java.lang.Override
20647 return glucoseMaxDecay_;
20664 glucoseMaxDecay_ = value;
20665 bitField0_ |= 0x01000000;
20682 bitField0_ = (bitField0_ & ~0x01000000);
20683 glucoseMaxDecay_ = 0.95D;
20688 private double glucoseDecayIncrement_ = 0.01D;
20693 @java.lang.Override
20695 return ((bitField0_ & 0x02000000) != 0);
20701 @java.lang.Override
20703 return glucoseDecayIncrement_;
20712 glucoseDecayIncrement_ = value;
20713 bitField0_ |= 0x02000000;
20722 bitField0_ = (bitField0_ & ~0x02000000);
20723 glucoseDecayIncrement_ = 0.01D;
20728 private int glucoseDecayIncrementPeriod_ = 5000;
20733 @java.lang.Override
20735 return ((bitField0_ & 0x04000000) != 0);
20741 @java.lang.Override
20743 return glucoseDecayIncrementPeriod_;
20752 glucoseDecayIncrementPeriod_ = value;
20753 bitField0_ |= 0x04000000;
20762 bitField0_ = (bitField0_ & ~0x04000000);
20763 glucoseDecayIncrementPeriod_ = 5000;
20768 private double clauseActivityDecay_ = 0.999D;
20777 @java.lang.Override
20779 return ((bitField0_ & 0x08000000) != 0);
20789 @java.lang.Override
20791 return clauseActivityDecay_;
20804 clauseActivityDecay_ = value;
20805 bitField0_ |= 0x08000000;
20818 bitField0_ = (bitField0_ & ~0x08000000);
20819 clauseActivityDecay_ = 0.999D;
20824 private double maxClauseActivityValue_ = 1e+20D;
20829 @java.lang.Override
20831 return ((bitField0_ & 0x10000000) != 0);
20837 @java.lang.Override
20839 return maxClauseActivityValue_;
20848 maxClauseActivityValue_ = value;
20849 bitField0_ |= 0x10000000;
20858 bitField0_ = (bitField0_ & ~0x10000000);
20859 maxClauseActivityValue_ = 1e+20D;
20864 private com.google.protobuf.Internal.IntList restartAlgorithms_ =
20866 private void ensureRestartAlgorithmsIsMutable() {
20867 if (!((bitField0_ & 0x20000000) != 0)) {
20868 restartAlgorithms_ = makeMutableCopy(restartAlgorithms_);
20869 bitField0_ |= 0x20000000;
20889 return new com.google.protobuf.Internal.IntListAdapter<
20890 com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
20909 return restartAlgorithms_.size();
20929 return restartAlgorithms_converter_.convert(restartAlgorithms_.getInt(index));
20950 int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
20951 if (value ==
null) {
20952 throw new NullPointerException();
20954 ensureRestartAlgorithmsIsMutable();
20955 restartAlgorithms_.setInt(index, value.getNumber());
20977 if (value ==
null) {
20978 throw new NullPointerException();
20980 ensureRestartAlgorithmsIsMutable();
20981 restartAlgorithms_.addInt(value.getNumber());
21003 java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
21004 ensureRestartAlgorithmsIsMutable();
21005 for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
21006 restartAlgorithms_.addInt(value.getNumber());
21028 restartAlgorithms_ = emptyIntList();
21029 bitField0_ = (bitField0_ & ~0x20000000);
21034 private java.lang.Object defaultRestartAlgorithms_ =
"LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
21040 return ((bitField0_ & 0x40000000) != 0);
21047 java.lang.Object ref = defaultRestartAlgorithms_;
21048 if (!(ref instanceof java.lang.String)) {
21049 com.google.protobuf.ByteString bs =
21050 (com.google.protobuf.ByteString) ref;
21051 java.lang.String s = bs.toStringUtf8();
21052 if (bs.isValidUtf8()) {
21053 defaultRestartAlgorithms_ = s;
21057 return (java.lang.String) ref;
21064 public com.google.protobuf.ByteString
21066 java.lang.Object ref = defaultRestartAlgorithms_;
21067 if (ref instanceof String) {
21068 com.google.protobuf.ByteString b =
21069 com.google.protobuf.ByteString.copyFromUtf8(
21070 (java.lang.String) ref);
21071 defaultRestartAlgorithms_ = b;
21074 return (com.google.protobuf.ByteString) ref;
21083 java.lang.String value) {
21084 if (value ==
null) {
throw new NullPointerException(); }
21085 defaultRestartAlgorithms_ = value;
21086 bitField0_ |= 0x40000000;
21096 bitField0_ = (bitField0_ & ~0x40000000);
21106 com.google.protobuf.ByteString value) {
21107 if (value ==
null) {
throw new NullPointerException(); }
21108 defaultRestartAlgorithms_ = value;
21109 bitField0_ |= 0x40000000;
21114 private int restartPeriod_ = 50;
21124 @java.lang.Override
21126 return ((bitField0_ & 0x80000000) != 0);
21137 @java.lang.Override
21139 return restartPeriod_;
21153 restartPeriod_ = value;
21154 bitField0_ |= 0x80000000;
21168 bitField0_ = (bitField0_ & ~0x80000000);
21169 restartPeriod_ = 50;
21174 private int restartRunningWindowSize_ = 50;
21183 @java.lang.Override
21185 return ((bitField1_ & 0x00000001) != 0);
21195 @java.lang.Override
21197 return restartRunningWindowSize_;
21210 restartRunningWindowSize_ = value;
21211 bitField1_ |= 0x00000001;
21224 bitField1_ = (bitField1_ & ~0x00000001);
21225 restartRunningWindowSize_ = 50;
21230 private double restartDlAverageRatio_ = 1D;
21240 @java.lang.Override
21242 return ((bitField1_ & 0x00000002) != 0);
21253 @java.lang.Override
21255 return restartDlAverageRatio_;
21269 restartDlAverageRatio_ = value;
21270 bitField1_ |= 0x00000002;
21284 bitField1_ = (bitField1_ & ~0x00000002);
21285 restartDlAverageRatio_ = 1D;
21290 private double restartLbdAverageRatio_ = 1D;
21295 @java.lang.Override
21297 return ((bitField1_ & 0x00000004) != 0);
21303 @java.lang.Override
21305 return restartLbdAverageRatio_;
21314 restartLbdAverageRatio_ = value;
21315 bitField1_ |= 0x00000004;
21324 bitField1_ = (bitField1_ & ~0x00000004);
21325 restartLbdAverageRatio_ = 1D;
21330 private boolean useBlockingRestart_ ;
21341 @java.lang.Override
21343 return ((bitField1_ & 0x00000008) != 0);
21355 @java.lang.Override
21357 return useBlockingRestart_;
21372 useBlockingRestart_ = value;
21373 bitField1_ |= 0x00000008;
21388 bitField1_ = (bitField1_ & ~0x00000008);
21389 useBlockingRestart_ =
false;
21394 private int blockingRestartWindowSize_ = 5000;
21399 @java.lang.Override
21401 return ((bitField1_ & 0x00000010) != 0);
21407 @java.lang.Override
21409 return blockingRestartWindowSize_;
21418 blockingRestartWindowSize_ = value;
21419 bitField1_ |= 0x00000010;
21428 bitField1_ = (bitField1_ & ~0x00000010);
21429 blockingRestartWindowSize_ = 5000;
21434 private double blockingRestartMultiplier_ = 1.4D;
21439 @java.lang.Override
21441 return ((bitField1_ & 0x00000020) != 0);
21447 @java.lang.Override
21449 return blockingRestartMultiplier_;
21458 blockingRestartMultiplier_ = value;
21459 bitField1_ |= 0x00000020;
21468 bitField1_ = (bitField1_ & ~0x00000020);
21469 blockingRestartMultiplier_ = 1.4D;
21474 private int numConflictsBeforeStrategyChanges_ ;
21485 @java.lang.Override
21487 return ((bitField1_ & 0x00000040) != 0);
21499 @java.lang.Override
21501 return numConflictsBeforeStrategyChanges_;
21516 numConflictsBeforeStrategyChanges_ = value;
21517 bitField1_ |= 0x00000040;
21532 bitField1_ = (bitField1_ & ~0x00000040);
21533 numConflictsBeforeStrategyChanges_ = 0;
21538 private double strategyChangeIncreaseRatio_ ;
21548 @java.lang.Override
21550 return ((bitField1_ & 0x00000080) != 0);
21561 @java.lang.Override
21563 return strategyChangeIncreaseRatio_;
21577 strategyChangeIncreaseRatio_ = value;
21578 bitField1_ |= 0x00000080;
21592 bitField1_ = (bitField1_ & ~0x00000080);
21593 strategyChangeIncreaseRatio_ = 0D;
21598 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
21608 @java.lang.Override
21610 return ((bitField1_ & 0x00000100) != 0);
21621 @java.lang.Override
21623 return maxTimeInSeconds_;
21637 maxTimeInSeconds_ = value;
21638 bitField1_ |= 0x00000100;
21652 bitField1_ = (bitField1_ & ~0x00000100);
21653 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
21658 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
21669 @java.lang.Override
21671 return ((bitField1_ & 0x00000200) != 0);
21683 @java.lang.Override
21685 return maxDeterministicTime_;
21700 maxDeterministicTime_ = value;
21701 bitField1_ |= 0x00000200;
21716 bitField1_ = (bitField1_ & ~0x00000200);
21717 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
21722 private int maxNumDeterministicBatches_ ;
21732 @java.lang.Override
21734 return ((bitField1_ & 0x00000400) != 0);
21745 @java.lang.Override
21747 return maxNumDeterministicBatches_;
21761 maxNumDeterministicBatches_ = value;
21762 bitField1_ |= 0x00000400;
21776 bitField1_ = (bitField1_ & ~0x00000400);
21777 maxNumDeterministicBatches_ = 0;
21782 private long maxNumberOfConflicts_ = 9223372036854775807L;
21797 @java.lang.Override
21799 return ((bitField1_ & 0x00000800) != 0);
21815 @java.lang.Override
21817 return maxNumberOfConflicts_;
21836 maxNumberOfConflicts_ = value;
21837 bitField1_ |= 0x00000800;
21856 bitField1_ = (bitField1_ & ~0x00000800);
21857 maxNumberOfConflicts_ = 9223372036854775807L;
21862 private long maxMemoryInMb_ = 10000L;
21876 @java.lang.Override
21878 return ((bitField1_ & 0x00001000) != 0);
21893 @java.lang.Override
21895 return maxMemoryInMb_;
21913 maxMemoryInMb_ = value;
21914 bitField1_ |= 0x00001000;
21932 bitField1_ = (bitField1_ & ~0x00001000);
21933 maxMemoryInMb_ = 10000L;
21938 private double absoluteGapLimit_ = 0.0001D;
21964 @java.lang.Override
21966 return ((bitField1_ & 0x00002000) != 0);
21993 @java.lang.Override
21995 return absoluteGapLimit_;
22025 absoluteGapLimit_ = value;
22026 bitField1_ |= 0x00002000;
22056 bitField1_ = (bitField1_ & ~0x00002000);
22057 absoluteGapLimit_ = 0.0001D;
22062 private double relativeGapLimit_ ;
22067 @java.lang.Override
22069 return ((bitField1_ & 0x00004000) != 0);
22075 @java.lang.Override
22077 return relativeGapLimit_;
22086 relativeGapLimit_ = value;
22087 bitField1_ |= 0x00004000;
22096 bitField1_ = (bitField1_ & ~0x00004000);
22097 relativeGapLimit_ = 0D;
22102 private int randomSeed_ = 1;
22117 @java.lang.Override
22119 return ((bitField1_ & 0x00008000) != 0);
22135 @java.lang.Override
22137 return randomSeed_;
22156 randomSeed_ = value;
22157 bitField1_ |= 0x00008000;
22176 bitField1_ = (bitField1_ & ~0x00008000);
22182 private boolean permuteVariableRandomly_ ;
22194 @java.lang.Override
22196 return ((bitField1_ & 0x00010000) != 0);
22209 @java.lang.Override
22211 return permuteVariableRandomly_;
22227 permuteVariableRandomly_ = value;
22228 bitField1_ |= 0x00010000;
22244 bitField1_ = (bitField1_ & ~0x00010000);
22245 permuteVariableRandomly_ =
false;
22250 private boolean permutePresolveConstraintOrder_ ;
22255 @java.lang.Override
22257 return ((bitField1_ & 0x00020000) != 0);
22263 @java.lang.Override
22265 return permutePresolveConstraintOrder_;
22274 permutePresolveConstraintOrder_ = value;
22275 bitField1_ |= 0x00020000;
22284 bitField1_ = (bitField1_ & ~0x00020000);
22285 permutePresolveConstraintOrder_ =
false;
22290 private boolean useAbslRandom_ ;
22295 @java.lang.Override
22297 return ((bitField1_ & 0x00040000) != 0);
22303 @java.lang.Override
22305 return useAbslRandom_;
22314 useAbslRandom_ = value;
22315 bitField1_ |= 0x00040000;
22324 bitField1_ = (bitField1_ & ~0x00040000);
22325 useAbslRandom_ =
false;
22330 private boolean logSearchProgress_ ;
22341 @java.lang.Override
22343 return ((bitField1_ & 0x00080000) != 0);
22355 @java.lang.Override
22357 return logSearchProgress_;
22372 logSearchProgress_ = value;
22373 bitField1_ |= 0x00080000;
22388 bitField1_ = (bitField1_ & ~0x00080000);
22389 logSearchProgress_ =
false;
22394 private boolean logSubsolverStatistics_ ;
22406 @java.lang.Override
22408 return ((bitField1_ & 0x00100000) != 0);
22421 @java.lang.Override
22423 return logSubsolverStatistics_;
22439 logSubsolverStatistics_ = value;
22440 bitField1_ |= 0x00100000;
22456 bitField1_ = (bitField1_ & ~0x00100000);
22457 logSubsolverStatistics_ =
false;
22462 private java.lang.Object logPrefix_ =
"";
22472 return ((bitField1_ & 0x00200000) != 0);
22483 java.lang.Object ref = logPrefix_;
22484 if (!(ref instanceof java.lang.String)) {
22485 com.google.protobuf.ByteString bs =
22486 (com.google.protobuf.ByteString) ref;
22487 java.lang.String s = bs.toStringUtf8();
22488 if (bs.isValidUtf8()) {
22493 return (java.lang.String) ref;
22504 public com.google.protobuf.ByteString
22506 java.lang.Object ref = logPrefix_;
22507 if (ref instanceof String) {
22508 com.google.protobuf.ByteString b =
22509 com.google.protobuf.ByteString.copyFromUtf8(
22510 (java.lang.String) ref);
22514 return (com.google.protobuf.ByteString) ref;
22527 java.lang.String value) {
22528 if (value ==
null) {
throw new NullPointerException(); }
22529 logPrefix_ = value;
22530 bitField1_ |= 0x00200000;
22544 bitField1_ = (bitField1_ & ~0x00200000);
22558 com.google.protobuf.ByteString value) {
22559 if (value ==
null) {
throw new NullPointerException(); }
22560 logPrefix_ = value;
22561 bitField1_ |= 0x00200000;
22566 private boolean logToStdout_ =
true;
22575 @java.lang.Override
22577 return ((bitField1_ & 0x00400000) != 0);
22587 @java.lang.Override
22589 return logToStdout_;
22602 logToStdout_ = value;
22603 bitField1_ |= 0x00400000;
22616 bitField1_ = (bitField1_ & ~0x00400000);
22617 logToStdout_ =
true;
22622 private boolean logToResponse_ ;
22631 @java.lang.Override
22633 return ((bitField1_ & 0x00800000) != 0);
22643 @java.lang.Override
22645 return logToResponse_;
22658 logToResponse_ = value;
22659 bitField1_ |= 0x00800000;
22672 bitField1_ = (bitField1_ & ~0x00800000);
22673 logToResponse_ =
false;
22678 private boolean usePbResolution_ ;
22690 @java.lang.Override
22692 return ((bitField1_ & 0x01000000) != 0);
22705 @java.lang.Override
22707 return usePbResolution_;
22723 usePbResolution_ = value;
22724 bitField1_ |= 0x01000000;
22740 bitField1_ = (bitField1_ & ~0x01000000);
22741 usePbResolution_ =
false;
22746 private boolean minimizeReductionDuringPbResolution_ ;
22758 @java.lang.Override
22760 return ((bitField1_ & 0x02000000) != 0);
22773 @java.lang.Override
22775 return minimizeReductionDuringPbResolution_;
22791 minimizeReductionDuringPbResolution_ = value;
22792 bitField1_ |= 0x02000000;
22808 bitField1_ = (bitField1_ & ~0x02000000);
22809 minimizeReductionDuringPbResolution_ =
false;
22814 private boolean countAssumptionLevelsInLbd_ =
true;
22831 @java.lang.Override
22833 return ((bitField1_ & 0x04000000) != 0);
22851 @java.lang.Override
22853 return countAssumptionLevelsInLbd_;
22874 countAssumptionLevelsInLbd_ = value;
22875 bitField1_ |= 0x04000000;
22896 bitField1_ = (bitField1_ & ~0x04000000);
22897 countAssumptionLevelsInLbd_ =
true;
22902 private int presolveBveThreshold_ = 500;
22913 @java.lang.Override
22915 return ((bitField1_ & 0x08000000) != 0);
22927 @java.lang.Override
22929 return presolveBveThreshold_;
22944 presolveBveThreshold_ = value;
22945 bitField1_ |= 0x08000000;
22960 bitField1_ = (bitField1_ & ~0x08000000);
22961 presolveBveThreshold_ = 500;
22966 private int presolveBveClauseWeight_ = 3;
22976 @java.lang.Override
22978 return ((bitField1_ & 0x10000000) != 0);
22989 @java.lang.Override
22991 return presolveBveClauseWeight_;
23005 presolveBveClauseWeight_ = value;
23006 bitField1_ |= 0x10000000;
23020 bitField1_ = (bitField1_ & ~0x10000000);
23021 presolveBveClauseWeight_ = 3;
23026 private double probingDeterministicTimeLimit_ = 1D;
23039 @java.lang.Override
23041 return ((bitField1_ & 0x20000000) != 0);
23055 @java.lang.Override
23057 return probingDeterministicTimeLimit_;
23074 probingDeterministicTimeLimit_ = value;
23075 bitField1_ |= 0x20000000;
23092 bitField1_ = (bitField1_ & ~0x20000000);
23093 probingDeterministicTimeLimit_ = 1D;
23098 private double presolveProbingDeterministicTimeLimit_ = 30D;
23103 @java.lang.Override
23105 return ((bitField1_ & 0x40000000) != 0);
23111 @java.lang.Override
23113 return presolveProbingDeterministicTimeLimit_;
23122 presolveProbingDeterministicTimeLimit_ = value;
23123 bitField1_ |= 0x40000000;
23132 bitField1_ = (bitField1_ & ~0x40000000);
23133 presolveProbingDeterministicTimeLimit_ = 30D;
23138 private boolean presolveBlockedClause_ =
true;
23148 @java.lang.Override
23150 return ((bitField1_ & 0x80000000) != 0);
23161 @java.lang.Override
23163 return presolveBlockedClause_;
23177 presolveBlockedClause_ = value;
23178 bitField1_ |= 0x80000000;
23192 bitField1_ = (bitField1_ & ~0x80000000);
23193 presolveBlockedClause_ =
true;
23198 private boolean presolveUseBva_ =
true;
23207 @java.lang.Override
23209 return ((bitField2_ & 0x00000001) != 0);
23219 @java.lang.Override
23221 return presolveUseBva_;
23234 presolveUseBva_ = value;
23235 bitField2_ |= 0x00000001;
23248 bitField2_ = (bitField2_ & ~0x00000001);
23249 presolveUseBva_ =
true;
23254 private int presolveBvaThreshold_ = 1;
23266 @java.lang.Override
23268 return ((bitField2_ & 0x00000002) != 0);
23281 @java.lang.Override
23283 return presolveBvaThreshold_;
23299 presolveBvaThreshold_ = value;
23300 bitField2_ |= 0x00000002;
23316 bitField2_ = (bitField2_ & ~0x00000002);
23317 presolveBvaThreshold_ = 1;
23322 private int maxPresolveIterations_ = 3;
23333 @java.lang.Override
23335 return ((bitField2_ & 0x00000004) != 0);
23347 @java.lang.Override
23349 return maxPresolveIterations_;
23364 maxPresolveIterations_ = value;
23365 bitField2_ |= 0x00000004;
23380 bitField2_ = (bitField2_ & ~0x00000004);
23381 maxPresolveIterations_ = 3;
23386 private boolean cpModelPresolve_ =
true;
23395 @java.lang.Override
23397 return ((bitField2_ & 0x00000008) != 0);
23407 @java.lang.Override
23409 return cpModelPresolve_;
23422 cpModelPresolve_ = value;
23423 bitField2_ |= 0x00000008;
23436 bitField2_ = (bitField2_ & ~0x00000008);
23437 cpModelPresolve_ =
true;
23442 private int cpModelProbingLevel_ = 2;
23451 @java.lang.Override
23453 return ((bitField2_ & 0x00000010) != 0);
23463 @java.lang.Override
23465 return cpModelProbingLevel_;
23478 cpModelProbingLevel_ = value;
23479 bitField2_ |= 0x00000010;
23492 bitField2_ = (bitField2_ & ~0x00000010);
23493 cpModelProbingLevel_ = 2;
23498 private boolean cpModelUseSatPresolve_ =
true;
23507 @java.lang.Override
23509 return ((bitField2_ & 0x00000020) != 0);
23519 @java.lang.Override
23521 return cpModelUseSatPresolve_;
23534 cpModelUseSatPresolve_ = value;
23535 bitField2_ |= 0x00000020;
23548 bitField2_ = (bitField2_ & ~0x00000020);
23549 cpModelUseSatPresolve_ =
true;
23554 private boolean removeFixedVariablesEarly_ =
true;
23566 @java.lang.Override
23568 return ((bitField2_ & 0x00000040) != 0);
23581 @java.lang.Override
23583 return removeFixedVariablesEarly_;
23599 removeFixedVariablesEarly_ = value;
23600 bitField2_ |= 0x00000040;
23616 bitField2_ = (bitField2_ & ~0x00000040);
23617 removeFixedVariablesEarly_ =
true;
23622 private boolean detectTableWithCost_ ;
23636 @java.lang.Override
23638 return ((bitField2_ & 0x00000080) != 0);
23653 @java.lang.Override
23655 return detectTableWithCost_;
23673 detectTableWithCost_ = value;
23674 bitField2_ |= 0x00000080;
23692 bitField2_ = (bitField2_ & ~0x00000080);
23693 detectTableWithCost_ =
false;
23698 private int tableCompressionLevel_ = 2;
23710 @java.lang.Override
23712 return ((bitField2_ & 0x00000100) != 0);
23725 @java.lang.Override
23727 return tableCompressionLevel_;
23743 tableCompressionLevel_ = value;
23744 bitField2_ |= 0x00000100;
23760 bitField2_ = (bitField2_ & ~0x00000100);
23761 tableCompressionLevel_ = 2;
23766 private boolean expandAlldiffConstraints_ ;
23776 @java.lang.Override
23778 return ((bitField2_ & 0x00000200) != 0);
23789 @java.lang.Override
23791 return expandAlldiffConstraints_;
23805 expandAlldiffConstraints_ = value;
23806 bitField2_ |= 0x00000200;
23820 bitField2_ = (bitField2_ & ~0x00000200);
23821 expandAlldiffConstraints_ =
false;
23826 private boolean expandReservoirConstraints_ =
true;
23836 @java.lang.Override
23838 return ((bitField2_ & 0x00000400) != 0);
23849 @java.lang.Override
23851 return expandReservoirConstraints_;
23865 expandReservoirConstraints_ = value;
23866 bitField2_ |= 0x00000400;
23880 bitField2_ = (bitField2_ & ~0x00000400);
23881 expandReservoirConstraints_ =
true;
23886 private boolean expandReservoirUsingCircuit_ ;
23908 @java.lang.Override
23910 return ((bitField2_ & 0x00000800) != 0);
23933 @java.lang.Override
23935 return expandReservoirUsingCircuit_;
23961 expandReservoirUsingCircuit_ = value;
23962 bitField2_ |= 0x00000800;
23988 bitField2_ = (bitField2_ & ~0x00000800);
23989 expandReservoirUsingCircuit_ =
false;
23994 private boolean encodeCumulativeAsReservoir_ ;
24005 @java.lang.Override
24007 return ((bitField2_ & 0x00001000) != 0);
24019 @java.lang.Override
24021 return encodeCumulativeAsReservoir_;
24036 encodeCumulativeAsReservoir_ = value;
24037 bitField2_ |= 0x00001000;
24052 bitField2_ = (bitField2_ & ~0x00001000);
24053 encodeCumulativeAsReservoir_ =
false;
24058 private int maxLinMaxSizeForExpansion_ ;
24071 @java.lang.Override
24073 return ((bitField2_ & 0x00002000) != 0);
24087 @java.lang.Override
24089 return maxLinMaxSizeForExpansion_;
24106 maxLinMaxSizeForExpansion_ = value;
24107 bitField2_ |= 0x00002000;
24124 bitField2_ = (bitField2_ & ~0x00002000);
24125 maxLinMaxSizeForExpansion_ = 0;
24130 private boolean disableConstraintExpansion_ ;
24140 @java.lang.Override
24142 return ((bitField2_ & 0x00004000) != 0);
24153 @java.lang.Override
24155 return disableConstraintExpansion_;
24169 disableConstraintExpansion_ = value;
24170 bitField2_ |= 0x00004000;
24184 bitField2_ = (bitField2_ & ~0x00004000);
24185 disableConstraintExpansion_ =
false;
24190 private boolean encodeComplexLinearConstraintWithInteger_ ;
24200 @java.lang.Override
24202 return ((bitField2_ & 0x00008000) != 0);
24213 @java.lang.Override
24215 return encodeComplexLinearConstraintWithInteger_;
24229 encodeComplexLinearConstraintWithInteger_ = value;
24230 bitField2_ |= 0x00008000;
24244 bitField2_ = (bitField2_ & ~0x00008000);
24245 encodeComplexLinearConstraintWithInteger_ =
false;
24250 private double mergeNoOverlapWorkLimit_ = 1000000000000D;
24263 @java.lang.Override
24265 return ((bitField2_ & 0x00010000) != 0);
24279 @java.lang.Override
24281 return mergeNoOverlapWorkLimit_;
24298 mergeNoOverlapWorkLimit_ = value;
24299 bitField2_ |= 0x00010000;
24316 bitField2_ = (bitField2_ & ~0x00010000);
24317 mergeNoOverlapWorkLimit_ = 1000000000000D;
24322 private double mergeAtMostOneWorkLimit_ = 100000000D;
24327 @java.lang.Override
24329 return ((bitField2_ & 0x00020000) != 0);
24335 @java.lang.Override
24337 return mergeAtMostOneWorkLimit_;
24346 mergeAtMostOneWorkLimit_ = value;
24347 bitField2_ |= 0x00020000;
24356 bitField2_ = (bitField2_ & ~0x00020000);
24357 mergeAtMostOneWorkLimit_ = 100000000D;
24362 private int presolveSubstitutionLevel_ = 1;
24374 @java.lang.Override
24376 return ((bitField2_ & 0x00040000) != 0);
24389 @java.lang.Override
24391 return presolveSubstitutionLevel_;
24407 presolveSubstitutionLevel_ = value;
24408 bitField2_ |= 0x00040000;
24424 bitField2_ = (bitField2_ & ~0x00040000);
24425 presolveSubstitutionLevel_ = 1;
24430 private boolean presolveExtractIntegerEnforcement_ ;
24444 @java.lang.Override
24446 return ((bitField2_ & 0x00080000) != 0);
24461 @java.lang.Override
24463 return presolveExtractIntegerEnforcement_;
24481 presolveExtractIntegerEnforcement_ = value;
24482 bitField2_ |= 0x00080000;
24500 bitField2_ = (bitField2_ & ~0x00080000);
24501 presolveExtractIntegerEnforcement_ =
false;
24506 private long presolveInclusionWorkLimit_ = 100000000L;
24521 @java.lang.Override
24523 return ((bitField2_ & 0x00100000) != 0);
24539 @java.lang.Override
24541 return presolveInclusionWorkLimit_;
24560 presolveInclusionWorkLimit_ = value;
24561 bitField2_ |= 0x00100000;
24580 bitField2_ = (bitField2_ & ~0x00100000);
24581 presolveInclusionWorkLimit_ = 100000000L;
24586 private boolean ignoreNames_ =
true;
24595 @java.lang.Override
24597 return ((bitField2_ & 0x00200000) != 0);
24607 @java.lang.Override
24609 return ignoreNames_;
24622 ignoreNames_ = value;
24623 bitField2_ |= 0x00200000;
24636 bitField2_ = (bitField2_ & ~0x00200000);
24637 ignoreNames_ =
true;
24642 private boolean inferAllDiffs_ =
true;
24658 @java.lang.Override
24660 return ((bitField2_ & 0x00400000) != 0);
24677 @java.lang.Override
24679 return inferAllDiffs_;
24699 inferAllDiffs_ = value;
24700 bitField2_ |= 0x00400000;
24720 bitField2_ = (bitField2_ & ~0x00400000);
24721 inferAllDiffs_ =
true;
24726 private boolean findBigLinearOverlap_ =
true;
24738 @java.lang.Override
24740 return ((bitField2_ & 0x00800000) != 0);
24753 @java.lang.Override
24755 return findBigLinearOverlap_;
24771 findBigLinearOverlap_ = value;
24772 bitField2_ |= 0x00800000;
24788 bitField2_ = (bitField2_ & ~0x00800000);
24789 findBigLinearOverlap_ =
true;
24794 private boolean useSatInprocessing_ =
true;
24804 @java.lang.Override
24806 return ((bitField2_ & 0x01000000) != 0);
24817 @java.lang.Override
24819 return useSatInprocessing_;
24833 useSatInprocessing_ = value;
24834 bitField2_ |= 0x01000000;
24848 bitField2_ = (bitField2_ & ~0x01000000);
24849 useSatInprocessing_ =
true;
24854 private double inprocessingDtimeRatio_ = 0.2D;
24865 @java.lang.Override
24867 return ((bitField2_ & 0x02000000) != 0);
24879 @java.lang.Override
24881 return inprocessingDtimeRatio_;
24896 inprocessingDtimeRatio_ = value;
24897 bitField2_ |= 0x02000000;
24912 bitField2_ = (bitField2_ & ~0x02000000);
24913 inprocessingDtimeRatio_ = 0.2D;
24918 private double inprocessingProbingDtime_ = 1D;
24927 @java.lang.Override
24929 return ((bitField2_ & 0x04000000) != 0);
24939 @java.lang.Override
24941 return inprocessingProbingDtime_;
24954 inprocessingProbingDtime_ = value;
24955 bitField2_ |= 0x04000000;
24968 bitField2_ = (bitField2_ & ~0x04000000);
24969 inprocessingProbingDtime_ = 1D;
24974 private double inprocessingMinimizationDtime_ = 1D;
24992 @java.lang.Override
24994 return ((bitField2_ & 0x08000000) != 0);
25013 @java.lang.Override
25015 return inprocessingMinimizationDtime_;
25037 inprocessingMinimizationDtime_ = value;
25038 bitField2_ |= 0x08000000;
25060 bitField2_ = (bitField2_ & ~0x08000000);
25061 inprocessingMinimizationDtime_ = 1D;
25066 private boolean inprocessingMinimizationUseConflictAnalysis_ =
true;
25071 @java.lang.Override
25073 return ((bitField2_ & 0x10000000) != 0);
25079 @java.lang.Override
25081 return inprocessingMinimizationUseConflictAnalysis_;
25090 inprocessingMinimizationUseConflictAnalysis_ = value;
25091 bitField2_ |= 0x10000000;
25100 bitField2_ = (bitField2_ & ~0x10000000);
25101 inprocessingMinimizationUseConflictAnalysis_ =
true;
25106 private boolean inprocessingMinimizationUseAllOrderings_ ;
25111 @java.lang.Override
25113 return ((bitField2_ & 0x20000000) != 0);
25119 @java.lang.Override
25121 return inprocessingMinimizationUseAllOrderings_;
25130 inprocessingMinimizationUseAllOrderings_ = value;
25131 bitField2_ |= 0x20000000;
25140 bitField2_ = (bitField2_ & ~0x20000000);
25141 inprocessingMinimizationUseAllOrderings_ =
false;
25146 private int numWorkers_ ;
25168 @java.lang.Override
25170 return ((bitField2_ & 0x40000000) != 0);
25193 @java.lang.Override
25195 return numWorkers_;
25221 numWorkers_ = value;
25222 bitField2_ |= 0x40000000;
25248 bitField2_ = (bitField2_ & ~0x40000000);
25254 private int numSearchWorkers_ ;
25259 @java.lang.Override
25261 return ((bitField2_ & 0x80000000) != 0);
25267 @java.lang.Override
25269 return numSearchWorkers_;
25278 numSearchWorkers_ = value;
25279 bitField2_ |= 0x80000000;
25288 bitField2_ = (bitField2_ & ~0x80000000);
25289 numSearchWorkers_ = 0;
25294 private int numFullSubsolvers_ ;
25307 @java.lang.Override
25309 return ((bitField3_ & 0x00000001) != 0);
25323 @java.lang.Override
25325 return numFullSubsolvers_;
25342 numFullSubsolvers_ = value;
25343 bitField3_ |= 0x00000001;
25360 bitField3_ = (bitField3_ & ~0x00000001);
25361 numFullSubsolvers_ = 0;
25366 private com.google.protobuf.LazyStringArrayList subsolvers_ =
25367 com.google.protobuf.LazyStringArrayList.emptyList();
25368 private void ensureSubsolversIsMutable() {
25369 if (!subsolvers_.isModifiable()) {
25370 subsolvers_ =
new com.google.protobuf.LazyStringArrayList(subsolvers_);
25372 bitField3_ |= 0x00000002;
25406 public com.google.protobuf.ProtocolStringList
25408 subsolvers_.makeImmutable();
25409 return subsolvers_;
25444 return subsolvers_.size();
25480 return subsolvers_.get(index);
25515 public com.google.protobuf.ByteString
25517 return subsolvers_.getByteString(index);
25554 int index, java.lang.String value) {
25555 if (value ==
null) {
throw new NullPointerException(); }
25556 ensureSubsolversIsMutable();
25557 subsolvers_.set(index, value);
25558 bitField3_ |= 0x00000002;
25596 java.lang.String value) {
25597 if (value ==
null) {
throw new NullPointerException(); }
25598 ensureSubsolversIsMutable();
25599 subsolvers_.add(value);
25600 bitField3_ |= 0x00000002;
25638 java.lang.Iterable<java.lang.String> values) {
25639 ensureSubsolversIsMutable();
25640 com.google.protobuf.AbstractMessageLite.Builder.addAll(
25641 values, subsolvers_);
25642 bitField3_ |= 0x00000002;
25680 com.google.protobuf.LazyStringArrayList.emptyList();
25681 bitField3_ = (bitField3_ & ~0x00000002);;
25719 com.google.protobuf.ByteString value) {
25720 if (value ==
null) {
throw new NullPointerException(); }
25721 ensureSubsolversIsMutable();
25722 subsolvers_.add(value);
25723 bitField3_ |= 0x00000002;
25728 private com.google.protobuf.LazyStringArrayList extraSubsolvers_ =
25729 com.google.protobuf.LazyStringArrayList.emptyList();
25730 private void ensureExtraSubsolversIsMutable() {
25731 if (!extraSubsolvers_.isModifiable()) {
25732 extraSubsolvers_ =
new com.google.protobuf.LazyStringArrayList(extraSubsolvers_);
25734 bitField3_ |= 0x00000004;
25745 public com.google.protobuf.ProtocolStringList
25747 extraSubsolvers_.makeImmutable();
25748 return extraSubsolvers_;
25760 return extraSubsolvers_.size();
25773 return extraSubsolvers_.get(index);
25785 public com.google.protobuf.ByteString
25787 return extraSubsolvers_.getByteString(index);
25801 int index, java.lang.String value) {
25802 if (value ==
null) {
throw new NullPointerException(); }
25803 ensureExtraSubsolversIsMutable();
25804 extraSubsolvers_.set(index, value);
25805 bitField3_ |= 0x00000004;
25820 java.lang.String value) {
25821 if (value ==
null) {
throw new NullPointerException(); }
25822 ensureExtraSubsolversIsMutable();
25823 extraSubsolvers_.add(value);
25824 bitField3_ |= 0x00000004;
25839 java.lang.Iterable<java.lang.String> values) {
25840 ensureExtraSubsolversIsMutable();
25841 com.google.protobuf.AbstractMessageLite.Builder.addAll(
25842 values, extraSubsolvers_);
25843 bitField3_ |= 0x00000004;
25858 com.google.protobuf.LazyStringArrayList.emptyList();
25859 bitField3_ = (bitField3_ & ~0x00000004);;
25874 com.google.protobuf.ByteString value) {
25875 if (value ==
null) {
throw new NullPointerException(); }
25876 ensureExtraSubsolversIsMutable();
25877 extraSubsolvers_.add(value);
25878 bitField3_ |= 0x00000004;
25883 private com.google.protobuf.LazyStringArrayList ignoreSubsolvers_ =
25884 com.google.protobuf.LazyStringArrayList.emptyList();
25885 private void ensureIgnoreSubsolversIsMutable() {
25886 if (!ignoreSubsolvers_.isModifiable()) {
25887 ignoreSubsolvers_ =
new com.google.protobuf.LazyStringArrayList(ignoreSubsolvers_);
25889 bitField3_ |= 0x00000008;
25907 public com.google.protobuf.ProtocolStringList
25909 ignoreSubsolvers_.makeImmutable();
25910 return ignoreSubsolvers_;
25929 return ignoreSubsolvers_.size();
25949 return ignoreSubsolvers_.get(index);
25968 public com.google.protobuf.ByteString
25970 return ignoreSubsolvers_.getByteString(index);
25991 int index, java.lang.String value) {
25992 if (value ==
null) {
throw new NullPointerException(); }
25993 ensureIgnoreSubsolversIsMutable();
25994 ignoreSubsolvers_.set(index, value);
25995 bitField3_ |= 0x00000008;
26017 java.lang.String value) {
26018 if (value ==
null) {
throw new NullPointerException(); }
26019 ensureIgnoreSubsolversIsMutable();
26020 ignoreSubsolvers_.add(value);
26021 bitField3_ |= 0x00000008;
26043 java.lang.Iterable<java.lang.String> values) {
26044 ensureIgnoreSubsolversIsMutable();
26045 com.google.protobuf.AbstractMessageLite.Builder.addAll(
26046 values, ignoreSubsolvers_);
26047 bitField3_ |= 0x00000008;
26068 ignoreSubsolvers_ =
26069 com.google.protobuf.LazyStringArrayList.emptyList();
26070 bitField3_ = (bitField3_ & ~0x00000008);;
26092 com.google.protobuf.ByteString value) {
26093 if (value ==
null) {
throw new NullPointerException(); }
26094 ensureIgnoreSubsolversIsMutable();
26095 ignoreSubsolvers_.add(value);
26096 bitField3_ |= 0x00000008;
26101 private com.google.protobuf.LazyStringArrayList filterSubsolvers_ =
26102 com.google.protobuf.LazyStringArrayList.emptyList();
26103 private void ensureFilterSubsolversIsMutable() {
26104 if (!filterSubsolvers_.isModifiable()) {
26105 filterSubsolvers_ =
new com.google.protobuf.LazyStringArrayList(filterSubsolvers_);
26107 bitField3_ |= 0x00000010;
26113 public com.google.protobuf.ProtocolStringList
26115 filterSubsolvers_.makeImmutable();
26116 return filterSubsolvers_;
26123 return filterSubsolvers_.size();
26131 return filterSubsolvers_.get(index);
26138 public com.google.protobuf.ByteString
26140 return filterSubsolvers_.getByteString(index);
26149 int index, java.lang.String value) {
26150 if (value ==
null) {
throw new NullPointerException(); }
26151 ensureFilterSubsolversIsMutable();
26152 filterSubsolvers_.set(index, value);
26153 bitField3_ |= 0x00000010;
26163 java.lang.String value) {
26164 if (value ==
null) {
throw new NullPointerException(); }
26165 ensureFilterSubsolversIsMutable();
26166 filterSubsolvers_.add(value);
26167 bitField3_ |= 0x00000010;
26177 java.lang.Iterable<java.lang.String> values) {
26178 ensureFilterSubsolversIsMutable();
26179 com.google.protobuf.AbstractMessageLite.Builder.addAll(
26180 values, filterSubsolvers_);
26181 bitField3_ |= 0x00000010;
26190 filterSubsolvers_ =
26191 com.google.protobuf.LazyStringArrayList.emptyList();
26192 bitField3_ = (bitField3_ & ~0x00000010);;
26202 com.google.protobuf.ByteString value) {
26203 if (value ==
null) {
throw new NullPointerException(); }
26204 ensureFilterSubsolversIsMutable();
26205 filterSubsolvers_.add(value);
26206 bitField3_ |= 0x00000010;
26211 private java.util.List<com.google.ortools.sat.SatParameters> subsolverParams_ =
26212 java.util.Collections.emptyList();
26213 private void ensureSubsolverParamsIsMutable() {
26214 if (!((bitField3_ & 0x00000020) != 0)) {
26215 subsolverParams_ =
new java.util.ArrayList<com.google.ortools.sat.SatParameters>(subsolverParams_);
26216 bitField3_ |= 0x00000020;
26220 private com.google.protobuf.RepeatedFieldBuilder<
26221 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder> subsolverParamsBuilder_;
26235 if (subsolverParamsBuilder_ ==
null) {
26236 return java.util.Collections.unmodifiableList(subsolverParams_);
26238 return subsolverParamsBuilder_.getMessageList();
26253 if (subsolverParamsBuilder_ ==
null) {
26254 return subsolverParams_.size();
26256 return subsolverParamsBuilder_.getCount();
26271 if (subsolverParamsBuilder_ ==
null) {
26272 return subsolverParams_.get(index);
26274 return subsolverParamsBuilder_.getMessage(index);
26289 int index, com.google.ortools.sat.SatParameters value) {
26290 if (subsolverParamsBuilder_ ==
null) {
26291 if (value ==
null) {
26292 throw new NullPointerException();
26294 ensureSubsolverParamsIsMutable();
26295 subsolverParams_.set(index, value);
26298 subsolverParamsBuilder_.setMessage(index, value);
26314 int index, com.google.ortools.sat.SatParameters.Builder builderForValue) {
26315 if (subsolverParamsBuilder_ ==
null) {
26316 ensureSubsolverParamsIsMutable();
26317 subsolverParams_.set(index, builderForValue.build());
26320 subsolverParamsBuilder_.setMessage(index, builderForValue.build());
26336 if (subsolverParamsBuilder_ ==
null) {
26337 if (value ==
null) {
26338 throw new NullPointerException();
26340 ensureSubsolverParamsIsMutable();
26341 subsolverParams_.add(value);
26344 subsolverParamsBuilder_.addMessage(value);
26360 int index, com.google.ortools.sat.SatParameters value) {
26361 if (subsolverParamsBuilder_ ==
null) {
26362 if (value ==
null) {
26363 throw new NullPointerException();
26365 ensureSubsolverParamsIsMutable();
26366 subsolverParams_.add(index, value);
26369 subsolverParamsBuilder_.addMessage(index, value);
26385 com.google.ortools.sat.SatParameters.Builder builderForValue) {
26386 if (subsolverParamsBuilder_ ==
null) {
26387 ensureSubsolverParamsIsMutable();
26388 subsolverParams_.add(builderForValue.build());
26391 subsolverParamsBuilder_.addMessage(builderForValue.build());
26407 int index, com.google.ortools.sat.SatParameters.Builder builderForValue) {
26408 if (subsolverParamsBuilder_ ==
null) {
26409 ensureSubsolverParamsIsMutable();
26410 subsolverParams_.add(index, builderForValue.build());
26413 subsolverParamsBuilder_.addMessage(index, builderForValue.build());
26429 java.lang.Iterable<? extends com.google.ortools.sat.SatParameters> values) {
26430 if (subsolverParamsBuilder_ ==
null) {
26431 ensureSubsolverParamsIsMutable();
26432 com.google.protobuf.AbstractMessageLite.Builder.addAll(
26433 values, subsolverParams_);
26436 subsolverParamsBuilder_.addAllMessages(values);
26452 if (subsolverParamsBuilder_ ==
null) {
26453 subsolverParams_ = java.util.Collections.emptyList();
26454 bitField3_ = (bitField3_ & ~0x00000020);
26457 subsolverParamsBuilder_.clear();
26473 if (subsolverParamsBuilder_ ==
null) {
26474 ensureSubsolverParamsIsMutable();
26475 subsolverParams_.remove(index);
26478 subsolverParamsBuilder_.remove(index);
26495 return getSubsolverParamsFieldBuilder().getBuilder(index);
26510 if (subsolverParamsBuilder_ ==
null) {
26511 return subsolverParams_.get(index); }
else {
26512 return subsolverParamsBuilder_.getMessageOrBuilder(index);
26526 public java.util.List<? extends com.google.ortools.sat.SatParametersOrBuilder>
26528 if (subsolverParamsBuilder_ !=
null) {
26529 return subsolverParamsBuilder_.getMessageOrBuilderList();
26531 return java.util.Collections.unmodifiableList(subsolverParams_);
26546 return getSubsolverParamsFieldBuilder().addBuilder(
26547 com.google.ortools.sat.SatParameters.getDefaultInstance());
26562 return getSubsolverParamsFieldBuilder().addBuilder(
26563 index, com.google.ortools.sat.SatParameters.getDefaultInstance());
26576 public java.util.List<com.google.ortools.sat.SatParameters.Builder>
26578 return getSubsolverParamsFieldBuilder().getBuilderList();
26580 private com.google.protobuf.RepeatedFieldBuilder<
26581 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder>
26582 getSubsolverParamsFieldBuilder() {
26583 if (subsolverParamsBuilder_ ==
null) {
26584 subsolverParamsBuilder_ =
new com.google.protobuf.RepeatedFieldBuilder<
26585 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder>(
26587 ((bitField3_ & 0x00000020) != 0),
26588 getParentForChildren(),
26590 subsolverParams_ =
null;
26592 return subsolverParamsBuilder_;
26595 private boolean interleaveSearch_ ;
26609 @java.lang.Override
26611 return ((bitField3_ & 0x00000040) != 0);
26626 @java.lang.Override
26628 return interleaveSearch_;
26646 interleaveSearch_ = value;
26647 bitField3_ |= 0x00000040;
26665 bitField3_ = (bitField3_ & ~0x00000040);
26666 interleaveSearch_ =
false;
26671 private int interleaveBatchSize_ ;
26676 @java.lang.Override
26678 return ((bitField3_ & 0x00000080) != 0);
26684 @java.lang.Override
26686 return interleaveBatchSize_;
26695 interleaveBatchSize_ = value;
26696 bitField3_ |= 0x00000080;
26705 bitField3_ = (bitField3_ & ~0x00000080);
26706 interleaveBatchSize_ = 0;
26711 private boolean shareObjectiveBounds_ =
true;
26720 @java.lang.Override
26722 return ((bitField3_ & 0x00000100) != 0);
26732 @java.lang.Override
26734 return shareObjectiveBounds_;
26747 shareObjectiveBounds_ = value;
26748 bitField3_ |= 0x00000100;
26761 bitField3_ = (bitField3_ & ~0x00000100);
26762 shareObjectiveBounds_ =
true;
26767 private boolean shareLevelZeroBounds_ =
true;
26776 @java.lang.Override
26778 return ((bitField3_ & 0x00000200) != 0);
26788 @java.lang.Override
26790 return shareLevelZeroBounds_;
26803 shareLevelZeroBounds_ = value;
26804 bitField3_ |= 0x00000200;
26817 bitField3_ = (bitField3_ & ~0x00000200);
26818 shareLevelZeroBounds_ =
true;
26823 private boolean shareBinaryClauses_ =
true;
26832 @java.lang.Override
26834 return ((bitField3_ & 0x00000400) != 0);
26844 @java.lang.Override
26846 return shareBinaryClauses_;
26859 shareBinaryClauses_ = value;
26860 bitField3_ |= 0x00000400;
26873 bitField3_ = (bitField3_ & ~0x00000400);
26874 shareBinaryClauses_ =
true;
26879 private boolean shareGlueClauses_ ;
26889 @java.lang.Override
26891 return ((bitField3_ & 0x00000800) != 0);
26902 @java.lang.Override
26904 return shareGlueClauses_;
26918 shareGlueClauses_ = value;
26919 bitField3_ |= 0x00000800;
26933 bitField3_ = (bitField3_ & ~0x00000800);
26934 shareGlueClauses_ =
false;
26939 private boolean minimizeSharedClauses_ =
true;
26949 @java.lang.Override
26951 return ((bitField3_ & 0x00001000) != 0);
26962 @java.lang.Override
26964 return minimizeSharedClauses_;
26978 minimizeSharedClauses_ = value;
26979 bitField3_ |= 0x00001000;
26993 bitField3_ = (bitField3_ & ~0x00001000);
26994 minimizeSharedClauses_ =
true;
26999 private boolean debugPostsolveWithFullSolver_ ;
27010 @java.lang.Override
27012 return ((bitField3_ & 0x00002000) != 0);
27024 @java.lang.Override
27026 return debugPostsolveWithFullSolver_;
27041 debugPostsolveWithFullSolver_ = value;
27042 bitField3_ |= 0x00002000;
27057 bitField3_ = (bitField3_ & ~0x00002000);
27058 debugPostsolveWithFullSolver_ =
false;
27063 private int debugMaxNumPresolveOperations_ ;
27073 @java.lang.Override
27075 return ((bitField3_ & 0x00004000) != 0);
27086 @java.lang.Override
27088 return debugMaxNumPresolveOperations_;
27102 debugMaxNumPresolveOperations_ = value;
27103 bitField3_ |= 0x00004000;
27117 bitField3_ = (bitField3_ & ~0x00004000);
27118 debugMaxNumPresolveOperations_ = 0;
27123 private boolean debugCrashOnBadHint_ ;
27132 @java.lang.Override
27134 return ((bitField3_ & 0x00008000) != 0);
27144 @java.lang.Override
27146 return debugCrashOnBadHint_;
27159 debugCrashOnBadHint_ = value;
27160 bitField3_ |= 0x00008000;
27173 bitField3_ = (bitField3_ & ~0x00008000);
27174 debugCrashOnBadHint_ =
false;
27179 private boolean debugCrashIfPresolveBreaksHint_ ;
27188 @java.lang.Override
27190 return ((bitField3_ & 0x00010000) != 0);
27200 @java.lang.Override
27202 return debugCrashIfPresolveBreaksHint_;
27215 debugCrashIfPresolveBreaksHint_ = value;
27216 bitField3_ |= 0x00010000;
27229 bitField3_ = (bitField3_ & ~0x00010000);
27230 debugCrashIfPresolveBreaksHint_ =
false;
27235 private boolean useOptimizationHints_ =
true;
27247 @java.lang.Override
27249 return ((bitField3_ & 0x00020000) != 0);
27262 @java.lang.Override
27264 return useOptimizationHints_;
27280 useOptimizationHints_ = value;
27281 bitField3_ |= 0x00020000;
27297 bitField3_ = (bitField3_ & ~0x00020000);
27298 useOptimizationHints_ =
true;
27303 private int coreMinimizationLevel_ = 2;
27315 @java.lang.Override
27317 return ((bitField3_ & 0x00040000) != 0);
27330 @java.lang.Override
27332 return coreMinimizationLevel_;
27348 coreMinimizationLevel_ = value;
27349 bitField3_ |= 0x00040000;
27365 bitField3_ = (bitField3_ & ~0x00040000);
27366 coreMinimizationLevel_ = 2;
27371 private boolean findMultipleCores_ =
true;
27381 @java.lang.Override
27383 return ((bitField3_ & 0x00080000) != 0);
27394 @java.lang.Override
27396 return findMultipleCores_;
27410 findMultipleCores_ = value;
27411 bitField3_ |= 0x00080000;
27425 bitField3_ = (bitField3_ & ~0x00080000);
27426 findMultipleCores_ =
true;
27431 private boolean coverOptimization_ =
true;
27442 @java.lang.Override
27444 return ((bitField3_ & 0x00100000) != 0);
27456 @java.lang.Override
27458 return coverOptimization_;
27473 coverOptimization_ = value;
27474 bitField3_ |= 0x00100000;
27489 bitField3_ = (bitField3_ & ~0x00100000);
27490 coverOptimization_ =
true;
27495 private int maxSatAssumptionOrder_ = 0;
27501 return ((bitField3_ & 0x00200000) != 0);
27507 @java.lang.Override
27518 if (value ==
null) {
27519 throw new NullPointerException();
27521 bitField3_ |= 0x00200000;
27522 maxSatAssumptionOrder_ = value.getNumber();
27531 bitField3_ = (bitField3_ & ~0x00200000);
27532 maxSatAssumptionOrder_ = 0;
27537 private boolean maxSatReverseAssumptionOrder_ ;
27547 @java.lang.Override
27549 return ((bitField3_ & 0x00400000) != 0);
27560 @java.lang.Override
27562 return maxSatReverseAssumptionOrder_;
27576 maxSatReverseAssumptionOrder_ = value;
27577 bitField3_ |= 0x00400000;
27591 bitField3_ = (bitField3_ & ~0x00400000);
27592 maxSatReverseAssumptionOrder_ =
false;
27597 private int maxSatStratification_ = 1;
27603 return ((bitField3_ & 0x00800000) != 0);
27609 @java.lang.Override
27620 if (value ==
null) {
27621 throw new NullPointerException();
27623 bitField3_ |= 0x00800000;
27624 maxSatStratification_ = value.getNumber();
27633 bitField3_ = (bitField3_ & ~0x00800000);
27634 maxSatStratification_ = 1;
27639 private double propagationLoopDetectionFactor_ = 10D;
27656 @java.lang.Override
27658 return ((bitField3_ & 0x01000000) != 0);
27676 @java.lang.Override
27678 return propagationLoopDetectionFactor_;
27699 propagationLoopDetectionFactor_ = value;
27700 bitField3_ |= 0x01000000;
27721 bitField3_ = (bitField3_ & ~0x01000000);
27722 propagationLoopDetectionFactor_ = 10D;
27727 private boolean usePrecedencesInDisjunctiveConstraint_ =
true;
27744 @java.lang.Override
27746 return ((bitField3_ & 0x02000000) != 0);
27764 @java.lang.Override
27766 return usePrecedencesInDisjunctiveConstraint_;
27787 usePrecedencesInDisjunctiveConstraint_ = value;
27788 bitField3_ |= 0x02000000;
27809 bitField3_ = (bitField3_ & ~0x02000000);
27810 usePrecedencesInDisjunctiveConstraint_ =
true;
27815 private int maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
27828 @java.lang.Override
27830 return ((bitField3_ & 0x04000000) != 0);
27844 @java.lang.Override
27846 return maxSizeToCreatePrecedenceLiteralsInDisjunctive_;
27863 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = value;
27864 bitField3_ |= 0x04000000;
27881 bitField3_ = (bitField3_ & ~0x04000000);
27882 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
27887 private boolean useStrongPropagationInDisjunctive_ ;
27896 @java.lang.Override
27898 return ((bitField3_ & 0x08000000) != 0);
27908 @java.lang.Override
27910 return useStrongPropagationInDisjunctive_;
27923 useStrongPropagationInDisjunctive_ = value;
27924 bitField3_ |= 0x08000000;
27937 bitField3_ = (bitField3_ & ~0x08000000);
27938 useStrongPropagationInDisjunctive_ =
false;
27943 private boolean useDynamicPrecedenceInDisjunctive_ ;
27957 @java.lang.Override
27959 return ((bitField3_ & 0x10000000) != 0);
27974 @java.lang.Override
27976 return useDynamicPrecedenceInDisjunctive_;
27994 useDynamicPrecedenceInDisjunctive_ = value;
27995 bitField3_ |= 0x10000000;
28013 bitField3_ = (bitField3_ & ~0x10000000);
28014 useDynamicPrecedenceInDisjunctive_ =
false;
28019 private boolean useDynamicPrecedenceInCumulative_ ;
28024 @java.lang.Override
28026 return ((bitField3_ & 0x20000000) != 0);
28032 @java.lang.Override
28034 return useDynamicPrecedenceInCumulative_;
28043 useDynamicPrecedenceInCumulative_ = value;
28044 bitField3_ |= 0x20000000;
28053 bitField3_ = (bitField3_ & ~0x20000000);
28054 useDynamicPrecedenceInCumulative_ =
false;
28059 private boolean useOverloadCheckerInCumulative_ ;
28074 @java.lang.Override
28076 return ((bitField3_ & 0x40000000) != 0);
28092 @java.lang.Override
28094 return useOverloadCheckerInCumulative_;
28113 useOverloadCheckerInCumulative_ = value;
28114 bitField3_ |= 0x40000000;
28133 bitField3_ = (bitField3_ & ~0x40000000);
28134 useOverloadCheckerInCumulative_ =
false;
28139 private boolean useConservativeScaleOverloadChecker_ ;
28154 @java.lang.Override
28156 return ((bitField3_ & 0x80000000) != 0);
28172 @java.lang.Override
28174 return useConservativeScaleOverloadChecker_;
28193 useConservativeScaleOverloadChecker_ = value;
28194 bitField3_ |= 0x80000000;
28213 bitField3_ = (bitField3_ & ~0x80000000);
28214 useConservativeScaleOverloadChecker_ =
false;
28219 private boolean useTimetableEdgeFindingInCumulative_ ;
28234 @java.lang.Override
28236 return ((bitField4_ & 0x00000001) != 0);
28252 @java.lang.Override
28254 return useTimetableEdgeFindingInCumulative_;
28273 useTimetableEdgeFindingInCumulative_ = value;
28274 bitField4_ |= 0x00000001;
28293 bitField4_ = (bitField4_ & ~0x00000001);
28294 useTimetableEdgeFindingInCumulative_ =
false;
28299 private int maxNumIntervalsForTimetableEdgeFinding_ = 100;
28309 @java.lang.Override
28311 return ((bitField4_ & 0x00000002) != 0);
28322 @java.lang.Override
28324 return maxNumIntervalsForTimetableEdgeFinding_;
28338 maxNumIntervalsForTimetableEdgeFinding_ = value;
28339 bitField4_ |= 0x00000002;
28353 bitField4_ = (bitField4_ & ~0x00000002);
28354 maxNumIntervalsForTimetableEdgeFinding_ = 100;
28359 private boolean useHardPrecedencesInCumulative_ ;
28373 @java.lang.Override
28375 return ((bitField4_ & 0x00000004) != 0);
28390 @java.lang.Override
28392 return useHardPrecedencesInCumulative_;
28410 useHardPrecedencesInCumulative_ = value;
28411 bitField4_ |= 0x00000004;
28429 bitField4_ = (bitField4_ & ~0x00000004);
28430 useHardPrecedencesInCumulative_ =
false;
28435 private boolean exploitAllPrecedences_ ;
28440 @java.lang.Override
28442 return ((bitField4_ & 0x00000008) != 0);
28448 @java.lang.Override
28450 return exploitAllPrecedences_;
28459 exploitAllPrecedences_ = value;
28460 bitField4_ |= 0x00000008;
28469 bitField4_ = (bitField4_ & ~0x00000008);
28470 exploitAllPrecedences_ =
false;
28475 private boolean useDisjunctiveConstraintInCumulative_ =
true;
28493 @java.lang.Override
28495 return ((bitField4_ & 0x00000010) != 0);
28514 @java.lang.Override
28516 return useDisjunctiveConstraintInCumulative_;
28538 useDisjunctiveConstraintInCumulative_ = value;
28539 bitField4_ |= 0x00000010;
28561 bitField4_ = (bitField4_ & ~0x00000010);
28562 useDisjunctiveConstraintInCumulative_ =
true;
28567 private boolean useTimetablingInNoOverlap2D_ ;
28580 @java.lang.Override
28582 return ((bitField4_ & 0x00000020) != 0);
28596 @java.lang.Override
28598 return useTimetablingInNoOverlap2D_;
28615 useTimetablingInNoOverlap2D_ = value;
28616 bitField4_ |= 0x00000020;
28633 bitField4_ = (bitField4_ & ~0x00000020);
28634 useTimetablingInNoOverlap2D_ =
false;
28639 private boolean useEnergeticReasoningInNoOverlap2D_ ;
28650 @java.lang.Override
28652 return ((bitField4_ & 0x00000040) != 0);
28664 @java.lang.Override
28666 return useEnergeticReasoningInNoOverlap2D_;
28681 useEnergeticReasoningInNoOverlap2D_ = value;
28682 bitField4_ |= 0x00000040;
28697 bitField4_ = (bitField4_ & ~0x00000040);
28698 useEnergeticReasoningInNoOverlap2D_ =
false;
28703 private boolean useAreaEnergeticReasoningInNoOverlap2D_ ;
28714 @java.lang.Override
28716 return ((bitField4_ & 0x00000080) != 0);
28728 @java.lang.Override
28730 return useAreaEnergeticReasoningInNoOverlap2D_;
28745 useAreaEnergeticReasoningInNoOverlap2D_ = value;
28746 bitField4_ |= 0x00000080;
28761 bitField4_ = (bitField4_ & ~0x00000080);
28762 useAreaEnergeticReasoningInNoOverlap2D_ =
false;
28767 private boolean useTryEdgeReasoningInNoOverlap2D_ ;
28772 @java.lang.Override
28774 return ((bitField4_ & 0x00000100) != 0);
28780 @java.lang.Override
28782 return useTryEdgeReasoningInNoOverlap2D_;
28791 useTryEdgeReasoningInNoOverlap2D_ = value;
28792 bitField4_ |= 0x00000100;
28801 bitField4_ = (bitField4_ & ~0x00000100);
28802 useTryEdgeReasoningInNoOverlap2D_ =
false;
28807 private int maxPairsPairwiseReasoningInNoOverlap2D_ = 1250;
28818 @java.lang.Override
28820 return ((bitField4_ & 0x00000200) != 0);
28832 @java.lang.Override
28834 return maxPairsPairwiseReasoningInNoOverlap2D_;
28849 maxPairsPairwiseReasoningInNoOverlap2D_ = value;
28850 bitField4_ |= 0x00000200;
28865 bitField4_ = (bitField4_ & ~0x00000200);
28866 maxPairsPairwiseReasoningInNoOverlap2D_ = 1250;
28871 private int maximumRegionsToSplitInDisconnectedNoOverlap2D_ ;
28889 @java.lang.Override
28891 return ((bitField4_ & 0x00000400) != 0);
28910 @java.lang.Override
28912 return maximumRegionsToSplitInDisconnectedNoOverlap2D_;
28934 maximumRegionsToSplitInDisconnectedNoOverlap2D_ = value;
28935 bitField4_ |= 0x00000400;
28957 bitField4_ = (bitField4_ & ~0x00000400);
28958 maximumRegionsToSplitInDisconnectedNoOverlap2D_ = 0;
28963 private boolean useDualSchedulingHeuristics_ =
true;
28974 @java.lang.Override
28976 return ((bitField4_ & 0x00000800) != 0);
28988 @java.lang.Override
28990 return useDualSchedulingHeuristics_;
29005 useDualSchedulingHeuristics_ = value;
29006 bitField4_ |= 0x00000800;
29021 bitField4_ = (bitField4_ & ~0x00000800);
29022 useDualSchedulingHeuristics_ =
true;
29027 private boolean useAllDifferentForCircuit_ ;
29037 @java.lang.Override
29039 return ((bitField4_ & 0x00001000) != 0);
29050 @java.lang.Override
29052 return useAllDifferentForCircuit_;
29066 useAllDifferentForCircuit_ = value;
29067 bitField4_ |= 0x00001000;
29081 bitField4_ = (bitField4_ & ~0x00001000);
29082 useAllDifferentForCircuit_ =
false;
29087 private int routingCutSubsetSizeForBinaryRelationBound_ ;
29103 @java.lang.Override
29105 return ((bitField4_ & 0x00002000) != 0);
29122 @java.lang.Override
29124 return routingCutSubsetSizeForBinaryRelationBound_;
29144 routingCutSubsetSizeForBinaryRelationBound_ = value;
29145 bitField4_ |= 0x00002000;
29165 bitField4_ = (bitField4_ & ~0x00002000);
29166 routingCutSubsetSizeForBinaryRelationBound_ = 0;
29171 private int routingCutSubsetSizeForTightBinaryRelationBound_ ;
29182 @java.lang.Override
29184 return ((bitField4_ & 0x00004000) != 0);
29196 @java.lang.Override
29198 return routingCutSubsetSizeForTightBinaryRelationBound_;
29213 routingCutSubsetSizeForTightBinaryRelationBound_ = value;
29214 bitField4_ |= 0x00004000;
29229 bitField4_ = (bitField4_ & ~0x00004000);
29230 routingCutSubsetSizeForTightBinaryRelationBound_ = 0;
29235 private double routingCutDpEffort_ = 10000000D;
29247 @java.lang.Override
29249 return ((bitField4_ & 0x00008000) != 0);
29262 @java.lang.Override
29264 return routingCutDpEffort_;
29280 routingCutDpEffort_ = value;
29281 bitField4_ |= 0x00008000;
29297 bitField4_ = (bitField4_ & ~0x00008000);
29298 routingCutDpEffort_ = 10000000D;
29303 private int searchBranching_ = 0;
29309 return ((bitField4_ & 0x00010000) != 0);
29315 @java.lang.Override
29326 if (value ==
null) {
29327 throw new NullPointerException();
29329 bitField4_ |= 0x00010000;
29330 searchBranching_ = value.getNumber();
29339 bitField4_ = (bitField4_ & ~0x00010000);
29340 searchBranching_ = 0;
29345 private int hintConflictLimit_ = 10;
29354 @java.lang.Override
29356 return ((bitField4_ & 0x00020000) != 0);
29366 @java.lang.Override
29368 return hintConflictLimit_;
29381 hintConflictLimit_ = value;
29382 bitField4_ |= 0x00020000;
29395 bitField4_ = (bitField4_ & ~0x00020000);
29396 hintConflictLimit_ = 10;
29401 private boolean repairHint_ ;
29413 @java.lang.Override
29415 return ((bitField4_ & 0x00040000) != 0);
29428 @java.lang.Override
29430 return repairHint_;
29446 repairHint_ = value;
29447 bitField4_ |= 0x00040000;
29463 bitField4_ = (bitField4_ & ~0x00040000);
29464 repairHint_ =
false;
29469 private boolean fixVariablesToTheirHintedValue_ ;
29479 @java.lang.Override
29481 return ((bitField4_ & 0x00080000) != 0);
29492 @java.lang.Override
29494 return fixVariablesToTheirHintedValue_;
29508 fixVariablesToTheirHintedValue_ = value;
29509 bitField4_ |= 0x00080000;
29523 bitField4_ = (bitField4_ & ~0x00080000);
29524 fixVariablesToTheirHintedValue_ =
false;
29529 private boolean useProbingSearch_ ;
29540 @java.lang.Override
29542 return ((bitField4_ & 0x00100000) != 0);
29554 @java.lang.Override
29556 return useProbingSearch_;
29571 useProbingSearch_ = value;
29572 bitField4_ |= 0x00100000;
29587 bitField4_ = (bitField4_ & ~0x00100000);
29588 useProbingSearch_ =
false;
29593 private boolean useExtendedProbing_ =
true;
29602 @java.lang.Override
29604 return ((bitField4_ & 0x00200000) != 0);
29614 @java.lang.Override
29616 return useExtendedProbing_;
29629 useExtendedProbing_ = value;
29630 bitField4_ |= 0x00200000;
29643 bitField4_ = (bitField4_ & ~0x00200000);
29644 useExtendedProbing_ =
true;
29649 private int probingNumCombinationsLimit_ = 20000;
29658 @java.lang.Override
29660 return ((bitField4_ & 0x00400000) != 0);
29670 @java.lang.Override
29672 return probingNumCombinationsLimit_;
29685 probingNumCombinationsLimit_ = value;
29686 bitField4_ |= 0x00400000;
29699 bitField4_ = (bitField4_ & ~0x00400000);
29700 probingNumCombinationsLimit_ = 20000;
29705 private boolean useShavingInProbingSearch_ =
true;
29715 @java.lang.Override
29717 return ((bitField4_ & 0x00800000) != 0);
29728 @java.lang.Override
29730 return useShavingInProbingSearch_;
29744 useShavingInProbingSearch_ = value;
29745 bitField4_ |= 0x00800000;
29759 bitField4_ = (bitField4_ & ~0x00800000);
29760 useShavingInProbingSearch_ =
true;
29765 private double shavingSearchDeterministicTime_ = 0.001D;
29775 @java.lang.Override
29777 return ((bitField4_ & 0x01000000) != 0);
29788 @java.lang.Override
29790 return shavingSearchDeterministicTime_;
29804 shavingSearchDeterministicTime_ = value;
29805 bitField4_ |= 0x01000000;
29819 bitField4_ = (bitField4_ & ~0x01000000);
29820 shavingSearchDeterministicTime_ = 0.001D;
29825 private long shavingSearchThreshold_ = 64L;
29837 @java.lang.Override
29839 return ((bitField4_ & 0x02000000) != 0);
29852 @java.lang.Override
29854 return shavingSearchThreshold_;
29870 shavingSearchThreshold_ = value;
29871 bitField4_ |= 0x02000000;
29887 bitField4_ = (bitField4_ & ~0x02000000);
29888 shavingSearchThreshold_ = 64L;
29893 private boolean useObjectiveLbSearch_ ;
29903 @java.lang.Override
29905 return ((bitField4_ & 0x04000000) != 0);
29916 @java.lang.Override
29918 return useObjectiveLbSearch_;
29932 useObjectiveLbSearch_ = value;
29933 bitField4_ |= 0x04000000;
29947 bitField4_ = (bitField4_ & ~0x04000000);
29948 useObjectiveLbSearch_ =
false;
29953 private boolean useObjectiveShavingSearch_ ;
29964 @java.lang.Override
29966 return ((bitField4_ & 0x08000000) != 0);
29978 @java.lang.Override
29980 return useObjectiveShavingSearch_;
29995 useObjectiveShavingSearch_ = value;
29996 bitField4_ |= 0x08000000;
30011 bitField4_ = (bitField4_ & ~0x08000000);
30012 useObjectiveShavingSearch_ =
false;
30017 private boolean useVariablesShavingSearch_ ;
30027 @java.lang.Override
30029 return ((bitField4_ & 0x10000000) != 0);
30040 @java.lang.Override
30042 return useVariablesShavingSearch_;
30056 useVariablesShavingSearch_ = value;
30057 bitField4_ |= 0x10000000;
30071 bitField4_ = (bitField4_ & ~0x10000000);
30072 useVariablesShavingSearch_ =
false;
30077 private long pseudoCostReliabilityThreshold_ = 100L;
30087 @java.lang.Override
30089 return ((bitField4_ & 0x20000000) != 0);
30100 @java.lang.Override
30102 return pseudoCostReliabilityThreshold_;
30116 pseudoCostReliabilityThreshold_ = value;
30117 bitField4_ |= 0x20000000;
30131 bitField4_ = (bitField4_ & ~0x20000000);
30132 pseudoCostReliabilityThreshold_ = 100L;
30137 private boolean optimizeWithCore_ ;
30149 @java.lang.Override
30151 return ((bitField4_ & 0x40000000) != 0);
30164 @java.lang.Override
30166 return optimizeWithCore_;
30182 optimizeWithCore_ = value;
30183 bitField4_ |= 0x40000000;
30199 bitField4_ = (bitField4_ & ~0x40000000);
30200 optimizeWithCore_ =
false;
30205 private boolean optimizeWithLbTreeSearch_ ;
30218 @java.lang.Override
30220 return ((bitField4_ & 0x80000000) != 0);
30234 @java.lang.Override
30236 return optimizeWithLbTreeSearch_;
30253 optimizeWithLbTreeSearch_ = value;
30254 bitField4_ |= 0x80000000;
30271 bitField4_ = (bitField4_ & ~0x80000000);
30272 optimizeWithLbTreeSearch_ =
false;
30277 private boolean saveLpBasisInLbTreeSearch_ ;
30291 @java.lang.Override
30293 return ((bitField5_ & 0x00000001) != 0);
30308 @java.lang.Override
30310 return saveLpBasisInLbTreeSearch_;
30328 saveLpBasisInLbTreeSearch_ = value;
30329 bitField5_ |= 0x00000001;
30347 bitField5_ = (bitField5_ & ~0x00000001);
30348 saveLpBasisInLbTreeSearch_ =
false;
30353 private int binarySearchNumConflicts_ = -1;
30365 @java.lang.Override
30367 return ((bitField5_ & 0x00000002) != 0);
30380 @java.lang.Override
30382 return binarySearchNumConflicts_;
30398 binarySearchNumConflicts_ = value;
30399 bitField5_ |= 0x00000002;
30415 bitField5_ = (bitField5_ & ~0x00000002);
30416 binarySearchNumConflicts_ = -1;
30421 private boolean optimizeWithMaxHs_ ;
30435 @java.lang.Override
30437 return ((bitField5_ & 0x00000004) != 0);
30452 @java.lang.Override
30454 return optimizeWithMaxHs_;
30472 optimizeWithMaxHs_ = value;
30473 bitField5_ |= 0x00000004;
30491 bitField5_ = (bitField5_ & ~0x00000004);
30492 optimizeWithMaxHs_ =
false;
30497 private boolean useFeasibilityJump_ =
true;
30508 @java.lang.Override
30510 return ((bitField5_ & 0x00000008) != 0);
30522 @java.lang.Override
30524 return useFeasibilityJump_;
30539 useFeasibilityJump_ = value;
30540 bitField5_ |= 0x00000008;
30555 bitField5_ = (bitField5_ & ~0x00000008);
30556 useFeasibilityJump_ =
true;
30561 private boolean useLsOnly_ ;
30571 @java.lang.Override
30573 return ((bitField5_ & 0x00000010) != 0);
30584 @java.lang.Override
30600 useLsOnly_ = value;
30601 bitField5_ |= 0x00000010;
30615 bitField5_ = (bitField5_ & ~0x00000010);
30616 useLsOnly_ =
false;
30621 private double feasibilityJumpDecay_ = 0.95D;
30631 @java.lang.Override
30633 return ((bitField5_ & 0x00000020) != 0);
30644 @java.lang.Override
30646 return feasibilityJumpDecay_;
30660 feasibilityJumpDecay_ = value;
30661 bitField5_ |= 0x00000020;
30675 bitField5_ = (bitField5_ & ~0x00000020);
30676 feasibilityJumpDecay_ = 0.95D;
30681 private int feasibilityJumpLinearizationLevel_ = 2;
30690 @java.lang.Override
30692 return ((bitField5_ & 0x00000040) != 0);
30702 @java.lang.Override
30704 return feasibilityJumpLinearizationLevel_;
30717 feasibilityJumpLinearizationLevel_ = value;
30718 bitField5_ |= 0x00000040;
30731 bitField5_ = (bitField5_ & ~0x00000040);
30732 feasibilityJumpLinearizationLevel_ = 2;
30737 private int feasibilityJumpRestartFactor_ = 1;
30747 @java.lang.Override
30749 return ((bitField5_ & 0x00000080) != 0);
30760 @java.lang.Override
30762 return feasibilityJumpRestartFactor_;
30776 feasibilityJumpRestartFactor_ = value;
30777 bitField5_ |= 0x00000080;
30791 bitField5_ = (bitField5_ & ~0x00000080);
30792 feasibilityJumpRestartFactor_ = 1;
30797 private double feasibilityJumpBatchDtime_ = 0.1D;
30806 @java.lang.Override
30808 return ((bitField5_ & 0x00000100) != 0);
30818 @java.lang.Override
30820 return feasibilityJumpBatchDtime_;
30833 feasibilityJumpBatchDtime_ = value;
30834 bitField5_ |= 0x00000100;
30847 bitField5_ = (bitField5_ & ~0x00000100);
30848 feasibilityJumpBatchDtime_ = 0.1D;
30853 private double feasibilityJumpVarRandomizationProbability_ = 0.05D;
30863 @java.lang.Override
30865 return ((bitField5_ & 0x00000200) != 0);
30876 @java.lang.Override
30878 return feasibilityJumpVarRandomizationProbability_;
30892 feasibilityJumpVarRandomizationProbability_ = value;
30893 bitField5_ |= 0x00000200;
30907 bitField5_ = (bitField5_ & ~0x00000200);
30908 feasibilityJumpVarRandomizationProbability_ = 0.05D;
30913 private double feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
30923 @java.lang.Override
30925 return ((bitField5_ & 0x00000400) != 0);
30936 @java.lang.Override
30938 return feasibilityJumpVarPerburbationRangeRatio_;
30952 feasibilityJumpVarPerburbationRangeRatio_ = value;
30953 bitField5_ |= 0x00000400;
30967 bitField5_ = (bitField5_ & ~0x00000400);
30968 feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
30973 private boolean feasibilityJumpEnableRestarts_ =
true;
30984 @java.lang.Override
30986 return ((bitField5_ & 0x00000800) != 0);
30998 @java.lang.Override
31000 return feasibilityJumpEnableRestarts_;
31015 feasibilityJumpEnableRestarts_ = value;
31016 bitField5_ |= 0x00000800;
31031 bitField5_ = (bitField5_ & ~0x00000800);
31032 feasibilityJumpEnableRestarts_ =
true;
31037 private int feasibilityJumpMaxExpandedConstraintSize_ = 500;
31049 @java.lang.Override
31051 return ((bitField5_ & 0x00001000) != 0);
31064 @java.lang.Override
31066 return feasibilityJumpMaxExpandedConstraintSize_;
31082 feasibilityJumpMaxExpandedConstraintSize_ = value;
31083 bitField5_ |= 0x00001000;
31099 bitField5_ = (bitField5_ & ~0x00001000);
31100 feasibilityJumpMaxExpandedConstraintSize_ = 500;
31105 private int numViolationLs_ ;
31116 @java.lang.Override
31118 return ((bitField5_ & 0x00002000) != 0);
31130 @java.lang.Override
31132 return numViolationLs_;
31147 numViolationLs_ = value;
31148 bitField5_ |= 0x00002000;
31163 bitField5_ = (bitField5_ & ~0x00002000);
31164 numViolationLs_ = 0;
31169 private int violationLsPerturbationPeriod_ = 100;
31178 @java.lang.Override
31180 return ((bitField5_ & 0x00004000) != 0);
31190 @java.lang.Override
31192 return violationLsPerturbationPeriod_;
31205 violationLsPerturbationPeriod_ = value;
31206 bitField5_ |= 0x00004000;
31219 bitField5_ = (bitField5_ & ~0x00004000);
31220 violationLsPerturbationPeriod_ = 100;
31225 private double violationLsCompoundMoveProbability_ = 0.5D;
31235 @java.lang.Override
31237 return ((bitField5_ & 0x00008000) != 0);
31248 @java.lang.Override
31250 return violationLsCompoundMoveProbability_;
31264 violationLsCompoundMoveProbability_ = value;
31265 bitField5_ |= 0x00008000;
31279 bitField5_ = (bitField5_ & ~0x00008000);
31280 violationLsCompoundMoveProbability_ = 0.5D;
31285 private int sharedTreeNumWorkers_ ;
31300 @java.lang.Override
31302 return ((bitField5_ & 0x00010000) != 0);
31318 @java.lang.Override
31320 return sharedTreeNumWorkers_;
31339 sharedTreeNumWorkers_ = value;
31340 bitField5_ |= 0x00010000;
31359 bitField5_ = (bitField5_ & ~0x00010000);
31360 sharedTreeNumWorkers_ = 0;
31365 private boolean useSharedTreeSearch_ ;
31374 @java.lang.Override
31376 return ((bitField5_ & 0x00020000) != 0);
31386 @java.lang.Override
31388 return useSharedTreeSearch_;
31401 useSharedTreeSearch_ = value;
31402 bitField5_ |= 0x00020000;
31415 bitField5_ = (bitField5_ & ~0x00020000);
31416 useSharedTreeSearch_ =
false;
31421 private int sharedTreeWorkerMinRestartsPerSubtree_ = 1;
31431 @java.lang.Override
31433 return ((bitField5_ & 0x00040000) != 0);
31444 @java.lang.Override
31446 return sharedTreeWorkerMinRestartsPerSubtree_;
31460 sharedTreeWorkerMinRestartsPerSubtree_ = value;
31461 bitField5_ |= 0x00040000;
31475 bitField5_ = (bitField5_ & ~0x00040000);
31476 sharedTreeWorkerMinRestartsPerSubtree_ = 1;
31481 private boolean sharedTreeWorkerEnableTrailSharing_ =
true;
31491 @java.lang.Override
31493 return ((bitField5_ & 0x00080000) != 0);
31504 @java.lang.Override
31506 return sharedTreeWorkerEnableTrailSharing_;
31520 sharedTreeWorkerEnableTrailSharing_ = value;
31521 bitField5_ |= 0x00080000;
31535 bitField5_ = (bitField5_ & ~0x00080000);
31536 sharedTreeWorkerEnableTrailSharing_ =
true;
31541 private boolean sharedTreeWorkerEnablePhaseSharing_ =
true;
31551 @java.lang.Override
31553 return ((bitField5_ & 0x00100000) != 0);
31564 @java.lang.Override
31566 return sharedTreeWorkerEnablePhaseSharing_;
31580 sharedTreeWorkerEnablePhaseSharing_ = value;
31581 bitField5_ |= 0x00100000;
31595 bitField5_ = (bitField5_ & ~0x00100000);
31596 sharedTreeWorkerEnablePhaseSharing_ =
true;
31601 private double sharedTreeOpenLeavesPerWorker_ = 2D;
31610 @java.lang.Override
31612 return ((bitField5_ & 0x00200000) != 0);
31622 @java.lang.Override
31624 return sharedTreeOpenLeavesPerWorker_;
31637 sharedTreeOpenLeavesPerWorker_ = value;
31638 bitField5_ |= 0x00200000;
31651 bitField5_ = (bitField5_ & ~0x00200000);
31652 sharedTreeOpenLeavesPerWorker_ = 2D;
31657 private int sharedTreeMaxNodesPerWorker_ = 10000;
31669 @java.lang.Override
31671 return ((bitField5_ & 0x00400000) != 0);
31684 @java.lang.Override
31686 return sharedTreeMaxNodesPerWorker_;
31702 sharedTreeMaxNodesPerWorker_ = value;
31703 bitField5_ |= 0x00400000;
31719 bitField5_ = (bitField5_ & ~0x00400000);
31720 sharedTreeMaxNodesPerWorker_ = 10000;
31725 private int sharedTreeSplitStrategy_ = 0;
31731 return ((bitField5_ & 0x00800000) != 0);
31737 @java.lang.Override
31748 if (value ==
null) {
31749 throw new NullPointerException();
31751 bitField5_ |= 0x00800000;
31752 sharedTreeSplitStrategy_ = value.getNumber();
31761 bitField5_ = (bitField5_ & ~0x00800000);
31762 sharedTreeSplitStrategy_ = 0;
31767 private int sharedTreeBalanceTolerance_ = 1;
31782 @java.lang.Override
31784 return ((bitField5_ & 0x01000000) != 0);
31800 @java.lang.Override
31802 return sharedTreeBalanceTolerance_;
31821 sharedTreeBalanceTolerance_ = value;
31822 bitField5_ |= 0x01000000;
31841 bitField5_ = (bitField5_ & ~0x01000000);
31842 sharedTreeBalanceTolerance_ = 1;
31847 private boolean enumerateAllSolutions_ ;
31862 @java.lang.Override
31864 return ((bitField5_ & 0x02000000) != 0);
31880 @java.lang.Override
31882 return enumerateAllSolutions_;
31901 enumerateAllSolutions_ = value;
31902 bitField5_ |= 0x02000000;
31921 bitField5_ = (bitField5_ & ~0x02000000);
31922 enumerateAllSolutions_ =
false;
31927 private boolean keepAllFeasibleSolutionsInPresolve_ ;
31943 @java.lang.Override
31945 return ((bitField5_ & 0x04000000) != 0);
31962 @java.lang.Override
31964 return keepAllFeasibleSolutionsInPresolve_;
31984 keepAllFeasibleSolutionsInPresolve_ = value;
31985 bitField5_ |= 0x04000000;
32005 bitField5_ = (bitField5_ & ~0x04000000);
32006 keepAllFeasibleSolutionsInPresolve_ =
false;
32011 private boolean fillTightenedDomainsInResponse_ ;
32024 @java.lang.Override
32026 return ((bitField5_ & 0x08000000) != 0);
32040 @java.lang.Override
32042 return fillTightenedDomainsInResponse_;
32059 fillTightenedDomainsInResponse_ = value;
32060 bitField5_ |= 0x08000000;
32077 bitField5_ = (bitField5_ & ~0x08000000);
32078 fillTightenedDomainsInResponse_ =
false;
32083 private boolean fillAdditionalSolutionsInResponse_ ;
32101 @java.lang.Override
32103 return ((bitField5_ & 0x10000000) != 0);
32122 @java.lang.Override
32124 return fillAdditionalSolutionsInResponse_;
32146 fillAdditionalSolutionsInResponse_ = value;
32147 bitField5_ |= 0x10000000;
32169 bitField5_ = (bitField5_ & ~0x10000000);
32170 fillAdditionalSolutionsInResponse_ =
false;
32175 private boolean instantiateAllVariables_ =
true;
32187 @java.lang.Override
32189 return ((bitField5_ & 0x20000000) != 0);
32202 @java.lang.Override
32204 return instantiateAllVariables_;
32220 instantiateAllVariables_ = value;
32221 bitField5_ |= 0x20000000;
32237 bitField5_ = (bitField5_ & ~0x20000000);
32238 instantiateAllVariables_ =
true;
32243 private boolean autoDetectGreaterThanAtLeastOneOf_ =
true;
32255 @java.lang.Override
32257 return ((bitField5_ & 0x40000000) != 0);
32270 @java.lang.Override
32272 return autoDetectGreaterThanAtLeastOneOf_;
32288 autoDetectGreaterThanAtLeastOneOf_ = value;
32289 bitField5_ |= 0x40000000;
32305 bitField5_ = (bitField5_ & ~0x40000000);
32306 autoDetectGreaterThanAtLeastOneOf_ =
true;
32311 private boolean stopAfterFirstSolution_ ;
32320 @java.lang.Override
32322 return ((bitField5_ & 0x80000000) != 0);
32332 @java.lang.Override
32334 return stopAfterFirstSolution_;
32347 stopAfterFirstSolution_ = value;
32348 bitField5_ |= 0x80000000;
32361 bitField5_ = (bitField5_ & ~0x80000000);
32362 stopAfterFirstSolution_ =
false;
32367 private boolean stopAfterPresolve_ ;
32377 @java.lang.Override
32379 return ((bitField6_ & 0x00000001) != 0);
32390 @java.lang.Override
32392 return stopAfterPresolve_;
32406 stopAfterPresolve_ = value;
32407 bitField6_ |= 0x00000001;
32421 bitField6_ = (bitField6_ & ~0x00000001);
32422 stopAfterPresolve_ =
false;
32427 private boolean stopAfterRootPropagation_ ;
32432 @java.lang.Override
32434 return ((bitField6_ & 0x00000002) != 0);
32440 @java.lang.Override
32442 return stopAfterRootPropagation_;
32451 stopAfterRootPropagation_ = value;
32452 bitField6_ |= 0x00000002;
32461 bitField6_ = (bitField6_ & ~0x00000002);
32462 stopAfterRootPropagation_ =
false;
32467 private double lnsInitialDifficulty_ = 0.5D;
32476 @java.lang.Override
32478 return ((bitField6_ & 0x00000004) != 0);
32488 @java.lang.Override
32490 return lnsInitialDifficulty_;
32503 lnsInitialDifficulty_ = value;
32504 bitField6_ |= 0x00000004;
32517 bitField6_ = (bitField6_ & ~0x00000004);
32518 lnsInitialDifficulty_ = 0.5D;
32523 private double lnsInitialDeterministicLimit_ = 0.1D;
32528 @java.lang.Override
32530 return ((bitField6_ & 0x00000008) != 0);
32536 @java.lang.Override
32538 return lnsInitialDeterministicLimit_;
32547 lnsInitialDeterministicLimit_ = value;
32548 bitField6_ |= 0x00000008;
32557 bitField6_ = (bitField6_ & ~0x00000008);
32558 lnsInitialDeterministicLimit_ = 0.1D;
32563 private boolean useLns_ =
true;
32572 @java.lang.Override
32574 return ((bitField6_ & 0x00000010) != 0);
32584 @java.lang.Override
32600 bitField6_ |= 0x00000010;
32613 bitField6_ = (bitField6_ & ~0x00000010);
32619 private boolean useLnsOnly_ ;
32628 @java.lang.Override
32630 return ((bitField6_ & 0x00000020) != 0);
32640 @java.lang.Override
32642 return useLnsOnly_;
32655 useLnsOnly_ = value;
32656 bitField6_ |= 0x00000020;
32669 bitField6_ = (bitField6_ & ~0x00000020);
32670 useLnsOnly_ =
false;
32675 private int solutionPoolSize_ = 3;
32686 @java.lang.Override
32688 return ((bitField6_ & 0x00000040) != 0);
32700 @java.lang.Override
32702 return solutionPoolSize_;
32717 solutionPoolSize_ = value;
32718 bitField6_ |= 0x00000040;
32733 bitField6_ = (bitField6_ & ~0x00000040);
32734 solutionPoolSize_ = 3;
32739 private boolean useRinsLns_ =
true;
32748 @java.lang.Override
32750 return ((bitField6_ & 0x00000080) != 0);
32760 @java.lang.Override
32762 return useRinsLns_;
32775 useRinsLns_ = value;
32776 bitField6_ |= 0x00000080;
32789 bitField6_ = (bitField6_ & ~0x00000080);
32790 useRinsLns_ =
true;
32795 private boolean useFeasibilityPump_ =
true;
32804 @java.lang.Override
32806 return ((bitField6_ & 0x00000100) != 0);
32816 @java.lang.Override
32818 return useFeasibilityPump_;
32831 useFeasibilityPump_ = value;
32832 bitField6_ |= 0x00000100;
32845 bitField6_ = (bitField6_ & ~0x00000100);
32846 useFeasibilityPump_ =
true;
32851 private boolean useLbRelaxLns_ =
true;
32862 @java.lang.Override
32864 return ((bitField6_ & 0x00000200) != 0);
32876 @java.lang.Override
32878 return useLbRelaxLns_;
32893 useLbRelaxLns_ = value;
32894 bitField6_ |= 0x00000200;
32909 bitField6_ = (bitField6_ & ~0x00000200);
32910 useLbRelaxLns_ =
true;
32915 private int lbRelaxNumWorkersThreshold_ = 16;
32924 @java.lang.Override
32926 return ((bitField6_ & 0x00000400) != 0);
32936 @java.lang.Override
32938 return lbRelaxNumWorkersThreshold_;
32951 lbRelaxNumWorkersThreshold_ = value;
32952 bitField6_ |= 0x00000400;
32965 bitField6_ = (bitField6_ & ~0x00000400);
32966 lbRelaxNumWorkersThreshold_ = 16;
32971 private int fpRounding_ = 2;
32977 return ((bitField6_ & 0x00000800) != 0);
32983 @java.lang.Override
32993 public Builder
setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value) {
32994 if (value ==
null) {
32995 throw new NullPointerException();
32997 bitField6_ |= 0x00000800;
32998 fpRounding_ = value.getNumber();
33007 bitField6_ = (bitField6_ & ~0x00000800);
33013 private boolean diversifyLnsParams_ ;
33022 @java.lang.Override
33024 return ((bitField6_ & 0x00001000) != 0);
33034 @java.lang.Override
33036 return diversifyLnsParams_;
33049 diversifyLnsParams_ = value;
33050 bitField6_ |= 0x00001000;
33063 bitField6_ = (bitField6_ & ~0x00001000);
33064 diversifyLnsParams_ =
false;
33069 private boolean randomizeSearch_ ;
33078 @java.lang.Override
33080 return ((bitField6_ & 0x00002000) != 0);
33090 @java.lang.Override
33092 return randomizeSearch_;
33105 randomizeSearch_ = value;
33106 bitField6_ |= 0x00002000;
33119 bitField6_ = (bitField6_ & ~0x00002000);
33120 randomizeSearch_ =
false;
33125 private long searchRandomVariablePoolSize_ ;
33136 @java.lang.Override
33138 return ((bitField6_ & 0x00004000) != 0);
33150 @java.lang.Override
33152 return searchRandomVariablePoolSize_;
33167 searchRandomVariablePoolSize_ = value;
33168 bitField6_ |= 0x00004000;
33183 bitField6_ = (bitField6_ & ~0x00004000);
33184 searchRandomVariablePoolSize_ = 0L;
33189 private boolean pushAllTasksTowardStart_ ;
33199 @java.lang.Override
33201 return ((bitField6_ & 0x00008000) != 0);
33212 @java.lang.Override
33214 return pushAllTasksTowardStart_;
33228 pushAllTasksTowardStart_ = value;
33229 bitField6_ |= 0x00008000;
33243 bitField6_ = (bitField6_ & ~0x00008000);
33244 pushAllTasksTowardStart_ =
false;
33249 private boolean useOptionalVariables_ ;
33263 @java.lang.Override
33265 return ((bitField6_ & 0x00010000) != 0);
33280 @java.lang.Override
33282 return useOptionalVariables_;
33300 useOptionalVariables_ = value;
33301 bitField6_ |= 0x00010000;
33319 bitField6_ = (bitField6_ & ~0x00010000);
33320 useOptionalVariables_ =
false;
33325 private boolean useExactLpReason_ =
true;
33337 @java.lang.Override
33339 return ((bitField6_ & 0x00020000) != 0);
33352 @java.lang.Override
33354 return useExactLpReason_;
33370 useExactLpReason_ = value;
33371 bitField6_ |= 0x00020000;
33387 bitField6_ = (bitField6_ & ~0x00020000);
33388 useExactLpReason_ =
true;
33393 private boolean useCombinedNoOverlap_ ;
33404 @java.lang.Override
33406 return ((bitField6_ & 0x00040000) != 0);
33418 @java.lang.Override
33420 return useCombinedNoOverlap_;
33435 useCombinedNoOverlap_ = value;
33436 bitField6_ |= 0x00040000;
33451 bitField6_ = (bitField6_ & ~0x00040000);
33452 useCombinedNoOverlap_ =
false;
33457 private int atMostOneMaxExpansionSize_ = 3;
33467 @java.lang.Override
33469 return ((bitField6_ & 0x00080000) != 0);
33480 @java.lang.Override
33482 return atMostOneMaxExpansionSize_;
33496 atMostOneMaxExpansionSize_ = value;
33497 bitField6_ |= 0x00080000;
33511 bitField6_ = (bitField6_ & ~0x00080000);
33512 atMostOneMaxExpansionSize_ = 3;
33517 private boolean catchSigintSignal_ =
true;
33528 @java.lang.Override
33530 return ((bitField6_ & 0x00100000) != 0);
33542 @java.lang.Override
33544 return catchSigintSignal_;
33559 catchSigintSignal_ = value;
33560 bitField6_ |= 0x00100000;
33575 bitField6_ = (bitField6_ & ~0x00100000);
33576 catchSigintSignal_ =
true;
33581 private boolean useImpliedBounds_ =
true;
33592 @java.lang.Override
33594 return ((bitField6_ & 0x00200000) != 0);
33606 @java.lang.Override
33608 return useImpliedBounds_;
33623 useImpliedBounds_ = value;
33624 bitField6_ |= 0x00200000;
33639 bitField6_ = (bitField6_ & ~0x00200000);
33640 useImpliedBounds_ =
true;
33645 private boolean polishLpSolution_ ;
33657 @java.lang.Override
33659 return ((bitField6_ & 0x00400000) != 0);
33672 @java.lang.Override
33674 return polishLpSolution_;
33690 polishLpSolution_ = value;
33691 bitField6_ |= 0x00400000;
33707 bitField6_ = (bitField6_ & ~0x00400000);
33708 polishLpSolution_ =
false;
33713 private double lpPrimalTolerance_ = 1e-07D;
33726 @java.lang.Override
33728 return ((bitField6_ & 0x00800000) != 0);
33742 @java.lang.Override
33744 return lpPrimalTolerance_;
33761 lpPrimalTolerance_ = value;
33762 bitField6_ |= 0x00800000;
33779 bitField6_ = (bitField6_ & ~0x00800000);
33780 lpPrimalTolerance_ = 1e-07D;
33785 private double lpDualTolerance_ = 1e-07D;
33790 @java.lang.Override
33792 return ((bitField6_ & 0x01000000) != 0);
33798 @java.lang.Override
33800 return lpDualTolerance_;
33809 lpDualTolerance_ = value;
33810 bitField6_ |= 0x01000000;
33819 bitField6_ = (bitField6_ & ~0x01000000);
33820 lpDualTolerance_ = 1e-07D;
33825 private boolean convertIntervals_ =
true;
33836 @java.lang.Override
33838 return ((bitField6_ & 0x02000000) != 0);
33850 @java.lang.Override
33852 return convertIntervals_;
33867 convertIntervals_ = value;
33868 bitField6_ |= 0x02000000;
33883 bitField6_ = (bitField6_ & ~0x02000000);
33884 convertIntervals_ =
true;
33889 private int symmetryLevel_ = 2;
33903 @java.lang.Override
33905 return ((bitField6_ & 0x04000000) != 0);
33920 @java.lang.Override
33922 return symmetryLevel_;
33940 symmetryLevel_ = value;
33941 bitField6_ |= 0x04000000;
33959 bitField6_ = (bitField6_ & ~0x04000000);
33960 symmetryLevel_ = 2;
33965 private boolean useSymmetryInLp_ ;
33978 @java.lang.Override
33980 return ((bitField6_ & 0x08000000) != 0);
33994 @java.lang.Override
33996 return useSymmetryInLp_;
34013 useSymmetryInLp_ = value;
34014 bitField6_ |= 0x08000000;
34031 bitField6_ = (bitField6_ & ~0x08000000);
34032 useSymmetryInLp_ =
false;
34037 private boolean keepSymmetryInPresolve_ ;
34049 @java.lang.Override
34051 return ((bitField6_ & 0x10000000) != 0);
34064 @java.lang.Override
34066 return keepSymmetryInPresolve_;
34082 keepSymmetryInPresolve_ = value;
34083 bitField6_ |= 0x10000000;
34099 bitField6_ = (bitField6_ & ~0x10000000);
34100 keepSymmetryInPresolve_ =
false;
34105 private double symmetryDetectionDeterministicTimeLimit_ = 1D;
34114 @java.lang.Override
34116 return ((bitField6_ & 0x20000000) != 0);
34126 @java.lang.Override
34128 return symmetryDetectionDeterministicTimeLimit_;
34141 symmetryDetectionDeterministicTimeLimit_ = value;
34142 bitField6_ |= 0x20000000;
34155 bitField6_ = (bitField6_ & ~0x20000000);
34156 symmetryDetectionDeterministicTimeLimit_ = 1D;
34161 private boolean newLinearPropagation_ =
true;
34172 @java.lang.Override
34174 return ((bitField6_ & 0x40000000) != 0);
34186 @java.lang.Override
34188 return newLinearPropagation_;
34203 newLinearPropagation_ = value;
34204 bitField6_ |= 0x40000000;
34219 bitField6_ = (bitField6_ & ~0x40000000);
34220 newLinearPropagation_ =
true;
34225 private int linearSplitSize_ = 100;
34236 @java.lang.Override
34238 return ((bitField6_ & 0x80000000) != 0);
34250 @java.lang.Override
34252 return linearSplitSize_;
34267 linearSplitSize_ = value;
34268 bitField6_ |= 0x80000000;
34283 bitField6_ = (bitField6_ & ~0x80000000);
34284 linearSplitSize_ = 100;
34289 private int linearizationLevel_ = 1;
34301 @java.lang.Override
34303 return ((bitField7_ & 0x00000001) != 0);
34316 @java.lang.Override
34318 return linearizationLevel_;
34334 linearizationLevel_ = value;
34335 bitField7_ |= 0x00000001;
34351 bitField7_ = (bitField7_ & ~0x00000001);
34352 linearizationLevel_ = 1;
34357 private int booleanEncodingLevel_ = 1;
34367 @java.lang.Override
34369 return ((bitField7_ & 0x00000002) != 0);
34380 @java.lang.Override
34382 return booleanEncodingLevel_;
34396 booleanEncodingLevel_ = value;
34397 bitField7_ |= 0x00000002;
34411 bitField7_ = (bitField7_ & ~0x00000002);
34412 booleanEncodingLevel_ = 1;
34417 private int maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
34429 @java.lang.Override
34431 return ((bitField7_ & 0x00000004) != 0);
34444 @java.lang.Override
34446 return maxDomainSizeWhenEncodingEqNeqConstraints_;
34462 maxDomainSizeWhenEncodingEqNeqConstraints_ = value;
34463 bitField7_ |= 0x00000004;
34479 bitField7_ = (bitField7_ & ~0x00000004);
34480 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
34485 private int maxNumCuts_ = 10000;
34498 @java.lang.Override
34500 return ((bitField7_ & 0x00000008) != 0);
34514 @java.lang.Override
34516 return maxNumCuts_;
34533 maxNumCuts_ = value;
34534 bitField7_ |= 0x00000008;
34551 bitField7_ = (bitField7_ & ~0x00000008);
34552 maxNumCuts_ = 10000;
34557 private int cutLevel_ = 1;
34568 @java.lang.Override
34570 return ((bitField7_ & 0x00000010) != 0);
34582 @java.lang.Override
34600 bitField7_ |= 0x00000010;
34615 bitField7_ = (bitField7_ & ~0x00000010);
34621 private boolean onlyAddCutsAtLevelZero_ ;
34631 @java.lang.Override
34633 return ((bitField7_ & 0x00000020) != 0);
34644 @java.lang.Override
34646 return onlyAddCutsAtLevelZero_;
34660 onlyAddCutsAtLevelZero_ = value;
34661 bitField7_ |= 0x00000020;
34675 bitField7_ = (bitField7_ & ~0x00000020);
34676 onlyAddCutsAtLevelZero_ =
false;
34681 private boolean addObjectiveCut_ ;
34694 @java.lang.Override
34696 return ((bitField7_ & 0x00000040) != 0);
34710 @java.lang.Override
34712 return addObjectiveCut_;
34729 addObjectiveCut_ = value;
34730 bitField7_ |= 0x00000040;
34747 bitField7_ = (bitField7_ & ~0x00000040);
34748 addObjectiveCut_ =
false;
34753 private boolean addCgCuts_ =
true;
34763 @java.lang.Override
34765 return ((bitField7_ & 0x00000080) != 0);
34776 @java.lang.Override
34792 addCgCuts_ = value;
34793 bitField7_ |= 0x00000080;
34807 bitField7_ = (bitField7_ & ~0x00000080);
34813 private boolean addMirCuts_ =
true;
34823 @java.lang.Override
34825 return ((bitField7_ & 0x00000100) != 0);
34836 @java.lang.Override
34838 return addMirCuts_;
34852 addMirCuts_ = value;
34853 bitField7_ |= 0x00000100;
34867 bitField7_ = (bitField7_ & ~0x00000100);
34868 addMirCuts_ =
true;
34873 private boolean addZeroHalfCuts_ =
true;
34883 @java.lang.Override
34885 return ((bitField7_ & 0x00000200) != 0);
34896 @java.lang.Override
34898 return addZeroHalfCuts_;
34912 addZeroHalfCuts_ = value;
34913 bitField7_ |= 0x00000200;
34927 bitField7_ = (bitField7_ & ~0x00000200);
34928 addZeroHalfCuts_ =
true;
34933 private boolean addCliqueCuts_ =
true;
34944 @java.lang.Override
34946 return ((bitField7_ & 0x00000400) != 0);
34958 @java.lang.Override
34960 return addCliqueCuts_;
34975 addCliqueCuts_ = value;
34976 bitField7_ |= 0x00000400;
34991 bitField7_ = (bitField7_ & ~0x00000400);
34992 addCliqueCuts_ =
true;
34997 private boolean addRltCuts_ =
true;
35007 @java.lang.Override
35009 return ((bitField7_ & 0x00000800) != 0);
35020 @java.lang.Override
35022 return addRltCuts_;
35036 addRltCuts_ = value;
35037 bitField7_ |= 0x00000800;
35051 bitField7_ = (bitField7_ & ~0x00000800);
35052 addRltCuts_ =
true;
35057 private int maxAllDiffCutSize_ = 64;
35068 @java.lang.Override
35070 return ((bitField7_ & 0x00001000) != 0);
35082 @java.lang.Override
35084 return maxAllDiffCutSize_;
35099 maxAllDiffCutSize_ = value;
35100 bitField7_ |= 0x00001000;
35115 bitField7_ = (bitField7_ & ~0x00001000);
35116 maxAllDiffCutSize_ = 64;
35121 private boolean addLinMaxCuts_ =
true;
35132 @java.lang.Override
35134 return ((bitField7_ & 0x00002000) != 0);
35146 @java.lang.Override
35148 return addLinMaxCuts_;
35163 addLinMaxCuts_ = value;
35164 bitField7_ |= 0x00002000;
35179 bitField7_ = (bitField7_ & ~0x00002000);
35180 addLinMaxCuts_ =
true;
35185 private int maxIntegerRoundingScaling_ = 600;
35201 @java.lang.Override
35203 return ((bitField7_ & 0x00004000) != 0);
35220 @java.lang.Override
35222 return maxIntegerRoundingScaling_;
35242 maxIntegerRoundingScaling_ = value;
35243 bitField7_ |= 0x00004000;
35263 bitField7_ = (bitField7_ & ~0x00004000);
35264 maxIntegerRoundingScaling_ = 600;
35269 private boolean addLpConstraintsLazily_ =
true;
35281 @java.lang.Override
35283 return ((bitField7_ & 0x00008000) != 0);
35296 @java.lang.Override
35298 return addLpConstraintsLazily_;
35314 addLpConstraintsLazily_ = value;
35315 bitField7_ |= 0x00008000;
35331 bitField7_ = (bitField7_ & ~0x00008000);
35332 addLpConstraintsLazily_ =
true;
35337 private int rootLpIterations_ = 2000;
35349 @java.lang.Override
35351 return ((bitField7_ & 0x00010000) != 0);
35364 @java.lang.Override
35366 return rootLpIterations_;
35382 rootLpIterations_ = value;
35383 bitField7_ |= 0x00010000;
35399 bitField7_ = (bitField7_ & ~0x00010000);
35400 rootLpIterations_ = 2000;
35405 private double minOrthogonalityForLpConstraints_ = 0.05D;
35418 @java.lang.Override
35420 return ((bitField7_ & 0x00020000) != 0);
35434 @java.lang.Override
35436 return minOrthogonalityForLpConstraints_;
35453 minOrthogonalityForLpConstraints_ = value;
35454 bitField7_ |= 0x00020000;
35471 bitField7_ = (bitField7_ & ~0x00020000);
35472 minOrthogonalityForLpConstraints_ = 0.05D;
35477 private int maxCutRoundsAtLevelZero_ = 1;
35486 @java.lang.Override
35488 return ((bitField7_ & 0x00040000) != 0);
35498 @java.lang.Override
35500 return maxCutRoundsAtLevelZero_;
35513 maxCutRoundsAtLevelZero_ = value;
35514 bitField7_ |= 0x00040000;
35527 bitField7_ = (bitField7_ & ~0x00040000);
35528 maxCutRoundsAtLevelZero_ = 1;
35533 private int maxConsecutiveInactiveCount_ = 100;
35544 @java.lang.Override
35546 return ((bitField7_ & 0x00080000) != 0);
35558 @java.lang.Override
35560 return maxConsecutiveInactiveCount_;
35575 maxConsecutiveInactiveCount_ = value;
35576 bitField7_ |= 0x00080000;
35591 bitField7_ = (bitField7_ & ~0x00080000);
35592 maxConsecutiveInactiveCount_ = 100;
35597 private double cutMaxActiveCountValue_ = 10000000000D;
35608 @java.lang.Override
35610 return ((bitField7_ & 0x00100000) != 0);
35622 @java.lang.Override
35624 return cutMaxActiveCountValue_;
35639 cutMaxActiveCountValue_ = value;
35640 bitField7_ |= 0x00100000;
35655 bitField7_ = (bitField7_ & ~0x00100000);
35656 cutMaxActiveCountValue_ = 10000000000D;
35661 private double cutActiveCountDecay_ = 0.8D;
35666 @java.lang.Override
35668 return ((bitField7_ & 0x00200000) != 0);
35674 @java.lang.Override
35676 return cutActiveCountDecay_;
35685 cutActiveCountDecay_ = value;
35686 bitField7_ |= 0x00200000;
35695 bitField7_ = (bitField7_ & ~0x00200000);
35696 cutActiveCountDecay_ = 0.8D;
35701 private int cutCleanupTarget_ = 1000;
35710 @java.lang.Override
35712 return ((bitField7_ & 0x00400000) != 0);
35722 @java.lang.Override
35724 return cutCleanupTarget_;
35737 cutCleanupTarget_ = value;
35738 bitField7_ |= 0x00400000;
35751 bitField7_ = (bitField7_ & ~0x00400000);
35752 cutCleanupTarget_ = 1000;
35757 private int newConstraintsBatchSize_ = 50;
35767 @java.lang.Override
35769 return ((bitField7_ & 0x00800000) != 0);
35780 @java.lang.Override
35782 return newConstraintsBatchSize_;
35796 newConstraintsBatchSize_ = value;
35797 bitField7_ |= 0x00800000;
35811 bitField7_ = (bitField7_ & ~0x00800000);
35812 newConstraintsBatchSize_ = 50;
35817 private boolean exploitIntegerLpSolution_ =
true;
35829 @java.lang.Override
35831 return ((bitField7_ & 0x01000000) != 0);
35844 @java.lang.Override
35846 return exploitIntegerLpSolution_;
35862 exploitIntegerLpSolution_ = value;
35863 bitField7_ |= 0x01000000;
35879 bitField7_ = (bitField7_ & ~0x01000000);
35880 exploitIntegerLpSolution_ =
true;
35885 private boolean exploitAllLpSolution_ =
true;
35896 @java.lang.Override
35898 return ((bitField7_ & 0x02000000) != 0);
35910 @java.lang.Override
35912 return exploitAllLpSolution_;
35927 exploitAllLpSolution_ = value;
35928 bitField7_ |= 0x02000000;
35943 bitField7_ = (bitField7_ & ~0x02000000);
35944 exploitAllLpSolution_ =
true;
35949 private boolean exploitBestSolution_ ;
35958 @java.lang.Override
35960 return ((bitField7_ & 0x04000000) != 0);
35970 @java.lang.Override
35972 return exploitBestSolution_;
35985 exploitBestSolution_ = value;
35986 bitField7_ |= 0x04000000;
35999 bitField7_ = (bitField7_ & ~0x04000000);
36000 exploitBestSolution_ =
false;
36005 private boolean exploitRelaxationSolution_ ;
36016 @java.lang.Override
36018 return ((bitField7_ & 0x08000000) != 0);
36030 @java.lang.Override
36032 return exploitRelaxationSolution_;
36047 exploitRelaxationSolution_ = value;
36048 bitField7_ |= 0x08000000;
36063 bitField7_ = (bitField7_ & ~0x08000000);
36064 exploitRelaxationSolution_ =
false;
36069 private boolean exploitObjective_ =
true;
36079 @java.lang.Override
36081 return ((bitField7_ & 0x10000000) != 0);
36092 @java.lang.Override
36094 return exploitObjective_;
36108 exploitObjective_ = value;
36109 bitField7_ |= 0x10000000;
36123 bitField7_ = (bitField7_ & ~0x10000000);
36124 exploitObjective_ =
true;
36129 private boolean detectLinearizedProduct_ ;
36140 @java.lang.Override
36142 return ((bitField7_ & 0x20000000) != 0);
36154 @java.lang.Override
36156 return detectLinearizedProduct_;
36171 detectLinearizedProduct_ = value;
36172 bitField7_ |= 0x20000000;
36187 bitField7_ = (bitField7_ & ~0x20000000);
36188 detectLinearizedProduct_ =
false;
36193 private double mipMaxBound_ = 10000000D;
36204 @java.lang.Override
36206 return ((bitField7_ & 0x40000000) != 0);
36218 @java.lang.Override
36220 return mipMaxBound_;
36235 mipMaxBound_ = value;
36236 bitField7_ |= 0x40000000;
36251 bitField7_ = (bitField7_ & ~0x40000000);
36252 mipMaxBound_ = 10000000D;
36257 private double mipVarScaling_ = 1D;
36268 @java.lang.Override
36270 return ((bitField7_ & 0x80000000) != 0);
36282 @java.lang.Override
36284 return mipVarScaling_;
36299 mipVarScaling_ = value;
36300 bitField7_ |= 0x80000000;
36315 bitField7_ = (bitField7_ & ~0x80000000);
36316 mipVarScaling_ = 1D;
36321 private boolean mipScaleLargeDomain_ ;
36332 @java.lang.Override
36334 return ((bitField8_ & 0x00000001) != 0);
36346 @java.lang.Override
36348 return mipScaleLargeDomain_;
36363 mipScaleLargeDomain_ = value;
36364 bitField8_ |= 0x00000001;
36379 bitField8_ = (bitField8_ & ~0x00000001);
36380 mipScaleLargeDomain_ =
false;
36385 private boolean mipAutomaticallyScaleVariables_ =
true;
36398 @java.lang.Override
36400 return ((bitField8_ & 0x00000002) != 0);
36414 @java.lang.Override
36416 return mipAutomaticallyScaleVariables_;
36433 mipAutomaticallyScaleVariables_ = value;
36434 bitField8_ |= 0x00000002;
36451 bitField8_ = (bitField8_ & ~0x00000002);
36452 mipAutomaticallyScaleVariables_ =
true;
36457 private boolean onlySolveIp_ ;
36477 @java.lang.Override
36479 return ((bitField8_ & 0x00000004) != 0);
36500 @java.lang.Override
36502 return onlySolveIp_;
36526 onlySolveIp_ = value;
36527 bitField8_ |= 0x00000004;
36551 bitField8_ = (bitField8_ & ~0x00000004);
36552 onlySolveIp_ =
false;
36557 private double mipWantedPrecision_ = 1e-06D;
36582 @java.lang.Override
36584 return ((bitField8_ & 0x00000008) != 0);
36610 @java.lang.Override
36612 return mipWantedPrecision_;
36641 mipWantedPrecision_ = value;
36642 bitField8_ |= 0x00000008;
36671 bitField8_ = (bitField8_ & ~0x00000008);
36672 mipWantedPrecision_ = 1e-06D;
36677 private int mipMaxActivityExponent_ = 53;
36693 @java.lang.Override
36695 return ((bitField8_ & 0x00000010) != 0);
36712 @java.lang.Override
36714 return mipMaxActivityExponent_;
36734 mipMaxActivityExponent_ = value;
36735 bitField8_ |= 0x00000010;
36755 bitField8_ = (bitField8_ & ~0x00000010);
36756 mipMaxActivityExponent_ = 53;
36761 private double mipCheckPrecision_ = 0.0001D;
36772 @java.lang.Override
36774 return ((bitField8_ & 0x00000020) != 0);
36786 @java.lang.Override
36788 return mipCheckPrecision_;
36803 mipCheckPrecision_ = value;
36804 bitField8_ |= 0x00000020;
36819 bitField8_ = (bitField8_ & ~0x00000020);
36820 mipCheckPrecision_ = 0.0001D;
36825 private boolean mipComputeTrueObjectiveBound_ =
true;
36838 @java.lang.Override
36840 return ((bitField8_ & 0x00000040) != 0);
36854 @java.lang.Override
36856 return mipComputeTrueObjectiveBound_;
36873 mipComputeTrueObjectiveBound_ = value;
36874 bitField8_ |= 0x00000040;
36891 bitField8_ = (bitField8_ & ~0x00000040);
36892 mipComputeTrueObjectiveBound_ =
true;
36897 private double mipMaxValidMagnitude_ = 1e+20D;
36910 @java.lang.Override
36912 return ((bitField8_ & 0x00000080) != 0);
36926 @java.lang.Override
36928 return mipMaxValidMagnitude_;
36945 mipMaxValidMagnitude_ = value;
36946 bitField8_ |= 0x00000080;
36963 bitField8_ = (bitField8_ & ~0x00000080);
36964 mipMaxValidMagnitude_ = 1e+20D;
36969 private boolean mipTreatHighMagnitudeBoundsAsInfinity_ ;
36983 @java.lang.Override
36985 return ((bitField8_ & 0x00000100) != 0);
37000 @java.lang.Override
37002 return mipTreatHighMagnitudeBoundsAsInfinity_;
37020 mipTreatHighMagnitudeBoundsAsInfinity_ = value;
37021 bitField8_ |= 0x00000100;
37039 bitField8_ = (bitField8_ & ~0x00000100);
37040 mipTreatHighMagnitudeBoundsAsInfinity_ =
false;
37045 private double mipDropTolerance_ = 1e-16D;
37055 @java.lang.Override
37057 return ((bitField8_ & 0x00000200) != 0);
37068 @java.lang.Override
37070 return mipDropTolerance_;
37084 mipDropTolerance_ = value;
37085 bitField8_ |= 0x00000200;
37099 bitField8_ = (bitField8_ & ~0x00000200);
37100 mipDropTolerance_ = 1e-16D;
37105 private int mipPresolveLevel_ = 2;
37117 @java.lang.Override
37119 return ((bitField8_ & 0x00000400) != 0);
37132 @java.lang.Override
37134 return mipPresolveLevel_;
37150 mipPresolveLevel_ = value;
37151 bitField8_ |= 0x00000400;
37167 bitField8_ = (bitField8_ & ~0x00000400);
37168 mipPresolveLevel_ = 2;
37179 DEFAULT_INSTANCE =
new com.google.ortools.sat.SatParameters();
37183 return DEFAULT_INSTANCE;
37186 private static final com.google.protobuf.Parser<
SatParameters>
37187 PARSER =
new com.google.protobuf.AbstractParser<
SatParameters>() {
37188 @java.lang.Override
37190 com.google.protobuf.CodedInputStream input,
37191 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
37192 throws com.google.protobuf.InvalidProtocolBufferException {
37195 builder.mergeFrom(input, extensionRegistry);
37196 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
37197 throw e.setUnfinishedMessage(builder.buildPartial());
37198 }
catch (com.google.protobuf.UninitializedMessageException e) {
37199 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
37200 }
catch (java.io.IOException e) {
37201 throw new com.google.protobuf.InvalidProtocolBufferException(e)
37202 .setUnfinishedMessage(builder.buildPartial());
37204 return builder.buildPartial();
37208 public static com.google.protobuf.Parser<SatParameters>
parser() {
37212 @java.lang.Override
37217 @java.lang.Override
37219 return DEFAULT_INSTANCE;