4 package com.google.ortools.sat;
16 com.google.protobuf.GeneratedMessageV3 implements
19 private static final long serialVersionUID = 0L;
25 preferredVariableOrder_ = 0;
27 usePhaseSaving_ =
true;
28 minimizationAlgorithm_ = 2;
29 binaryMinimizationAlgorithm_ = 1;
30 subsumptionDuringConflictAnalysis_ =
true;
31 clauseCleanupPeriod_ = 10000;
32 clauseCleanupTarget_ = 10000;
33 clauseCleanupProtection_ = 0;
34 clauseCleanupLbdBound_ = 5;
35 clauseCleanupOrdering_ = 0;
36 pbCleanupIncrement_ = 200;
37 pbCleanupRatio_ = 0.5D;
38 minimizeWithPropagationRestartPeriod_ = 10;
39 minimizeWithPropagationNumDecisions_ = 1000;
40 variableActivityDecay_ = 0.8D;
41 maxVariableActivityValue_ = 1e+100D;
42 glucoseMaxDecay_ = 0.95D;
43 glucoseDecayIncrement_ = 0.01D;
44 glucoseDecayIncrementPeriod_ = 5000;
45 clauseActivityDecay_ = 0.999D;
46 maxClauseActivityValue_ = 1e+20D;
47 restartAlgorithms_ = java.util.Collections.emptyList();
48 defaultRestartAlgorithms_ =
"LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
50 restartRunningWindowSize_ = 50;
51 restartDlAverageRatio_ = 1D;
52 restartLbdAverageRatio_ = 1D;
53 blockingRestartWindowSize_ = 5000;
54 blockingRestartMultiplier_ = 1.4D;
55 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
56 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
57 maxNumberOfConflicts_ = 9223372036854775807L;
58 maxMemoryInMb_ = 10000L;
59 treatBinaryClausesSeparately_ =
true;
61 countAssumptionLevelsInLbd_ =
true;
62 presolveBveThreshold_ = 500;
63 presolveBveClauseWeight_ = 3;
64 presolveProbingDeterministicTimeLimit_ = 30D;
65 presolveBlockedClause_ =
true;
66 presolveUseBva_ =
true;
67 presolveBvaThreshold_ = 1;
68 useOptimizationHints_ =
true;
70 findMultipleCores_ =
true;
71 coverOptimization_ =
true;
72 maxSatAssumptionOrder_ = 0;
73 maxSatStratification_ = 1;
74 usePrecedencesInDisjunctiveConstraint_ =
true;
75 useDisjunctiveConstraintInCumulativeConstraint_ =
true;
76 linearizationLevel_ = 1;
77 booleanEncodingLevel_ = 1;
80 useMirRounding_ =
true;
81 maxIntegerRoundingScaling_ = 600;
82 addLpConstraintsLazily_ =
true;
83 maxInactiveCount_ = 1000L;
84 constraintRemovalBatchSize_ = 100L;
86 exploitIntegerLpSolution_ =
true;
87 exploitAllLpSolution_ =
true;
88 exploitObjective_ =
true;
89 pseudoCostReliabilityThreshold_ = 100L;
90 binarySearchNumConflicts_ = -1;
91 cpModelPresolve_ =
true;
92 cpModelProbingLevel_ = 2;
93 cpModelUseSatPresolve_ =
true;
94 instantiateAllVariables_ =
true;
95 autoDetectGreaterThanAtLeastOneOf_ =
true;
96 shareObjectiveBounds_ =
true;
97 shareLevelZeroBounds_ =
true;
99 lnsIsDeterministic_ =
true;
100 useOptionalVariables_ =
true;
101 useExactLpReason_ =
true;
102 mipMaxBound_ = 10000000D;
104 mipWantedPrecision_ = 1e-06D;
105 mipMaxActivityExponent_ = 53;
106 mipCheckPrecision_ = 0.0001D;
110 @SuppressWarnings({
"unused"})
112 UnusedPrivateParameter unused) {
117 public final com.
google.protobuf.UnknownFieldSet
119 return this.unknownFields;
122 com.
google.protobuf.CodedInputStream input,
123 com.
google.protobuf.ExtensionRegistryLite extensionRegistry)
124 throws com.
google.protobuf.InvalidProtocolBufferException {
126 if (extensionRegistry ==
null) {
127 throw new java.lang.NullPointerException();
129 int mutable_bitField0_ = 0;
130 int mutable_bitField1_ = 0;
131 int mutable_bitField2_ = 0;
132 int mutable_bitField3_ = 0;
133 com.
google.protobuf.UnknownFieldSet.Builder unknownFields =
134 com.
google.protobuf.UnknownFieldSet.newBuilder();
136 boolean done =
false;
138 int tag = input.readTag();
144 int rawValue = input.readEnum();
145 @SuppressWarnings(
"deprecation")
146 com.google.ortools.sat.SatParameters.VariableOrder value =
com.google.ortools.sat.SatParameters.VariableOrder.valueOf(rawValue);
148 unknownFields.mergeVarintField(1, rawValue);
150 bitField0_ |= 0x00000001;
151 preferredVariableOrder_ = rawValue;
156 int rawValue = input.readEnum();
157 @SuppressWarnings(
"deprecation")
158 com.google.ortools.sat.SatParameters.Polarity value =
com.google.ortools.sat.SatParameters.Polarity.valueOf(rawValue);
160 unknownFields.mergeVarintField(2, rawValue);
162 bitField0_ |= 0x00000002;
163 initialPolarity_ = rawValue;
168 int rawValue = input.readEnum();
169 @SuppressWarnings(
"deprecation")
170 com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value =
com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(rawValue);
172 unknownFields.mergeVarintField(4, rawValue);
174 bitField0_ |= 0x00000100;
175 minimizationAlgorithm_ = rawValue;
180 bitField0_ |= 0x00000800;
181 clauseCleanupPeriod_ = input.readInt32();
185 bitField0_ |= 0x00001000;
186 clauseCleanupTarget_ = input.readInt32();
190 bitField0_ |= 0x00100000;
191 variableActivityDecay_ = input.readDouble();
195 bitField0_ |= 0x00200000;
196 maxVariableActivityValue_ = input.readDouble();
200 bitField0_ |= 0x02000000;
201 clauseActivityDecay_ = input.readDouble();
205 bitField0_ |= 0x04000000;
206 maxClauseActivityValue_ = input.readDouble();
210 bitField0_ |= 0x00400000;
211 glucoseMaxDecay_ = input.readDouble();
215 bitField0_ |= 0x00800000;
216 glucoseDecayIncrement_ = input.readDouble();
220 bitField0_ |= 0x01000000;
221 glucoseDecayIncrementPeriod_ = input.readInt32();
225 bitField0_ |= 0x10000000;
226 restartPeriod_ = input.readInt32();
230 bitField1_ |= 0x00000400;
231 randomSeed_ = input.readInt32();
235 bitField0_ |= 0x00000010;
236 randomBranchesRatio_ = input.readDouble();
240 bitField1_ |= 0x00000200;
241 treatBinaryClausesSeparately_ = input.readBool();
245 int rawValue = input.readEnum();
246 @SuppressWarnings(
"deprecation")
247 com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value =
com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(rawValue);
249 unknownFields.mergeVarintField(34, rawValue);
251 bitField0_ |= 0x00000200;
252 binaryMinimizationAlgorithm_ = rawValue;
257 bitField1_ |= 0x00200000;
258 useOptimizationHints_ = input.readBool();
262 bitField1_ |= 0x00000020;
263 maxTimeInSeconds_ = input.readDouble();
267 bitField1_ |= 0x00000080;
268 maxNumberOfConflicts_ = input.readInt64();
272 bitField1_ |= 0x00000100;
273 maxMemoryInMb_ = input.readInt64();
277 bitField1_ |= 0x00000800;
278 logSearchProgress_ = input.readBool();
282 bitField1_ |= 0x00001000;
283 usePbResolution_ = input.readBool();
287 bitField0_ |= 0x00000004;
288 usePhaseSaving_ = input.readBool();
292 bitField0_ |= 0x00000008;
293 randomPolarityRatio_ = input.readDouble();
297 bitField0_ |= 0x00010000;
298 pbCleanupIncrement_ = input.readInt32();
302 bitField0_ |= 0x00020000;
303 pbCleanupRatio_ = input.readDouble();
307 bitField1_ |= 0x00002000;
308 minimizeReductionDuringPbResolution_ = input.readBool();
312 bitField1_ |= 0x00004000;
313 countAssumptionLevelsInLbd_ = input.readBool();
317 bitField1_ |= 0x00400000;
318 minimizeCore_ = input.readBool();
322 int rawValue = input.readEnum();
323 @SuppressWarnings(
"deprecation")
324 com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value =
com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(rawValue);
326 unknownFields.mergeVarintField(51, rawValue);
328 bitField1_ |= 0x02000000;
329 maxSatAssumptionOrder_ = rawValue;
334 bitField1_ |= 0x04000000;
335 maxSatReverseAssumptionOrder_ = input.readBool();
339 int rawValue = input.readEnum();
340 @SuppressWarnings(
"deprecation")
341 com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value =
com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(rawValue);
343 unknownFields.mergeVarintField(53, rawValue);
345 bitField1_ |= 0x08000000;
346 maxSatStratification_ = rawValue;
351 bitField1_ |= 0x00008000;
352 presolveBveThreshold_ = input.readInt32();
356 bitField1_ |= 0x00010000;
357 presolveBveClauseWeight_ = input.readInt32();
361 bitField0_ |= 0x00000400;
362 subsumptionDuringConflictAnalysis_ = input.readBool();
366 bitField1_ |= 0x00020000;
367 presolveProbingDeterministicTimeLimit_ = input.readDouble();
371 int rawValue = input.readEnum();
372 @SuppressWarnings(
"deprecation")
373 com.google.ortools.sat.SatParameters.ClauseProtection value =
com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(rawValue);
375 unknownFields.mergeVarintField(58, rawValue);
377 bitField0_ |= 0x00002000;
378 clauseCleanupProtection_ = rawValue;
383 bitField0_ |= 0x00004000;
384 clauseCleanupLbdBound_ = input.readInt32();
388 int rawValue = input.readEnum();
389 @SuppressWarnings(
"deprecation")
390 com.google.ortools.sat.SatParameters.ClauseOrdering value =
com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(rawValue);
392 unknownFields.mergeVarintField(60, rawValue);
394 bitField0_ |= 0x00008000;
395 clauseCleanupOrdering_ = rawValue;
400 int rawValue = input.readEnum();
401 @SuppressWarnings(
"deprecation")
402 com.google.ortools.sat.SatParameters.RestartAlgorithm value =
com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
404 unknownFields.mergeVarintField(61, rawValue);
406 if (!((mutable_bitField0_ & 0x08000000) != 0)) {
407 restartAlgorithms_ =
new java.util.ArrayList<java.lang.Integer>();
408 mutable_bitField0_ |= 0x08000000;
410 restartAlgorithms_.add(rawValue);
415 int length = input.readRawVarint32();
416 int oldLimit = input.pushLimit(length);
417 while(input.getBytesUntilLimit() > 0) {
418 int rawValue = input.readEnum();
419 @SuppressWarnings(
"deprecation")
420 com.google.ortools.sat.SatParameters.RestartAlgorithm value =
com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
422 unknownFields.mergeVarintField(61, rawValue);
424 if (!((mutable_bitField0_ & 0x08000000) != 0)) {
425 restartAlgorithms_ =
new java.util.ArrayList<java.lang.Integer>();
426 mutable_bitField0_ |= 0x08000000;
428 restartAlgorithms_.add(rawValue);
431 input.popLimit(oldLimit);
435 bitField0_ |= 0x20000000;
436 restartRunningWindowSize_ = input.readInt32();
440 bitField0_ |= 0x40000000;
441 restartDlAverageRatio_ = input.readDouble();
445 bitField1_ |= 0x00000001;
446 useBlockingRestart_ = input.readBool();
450 bitField1_ |= 0x00000002;
451 blockingRestartWindowSize_ = input.readInt32();
455 bitField1_ |= 0x00000004;
456 blockingRestartMultiplier_ = input.readDouble();
460 bitField1_ |= 0x00000040;
461 maxDeterministicTime_ = input.readDouble();
465 bitField1_ |= 0x00000008;
466 numConflictsBeforeStrategyChanges_ = input.readInt32();
470 bitField1_ |= 0x00000010;
471 strategyChangeIncreaseRatio_ = input.readDouble();
475 com.
google.protobuf.ByteString bs = input.readBytes();
476 bitField0_ |= 0x08000000;
477 defaultRestartAlgorithms_ = bs;
481 bitField0_ |= 0x80000000;
482 restartLbdAverageRatio_ = input.readDouble();
486 bitField1_ |= 0x00080000;
487 presolveUseBva_ = input.readBool();
491 bitField1_ |= 0x00100000;
492 presolveBvaThreshold_ = input.readInt32();
496 bitField1_ |= 0x10000000;
497 usePrecedencesInDisjunctiveConstraint_ = input.readBool();
501 bitField0_ |= 0x00000020;
502 useErwaHeuristic_ = input.readBool();
506 bitField0_ |= 0x00000040;
507 initialVariablesActivity_ = input.readDouble();
511 bitField0_ |= 0x00000080;
512 alsoBumpVariablesInConflictReasons_ = input.readBool();
516 bitField1_ |= 0x20000000;
517 useOverloadCheckerInCumulativeConstraint_ = input.readBool();
521 bitField1_ |= 0x40000000;
522 useTimetableEdgeFindingInCumulativeConstraint_ = input.readBool();
526 bitField1_ |= 0x80000000;
527 useDisjunctiveConstraintInCumulativeConstraint_ = input.readBool();
531 int rawValue = input.readEnum();
532 @SuppressWarnings(
"deprecation")
533 com.google.ortools.sat.SatParameters.SearchBranching value =
com.google.ortools.sat.SatParameters.SearchBranching.valueOf(rawValue);
535 unknownFields.mergeVarintField(82, rawValue);
537 bitField2_ |= 0x00002000;
538 searchBranching_ = rawValue;
543 bitField2_ |= 0x00080000;
544 optimizeWithCore_ = input.readBool();
548 bitField1_ |= 0x00800000;
549 findMultipleCores_ = input.readBool();
553 bitField2_ |= 0x00200000;
554 optimizeWithMaxHs_ = input.readBool();
558 bitField2_ |= 0x00400000;
559 cpModelPresolve_ = input.readBool();
563 bitField2_ |= 0x02000000;
564 enumerateAllSolutions_ = input.readBool();
568 bitField1_ |= 0x00040000;
569 presolveBlockedClause_ = input.readBool();
573 bitField1_ |= 0x01000000;
574 coverOptimization_ = input.readBool();
578 bitField2_ |= 0x00000001;
579 linearizationLevel_ = input.readInt32();
583 bitField2_ |= 0x00000004;
584 maxNumCuts_ = input.readInt32();
588 bitField2_ |= 0x00000008;
589 onlyAddCutsAtLevelZero_ = input.readBool();
593 bitField2_ |= 0x01000000;
594 cpModelUseSatPresolve_ = input.readBool();
598 bitField2_ |= 0x00004000;
599 exploitIntegerLpSolution_ = input.readBool();
603 bitField2_ |= 0x10000000;
604 autoDetectGreaterThanAtLeastOneOf_ = input.readBool();
608 bitField0_ |= 0x00040000;
609 minimizeWithPropagationRestartPeriod_ = input.readInt32();
613 bitField0_ |= 0x00080000;
614 minimizeWithPropagationNumDecisions_ = input.readInt32();
618 bitField2_ |= 0x20000000;
619 stopAfterFirstSolution_ = input.readBool();
623 bitField2_ |= 0x00100000;
624 binarySearchNumConflicts_ = input.readInt32();
628 bitField2_ |= 0x40000000;
629 numSearchWorkers_ = input.readInt32();
633 bitField3_ |= 0x00000002;
634 useLns_ = input.readBool();
638 bitField3_ |= 0x00000004;
639 lnsNumThreads_ = input.readInt32();
643 bitField3_ |= 0x00000040;
644 randomizeSearch_ = input.readBool();
648 bitField3_ |= 0x00000080;
649 searchRandomizationTolerance_ = input.readInt64();
653 bitField3_ |= 0x00000010;
654 lnsFocusOnDecisionVariables_ = input.readBool();
658 bitField2_ |= 0x08000000;
659 instantiateAllVariables_ = input.readBool();
663 bitField2_ |= 0x00000002;
664 booleanEncodingLevel_ = input.readInt32();
668 bitField3_ |= 0x00000100;
669 useOptionalVariables_ = input.readBool();
673 bitField3_ |= 0x00000200;
674 useExactLpReason_ = input.readBool();
678 bitField2_ |= 0x00800000;
679 cpModelProbingLevel_ = input.readInt32();
683 bitField2_ |= 0x00000010;
684 addKnapsackCuts_ = input.readBool();
688 bitField2_ |= 0x00000200;
689 addLpConstraintsLazily_ = input.readBool();
693 bitField2_ |= 0x80000000;
694 shareObjectiveBounds_ = input.readBool();
698 bitField3_ |= 0x00000001;
699 shareLevelZeroBounds_ = input.readBool();
703 bitField2_ |= 0x00000400;
704 minOrthogonalityForLpConstraints_ = input.readDouble();
708 bitField2_ |= 0x00008000;
709 exploitAllLpSolution_ = input.readBool();
713 bitField2_ |= 0x00000020;
714 addCgCuts_ = input.readBool();
718 bitField2_ |= 0x00000080;
719 useMirRounding_ = input.readBool();
723 bitField2_ |= 0x00000100;
724 maxIntegerRoundingScaling_ = input.readInt32();
728 bitField2_ |= 0x00000040;
729 addMirCuts_ = input.readBool();
733 bitField2_ |= 0x00000800;
734 maxInactiveCount_ = input.readInt64();
738 bitField2_ |= 0x00001000;
739 constraintRemovalBatchSize_ = input.readInt64();
743 bitField2_ |= 0x00040000;
744 pseudoCostReliabilityThreshold_ = input.readInt64();
748 bitField3_ |= 0x00000800;
749 mipMaxBound_ = input.readDouble();
753 bitField3_ |= 0x00001000;
754 mipVarScaling_ = input.readDouble();
758 bitField3_ |= 0x00002000;
759 mipWantedPrecision_ = input.readDouble();
763 bitField3_ |= 0x00004000;
764 mipMaxActivityExponent_ = input.readInt32();
768 bitField3_ |= 0x00008000;
769 mipCheckPrecision_ = input.readDouble();
773 bitField3_ |= 0x00000020;
774 useRinsLns_ = input.readBool();
778 bitField2_ |= 0x00010000;
779 exploitBestSolution_ = input.readBool();
783 bitField2_ |= 0x00020000;
784 exploitObjective_ = input.readBool();
788 bitField2_ |= 0x04000000;
789 fillTightenedDomainsInResponse_ = input.readBool();
793 bitField3_ |= 0x00000400;
794 useCombinedNoOverlap_ = input.readBool();
798 bitField3_ |= 0x00000008;
799 lnsIsDeterministic_ = input.readBool();
803 if (!parseUnknownField(
804 input, unknownFields, extensionRegistry, tag)) {
811 }
catch (
com.
google.protobuf.InvalidProtocolBufferException e) {
812 throw e.setUnfinishedMessage(
this);
813 }
catch (java.io.IOException e) {
814 throw new com.
google.protobuf.InvalidProtocolBufferException(
815 e).setUnfinishedMessage(
this);
817 if (((mutable_bitField0_ & 0x08000000) != 0)) {
818 restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
820 this.unknownFields = unknownFields.build();
821 makeExtensionsImmutable();
824 public static final com.
google.protobuf.Descriptors.Descriptor
826 return com.
google.
ortools.
sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
830 protected com.
google.protobuf.GeneratedMessageV3.FieldAccessorTable
832 return com.
google.
ortools.
sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
833 .ensureFieldAccessorsInitialized(
846 implements
com.
google.protobuf.ProtocolMessageEnum {
872 public static final int IN_ORDER_VALUE = 0;
876 public static final int IN_REVERSE_ORDER_VALUE = 1;
880 public static final int IN_RANDOM_ORDER_VALUE = 2;
890 @java.lang.Deprecated
892 return forNumber(value);
897 case 0:
return IN_ORDER;
898 case 1:
return IN_REVERSE_ORDER;
899 case 2:
return IN_RANDOM_ORDER;
900 default:
return null;
906 return internalValueMap;
908 private static final com.
google.protobuf.Internal.EnumLiteMap<
916 public final com.
google.protobuf.Descriptors.EnumValueDescriptor
920 public final com.
google.protobuf.Descriptors.EnumDescriptor
924 public static final com.
google.protobuf.Descriptors.EnumDescriptor
932 com.
google.protobuf.Descriptors.EnumValueDescriptor desc) {
934 throw new java.lang.IllegalArgumentException(
935 "EnumValueDescriptor is not for this type.");
937 return VALUES[desc.getIndex()];
940 private final int value;
961 implements
com.
google.protobuf.ProtocolMessageEnum {
998 public static final int POLARITY_TRUE_VALUE = 0;
1002 public static final int POLARITY_FALSE_VALUE = 1;
1006 public static final int POLARITY_RANDOM_VALUE = 2;
1017 public static final int POLARITY_WEIGHTED_SIGN_VALUE = 3;
1025 public static final int POLARITY_REVERSE_WEIGHTED_SIGN_VALUE = 4;
1035 @java.lang.Deprecated
1037 return forNumber(value);
1042 case 0:
return POLARITY_TRUE;
1043 case 1:
return POLARITY_FALSE;
1044 case 2:
return POLARITY_RANDOM;
1045 case 3:
return POLARITY_WEIGHTED_SIGN;
1046 case 4:
return POLARITY_REVERSE_WEIGHTED_SIGN;
1047 default:
return null;
1053 return internalValueMap;
1055 private static final com.
google.protobuf.Internal.EnumLiteMap<
1058 public Polarity findValueByNumber(
int number) {
1063 public final com.
google.protobuf.Descriptors.EnumValueDescriptor
1067 public final com.
google.protobuf.Descriptors.EnumDescriptor
1071 public static final com.
google.protobuf.Descriptors.EnumDescriptor
1076 private static final Polarity[] VALUES = values();
1079 com.
google.protobuf.Descriptors.EnumValueDescriptor desc) {
1081 throw new java.lang.IllegalArgumentException(
1082 "EnumValueDescriptor is not for this type.");
1084 return VALUES[desc.getIndex()];
1087 private final int value;
1104 implements
com.
google.protobuf.ProtocolMessageEnum {
1126 public static final int NONE_VALUE = 0;
1130 public static final int SIMPLE_VALUE = 1;
1134 public static final int RECURSIVE_VALUE = 2;
1138 public static final int EXPERIMENTAL_VALUE = 3;
1148 @java.lang.Deprecated
1150 return forNumber(value);
1155 case 0:
return NONE;
1156 case 1:
return SIMPLE;
1157 case 2:
return RECURSIVE;
1158 case 3:
return EXPERIMENTAL;
1159 default:
return null;
1165 return internalValueMap;
1167 private static final com.
google.protobuf.Internal.EnumLiteMap<
1175 public final com.
google.protobuf.Descriptors.EnumValueDescriptor
1179 public final com.
google.protobuf.Descriptors.EnumDescriptor
1183 public static final com.
google.protobuf.Descriptors.EnumDescriptor
1191 com.
google.protobuf.Descriptors.EnumValueDescriptor desc) {
1193 throw new java.lang.IllegalArgumentException(
1194 "EnumValueDescriptor is not for this type.");
1196 return VALUES[desc.getIndex()];
1199 private final int value;
1217 implements
com.
google.protobuf.ProtocolMessageEnum {
1243 public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
1247 public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
1251 public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
1255 public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
1259 public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
1269 @java.lang.Deprecated
1271 return forNumber(value);
1276 case 0:
return NO_BINARY_MINIMIZATION;
1277 case 1:
return BINARY_MINIMIZATION_FIRST;
1278 case 4:
return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
1279 case 2:
return BINARY_MINIMIZATION_WITH_REACHABILITY;
1280 case 3:
return EXPERIMENTAL_BINARY_MINIMIZATION;
1281 default:
return null;
1287 return internalValueMap;
1289 private static final com.
google.protobuf.Internal.EnumLiteMap<
1297 public final com.
google.protobuf.Descriptors.EnumValueDescriptor
1301 public final com.
google.protobuf.Descriptors.EnumDescriptor
1305 public static final com.
google.protobuf.Descriptors.EnumDescriptor
1313 com.
google.protobuf.Descriptors.EnumValueDescriptor desc) {
1315 throw new java.lang.IllegalArgumentException(
1316 "EnumValueDescriptor is not for this type.");
1318 return VALUES[desc.getIndex()];
1321 private final int value;
1340 implements
com.
google.protobuf.ProtocolMessageEnum {
1374 public static final int PROTECTION_NONE_VALUE = 0;
1382 public static final int PROTECTION_ALWAYS_VALUE = 1;
1390 public static final int PROTECTION_LBD_VALUE = 2;
1400 @java.lang.Deprecated
1402 return forNumber(value);
1407 case 0:
return PROTECTION_NONE;
1408 case 1:
return PROTECTION_ALWAYS;
1409 case 2:
return PROTECTION_LBD;
1410 default:
return null;
1416 return internalValueMap;
1418 private static final com.
google.protobuf.Internal.EnumLiteMap<
1426 public final com.
google.protobuf.Descriptors.EnumValueDescriptor
1430 public final com.
google.protobuf.Descriptors.EnumDescriptor
1434 public static final com.
google.protobuf.Descriptors.EnumDescriptor
1442 com.
google.protobuf.Descriptors.EnumValueDescriptor desc) {
1444 throw new java.lang.IllegalArgumentException(
1445 "EnumValueDescriptor is not for this type.");
1447 return VALUES[desc.getIndex()];
1450 private final int value;
1468 implements
com.
google.protobuf.ProtocolMessageEnum {
1494 public static final int CLAUSE_ACTIVITY_VALUE = 0;
1502 public static final int CLAUSE_LBD_VALUE = 1;
1512 @java.lang.Deprecated
1514 return forNumber(value);
1519 case 0:
return CLAUSE_ACTIVITY;
1520 case 1:
return CLAUSE_LBD;
1521 default:
return null;
1527 return internalValueMap;
1529 private static final com.
google.protobuf.Internal.EnumLiteMap<
1537 public final com.
google.protobuf.Descriptors.EnumValueDescriptor
1541 public final com.
google.protobuf.Descriptors.EnumDescriptor
1545 public static final com.
google.protobuf.Descriptors.EnumDescriptor
1553 com.
google.protobuf.Descriptors.EnumValueDescriptor desc) {
1555 throw new java.lang.IllegalArgumentException(
1556 "EnumValueDescriptor is not for this type.");
1558 return VALUES[desc.getIndex()];
1561 private final int value;
1582 implements
com.
google.protobuf.ProtocolMessageEnum {
1624 public static final int NO_RESTART_VALUE = 0;
1632 public static final int LUBY_RESTART_VALUE = 1;
1640 public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
1648 public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
1656 public static final int FIXED_RESTART_VALUE = 4;
1666 @java.lang.Deprecated
1668 return forNumber(value);
1673 case 0:
return NO_RESTART;
1674 case 1:
return LUBY_RESTART;
1675 case 2:
return DL_MOVING_AVERAGE_RESTART;
1676 case 3:
return LBD_MOVING_AVERAGE_RESTART;
1677 case 4:
return FIXED_RESTART;
1678 default:
return null;
1684 return internalValueMap;
1686 private static final com.
google.protobuf.Internal.EnumLiteMap<
1694 public final com.
google.protobuf.Descriptors.EnumValueDescriptor
1698 public final com.
google.protobuf.Descriptors.EnumDescriptor
1702 public static final com.
google.protobuf.Descriptors.EnumDescriptor
1710 com.
google.protobuf.Descriptors.EnumValueDescriptor desc) {
1712 throw new java.lang.IllegalArgumentException(
1713 "EnumValueDescriptor is not for this type.");
1715 return VALUES[desc.getIndex()];
1718 private final int value;
1735 implements
com.
google.protobuf.ProtocolMessageEnum {
1753 public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
1757 public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
1761 public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
1771 @java.lang.Deprecated
1773 return forNumber(value);
1778 case 0:
return DEFAULT_ASSUMPTION_ORDER;
1779 case 1:
return ORDER_ASSUMPTION_BY_DEPTH;
1780 case 2:
return ORDER_ASSUMPTION_BY_WEIGHT;
1781 default:
return null;
1787 return internalValueMap;
1789 private static final com.
google.protobuf.Internal.EnumLiteMap<
1797 public final com.
google.protobuf.Descriptors.EnumValueDescriptor
1801 public final com.
google.protobuf.Descriptors.EnumDescriptor
1805 public static final com.
google.protobuf.Descriptors.EnumDescriptor
1813 com.
google.protobuf.Descriptors.EnumValueDescriptor desc) {
1815 throw new java.lang.IllegalArgumentException(
1816 "EnumValueDescriptor is not for this type.");
1818 return VALUES[desc.getIndex()];
1821 private final int value;
1838 implements
com.
google.protobuf.ProtocolMessageEnum {
1876 public static final int STRATIFICATION_NONE_VALUE = 0;
1885 public static final int STRATIFICATION_DESCENT_VALUE = 1;
1896 public static final int STRATIFICATION_ASCENT_VALUE = 2;
1906 @java.lang.Deprecated
1908 return forNumber(value);
1913 case 0:
return STRATIFICATION_NONE;
1914 case 1:
return STRATIFICATION_DESCENT;
1915 case 2:
return STRATIFICATION_ASCENT;
1916 default:
return null;
1922 return internalValueMap;
1924 private static final com.
google.protobuf.Internal.EnumLiteMap<
1932 public final com.
google.protobuf.Descriptors.EnumValueDescriptor
1936 public final com.
google.protobuf.Descriptors.EnumDescriptor
1940 public static final com.
google.protobuf.Descriptors.EnumDescriptor
1948 com.
google.protobuf.Descriptors.EnumValueDescriptor desc) {
1950 throw new java.lang.IllegalArgumentException(
1951 "EnumValueDescriptor is not for this type.");
1953 return VALUES[desc.getIndex()];
1956 private final int value;
1973 implements
com.
google.protobuf.ProtocolMessageEnum {
2040 public static final int AUTOMATIC_SEARCH_VALUE = 0;
2053 public static final int FIXED_SEARCH_VALUE = 1;
2061 public static final int PORTFOLIO_SEARCH_VALUE = 2;
2069 public static final int LP_SEARCH_VALUE = 3;
2077 public static final int PSEUDO_COST_SEARCH_VALUE = 4;
2087 public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
2097 @java.lang.Deprecated
2099 return forNumber(value);
2104 case 0:
return AUTOMATIC_SEARCH;
2105 case 1:
return FIXED_SEARCH;
2106 case 2:
return PORTFOLIO_SEARCH;
2107 case 3:
return LP_SEARCH;
2108 case 4:
return PSEUDO_COST_SEARCH;
2109 case 5:
return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
2110 default:
return null;
2116 return internalValueMap;
2118 private static final com.
google.protobuf.Internal.EnumLiteMap<
2126 public final com.
google.protobuf.Descriptors.EnumValueDescriptor
2130 public final com.
google.protobuf.Descriptors.EnumDescriptor
2134 public static final com.
google.protobuf.Descriptors.EnumDescriptor
2142 com.
google.protobuf.Descriptors.EnumValueDescriptor desc) {
2144 throw new java.lang.IllegalArgumentException(
2145 "EnumValueDescriptor is not for this type.");
2147 return VALUES[desc.getIndex()];
2150 private final int value;
2159 private int bitField0_;
2160 private int bitField1_;
2161 private int bitField2_;
2162 private int bitField3_;
2164 private int preferredVariableOrder_;
2169 return ((bitField0_ & 0x00000001) != 0);
2175 @SuppressWarnings(
"deprecation")
2181 private int initialPolarity_;
2186 return ((bitField0_ & 0x00000002) != 0);
2192 @SuppressWarnings(
"deprecation")
2198 private boolean usePhaseSaving_;
2213 return ((bitField0_ & 0x00000004) != 0);
2229 return usePhaseSaving_;
2233 private double randomPolarityRatio_;
2246 return ((bitField0_ & 0x00000008) != 0);
2260 return randomPolarityRatio_;
2264 private double randomBranchesRatio_;
2275 return ((bitField0_ & 0x00000010) != 0);
2287 return randomBranchesRatio_;
2291 private boolean useErwaHeuristic_;
2302 return ((bitField0_ & 0x00000020) != 0);
2314 return useErwaHeuristic_;
2318 private double initialVariablesActivity_;
2332 return ((bitField0_ & 0x00000040) != 0);
2347 return initialVariablesActivity_;
2351 private boolean alsoBumpVariablesInConflictReasons_;
2363 return ((bitField0_ & 0x00000080) != 0);
2376 return alsoBumpVariablesInConflictReasons_;
2380 private int minimizationAlgorithm_;
2385 return ((bitField0_ & 0x00000100) != 0);
2391 @SuppressWarnings(
"deprecation")
2397 private int binaryMinimizationAlgorithm_;
2402 return ((bitField0_ & 0x00000200) != 0);
2408 @SuppressWarnings(
"deprecation")
2414 private boolean subsumptionDuringConflictAnalysis_;
2426 return ((bitField0_ & 0x00000400) != 0);
2439 return subsumptionDuringConflictAnalysis_;
2443 private int clauseCleanupPeriod_;
2452 return ((bitField0_ & 0x00000800) != 0);
2462 return clauseCleanupPeriod_;
2466 private int clauseCleanupTarget_;
2476 return ((bitField0_ & 0x00001000) != 0);
2487 return clauseCleanupTarget_;
2491 private int clauseCleanupProtection_;
2496 return ((bitField0_ & 0x00002000) != 0);
2502 @SuppressWarnings(
"deprecation")
2508 private int clauseCleanupLbdBound_;
2518 return ((bitField0_ & 0x00004000) != 0);
2529 return clauseCleanupLbdBound_;
2533 private int clauseCleanupOrdering_;
2538 return ((bitField0_ & 0x00008000) != 0);
2544 @SuppressWarnings(
"deprecation")
2550 private int pbCleanupIncrement_;
2559 return ((bitField0_ & 0x00010000) != 0);
2569 return pbCleanupIncrement_;
2573 private double pbCleanupRatio_;
2578 return ((bitField0_ & 0x00020000) != 0);
2584 return pbCleanupRatio_;
2588 private int minimizeWithPropagationRestartPeriod_;
2607 return ((bitField0_ & 0x00040000) != 0);
2627 return minimizeWithPropagationRestartPeriod_;
2631 private int minimizeWithPropagationNumDecisions_;
2636 return ((bitField0_ & 0x00080000) != 0);
2642 return minimizeWithPropagationNumDecisions_;
2646 private double variableActivityDecay_;
2661 return ((bitField0_ & 0x00100000) != 0);
2677 return variableActivityDecay_;
2681 private double maxVariableActivityValue_;
2686 return ((bitField0_ & 0x00200000) != 0);
2692 return maxVariableActivityValue_;
2696 private double glucoseMaxDecay_;
2708 return ((bitField0_ & 0x00400000) != 0);
2721 return glucoseMaxDecay_;
2725 private double glucoseDecayIncrement_;
2730 return ((bitField0_ & 0x00800000) != 0);
2736 return glucoseDecayIncrement_;
2740 private int glucoseDecayIncrementPeriod_;
2745 return ((bitField0_ & 0x01000000) != 0);
2751 return glucoseDecayIncrementPeriod_;
2755 private double clauseActivityDecay_;
2764 return ((bitField0_ & 0x02000000) != 0);
2774 return clauseActivityDecay_;
2778 private double maxClauseActivityValue_;
2783 return ((bitField0_ & 0x04000000) != 0);
2789 return maxClauseActivityValue_;
2793 private java.util.List<java.lang.Integer> restartAlgorithms_;
2794 private static final com.
google.protobuf.Internal.ListAdapter.Converter<
2796 new com.
google.protobuf.Internal.ListAdapter.Converter<
2799 @SuppressWarnings(
"deprecation")
2819 return new com.
google.protobuf.Internal.ListAdapter<
2837 return restartAlgorithms_.size();
2854 return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
2858 private volatile java.lang.Object defaultRestartAlgorithms_;
2863 return ((bitField0_ & 0x08000000) != 0);
2869 java.lang.Object ref = defaultRestartAlgorithms_;
2870 if (ref instanceof java.lang.String) {
2871 return (java.lang.String) ref;
2875 java.lang.String s = bs.toStringUtf8();
2876 if (bs.isValidUtf8()) {
2877 defaultRestartAlgorithms_ = s;
2887 java.lang.Object ref = defaultRestartAlgorithms_;
2888 if (ref instanceof java.lang.String) {
2890 com.
google.protobuf.ByteString.copyFromUtf8(
2891 (java.lang.String) ref);
2892 defaultRestartAlgorithms_ = b;
2895 return (
com.
google.protobuf.ByteString) ref;
2900 private int restartPeriod_;
2910 return ((bitField0_ & 0x10000000) != 0);
2921 return restartPeriod_;
2925 private int restartRunningWindowSize_;
2934 return ((bitField0_ & 0x20000000) != 0);
2944 return restartRunningWindowSize_;
2948 private double restartDlAverageRatio_;
2958 return ((bitField0_ & 0x40000000) != 0);
2969 return restartDlAverageRatio_;
2973 private double restartLbdAverageRatio_;
2978 return ((bitField0_ & 0x80000000) != 0);
2984 return restartLbdAverageRatio_;
2988 private boolean useBlockingRestart_;
2999 return ((bitField1_ & 0x00000001) != 0);
3011 return useBlockingRestart_;
3015 private int blockingRestartWindowSize_;
3020 return ((bitField1_ & 0x00000002) != 0);
3026 return blockingRestartWindowSize_;
3030 private double blockingRestartMultiplier_;
3035 return ((bitField1_ & 0x00000004) != 0);
3041 return blockingRestartMultiplier_;
3045 private int numConflictsBeforeStrategyChanges_;
3056 return ((bitField1_ & 0x00000008) != 0);
3068 return numConflictsBeforeStrategyChanges_;
3072 private double strategyChangeIncreaseRatio_;
3082 return ((bitField1_ & 0x00000010) != 0);
3093 return strategyChangeIncreaseRatio_;
3097 private double maxTimeInSeconds_;
3108 return ((bitField1_ & 0x00000020) != 0);
3120 return maxTimeInSeconds_;
3124 private double maxDeterministicTime_;
3137 return ((bitField1_ & 0x00000040) != 0);
3151 return maxDeterministicTime_;
3155 private long maxNumberOfConflicts_;
3164 return ((bitField1_ & 0x00000080) != 0);
3174 return maxNumberOfConflicts_;
3178 private long maxMemoryInMb_;
3190 return ((bitField1_ & 0x00000100) != 0);
3203 return maxMemoryInMb_;
3207 private boolean treatBinaryClausesSeparately_;
3218 return ((bitField1_ & 0x00000200) != 0);
3230 return treatBinaryClausesSeparately_;
3234 private int randomSeed_;
3248 return ((bitField1_ & 0x00000400) != 0);
3267 private boolean logSearchProgress_;
3276 return ((bitField1_ & 0x00000800) != 0);
3286 return logSearchProgress_;
3290 private boolean usePbResolution_;
3302 return ((bitField1_ & 0x00001000) != 0);
3315 return usePbResolution_;
3319 private boolean minimizeReductionDuringPbResolution_;
3331 return ((bitField1_ & 0x00002000) != 0);
3344 return minimizeReductionDuringPbResolution_;
3348 private boolean countAssumptionLevelsInLbd_;
3364 return ((bitField1_ & 0x00004000) != 0);
3381 return countAssumptionLevelsInLbd_;
3385 private int presolveBveThreshold_;
3396 return ((bitField1_ & 0x00008000) != 0);
3408 return presolveBveThreshold_;
3412 private int presolveBveClauseWeight_;
3422 return ((bitField1_ & 0x00010000) != 0);
3433 return presolveBveClauseWeight_;
3437 private double presolveProbingDeterministicTimeLimit_;
3447 return ((bitField1_ & 0x00020000) != 0);
3458 return presolveProbingDeterministicTimeLimit_;
3462 private boolean presolveBlockedClause_;
3472 return ((bitField1_ & 0x00040000) != 0);
3483 return presolveBlockedClause_;
3487 private boolean presolveUseBva_;
3496 return ((bitField1_ & 0x00080000) != 0);
3506 return presolveUseBva_;
3510 private int presolveBvaThreshold_;
3522 return ((bitField1_ & 0x00100000) != 0);
3535 return presolveBvaThreshold_;
3539 private boolean useOptimizationHints_;
3551 return ((bitField1_ & 0x00200000) != 0);
3564 return useOptimizationHints_;
3568 private boolean minimizeCore_;
3577 return ((bitField1_ & 0x00400000) != 0);
3587 return minimizeCore_;
3591 private boolean findMultipleCores_;
3601 return ((bitField1_ & 0x00800000) != 0);
3612 return findMultipleCores_;
3616 private boolean coverOptimization_;
3626 return ((bitField1_ & 0x01000000) != 0);
3637 return coverOptimization_;
3641 private int maxSatAssumptionOrder_;
3646 return ((bitField1_ & 0x02000000) != 0);
3652 @SuppressWarnings(
"deprecation")
3658 private boolean maxSatReverseAssumptionOrder_;
3668 return ((bitField1_ & 0x04000000) != 0);
3679 return maxSatReverseAssumptionOrder_;
3683 private int maxSatStratification_;
3688 return ((bitField1_ & 0x08000000) != 0);
3694 @SuppressWarnings(
"deprecation")
3700 private boolean usePrecedencesInDisjunctiveConstraint_;
3716 return ((bitField1_ & 0x10000000) != 0);
3733 return usePrecedencesInDisjunctiveConstraint_;
3737 private boolean useOverloadCheckerInCumulativeConstraint_;
3751 return ((bitField1_ & 0x20000000) != 0);
3766 return useOverloadCheckerInCumulativeConstraint_;
3770 private boolean useTimetableEdgeFindingInCumulativeConstraint_;
3784 return ((bitField1_ & 0x40000000) != 0);
3799 return useTimetableEdgeFindingInCumulativeConstraint_;
3803 private boolean useDisjunctiveConstraintInCumulativeConstraint_;
3819 return ((bitField1_ & 0x80000000) != 0);
3836 return useDisjunctiveConstraintInCumulativeConstraint_;
3840 private int linearizationLevel_;
3852 return ((bitField2_ & 0x00000001) != 0);
3865 return linearizationLevel_;
3869 private int booleanEncodingLevel_;
3879 return ((bitField2_ & 0x00000002) != 0);
3890 return booleanEncodingLevel_;
3894 private int maxNumCuts_;
3904 return ((bitField2_ & 0x00000004) != 0);
3919 private boolean onlyAddCutsAtLevelZero_;
3929 return ((bitField2_ & 0x00000008) != 0);
3940 return onlyAddCutsAtLevelZero_;
3944 private boolean addKnapsackCuts_;
3955 return ((bitField2_ & 0x00000010) != 0);
3967 return addKnapsackCuts_;
3971 private boolean addCgCuts_;
3981 return ((bitField2_ & 0x00000020) != 0);
3996 private boolean addMirCuts_;
4006 return ((bitField2_ & 0x00000040) != 0);
4021 private boolean useMirRounding_;
4032 return ((bitField2_ & 0x00000080) != 0);
4044 return useMirRounding_;
4048 private int maxIntegerRoundingScaling_;
4061 return ((bitField2_ & 0x00000100) != 0);
4075 return maxIntegerRoundingScaling_;
4079 private boolean addLpConstraintsLazily_;
4091 return ((bitField2_ & 0x00000200) != 0);
4104 return addLpConstraintsLazily_;
4108 private double minOrthogonalityForLpConstraints_;
4121 return ((bitField2_ & 0x00000400) != 0);
4135 return minOrthogonalityForLpConstraints_;
4139 private long maxInactiveCount_;
4149 return ((bitField2_ & 0x00000800) != 0);
4160 return maxInactiveCount_;
4164 private long constraintRemovalBatchSize_;
4174 return ((bitField2_ & 0x00001000) != 0);
4185 return constraintRemovalBatchSize_;
4189 private int searchBranching_;
4194 return ((bitField2_ & 0x00002000) != 0);
4200 @SuppressWarnings(
"deprecation")
4206 private boolean exploitIntegerLpSolution_;
4218 return ((bitField2_ & 0x00004000) != 0);
4231 return exploitIntegerLpSolution_;
4235 private boolean exploitAllLpSolution_;
4246 return ((bitField2_ & 0x00008000) != 0);
4258 return exploitAllLpSolution_;
4262 private boolean exploitBestSolution_;
4271 return ((bitField2_ & 0x00010000) != 0);
4281 return exploitBestSolution_;
4285 private boolean exploitObjective_;
4295 return ((bitField2_ & 0x00020000) != 0);
4306 return exploitObjective_;
4310 private long pseudoCostReliabilityThreshold_;
4320 return ((bitField2_ & 0x00040000) != 0);
4331 return pseudoCostReliabilityThreshold_;
4335 private boolean optimizeWithCore_;
4347 return ((bitField2_ & 0x00080000) != 0);
4360 return optimizeWithCore_;
4364 private int binarySearchNumConflicts_;
4376 return ((bitField2_ & 0x00100000) != 0);
4389 return binarySearchNumConflicts_;
4393 private boolean optimizeWithMaxHs_;
4407 return ((bitField2_ & 0x00200000) != 0);
4422 return optimizeWithMaxHs_;
4426 private boolean cpModelPresolve_;
4435 return ((bitField2_ & 0x00400000) != 0);
4445 return cpModelPresolve_;
4449 private int cpModelProbingLevel_;
4458 return ((bitField2_ & 0x00800000) != 0);
4468 return cpModelProbingLevel_;
4472 private boolean cpModelUseSatPresolve_;
4481 return ((bitField2_ & 0x01000000) != 0);
4491 return cpModelUseSatPresolve_;
4495 private boolean enumerateAllSolutions_;
4509 return ((bitField2_ & 0x02000000) != 0);
4524 return enumerateAllSolutions_;
4528 private boolean fillTightenedDomainsInResponse_;
4541 return ((bitField2_ & 0x04000000) != 0);
4555 return fillTightenedDomainsInResponse_;
4559 private boolean instantiateAllVariables_;
4569 return ((bitField2_ & 0x08000000) != 0);
4580 return instantiateAllVariables_;
4584 private boolean autoDetectGreaterThanAtLeastOneOf_;
4596 return ((bitField2_ & 0x10000000) != 0);
4609 return autoDetectGreaterThanAtLeastOneOf_;
4613 private boolean stopAfterFirstSolution_;
4622 return ((bitField2_ & 0x20000000) != 0);
4632 return stopAfterFirstSolution_;
4636 private int numSearchWorkers_;
4648 return ((bitField2_ & 0x40000000) != 0);
4661 return numSearchWorkers_;
4665 private boolean shareObjectiveBounds_;
4674 return ((bitField2_ & 0x80000000) != 0);
4684 return shareObjectiveBounds_;
4688 private boolean shareLevelZeroBounds_;
4697 return ((bitField3_ & 0x00000001) != 0);
4707 return shareLevelZeroBounds_;
4711 private boolean useLns_;
4720 return ((bitField3_ & 0x00000002) != 0);
4734 private int lnsNumThreads_;
4739 return ((bitField3_ & 0x00000004) != 0);
4745 return lnsNumThreads_;
4749 private boolean lnsIsDeterministic_;
4754 return ((bitField3_ & 0x00000008) != 0);
4760 return lnsIsDeterministic_;
4764 private boolean lnsFocusOnDecisionVariables_;
4769 return ((bitField3_ & 0x00000010) != 0);
4775 return lnsFocusOnDecisionVariables_;
4779 private boolean useRinsLns_;
4788 return ((bitField3_ & 0x00000020) != 0);
4802 private boolean randomizeSearch_;
4811 return ((bitField3_ & 0x00000040) != 0);
4821 return randomizeSearch_;
4825 private long searchRandomizationTolerance_;
4840 return ((bitField3_ & 0x00000080) != 0);
4856 return searchRandomizationTolerance_;
4860 private boolean useOptionalVariables_;
4871 return ((bitField3_ & 0x00000100) != 0);
4883 return useOptionalVariables_;
4887 private boolean useExactLpReason_;
4899 return ((bitField3_ & 0x00000200) != 0);
4912 return useExactLpReason_;
4916 private boolean useCombinedNoOverlap_;
4927 return ((bitField3_ & 0x00000400) != 0);
4939 return useCombinedNoOverlap_;
4943 private double mipMaxBound_;
4954 return ((bitField3_ & 0x00000800) != 0);
4966 return mipMaxBound_;
4970 private double mipVarScaling_;
4981 return ((bitField3_ & 0x00001000) != 0);
4993 return mipVarScaling_;
4997 private double mipWantedPrecision_;
5014 return ((bitField3_ & 0x00002000) != 0);
5032 return mipWantedPrecision_;
5036 private int mipMaxActivityExponent_;
5051 return ((bitField3_ & 0x00004000) != 0);
5067 return mipMaxActivityExponent_;
5071 private double mipCheckPrecision_;
5083 return ((bitField3_ & 0x00008000) != 0);
5096 return mipCheckPrecision_;
5099 private byte memoizedIsInitialized = -1;
5106 memoizedIsInitialized = 1;
5112 throws java.io.IOException {
5113 if (((bitField0_ & 0x00000001) != 0)) {
5114 output.writeEnum(1, preferredVariableOrder_);
5116 if (((bitField0_ & 0x00000002) != 0)) {
5117 output.writeEnum(2, initialPolarity_);
5119 if (((bitField0_ & 0x00000100) != 0)) {
5120 output.writeEnum(4, minimizationAlgorithm_);
5122 if (((bitField0_ & 0x00000800) != 0)) {
5123 output.writeInt32(11, clauseCleanupPeriod_);
5125 if (((bitField0_ & 0x00001000) != 0)) {
5126 output.writeInt32(13, clauseCleanupTarget_);
5128 if (((bitField0_ & 0x00100000) != 0)) {
5129 output.writeDouble(15, variableActivityDecay_);
5131 if (((bitField0_ & 0x00200000) != 0)) {
5132 output.writeDouble(16, maxVariableActivityValue_);
5134 if (((bitField0_ & 0x02000000) != 0)) {
5135 output.writeDouble(17, clauseActivityDecay_);
5137 if (((bitField0_ & 0x04000000) != 0)) {
5138 output.writeDouble(18, maxClauseActivityValue_);
5140 if (((bitField0_ & 0x00400000) != 0)) {
5141 output.writeDouble(22, glucoseMaxDecay_);
5143 if (((bitField0_ & 0x00800000) != 0)) {
5144 output.writeDouble(23, glucoseDecayIncrement_);
5146 if (((bitField0_ & 0x01000000) != 0)) {
5147 output.writeInt32(24, glucoseDecayIncrementPeriod_);
5149 if (((bitField0_ & 0x10000000) != 0)) {
5150 output.writeInt32(30, restartPeriod_);
5152 if (((bitField1_ & 0x00000400) != 0)) {
5153 output.writeInt32(31, randomSeed_);
5155 if (((bitField0_ & 0x00000010) != 0)) {
5156 output.writeDouble(32, randomBranchesRatio_);
5158 if (((bitField1_ & 0x00000200) != 0)) {
5159 output.writeBool(33, treatBinaryClausesSeparately_);
5161 if (((bitField0_ & 0x00000200) != 0)) {
5162 output.writeEnum(34, binaryMinimizationAlgorithm_);
5164 if (((bitField1_ & 0x00200000) != 0)) {
5165 output.writeBool(35, useOptimizationHints_);
5167 if (((bitField1_ & 0x00000020) != 0)) {
5168 output.writeDouble(36, maxTimeInSeconds_);
5170 if (((bitField1_ & 0x00000080) != 0)) {
5171 output.writeInt64(37, maxNumberOfConflicts_);
5173 if (((bitField1_ & 0x00000100) != 0)) {
5174 output.writeInt64(40, maxMemoryInMb_);
5176 if (((bitField1_ & 0x00000800) != 0)) {
5177 output.writeBool(41, logSearchProgress_);
5179 if (((bitField1_ & 0x00001000) != 0)) {
5180 output.writeBool(43, usePbResolution_);
5182 if (((bitField0_ & 0x00000004) != 0)) {
5183 output.writeBool(44, usePhaseSaving_);
5185 if (((bitField0_ & 0x00000008) != 0)) {
5186 output.writeDouble(45, randomPolarityRatio_);
5188 if (((bitField0_ & 0x00010000) != 0)) {
5189 output.writeInt32(46, pbCleanupIncrement_);
5191 if (((bitField0_ & 0x00020000) != 0)) {
5192 output.writeDouble(47, pbCleanupRatio_);
5194 if (((bitField1_ & 0x00002000) != 0)) {
5195 output.writeBool(48, minimizeReductionDuringPbResolution_);
5197 if (((bitField1_ & 0x00004000) != 0)) {
5198 output.writeBool(49, countAssumptionLevelsInLbd_);
5200 if (((bitField1_ & 0x00400000) != 0)) {
5201 output.writeBool(50, minimizeCore_);
5203 if (((bitField1_ & 0x02000000) != 0)) {
5204 output.writeEnum(51, maxSatAssumptionOrder_);
5206 if (((bitField1_ & 0x04000000) != 0)) {
5207 output.writeBool(52, maxSatReverseAssumptionOrder_);
5209 if (((bitField1_ & 0x08000000) != 0)) {
5210 output.writeEnum(53, maxSatStratification_);
5212 if (((bitField1_ & 0x00008000) != 0)) {
5213 output.writeInt32(54, presolveBveThreshold_);
5215 if (((bitField1_ & 0x00010000) != 0)) {
5216 output.writeInt32(55, presolveBveClauseWeight_);
5218 if (((bitField0_ & 0x00000400) != 0)) {
5219 output.writeBool(56, subsumptionDuringConflictAnalysis_);
5221 if (((bitField1_ & 0x00020000) != 0)) {
5222 output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
5224 if (((bitField0_ & 0x00002000) != 0)) {
5225 output.writeEnum(58, clauseCleanupProtection_);
5227 if (((bitField0_ & 0x00004000) != 0)) {
5228 output.writeInt32(59, clauseCleanupLbdBound_);
5230 if (((bitField0_ & 0x00008000) != 0)) {
5231 output.writeEnum(60, clauseCleanupOrdering_);
5233 for (
int i = 0; i < restartAlgorithms_.size(); i++) {
5234 output.writeEnum(61, restartAlgorithms_.get(i));
5236 if (((bitField0_ & 0x20000000) != 0)) {
5237 output.writeInt32(62, restartRunningWindowSize_);
5239 if (((bitField0_ & 0x40000000) != 0)) {
5240 output.writeDouble(63, restartDlAverageRatio_);
5242 if (((bitField1_ & 0x00000001) != 0)) {
5243 output.writeBool(64, useBlockingRestart_);
5245 if (((bitField1_ & 0x00000002) != 0)) {
5246 output.writeInt32(65, blockingRestartWindowSize_);
5248 if (((bitField1_ & 0x00000004) != 0)) {
5249 output.writeDouble(66, blockingRestartMultiplier_);
5251 if (((bitField1_ & 0x00000040) != 0)) {
5252 output.writeDouble(67, maxDeterministicTime_);
5254 if (((bitField1_ & 0x00000008) != 0)) {
5255 output.writeInt32(68, numConflictsBeforeStrategyChanges_);
5257 if (((bitField1_ & 0x00000010) != 0)) {
5258 output.writeDouble(69, strategyChangeIncreaseRatio_);
5260 if (((bitField0_ & 0x08000000) != 0)) {
5261 com.
google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
5263 if (((bitField0_ & 0x80000000) != 0)) {
5264 output.writeDouble(71, restartLbdAverageRatio_);
5266 if (((bitField1_ & 0x00080000) != 0)) {
5267 output.writeBool(72, presolveUseBva_);
5269 if (((bitField1_ & 0x00100000) != 0)) {
5270 output.writeInt32(73, presolveBvaThreshold_);
5272 if (((bitField1_ & 0x10000000) != 0)) {
5273 output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
5275 if (((bitField0_ & 0x00000020) != 0)) {
5276 output.writeBool(75, useErwaHeuristic_);
5278 if (((bitField0_ & 0x00000040) != 0)) {
5279 output.writeDouble(76, initialVariablesActivity_);
5281 if (((bitField0_ & 0x00000080) != 0)) {
5282 output.writeBool(77, alsoBumpVariablesInConflictReasons_);
5284 if (((bitField1_ & 0x20000000) != 0)) {
5285 output.writeBool(78, useOverloadCheckerInCumulativeConstraint_);
5287 if (((bitField1_ & 0x40000000) != 0)) {
5288 output.writeBool(79, useTimetableEdgeFindingInCumulativeConstraint_);
5290 if (((bitField1_ & 0x80000000) != 0)) {
5291 output.writeBool(80, useDisjunctiveConstraintInCumulativeConstraint_);
5293 if (((bitField2_ & 0x00002000) != 0)) {
5294 output.writeEnum(82, searchBranching_);
5296 if (((bitField2_ & 0x00080000) != 0)) {
5297 output.writeBool(83, optimizeWithCore_);
5299 if (((bitField1_ & 0x00800000) != 0)) {
5300 output.writeBool(84, findMultipleCores_);
5302 if (((bitField2_ & 0x00200000) != 0)) {
5303 output.writeBool(85, optimizeWithMaxHs_);
5305 if (((bitField2_ & 0x00400000) != 0)) {
5306 output.writeBool(86, cpModelPresolve_);
5308 if (((bitField2_ & 0x02000000) != 0)) {
5309 output.writeBool(87, enumerateAllSolutions_);
5311 if (((bitField1_ & 0x00040000) != 0)) {
5312 output.writeBool(88, presolveBlockedClause_);
5314 if (((bitField1_ & 0x01000000) != 0)) {
5315 output.writeBool(89, coverOptimization_);
5317 if (((bitField2_ & 0x00000001) != 0)) {
5318 output.writeInt32(90, linearizationLevel_);
5320 if (((bitField2_ & 0x00000004) != 0)) {
5321 output.writeInt32(91, maxNumCuts_);
5323 if (((bitField2_ & 0x00000008) != 0)) {
5324 output.writeBool(92, onlyAddCutsAtLevelZero_);
5326 if (((bitField2_ & 0x01000000) != 0)) {
5327 output.writeBool(93, cpModelUseSatPresolve_);
5329 if (((bitField2_ & 0x00004000) != 0)) {
5330 output.writeBool(94, exploitIntegerLpSolution_);
5332 if (((bitField2_ & 0x10000000) != 0)) {
5333 output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
5335 if (((bitField0_ & 0x00040000) != 0)) {
5336 output.writeInt32(96, minimizeWithPropagationRestartPeriod_);
5338 if (((bitField0_ & 0x00080000) != 0)) {
5339 output.writeInt32(97, minimizeWithPropagationNumDecisions_);
5341 if (((bitField2_ & 0x20000000) != 0)) {
5342 output.writeBool(98, stopAfterFirstSolution_);
5344 if (((bitField2_ & 0x00100000) != 0)) {
5345 output.writeInt32(99, binarySearchNumConflicts_);
5347 if (((bitField2_ & 0x40000000) != 0)) {
5348 output.writeInt32(100, numSearchWorkers_);
5350 if (((bitField3_ & 0x00000002) != 0)) {
5351 output.writeBool(101, useLns_);
5353 if (((bitField3_ & 0x00000004) != 0)) {
5354 output.writeInt32(102, lnsNumThreads_);
5356 if (((bitField3_ & 0x00000040) != 0)) {
5357 output.writeBool(103, randomizeSearch_);
5359 if (((bitField3_ & 0x00000080) != 0)) {
5360 output.writeInt64(104, searchRandomizationTolerance_);
5362 if (((bitField3_ & 0x00000010) != 0)) {
5363 output.writeBool(105, lnsFocusOnDecisionVariables_);
5365 if (((bitField2_ & 0x08000000) != 0)) {
5366 output.writeBool(106, instantiateAllVariables_);
5368 if (((bitField2_ & 0x00000002) != 0)) {
5369 output.writeInt32(107, booleanEncodingLevel_);
5371 if (((bitField3_ & 0x00000100) != 0)) {
5372 output.writeBool(108, useOptionalVariables_);
5374 if (((bitField3_ & 0x00000200) != 0)) {
5375 output.writeBool(109, useExactLpReason_);
5377 if (((bitField2_ & 0x00800000) != 0)) {
5378 output.writeInt32(110, cpModelProbingLevel_);
5380 if (((bitField2_ & 0x00000010) != 0)) {
5381 output.writeBool(111, addKnapsackCuts_);
5383 if (((bitField2_ & 0x00000200) != 0)) {
5384 output.writeBool(112, addLpConstraintsLazily_);
5386 if (((bitField2_ & 0x80000000) != 0)) {
5387 output.writeBool(113, shareObjectiveBounds_);
5389 if (((bitField3_ & 0x00000001) != 0)) {
5390 output.writeBool(114, shareLevelZeroBounds_);
5392 if (((bitField2_ & 0x00000400) != 0)) {
5393 output.writeDouble(115, minOrthogonalityForLpConstraints_);
5395 if (((bitField2_ & 0x00008000) != 0)) {
5396 output.writeBool(116, exploitAllLpSolution_);
5398 if (((bitField2_ & 0x00000020) != 0)) {
5399 output.writeBool(117, addCgCuts_);
5401 if (((bitField2_ & 0x00000080) != 0)) {
5402 output.writeBool(118, useMirRounding_);
5404 if (((bitField2_ & 0x00000100) != 0)) {
5405 output.writeInt32(119, maxIntegerRoundingScaling_);
5407 if (((bitField2_ & 0x00000040) != 0)) {
5408 output.writeBool(120, addMirCuts_);
5410 if (((bitField2_ & 0x00000800) != 0)) {
5411 output.writeInt64(121, maxInactiveCount_);
5413 if (((bitField2_ & 0x00001000) != 0)) {
5414 output.writeInt64(122, constraintRemovalBatchSize_);
5416 if (((bitField2_ & 0x00040000) != 0)) {
5417 output.writeInt64(123, pseudoCostReliabilityThreshold_);
5419 if (((bitField3_ & 0x00000800) != 0)) {
5420 output.writeDouble(124, mipMaxBound_);
5422 if (((bitField3_ & 0x00001000) != 0)) {
5423 output.writeDouble(125, mipVarScaling_);
5425 if (((bitField3_ & 0x00002000) != 0)) {
5426 output.writeDouble(126, mipWantedPrecision_);
5428 if (((bitField3_ & 0x00004000) != 0)) {
5429 output.writeInt32(127, mipMaxActivityExponent_);
5431 if (((bitField3_ & 0x00008000) != 0)) {
5432 output.writeDouble(128, mipCheckPrecision_);
5434 if (((bitField3_ & 0x00000020) != 0)) {
5435 output.writeBool(129, useRinsLns_);
5437 if (((bitField2_ & 0x00010000) != 0)) {
5438 output.writeBool(130, exploitBestSolution_);
5440 if (((bitField2_ & 0x00020000) != 0)) {
5441 output.writeBool(131, exploitObjective_);
5443 if (((bitField2_ & 0x04000000) != 0)) {
5444 output.writeBool(132, fillTightenedDomainsInResponse_);
5446 if (((bitField3_ & 0x00000400) != 0)) {
5447 output.writeBool(133, useCombinedNoOverlap_);
5449 if (((bitField3_ & 0x00000008) != 0)) {
5450 output.writeBool(134, lnsIsDeterministic_);
5452 unknownFields.writeTo(output);
5457 int size = memoizedSize;
5458 if (size != -1)
return size;
5461 if (((bitField0_ & 0x00000001) != 0)) {
5462 size +=
com.
google.protobuf.CodedOutputStream
5463 .computeEnumSize(1, preferredVariableOrder_);
5465 if (((bitField0_ & 0x00000002) != 0)) {
5466 size +=
com.
google.protobuf.CodedOutputStream
5467 .computeEnumSize(2, initialPolarity_);
5469 if (((bitField0_ & 0x00000100) != 0)) {
5470 size +=
com.
google.protobuf.CodedOutputStream
5471 .computeEnumSize(4, minimizationAlgorithm_);
5473 if (((bitField0_ & 0x00000800) != 0)) {
5474 size +=
com.
google.protobuf.CodedOutputStream
5475 .computeInt32Size(11, clauseCleanupPeriod_);
5477 if (((bitField0_ & 0x00001000) != 0)) {
5478 size +=
com.
google.protobuf.CodedOutputStream
5479 .computeInt32Size(13, clauseCleanupTarget_);
5481 if (((bitField0_ & 0x00100000) != 0)) {
5482 size +=
com.
google.protobuf.CodedOutputStream
5483 .computeDoubleSize(15, variableActivityDecay_);
5485 if (((bitField0_ & 0x00200000) != 0)) {
5486 size +=
com.
google.protobuf.CodedOutputStream
5487 .computeDoubleSize(16, maxVariableActivityValue_);
5489 if (((bitField0_ & 0x02000000) != 0)) {
5490 size +=
com.
google.protobuf.CodedOutputStream
5491 .computeDoubleSize(17, clauseActivityDecay_);
5493 if (((bitField0_ & 0x04000000) != 0)) {
5494 size +=
com.
google.protobuf.CodedOutputStream
5495 .computeDoubleSize(18, maxClauseActivityValue_);
5497 if (((bitField0_ & 0x00400000) != 0)) {
5498 size +=
com.
google.protobuf.CodedOutputStream
5499 .computeDoubleSize(22, glucoseMaxDecay_);
5501 if (((bitField0_ & 0x00800000) != 0)) {
5502 size +=
com.
google.protobuf.CodedOutputStream
5503 .computeDoubleSize(23, glucoseDecayIncrement_);
5505 if (((bitField0_ & 0x01000000) != 0)) {
5506 size +=
com.
google.protobuf.CodedOutputStream
5507 .computeInt32Size(24, glucoseDecayIncrementPeriod_);
5509 if (((bitField0_ & 0x10000000) != 0)) {
5510 size +=
com.
google.protobuf.CodedOutputStream
5511 .computeInt32Size(30, restartPeriod_);
5513 if (((bitField1_ & 0x00000400) != 0)) {
5514 size +=
com.
google.protobuf.CodedOutputStream
5515 .computeInt32Size(31, randomSeed_);
5517 if (((bitField0_ & 0x00000010) != 0)) {
5518 size +=
com.
google.protobuf.CodedOutputStream
5519 .computeDoubleSize(32, randomBranchesRatio_);
5521 if (((bitField1_ & 0x00000200) != 0)) {
5522 size +=
com.
google.protobuf.CodedOutputStream
5523 .computeBoolSize(33, treatBinaryClausesSeparately_);
5525 if (((bitField0_ & 0x00000200) != 0)) {
5526 size +=
com.
google.protobuf.CodedOutputStream
5527 .computeEnumSize(34, binaryMinimizationAlgorithm_);
5529 if (((bitField1_ & 0x00200000) != 0)) {
5530 size +=
com.
google.protobuf.CodedOutputStream
5531 .computeBoolSize(35, useOptimizationHints_);
5533 if (((bitField1_ & 0x00000020) != 0)) {
5534 size +=
com.
google.protobuf.CodedOutputStream
5535 .computeDoubleSize(36, maxTimeInSeconds_);
5537 if (((bitField1_ & 0x00000080) != 0)) {
5538 size +=
com.
google.protobuf.CodedOutputStream
5539 .computeInt64Size(37, maxNumberOfConflicts_);
5541 if (((bitField1_ & 0x00000100) != 0)) {
5542 size +=
com.
google.protobuf.CodedOutputStream
5543 .computeInt64Size(40, maxMemoryInMb_);
5545 if (((bitField1_ & 0x00000800) != 0)) {
5546 size +=
com.
google.protobuf.CodedOutputStream
5547 .computeBoolSize(41, logSearchProgress_);
5549 if (((bitField1_ & 0x00001000) != 0)) {
5550 size +=
com.
google.protobuf.CodedOutputStream
5551 .computeBoolSize(43, usePbResolution_);
5553 if (((bitField0_ & 0x00000004) != 0)) {
5554 size +=
com.
google.protobuf.CodedOutputStream
5555 .computeBoolSize(44, usePhaseSaving_);
5557 if (((bitField0_ & 0x00000008) != 0)) {
5558 size +=
com.
google.protobuf.CodedOutputStream
5559 .computeDoubleSize(45, randomPolarityRatio_);
5561 if (((bitField0_ & 0x00010000) != 0)) {
5562 size +=
com.
google.protobuf.CodedOutputStream
5563 .computeInt32Size(46, pbCleanupIncrement_);
5565 if (((bitField0_ & 0x00020000) != 0)) {
5566 size +=
com.
google.protobuf.CodedOutputStream
5567 .computeDoubleSize(47, pbCleanupRatio_);
5569 if (((bitField1_ & 0x00002000) != 0)) {
5570 size +=
com.
google.protobuf.CodedOutputStream
5571 .computeBoolSize(48, minimizeReductionDuringPbResolution_);
5573 if (((bitField1_ & 0x00004000) != 0)) {
5574 size +=
com.
google.protobuf.CodedOutputStream
5575 .computeBoolSize(49, countAssumptionLevelsInLbd_);
5577 if (((bitField1_ & 0x00400000) != 0)) {
5578 size +=
com.
google.protobuf.CodedOutputStream
5579 .computeBoolSize(50, minimizeCore_);
5581 if (((bitField1_ & 0x02000000) != 0)) {
5582 size +=
com.
google.protobuf.CodedOutputStream
5583 .computeEnumSize(51, maxSatAssumptionOrder_);
5585 if (((bitField1_ & 0x04000000) != 0)) {
5586 size +=
com.
google.protobuf.CodedOutputStream
5587 .computeBoolSize(52, maxSatReverseAssumptionOrder_);
5589 if (((bitField1_ & 0x08000000) != 0)) {
5590 size +=
com.
google.protobuf.CodedOutputStream
5591 .computeEnumSize(53, maxSatStratification_);
5593 if (((bitField1_ & 0x00008000) != 0)) {
5594 size +=
com.
google.protobuf.CodedOutputStream
5595 .computeInt32Size(54, presolveBveThreshold_);
5597 if (((bitField1_ & 0x00010000) != 0)) {
5598 size +=
com.
google.protobuf.CodedOutputStream
5599 .computeInt32Size(55, presolveBveClauseWeight_);
5601 if (((bitField0_ & 0x00000400) != 0)) {
5602 size +=
com.
google.protobuf.CodedOutputStream
5603 .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
5605 if (((bitField1_ & 0x00020000) != 0)) {
5606 size +=
com.
google.protobuf.CodedOutputStream
5607 .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
5609 if (((bitField0_ & 0x00002000) != 0)) {
5610 size +=
com.
google.protobuf.CodedOutputStream
5611 .computeEnumSize(58, clauseCleanupProtection_);
5613 if (((bitField0_ & 0x00004000) != 0)) {
5614 size +=
com.
google.protobuf.CodedOutputStream
5615 .computeInt32Size(59, clauseCleanupLbdBound_);
5617 if (((bitField0_ & 0x00008000) != 0)) {
5618 size +=
com.
google.protobuf.CodedOutputStream
5619 .computeEnumSize(60, clauseCleanupOrdering_);
5623 for (
int i = 0; i < restartAlgorithms_.size(); i++) {
5624 dataSize +=
com.
google.protobuf.CodedOutputStream
5625 .computeEnumSizeNoTag(restartAlgorithms_.get(i));
5628 size += 2 * restartAlgorithms_.size();
5630 if (((bitField0_ & 0x20000000) != 0)) {
5631 size +=
com.
google.protobuf.CodedOutputStream
5632 .computeInt32Size(62, restartRunningWindowSize_);
5634 if (((bitField0_ & 0x40000000) != 0)) {
5635 size +=
com.
google.protobuf.CodedOutputStream
5636 .computeDoubleSize(63, restartDlAverageRatio_);
5638 if (((bitField1_ & 0x00000001) != 0)) {
5639 size +=
com.
google.protobuf.CodedOutputStream
5640 .computeBoolSize(64, useBlockingRestart_);
5642 if (((bitField1_ & 0x00000002) != 0)) {
5643 size +=
com.
google.protobuf.CodedOutputStream
5644 .computeInt32Size(65, blockingRestartWindowSize_);
5646 if (((bitField1_ & 0x00000004) != 0)) {
5647 size +=
com.
google.protobuf.CodedOutputStream
5648 .computeDoubleSize(66, blockingRestartMultiplier_);
5650 if (((bitField1_ & 0x00000040) != 0)) {
5651 size +=
com.
google.protobuf.CodedOutputStream
5652 .computeDoubleSize(67, maxDeterministicTime_);
5654 if (((bitField1_ & 0x00000008) != 0)) {
5655 size +=
com.
google.protobuf.CodedOutputStream
5656 .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
5658 if (((bitField1_ & 0x00000010) != 0)) {
5659 size +=
com.
google.protobuf.CodedOutputStream
5660 .computeDoubleSize(69, strategyChangeIncreaseRatio_);
5662 if (((bitField0_ & 0x08000000) != 0)) {
5663 size +=
com.
google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
5665 if (((bitField0_ & 0x80000000) != 0)) {
5666 size +=
com.
google.protobuf.CodedOutputStream
5667 .computeDoubleSize(71, restartLbdAverageRatio_);
5669 if (((bitField1_ & 0x00080000) != 0)) {
5670 size +=
com.
google.protobuf.CodedOutputStream
5671 .computeBoolSize(72, presolveUseBva_);
5673 if (((bitField1_ & 0x00100000) != 0)) {
5674 size +=
com.
google.protobuf.CodedOutputStream
5675 .computeInt32Size(73, presolveBvaThreshold_);
5677 if (((bitField1_ & 0x10000000) != 0)) {
5678 size +=
com.
google.protobuf.CodedOutputStream
5679 .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
5681 if (((bitField0_ & 0x00000020) != 0)) {
5682 size +=
com.
google.protobuf.CodedOutputStream
5683 .computeBoolSize(75, useErwaHeuristic_);
5685 if (((bitField0_ & 0x00000040) != 0)) {
5686 size +=
com.
google.protobuf.CodedOutputStream
5687 .computeDoubleSize(76, initialVariablesActivity_);
5689 if (((bitField0_ & 0x00000080) != 0)) {
5690 size +=
com.
google.protobuf.CodedOutputStream
5691 .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
5693 if (((bitField1_ & 0x20000000) != 0)) {
5694 size +=
com.
google.protobuf.CodedOutputStream
5695 .computeBoolSize(78, useOverloadCheckerInCumulativeConstraint_);
5697 if (((bitField1_ & 0x40000000) != 0)) {
5698 size +=
com.
google.protobuf.CodedOutputStream
5699 .computeBoolSize(79, useTimetableEdgeFindingInCumulativeConstraint_);
5701 if (((bitField1_ & 0x80000000) != 0)) {
5702 size +=
com.
google.protobuf.CodedOutputStream
5703 .computeBoolSize(80, useDisjunctiveConstraintInCumulativeConstraint_);
5705 if (((bitField2_ & 0x00002000) != 0)) {
5706 size +=
com.
google.protobuf.CodedOutputStream
5707 .computeEnumSize(82, searchBranching_);
5709 if (((bitField2_ & 0x00080000) != 0)) {
5710 size +=
com.
google.protobuf.CodedOutputStream
5711 .computeBoolSize(83, optimizeWithCore_);
5713 if (((bitField1_ & 0x00800000) != 0)) {
5714 size +=
com.
google.protobuf.CodedOutputStream
5715 .computeBoolSize(84, findMultipleCores_);
5717 if (((bitField2_ & 0x00200000) != 0)) {
5718 size +=
com.
google.protobuf.CodedOutputStream
5719 .computeBoolSize(85, optimizeWithMaxHs_);
5721 if (((bitField2_ & 0x00400000) != 0)) {
5722 size +=
com.
google.protobuf.CodedOutputStream
5723 .computeBoolSize(86, cpModelPresolve_);
5725 if (((bitField2_ & 0x02000000) != 0)) {
5726 size +=
com.
google.protobuf.CodedOutputStream
5727 .computeBoolSize(87, enumerateAllSolutions_);
5729 if (((bitField1_ & 0x00040000) != 0)) {
5730 size +=
com.
google.protobuf.CodedOutputStream
5731 .computeBoolSize(88, presolveBlockedClause_);
5733 if (((bitField1_ & 0x01000000) != 0)) {
5734 size +=
com.
google.protobuf.CodedOutputStream
5735 .computeBoolSize(89, coverOptimization_);
5737 if (((bitField2_ & 0x00000001) != 0)) {
5738 size +=
com.
google.protobuf.CodedOutputStream
5739 .computeInt32Size(90, linearizationLevel_);
5741 if (((bitField2_ & 0x00000004) != 0)) {
5742 size +=
com.
google.protobuf.CodedOutputStream
5743 .computeInt32Size(91, maxNumCuts_);
5745 if (((bitField2_ & 0x00000008) != 0)) {
5746 size +=
com.
google.protobuf.CodedOutputStream
5747 .computeBoolSize(92, onlyAddCutsAtLevelZero_);
5749 if (((bitField2_ & 0x01000000) != 0)) {
5750 size +=
com.
google.protobuf.CodedOutputStream
5751 .computeBoolSize(93, cpModelUseSatPresolve_);
5753 if (((bitField2_ & 0x00004000) != 0)) {
5754 size +=
com.
google.protobuf.CodedOutputStream
5755 .computeBoolSize(94, exploitIntegerLpSolution_);
5757 if (((bitField2_ & 0x10000000) != 0)) {
5758 size +=
com.
google.protobuf.CodedOutputStream
5759 .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
5761 if (((bitField0_ & 0x00040000) != 0)) {
5762 size +=
com.
google.protobuf.CodedOutputStream
5763 .computeInt32Size(96, minimizeWithPropagationRestartPeriod_);
5765 if (((bitField0_ & 0x00080000) != 0)) {
5766 size +=
com.
google.protobuf.CodedOutputStream
5767 .computeInt32Size(97, minimizeWithPropagationNumDecisions_);
5769 if (((bitField2_ & 0x20000000) != 0)) {
5770 size +=
com.
google.protobuf.CodedOutputStream
5771 .computeBoolSize(98, stopAfterFirstSolution_);
5773 if (((bitField2_ & 0x00100000) != 0)) {
5774 size +=
com.
google.protobuf.CodedOutputStream
5775 .computeInt32Size(99, binarySearchNumConflicts_);
5777 if (((bitField2_ & 0x40000000) != 0)) {
5778 size +=
com.
google.protobuf.CodedOutputStream
5779 .computeInt32Size(100, numSearchWorkers_);
5781 if (((bitField3_ & 0x00000002) != 0)) {
5782 size +=
com.
google.protobuf.CodedOutputStream
5783 .computeBoolSize(101, useLns_);
5785 if (((bitField3_ & 0x00000004) != 0)) {
5786 size +=
com.
google.protobuf.CodedOutputStream
5787 .computeInt32Size(102, lnsNumThreads_);
5789 if (((bitField3_ & 0x00000040) != 0)) {
5790 size +=
com.
google.protobuf.CodedOutputStream
5791 .computeBoolSize(103, randomizeSearch_);
5793 if (((bitField3_ & 0x00000080) != 0)) {
5794 size +=
com.
google.protobuf.CodedOutputStream
5795 .computeInt64Size(104, searchRandomizationTolerance_);
5797 if (((bitField3_ & 0x00000010) != 0)) {
5798 size +=
com.
google.protobuf.CodedOutputStream
5799 .computeBoolSize(105, lnsFocusOnDecisionVariables_);
5801 if (((bitField2_ & 0x08000000) != 0)) {
5802 size +=
com.
google.protobuf.CodedOutputStream
5803 .computeBoolSize(106, instantiateAllVariables_);
5805 if (((bitField2_ & 0x00000002) != 0)) {
5806 size +=
com.
google.protobuf.CodedOutputStream
5807 .computeInt32Size(107, booleanEncodingLevel_);
5809 if (((bitField3_ & 0x00000100) != 0)) {
5810 size +=
com.
google.protobuf.CodedOutputStream
5811 .computeBoolSize(108, useOptionalVariables_);
5813 if (((bitField3_ & 0x00000200) != 0)) {
5814 size +=
com.
google.protobuf.CodedOutputStream
5815 .computeBoolSize(109, useExactLpReason_);
5817 if (((bitField2_ & 0x00800000) != 0)) {
5818 size +=
com.
google.protobuf.CodedOutputStream
5819 .computeInt32Size(110, cpModelProbingLevel_);
5821 if (((bitField2_ & 0x00000010) != 0)) {
5822 size +=
com.
google.protobuf.CodedOutputStream
5823 .computeBoolSize(111, addKnapsackCuts_);
5825 if (((bitField2_ & 0x00000200) != 0)) {
5826 size +=
com.
google.protobuf.CodedOutputStream
5827 .computeBoolSize(112, addLpConstraintsLazily_);
5829 if (((bitField2_ & 0x80000000) != 0)) {
5830 size +=
com.
google.protobuf.CodedOutputStream
5831 .computeBoolSize(113, shareObjectiveBounds_);
5833 if (((bitField3_ & 0x00000001) != 0)) {
5834 size +=
com.
google.protobuf.CodedOutputStream
5835 .computeBoolSize(114, shareLevelZeroBounds_);
5837 if (((bitField2_ & 0x00000400) != 0)) {
5838 size +=
com.
google.protobuf.CodedOutputStream
5839 .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
5841 if (((bitField2_ & 0x00008000) != 0)) {
5842 size +=
com.
google.protobuf.CodedOutputStream
5843 .computeBoolSize(116, exploitAllLpSolution_);
5845 if (((bitField2_ & 0x00000020) != 0)) {
5846 size +=
com.
google.protobuf.CodedOutputStream
5847 .computeBoolSize(117, addCgCuts_);
5849 if (((bitField2_ & 0x00000080) != 0)) {
5850 size +=
com.
google.protobuf.CodedOutputStream
5851 .computeBoolSize(118, useMirRounding_);
5853 if (((bitField2_ & 0x00000100) != 0)) {
5854 size +=
com.
google.protobuf.CodedOutputStream
5855 .computeInt32Size(119, maxIntegerRoundingScaling_);
5857 if (((bitField2_ & 0x00000040) != 0)) {
5858 size +=
com.
google.protobuf.CodedOutputStream
5859 .computeBoolSize(120, addMirCuts_);
5861 if (((bitField2_ & 0x00000800) != 0)) {
5862 size +=
com.
google.protobuf.CodedOutputStream
5863 .computeInt64Size(121, maxInactiveCount_);
5865 if (((bitField2_ & 0x00001000) != 0)) {
5866 size +=
com.
google.protobuf.CodedOutputStream
5867 .computeInt64Size(122, constraintRemovalBatchSize_);
5869 if (((bitField2_ & 0x00040000) != 0)) {
5870 size +=
com.
google.protobuf.CodedOutputStream
5871 .computeInt64Size(123, pseudoCostReliabilityThreshold_);
5873 if (((bitField3_ & 0x00000800) != 0)) {
5874 size +=
com.
google.protobuf.CodedOutputStream
5875 .computeDoubleSize(124, mipMaxBound_);
5877 if (((bitField3_ & 0x00001000) != 0)) {
5878 size +=
com.
google.protobuf.CodedOutputStream
5879 .computeDoubleSize(125, mipVarScaling_);
5881 if (((bitField3_ & 0x00002000) != 0)) {
5882 size +=
com.
google.protobuf.CodedOutputStream
5883 .computeDoubleSize(126, mipWantedPrecision_);
5885 if (((bitField3_ & 0x00004000) != 0)) {
5886 size +=
com.
google.protobuf.CodedOutputStream
5887 .computeInt32Size(127, mipMaxActivityExponent_);
5889 if (((bitField3_ & 0x00008000) != 0)) {
5890 size +=
com.
google.protobuf.CodedOutputStream
5891 .computeDoubleSize(128, mipCheckPrecision_);
5893 if (((bitField3_ & 0x00000020) != 0)) {
5894 size +=
com.
google.protobuf.CodedOutputStream
5895 .computeBoolSize(129, useRinsLns_);
5897 if (((bitField2_ & 0x00010000) != 0)) {
5898 size +=
com.
google.protobuf.CodedOutputStream
5899 .computeBoolSize(130, exploitBestSolution_);
5901 if (((bitField2_ & 0x00020000) != 0)) {
5902 size +=
com.
google.protobuf.CodedOutputStream
5903 .computeBoolSize(131, exploitObjective_);
5905 if (((bitField2_ & 0x04000000) != 0)) {
5906 size +=
com.
google.protobuf.CodedOutputStream
5907 .computeBoolSize(132, fillTightenedDomainsInResponse_);
5909 if (((bitField3_ & 0x00000400) != 0)) {
5910 size +=
com.
google.protobuf.CodedOutputStream
5911 .computeBoolSize(133, useCombinedNoOverlap_);
5913 if (((bitField3_ & 0x00000008) != 0)) {
5914 size +=
com.
google.protobuf.CodedOutputStream
5915 .computeBoolSize(134, lnsIsDeterministic_);
5917 size += unknownFields.getSerializedSize();
5918 memoizedSize = size;
5923 public boolean equals(
final java.lang.Object obj) {
5928 return super.equals(obj);
5934 if (preferredVariableOrder_ != other.preferredVariableOrder_)
return false;
5938 if (initialPolarity_ != other.initialPolarity_)
return false;
5943 != other.getUsePhaseSaving())
return false;
5948 != java.lang.Double.doubleToLongBits(
5949 other.getRandomPolarityRatio()))
return false;
5954 != java.lang.Double.doubleToLongBits(
5955 other.getRandomBranchesRatio()))
return false;
5960 != other.getUseErwaHeuristic())
return false;
5965 != java.lang.Double.doubleToLongBits(
5966 other.getInitialVariablesActivity()))
return false;
5971 != other.getAlsoBumpVariablesInConflictReasons())
return false;
5975 if (minimizationAlgorithm_ != other.minimizationAlgorithm_)
return false;
5979 if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_)
return false;
5984 != other.getSubsumptionDuringConflictAnalysis())
return false;
5989 != other.getClauseCleanupPeriod())
return false;
5994 != other.getClauseCleanupTarget())
return false;
5998 if (clauseCleanupProtection_ != other.clauseCleanupProtection_)
return false;
6003 != other.getClauseCleanupLbdBound())
return false;
6007 if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_)
return false;
6012 != other.getPbCleanupIncrement())
return false;
6017 != java.lang.Double.doubleToLongBits(
6018 other.getPbCleanupRatio()))
return false;
6023 != other.getMinimizeWithPropagationRestartPeriod())
return false;
6028 != other.getMinimizeWithPropagationNumDecisions())
return false;
6033 != java.lang.Double.doubleToLongBits(
6034 other.getVariableActivityDecay()))
return false;
6039 != java.lang.Double.doubleToLongBits(
6040 other.getMaxVariableActivityValue()))
return false;
6045 != java.lang.Double.doubleToLongBits(
6046 other.getGlucoseMaxDecay()))
return false;
6051 != java.lang.Double.doubleToLongBits(
6052 other.getGlucoseDecayIncrement()))
return false;
6057 != other.getGlucoseDecayIncrementPeriod())
return false;
6062 != java.lang.Double.doubleToLongBits(
6063 other.getClauseActivityDecay()))
return false;
6068 != java.lang.Double.doubleToLongBits(
6069 other.getMaxClauseActivityValue()))
return false;
6071 if (!restartAlgorithms_.equals(other.restartAlgorithms_))
return false;
6075 .equals(other.getDefaultRestartAlgorithms()))
return false;
6080 != other.getRestartPeriod())
return false;
6085 != other.getRestartRunningWindowSize())
return false;
6090 != java.lang.Double.doubleToLongBits(
6091 other.getRestartDlAverageRatio()))
return false;
6096 != java.lang.Double.doubleToLongBits(
6097 other.getRestartLbdAverageRatio()))
return false;
6102 != other.getUseBlockingRestart())
return false;
6107 != other.getBlockingRestartWindowSize())
return false;
6112 != java.lang.Double.doubleToLongBits(
6113 other.getBlockingRestartMultiplier()))
return false;
6118 != other.getNumConflictsBeforeStrategyChanges())
return false;
6123 != java.lang.Double.doubleToLongBits(
6124 other.getStrategyChangeIncreaseRatio()))
return false;
6129 != java.lang.Double.doubleToLongBits(
6130 other.getMaxTimeInSeconds()))
return false;
6135 != java.lang.Double.doubleToLongBits(
6136 other.getMaxDeterministicTime()))
return false;
6141 != other.getMaxNumberOfConflicts())
return false;
6146 != other.getMaxMemoryInMb())
return false;
6151 != other.getTreatBinaryClausesSeparately())
return false;
6156 != other.getRandomSeed())
return false;
6161 != other.getLogSearchProgress())
return false;
6166 != other.getUsePbResolution())
return false;
6171 != other.getMinimizeReductionDuringPbResolution())
return false;
6176 != other.getCountAssumptionLevelsInLbd())
return false;
6181 != other.getPresolveBveThreshold())
return false;
6186 != other.getPresolveBveClauseWeight())
return false;
6191 != java.lang.Double.doubleToLongBits(
6192 other.getPresolveProbingDeterministicTimeLimit()))
return false;
6197 != other.getPresolveBlockedClause())
return false;
6202 != other.getPresolveUseBva())
return false;
6207 != other.getPresolveBvaThreshold())
return false;
6212 != other.getUseOptimizationHints())
return false;
6217 != other.getMinimizeCore())
return false;
6222 != other.getFindMultipleCores())
return false;
6227 != other.getCoverOptimization())
return false;
6231 if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_)
return false;
6236 != other.getMaxSatReverseAssumptionOrder())
return false;
6240 if (maxSatStratification_ != other.maxSatStratification_)
return false;
6245 != other.getUsePrecedencesInDisjunctiveConstraint())
return false;
6250 != other.getUseOverloadCheckerInCumulativeConstraint())
return false;
6255 != other.getUseTimetableEdgeFindingInCumulativeConstraint())
return false;
6260 != other.getUseDisjunctiveConstraintInCumulativeConstraint())
return false;
6265 != other.getLinearizationLevel())
return false;
6270 != other.getBooleanEncodingLevel())
return false;
6275 != other.getMaxNumCuts())
return false;
6280 != other.getOnlyAddCutsAtLevelZero())
return false;
6285 != other.getAddKnapsackCuts())
return false;
6287 if (
hasAddCgCuts() != other.hasAddCgCuts())
return false;
6290 != other.getAddCgCuts())
return false;
6295 != other.getAddMirCuts())
return false;
6300 != other.getUseMirRounding())
return false;
6305 != other.getMaxIntegerRoundingScaling())
return false;
6310 != other.getAddLpConstraintsLazily())
return false;
6315 != java.lang.Double.doubleToLongBits(
6316 other.getMinOrthogonalityForLpConstraints()))
return false;
6321 != other.getMaxInactiveCount())
return false;
6326 != other.getConstraintRemovalBatchSize())
return false;
6330 if (searchBranching_ != other.searchBranching_)
return false;
6335 != other.getExploitIntegerLpSolution())
return false;
6340 != other.getExploitAllLpSolution())
return false;
6345 != other.getExploitBestSolution())
return false;
6350 != other.getExploitObjective())
return false;
6355 != other.getPseudoCostReliabilityThreshold())
return false;
6360 != other.getOptimizeWithCore())
return false;
6365 != other.getBinarySearchNumConflicts())
return false;
6370 != other.getOptimizeWithMaxHs())
return false;
6375 != other.getCpModelPresolve())
return false;
6380 != other.getCpModelProbingLevel())
return false;
6385 != other.getCpModelUseSatPresolve())
return false;
6390 != other.getEnumerateAllSolutions())
return false;
6395 != other.getFillTightenedDomainsInResponse())
return false;
6400 != other.getInstantiateAllVariables())
return false;
6405 != other.getAutoDetectGreaterThanAtLeastOneOf())
return false;
6410 != other.getStopAfterFirstSolution())
return false;
6415 != other.getNumSearchWorkers())
return false;
6420 != other.getShareObjectiveBounds())
return false;
6425 != other.getShareLevelZeroBounds())
return false;
6427 if (
hasUseLns() != other.hasUseLns())
return false;
6430 != other.getUseLns())
return false;
6435 != other.getLnsNumThreads())
return false;
6440 != other.getLnsIsDeterministic())
return false;
6445 != other.getLnsFocusOnDecisionVariables())
return false;
6450 != other.getUseRinsLns())
return false;
6455 != other.getRandomizeSearch())
return false;
6460 != other.getSearchRandomizationTolerance())
return false;
6465 != other.getUseOptionalVariables())
return false;
6470 != other.getUseExactLpReason())
return false;
6475 != other.getUseCombinedNoOverlap())
return false;
6480 != java.lang.Double.doubleToLongBits(
6481 other.getMipMaxBound()))
return false;
6486 != java.lang.Double.doubleToLongBits(
6487 other.getMipVarScaling()))
return false;
6492 != java.lang.Double.doubleToLongBits(
6493 other.getMipWantedPrecision()))
return false;
6498 != other.getMipMaxActivityExponent())
return false;
6503 != java.lang.Double.doubleToLongBits(
6504 other.getMipCheckPrecision()))
return false;
6506 if (!unknownFields.equals(other.unknownFields))
return false;
6512 if (memoizedHashCode != 0) {
6513 return memoizedHashCode;
6519 hash = (53 * hash) + preferredVariableOrder_;
6523 hash = (53 * hash) + initialPolarity_;
6527 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6532 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6537 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6542 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6547 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6552 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6557 hash = (53 * hash) + minimizationAlgorithm_;
6561 hash = (53 * hash) + binaryMinimizationAlgorithm_;
6565 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6578 hash = (53 * hash) + clauseCleanupProtection_;
6586 hash = (53 * hash) + clauseCleanupOrdering_;
6594 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6607 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6612 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6617 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6622 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6631 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6636 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6641 hash = (53 * hash) + restartAlgorithms_.hashCode();
6657 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6662 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6667 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6676 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6685 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6690 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6695 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6700 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6705 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6710 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6719 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6724 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6729 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6734 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6747 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6752 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6757 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6766 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6771 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6776 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6781 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6786 hash = (53 * hash) + maxSatAssumptionOrder_;
6790 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6795 hash = (53 * hash) + maxSatStratification_;
6799 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6804 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6809 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6814 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6831 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6836 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6841 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6846 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6851 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6860 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6865 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6870 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6875 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6880 hash = (53 * hash) + searchBranching_;
6884 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6889 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6894 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6899 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6904 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
6909 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6918 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6923 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6932 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6937 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6942 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6947 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6952 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6957 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6966 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6971 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6976 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6985 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6990 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
6995 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
7000 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
7005 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
7010 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
7015 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
7020 hash = (53 * hash) +
com.
google.protobuf.Internal.hashBoolean(
7025 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
7030 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
7035 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
7044 hash = (53 * hash) +
com.
google.protobuf.Internal.hashLong(
7047 hash = (29 * hash) + unknownFields.hashCode();
7048 memoizedHashCode = hash;
7053 java.nio.ByteBuffer data)
7054 throws com.
google.protobuf.InvalidProtocolBufferException {
7055 return PARSER.parseFrom(data);
7058 java.nio.ByteBuffer data,
7059 com.
google.protobuf.ExtensionRegistryLite extensionRegistry)
7060 throws com.
google.protobuf.InvalidProtocolBufferException {
7061 return PARSER.parseFrom(data, extensionRegistry);
7065 throws com.
google.protobuf.InvalidProtocolBufferException {
7066 return PARSER.parseFrom(data);
7070 com.
google.protobuf.ExtensionRegistryLite extensionRegistry)
7071 throws com.
google.protobuf.InvalidProtocolBufferException {
7072 return PARSER.parseFrom(data, extensionRegistry);
7075 throws com.
google.protobuf.InvalidProtocolBufferException {
7076 return PARSER.parseFrom(data);
7080 com.
google.protobuf.ExtensionRegistryLite extensionRegistry)
7081 throws com.
google.protobuf.InvalidProtocolBufferException {
7082 return PARSER.parseFrom(data, extensionRegistry);
7085 throws java.io.IOException {
7086 return com.
google.protobuf.GeneratedMessageV3
7087 .parseWithIOException(
PARSER, input);
7090 java.io.InputStream input,
7091 com.
google.protobuf.ExtensionRegistryLite extensionRegistry)
7092 throws java.io.IOException {
7093 return com.
google.protobuf.GeneratedMessageV3
7094 .parseWithIOException(
PARSER, input, extensionRegistry);
7097 throws java.io.IOException {
7098 return com.
google.protobuf.GeneratedMessageV3
7099 .parseDelimitedWithIOException(
PARSER, input);
7102 java.io.InputStream input,
7103 com.
google.protobuf.ExtensionRegistryLite extensionRegistry)
7104 throws java.io.IOException {
7105 return com.
google.protobuf.GeneratedMessageV3
7106 .parseDelimitedWithIOException(
PARSER, input, extensionRegistry);
7109 com.
google.protobuf.CodedInputStream input)
7110 throws java.io.IOException {
7111 return com.
google.protobuf.GeneratedMessageV3
7112 .parseWithIOException(
PARSER, input);
7115 com.
google.protobuf.CodedInputStream input,
7116 com.
google.protobuf.ExtensionRegistryLite extensionRegistry)
7117 throws java.io.IOException {
7118 return com.
google.protobuf.GeneratedMessageV3
7119 .parseWithIOException(
PARSER, input, extensionRegistry);
7132 return this == DEFAULT_INSTANCE
7138 com.
google.protobuf.GeneratedMessageV3.BuilderParent parent) {
7152 com.google.protobuf.GeneratedMessageV3.
Builder<Builder> implements
7155 public static final com.
google.protobuf.Descriptors.Descriptor
7157 return com.
google.
ortools.
sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
7161 protected com.
google.protobuf.GeneratedMessageV3.FieldAccessorTable
7163 return com.
google.
ortools.
sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
7164 .ensureFieldAccessorsInitialized(
7170 maybeForceBuilderInitialization();
7174 com.
google.protobuf.GeneratedMessageV3.BuilderParent parent) {
7176 maybeForceBuilderInitialization();
7178 private void maybeForceBuilderInitialization() {
7179 if (
com.
google.protobuf.GeneratedMessageV3
7180 .alwaysUseFieldBuilders) {
7186 preferredVariableOrder_ = 0;
7187 bitField0_ = (bitField0_ & ~0x00000001);
7188 initialPolarity_ = 1;
7189 bitField0_ = (bitField0_ & ~0x00000002);
7190 usePhaseSaving_ =
true;
7191 bitField0_ = (bitField0_ & ~0x00000004);
7192 randomPolarityRatio_ = 0D;
7193 bitField0_ = (bitField0_ & ~0x00000008);
7194 randomBranchesRatio_ = 0D;
7195 bitField0_ = (bitField0_ & ~0x00000010);
7196 useErwaHeuristic_ =
false;
7197 bitField0_ = (bitField0_ & ~0x00000020);
7198 initialVariablesActivity_ = 0D;
7199 bitField0_ = (bitField0_ & ~0x00000040);
7200 alsoBumpVariablesInConflictReasons_ =
false;
7201 bitField0_ = (bitField0_ & ~0x00000080);
7202 minimizationAlgorithm_ = 2;
7203 bitField0_ = (bitField0_ & ~0x00000100);
7204 binaryMinimizationAlgorithm_ = 1;
7205 bitField0_ = (bitField0_ & ~0x00000200);
7206 subsumptionDuringConflictAnalysis_ =
true;
7207 bitField0_ = (bitField0_ & ~0x00000400);
7208 clauseCleanupPeriod_ = 10000;
7209 bitField0_ = (bitField0_ & ~0x00000800);
7210 clauseCleanupTarget_ = 10000;
7211 bitField0_ = (bitField0_ & ~0x00001000);
7212 clauseCleanupProtection_ = 0;
7213 bitField0_ = (bitField0_ & ~0x00002000);
7214 clauseCleanupLbdBound_ = 5;
7215 bitField0_ = (bitField0_ & ~0x00004000);
7216 clauseCleanupOrdering_ = 0;
7217 bitField0_ = (bitField0_ & ~0x00008000);
7218 pbCleanupIncrement_ = 200;
7219 bitField0_ = (bitField0_ & ~0x00010000);
7220 pbCleanupRatio_ = 0.5D;
7221 bitField0_ = (bitField0_ & ~0x00020000);
7222 minimizeWithPropagationRestartPeriod_ = 10;
7223 bitField0_ = (bitField0_ & ~0x00040000);
7224 minimizeWithPropagationNumDecisions_ = 1000;
7225 bitField0_ = (bitField0_ & ~0x00080000);
7226 variableActivityDecay_ = 0.8D;
7227 bitField0_ = (bitField0_ & ~0x00100000);
7228 maxVariableActivityValue_ = 1e+100D;
7229 bitField0_ = (bitField0_ & ~0x00200000);
7230 glucoseMaxDecay_ = 0.95D;
7231 bitField0_ = (bitField0_ & ~0x00400000);
7232 glucoseDecayIncrement_ = 0.01D;
7233 bitField0_ = (bitField0_ & ~0x00800000);
7234 glucoseDecayIncrementPeriod_ = 5000;
7235 bitField0_ = (bitField0_ & ~0x01000000);
7236 clauseActivityDecay_ = 0.999D;
7237 bitField0_ = (bitField0_ & ~0x02000000);
7238 maxClauseActivityValue_ = 1e+20D;
7239 bitField0_ = (bitField0_ & ~0x04000000);
7240 restartAlgorithms_ = java.util.Collections.emptyList();
7241 bitField0_ = (bitField0_ & ~0x08000000);
7242 defaultRestartAlgorithms_ =
"LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
7243 bitField0_ = (bitField0_ & ~0x10000000);
7244 restartPeriod_ = 50;
7245 bitField0_ = (bitField0_ & ~0x20000000);
7246 restartRunningWindowSize_ = 50;
7247 bitField0_ = (bitField0_ & ~0x40000000);
7248 restartDlAverageRatio_ = 1D;
7249 bitField0_ = (bitField0_ & ~0x80000000);
7250 restartLbdAverageRatio_ = 1D;
7251 bitField1_ = (bitField1_ & ~0x00000001);
7252 useBlockingRestart_ =
false;
7253 bitField1_ = (bitField1_ & ~0x00000002);
7254 blockingRestartWindowSize_ = 5000;
7255 bitField1_ = (bitField1_ & ~0x00000004);
7256 blockingRestartMultiplier_ = 1.4D;
7257 bitField1_ = (bitField1_ & ~0x00000008);
7258 numConflictsBeforeStrategyChanges_ = 0;
7259 bitField1_ = (bitField1_ & ~0x00000010);
7260 strategyChangeIncreaseRatio_ = 0D;
7261 bitField1_ = (bitField1_ & ~0x00000020);
7262 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
7263 bitField1_ = (bitField1_ & ~0x00000040);
7264 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
7265 bitField1_ = (bitField1_ & ~0x00000080);
7266 maxNumberOfConflicts_ = 9223372036854775807L;
7267 bitField1_ = (bitField1_ & ~0x00000100);
7268 maxMemoryInMb_ = 10000L;
7269 bitField1_ = (bitField1_ & ~0x00000200);
7270 treatBinaryClausesSeparately_ =
true;
7271 bitField1_ = (bitField1_ & ~0x00000400);
7273 bitField1_ = (bitField1_ & ~0x00000800);
7274 logSearchProgress_ =
false;
7275 bitField1_ = (bitField1_ & ~0x00001000);
7276 usePbResolution_ =
false;
7277 bitField1_ = (bitField1_ & ~0x00002000);
7278 minimizeReductionDuringPbResolution_ =
false;
7279 bitField1_ = (bitField1_ & ~0x00004000);
7280 countAssumptionLevelsInLbd_ =
true;
7281 bitField1_ = (bitField1_ & ~0x00008000);
7282 presolveBveThreshold_ = 500;
7283 bitField1_ = (bitField1_ & ~0x00010000);
7284 presolveBveClauseWeight_ = 3;
7285 bitField1_ = (bitField1_ & ~0x00020000);
7286 presolveProbingDeterministicTimeLimit_ = 30D;
7287 bitField1_ = (bitField1_ & ~0x00040000);
7288 presolveBlockedClause_ =
true;
7289 bitField1_ = (bitField1_ & ~0x00080000);
7290 presolveUseBva_ =
true;
7291 bitField1_ = (bitField1_ & ~0x00100000);
7292 presolveBvaThreshold_ = 1;
7293 bitField1_ = (bitField1_ & ~0x00200000);
7294 useOptimizationHints_ =
true;
7295 bitField1_ = (bitField1_ & ~0x00400000);
7296 minimizeCore_ =
true;
7297 bitField1_ = (bitField1_ & ~0x00800000);
7298 findMultipleCores_ =
true;
7299 bitField1_ = (bitField1_ & ~0x01000000);
7300 coverOptimization_ =
true;
7301 bitField1_ = (bitField1_ & ~0x02000000);
7302 maxSatAssumptionOrder_ = 0;
7303 bitField1_ = (bitField1_ & ~0x04000000);
7304 maxSatReverseAssumptionOrder_ =
false;
7305 bitField1_ = (bitField1_ & ~0x08000000);
7306 maxSatStratification_ = 1;
7307 bitField1_ = (bitField1_ & ~0x10000000);
7308 usePrecedencesInDisjunctiveConstraint_ =
true;
7309 bitField1_ = (bitField1_ & ~0x20000000);
7310 useOverloadCheckerInCumulativeConstraint_ =
false;
7311 bitField1_ = (bitField1_ & ~0x40000000);
7312 useTimetableEdgeFindingInCumulativeConstraint_ =
false;
7313 bitField1_ = (bitField1_ & ~0x80000000);
7314 useDisjunctiveConstraintInCumulativeConstraint_ =
true;
7315 bitField2_ = (bitField2_ & ~0x00000001);
7316 linearizationLevel_ = 1;
7317 bitField2_ = (bitField2_ & ~0x00000002);
7318 booleanEncodingLevel_ = 1;
7319 bitField2_ = (bitField2_ & ~0x00000004);
7321 bitField2_ = (bitField2_ & ~0x00000008);
7322 onlyAddCutsAtLevelZero_ =
false;
7323 bitField2_ = (bitField2_ & ~0x00000010);
7324 addKnapsackCuts_ =
false;
7325 bitField2_ = (bitField2_ & ~0x00000020);
7327 bitField2_ = (bitField2_ & ~0x00000040);
7329 bitField2_ = (bitField2_ & ~0x00000080);
7330 useMirRounding_ =
true;
7331 bitField2_ = (bitField2_ & ~0x00000100);
7332 maxIntegerRoundingScaling_ = 600;
7333 bitField2_ = (bitField2_ & ~0x00000200);
7334 addLpConstraintsLazily_ =
true;
7335 bitField2_ = (bitField2_ & ~0x00000400);
7336 minOrthogonalityForLpConstraints_ = 0D;
7337 bitField2_ = (bitField2_ & ~0x00000800);
7338 maxInactiveCount_ = 1000L;
7339 bitField2_ = (bitField2_ & ~0x00001000);
7340 constraintRemovalBatchSize_ = 100L;
7341 bitField2_ = (bitField2_ & ~0x00002000);
7342 searchBranching_ = 0;
7343 bitField2_ = (bitField2_ & ~0x00004000);
7344 exploitIntegerLpSolution_ =
true;
7345 bitField2_ = (bitField2_ & ~0x00008000);
7346 exploitAllLpSolution_ =
true;
7347 bitField2_ = (bitField2_ & ~0x00010000);
7348 exploitBestSolution_ =
false;
7349 bitField2_ = (bitField2_ & ~0x00020000);
7350 exploitObjective_ =
true;
7351 bitField2_ = (bitField2_ & ~0x00040000);
7352 pseudoCostReliabilityThreshold_ = 100L;
7353 bitField2_ = (bitField2_ & ~0x00080000);
7354 optimizeWithCore_ =
false;
7355 bitField2_ = (bitField2_ & ~0x00100000);
7356 binarySearchNumConflicts_ = -1;
7357 bitField2_ = (bitField2_ & ~0x00200000);
7358 optimizeWithMaxHs_ =
false;
7359 bitField2_ = (bitField2_ & ~0x00400000);
7360 cpModelPresolve_ =
true;
7361 bitField2_ = (bitField2_ & ~0x00800000);
7362 cpModelProbingLevel_ = 2;
7363 bitField2_ = (bitField2_ & ~0x01000000);
7364 cpModelUseSatPresolve_ =
true;
7365 bitField2_ = (bitField2_ & ~0x02000000);
7366 enumerateAllSolutions_ =
false;
7367 bitField2_ = (bitField2_ & ~0x04000000);
7368 fillTightenedDomainsInResponse_ =
false;
7369 bitField2_ = (bitField2_ & ~0x08000000);
7370 instantiateAllVariables_ =
true;
7371 bitField2_ = (bitField2_ & ~0x10000000);
7372 autoDetectGreaterThanAtLeastOneOf_ =
true;
7373 bitField2_ = (bitField2_ & ~0x20000000);
7374 stopAfterFirstSolution_ =
false;
7375 bitField2_ = (bitField2_ & ~0x40000000);
7376 numSearchWorkers_ = 0;
7377 bitField2_ = (bitField2_ & ~0x80000000);
7378 shareObjectiveBounds_ =
true;
7379 bitField3_ = (bitField3_ & ~0x00000001);
7380 shareLevelZeroBounds_ =
true;
7381 bitField3_ = (bitField3_ & ~0x00000002);
7383 bitField3_ = (bitField3_ & ~0x00000004);
7385 bitField3_ = (bitField3_ & ~0x00000008);
7386 lnsIsDeterministic_ =
true;
7387 bitField3_ = (bitField3_ & ~0x00000010);
7388 lnsFocusOnDecisionVariables_ =
false;
7389 bitField3_ = (bitField3_ & ~0x00000020);
7390 useRinsLns_ =
false;
7391 bitField3_ = (bitField3_ & ~0x00000040);
7392 randomizeSearch_ =
false;
7393 bitField3_ = (bitField3_ & ~0x00000080);
7394 searchRandomizationTolerance_ = 0L;
7395 bitField3_ = (bitField3_ & ~0x00000100);
7396 useOptionalVariables_ =
true;
7397 bitField3_ = (bitField3_ & ~0x00000200);
7398 useExactLpReason_ =
true;
7399 bitField3_ = (bitField3_ & ~0x00000400);
7400 useCombinedNoOverlap_ =
false;
7401 bitField3_ = (bitField3_ & ~0x00000800);
7402 mipMaxBound_ = 10000000D;
7403 bitField3_ = (bitField3_ & ~0x00001000);
7404 mipVarScaling_ = 1D;
7405 bitField3_ = (bitField3_ & ~0x00002000);
7406 mipWantedPrecision_ = 1e-06D;
7407 bitField3_ = (bitField3_ & ~0x00004000);
7408 mipMaxActivityExponent_ = 53;
7409 bitField3_ = (bitField3_ & ~0x00008000);
7410 mipCheckPrecision_ = 0.0001D;
7411 bitField3_ = (bitField3_ & ~0x00010000);
7416 public com.
google.protobuf.Descriptors.Descriptor
7418 return com.
google.
ortools.
sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
7429 if (!result.isInitialized()) {
7430 throw newUninitializedMessageException(result);
7438 int from_bitField0_ = bitField0_;
7439 int from_bitField1_ = bitField1_;
7440 int from_bitField2_ = bitField2_;
7441 int from_bitField3_ = bitField3_;
7442 int to_bitField0_ = 0;
7443 int to_bitField1_ = 0;
7444 int to_bitField2_ = 0;
7445 int to_bitField3_ = 0;
7446 if (((from_bitField0_ & 0x00000001) != 0)) {
7447 to_bitField0_ |= 0x00000001;
7449 result.preferredVariableOrder_ = preferredVariableOrder_;
7450 if (((from_bitField0_ & 0x00000002) != 0)) {
7451 to_bitField0_ |= 0x00000002;
7453 result.initialPolarity_ = initialPolarity_;
7454 if (((from_bitField0_ & 0x00000004) != 0)) {
7455 to_bitField0_ |= 0x00000004;
7457 result.usePhaseSaving_ = usePhaseSaving_;
7458 if (((from_bitField0_ & 0x00000008) != 0)) {
7459 result.randomPolarityRatio_ = randomPolarityRatio_;
7460 to_bitField0_ |= 0x00000008;
7462 if (((from_bitField0_ & 0x00000010) != 0)) {
7463 result.randomBranchesRatio_ = randomBranchesRatio_;
7464 to_bitField0_ |= 0x00000010;
7466 if (((from_bitField0_ & 0x00000020) != 0)) {
7467 result.useErwaHeuristic_ = useErwaHeuristic_;
7468 to_bitField0_ |= 0x00000020;
7470 if (((from_bitField0_ & 0x00000040) != 0)) {
7471 result.initialVariablesActivity_ = initialVariablesActivity_;
7472 to_bitField0_ |= 0x00000040;
7474 if (((from_bitField0_ & 0x00000080) != 0)) {
7475 result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
7476 to_bitField0_ |= 0x00000080;
7478 if (((from_bitField0_ & 0x00000100) != 0)) {
7479 to_bitField0_ |= 0x00000100;
7481 result.minimizationAlgorithm_ = minimizationAlgorithm_;
7482 if (((from_bitField0_ & 0x00000200) != 0)) {
7483 to_bitField0_ |= 0x00000200;
7485 result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
7486 if (((from_bitField0_ & 0x00000400) != 0)) {
7487 to_bitField0_ |= 0x00000400;
7489 result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
7490 if (((from_bitField0_ & 0x00000800) != 0)) {
7491 to_bitField0_ |= 0x00000800;
7493 result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
7494 if (((from_bitField0_ & 0x00001000) != 0)) {
7495 to_bitField0_ |= 0x00001000;
7497 result.clauseCleanupTarget_ = clauseCleanupTarget_;
7498 if (((from_bitField0_ & 0x00002000) != 0)) {
7499 to_bitField0_ |= 0x00002000;
7501 result.clauseCleanupProtection_ = clauseCleanupProtection_;
7502 if (((from_bitField0_ & 0x00004000) != 0)) {
7503 to_bitField0_ |= 0x00004000;
7505 result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
7506 if (((from_bitField0_ & 0x00008000) != 0)) {
7507 to_bitField0_ |= 0x00008000;
7509 result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
7510 if (((from_bitField0_ & 0x00010000) != 0)) {
7511 to_bitField0_ |= 0x00010000;
7513 result.pbCleanupIncrement_ = pbCleanupIncrement_;
7514 if (((from_bitField0_ & 0x00020000) != 0)) {
7515 to_bitField0_ |= 0x00020000;
7517 result.pbCleanupRatio_ = pbCleanupRatio_;
7518 if (((from_bitField0_ & 0x00040000) != 0)) {
7519 to_bitField0_ |= 0x00040000;
7521 result.minimizeWithPropagationRestartPeriod_ = minimizeWithPropagationRestartPeriod_;
7522 if (((from_bitField0_ & 0x00080000) != 0)) {
7523 to_bitField0_ |= 0x00080000;
7525 result.minimizeWithPropagationNumDecisions_ = minimizeWithPropagationNumDecisions_;
7526 if (((from_bitField0_ & 0x00100000) != 0)) {
7527 to_bitField0_ |= 0x00100000;
7529 result.variableActivityDecay_ = variableActivityDecay_;
7530 if (((from_bitField0_ & 0x00200000) != 0)) {
7531 to_bitField0_ |= 0x00200000;
7533 result.maxVariableActivityValue_ = maxVariableActivityValue_;
7534 if (((from_bitField0_ & 0x00400000) != 0)) {
7535 to_bitField0_ |= 0x00400000;
7537 result.glucoseMaxDecay_ = glucoseMaxDecay_;
7538 if (((from_bitField0_ & 0x00800000) != 0)) {
7539 to_bitField0_ |= 0x00800000;
7541 result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
7542 if (((from_bitField0_ & 0x01000000) != 0)) {
7543 to_bitField0_ |= 0x01000000;
7545 result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
7546 if (((from_bitField0_ & 0x02000000) != 0)) {
7547 to_bitField0_ |= 0x02000000;
7549 result.clauseActivityDecay_ = clauseActivityDecay_;
7550 if (((from_bitField0_ & 0x04000000) != 0)) {
7551 to_bitField0_ |= 0x04000000;
7553 result.maxClauseActivityValue_ = maxClauseActivityValue_;
7554 if (((bitField0_ & 0x08000000) != 0)) {
7555 restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
7556 bitField0_ = (bitField0_ & ~0x08000000);
7558 result.restartAlgorithms_ = restartAlgorithms_;
7559 if (((from_bitField0_ & 0x10000000) != 0)) {
7560 to_bitField0_ |= 0x08000000;
7562 result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
7563 if (((from_bitField0_ & 0x20000000) != 0)) {
7564 to_bitField0_ |= 0x10000000;
7566 result.restartPeriod_ = restartPeriod_;
7567 if (((from_bitField0_ & 0x40000000) != 0)) {
7568 to_bitField0_ |= 0x20000000;
7570 result.restartRunningWindowSize_ = restartRunningWindowSize_;
7571 if (((from_bitField0_ & 0x80000000) != 0)) {
7572 to_bitField0_ |= 0x40000000;
7574 result.restartDlAverageRatio_ = restartDlAverageRatio_;
7575 if (((from_bitField1_ & 0x00000001) != 0)) {
7576 to_bitField0_ |= 0x80000000;
7578 result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
7579 if (((from_bitField1_ & 0x00000002) != 0)) {
7580 result.useBlockingRestart_ = useBlockingRestart_;
7581 to_bitField1_ |= 0x00000001;
7583 if (((from_bitField1_ & 0x00000004) != 0)) {
7584 to_bitField1_ |= 0x00000002;
7586 result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
7587 if (((from_bitField1_ & 0x00000008) != 0)) {
7588 to_bitField1_ |= 0x00000004;
7590 result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
7591 if (((from_bitField1_ & 0x00000010) != 0)) {
7592 result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
7593 to_bitField1_ |= 0x00000008;
7595 if (((from_bitField1_ & 0x00000020) != 0)) {
7596 result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
7597 to_bitField1_ |= 0x00000010;
7599 if (((from_bitField1_ & 0x00000040) != 0)) {
7600 to_bitField1_ |= 0x00000020;
7602 result.maxTimeInSeconds_ = maxTimeInSeconds_;
7603 if (((from_bitField1_ & 0x00000080) != 0)) {
7604 to_bitField1_ |= 0x00000040;
7606 result.maxDeterministicTime_ = maxDeterministicTime_;
7607 if (((from_bitField1_ & 0x00000100) != 0)) {
7608 to_bitField1_ |= 0x00000080;
7610 result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
7611 if (((from_bitField1_ & 0x00000200) != 0)) {
7612 to_bitField1_ |= 0x00000100;
7614 result.maxMemoryInMb_ = maxMemoryInMb_;
7615 if (((from_bitField1_ & 0x00000400) != 0)) {
7616 to_bitField1_ |= 0x00000200;
7618 result.treatBinaryClausesSeparately_ = treatBinaryClausesSeparately_;
7619 if (((from_bitField1_ & 0x00000800) != 0)) {
7620 to_bitField1_ |= 0x00000400;
7622 result.randomSeed_ = randomSeed_;
7623 if (((from_bitField1_ & 0x00001000) != 0)) {
7624 result.logSearchProgress_ = logSearchProgress_;
7625 to_bitField1_ |= 0x00000800;
7627 if (((from_bitField1_ & 0x00002000) != 0)) {
7628 result.usePbResolution_ = usePbResolution_;
7629 to_bitField1_ |= 0x00001000;
7631 if (((from_bitField1_ & 0x00004000) != 0)) {
7632 result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
7633 to_bitField1_ |= 0x00002000;
7635 if (((from_bitField1_ & 0x00008000) != 0)) {
7636 to_bitField1_ |= 0x00004000;
7638 result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
7639 if (((from_bitField1_ & 0x00010000) != 0)) {
7640 to_bitField1_ |= 0x00008000;
7642 result.presolveBveThreshold_ = presolveBveThreshold_;
7643 if (((from_bitField1_ & 0x00020000) != 0)) {
7644 to_bitField1_ |= 0x00010000;
7646 result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
7647 if (((from_bitField1_ & 0x00040000) != 0)) {
7648 to_bitField1_ |= 0x00020000;
7650 result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
7651 if (((from_bitField1_ & 0x00080000) != 0)) {
7652 to_bitField1_ |= 0x00040000;
7654 result.presolveBlockedClause_ = presolveBlockedClause_;
7655 if (((from_bitField1_ & 0x00100000) != 0)) {
7656 to_bitField1_ |= 0x00080000;
7658 result.presolveUseBva_ = presolveUseBva_;
7659 if (((from_bitField1_ & 0x00200000) != 0)) {
7660 to_bitField1_ |= 0x00100000;
7662 result.presolveBvaThreshold_ = presolveBvaThreshold_;
7663 if (((from_bitField1_ & 0x00400000) != 0)) {
7664 to_bitField1_ |= 0x00200000;
7666 result.useOptimizationHints_ = useOptimizationHints_;
7667 if (((from_bitField1_ & 0x00800000) != 0)) {
7668 to_bitField1_ |= 0x00400000;
7670 result.minimizeCore_ = minimizeCore_;
7671 if (((from_bitField1_ & 0x01000000) != 0)) {
7672 to_bitField1_ |= 0x00800000;
7674 result.findMultipleCores_ = findMultipleCores_;
7675 if (((from_bitField1_ & 0x02000000) != 0)) {
7676 to_bitField1_ |= 0x01000000;
7678 result.coverOptimization_ = coverOptimization_;
7679 if (((from_bitField1_ & 0x04000000) != 0)) {
7680 to_bitField1_ |= 0x02000000;
7682 result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
7683 if (((from_bitField1_ & 0x08000000) != 0)) {
7684 result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
7685 to_bitField1_ |= 0x04000000;
7687 if (((from_bitField1_ & 0x10000000) != 0)) {
7688 to_bitField1_ |= 0x08000000;
7690 result.maxSatStratification_ = maxSatStratification_;
7691 if (((from_bitField1_ & 0x20000000) != 0)) {
7692 to_bitField1_ |= 0x10000000;
7694 result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
7695 if (((from_bitField1_ & 0x40000000) != 0)) {
7696 result.useOverloadCheckerInCumulativeConstraint_ = useOverloadCheckerInCumulativeConstraint_;
7697 to_bitField1_ |= 0x20000000;
7699 if (((from_bitField1_ & 0x80000000) != 0)) {
7700 result.useTimetableEdgeFindingInCumulativeConstraint_ = useTimetableEdgeFindingInCumulativeConstraint_;
7701 to_bitField1_ |= 0x40000000;
7703 if (((from_bitField2_ & 0x00000001) != 0)) {
7704 to_bitField1_ |= 0x80000000;
7706 result.useDisjunctiveConstraintInCumulativeConstraint_ = useDisjunctiveConstraintInCumulativeConstraint_;
7707 if (((from_bitField2_ & 0x00000002) != 0)) {
7708 to_bitField2_ |= 0x00000001;
7710 result.linearizationLevel_ = linearizationLevel_;
7711 if (((from_bitField2_ & 0x00000004) != 0)) {
7712 to_bitField2_ |= 0x00000002;
7714 result.booleanEncodingLevel_ = booleanEncodingLevel_;
7715 if (((from_bitField2_ & 0x00000008) != 0)) {
7716 to_bitField2_ |= 0x00000004;
7718 result.maxNumCuts_ = maxNumCuts_;
7719 if (((from_bitField2_ & 0x00000010) != 0)) {
7720 result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
7721 to_bitField2_ |= 0x00000008;
7723 if (((from_bitField2_ & 0x00000020) != 0)) {
7724 result.addKnapsackCuts_ = addKnapsackCuts_;
7725 to_bitField2_ |= 0x00000010;
7727 if (((from_bitField2_ & 0x00000040) != 0)) {
7728 result.addCgCuts_ = addCgCuts_;
7729 to_bitField2_ |= 0x00000020;
7731 if (((from_bitField2_ & 0x00000080) != 0)) {
7732 to_bitField2_ |= 0x00000040;
7734 result.addMirCuts_ = addMirCuts_;
7735 if (((from_bitField2_ & 0x00000100) != 0)) {
7736 to_bitField2_ |= 0x00000080;
7738 result.useMirRounding_ = useMirRounding_;
7739 if (((from_bitField2_ & 0x00000200) != 0)) {
7740 to_bitField2_ |= 0x00000100;
7742 result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
7743 if (((from_bitField2_ & 0x00000400) != 0)) {
7744 to_bitField2_ |= 0x00000200;
7746 result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
7747 if (((from_bitField2_ & 0x00000800) != 0)) {
7748 result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
7749 to_bitField2_ |= 0x00000400;
7751 if (((from_bitField2_ & 0x00001000) != 0)) {
7752 to_bitField2_ |= 0x00000800;
7754 result.maxInactiveCount_ = maxInactiveCount_;
7755 if (((from_bitField2_ & 0x00002000) != 0)) {
7756 to_bitField2_ |= 0x00001000;
7758 result.constraintRemovalBatchSize_ = constraintRemovalBatchSize_;
7759 if (((from_bitField2_ & 0x00004000) != 0)) {
7760 to_bitField2_ |= 0x00002000;
7762 result.searchBranching_ = searchBranching_;
7763 if (((from_bitField2_ & 0x00008000) != 0)) {
7764 to_bitField2_ |= 0x00004000;
7766 result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
7767 if (((from_bitField2_ & 0x00010000) != 0)) {
7768 to_bitField2_ |= 0x00008000;
7770 result.exploitAllLpSolution_ = exploitAllLpSolution_;
7771 if (((from_bitField2_ & 0x00020000) != 0)) {
7772 result.exploitBestSolution_ = exploitBestSolution_;
7773 to_bitField2_ |= 0x00010000;
7775 if (((from_bitField2_ & 0x00040000) != 0)) {
7776 to_bitField2_ |= 0x00020000;
7778 result.exploitObjective_ = exploitObjective_;
7779 if (((from_bitField2_ & 0x00080000) != 0)) {
7780 to_bitField2_ |= 0x00040000;
7782 result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
7783 if (((from_bitField2_ & 0x00100000) != 0)) {
7784 result.optimizeWithCore_ = optimizeWithCore_;
7785 to_bitField2_ |= 0x00080000;
7787 if (((from_bitField2_ & 0x00200000) != 0)) {
7788 to_bitField2_ |= 0x00100000;
7790 result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
7791 if (((from_bitField2_ & 0x00400000) != 0)) {
7792 result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
7793 to_bitField2_ |= 0x00200000;
7795 if (((from_bitField2_ & 0x00800000) != 0)) {
7796 to_bitField2_ |= 0x00400000;
7798 result.cpModelPresolve_ = cpModelPresolve_;
7799 if (((from_bitField2_ & 0x01000000) != 0)) {
7800 to_bitField2_ |= 0x00800000;
7802 result.cpModelProbingLevel_ = cpModelProbingLevel_;
7803 if (((from_bitField2_ & 0x02000000) != 0)) {
7804 to_bitField2_ |= 0x01000000;
7806 result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
7807 if (((from_bitField2_ & 0x04000000) != 0)) {
7808 result.enumerateAllSolutions_ = enumerateAllSolutions_;
7809 to_bitField2_ |= 0x02000000;
7811 if (((from_bitField2_ & 0x08000000) != 0)) {
7812 result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
7813 to_bitField2_ |= 0x04000000;
7815 if (((from_bitField2_ & 0x10000000) != 0)) {
7816 to_bitField2_ |= 0x08000000;
7818 result.instantiateAllVariables_ = instantiateAllVariables_;
7819 if (((from_bitField2_ & 0x20000000) != 0)) {
7820 to_bitField2_ |= 0x10000000;
7822 result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
7823 if (((from_bitField2_ & 0x40000000) != 0)) {
7824 result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
7825 to_bitField2_ |= 0x20000000;
7827 if (((from_bitField2_ & 0x80000000) != 0)) {
7828 result.numSearchWorkers_ = numSearchWorkers_;
7829 to_bitField2_ |= 0x40000000;
7831 if (((from_bitField3_ & 0x00000001) != 0)) {
7832 to_bitField2_ |= 0x80000000;
7834 result.shareObjectiveBounds_ = shareObjectiveBounds_;
7835 if (((from_bitField3_ & 0x00000002) != 0)) {
7836 to_bitField3_ |= 0x00000001;
7838 result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
7839 if (((from_bitField3_ & 0x00000004) != 0)) {
7840 result.useLns_ = useLns_;
7841 to_bitField3_ |= 0x00000002;
7843 if (((from_bitField3_ & 0x00000008) != 0)) {
7844 to_bitField3_ |= 0x00000004;
7846 result.lnsNumThreads_ = lnsNumThreads_;
7847 if (((from_bitField3_ & 0x00000010) != 0)) {
7848 to_bitField3_ |= 0x00000008;
7850 result.lnsIsDeterministic_ = lnsIsDeterministic_;
7851 if (((from_bitField3_ & 0x00000020) != 0)) {
7852 result.lnsFocusOnDecisionVariables_ = lnsFocusOnDecisionVariables_;
7853 to_bitField3_ |= 0x00000010;
7855 if (((from_bitField3_ & 0x00000040) != 0)) {
7856 result.useRinsLns_ = useRinsLns_;
7857 to_bitField3_ |= 0x00000020;
7859 if (((from_bitField3_ & 0x00000080) != 0)) {
7860 result.randomizeSearch_ = randomizeSearch_;
7861 to_bitField3_ |= 0x00000040;
7863 if (((from_bitField3_ & 0x00000100) != 0)) {
7864 result.searchRandomizationTolerance_ = searchRandomizationTolerance_;
7865 to_bitField3_ |= 0x00000080;
7867 if (((from_bitField3_ & 0x00000200) != 0)) {
7868 to_bitField3_ |= 0x00000100;
7870 result.useOptionalVariables_ = useOptionalVariables_;
7871 if (((from_bitField3_ & 0x00000400) != 0)) {
7872 to_bitField3_ |= 0x00000200;
7874 result.useExactLpReason_ = useExactLpReason_;
7875 if (((from_bitField3_ & 0x00000800) != 0)) {
7876 result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
7877 to_bitField3_ |= 0x00000400;
7879 if (((from_bitField3_ & 0x00001000) != 0)) {
7880 to_bitField3_ |= 0x00000800;
7882 result.mipMaxBound_ = mipMaxBound_;
7883 if (((from_bitField3_ & 0x00002000) != 0)) {
7884 to_bitField3_ |= 0x00001000;
7886 result.mipVarScaling_ = mipVarScaling_;
7887 if (((from_bitField3_ & 0x00004000) != 0)) {
7888 to_bitField3_ |= 0x00002000;
7890 result.mipWantedPrecision_ = mipWantedPrecision_;
7891 if (((from_bitField3_ & 0x00008000) != 0)) {
7892 to_bitField3_ |= 0x00004000;
7894 result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
7895 if (((from_bitField3_ & 0x00010000) != 0)) {
7896 to_bitField3_ |= 0x00008000;
7898 result.mipCheckPrecision_ = mipCheckPrecision_;
7899 result.bitField0_ = to_bitField0_;
7900 result.bitField1_ = to_bitField1_;
7901 result.bitField2_ = to_bitField2_;
7902 result.bitField3_ = to_bitField3_;
7909 return super.
clone();
7913 com.
google.protobuf.Descriptors.FieldDescriptor field,
7914 java.lang.Object value) {
7915 return super.
setField(field, value);
7919 com.
google.protobuf.Descriptors.FieldDescriptor field) {
7924 com.
google.protobuf.Descriptors.OneofDescriptor oneof) {
7929 com.
google.protobuf.Descriptors.FieldDescriptor field,
7930 int index, java.lang.Object value) {
7935 com.
google.protobuf.Descriptors.FieldDescriptor field,
7936 java.lang.Object value) {
7944 super.mergeFrom(other);
7951 if (other.hasPreferredVariableOrder()) {
7954 if (other.hasInitialPolarity()) {
7957 if (other.hasUsePhaseSaving()) {
7960 if (other.hasRandomPolarityRatio()) {
7963 if (other.hasRandomBranchesRatio()) {
7966 if (other.hasUseErwaHeuristic()) {
7969 if (other.hasInitialVariablesActivity()) {
7972 if (other.hasAlsoBumpVariablesInConflictReasons()) {
7975 if (other.hasMinimizationAlgorithm()) {
7978 if (other.hasBinaryMinimizationAlgorithm()) {
7981 if (other.hasSubsumptionDuringConflictAnalysis()) {
7984 if (other.hasClauseCleanupPeriod()) {
7987 if (other.hasClauseCleanupTarget()) {
7990 if (other.hasClauseCleanupProtection()) {
7993 if (other.hasClauseCleanupLbdBound()) {
7996 if (other.hasClauseCleanupOrdering()) {
7999 if (other.hasPbCleanupIncrement()) {
8002 if (other.hasPbCleanupRatio()) {
8005 if (other.hasMinimizeWithPropagationRestartPeriod()) {
8008 if (other.hasMinimizeWithPropagationNumDecisions()) {
8011 if (other.hasVariableActivityDecay()) {
8014 if (other.hasMaxVariableActivityValue()) {
8017 if (other.hasGlucoseMaxDecay()) {
8020 if (other.hasGlucoseDecayIncrement()) {
8023 if (other.hasGlucoseDecayIncrementPeriod()) {
8026 if (other.hasClauseActivityDecay()) {
8029 if (other.hasMaxClauseActivityValue()) {
8032 if (!other.restartAlgorithms_.isEmpty()) {
8033 if (restartAlgorithms_.isEmpty()) {
8034 restartAlgorithms_ = other.restartAlgorithms_;
8035 bitField0_ = (bitField0_ & ~0x08000000);
8037 ensureRestartAlgorithmsIsMutable();
8038 restartAlgorithms_.addAll(other.restartAlgorithms_);
8042 if (other.hasDefaultRestartAlgorithms()) {
8043 bitField0_ |= 0x10000000;
8044 defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
8047 if (other.hasRestartPeriod()) {
8050 if (other.hasRestartRunningWindowSize()) {
8053 if (other.hasRestartDlAverageRatio()) {
8056 if (other.hasRestartLbdAverageRatio()) {
8059 if (other.hasUseBlockingRestart()) {
8062 if (other.hasBlockingRestartWindowSize()) {
8065 if (other.hasBlockingRestartMultiplier()) {
8068 if (other.hasNumConflictsBeforeStrategyChanges()) {
8071 if (other.hasStrategyChangeIncreaseRatio()) {
8074 if (other.hasMaxTimeInSeconds()) {
8077 if (other.hasMaxDeterministicTime()) {
8080 if (other.hasMaxNumberOfConflicts()) {
8083 if (other.hasMaxMemoryInMb()) {
8086 if (other.hasTreatBinaryClausesSeparately()) {
8089 if (other.hasRandomSeed()) {
8092 if (other.hasLogSearchProgress()) {
8095 if (other.hasUsePbResolution()) {
8098 if (other.hasMinimizeReductionDuringPbResolution()) {
8101 if (other.hasCountAssumptionLevelsInLbd()) {
8104 if (other.hasPresolveBveThreshold()) {
8107 if (other.hasPresolveBveClauseWeight()) {
8110 if (other.hasPresolveProbingDeterministicTimeLimit()) {
8113 if (other.hasPresolveBlockedClause()) {
8116 if (other.hasPresolveUseBva()) {
8119 if (other.hasPresolveBvaThreshold()) {
8122 if (other.hasUseOptimizationHints()) {
8125 if (other.hasMinimizeCore()) {
8128 if (other.hasFindMultipleCores()) {
8131 if (other.hasCoverOptimization()) {
8134 if (other.hasMaxSatAssumptionOrder()) {
8137 if (other.hasMaxSatReverseAssumptionOrder()) {
8140 if (other.hasMaxSatStratification()) {
8143 if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
8146 if (other.hasUseOverloadCheckerInCumulativeConstraint()) {
8149 if (other.hasUseTimetableEdgeFindingInCumulativeConstraint()) {
8152 if (other.hasUseDisjunctiveConstraintInCumulativeConstraint()) {
8155 if (other.hasLinearizationLevel()) {
8158 if (other.hasBooleanEncodingLevel()) {
8161 if (other.hasMaxNumCuts()) {
8164 if (other.hasOnlyAddCutsAtLevelZero()) {
8167 if (other.hasAddKnapsackCuts()) {
8170 if (other.hasAddCgCuts()) {
8173 if (other.hasAddMirCuts()) {
8176 if (other.hasUseMirRounding()) {
8179 if (other.hasMaxIntegerRoundingScaling()) {
8182 if (other.hasAddLpConstraintsLazily()) {
8185 if (other.hasMinOrthogonalityForLpConstraints()) {
8188 if (other.hasMaxInactiveCount()) {
8191 if (other.hasConstraintRemovalBatchSize()) {
8194 if (other.hasSearchBranching()) {
8197 if (other.hasExploitIntegerLpSolution()) {
8200 if (other.hasExploitAllLpSolution()) {
8203 if (other.hasExploitBestSolution()) {
8206 if (other.hasExploitObjective()) {
8209 if (other.hasPseudoCostReliabilityThreshold()) {
8212 if (other.hasOptimizeWithCore()) {
8215 if (other.hasBinarySearchNumConflicts()) {
8218 if (other.hasOptimizeWithMaxHs()) {
8221 if (other.hasCpModelPresolve()) {
8224 if (other.hasCpModelProbingLevel()) {
8227 if (other.hasCpModelUseSatPresolve()) {
8230 if (other.hasEnumerateAllSolutions()) {
8233 if (other.hasFillTightenedDomainsInResponse()) {
8236 if (other.hasInstantiateAllVariables()) {
8239 if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
8242 if (other.hasStopAfterFirstSolution()) {
8245 if (other.hasNumSearchWorkers()) {
8248 if (other.hasShareObjectiveBounds()) {
8251 if (other.hasShareLevelZeroBounds()) {
8254 if (other.hasUseLns()) {
8257 if (other.hasLnsNumThreads()) {
8260 if (other.hasLnsIsDeterministic()) {
8263 if (other.hasLnsFocusOnDecisionVariables()) {
8266 if (other.hasUseRinsLns()) {
8269 if (other.hasRandomizeSearch()) {
8272 if (other.hasSearchRandomizationTolerance()) {
8275 if (other.hasUseOptionalVariables()) {
8278 if (other.hasUseExactLpReason()) {
8281 if (other.hasUseCombinedNoOverlap()) {
8284 if (other.hasMipMaxBound()) {
8287 if (other.hasMipVarScaling()) {
8290 if (other.hasMipWantedPrecision()) {
8293 if (other.hasMipMaxActivityExponent()) {
8296 if (other.hasMipCheckPrecision()) {
8311 com.
google.protobuf.CodedInputStream input,
8312 com.
google.protobuf.ExtensionRegistryLite extensionRegistry)
8313 throws java.io.IOException {
8316 parsedMessage =
PARSER.parsePartialFrom(input, extensionRegistry);
8317 }
catch (
com.
google.protobuf.InvalidProtocolBufferException e) {
8319 throw e.unwrapIOException();
8321 if (parsedMessage !=
null) {
8327 private int bitField0_;
8328 private int bitField1_;
8329 private int bitField2_;
8330 private int bitField3_;
8332 private int preferredVariableOrder_ = 0;
8337 return ((bitField0_ & 0x00000001) != 0);
8343 @SuppressWarnings(
"deprecation")
8351 if (value ==
null) {
8352 throw new NullPointerException();
8354 bitField0_ |= 0x00000001;
8355 preferredVariableOrder_ = value.getNumber();
8363 bitField0_ = (bitField0_ & ~0x00000001);
8364 preferredVariableOrder_ = 0;
8369 private int initialPolarity_ = 1;
8374 return ((bitField0_ & 0x00000002) != 0);
8380 @SuppressWarnings(
"deprecation")
8388 if (value ==
null) {
8389 throw new NullPointerException();
8391 bitField0_ |= 0x00000002;
8392 initialPolarity_ = value.getNumber();
8400 bitField0_ = (bitField0_ & ~0x00000002);
8401 initialPolarity_ = 1;
8406 private boolean usePhaseSaving_ =
true;
8421 return ((bitField0_ & 0x00000004) != 0);
8437 return usePhaseSaving_;
8453 bitField0_ |= 0x00000004;
8454 usePhaseSaving_ = value;
8472 bitField0_ = (bitField0_ & ~0x00000004);
8473 usePhaseSaving_ =
true;
8478 private double randomPolarityRatio_ ;
8491 return ((bitField0_ & 0x00000008) != 0);
8505 return randomPolarityRatio_;
8519 bitField0_ |= 0x00000008;
8520 randomPolarityRatio_ = value;
8536 bitField0_ = (bitField0_ & ~0x00000008);
8537 randomPolarityRatio_ = 0D;
8542 private double randomBranchesRatio_ ;
8553 return ((bitField0_ & 0x00000010) != 0);
8565 return randomBranchesRatio_;
8577 bitField0_ |= 0x00000010;
8578 randomBranchesRatio_ = value;
8592 bitField0_ = (bitField0_ & ~0x00000010);
8593 randomBranchesRatio_ = 0D;
8598 private boolean useErwaHeuristic_ ;
8609 return ((bitField0_ & 0x00000020) != 0);
8621 return useErwaHeuristic_;
8633 bitField0_ |= 0x00000020;
8634 useErwaHeuristic_ = value;
8648 bitField0_ = (bitField0_ & ~0x00000020);
8649 useErwaHeuristic_ =
false;
8654 private double initialVariablesActivity_ ;
8668 return ((bitField0_ & 0x00000040) != 0);
8683 return initialVariablesActivity_;
8698 bitField0_ |= 0x00000040;
8699 initialVariablesActivity_ = value;
8716 bitField0_ = (bitField0_ & ~0x00000040);
8717 initialVariablesActivity_ = 0D;
8722 private boolean alsoBumpVariablesInConflictReasons_ ;
8734 return ((bitField0_ & 0x00000080) != 0);
8747 return alsoBumpVariablesInConflictReasons_;
8760 bitField0_ |= 0x00000080;
8761 alsoBumpVariablesInConflictReasons_ = value;
8776 bitField0_ = (bitField0_ & ~0x00000080);
8777 alsoBumpVariablesInConflictReasons_ =
false;
8782 private int minimizationAlgorithm_ = 2;
8787 return ((bitField0_ & 0x00000100) != 0);
8793 @SuppressWarnings(
"deprecation")
8801 if (value ==
null) {
8802 throw new NullPointerException();
8804 bitField0_ |= 0x00000100;
8805 minimizationAlgorithm_ = value.getNumber();
8813 bitField0_ = (bitField0_ & ~0x00000100);
8814 minimizationAlgorithm_ = 2;
8819 private int binaryMinimizationAlgorithm_ = 1;
8824 return ((bitField0_ & 0x00000200) != 0);
8830 @SuppressWarnings(
"deprecation")
8838 if (value ==
null) {
8839 throw new NullPointerException();
8841 bitField0_ |= 0x00000200;
8842 binaryMinimizationAlgorithm_ = value.getNumber();
8850 bitField0_ = (bitField0_ & ~0x00000200);
8851 binaryMinimizationAlgorithm_ = 1;
8856 private boolean subsumptionDuringConflictAnalysis_ =
true;
8868 return ((bitField0_ & 0x00000400) != 0);
8881 return subsumptionDuringConflictAnalysis_;
8894 bitField0_ |= 0x00000400;
8895 subsumptionDuringConflictAnalysis_ = value;
8910 bitField0_ = (bitField0_ & ~0x00000400);
8911 subsumptionDuringConflictAnalysis_ =
true;
8916 private int clauseCleanupPeriod_ = 10000;
8925 return ((bitField0_ & 0x00000800) != 0);
8935 return clauseCleanupPeriod_;
8945 bitField0_ |= 0x00000800;
8946 clauseCleanupPeriod_ = value;
8958 bitField0_ = (bitField0_ & ~0x00000800);
8959 clauseCleanupPeriod_ = 10000;
8964 private int clauseCleanupTarget_ = 10000;
8974 return ((bitField0_ & 0x00001000) != 0);
8985 return clauseCleanupTarget_;
8996 bitField0_ |= 0x00001000;
8997 clauseCleanupTarget_ = value;
9010 bitField0_ = (bitField0_ & ~0x00001000);
9011 clauseCleanupTarget_ = 10000;
9016 private int clauseCleanupProtection_ = 0;
9021 return ((bitField0_ & 0x00002000) != 0);
9027 @SuppressWarnings(
"deprecation")
9035 if (value ==
null) {
9036 throw new NullPointerException();
9038 bitField0_ |= 0x00002000;
9039 clauseCleanupProtection_ = value.getNumber();
9047 bitField0_ = (bitField0_ & ~0x00002000);
9048 clauseCleanupProtection_ = 0;
9053 private int clauseCleanupLbdBound_ = 5;
9063 return ((bitField0_ & 0x00004000) != 0);
9074 return clauseCleanupLbdBound_;
9085 bitField0_ |= 0x00004000;
9086 clauseCleanupLbdBound_ = value;
9099 bitField0_ = (bitField0_ & ~0x00004000);
9100 clauseCleanupLbdBound_ = 5;
9105 private int clauseCleanupOrdering_ = 0;
9110 return ((bitField0_ & 0x00008000) != 0);
9116 @SuppressWarnings(
"deprecation")
9124 if (value ==
null) {
9125 throw new NullPointerException();
9127 bitField0_ |= 0x00008000;
9128 clauseCleanupOrdering_ = value.getNumber();
9136 bitField0_ = (bitField0_ & ~0x00008000);
9137 clauseCleanupOrdering_ = 0;
9142 private int pbCleanupIncrement_ = 200;
9151 return ((bitField0_ & 0x00010000) != 0);
9161 return pbCleanupIncrement_;
9171 bitField0_ |= 0x00010000;
9172 pbCleanupIncrement_ = value;
9184 bitField0_ = (bitField0_ & ~0x00010000);
9185 pbCleanupIncrement_ = 200;
9190 private double pbCleanupRatio_ = 0.5D;
9195 return ((bitField0_ & 0x00020000) != 0);
9201 return pbCleanupRatio_;
9207 bitField0_ |= 0x00020000;
9208 pbCleanupRatio_ = value;
9216 bitField0_ = (bitField0_ & ~0x00020000);
9217 pbCleanupRatio_ = 0.5D;
9222 private int minimizeWithPropagationRestartPeriod_ = 10;
9241 return ((bitField0_ & 0x00040000) != 0);
9261 return minimizeWithPropagationRestartPeriod_;
9281 bitField0_ |= 0x00040000;
9282 minimizeWithPropagationRestartPeriod_ = value;
9304 bitField0_ = (bitField0_ & ~0x00040000);
9305 minimizeWithPropagationRestartPeriod_ = 10;
9310 private int minimizeWithPropagationNumDecisions_ = 1000;
9315 return ((bitField0_ & 0x00080000) != 0);
9321 return minimizeWithPropagationNumDecisions_;
9327 bitField0_ |= 0x00080000;
9328 minimizeWithPropagationNumDecisions_ = value;
9336 bitField0_ = (bitField0_ & ~0x00080000);
9337 minimizeWithPropagationNumDecisions_ = 1000;
9342 private double variableActivityDecay_ = 0.8D;
9357 return ((bitField0_ & 0x00100000) != 0);
9373 return variableActivityDecay_;
9389 bitField0_ |= 0x00100000;
9390 variableActivityDecay_ = value;
9408 bitField0_ = (bitField0_ & ~0x00100000);
9409 variableActivityDecay_ = 0.8D;
9414 private double maxVariableActivityValue_ = 1e+100D;
9419 return ((bitField0_ & 0x00200000) != 0);
9425 return maxVariableActivityValue_;
9431 bitField0_ |= 0x00200000;
9432 maxVariableActivityValue_ = value;
9440 bitField0_ = (bitField0_ & ~0x00200000);
9441 maxVariableActivityValue_ = 1e+100D;
9446 private double glucoseMaxDecay_ = 0.95D;
9458 return ((bitField0_ & 0x00400000) != 0);
9471 return glucoseMaxDecay_;
9484 bitField0_ |= 0x00400000;
9485 glucoseMaxDecay_ = value;
9500 bitField0_ = (bitField0_ & ~0x00400000);
9501 glucoseMaxDecay_ = 0.95D;
9506 private double glucoseDecayIncrement_ = 0.01D;
9511 return ((bitField0_ & 0x00800000) != 0);
9517 return glucoseDecayIncrement_;
9523 bitField0_ |= 0x00800000;
9524 glucoseDecayIncrement_ = value;
9532 bitField0_ = (bitField0_ & ~0x00800000);
9533 glucoseDecayIncrement_ = 0.01D;
9538 private int glucoseDecayIncrementPeriod_ = 5000;
9543 return ((bitField0_ & 0x01000000) != 0);
9549 return glucoseDecayIncrementPeriod_;
9555 bitField0_ |= 0x01000000;
9556 glucoseDecayIncrementPeriod_ = value;
9564 bitField0_ = (bitField0_ & ~0x01000000);
9565 glucoseDecayIncrementPeriod_ = 5000;
9570 private double clauseActivityDecay_ = 0.999D;
9579 return ((bitField0_ & 0x02000000) != 0);
9589 return clauseActivityDecay_;
9599 bitField0_ |= 0x02000000;
9600 clauseActivityDecay_ = value;
9612 bitField0_ = (bitField0_ & ~0x02000000);
9613 clauseActivityDecay_ = 0.999D;
9618 private double maxClauseActivityValue_ = 1e+20D;
9623 return ((bitField0_ & 0x04000000) != 0);
9629 return maxClauseActivityValue_;
9635 bitField0_ |= 0x04000000;
9636 maxClauseActivityValue_ = value;
9644 bitField0_ = (bitField0_ & ~0x04000000);
9645 maxClauseActivityValue_ = 1e+20D;
9650 private java.util.List<java.lang.Integer> restartAlgorithms_ =
9651 java.util.Collections.emptyList();
9652 private void ensureRestartAlgorithmsIsMutable() {
9653 if (!((bitField0_ & 0x08000000) != 0)) {
9654 restartAlgorithms_ =
new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
9655 bitField0_ |= 0x08000000;
9673 return new com.
google.protobuf.Internal.ListAdapter<
9691 return restartAlgorithms_.size();
9708 return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
9726 if (value ==
null) {
9727 throw new NullPointerException();
9729 ensureRestartAlgorithmsIsMutable();
9730 restartAlgorithms_.set(index, value.getNumber());
9749 if (value ==
null) {
9750 throw new NullPointerException();
9752 ensureRestartAlgorithmsIsMutable();
9753 restartAlgorithms_.add(value.getNumber());
9773 ensureRestartAlgorithmsIsMutable();
9775 restartAlgorithms_.add(value.getNumber());
9795 restartAlgorithms_ = java.util.Collections.emptyList();
9796 bitField0_ = (bitField0_ & ~0x08000000);
9801 private java.lang.Object defaultRestartAlgorithms_ =
"LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
9806 return ((bitField0_ & 0x10000000) != 0);
9812 java.lang.Object ref = defaultRestartAlgorithms_;
9813 if (!(ref instanceof java.lang.String)) {
9816 java.lang.String s = bs.toStringUtf8();
9817 if (bs.isValidUtf8()) {
9818 defaultRestartAlgorithms_ = s;
9822 return (java.lang.String) ref;
9830 java.lang.Object ref = defaultRestartAlgorithms_;
9831 if (ref instanceof String) {
9833 com.
google.protobuf.ByteString.copyFromUtf8(
9834 (java.lang.String) ref);
9835 defaultRestartAlgorithms_ = b;
9838 return (
com.
google.protobuf.ByteString) ref;
9845 java.lang.String value) {
9846 if (value ==
null) {
9847 throw new NullPointerException();
9849 bitField0_ |= 0x10000000;
9850 defaultRestartAlgorithms_ = value;
9858 bitField0_ = (bitField0_ & ~0x10000000);
9868 if (value ==
null) {
9869 throw new NullPointerException();
9871 bitField0_ |= 0x10000000;
9872 defaultRestartAlgorithms_ = value;
9877 private int restartPeriod_ = 50;
9887 return ((bitField0_ & 0x20000000) != 0);
9898 return restartPeriod_;
9909 bitField0_ |= 0x20000000;
9910 restartPeriod_ = value;
9923 bitField0_ = (bitField0_ & ~0x20000000);
9924 restartPeriod_ = 50;
9929 private int restartRunningWindowSize_ = 50;
9938 return ((bitField0_ & 0x40000000) != 0);
9948 return restartRunningWindowSize_;
9958 bitField0_ |= 0x40000000;
9959 restartRunningWindowSize_ = value;
9971 bitField0_ = (bitField0_ & ~0x40000000);
9972 restartRunningWindowSize_ = 50;
9977 private double restartDlAverageRatio_ = 1D;
9987 return ((bitField0_ & 0x80000000) != 0);
9998 return restartDlAverageRatio_;
10009 bitField0_ |= 0x80000000;
10010 restartDlAverageRatio_ = value;
10023 bitField0_ = (bitField0_ & ~0x80000000);
10024 restartDlAverageRatio_ = 1D;
10029 private double restartLbdAverageRatio_ = 1D;
10034 return ((bitField1_ & 0x00000001) != 0);
10040 return restartLbdAverageRatio_;
10046 bitField1_ |= 0x00000001;
10047 restartLbdAverageRatio_ = value;
10055 bitField1_ = (bitField1_ & ~0x00000001);
10056 restartLbdAverageRatio_ = 1D;
10061 private boolean useBlockingRestart_ ;
10072 return ((bitField1_ & 0x00000002) != 0);
10084 return useBlockingRestart_;
10096 bitField1_ |= 0x00000002;
10097 useBlockingRestart_ = value;
10111 bitField1_ = (bitField1_ & ~0x00000002);
10112 useBlockingRestart_ =
false;
10117 private int blockingRestartWindowSize_ = 5000;
10122 return ((bitField1_ & 0x00000004) != 0);
10128 return blockingRestartWindowSize_;
10134 bitField1_ |= 0x00000004;
10135 blockingRestartWindowSize_ = value;
10143 bitField1_ = (bitField1_ & ~0x00000004);
10144 blockingRestartWindowSize_ = 5000;
10149 private double blockingRestartMultiplier_ = 1.4D;
10154 return ((bitField1_ & 0x00000008) != 0);
10160 return blockingRestartMultiplier_;
10166 bitField1_ |= 0x00000008;
10167 blockingRestartMultiplier_ = value;
10175 bitField1_ = (bitField1_ & ~0x00000008);
10176 blockingRestartMultiplier_ = 1.4D;
10181 private int numConflictsBeforeStrategyChanges_ ;
10192 return ((bitField1_ & 0x00000010) != 0);
10204 return numConflictsBeforeStrategyChanges_;
10216 bitField1_ |= 0x00000010;
10217 numConflictsBeforeStrategyChanges_ = value;
10231 bitField1_ = (bitField1_ & ~0x00000010);
10232 numConflictsBeforeStrategyChanges_ = 0;
10237 private double strategyChangeIncreaseRatio_ ;
10247 return ((bitField1_ & 0x00000020) != 0);
10258 return strategyChangeIncreaseRatio_;
10269 bitField1_ |= 0x00000020;
10270 strategyChangeIncreaseRatio_ = value;
10283 bitField1_ = (bitField1_ & ~0x00000020);
10284 strategyChangeIncreaseRatio_ = 0D;
10289 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
10300 return ((bitField1_ & 0x00000040) != 0);
10312 return maxTimeInSeconds_;
10324 bitField1_ |= 0x00000040;
10325 maxTimeInSeconds_ = value;
10339 bitField1_ = (bitField1_ & ~0x00000040);
10340 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
10345 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
10358 return ((bitField1_ & 0x00000080) != 0);
10372 return maxDeterministicTime_;
10386 bitField1_ |= 0x00000080;
10387 maxDeterministicTime_ = value;
10403 bitField1_ = (bitField1_ & ~0x00000080);
10404 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
10409 private long maxNumberOfConflicts_ = 9223372036854775807L;
10418 return ((bitField1_ & 0x00000100) != 0);
10428 return maxNumberOfConflicts_;
10438 bitField1_ |= 0x00000100;
10439 maxNumberOfConflicts_ = value;
10451 bitField1_ = (bitField1_ & ~0x00000100);
10452 maxNumberOfConflicts_ = 9223372036854775807L;
10457 private long maxMemoryInMb_ = 10000L;
10469 return ((bitField1_ & 0x00000200) != 0);
10482 return maxMemoryInMb_;
10495 bitField1_ |= 0x00000200;
10496 maxMemoryInMb_ = value;
10511 bitField1_ = (bitField1_ & ~0x00000200);
10512 maxMemoryInMb_ = 10000L;
10517 private boolean treatBinaryClausesSeparately_ =
true;
10528 return ((bitField1_ & 0x00000400) != 0);
10540 return treatBinaryClausesSeparately_;
10552 bitField1_ |= 0x00000400;
10553 treatBinaryClausesSeparately_ = value;
10567 bitField1_ = (bitField1_ & ~0x00000400);
10568 treatBinaryClausesSeparately_ =
true;
10573 private int randomSeed_ = 1;
10587 return ((bitField1_ & 0x00000800) != 0);
10602 return randomSeed_;
10617 bitField1_ |= 0x00000800;
10618 randomSeed_ = value;
10635 bitField1_ = (bitField1_ & ~0x00000800);
10641 private boolean logSearchProgress_ ;
10650 return ((bitField1_ & 0x00001000) != 0);
10660 return logSearchProgress_;
10670 bitField1_ |= 0x00001000;
10671 logSearchProgress_ = value;
10683 bitField1_ = (bitField1_ & ~0x00001000);
10684 logSearchProgress_ =
false;
10689 private boolean usePbResolution_ ;
10701 return ((bitField1_ & 0x00002000) != 0);
10714 return usePbResolution_;
10727 bitField1_ |= 0x00002000;
10728 usePbResolution_ = value;
10743 bitField1_ = (bitField1_ & ~0x00002000);
10744 usePbResolution_ =
false;
10749 private boolean minimizeReductionDuringPbResolution_ ;
10761 return ((bitField1_ & 0x00004000) != 0);
10774 return minimizeReductionDuringPbResolution_;
10787 bitField1_ |= 0x00004000;
10788 minimizeReductionDuringPbResolution_ = value;
10803 bitField1_ = (bitField1_ & ~0x00004000);
10804 minimizeReductionDuringPbResolution_ =
false;
10809 private boolean countAssumptionLevelsInLbd_ =
true;
10825 return ((bitField1_ & 0x00008000) != 0);
10842 return countAssumptionLevelsInLbd_;
10859 bitField1_ |= 0x00008000;
10860 countAssumptionLevelsInLbd_ = value;
10879 bitField1_ = (bitField1_ & ~0x00008000);
10880 countAssumptionLevelsInLbd_ =
true;
10885 private int presolveBveThreshold_ = 500;
10896 return ((bitField1_ & 0x00010000) != 0);
10908 return presolveBveThreshold_;
10920 bitField1_ |= 0x00010000;
10921 presolveBveThreshold_ = value;
10935 bitField1_ = (bitField1_ & ~0x00010000);
10936 presolveBveThreshold_ = 500;
10941 private int presolveBveClauseWeight_ = 3;
10951 return ((bitField1_ & 0x00020000) != 0);
10962 return presolveBveClauseWeight_;
10973 bitField1_ |= 0x00020000;
10974 presolveBveClauseWeight_ = value;
10987 bitField1_ = (bitField1_ & ~0x00020000);
10988 presolveBveClauseWeight_ = 3;
10993 private double presolveProbingDeterministicTimeLimit_ = 30D;
11003 return ((bitField1_ & 0x00040000) != 0);
11014 return presolveProbingDeterministicTimeLimit_;
11025 bitField1_ |= 0x00040000;
11026 presolveProbingDeterministicTimeLimit_ = value;
11039 bitField1_ = (bitField1_ & ~0x00040000);
11040 presolveProbingDeterministicTimeLimit_ = 30D;
11045 private boolean presolveBlockedClause_ =
true;
11055 return ((bitField1_ & 0x00080000) != 0);
11066 return presolveBlockedClause_;
11077 bitField1_ |= 0x00080000;
11078 presolveBlockedClause_ = value;
11091 bitField1_ = (bitField1_ & ~0x00080000);
11092 presolveBlockedClause_ =
true;
11097 private boolean presolveUseBva_ =
true;
11106 return ((bitField1_ & 0x00100000) != 0);
11116 return presolveUseBva_;
11126 bitField1_ |= 0x00100000;
11127 presolveUseBva_ = value;
11139 bitField1_ = (bitField1_ & ~0x00100000);
11140 presolveUseBva_ =
true;
11145 private int presolveBvaThreshold_ = 1;
11157 return ((bitField1_ & 0x00200000) != 0);
11170 return presolveBvaThreshold_;
11183 bitField1_ |= 0x00200000;
11184 presolveBvaThreshold_ = value;
11199 bitField1_ = (bitField1_ & ~0x00200000);
11200 presolveBvaThreshold_ = 1;
11205 private boolean useOptimizationHints_ =
true;
11217 return ((bitField1_ & 0x00400000) != 0);
11230 return useOptimizationHints_;
11243 bitField1_ |= 0x00400000;
11244 useOptimizationHints_ = value;
11259 bitField1_ = (bitField1_ & ~0x00400000);
11260 useOptimizationHints_ =
true;
11265 private boolean minimizeCore_ =
true;
11274 return ((bitField1_ & 0x00800000) != 0);
11284 return minimizeCore_;
11294 bitField1_ |= 0x00800000;
11295 minimizeCore_ = value;
11307 bitField1_ = (bitField1_ & ~0x00800000);
11308 minimizeCore_ =
true;
11313 private boolean findMultipleCores_ =
true;
11323 return ((bitField1_ & 0x01000000) != 0);
11334 return findMultipleCores_;
11345 bitField1_ |= 0x01000000;
11346 findMultipleCores_ = value;
11359 bitField1_ = (bitField1_ & ~0x01000000);
11360 findMultipleCores_ =
true;
11365 private boolean coverOptimization_ =
true;
11375 return ((bitField1_ & 0x02000000) != 0);
11386 return coverOptimization_;
11397 bitField1_ |= 0x02000000;
11398 coverOptimization_ = value;
11411 bitField1_ = (bitField1_ & ~0x02000000);
11412 coverOptimization_ =
true;
11417 private int maxSatAssumptionOrder_ = 0;
11422 return ((bitField1_ & 0x04000000) != 0);
11428 @SuppressWarnings(
"deprecation")
11436 if (value ==
null) {
11437 throw new NullPointerException();
11439 bitField1_ |= 0x04000000;
11440 maxSatAssumptionOrder_ = value.getNumber();
11448 bitField1_ = (bitField1_ & ~0x04000000);
11449 maxSatAssumptionOrder_ = 0;
11454 private boolean maxSatReverseAssumptionOrder_ ;
11464 return ((bitField1_ & 0x08000000) != 0);
11475 return maxSatReverseAssumptionOrder_;
11486 bitField1_ |= 0x08000000;
11487 maxSatReverseAssumptionOrder_ = value;
11500 bitField1_ = (bitField1_ & ~0x08000000);
11501 maxSatReverseAssumptionOrder_ =
false;
11506 private int maxSatStratification_ = 1;
11511 return ((bitField1_ & 0x10000000) != 0);
11517 @SuppressWarnings(
"deprecation")
11525 if (value ==
null) {
11526 throw new NullPointerException();
11528 bitField1_ |= 0x10000000;
11529 maxSatStratification_ = value.getNumber();
11537 bitField1_ = (bitField1_ & ~0x10000000);
11538 maxSatStratification_ = 1;
11543 private boolean usePrecedencesInDisjunctiveConstraint_ =
true;
11559 return ((bitField1_ & 0x20000000) != 0);
11576 return usePrecedencesInDisjunctiveConstraint_;
11593 bitField1_ |= 0x20000000;
11594 usePrecedencesInDisjunctiveConstraint_ = value;
11613 bitField1_ = (bitField1_ & ~0x20000000);
11614 usePrecedencesInDisjunctiveConstraint_ =
true;
11619 private boolean useOverloadCheckerInCumulativeConstraint_ ;
11633 return ((bitField1_ & 0x40000000) != 0);
11648 return useOverloadCheckerInCumulativeConstraint_;
11663 bitField1_ |= 0x40000000;
11664 useOverloadCheckerInCumulativeConstraint_ = value;
11681 bitField1_ = (bitField1_ & ~0x40000000);
11682 useOverloadCheckerInCumulativeConstraint_ =
false;
11687 private boolean useTimetableEdgeFindingInCumulativeConstraint_ ;
11701 return ((bitField1_ & 0x80000000) != 0);
11716 return useTimetableEdgeFindingInCumulativeConstraint_;
11731 bitField1_ |= 0x80000000;
11732 useTimetableEdgeFindingInCumulativeConstraint_ = value;
11749 bitField1_ = (bitField1_ & ~0x80000000);
11750 useTimetableEdgeFindingInCumulativeConstraint_ =
false;
11755 private boolean useDisjunctiveConstraintInCumulativeConstraint_ =
true;
11771 return ((bitField2_ & 0x00000001) != 0);
11788 return useDisjunctiveConstraintInCumulativeConstraint_;
11805 bitField2_ |= 0x00000001;
11806 useDisjunctiveConstraintInCumulativeConstraint_ = value;
11825 bitField2_ = (bitField2_ & ~0x00000001);
11826 useDisjunctiveConstraintInCumulativeConstraint_ =
true;
11831 private int linearizationLevel_ = 1;
11843 return ((bitField2_ & 0x00000002) != 0);
11856 return linearizationLevel_;
11869 bitField2_ |= 0x00000002;
11870 linearizationLevel_ = value;
11885 bitField2_ = (bitField2_ & ~0x00000002);
11886 linearizationLevel_ = 1;
11891 private int booleanEncodingLevel_ = 1;
11901 return ((bitField2_ & 0x00000004) != 0);
11912 return booleanEncodingLevel_;
11923 bitField2_ |= 0x00000004;
11924 booleanEncodingLevel_ = value;
11937 bitField2_ = (bitField2_ & ~0x00000004);
11938 booleanEncodingLevel_ = 1;
11943 private int maxNumCuts_ = 1000;
11953 return ((bitField2_ & 0x00000008) != 0);
11964 return maxNumCuts_;
11975 bitField2_ |= 0x00000008;
11976 maxNumCuts_ = value;
11989 bitField2_ = (bitField2_ & ~0x00000008);
11990 maxNumCuts_ = 1000;
11995 private boolean onlyAddCutsAtLevelZero_ ;
12005 return ((bitField2_ & 0x00000010) != 0);
12016 return onlyAddCutsAtLevelZero_;
12027 bitField2_ |= 0x00000010;
12028 onlyAddCutsAtLevelZero_ = value;
12041 bitField2_ = (bitField2_ & ~0x00000010);
12042 onlyAddCutsAtLevelZero_ =
false;
12047 private boolean addKnapsackCuts_ ;
12058 return ((bitField2_ & 0x00000020) != 0);
12070 return addKnapsackCuts_;
12082 bitField2_ |= 0x00000020;
12083 addKnapsackCuts_ = value;
12097 bitField2_ = (bitField2_ & ~0x00000020);
12098 addKnapsackCuts_ =
false;
12103 private boolean addCgCuts_ ;
12113 return ((bitField2_ & 0x00000040) != 0);
12135 bitField2_ |= 0x00000040;
12136 addCgCuts_ = value;
12149 bitField2_ = (bitField2_ & ~0x00000040);
12150 addCgCuts_ =
false;
12155 private boolean addMirCuts_ =
true;
12165 return ((bitField2_ & 0x00000080) != 0);
12176 return addMirCuts_;
12187 bitField2_ |= 0x00000080;
12188 addMirCuts_ = value;
12201 bitField2_ = (bitField2_ & ~0x00000080);
12202 addMirCuts_ =
true;
12207 private boolean useMirRounding_ =
true;
12218 return ((bitField2_ & 0x00000100) != 0);
12230 return useMirRounding_;
12242 bitField2_ |= 0x00000100;
12243 useMirRounding_ = value;
12257 bitField2_ = (bitField2_ & ~0x00000100);
12258 useMirRounding_ =
true;
12263 private int maxIntegerRoundingScaling_ = 600;
12276 return ((bitField2_ & 0x00000200) != 0);
12290 return maxIntegerRoundingScaling_;
12304 bitField2_ |= 0x00000200;
12305 maxIntegerRoundingScaling_ = value;
12321 bitField2_ = (bitField2_ & ~0x00000200);
12322 maxIntegerRoundingScaling_ = 600;
12327 private boolean addLpConstraintsLazily_ =
true;
12339 return ((bitField2_ & 0x00000400) != 0);
12352 return addLpConstraintsLazily_;
12365 bitField2_ |= 0x00000400;
12366 addLpConstraintsLazily_ = value;
12381 bitField2_ = (bitField2_ & ~0x00000400);
12382 addLpConstraintsLazily_ =
true;
12387 private double minOrthogonalityForLpConstraints_ ;
12400 return ((bitField2_ & 0x00000800) != 0);
12414 return minOrthogonalityForLpConstraints_;
12428 bitField2_ |= 0x00000800;
12429 minOrthogonalityForLpConstraints_ = value;
12445 bitField2_ = (bitField2_ & ~0x00000800);
12446 minOrthogonalityForLpConstraints_ = 0D;
12451 private long maxInactiveCount_ = 1000L;
12461 return ((bitField2_ & 0x00001000) != 0);
12472 return maxInactiveCount_;
12483 bitField2_ |= 0x00001000;
12484 maxInactiveCount_ = value;
12497 bitField2_ = (bitField2_ & ~0x00001000);
12498 maxInactiveCount_ = 1000L;
12503 private long constraintRemovalBatchSize_ = 100L;
12513 return ((bitField2_ & 0x00002000) != 0);
12524 return constraintRemovalBatchSize_;
12535 bitField2_ |= 0x00002000;
12536 constraintRemovalBatchSize_ = value;
12549 bitField2_ = (bitField2_ & ~0x00002000);
12550 constraintRemovalBatchSize_ = 100L;
12555 private int searchBranching_ = 0;
12560 return ((bitField2_ & 0x00004000) != 0);
12566 @SuppressWarnings(
"deprecation")
12574 if (value ==
null) {
12575 throw new NullPointerException();
12577 bitField2_ |= 0x00004000;
12578 searchBranching_ = value.getNumber();
12586 bitField2_ = (bitField2_ & ~0x00004000);
12587 searchBranching_ = 0;
12592 private boolean exploitIntegerLpSolution_ =
true;
12604 return ((bitField2_ & 0x00008000) != 0);
12617 return exploitIntegerLpSolution_;
12630 bitField2_ |= 0x00008000;
12631 exploitIntegerLpSolution_ = value;
12646 bitField2_ = (bitField2_ & ~0x00008000);
12647 exploitIntegerLpSolution_ =
true;
12652 private boolean exploitAllLpSolution_ =
true;
12663 return ((bitField2_ & 0x00010000) != 0);
12675 return exploitAllLpSolution_;
12687 bitField2_ |= 0x00010000;
12688 exploitAllLpSolution_ = value;
12702 bitField2_ = (bitField2_ & ~0x00010000);
12703 exploitAllLpSolution_ =
true;
12708 private boolean exploitBestSolution_ ;
12717 return ((bitField2_ & 0x00020000) != 0);
12727 return exploitBestSolution_;
12737 bitField2_ |= 0x00020000;
12738 exploitBestSolution_ = value;
12750 bitField2_ = (bitField2_ & ~0x00020000);
12751 exploitBestSolution_ =
false;
12756 private boolean exploitObjective_ =
true;
12766 return ((bitField2_ & 0x00040000) != 0);
12777 return exploitObjective_;
12788 bitField2_ |= 0x00040000;
12789 exploitObjective_ = value;
12802 bitField2_ = (bitField2_ & ~0x00040000);
12803 exploitObjective_ =
true;
12808 private long pseudoCostReliabilityThreshold_ = 100L;
12818 return ((bitField2_ & 0x00080000) != 0);
12829 return pseudoCostReliabilityThreshold_;
12840 bitField2_ |= 0x00080000;
12841 pseudoCostReliabilityThreshold_ = value;
12854 bitField2_ = (bitField2_ & ~0x00080000);
12855 pseudoCostReliabilityThreshold_ = 100L;
12860 private boolean optimizeWithCore_ ;
12872 return ((bitField2_ & 0x00100000) != 0);
12885 return optimizeWithCore_;
12898 bitField2_ |= 0x00100000;
12899 optimizeWithCore_ = value;
12914 bitField2_ = (bitField2_ & ~0x00100000);
12915 optimizeWithCore_ =
false;
12920 private int binarySearchNumConflicts_ = -1;
12932 return ((bitField2_ & 0x00200000) != 0);
12945 return binarySearchNumConflicts_;
12958 bitField2_ |= 0x00200000;
12959 binarySearchNumConflicts_ = value;
12974 bitField2_ = (bitField2_ & ~0x00200000);
12975 binarySearchNumConflicts_ = -1;
12980 private boolean optimizeWithMaxHs_ ;
12994 return ((bitField2_ & 0x00400000) != 0);
13009 return optimizeWithMaxHs_;
13024 bitField2_ |= 0x00400000;
13025 optimizeWithMaxHs_ = value;
13042 bitField2_ = (bitField2_ & ~0x00400000);
13043 optimizeWithMaxHs_ =
false;
13048 private boolean cpModelPresolve_ =
true;
13057 return ((bitField2_ & 0x00800000) != 0);
13067 return cpModelPresolve_;
13077 bitField2_ |= 0x00800000;
13078 cpModelPresolve_ = value;
13090 bitField2_ = (bitField2_ & ~0x00800000);
13091 cpModelPresolve_ =
true;
13096 private int cpModelProbingLevel_ = 2;
13105 return ((bitField2_ & 0x01000000) != 0);
13115 return cpModelProbingLevel_;
13125 bitField2_ |= 0x01000000;
13126 cpModelProbingLevel_ = value;
13138 bitField2_ = (bitField2_ & ~0x01000000);
13139 cpModelProbingLevel_ = 2;
13144 private boolean cpModelUseSatPresolve_ =
true;
13153 return ((bitField2_ & 0x02000000) != 0);
13163 return cpModelUseSatPresolve_;
13173 bitField2_ |= 0x02000000;
13174 cpModelUseSatPresolve_ = value;
13186 bitField2_ = (bitField2_ & ~0x02000000);
13187 cpModelUseSatPresolve_ =
true;
13192 private boolean enumerateAllSolutions_ ;
13206 return ((bitField2_ & 0x04000000) != 0);
13221 return enumerateAllSolutions_;
13236 bitField2_ |= 0x04000000;
13237 enumerateAllSolutions_ = value;
13254 bitField2_ = (bitField2_ & ~0x04000000);
13255 enumerateAllSolutions_ =
false;
13260 private boolean fillTightenedDomainsInResponse_ ;
13273 return ((bitField2_ & 0x08000000) != 0);
13287 return fillTightenedDomainsInResponse_;
13301 bitField2_ |= 0x08000000;
13302 fillTightenedDomainsInResponse_ = value;
13318 bitField2_ = (bitField2_ & ~0x08000000);
13319 fillTightenedDomainsInResponse_ =
false;
13324 private boolean instantiateAllVariables_ =
true;
13334 return ((bitField2_ & 0x10000000) != 0);
13345 return instantiateAllVariables_;
13356 bitField2_ |= 0x10000000;
13357 instantiateAllVariables_ = value;
13370 bitField2_ = (bitField2_ & ~0x10000000);
13371 instantiateAllVariables_ =
true;
13376 private boolean autoDetectGreaterThanAtLeastOneOf_ =
true;
13388 return ((bitField2_ & 0x20000000) != 0);
13401 return autoDetectGreaterThanAtLeastOneOf_;
13414 bitField2_ |= 0x20000000;
13415 autoDetectGreaterThanAtLeastOneOf_ = value;
13430 bitField2_ = (bitField2_ & ~0x20000000);
13431 autoDetectGreaterThanAtLeastOneOf_ =
true;
13436 private boolean stopAfterFirstSolution_ ;
13445 return ((bitField2_ & 0x40000000) != 0);
13455 return stopAfterFirstSolution_;
13465 bitField2_ |= 0x40000000;
13466 stopAfterFirstSolution_ = value;
13478 bitField2_ = (bitField2_ & ~0x40000000);
13479 stopAfterFirstSolution_ =
false;
13484 private int numSearchWorkers_ ;
13496 return ((bitField2_ & 0x80000000) != 0);
13509 return numSearchWorkers_;
13522 bitField2_ |= 0x80000000;
13523 numSearchWorkers_ = value;
13538 bitField2_ = (bitField2_ & ~0x80000000);
13539 numSearchWorkers_ = 0;
13544 private boolean shareObjectiveBounds_ =
true;
13553 return ((bitField3_ & 0x00000001) != 0);
13563 return shareObjectiveBounds_;
13573 bitField3_ |= 0x00000001;
13574 shareObjectiveBounds_ = value;
13586 bitField3_ = (bitField3_ & ~0x00000001);
13587 shareObjectiveBounds_ =
true;
13592 private boolean shareLevelZeroBounds_ =
true;
13601 return ((bitField3_ & 0x00000002) != 0);
13611 return shareLevelZeroBounds_;
13621 bitField3_ |= 0x00000002;
13622 shareLevelZeroBounds_ = value;
13634 bitField3_ = (bitField3_ & ~0x00000002);
13635 shareLevelZeroBounds_ =
true;
13640 private boolean useLns_ ;
13649 return ((bitField3_ & 0x00000004) != 0);
13669 bitField3_ |= 0x00000004;
13682 bitField3_ = (bitField3_ & ~0x00000004);
13688 private int lnsNumThreads_ = 1;
13693 return ((bitField3_ & 0x00000008) != 0);
13699 return lnsNumThreads_;
13705 bitField3_ |= 0x00000008;
13706 lnsNumThreads_ = value;
13714 bitField3_ = (bitField3_ & ~0x00000008);
13715 lnsNumThreads_ = 1;
13720 private boolean lnsIsDeterministic_ =
true;
13725 return ((bitField3_ & 0x00000010) != 0);
13731 return lnsIsDeterministic_;
13737 bitField3_ |= 0x00000010;
13738 lnsIsDeterministic_ = value;
13746 bitField3_ = (bitField3_ & ~0x00000010);
13747 lnsIsDeterministic_ =
true;
13752 private boolean lnsFocusOnDecisionVariables_ ;
13757 return ((bitField3_ & 0x00000020) != 0);
13763 return lnsFocusOnDecisionVariables_;
13769 bitField3_ |= 0x00000020;
13770 lnsFocusOnDecisionVariables_ = value;
13778 bitField3_ = (bitField3_ & ~0x00000020);
13779 lnsFocusOnDecisionVariables_ =
false;
13784 private boolean useRinsLns_ ;
13793 return ((bitField3_ & 0x00000040) != 0);
13803 return useRinsLns_;
13813 bitField3_ |= 0x00000040;
13814 useRinsLns_ = value;
13826 bitField3_ = (bitField3_ & ~0x00000040);
13827 useRinsLns_ =
false;
13832 private boolean randomizeSearch_ ;
13841 return ((bitField3_ & 0x00000080) != 0);
13851 return randomizeSearch_;
13861 bitField3_ |= 0x00000080;
13862 randomizeSearch_ = value;
13874 bitField3_ = (bitField3_ & ~0x00000080);
13875 randomizeSearch_ =
false;
13880 private long searchRandomizationTolerance_ ;
13895 return ((bitField3_ & 0x00000100) != 0);
13911 return searchRandomizationTolerance_;
13927 bitField3_ |= 0x00000100;
13928 searchRandomizationTolerance_ = value;
13946 bitField3_ = (bitField3_ & ~0x00000100);
13947 searchRandomizationTolerance_ = 0L;
13952 private boolean useOptionalVariables_ =
true;
13963 return ((bitField3_ & 0x00000200) != 0);
13975 return useOptionalVariables_;
13987 bitField3_ |= 0x00000200;
13988 useOptionalVariables_ = value;
14002 bitField3_ = (bitField3_ & ~0x00000200);
14003 useOptionalVariables_ =
true;
14008 private boolean useExactLpReason_ =
true;
14020 return ((bitField3_ & 0x00000400) != 0);
14033 return useExactLpReason_;
14046 bitField3_ |= 0x00000400;
14047 useExactLpReason_ = value;
14062 bitField3_ = (bitField3_ & ~0x00000400);
14063 useExactLpReason_ =
true;
14068 private boolean useCombinedNoOverlap_ ;
14079 return ((bitField3_ & 0x00000800) != 0);
14091 return useCombinedNoOverlap_;
14103 bitField3_ |= 0x00000800;
14104 useCombinedNoOverlap_ = value;
14118 bitField3_ = (bitField3_ & ~0x00000800);
14119 useCombinedNoOverlap_ =
false;
14124 private double mipMaxBound_ = 10000000D;
14135 return ((bitField3_ & 0x00001000) != 0);
14147 return mipMaxBound_;
14159 bitField3_ |= 0x00001000;
14160 mipMaxBound_ = value;
14174 bitField3_ = (bitField3_ & ~0x00001000);
14175 mipMaxBound_ = 10000000D;
14180 private double mipVarScaling_ = 1D;
14191 return ((bitField3_ & 0x00002000) != 0);
14203 return mipVarScaling_;
14215 bitField3_ |= 0x00002000;
14216 mipVarScaling_ = value;
14230 bitField3_ = (bitField3_ & ~0x00002000);
14231 mipVarScaling_ = 1D;
14236 private double mipWantedPrecision_ = 1e-06D;
14253 return ((bitField3_ & 0x00004000) != 0);
14271 return mipWantedPrecision_;
14289 bitField3_ |= 0x00004000;
14290 mipWantedPrecision_ = value;
14310 bitField3_ = (bitField3_ & ~0x00004000);
14311 mipWantedPrecision_ = 1e-06D;
14316 private int mipMaxActivityExponent_ = 53;
14331 return ((bitField3_ & 0x00008000) != 0);
14347 return mipMaxActivityExponent_;
14363 bitField3_ |= 0x00008000;
14364 mipMaxActivityExponent_ = value;
14382 bitField3_ = (bitField3_ & ~0x00008000);
14383 mipMaxActivityExponent_ = 53;
14388 private double mipCheckPrecision_ = 0.0001D;
14400 return ((bitField3_ & 0x00010000) != 0);
14413 return mipCheckPrecision_;
14426 bitField3_ |= 0x00010000;
14427 mipCheckPrecision_ = value;
14442 bitField3_ = (bitField3_ & ~0x00010000);
14443 mipCheckPrecision_ = 0.0001D;
14447 @java.lang.Override
14449 final com.
google.protobuf.UnknownFieldSet unknownFields) {
14453 @java.lang.Override
14455 final com.
google.protobuf.UnknownFieldSet unknownFields) {
14470 return DEFAULT_INSTANCE;
14475 @java.lang.Override
14477 com.
google.protobuf.CodedInputStream input,
14478 com.
google.protobuf.ExtensionRegistryLite extensionRegistry)
14479 throws com.
google.protobuf.InvalidProtocolBufferException {
14488 @java.lang.Override
14493 @java.lang.Override
14495 return DEFAULT_INSTANCE;