Google OR-Tools v9.9
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
SatParameters.java
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// source: ortools/sat/sat_parameters.proto
3
4// Protobuf Java Version: 3.25.3
5package com.google.ortools.sat;
6
17public final class SatParameters extends
18 com.google.protobuf.GeneratedMessageV3 implements
19 // @@protoc_insertion_point(message_implements:operations_research.sat.SatParameters)
21private static final long serialVersionUID = 0L;
22 // Use SatParameters.newBuilder() to construct.
23 private SatParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
24 super(builder);
25 }
26 private SatParameters() {
27 name_ = "";
28 preferredVariableOrder_ = 0;
29 initialPolarity_ = 1;
30 usePhaseSaving_ = true;
31 polarityRephaseIncrement_ = 1000;
32 minimizationAlgorithm_ = 2;
33 binaryMinimizationAlgorithm_ = 1;
34 subsumptionDuringConflictAnalysis_ = true;
35 clauseCleanupPeriod_ = 10000;
36 clauseCleanupRatio_ = 0.5D;
37 clauseCleanupProtection_ = 0;
38 clauseCleanupLbdBound_ = 5;
39 clauseCleanupOrdering_ = 0;
40 pbCleanupIncrement_ = 200;
41 pbCleanupRatio_ = 0.5D;
42 variableActivityDecay_ = 0.8D;
43 maxVariableActivityValue_ = 1e+100D;
44 glucoseMaxDecay_ = 0.95D;
45 glucoseDecayIncrement_ = 0.01D;
46 glucoseDecayIncrementPeriod_ = 5000;
47 clauseActivityDecay_ = 0.999D;
48 maxClauseActivityValue_ = 1e+20D;
49 restartAlgorithms_ = java.util.Collections.emptyList();
50 defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
51 restartPeriod_ = 50;
52 restartRunningWindowSize_ = 50;
53 restartDlAverageRatio_ = 1D;
54 restartLbdAverageRatio_ = 1D;
55 blockingRestartWindowSize_ = 5000;
56 blockingRestartMultiplier_ = 1.4D;
57 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
58 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
59 maxNumberOfConflicts_ = 9223372036854775807L;
60 maxMemoryInMb_ = 10000L;
61 absoluteGapLimit_ = 0.0001D;
62 randomSeed_ = 1;
63 logPrefix_ = "";
64 logToStdout_ = true;
65 countAssumptionLevelsInLbd_ = true;
66 presolveBveThreshold_ = 500;
67 presolveBveClauseWeight_ = 3;
68 probingDeterministicTimeLimit_ = 1D;
69 presolveProbingDeterministicTimeLimit_ = 30D;
70 presolveBlockedClause_ = true;
71 presolveUseBva_ = true;
72 presolveBvaThreshold_ = 1;
73 maxPresolveIterations_ = 3;
74 cpModelPresolve_ = true;
75 cpModelProbingLevel_ = 2;
76 cpModelUseSatPresolve_ = true;
77 tableCompressionLevel_ = 2;
78 expandReservoirConstraints_ = true;
79 mergeNoOverlapWorkLimit_ = 1000000000000D;
80 mergeAtMostOneWorkLimit_ = 100000000D;
81 presolveSubstitutionLevel_ = 1;
82 presolveInclusionWorkLimit_ = 100000000L;
83 ignoreNames_ = true;
84 inferAllDiffs_ = true;
85 findBigLinearOverlap_ = true;
86 useSatInprocessing_ = true;
87 inprocessingDtimeRatio_ = 0.2D;
88 inprocessingProbingDtime_ = 1D;
89 inprocessingMinimizationDtime_ = 1D;
90 minNumLnsWorkers_ = 2;
91 subsolvers_ =
92 com.google.protobuf.LazyStringArrayList.emptyList();
93 extraSubsolvers_ =
94 com.google.protobuf.LazyStringArrayList.emptyList();
95 ignoreSubsolvers_ =
96 com.google.protobuf.LazyStringArrayList.emptyList();
97 subsolverParams_ = java.util.Collections.emptyList();
98 shareObjectiveBounds_ = true;
99 shareLevelZeroBounds_ = true;
100 shareBinaryClauses_ = true;
101 useOptimizationHints_ = true;
102 coreMinimizationLevel_ = 2;
103 findMultipleCores_ = true;
104 coverOptimization_ = true;
105 maxSatAssumptionOrder_ = 0;
106 maxSatStratification_ = 1;
107 propagationLoopDetectionFactor_ = 10D;
108 usePrecedencesInDisjunctiveConstraint_ = true;
109 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
110 maxNumIntervalsForTimetableEdgeFinding_ = 100;
111 useDisjunctiveConstraintInCumulative_ = true;
112 maxPairsPairwiseReasoningInNoOverlap2D_ = 1250;
113 useDualSchedulingHeuristics_ = true;
114 searchBranching_ = 0;
115 hintConflictLimit_ = 10;
116 useExtendedProbing_ = true;
117 probingNumCombinationsLimit_ = 20000;
118 useShavingInProbingSearch_ = true;
119 shavingSearchDeterministicTime_ = 0.001D;
120 pseudoCostReliabilityThreshold_ = 100L;
121 binarySearchNumConflicts_ = -1;
122 useFeasibilityJump_ = true;
123 feasibilityJumpDecay_ = 0.95D;
124 feasibilityJumpLinearizationLevel_ = 2;
125 feasibilityJumpRestartFactor_ = 1;
126 feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
127 feasibilityJumpEnableRestarts_ = true;
128 feasibilityJumpMaxExpandedConstraintSize_ = 100;
129 violationLsPerturbationPeriod_ = 100;
130 violationLsCompoundMoveProbability_ = 0.5D;
131 sharedTreeWorkerObjectiveSplitProbability_ = 0.5D;
132 sharedTreeMaxNodesPerWorker_ = 128;
133 sharedTreeSplitStrategy_ = 0;
134 instantiateAllVariables_ = true;
135 autoDetectGreaterThanAtLeastOneOf_ = true;
136 solutionPoolSize_ = 3;
137 useRinsLns_ = true;
138 useFeasibilityPump_ = true;
139 fpRounding_ = 2;
140 useExactLpReason_ = true;
141 atMostOneMaxExpansionSize_ = 3;
142 catchSigintSignal_ = true;
143 useImpliedBounds_ = true;
144 lpPrimalTolerance_ = 1e-07D;
145 lpDualTolerance_ = 1e-07D;
146 convertIntervals_ = true;
147 symmetryLevel_ = 2;
148 linearSplitSize_ = 100;
149 linearizationLevel_ = 1;
150 booleanEncodingLevel_ = 1;
151 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
152 maxNumCuts_ = 10000;
153 cutLevel_ = 1;
154 addCgCuts_ = true;
155 addMirCuts_ = true;
156 addZeroHalfCuts_ = true;
157 addCliqueCuts_ = true;
158 addRltCuts_ = true;
159 maxAllDiffCutSize_ = 64;
160 addLinMaxCuts_ = true;
161 maxIntegerRoundingScaling_ = 600;
162 addLpConstraintsLazily_ = true;
163 rootLpIterations_ = 2000;
164 minOrthogonalityForLpConstraints_ = 0.05D;
165 maxCutRoundsAtLevelZero_ = 1;
166 maxConsecutiveInactiveCount_ = 100;
167 cutMaxActiveCountValue_ = 10000000000D;
168 cutActiveCountDecay_ = 0.8D;
169 cutCleanupTarget_ = 1000;
170 newConstraintsBatchSize_ = 50;
171 exploitIntegerLpSolution_ = true;
172 exploitAllLpSolution_ = true;
173 exploitObjective_ = true;
174 mipMaxBound_ = 10000000D;
175 mipVarScaling_ = 1D;
176 mipAutomaticallyScaleVariables_ = true;
177 mipWantedPrecision_ = 1e-06D;
178 mipMaxActivityExponent_ = 53;
179 mipCheckPrecision_ = 0.0001D;
180 mipComputeTrueObjectiveBound_ = true;
181 mipMaxValidMagnitude_ = 1e+20D;
182 mipDropTolerance_ = 1e-16D;
183 mipPresolveLevel_ = 2;
184 }
185
186 @java.lang.Override
187 @SuppressWarnings({"unused"})
188 protected java.lang.Object newInstance(
189 UnusedPrivateParameter unused) {
190 return new SatParameters();
191 }
192
193 public static final com.google.protobuf.Descriptors.Descriptor
195 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
196 }
197
198 @java.lang.Override
199 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
201 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
202 .ensureFieldAccessorsInitialized(
203 com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
204 }
205
214 public enum VariableOrder
215 implements com.google.protobuf.ProtocolMessageEnum {
232 ;
233
241 public static final int IN_ORDER_VALUE = 0;
245 public static final int IN_REVERSE_ORDER_VALUE = 1;
249 public static final int IN_RANDOM_ORDER_VALUE = 2;
250
251
252 public final int getNumber() {
253 return value;
254 }
255
261 @java.lang.Deprecated
262 public static VariableOrder valueOf(int value) {
263 return forNumber(value);
264 }
265
270 public static VariableOrder forNumber(int value) {
271 switch (value) {
272 case 0: return IN_ORDER;
273 case 1: return IN_REVERSE_ORDER;
274 case 2: return IN_RANDOM_ORDER;
275 default: return null;
276 }
277 }
278
279 public static com.google.protobuf.Internal.EnumLiteMap<VariableOrder>
281 return internalValueMap;
282 }
283 private static final com.google.protobuf.Internal.EnumLiteMap<
284 VariableOrder> internalValueMap =
285 new com.google.protobuf.Internal.EnumLiteMap<VariableOrder>() {
286 public VariableOrder findValueByNumber(int number) {
287 return VariableOrder.forNumber(number);
288 }
289 };
290
291 public final com.google.protobuf.Descriptors.EnumValueDescriptor
293 return getDescriptor().getValues().get(ordinal());
294 }
295 public final com.google.protobuf.Descriptors.EnumDescriptor
297 return getDescriptor();
298 }
299 public static final com.google.protobuf.Descriptors.EnumDescriptor
301 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
302 }
303
304 private static final VariableOrder[] VALUES = values();
305
306 public static VariableOrder valueOf(
307 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
308 if (desc.getType() != getDescriptor()) {
309 throw new java.lang.IllegalArgumentException(
310 "EnumValueDescriptor is not for this type.");
311 }
312 return VALUES[desc.getIndex()];
313 }
314
315 private final int value;
316
317 private VariableOrder(int value) {
318 this.value = value;
319 }
320
321 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.VariableOrder)
322 }
323
336 public enum Polarity
337 implements com.google.protobuf.ProtocolMessageEnum {
350 ;
351
355 public static final int POLARITY_TRUE_VALUE = 0;
359 public static final int POLARITY_FALSE_VALUE = 1;
363 public static final int POLARITY_RANDOM_VALUE = 2;
364
365
366 public final int getNumber() {
367 return value;
368 }
369
375 @java.lang.Deprecated
376 public static Polarity valueOf(int value) {
377 return forNumber(value);
378 }
379
384 public static Polarity forNumber(int value) {
385 switch (value) {
386 case 0: return POLARITY_TRUE;
387 case 1: return POLARITY_FALSE;
388 case 2: return POLARITY_RANDOM;
389 default: return null;
390 }
391 }
392
393 public static com.google.protobuf.Internal.EnumLiteMap<Polarity>
395 return internalValueMap;
396 }
397 private static final com.google.protobuf.Internal.EnumLiteMap<
398 Polarity> internalValueMap =
399 new com.google.protobuf.Internal.EnumLiteMap<Polarity>() {
400 public Polarity findValueByNumber(int number) {
401 return Polarity.forNumber(number);
402 }
403 };
404
405 public final com.google.protobuf.Descriptors.EnumValueDescriptor
407 return getDescriptor().getValues().get(ordinal());
408 }
409 public final com.google.protobuf.Descriptors.EnumDescriptor
411 return getDescriptor();
412 }
413 public static final com.google.protobuf.Descriptors.EnumDescriptor
415 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
416 }
417
418 private static final Polarity[] VALUES = values();
419
420 public static Polarity valueOf(
421 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
422 if (desc.getType() != getDescriptor()) {
423 throw new java.lang.IllegalArgumentException(
424 "EnumValueDescriptor is not for this type.");
425 }
426 return VALUES[desc.getIndex()];
427 }
428
429 private final int value;
430
431 private Polarity(int value) {
432 this.value = value;
433 }
434
435 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.Polarity)
436 }
437
446 implements com.google.protobuf.ProtocolMessageEnum {
463 ;
464
468 public static final int NONE_VALUE = 0;
472 public static final int SIMPLE_VALUE = 1;
476 public static final int RECURSIVE_VALUE = 2;
480 public static final int EXPERIMENTAL_VALUE = 3;
481
482
483 public final int getNumber() {
484 return value;
485 }
486
492 @java.lang.Deprecated
493 public static ConflictMinimizationAlgorithm valueOf(int value) {
494 return forNumber(value);
495 }
496
501 public static ConflictMinimizationAlgorithm forNumber(int value) {
502 switch (value) {
503 case 0: return NONE;
504 case 1: return SIMPLE;
505 case 2: return RECURSIVE;
506 case 3: return EXPERIMENTAL;
507 default: return null;
508 }
509 }
510
511 public static com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>
513 return internalValueMap;
514 }
515 private static final com.google.protobuf.Internal.EnumLiteMap<
516 ConflictMinimizationAlgorithm> internalValueMap =
517 new com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>() {
518 public ConflictMinimizationAlgorithm findValueByNumber(int number) {
520 }
521 };
522
523 public final com.google.protobuf.Descriptors.EnumValueDescriptor
525 return getDescriptor().getValues().get(ordinal());
526 }
527 public final com.google.protobuf.Descriptors.EnumDescriptor
529 return getDescriptor();
530 }
531 public static final com.google.protobuf.Descriptors.EnumDescriptor
533 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
534 }
535
536 private static final ConflictMinimizationAlgorithm[] VALUES = values();
537
539 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
540 if (desc.getType() != getDescriptor()) {
541 throw new java.lang.IllegalArgumentException(
542 "EnumValueDescriptor is not for this type.");
543 }
544 return VALUES[desc.getIndex()];
545 }
546
547 private final int value;
548
549 private ConflictMinimizationAlgorithm(int value) {
550 this.value = value;
551 }
552
553 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ConflictMinimizationAlgorithm)
554 }
555
564 implements com.google.protobuf.ProtocolMessageEnum {
585 ;
586
590 public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
594 public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
598 public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
602 public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
606 public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
607
608
609 public final int getNumber() {
610 return value;
611 }
612
618 @java.lang.Deprecated
619 public static BinaryMinizationAlgorithm valueOf(int value) {
620 return forNumber(value);
621 }
622
627 public static BinaryMinizationAlgorithm forNumber(int value) {
628 switch (value) {
629 case 0: return NO_BINARY_MINIMIZATION;
630 case 1: return BINARY_MINIMIZATION_FIRST;
631 case 4: return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
632 case 2: return BINARY_MINIMIZATION_WITH_REACHABILITY;
633 case 3: return EXPERIMENTAL_BINARY_MINIMIZATION;
634 default: return null;
635 }
636 }
637
638 public static com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>
640 return internalValueMap;
641 }
642 private static final com.google.protobuf.Internal.EnumLiteMap<
643 BinaryMinizationAlgorithm> internalValueMap =
644 new com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>() {
645 public BinaryMinizationAlgorithm findValueByNumber(int number) {
647 }
648 };
649
650 public final com.google.protobuf.Descriptors.EnumValueDescriptor
652 return getDescriptor().getValues().get(ordinal());
653 }
654 public final com.google.protobuf.Descriptors.EnumDescriptor
656 return getDescriptor();
657 }
658 public static final com.google.protobuf.Descriptors.EnumDescriptor
660 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
661 }
662
663 private static final BinaryMinizationAlgorithm[] VALUES = values();
664
666 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
667 if (desc.getType() != getDescriptor()) {
668 throw new java.lang.IllegalArgumentException(
669 "EnumValueDescriptor is not for this type.");
670 }
671 return VALUES[desc.getIndex()];
672 }
673
674 private final int value;
675
676 private BinaryMinizationAlgorithm(int value) {
677 this.value = value;
678 }
679
680 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.BinaryMinizationAlgorithm)
681 }
682
693 implements com.google.protobuf.ProtocolMessageEnum {
718 ;
719
727 public static final int PROTECTION_NONE_VALUE = 0;
735 public static final int PROTECTION_ALWAYS_VALUE = 1;
743 public static final int PROTECTION_LBD_VALUE = 2;
744
745
746 public final int getNumber() {
747 return value;
748 }
749
755 @java.lang.Deprecated
756 public static ClauseProtection valueOf(int value) {
757 return forNumber(value);
758 }
759
764 public static ClauseProtection forNumber(int value) {
765 switch (value) {
766 case 0: return PROTECTION_NONE;
767 case 1: return PROTECTION_ALWAYS;
768 case 2: return PROTECTION_LBD;
769 default: return null;
770 }
771 }
772
773 public static com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>
775 return internalValueMap;
776 }
777 private static final com.google.protobuf.Internal.EnumLiteMap<
778 ClauseProtection> internalValueMap =
779 new com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>() {
780 public ClauseProtection findValueByNumber(int number) {
781 return ClauseProtection.forNumber(number);
782 }
783 };
784
785 public final com.google.protobuf.Descriptors.EnumValueDescriptor
787 return getDescriptor().getValues().get(ordinal());
788 }
789 public final com.google.protobuf.Descriptors.EnumDescriptor
791 return getDescriptor();
792 }
793 public static final com.google.protobuf.Descriptors.EnumDescriptor
795 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
796 }
797
798 private static final ClauseProtection[] VALUES = values();
799
801 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
802 if (desc.getType() != getDescriptor()) {
803 throw new java.lang.IllegalArgumentException(
804 "EnumValueDescriptor is not for this type.");
805 }
806 return VALUES[desc.getIndex()];
807 }
808
809 private final int value;
810
811 private ClauseProtection(int value) {
812 this.value = value;
813 }
814
815 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseProtection)
816 }
817
826 public enum ClauseOrdering
827 implements com.google.protobuf.ProtocolMessageEnum {
844 ;
845
853 public static final int CLAUSE_ACTIVITY_VALUE = 0;
861 public static final int CLAUSE_LBD_VALUE = 1;
862
863
864 public final int getNumber() {
865 return value;
866 }
867
873 @java.lang.Deprecated
874 public static ClauseOrdering valueOf(int value) {
875 return forNumber(value);
876 }
877
882 public static ClauseOrdering forNumber(int value) {
883 switch (value) {
884 case 0: return CLAUSE_ACTIVITY;
885 case 1: return CLAUSE_LBD;
886 default: return null;
887 }
888 }
889
890 public static com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>
892 return internalValueMap;
893 }
894 private static final com.google.protobuf.Internal.EnumLiteMap<
895 ClauseOrdering> internalValueMap =
896 new com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>() {
897 public ClauseOrdering findValueByNumber(int number) {
898 return ClauseOrdering.forNumber(number);
899 }
900 };
901
902 public final com.google.protobuf.Descriptors.EnumValueDescriptor
904 return getDescriptor().getValues().get(ordinal());
905 }
906 public final com.google.protobuf.Descriptors.EnumDescriptor
908 return getDescriptor();
909 }
910 public static final com.google.protobuf.Descriptors.EnumDescriptor
912 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
913 }
914
915 private static final ClauseOrdering[] VALUES = values();
916
917 public static ClauseOrdering valueOf(
918 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
919 if (desc.getType() != getDescriptor()) {
920 throw new java.lang.IllegalArgumentException(
921 "EnumValueDescriptor is not for this type.");
922 }
923 return VALUES[desc.getIndex()];
924 }
925
926 private final int value;
927
928 private ClauseOrdering(int value) {
929 this.value = value;
930 }
931
932 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseOrdering)
933 }
934
948 implements com.google.protobuf.ProtocolMessageEnum {
985 ;
986
990 public static final int NO_RESTART_VALUE = 0;
998 public static final int LUBY_RESTART_VALUE = 1;
1006 public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
1014 public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
1022 public static final int FIXED_RESTART_VALUE = 4;
1023
1024
1025 public final int getNumber() {
1026 return value;
1027 }
1028
1034 @java.lang.Deprecated
1035 public static RestartAlgorithm valueOf(int value) {
1036 return forNumber(value);
1037 }
1038
1043 public static RestartAlgorithm forNumber(int value) {
1044 switch (value) {
1045 case 0: return NO_RESTART;
1046 case 1: return LUBY_RESTART;
1047 case 2: return DL_MOVING_AVERAGE_RESTART;
1048 case 3: return LBD_MOVING_AVERAGE_RESTART;
1049 case 4: return FIXED_RESTART;
1050 default: return null;
1051 }
1052 }
1053
1054 public static com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>
1056 return internalValueMap;
1057 }
1058 private static final com.google.protobuf.Internal.EnumLiteMap<
1059 RestartAlgorithm> internalValueMap =
1060 new com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>() {
1061 public RestartAlgorithm findValueByNumber(int number) {
1062 return RestartAlgorithm.forNumber(number);
1063 }
1064 };
1065
1066 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1068 return getDescriptor().getValues().get(ordinal());
1069 }
1070 public final com.google.protobuf.Descriptors.EnumDescriptor
1072 return getDescriptor();
1073 }
1074 public static final com.google.protobuf.Descriptors.EnumDescriptor
1076 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
1077 }
1078
1079 private static final RestartAlgorithm[] VALUES = values();
1080
1082 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1083 if (desc.getType() != getDescriptor()) {
1084 throw new java.lang.IllegalArgumentException(
1085 "EnumValueDescriptor is not for this type.");
1086 }
1087 return VALUES[desc.getIndex()];
1088 }
1089
1090 private final int value;
1091
1092 private RestartAlgorithm(int value) {
1093 this.value = value;
1094 }
1095
1096 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.RestartAlgorithm)
1097 }
1098
1107 implements com.google.protobuf.ProtocolMessageEnum {
1120 ;
1121
1125 public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
1129 public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
1133 public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
1134
1135
1136 public final int getNumber() {
1137 return value;
1138 }
1139
1145 @java.lang.Deprecated
1146 public static MaxSatAssumptionOrder valueOf(int value) {
1147 return forNumber(value);
1148 }
1149
1154 public static MaxSatAssumptionOrder forNumber(int value) {
1155 switch (value) {
1156 case 0: return DEFAULT_ASSUMPTION_ORDER;
1157 case 1: return ORDER_ASSUMPTION_BY_DEPTH;
1158 case 2: return ORDER_ASSUMPTION_BY_WEIGHT;
1159 default: return null;
1160 }
1161 }
1162
1163 public static com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>
1165 return internalValueMap;
1166 }
1167 private static final com.google.protobuf.Internal.EnumLiteMap<
1168 MaxSatAssumptionOrder> internalValueMap =
1169 new com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>() {
1170 public MaxSatAssumptionOrder findValueByNumber(int number) {
1171 return MaxSatAssumptionOrder.forNumber(number);
1172 }
1173 };
1174
1175 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1177 return getDescriptor().getValues().get(ordinal());
1178 }
1179 public final com.google.protobuf.Descriptors.EnumDescriptor
1181 return getDescriptor();
1182 }
1183 public static final com.google.protobuf.Descriptors.EnumDescriptor
1185 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
1186 }
1187
1188 private static final MaxSatAssumptionOrder[] VALUES = values();
1189
1191 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1192 if (desc.getType() != getDescriptor()) {
1193 throw new java.lang.IllegalArgumentException(
1194 "EnumValueDescriptor is not for this type.");
1195 }
1196 return VALUES[desc.getIndex()];
1197 }
1198
1199 private final int value;
1200
1201 private MaxSatAssumptionOrder(int value) {
1202 this.value = value;
1203 }
1204
1205 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatAssumptionOrder)
1206 }
1207
1216 implements com.google.protobuf.ProtocolMessageEnum {
1245 ;
1246
1254 public static final int STRATIFICATION_NONE_VALUE = 0;
1263 public static final int STRATIFICATION_DESCENT_VALUE = 1;
1274 public static final int STRATIFICATION_ASCENT_VALUE = 2;
1275
1276
1277 public final int getNumber() {
1278 return value;
1279 }
1280
1286 @java.lang.Deprecated
1287 public static MaxSatStratificationAlgorithm valueOf(int value) {
1288 return forNumber(value);
1289 }
1290
1295 public static MaxSatStratificationAlgorithm forNumber(int value) {
1296 switch (value) {
1297 case 0: return STRATIFICATION_NONE;
1298 case 1: return STRATIFICATION_DESCENT;
1299 case 2: return STRATIFICATION_ASCENT;
1300 default: return null;
1301 }
1302 }
1303
1304 public static com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>
1306 return internalValueMap;
1307 }
1308 private static final com.google.protobuf.Internal.EnumLiteMap<
1309 MaxSatStratificationAlgorithm> internalValueMap =
1310 new com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>() {
1311 public MaxSatStratificationAlgorithm findValueByNumber(int number) {
1313 }
1314 };
1315
1316 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1318 return getDescriptor().getValues().get(ordinal());
1319 }
1320 public final com.google.protobuf.Descriptors.EnumDescriptor
1322 return getDescriptor();
1323 }
1324 public static final com.google.protobuf.Descriptors.EnumDescriptor
1326 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
1327 }
1328
1329 private static final MaxSatStratificationAlgorithm[] VALUES = values();
1330
1332 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1333 if (desc.getType() != getDescriptor()) {
1334 throw new java.lang.IllegalArgumentException(
1335 "EnumValueDescriptor is not for this type.");
1336 }
1337 return VALUES[desc.getIndex()];
1338 }
1339
1340 private final int value;
1341
1342 private MaxSatStratificationAlgorithm(int value) {
1343 this.value = value;
1344 }
1345
1346 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatStratificationAlgorithm)
1347 }
1348
1357 implements com.google.protobuf.ProtocolMessageEnum {
1445 ;
1446
1457 public static final int AUTOMATIC_SEARCH_VALUE = 0;
1467 public static final int FIXED_SEARCH_VALUE = 1;
1475 public static final int PORTFOLIO_SEARCH_VALUE = 2;
1484 public static final int LP_SEARCH_VALUE = 3;
1494 public static final int PSEUDO_COST_SEARCH_VALUE = 4;
1504 public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
1514 public static final int HINT_SEARCH_VALUE = 6;
1525 public static final int PARTIAL_FIXED_SEARCH_VALUE = 7;
1533 public static final int RANDOMIZED_SEARCH_VALUE = 8;
1534
1535
1536 public final int getNumber() {
1537 return value;
1538 }
1539
1545 @java.lang.Deprecated
1546 public static SearchBranching valueOf(int value) {
1547 return forNumber(value);
1548 }
1549
1554 public static SearchBranching forNumber(int value) {
1555 switch (value) {
1556 case 0: return AUTOMATIC_SEARCH;
1557 case 1: return FIXED_SEARCH;
1558 case 2: return PORTFOLIO_SEARCH;
1559 case 3: return LP_SEARCH;
1560 case 4: return PSEUDO_COST_SEARCH;
1561 case 5: return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
1562 case 6: return HINT_SEARCH;
1563 case 7: return PARTIAL_FIXED_SEARCH;
1564 case 8: return RANDOMIZED_SEARCH;
1565 default: return null;
1566 }
1567 }
1568
1569 public static com.google.protobuf.Internal.EnumLiteMap<SearchBranching>
1571 return internalValueMap;
1572 }
1573 private static final com.google.protobuf.Internal.EnumLiteMap<
1574 SearchBranching> internalValueMap =
1575 new com.google.protobuf.Internal.EnumLiteMap<SearchBranching>() {
1576 public SearchBranching findValueByNumber(int number) {
1577 return SearchBranching.forNumber(number);
1578 }
1579 };
1580
1581 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1583 return getDescriptor().getValues().get(ordinal());
1584 }
1585 public final com.google.protobuf.Descriptors.EnumDescriptor
1587 return getDescriptor();
1588 }
1589 public static final com.google.protobuf.Descriptors.EnumDescriptor
1591 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
1592 }
1593
1594 private static final SearchBranching[] VALUES = values();
1595
1597 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1598 if (desc.getType() != getDescriptor()) {
1599 throw new java.lang.IllegalArgumentException(
1600 "EnumValueDescriptor is not for this type.");
1601 }
1602 return VALUES[desc.getIndex()];
1603 }
1604
1605 private final int value;
1606
1607 private SearchBranching(int value) {
1608 this.value = value;
1609 }
1610
1611 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.SearchBranching)
1612 }
1613
1618 implements com.google.protobuf.ProtocolMessageEnum {
1665 ;
1666
1675 public static final int SPLIT_STRATEGY_AUTO_VALUE = 0;
1688 public static final int SPLIT_STRATEGY_DISCREPANCY_VALUE = 1;
1696 public static final int SPLIT_STRATEGY_OBJECTIVE_LB_VALUE = 2;
1704 public static final int SPLIT_STRATEGY_BALANCED_TREE_VALUE = 3;
1712 public static final int SPLIT_STRATEGY_FIRST_PROPOSAL_VALUE = 4;
1713
1714
1715 public final int getNumber() {
1716 return value;
1717 }
1718
1724 @java.lang.Deprecated
1725 public static SharedTreeSplitStrategy valueOf(int value) {
1726 return forNumber(value);
1727 }
1728
1733 public static SharedTreeSplitStrategy forNumber(int value) {
1734 switch (value) {
1735 case 0: return SPLIT_STRATEGY_AUTO;
1736 case 1: return SPLIT_STRATEGY_DISCREPANCY;
1737 case 2: return SPLIT_STRATEGY_OBJECTIVE_LB;
1738 case 3: return SPLIT_STRATEGY_BALANCED_TREE;
1739 case 4: return SPLIT_STRATEGY_FIRST_PROPOSAL;
1740 default: return null;
1741 }
1742 }
1743
1744 public static com.google.protobuf.Internal.EnumLiteMap<SharedTreeSplitStrategy>
1746 return internalValueMap;
1747 }
1748 private static final com.google.protobuf.Internal.EnumLiteMap<
1749 SharedTreeSplitStrategy> internalValueMap =
1750 new com.google.protobuf.Internal.EnumLiteMap<SharedTreeSplitStrategy>() {
1751 public SharedTreeSplitStrategy findValueByNumber(int number) {
1752 return SharedTreeSplitStrategy.forNumber(number);
1753 }
1754 };
1755
1756 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1758 return getDescriptor().getValues().get(ordinal());
1759 }
1760 public final com.google.protobuf.Descriptors.EnumDescriptor
1762 return getDescriptor();
1763 }
1764 public static final com.google.protobuf.Descriptors.EnumDescriptor
1766 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(10);
1767 }
1768
1769 private static final SharedTreeSplitStrategy[] VALUES = values();
1770
1772 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1773 if (desc.getType() != getDescriptor()) {
1774 throw new java.lang.IllegalArgumentException(
1775 "EnumValueDescriptor is not for this type.");
1776 }
1777 return VALUES[desc.getIndex()];
1778 }
1779
1780 private final int value;
1781
1782 private SharedTreeSplitStrategy(int value) {
1783 this.value = value;
1784 }
1785
1786 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.SharedTreeSplitStrategy)
1787 }
1788
1797 implements com.google.protobuf.ProtocolMessageEnum {
1838 ;
1839
1847 public static final int NEAREST_INTEGER_VALUE = 0;
1857 public static final int LOCK_BASED_VALUE = 1;
1866 public static final int ACTIVE_LOCK_BASED_VALUE = 3;
1879 public static final int PROPAGATION_ASSISTED_VALUE = 2;
1880
1881
1882 public final int getNumber() {
1883 return value;
1884 }
1885
1891 @java.lang.Deprecated
1892 public static FPRoundingMethod valueOf(int value) {
1893 return forNumber(value);
1894 }
1895
1900 public static FPRoundingMethod forNumber(int value) {
1901 switch (value) {
1902 case 0: return NEAREST_INTEGER;
1903 case 1: return LOCK_BASED;
1904 case 3: return ACTIVE_LOCK_BASED;
1905 case 2: return PROPAGATION_ASSISTED;
1906 default: return null;
1907 }
1908 }
1909
1910 public static com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>
1912 return internalValueMap;
1913 }
1914 private static final com.google.protobuf.Internal.EnumLiteMap<
1915 FPRoundingMethod> internalValueMap =
1916 new com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>() {
1917 public FPRoundingMethod findValueByNumber(int number) {
1918 return FPRoundingMethod.forNumber(number);
1919 }
1920 };
1921
1922 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1924 return getDescriptor().getValues().get(ordinal());
1925 }
1926 public final com.google.protobuf.Descriptors.EnumDescriptor
1928 return getDescriptor();
1929 }
1930 public static final com.google.protobuf.Descriptors.EnumDescriptor
1932 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(11);
1933 }
1934
1935 private static final FPRoundingMethod[] VALUES = values();
1936
1938 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1939 if (desc.getType() != getDescriptor()) {
1940 throw new java.lang.IllegalArgumentException(
1941 "EnumValueDescriptor is not for this type.");
1942 }
1943 return VALUES[desc.getIndex()];
1944 }
1945
1946 private final int value;
1947
1948 private FPRoundingMethod(int value) {
1949 this.value = value;
1950 }
1951
1952 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.FPRoundingMethod)
1953 }
1954
1955 private int bitField0_;
1956 private int bitField1_;
1957 private int bitField2_;
1958 private int bitField3_;
1959 private int bitField4_;
1960 private int bitField5_;
1961 private int bitField6_;
1962 private int bitField7_;
1963 public static final int NAME_FIELD_NUMBER = 171;
1964 @SuppressWarnings("serial")
1965 private volatile java.lang.Object name_ = "";
1975 @java.lang.Override
1976 public boolean hasName() {
1977 return ((bitField0_ & 0x00000001) != 0);
1978 }
1988 @java.lang.Override
1989 public java.lang.String getName() {
1990 java.lang.Object ref = name_;
1991 if (ref instanceof java.lang.String) {
1992 return (java.lang.String) ref;
1993 } else {
1994 com.google.protobuf.ByteString bs =
1995 (com.google.protobuf.ByteString) ref;
1996 java.lang.String s = bs.toStringUtf8();
1997 if (bs.isValidUtf8()) {
1998 name_ = s;
1999 }
2000 return s;
2001 }
2002 }
2012 @java.lang.Override
2013 public com.google.protobuf.ByteString
2015 java.lang.Object ref = name_;
2016 if (ref instanceof java.lang.String) {
2017 com.google.protobuf.ByteString b =
2018 com.google.protobuf.ByteString.copyFromUtf8(
2019 (java.lang.String) ref);
2020 name_ = b;
2021 return b;
2022 } else {
2023 return (com.google.protobuf.ByteString) ref;
2024 }
2025 }
2026
2027 public static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER = 1;
2028 private int preferredVariableOrder_ = 0;
2033 @java.lang.Override public boolean hasPreferredVariableOrder() {
2034 return ((bitField0_ & 0x00000002) != 0);
2035 }
2041 com.google.ortools.sat.SatParameters.VariableOrder result = com.google.ortools.sat.SatParameters.VariableOrder.forNumber(preferredVariableOrder_);
2042 return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
2043 }
2044
2045 public static final int INITIAL_POLARITY_FIELD_NUMBER = 2;
2046 private int initialPolarity_ = 1;
2051 @java.lang.Override public boolean hasInitialPolarity() {
2052 return ((bitField0_ & 0x00000004) != 0);
2053 }
2059 com.google.ortools.sat.SatParameters.Polarity result = com.google.ortools.sat.SatParameters.Polarity.forNumber(initialPolarity_);
2060 return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
2061 }
2062
2063 public static final int USE_PHASE_SAVING_FIELD_NUMBER = 44;
2064 private boolean usePhaseSaving_ = true;
2083 @java.lang.Override
2084 public boolean hasUsePhaseSaving() {
2085 return ((bitField0_ & 0x00000008) != 0);
2086 }
2105 @java.lang.Override
2106 public boolean getUsePhaseSaving() {
2107 return usePhaseSaving_;
2108 }
2109
2110 public static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER = 168;
2111 private int polarityRephaseIncrement_ = 1000;
2122 @java.lang.Override
2124 return ((bitField0_ & 0x00000010) != 0);
2125 }
2136 @java.lang.Override
2138 return polarityRephaseIncrement_;
2139 }
2140
2141 public static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER = 45;
2142 private double randomPolarityRatio_ = 0D;
2155 @java.lang.Override
2156 public boolean hasRandomPolarityRatio() {
2157 return ((bitField0_ & 0x00000020) != 0);
2158 }
2171 @java.lang.Override
2172 public double getRandomPolarityRatio() {
2173 return randomPolarityRatio_;
2174 }
2175
2176 public static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER = 32;
2177 private double randomBranchesRatio_ = 0D;
2188 @java.lang.Override
2189 public boolean hasRandomBranchesRatio() {
2190 return ((bitField0_ & 0x00000040) != 0);
2191 }
2202 @java.lang.Override
2203 public double getRandomBranchesRatio() {
2204 return randomBranchesRatio_;
2205 }
2206
2207 public static final int USE_ERWA_HEURISTIC_FIELD_NUMBER = 75;
2208 private boolean useErwaHeuristic_ = false;
2219 @java.lang.Override
2220 public boolean hasUseErwaHeuristic() {
2221 return ((bitField0_ & 0x00000080) != 0);
2222 }
2233 @java.lang.Override
2234 public boolean getUseErwaHeuristic() {
2235 return useErwaHeuristic_;
2236 }
2237
2238 public static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER = 76;
2239 private double initialVariablesActivity_ = 0D;
2253 @java.lang.Override
2255 return ((bitField0_ & 0x00000100) != 0);
2256 }
2270 @java.lang.Override
2272 return initialVariablesActivity_;
2273 }
2274
2276 private boolean alsoBumpVariablesInConflictReasons_ = false;
2288 @java.lang.Override
2290 return ((bitField0_ & 0x00000200) != 0);
2291 }
2303 @java.lang.Override
2305 return alsoBumpVariablesInConflictReasons_;
2306 }
2307
2308 public static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER = 4;
2309 private int minimizationAlgorithm_ = 2;
2314 @java.lang.Override public boolean hasMinimizationAlgorithm() {
2315 return ((bitField0_ & 0x00000400) != 0);
2316 }
2322 com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm result = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.forNumber(minimizationAlgorithm_);
2323 return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
2324 }
2325
2327 private int binaryMinimizationAlgorithm_ = 1;
2332 @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
2333 return ((bitField0_ & 0x00000800) != 0);
2334 }
2340 com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm result = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.forNumber(binaryMinimizationAlgorithm_);
2341 return result == null ? com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.BINARY_MINIMIZATION_FIRST : result;
2342 }
2343
2345 private boolean subsumptionDuringConflictAnalysis_ = true;
2357 @java.lang.Override
2359 return ((bitField0_ & 0x00001000) != 0);
2360 }
2372 @java.lang.Override
2374 return subsumptionDuringConflictAnalysis_;
2375 }
2376
2377 public static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER = 11;
2378 private int clauseCleanupPeriod_ = 10000;
2387 @java.lang.Override
2388 public boolean hasClauseCleanupPeriod() {
2389 return ((bitField0_ & 0x00002000) != 0);
2390 }
2399 @java.lang.Override
2401 return clauseCleanupPeriod_;
2402 }
2403
2404 public static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER = 13;
2405 private int clauseCleanupTarget_ = 0;
2415 @java.lang.Override
2416 public boolean hasClauseCleanupTarget() {
2417 return ((bitField0_ & 0x00004000) != 0);
2418 }
2428 @java.lang.Override
2430 return clauseCleanupTarget_;
2431 }
2432
2433 public static final int CLAUSE_CLEANUP_RATIO_FIELD_NUMBER = 190;
2434 private double clauseCleanupRatio_ = 0.5D;
2445 @java.lang.Override
2446 public boolean hasClauseCleanupRatio() {
2447 return ((bitField0_ & 0x00008000) != 0);
2448 }
2459 @java.lang.Override
2460 public double getClauseCleanupRatio() {
2461 return clauseCleanupRatio_;
2462 }
2463
2464 public static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER = 58;
2465 private int clauseCleanupProtection_ = 0;
2470 @java.lang.Override public boolean hasClauseCleanupProtection() {
2471 return ((bitField0_ & 0x00010000) != 0);
2472 }
2478 com.google.ortools.sat.SatParameters.ClauseProtection result = com.google.ortools.sat.SatParameters.ClauseProtection.forNumber(clauseCleanupProtection_);
2479 return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
2480 }
2481
2482 public static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER = 59;
2483 private int clauseCleanupLbdBound_ = 5;
2493 @java.lang.Override
2494 public boolean hasClauseCleanupLbdBound() {
2495 return ((bitField0_ & 0x00020000) != 0);
2496 }
2506 @java.lang.Override
2508 return clauseCleanupLbdBound_;
2509 }
2510
2511 public static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER = 60;
2512 private int clauseCleanupOrdering_ = 0;
2517 @java.lang.Override public boolean hasClauseCleanupOrdering() {
2518 return ((bitField0_ & 0x00040000) != 0);
2519 }
2525 com.google.ortools.sat.SatParameters.ClauseOrdering result = com.google.ortools.sat.SatParameters.ClauseOrdering.forNumber(clauseCleanupOrdering_);
2526 return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
2527 }
2528
2529 public static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER = 46;
2530 private int pbCleanupIncrement_ = 200;
2539 @java.lang.Override
2540 public boolean hasPbCleanupIncrement() {
2541 return ((bitField0_ & 0x00080000) != 0);
2542 }
2551 @java.lang.Override
2553 return pbCleanupIncrement_;
2554 }
2555
2556 public static final int PB_CLEANUP_RATIO_FIELD_NUMBER = 47;
2557 private double pbCleanupRatio_ = 0.5D;
2562 @java.lang.Override
2563 public boolean hasPbCleanupRatio() {
2564 return ((bitField0_ & 0x00100000) != 0);
2565 }
2570 @java.lang.Override
2571 public double getPbCleanupRatio() {
2572 return pbCleanupRatio_;
2573 }
2574
2575 public static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER = 15;
2576 private double variableActivityDecay_ = 0.8D;
2592 @java.lang.Override
2593 public boolean hasVariableActivityDecay() {
2594 return ((bitField0_ & 0x00200000) != 0);
2595 }
2611 @java.lang.Override
2613 return variableActivityDecay_;
2614 }
2615
2616 public static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER = 16;
2617 private double maxVariableActivityValue_ = 1e+100D;
2622 @java.lang.Override
2624 return ((bitField0_ & 0x00400000) != 0);
2625 }
2630 @java.lang.Override
2632 return maxVariableActivityValue_;
2633 }
2634
2635 public static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER = 22;
2636 private double glucoseMaxDecay_ = 0.95D;
2649 @java.lang.Override
2650 public boolean hasGlucoseMaxDecay() {
2651 return ((bitField0_ & 0x00800000) != 0);
2652 }
2665 @java.lang.Override
2666 public double getGlucoseMaxDecay() {
2667 return glucoseMaxDecay_;
2668 }
2669
2670 public static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER = 23;
2671 private double glucoseDecayIncrement_ = 0.01D;
2676 @java.lang.Override
2677 public boolean hasGlucoseDecayIncrement() {
2678 return ((bitField0_ & 0x01000000) != 0);
2679 }
2684 @java.lang.Override
2686 return glucoseDecayIncrement_;
2687 }
2688
2690 private int glucoseDecayIncrementPeriod_ = 5000;
2695 @java.lang.Override
2697 return ((bitField0_ & 0x02000000) != 0);
2698 }
2703 @java.lang.Override
2705 return glucoseDecayIncrementPeriod_;
2706 }
2707
2708 public static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER = 17;
2709 private double clauseActivityDecay_ = 0.999D;
2718 @java.lang.Override
2719 public boolean hasClauseActivityDecay() {
2720 return ((bitField0_ & 0x04000000) != 0);
2721 }
2730 @java.lang.Override
2731 public double getClauseActivityDecay() {
2732 return clauseActivityDecay_;
2733 }
2734
2735 public static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER = 18;
2736 private double maxClauseActivityValue_ = 1e+20D;
2741 @java.lang.Override
2742 public boolean hasMaxClauseActivityValue() {
2743 return ((bitField0_ & 0x08000000) != 0);
2744 }
2749 @java.lang.Override
2751 return maxClauseActivityValue_;
2752 }
2753
2754 public static final int RESTART_ALGORITHMS_FIELD_NUMBER = 61;
2755 @SuppressWarnings("serial")
2756 private java.util.List<java.lang.Integer> restartAlgorithms_;
2757 private static final com.google.protobuf.Internal.ListAdapter.Converter<
2758 java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm> restartAlgorithms_converter_ =
2759 new com.google.protobuf.Internal.ListAdapter.Converter<
2760 java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>() {
2761 public com.google.ortools.sat.SatParameters.RestartAlgorithm convert(java.lang.Integer from) {
2762 com.google.ortools.sat.SatParameters.RestartAlgorithm result = com.google.ortools.sat.SatParameters.RestartAlgorithm.forNumber(from);
2763 return result == null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
2764 }
2765 };
2782 @java.lang.Override
2783 public java.util.List<com.google.ortools.sat.SatParameters.RestartAlgorithm> getRestartAlgorithmsList() {
2784 return new com.google.protobuf.Internal.ListAdapter<
2785 java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
2786 }
2803 @java.lang.Override
2805 return restartAlgorithms_.size();
2806 }
2824 @java.lang.Override
2826 return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
2827 }
2828
2829 public static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER = 70;
2830 @SuppressWarnings("serial")
2831 private volatile java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
2836 @java.lang.Override
2838 return ((bitField0_ & 0x10000000) != 0);
2839 }
2844 @java.lang.Override
2845 public java.lang.String getDefaultRestartAlgorithms() {
2846 java.lang.Object ref = defaultRestartAlgorithms_;
2847 if (ref instanceof java.lang.String) {
2848 return (java.lang.String) ref;
2849 } else {
2850 com.google.protobuf.ByteString bs =
2851 (com.google.protobuf.ByteString) ref;
2852 java.lang.String s = bs.toStringUtf8();
2853 if (bs.isValidUtf8()) {
2854 defaultRestartAlgorithms_ = s;
2855 }
2856 return s;
2857 }
2858 }
2863 @java.lang.Override
2864 public com.google.protobuf.ByteString
2866 java.lang.Object ref = defaultRestartAlgorithms_;
2867 if (ref instanceof java.lang.String) {
2868 com.google.protobuf.ByteString b =
2869 com.google.protobuf.ByteString.copyFromUtf8(
2870 (java.lang.String) ref);
2871 defaultRestartAlgorithms_ = b;
2872 return b;
2873 } else {
2874 return (com.google.protobuf.ByteString) ref;
2875 }
2876 }
2877
2878 public static final int RESTART_PERIOD_FIELD_NUMBER = 30;
2879 private int restartPeriod_ = 50;
2889 @java.lang.Override
2890 public boolean hasRestartPeriod() {
2891 return ((bitField0_ & 0x20000000) != 0);
2892 }
2902 @java.lang.Override
2903 public int getRestartPeriod() {
2904 return restartPeriod_;
2905 }
2906
2907 public static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER = 62;
2908 private int restartRunningWindowSize_ = 50;
2917 @java.lang.Override
2919 return ((bitField0_ & 0x40000000) != 0);
2920 }
2929 @java.lang.Override
2931 return restartRunningWindowSize_;
2932 }
2933
2934 public static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER = 63;
2935 private double restartDlAverageRatio_ = 1D;
2945 @java.lang.Override
2946 public boolean hasRestartDlAverageRatio() {
2947 return ((bitField0_ & 0x80000000) != 0);
2948 }
2958 @java.lang.Override
2960 return restartDlAverageRatio_;
2961 }
2962
2963 public static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER = 71;
2964 private double restartLbdAverageRatio_ = 1D;
2969 @java.lang.Override
2970 public boolean hasRestartLbdAverageRatio() {
2971 return ((bitField1_ & 0x00000001) != 0);
2972 }
2977 @java.lang.Override
2979 return restartLbdAverageRatio_;
2980 }
2981
2982 public static final int USE_BLOCKING_RESTART_FIELD_NUMBER = 64;
2983 private boolean useBlockingRestart_ = false;
2994 @java.lang.Override
2995 public boolean hasUseBlockingRestart() {
2996 return ((bitField1_ & 0x00000002) != 0);
2997 }
3008 @java.lang.Override
3009 public boolean getUseBlockingRestart() {
3010 return useBlockingRestart_;
3011 }
3012
3013 public static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER = 65;
3014 private int blockingRestartWindowSize_ = 5000;
3019 @java.lang.Override
3021 return ((bitField1_ & 0x00000004) != 0);
3022 }
3027 @java.lang.Override
3029 return blockingRestartWindowSize_;
3030 }
3031
3032 public static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER = 66;
3033 private double blockingRestartMultiplier_ = 1.4D;
3038 @java.lang.Override
3040 return ((bitField1_ & 0x00000008) != 0);
3041 }
3046 @java.lang.Override
3048 return blockingRestartMultiplier_;
3049 }
3050
3052 private int numConflictsBeforeStrategyChanges_ = 0;
3063 @java.lang.Override
3065 return ((bitField1_ & 0x00000010) != 0);
3066 }
3077 @java.lang.Override
3079 return numConflictsBeforeStrategyChanges_;
3080 }
3081
3083 private double strategyChangeIncreaseRatio_ = 0D;
3093 @java.lang.Override
3095 return ((bitField1_ & 0x00000020) != 0);
3096 }
3106 @java.lang.Override
3108 return strategyChangeIncreaseRatio_;
3109 }
3110
3111 public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 36;
3112 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
3122 @java.lang.Override
3123 public boolean hasMaxTimeInSeconds() {
3124 return ((bitField1_ & 0x00000040) != 0);
3125 }
3135 @java.lang.Override
3136 public double getMaxTimeInSeconds() {
3137 return maxTimeInSeconds_;
3138 }
3139
3140 public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 67;
3141 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
3152 @java.lang.Override
3153 public boolean hasMaxDeterministicTime() {
3154 return ((bitField1_ & 0x00000080) != 0);
3155 }
3166 @java.lang.Override
3167 public double getMaxDeterministicTime() {
3168 return maxDeterministicTime_;
3169 }
3170
3171 public static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER = 37;
3172 private long maxNumberOfConflicts_ = 9223372036854775807L;
3187 @java.lang.Override
3188 public boolean hasMaxNumberOfConflicts() {
3189 return ((bitField1_ & 0x00000100) != 0);
3190 }
3205 @java.lang.Override
3207 return maxNumberOfConflicts_;
3208 }
3209
3210 public static final int MAX_MEMORY_IN_MB_FIELD_NUMBER = 40;
3211 private long maxMemoryInMb_ = 10000L;
3225 @java.lang.Override
3226 public boolean hasMaxMemoryInMb() {
3227 return ((bitField1_ & 0x00000200) != 0);
3228 }
3242 @java.lang.Override
3243 public long getMaxMemoryInMb() {
3244 return maxMemoryInMb_;
3245 }
3246
3247 public static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER = 159;
3248 private double absoluteGapLimit_ = 0.0001D;
3274 @java.lang.Override
3275 public boolean hasAbsoluteGapLimit() {
3276 return ((bitField1_ & 0x00000400) != 0);
3277 }
3303 @java.lang.Override
3304 public double getAbsoluteGapLimit() {
3305 return absoluteGapLimit_;
3306 }
3307
3308 public static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER = 160;
3309 private double relativeGapLimit_ = 0D;
3314 @java.lang.Override
3315 public boolean hasRelativeGapLimit() {
3316 return ((bitField1_ & 0x00000800) != 0);
3317 }
3322 @java.lang.Override
3323 public double getRelativeGapLimit() {
3324 return relativeGapLimit_;
3325 }
3326
3327 public static final int RANDOM_SEED_FIELD_NUMBER = 31;
3328 private int randomSeed_ = 1;
3343 @java.lang.Override
3344 public boolean hasRandomSeed() {
3345 return ((bitField1_ & 0x00001000) != 0);
3346 }
3361 @java.lang.Override
3362 public int getRandomSeed() {
3363 return randomSeed_;
3364 }
3365
3366 public static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER = 178;
3367 private boolean permuteVariableRandomly_ = false;
3379 @java.lang.Override
3381 return ((bitField1_ & 0x00002000) != 0);
3382 }
3394 @java.lang.Override
3396 return permuteVariableRandomly_;
3397 }
3398
3400 private boolean permutePresolveConstraintOrder_ = false;
3405 @java.lang.Override
3407 return ((bitField1_ & 0x00004000) != 0);
3408 }
3413 @java.lang.Override
3415 return permutePresolveConstraintOrder_;
3416 }
3417
3418 public static final int USE_ABSL_RANDOM_FIELD_NUMBER = 180;
3419 private boolean useAbslRandom_ = false;
3424 @java.lang.Override
3425 public boolean hasUseAbslRandom() {
3426 return ((bitField1_ & 0x00008000) != 0);
3427 }
3432 @java.lang.Override
3433 public boolean getUseAbslRandom() {
3434 return useAbslRandom_;
3435 }
3436
3437 public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 41;
3438 private boolean logSearchProgress_ = false;
3449 @java.lang.Override
3450 public boolean hasLogSearchProgress() {
3451 return ((bitField1_ & 0x00010000) != 0);
3452 }
3463 @java.lang.Override
3464 public boolean getLogSearchProgress() {
3465 return logSearchProgress_;
3466 }
3467
3468 public static final int LOG_SUBSOLVER_STATISTICS_FIELD_NUMBER = 189;
3469 private boolean logSubsolverStatistics_ = false;
3481 @java.lang.Override
3482 public boolean hasLogSubsolverStatistics() {
3483 return ((bitField1_ & 0x00020000) != 0);
3484 }
3496 @java.lang.Override
3497 public boolean getLogSubsolverStatistics() {
3498 return logSubsolverStatistics_;
3499 }
3500
3501 public static final int LOG_PREFIX_FIELD_NUMBER = 185;
3502 @SuppressWarnings("serial")
3503 private volatile java.lang.Object logPrefix_ = "";
3512 @java.lang.Override
3513 public boolean hasLogPrefix() {
3514 return ((bitField1_ & 0x00040000) != 0);
3515 }
3524 @java.lang.Override
3525 public java.lang.String getLogPrefix() {
3526 java.lang.Object ref = logPrefix_;
3527 if (ref instanceof java.lang.String) {
3528 return (java.lang.String) ref;
3529 } else {
3530 com.google.protobuf.ByteString bs =
3531 (com.google.protobuf.ByteString) ref;
3532 java.lang.String s = bs.toStringUtf8();
3533 if (bs.isValidUtf8()) {
3534 logPrefix_ = s;
3535 }
3536 return s;
3537 }
3538 }
3547 @java.lang.Override
3548 public com.google.protobuf.ByteString
3550 java.lang.Object ref = logPrefix_;
3551 if (ref instanceof java.lang.String) {
3552 com.google.protobuf.ByteString b =
3553 com.google.protobuf.ByteString.copyFromUtf8(
3554 (java.lang.String) ref);
3555 logPrefix_ = b;
3556 return b;
3557 } else {
3558 return (com.google.protobuf.ByteString) ref;
3559 }
3560 }
3561
3562 public static final int LOG_TO_STDOUT_FIELD_NUMBER = 186;
3563 private boolean logToStdout_ = true;
3572 @java.lang.Override
3573 public boolean hasLogToStdout() {
3574 return ((bitField1_ & 0x00080000) != 0);
3575 }
3584 @java.lang.Override
3585 public boolean getLogToStdout() {
3586 return logToStdout_;
3587 }
3588
3589 public static final int LOG_TO_RESPONSE_FIELD_NUMBER = 187;
3590 private boolean logToResponse_ = false;
3599 @java.lang.Override
3600 public boolean hasLogToResponse() {
3601 return ((bitField1_ & 0x00100000) != 0);
3602 }
3611 @java.lang.Override
3612 public boolean getLogToResponse() {
3613 return logToResponse_;
3614 }
3615
3616 public static final int USE_PB_RESOLUTION_FIELD_NUMBER = 43;
3617 private boolean usePbResolution_ = false;
3629 @java.lang.Override
3630 public boolean hasUsePbResolution() {
3631 return ((bitField1_ & 0x00200000) != 0);
3632 }
3644 @java.lang.Override
3645 public boolean getUsePbResolution() {
3646 return usePbResolution_;
3647 }
3648
3650 private boolean minimizeReductionDuringPbResolution_ = false;
3662 @java.lang.Override
3664 return ((bitField1_ & 0x00400000) != 0);
3665 }
3677 @java.lang.Override
3679 return minimizeReductionDuringPbResolution_;
3680 }
3681
3683 private boolean countAssumptionLevelsInLbd_ = true;
3700 @java.lang.Override
3702 return ((bitField1_ & 0x00800000) != 0);
3703 }
3720 @java.lang.Override
3722 return countAssumptionLevelsInLbd_;
3723 }
3724
3725 public static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER = 54;
3726 private int presolveBveThreshold_ = 500;
3737 @java.lang.Override
3738 public boolean hasPresolveBveThreshold() {
3739 return ((bitField1_ & 0x01000000) != 0);
3740 }
3751 @java.lang.Override
3753 return presolveBveThreshold_;
3754 }
3755
3756 public static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER = 55;
3757 private int presolveBveClauseWeight_ = 3;
3767 @java.lang.Override
3769 return ((bitField1_ & 0x02000000) != 0);
3770 }
3780 @java.lang.Override
3782 return presolveBveClauseWeight_;
3783 }
3784
3786 private double probingDeterministicTimeLimit_ = 1D;
3799 @java.lang.Override
3801 return ((bitField1_ & 0x04000000) != 0);
3802 }
3815 @java.lang.Override
3817 return probingDeterministicTimeLimit_;
3818 }
3819
3821 private double presolveProbingDeterministicTimeLimit_ = 30D;
3826 @java.lang.Override
3828 return ((bitField1_ & 0x08000000) != 0);
3829 }
3834 @java.lang.Override
3836 return presolveProbingDeterministicTimeLimit_;
3837 }
3838
3839 public static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER = 88;
3840 private boolean presolveBlockedClause_ = true;
3850 @java.lang.Override
3851 public boolean hasPresolveBlockedClause() {
3852 return ((bitField1_ & 0x10000000) != 0);
3853 }
3863 @java.lang.Override
3864 public boolean getPresolveBlockedClause() {
3865 return presolveBlockedClause_;
3866 }
3867
3868 public static final int PRESOLVE_USE_BVA_FIELD_NUMBER = 72;
3869 private boolean presolveUseBva_ = true;
3878 @java.lang.Override
3879 public boolean hasPresolveUseBva() {
3880 return ((bitField1_ & 0x20000000) != 0);
3881 }
3890 @java.lang.Override
3891 public boolean getPresolveUseBva() {
3892 return presolveUseBva_;
3893 }
3894
3895 public static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER = 73;
3896 private int presolveBvaThreshold_ = 1;
3908 @java.lang.Override
3909 public boolean hasPresolveBvaThreshold() {
3910 return ((bitField1_ & 0x40000000) != 0);
3911 }
3923 @java.lang.Override
3925 return presolveBvaThreshold_;
3926 }
3927
3928 public static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER = 138;
3929 private int maxPresolveIterations_ = 3;
3940 @java.lang.Override
3941 public boolean hasMaxPresolveIterations() {
3942 return ((bitField1_ & 0x80000000) != 0);
3943 }
3954 @java.lang.Override
3956 return maxPresolveIterations_;
3957 }
3958
3959 public static final int CP_MODEL_PRESOLVE_FIELD_NUMBER = 86;
3960 private boolean cpModelPresolve_ = true;
3969 @java.lang.Override
3970 public boolean hasCpModelPresolve() {
3971 return ((bitField2_ & 0x00000001) != 0);
3972 }
3981 @java.lang.Override
3982 public boolean getCpModelPresolve() {
3983 return cpModelPresolve_;
3984 }
3985
3986 public static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER = 110;
3987 private int cpModelProbingLevel_ = 2;
3996 @java.lang.Override
3997 public boolean hasCpModelProbingLevel() {
3998 return ((bitField2_ & 0x00000002) != 0);
3999 }
4008 @java.lang.Override
4010 return cpModelProbingLevel_;
4011 }
4012
4013 public static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER = 93;
4014 private boolean cpModelUseSatPresolve_ = true;
4023 @java.lang.Override
4024 public boolean hasCpModelUseSatPresolve() {
4025 return ((bitField2_ & 0x00000004) != 0);
4026 }
4035 @java.lang.Override
4036 public boolean getCpModelUseSatPresolve() {
4037 return cpModelUseSatPresolve_;
4038 }
4039
4040 public static final int DETECT_TABLE_WITH_COST_FIELD_NUMBER = 216;
4041 private boolean detectTableWithCost_ = false;
4055 @java.lang.Override
4056 public boolean hasDetectTableWithCost() {
4057 return ((bitField2_ & 0x00000008) != 0);
4058 }
4072 @java.lang.Override
4073 public boolean getDetectTableWithCost() {
4074 return detectTableWithCost_;
4075 }
4076
4077 public static final int TABLE_COMPRESSION_LEVEL_FIELD_NUMBER = 217;
4078 private int tableCompressionLevel_ = 2;
4090 @java.lang.Override
4091 public boolean hasTableCompressionLevel() {
4092 return ((bitField2_ & 0x00000010) != 0);
4093 }
4105 @java.lang.Override
4107 return tableCompressionLevel_;
4108 }
4109
4110 public static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER = 170;
4111 private boolean expandAlldiffConstraints_ = false;
4121 @java.lang.Override
4123 return ((bitField2_ & 0x00000020) != 0);
4124 }
4134 @java.lang.Override
4136 return expandAlldiffConstraints_;
4137 }
4138
4139 public static final int EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER = 182;
4140 private boolean expandReservoirConstraints_ = true;
4150 @java.lang.Override
4152 return ((bitField2_ & 0x00000040) != 0);
4153 }
4163 @java.lang.Override
4165 return expandReservoirConstraints_;
4166 }
4167
4168 public static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER = 181;
4169 private boolean disableConstraintExpansion_ = false;
4179 @java.lang.Override
4181 return ((bitField2_ & 0x00000080) != 0);
4182 }
4192 @java.lang.Override
4194 return disableConstraintExpansion_;
4195 }
4196
4198 private boolean encodeComplexLinearConstraintWithInteger_ = false;
4208 @java.lang.Override
4210 return ((bitField2_ & 0x00000100) != 0);
4211 }
4221 @java.lang.Override
4223 return encodeComplexLinearConstraintWithInteger_;
4224 }
4225
4226 public static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER = 145;
4227 private double mergeNoOverlapWorkLimit_ = 1000000000000D;
4240 @java.lang.Override
4242 return ((bitField2_ & 0x00000200) != 0);
4243 }
4256 @java.lang.Override
4258 return mergeNoOverlapWorkLimit_;
4259 }
4260
4261 public static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER = 146;
4262 private double mergeAtMostOneWorkLimit_ = 100000000D;
4267 @java.lang.Override
4269 return ((bitField2_ & 0x00000400) != 0);
4270 }
4275 @java.lang.Override
4277 return mergeAtMostOneWorkLimit_;
4278 }
4279
4280 public static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER = 147;
4281 private int presolveSubstitutionLevel_ = 1;
4293 @java.lang.Override
4295 return ((bitField2_ & 0x00000800) != 0);
4296 }
4308 @java.lang.Override
4310 return presolveSubstitutionLevel_;
4311 }
4312
4314 private boolean presolveExtractIntegerEnforcement_ = false;
4328 @java.lang.Override
4330 return ((bitField2_ & 0x00001000) != 0);
4331 }
4345 @java.lang.Override
4347 return presolveExtractIntegerEnforcement_;
4348 }
4349
4350 public static final int PRESOLVE_INCLUSION_WORK_LIMIT_FIELD_NUMBER = 201;
4351 private long presolveInclusionWorkLimit_ = 100000000L;
4366 @java.lang.Override
4368 return ((bitField2_ & 0x00002000) != 0);
4369 }
4384 @java.lang.Override
4386 return presolveInclusionWorkLimit_;
4387 }
4388
4389 public static final int IGNORE_NAMES_FIELD_NUMBER = 202;
4390 private boolean ignoreNames_ = true;
4399 @java.lang.Override
4400 public boolean hasIgnoreNames() {
4401 return ((bitField2_ & 0x00004000) != 0);
4402 }
4411 @java.lang.Override
4412 public boolean getIgnoreNames() {
4413 return ignoreNames_;
4414 }
4415
4416 public static final int INFER_ALL_DIFFS_FIELD_NUMBER = 233;
4417 private boolean inferAllDiffs_ = true;
4430 @java.lang.Override
4431 public boolean hasInferAllDiffs() {
4432 return ((bitField2_ & 0x00008000) != 0);
4433 }
4446 @java.lang.Override
4447 public boolean getInferAllDiffs() {
4448 return inferAllDiffs_;
4449 }
4450
4451 public static final int FIND_BIG_LINEAR_OVERLAP_FIELD_NUMBER = 234;
4452 private boolean findBigLinearOverlap_ = true;
4464 @java.lang.Override
4465 public boolean hasFindBigLinearOverlap() {
4466 return ((bitField2_ & 0x00010000) != 0);
4467 }
4479 @java.lang.Override
4480 public boolean getFindBigLinearOverlap() {
4481 return findBigLinearOverlap_;
4482 }
4483
4484 public static final int USE_SAT_INPROCESSING_FIELD_NUMBER = 163;
4485 private boolean useSatInprocessing_ = true;
4495 @java.lang.Override
4496 public boolean hasUseSatInprocessing() {
4497 return ((bitField2_ & 0x00020000) != 0);
4498 }
4508 @java.lang.Override
4509 public boolean getUseSatInprocessing() {
4510 return useSatInprocessing_;
4511 }
4512
4513 public static final int INPROCESSING_DTIME_RATIO_FIELD_NUMBER = 273;
4514 private double inprocessingDtimeRatio_ = 0.2D;
4525 @java.lang.Override
4526 public boolean hasInprocessingDtimeRatio() {
4527 return ((bitField2_ & 0x00040000) != 0);
4528 }
4539 @java.lang.Override
4541 return inprocessingDtimeRatio_;
4542 }
4543
4544 public static final int INPROCESSING_PROBING_DTIME_FIELD_NUMBER = 274;
4545 private double inprocessingProbingDtime_ = 1D;
4554 @java.lang.Override
4556 return ((bitField2_ & 0x00080000) != 0);
4557 }
4566 @java.lang.Override
4568 return inprocessingProbingDtime_;
4569 }
4570
4572 private double inprocessingMinimizationDtime_ = 1D;
4590 @java.lang.Override
4592 return ((bitField2_ & 0x00100000) != 0);
4593 }
4611 @java.lang.Override
4613 return inprocessingMinimizationDtime_;
4614 }
4615
4616 public static final int NUM_WORKERS_FIELD_NUMBER = 206;
4617 private int numWorkers_ = 0;
4639 @java.lang.Override
4640 public boolean hasNumWorkers() {
4641 return ((bitField2_ & 0x00200000) != 0);
4642 }
4664 @java.lang.Override
4665 public int getNumWorkers() {
4666 return numWorkers_;
4667 }
4668
4669 public static final int NUM_SEARCH_WORKERS_FIELD_NUMBER = 100;
4670 private int numSearchWorkers_ = 0;
4675 @java.lang.Override
4676 public boolean hasNumSearchWorkers() {
4677 return ((bitField2_ & 0x00400000) != 0);
4678 }
4683 @java.lang.Override
4684 public int getNumSearchWorkers() {
4685 return numSearchWorkers_;
4686 }
4687
4688 public static final int MIN_NUM_LNS_WORKERS_FIELD_NUMBER = 211;
4689 private int minNumLnsWorkers_ = 2;
4698 @java.lang.Override
4699 public boolean hasMinNumLnsWorkers() {
4700 return ((bitField2_ & 0x00800000) != 0);
4701 }
4710 @java.lang.Override
4711 public int getMinNumLnsWorkers() {
4712 return minNumLnsWorkers_;
4713 }
4714
4715 public static final int SUBSOLVERS_FIELD_NUMBER = 207;
4716 @SuppressWarnings("serial")
4717 private com.google.protobuf.LazyStringArrayList subsolvers_ =
4718 com.google.protobuf.LazyStringArrayList.emptyList();
4753 public com.google.protobuf.ProtocolStringList
4755 return subsolvers_;
4756 }
4791 public int getSubsolversCount() {
4792 return subsolvers_.size();
4793 }
4829 public java.lang.String getSubsolvers(int index) {
4830 return subsolvers_.get(index);
4831 }
4867 public com.google.protobuf.ByteString
4869 return subsolvers_.getByteString(index);
4870 }
4871
4872 public static final int EXTRA_SUBSOLVERS_FIELD_NUMBER = 219;
4873 @SuppressWarnings("serial")
4874 private com.google.protobuf.LazyStringArrayList extraSubsolvers_ =
4875 com.google.protobuf.LazyStringArrayList.emptyList();
4885 public com.google.protobuf.ProtocolStringList
4887 return extraSubsolvers_;
4888 }
4899 return extraSubsolvers_.size();
4900 }
4911 public java.lang.String getExtraSubsolvers(int index) {
4912 return extraSubsolvers_.get(index);
4913 }
4924 public com.google.protobuf.ByteString
4926 return extraSubsolvers_.getByteString(index);
4927 }
4928
4929 public static final int IGNORE_SUBSOLVERS_FIELD_NUMBER = 209;
4930 @SuppressWarnings("serial")
4931 private com.google.protobuf.LazyStringArrayList ignoreSubsolvers_ =
4932 com.google.protobuf.LazyStringArrayList.emptyList();
4942 public com.google.protobuf.ProtocolStringList
4944 return ignoreSubsolvers_;
4945 }
4956 return ignoreSubsolvers_.size();
4957 }
4968 public java.lang.String getIgnoreSubsolvers(int index) {
4969 return ignoreSubsolvers_.get(index);
4970 }
4981 public com.google.protobuf.ByteString
4983 return ignoreSubsolvers_.getByteString(index);
4984 }
4985
4986 public static final int SUBSOLVER_PARAMS_FIELD_NUMBER = 210;
4987 @SuppressWarnings("serial")
4988 private java.util.List<com.google.ortools.sat.SatParameters> subsolverParams_;
5000 @java.lang.Override
5001 public java.util.List<com.google.ortools.sat.SatParameters> getSubsolverParamsList() {
5002 return subsolverParams_;
5003 }
5015 @java.lang.Override
5016 public java.util.List<? extends com.google.ortools.sat.SatParametersOrBuilder>
5018 return subsolverParams_;
5019 }
5031 @java.lang.Override
5033 return subsolverParams_.size();
5034 }
5046 @java.lang.Override
5048 return subsolverParams_.get(index);
5049 }
5061 @java.lang.Override
5063 int index) {
5064 return subsolverParams_.get(index);
5065 }
5066
5067 public static final int INTERLEAVE_SEARCH_FIELD_NUMBER = 136;
5068 private boolean interleaveSearch_ = false;
5082 @java.lang.Override
5083 public boolean hasInterleaveSearch() {
5084 return ((bitField2_ & 0x01000000) != 0);
5085 }
5099 @java.lang.Override
5100 public boolean getInterleaveSearch() {
5101 return interleaveSearch_;
5102 }
5103
5104 public static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER = 134;
5105 private int interleaveBatchSize_ = 0;
5110 @java.lang.Override
5111 public boolean hasInterleaveBatchSize() {
5112 return ((bitField2_ & 0x02000000) != 0);
5113 }
5118 @java.lang.Override
5120 return interleaveBatchSize_;
5121 }
5122
5123 public static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER = 113;
5124 private boolean shareObjectiveBounds_ = true;
5133 @java.lang.Override
5134 public boolean hasShareObjectiveBounds() {
5135 return ((bitField2_ & 0x04000000) != 0);
5136 }
5145 @java.lang.Override
5146 public boolean getShareObjectiveBounds() {
5147 return shareObjectiveBounds_;
5148 }
5149
5150 public static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER = 114;
5151 private boolean shareLevelZeroBounds_ = true;
5160 @java.lang.Override
5161 public boolean hasShareLevelZeroBounds() {
5162 return ((bitField2_ & 0x08000000) != 0);
5163 }
5172 @java.lang.Override
5173 public boolean getShareLevelZeroBounds() {
5174 return shareLevelZeroBounds_;
5175 }
5176
5177 public static final int SHARE_BINARY_CLAUSES_FIELD_NUMBER = 203;
5178 private boolean shareBinaryClauses_ = true;
5187 @java.lang.Override
5188 public boolean hasShareBinaryClauses() {
5189 return ((bitField2_ & 0x10000000) != 0);
5190 }
5199 @java.lang.Override
5200 public boolean getShareBinaryClauses() {
5201 return shareBinaryClauses_;
5202 }
5203
5205 private boolean debugPostsolveWithFullSolver_ = false;
5216 @java.lang.Override
5218 return ((bitField2_ & 0x20000000) != 0);
5219 }
5230 @java.lang.Override
5232 return debugPostsolveWithFullSolver_;
5233 }
5234
5236 private int debugMaxNumPresolveOperations_ = 0;
5246 @java.lang.Override
5248 return ((bitField2_ & 0x40000000) != 0);
5249 }
5259 @java.lang.Override
5261 return debugMaxNumPresolveOperations_;
5262 }
5263
5264 public static final int DEBUG_CRASH_ON_BAD_HINT_FIELD_NUMBER = 195;
5265 private boolean debugCrashOnBadHint_ = false;
5274 @java.lang.Override
5275 public boolean hasDebugCrashOnBadHint() {
5276 return ((bitField2_ & 0x80000000) != 0);
5277 }
5286 @java.lang.Override
5287 public boolean getDebugCrashOnBadHint() {
5288 return debugCrashOnBadHint_;
5289 }
5290
5291 public static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER = 35;
5292 private boolean useOptimizationHints_ = true;
5304 @java.lang.Override
5305 public boolean hasUseOptimizationHints() {
5306 return ((bitField3_ & 0x00000001) != 0);
5307 }
5319 @java.lang.Override
5320 public boolean getUseOptimizationHints() {
5321 return useOptimizationHints_;
5322 }
5323
5324 public static final int CORE_MINIMIZATION_LEVEL_FIELD_NUMBER = 50;
5325 private int coreMinimizationLevel_ = 2;
5337 @java.lang.Override
5338 public boolean hasCoreMinimizationLevel() {
5339 return ((bitField3_ & 0x00000002) != 0);
5340 }
5352 @java.lang.Override
5354 return coreMinimizationLevel_;
5355 }
5356
5357 public static final int FIND_MULTIPLE_CORES_FIELD_NUMBER = 84;
5358 private boolean findMultipleCores_ = true;
5368 @java.lang.Override
5369 public boolean hasFindMultipleCores() {
5370 return ((bitField3_ & 0x00000004) != 0);
5371 }
5381 @java.lang.Override
5382 public boolean getFindMultipleCores() {
5383 return findMultipleCores_;
5384 }
5385
5386 public static final int COVER_OPTIMIZATION_FIELD_NUMBER = 89;
5387 private boolean coverOptimization_ = true;
5398 @java.lang.Override
5399 public boolean hasCoverOptimization() {
5400 return ((bitField3_ & 0x00000008) != 0);
5401 }
5412 @java.lang.Override
5413 public boolean getCoverOptimization() {
5414 return coverOptimization_;
5415 }
5416
5417 public static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER = 51;
5418 private int maxSatAssumptionOrder_ = 0;
5423 @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
5424 return ((bitField3_ & 0x00000010) != 0);
5425 }
5431 com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder result = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.forNumber(maxSatAssumptionOrder_);
5432 return result == null ? com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.DEFAULT_ASSUMPTION_ORDER : result;
5433 }
5434
5436 private boolean maxSatReverseAssumptionOrder_ = false;
5446 @java.lang.Override
5448 return ((bitField3_ & 0x00000020) != 0);
5449 }
5459 @java.lang.Override
5461 return maxSatReverseAssumptionOrder_;
5462 }
5463
5464 public static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER = 53;
5465 private int maxSatStratification_ = 1;
5470 @java.lang.Override public boolean hasMaxSatStratification() {
5471 return ((bitField3_ & 0x00000040) != 0);
5472 }
5478 com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm result = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.forNumber(maxSatStratification_);
5479 return result == null ? com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.STRATIFICATION_DESCENT : result;
5480 }
5481
5483 private double propagationLoopDetectionFactor_ = 10D;
5500 @java.lang.Override
5502 return ((bitField3_ & 0x00000080) != 0);
5503 }
5520 @java.lang.Override
5522 return propagationLoopDetectionFactor_;
5523 }
5524
5526 private boolean usePrecedencesInDisjunctiveConstraint_ = true;
5543 @java.lang.Override
5545 return ((bitField3_ & 0x00000100) != 0);
5546 }
5563 @java.lang.Override
5565 return usePrecedencesInDisjunctiveConstraint_;
5566 }
5567
5569 private int maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
5582 @java.lang.Override
5584 return ((bitField3_ & 0x00000200) != 0);
5585 }
5598 @java.lang.Override
5600 return maxSizeToCreatePrecedenceLiteralsInDisjunctive_;
5601 }
5602
5604 private boolean useStrongPropagationInDisjunctive_ = false;
5613 @java.lang.Override
5615 return ((bitField3_ & 0x00000400) != 0);
5616 }
5625 @java.lang.Override
5627 return useStrongPropagationInDisjunctive_;
5628 }
5629
5631 private boolean useDynamicPrecedenceInDisjunctive_ = false;
5645 @java.lang.Override
5647 return ((bitField3_ & 0x00000800) != 0);
5648 }
5662 @java.lang.Override
5664 return useDynamicPrecedenceInDisjunctive_;
5665 }
5666
5668 private boolean useDynamicPrecedenceInCumulative_ = false;
5673 @java.lang.Override
5675 return ((bitField3_ & 0x00001000) != 0);
5676 }
5681 @java.lang.Override
5683 return useDynamicPrecedenceInCumulative_;
5684 }
5685
5687 private boolean useOverloadCheckerInCumulative_ = false;
5702 @java.lang.Override
5704 return ((bitField3_ & 0x00002000) != 0);
5705 }
5720 @java.lang.Override
5722 return useOverloadCheckerInCumulative_;
5723 }
5724
5726 private boolean useTimetableEdgeFindingInCumulative_ = false;
5741 @java.lang.Override
5743 return ((bitField3_ & 0x00004000) != 0);
5744 }
5759 @java.lang.Override
5761 return useTimetableEdgeFindingInCumulative_;
5762 }
5763
5765 private int maxNumIntervalsForTimetableEdgeFinding_ = 100;
5775 @java.lang.Override
5777 return ((bitField3_ & 0x00008000) != 0);
5778 }
5788 @java.lang.Override
5790 return maxNumIntervalsForTimetableEdgeFinding_;
5791 }
5792
5794 private boolean useHardPrecedencesInCumulative_ = false;
5808 @java.lang.Override
5810 return ((bitField3_ & 0x00010000) != 0);
5811 }
5825 @java.lang.Override
5827 return useHardPrecedencesInCumulative_;
5828 }
5829
5830 public static final int EXPLOIT_ALL_PRECEDENCES_FIELD_NUMBER = 220;
5831 private boolean exploitAllPrecedences_ = false;
5836 @java.lang.Override
5837 public boolean hasExploitAllPrecedences() {
5838 return ((bitField3_ & 0x00020000) != 0);
5839 }
5844 @java.lang.Override
5845 public boolean getExploitAllPrecedences() {
5846 return exploitAllPrecedences_;
5847 }
5848
5850 private boolean useDisjunctiveConstraintInCumulative_ = true;
5868 @java.lang.Override
5870 return ((bitField3_ & 0x00040000) != 0);
5871 }
5889 @java.lang.Override
5891 return useDisjunctiveConstraintInCumulative_;
5892 }
5893
5895 private boolean useTimetablingInNoOverlap2D_ = false;
5908 @java.lang.Override
5910 return ((bitField3_ & 0x00080000) != 0);
5911 }
5924 @java.lang.Override
5926 return useTimetablingInNoOverlap2D_;
5927 }
5928
5930 private boolean useEnergeticReasoningInNoOverlap2D_ = false;
5941 @java.lang.Override
5943 return ((bitField3_ & 0x00100000) != 0);
5944 }
5955 @java.lang.Override
5957 return useEnergeticReasoningInNoOverlap2D_;
5958 }
5959
5961 private boolean useAreaEnergeticReasoningInNoOverlap2D_ = false;
5972 @java.lang.Override
5974 return ((bitField3_ & 0x00200000) != 0);
5975 }
5986 @java.lang.Override
5988 return useAreaEnergeticReasoningInNoOverlap2D_;
5989 }
5990
5992 private int maxPairsPairwiseReasoningInNoOverlap2D_ = 1250;
6003 @java.lang.Override
6005 return ((bitField3_ & 0x00400000) != 0);
6006 }
6017 @java.lang.Override
6019 return maxPairsPairwiseReasoningInNoOverlap2D_;
6020 }
6021
6022 public static final int USE_DUAL_SCHEDULING_HEURISTICS_FIELD_NUMBER = 214;
6023 private boolean useDualSchedulingHeuristics_ = true;
6034 @java.lang.Override
6036 return ((bitField3_ & 0x00800000) != 0);
6037 }
6048 @java.lang.Override
6050 return useDualSchedulingHeuristics_;
6051 }
6052
6053 public static final int SEARCH_BRANCHING_FIELD_NUMBER = 82;
6054 private int searchBranching_ = 0;
6059 @java.lang.Override public boolean hasSearchBranching() {
6060 return ((bitField3_ & 0x01000000) != 0);
6061 }
6067 com.google.ortools.sat.SatParameters.SearchBranching result = com.google.ortools.sat.SatParameters.SearchBranching.forNumber(searchBranching_);
6068 return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
6069 }
6070
6071 public static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER = 153;
6072 private int hintConflictLimit_ = 10;
6081 @java.lang.Override
6082 public boolean hasHintConflictLimit() {
6083 return ((bitField3_ & 0x02000000) != 0);
6084 }
6093 @java.lang.Override
6095 return hintConflictLimit_;
6096 }
6097
6098 public static final int REPAIR_HINT_FIELD_NUMBER = 167;
6099 private boolean repairHint_ = false;
6111 @java.lang.Override
6112 public boolean hasRepairHint() {
6113 return ((bitField3_ & 0x04000000) != 0);
6114 }
6126 @java.lang.Override
6127 public boolean getRepairHint() {
6128 return repairHint_;
6129 }
6130
6132 private boolean fixVariablesToTheirHintedValue_ = false;
6142 @java.lang.Override
6144 return ((bitField3_ & 0x08000000) != 0);
6145 }
6155 @java.lang.Override
6157 return fixVariablesToTheirHintedValue_;
6158 }
6159
6160 public static final int USE_PROBING_SEARCH_FIELD_NUMBER = 176;
6161 private boolean useProbingSearch_ = false;
6172 @java.lang.Override
6173 public boolean hasUseProbingSearch() {
6174 return ((bitField3_ & 0x10000000) != 0);
6175 }
6186 @java.lang.Override
6187 public boolean getUseProbingSearch() {
6188 return useProbingSearch_;
6189 }
6190
6191 public static final int USE_EXTENDED_PROBING_FIELD_NUMBER = 269;
6192 private boolean useExtendedProbing_ = true;
6201 @java.lang.Override
6202 public boolean hasUseExtendedProbing() {
6203 return ((bitField3_ & 0x20000000) != 0);
6204 }
6213 @java.lang.Override
6214 public boolean getUseExtendedProbing() {
6215 return useExtendedProbing_;
6216 }
6217
6218 public static final int PROBING_NUM_COMBINATIONS_LIMIT_FIELD_NUMBER = 272;
6219 private int probingNumCombinationsLimit_ = 20000;
6228 @java.lang.Override
6230 return ((bitField3_ & 0x40000000) != 0);
6231 }
6240 @java.lang.Override
6242 return probingNumCombinationsLimit_;
6243 }
6244
6245 public static final int USE_SHAVING_IN_PROBING_SEARCH_FIELD_NUMBER = 204;
6246 private boolean useShavingInProbingSearch_ = true;
6256 @java.lang.Override
6258 return ((bitField3_ & 0x80000000) != 0);
6259 }
6269 @java.lang.Override
6271 return useShavingInProbingSearch_;
6272 }
6273
6275 private double shavingSearchDeterministicTime_ = 0.001D;
6285 @java.lang.Override
6287 return ((bitField4_ & 0x00000001) != 0);
6288 }
6298 @java.lang.Override
6300 return shavingSearchDeterministicTime_;
6301 }
6302
6303 public static final int USE_OBJECTIVE_LB_SEARCH_FIELD_NUMBER = 228;
6304 private boolean useObjectiveLbSearch_ = false;
6314 @java.lang.Override
6315 public boolean hasUseObjectiveLbSearch() {
6316 return ((bitField4_ & 0x00000002) != 0);
6317 }
6327 @java.lang.Override
6328 public boolean getUseObjectiveLbSearch() {
6329 return useObjectiveLbSearch_;
6330 }
6331
6332 public static final int USE_OBJECTIVE_SHAVING_SEARCH_FIELD_NUMBER = 253;
6333 private boolean useObjectiveShavingSearch_ = false;
6344 @java.lang.Override
6346 return ((bitField4_ & 0x00000004) != 0);
6347 }
6358 @java.lang.Override
6360 return useObjectiveShavingSearch_;
6361 }
6362
6364 private long pseudoCostReliabilityThreshold_ = 100L;
6374 @java.lang.Override
6376 return ((bitField4_ & 0x00000008) != 0);
6377 }
6387 @java.lang.Override
6389 return pseudoCostReliabilityThreshold_;
6390 }
6391
6392 public static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER = 83;
6393 private boolean optimizeWithCore_ = false;
6405 @java.lang.Override
6406 public boolean hasOptimizeWithCore() {
6407 return ((bitField4_ & 0x00000010) != 0);
6408 }
6420 @java.lang.Override
6421 public boolean getOptimizeWithCore() {
6422 return optimizeWithCore_;
6423 }
6424
6425 public static final int OPTIMIZE_WITH_LB_TREE_SEARCH_FIELD_NUMBER = 188;
6426 private boolean optimizeWithLbTreeSearch_ = false;
6439 @java.lang.Override
6441 return ((bitField4_ & 0x00000020) != 0);
6442 }
6455 @java.lang.Override
6457 return optimizeWithLbTreeSearch_;
6458 }
6459
6460 public static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER = 99;
6461 private int binarySearchNumConflicts_ = -1;
6473 @java.lang.Override
6475 return ((bitField4_ & 0x00000040) != 0);
6476 }
6488 @java.lang.Override
6490 return binarySearchNumConflicts_;
6491 }
6492
6493 public static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER = 85;
6494 private boolean optimizeWithMaxHs_ = false;
6508 @java.lang.Override
6509 public boolean hasOptimizeWithMaxHs() {
6510 return ((bitField4_ & 0x00000080) != 0);
6511 }
6525 @java.lang.Override
6526 public boolean getOptimizeWithMaxHs() {
6527 return optimizeWithMaxHs_;
6528 }
6529
6530 public static final int USE_FEASIBILITY_JUMP_FIELD_NUMBER = 265;
6531 private boolean useFeasibilityJump_ = true;
6542 @java.lang.Override
6543 public boolean hasUseFeasibilityJump() {
6544 return ((bitField4_ & 0x00000100) != 0);
6545 }
6556 @java.lang.Override
6557 public boolean getUseFeasibilityJump() {
6558 return useFeasibilityJump_;
6559 }
6560
6561 public static final int TEST_FEASIBILITY_JUMP_FIELD_NUMBER = 240;
6562 private boolean testFeasibilityJump_ = false;
6572 @java.lang.Override
6573 public boolean hasTestFeasibilityJump() {
6574 return ((bitField4_ & 0x00000200) != 0);
6575 }
6585 @java.lang.Override
6586 public boolean getTestFeasibilityJump() {
6587 return testFeasibilityJump_;
6588 }
6589
6590 public static final int FEASIBILITY_JUMP_DECAY_FIELD_NUMBER = 242;
6591 private double feasibilityJumpDecay_ = 0.95D;
6601 @java.lang.Override
6602 public boolean hasFeasibilityJumpDecay() {
6603 return ((bitField4_ & 0x00000400) != 0);
6604 }
6614 @java.lang.Override
6615 public double getFeasibilityJumpDecay() {
6616 return feasibilityJumpDecay_;
6617 }
6618
6620 private int feasibilityJumpLinearizationLevel_ = 2;
6629 @java.lang.Override
6631 return ((bitField4_ & 0x00000800) != 0);
6632 }
6641 @java.lang.Override
6643 return feasibilityJumpLinearizationLevel_;
6644 }
6645
6647 private int feasibilityJumpRestartFactor_ = 1;
6658 @java.lang.Override
6660 return ((bitField4_ & 0x00001000) != 0);
6661 }
6672 @java.lang.Override
6674 return feasibilityJumpRestartFactor_;
6675 }
6676
6678 private double feasibilityJumpVarRandomizationProbability_ = 0D;
6688 @java.lang.Override
6690 return ((bitField4_ & 0x00002000) != 0);
6691 }
6701 @java.lang.Override
6703 return feasibilityJumpVarRandomizationProbability_;
6704 }
6705
6707 private double feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
6717 @java.lang.Override
6719 return ((bitField4_ & 0x00004000) != 0);
6720 }
6730 @java.lang.Override
6732 return feasibilityJumpVarPerburbationRangeRatio_;
6733 }
6734
6736 private boolean feasibilityJumpEnableRestarts_ = true;
6747 @java.lang.Override
6749 return ((bitField4_ & 0x00008000) != 0);
6750 }
6761 @java.lang.Override
6763 return feasibilityJumpEnableRestarts_;
6764 }
6765
6767 private int feasibilityJumpMaxExpandedConstraintSize_ = 100;
6777 @java.lang.Override
6779 return ((bitField4_ & 0x00010000) != 0);
6780 }
6790 @java.lang.Override
6792 return feasibilityJumpMaxExpandedConstraintSize_;
6793 }
6794
6795 public static final int NUM_VIOLATION_LS_FIELD_NUMBER = 244;
6796 private int numViolationLs_ = 0;
6807 @java.lang.Override
6808 public boolean hasNumViolationLs() {
6809 return ((bitField4_ & 0x00020000) != 0);
6810 }
6821 @java.lang.Override
6822 public int getNumViolationLs() {
6823 return numViolationLs_;
6824 }
6825
6827 private int violationLsPerturbationPeriod_ = 100;
6836 @java.lang.Override
6838 return ((bitField4_ & 0x00040000) != 0);
6839 }
6848 @java.lang.Override
6850 return violationLsPerturbationPeriod_;
6851 }
6852
6854 private double violationLsCompoundMoveProbability_ = 0.5D;
6864 @java.lang.Override
6866 return ((bitField4_ & 0x00080000) != 0);
6867 }
6877 @java.lang.Override
6879 return violationLsCompoundMoveProbability_;
6880 }
6881
6882 public static final int SHARED_TREE_NUM_WORKERS_FIELD_NUMBER = 235;
6883 private int sharedTreeNumWorkers_ = 0;
6896 @java.lang.Override
6897 public boolean hasSharedTreeNumWorkers() {
6898 return ((bitField4_ & 0x00100000) != 0);
6899 }
6912 @java.lang.Override
6914 return sharedTreeNumWorkers_;
6915 }
6916
6917 public static final int USE_SHARED_TREE_SEARCH_FIELD_NUMBER = 236;
6918 private boolean useSharedTreeSearch_ = false;
6927 @java.lang.Override
6928 public boolean hasUseSharedTreeSearch() {
6929 return ((bitField4_ & 0x00200000) != 0);
6930 }
6939 @java.lang.Override
6940 public boolean getUseSharedTreeSearch() {
6941 return useSharedTreeSearch_;
6942 }
6943
6945 private double sharedTreeWorkerObjectiveSplitProbability_ = 0.5D;
6956 @java.lang.Override
6958 return ((bitField4_ & 0x00400000) != 0);
6959 }
6970 @java.lang.Override
6972 return sharedTreeWorkerObjectiveSplitProbability_;
6973 }
6974
6976 private int sharedTreeMaxNodesPerWorker_ = 128;
6988 @java.lang.Override
6990 return ((bitField4_ & 0x00800000) != 0);
6991 }
7003 @java.lang.Override
7005 return sharedTreeMaxNodesPerWorker_;
7006 }
7007
7008 public static final int SHARED_TREE_SPLIT_STRATEGY_FIELD_NUMBER = 239;
7009 private int sharedTreeSplitStrategy_ = 0;
7014 @java.lang.Override public boolean hasSharedTreeSplitStrategy() {
7015 return ((bitField4_ & 0x01000000) != 0);
7016 }
7022 com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy result = com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy.forNumber(sharedTreeSplitStrategy_);
7023 return result == null ? com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy.SPLIT_STRATEGY_AUTO : result;
7024 }
7025
7026 public static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER = 87;
7027 private boolean enumerateAllSolutions_ = false;
7042 @java.lang.Override
7043 public boolean hasEnumerateAllSolutions() {
7044 return ((bitField4_ & 0x02000000) != 0);
7045 }
7060 @java.lang.Override
7061 public boolean getEnumerateAllSolutions() {
7062 return enumerateAllSolutions_;
7063 }
7064
7066 private boolean keepAllFeasibleSolutionsInPresolve_ = false;
7082 @java.lang.Override
7084 return ((bitField4_ & 0x04000000) != 0);
7085 }
7101 @java.lang.Override
7103 return keepAllFeasibleSolutionsInPresolve_;
7104 }
7105
7107 private boolean fillTightenedDomainsInResponse_ = false;
7120 @java.lang.Override
7122 return ((bitField4_ & 0x08000000) != 0);
7123 }
7136 @java.lang.Override
7138 return fillTightenedDomainsInResponse_;
7139 }
7140
7142 private boolean fillAdditionalSolutionsInResponse_ = false;
7160 @java.lang.Override
7162 return ((bitField4_ & 0x10000000) != 0);
7163 }
7181 @java.lang.Override
7183 return fillAdditionalSolutionsInResponse_;
7184 }
7185
7186 public static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER = 106;
7187 private boolean instantiateAllVariables_ = true;
7199 @java.lang.Override
7201 return ((bitField4_ & 0x20000000) != 0);
7202 }
7214 @java.lang.Override
7216 return instantiateAllVariables_;
7217 }
7218
7220 private boolean autoDetectGreaterThanAtLeastOneOf_ = true;
7232 @java.lang.Override
7234 return ((bitField4_ & 0x40000000) != 0);
7235 }
7247 @java.lang.Override
7249 return autoDetectGreaterThanAtLeastOneOf_;
7250 }
7251
7252 public static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER = 98;
7253 private boolean stopAfterFirstSolution_ = false;
7262 @java.lang.Override
7263 public boolean hasStopAfterFirstSolution() {
7264 return ((bitField4_ & 0x80000000) != 0);
7265 }
7274 @java.lang.Override
7275 public boolean getStopAfterFirstSolution() {
7276 return stopAfterFirstSolution_;
7277 }
7278
7279 public static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER = 149;
7280 private boolean stopAfterPresolve_ = false;
7290 @java.lang.Override
7291 public boolean hasStopAfterPresolve() {
7292 return ((bitField5_ & 0x00000001) != 0);
7293 }
7303 @java.lang.Override
7304 public boolean getStopAfterPresolve() {
7305 return stopAfterPresolve_;
7306 }
7307
7308 public static final int STOP_AFTER_ROOT_PROPAGATION_FIELD_NUMBER = 252;
7309 private boolean stopAfterRootPropagation_ = false;
7314 @java.lang.Override
7316 return ((bitField5_ & 0x00000002) != 0);
7317 }
7322 @java.lang.Override
7324 return stopAfterRootPropagation_;
7325 }
7326
7327 public static final int USE_LNS_ONLY_FIELD_NUMBER = 101;
7328 private boolean useLnsOnly_ = false;
7337 @java.lang.Override
7338 public boolean hasUseLnsOnly() {
7339 return ((bitField5_ & 0x00000004) != 0);
7340 }
7349 @java.lang.Override
7350 public boolean getUseLnsOnly() {
7351 return useLnsOnly_;
7352 }
7353
7354 public static final int SOLUTION_POOL_SIZE_FIELD_NUMBER = 193;
7355 private int solutionPoolSize_ = 3;
7366 @java.lang.Override
7367 public boolean hasSolutionPoolSize() {
7368 return ((bitField5_ & 0x00000008) != 0);
7369 }
7380 @java.lang.Override
7381 public int getSolutionPoolSize() {
7382 return solutionPoolSize_;
7383 }
7384
7385 public static final int USE_RINS_LNS_FIELD_NUMBER = 129;
7386 private boolean useRinsLns_ = true;
7395 @java.lang.Override
7396 public boolean hasUseRinsLns() {
7397 return ((bitField5_ & 0x00000010) != 0);
7398 }
7407 @java.lang.Override
7408 public boolean getUseRinsLns() {
7409 return useRinsLns_;
7410 }
7411
7412 public static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER = 164;
7413 private boolean useFeasibilityPump_ = true;
7422 @java.lang.Override
7423 public boolean hasUseFeasibilityPump() {
7424 return ((bitField5_ & 0x00000020) != 0);
7425 }
7434 @java.lang.Override
7435 public boolean getUseFeasibilityPump() {
7436 return useFeasibilityPump_;
7437 }
7438
7439 public static final int USE_LB_RELAX_LNS_FIELD_NUMBER = 255;
7440 private boolean useLbRelaxLns_ = false;
7451 @java.lang.Override
7452 public boolean hasUseLbRelaxLns() {
7453 return ((bitField5_ & 0x00000040) != 0);
7454 }
7465 @java.lang.Override
7466 public boolean getUseLbRelaxLns() {
7467 return useLbRelaxLns_;
7468 }
7469
7470 public static final int FP_ROUNDING_FIELD_NUMBER = 165;
7471 private int fpRounding_ = 2;
7476 @java.lang.Override public boolean hasFpRounding() {
7477 return ((bitField5_ & 0x00000080) != 0);
7478 }
7484 com.google.ortools.sat.SatParameters.FPRoundingMethod result = com.google.ortools.sat.SatParameters.FPRoundingMethod.forNumber(fpRounding_);
7485 return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
7486 }
7487
7488 public static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER = 137;
7489 private boolean diversifyLnsParams_ = false;
7498 @java.lang.Override
7499 public boolean hasDiversifyLnsParams() {
7500 return ((bitField5_ & 0x00000100) != 0);
7501 }
7510 @java.lang.Override
7511 public boolean getDiversifyLnsParams() {
7512 return diversifyLnsParams_;
7513 }
7514
7515 public static final int RANDOMIZE_SEARCH_FIELD_NUMBER = 103;
7516 private boolean randomizeSearch_ = false;
7525 @java.lang.Override
7526 public boolean hasRandomizeSearch() {
7527 return ((bitField5_ & 0x00000200) != 0);
7528 }
7537 @java.lang.Override
7538 public boolean getRandomizeSearch() {
7539 return randomizeSearch_;
7540 }
7541
7543 private long searchRandomVariablePoolSize_ = 0L;
7554 @java.lang.Override
7556 return ((bitField5_ & 0x00000400) != 0);
7557 }
7568 @java.lang.Override
7570 return searchRandomVariablePoolSize_;
7571 }
7572
7573 public static final int PUSH_ALL_TASKS_TOWARD_START_FIELD_NUMBER = 262;
7574 private boolean pushAllTasksTowardStart_ = false;
7584 @java.lang.Override
7586 return ((bitField5_ & 0x00000800) != 0);
7587 }
7597 @java.lang.Override
7599 return pushAllTasksTowardStart_;
7600 }
7601
7602 public static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER = 108;
7603 private boolean useOptionalVariables_ = false;
7617 @java.lang.Override
7618 public boolean hasUseOptionalVariables() {
7619 return ((bitField5_ & 0x00001000) != 0);
7620 }
7634 @java.lang.Override
7635 public boolean getUseOptionalVariables() {
7636 return useOptionalVariables_;
7637 }
7638
7639 public static final int USE_EXACT_LP_REASON_FIELD_NUMBER = 109;
7640 private boolean useExactLpReason_ = true;
7652 @java.lang.Override
7653 public boolean hasUseExactLpReason() {
7654 return ((bitField5_ & 0x00002000) != 0);
7655 }
7667 @java.lang.Override
7668 public boolean getUseExactLpReason() {
7669 return useExactLpReason_;
7670 }
7671
7672 public static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER = 133;
7673 private boolean useCombinedNoOverlap_ = false;
7684 @java.lang.Override
7685 public boolean hasUseCombinedNoOverlap() {
7686 return ((bitField5_ & 0x00004000) != 0);
7687 }
7698 @java.lang.Override
7699 public boolean getUseCombinedNoOverlap() {
7700 return useCombinedNoOverlap_;
7701 }
7702
7703 public static final int AT_MOST_ONE_MAX_EXPANSION_SIZE_FIELD_NUMBER = 270;
7704 private int atMostOneMaxExpansionSize_ = 3;
7714 @java.lang.Override
7716 return ((bitField5_ & 0x00008000) != 0);
7717 }
7727 @java.lang.Override
7729 return atMostOneMaxExpansionSize_;
7730 }
7731
7732 public static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER = 135;
7733 private boolean catchSigintSignal_ = true;
7744 @java.lang.Override
7745 public boolean hasCatchSigintSignal() {
7746 return ((bitField5_ & 0x00010000) != 0);
7747 }
7758 @java.lang.Override
7759 public boolean getCatchSigintSignal() {
7760 return catchSigintSignal_;
7761 }
7762
7763 public static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER = 144;
7764 private boolean useImpliedBounds_ = true;
7775 @java.lang.Override
7776 public boolean hasUseImpliedBounds() {
7777 return ((bitField5_ & 0x00020000) != 0);
7778 }
7789 @java.lang.Override
7790 public boolean getUseImpliedBounds() {
7791 return useImpliedBounds_;
7792 }
7793
7794 public static final int POLISH_LP_SOLUTION_FIELD_NUMBER = 175;
7795 private boolean polishLpSolution_ = false;
7807 @java.lang.Override
7808 public boolean hasPolishLpSolution() {
7809 return ((bitField5_ & 0x00040000) != 0);
7810 }
7822 @java.lang.Override
7823 public boolean getPolishLpSolution() {
7824 return polishLpSolution_;
7825 }
7826
7827 public static final int LP_PRIMAL_TOLERANCE_FIELD_NUMBER = 266;
7828 private double lpPrimalTolerance_ = 1e-07D;
7841 @java.lang.Override
7842 public boolean hasLpPrimalTolerance() {
7843 return ((bitField5_ & 0x00080000) != 0);
7844 }
7857 @java.lang.Override
7858 public double getLpPrimalTolerance() {
7859 return lpPrimalTolerance_;
7860 }
7861
7862 public static final int LP_DUAL_TOLERANCE_FIELD_NUMBER = 267;
7863 private double lpDualTolerance_ = 1e-07D;
7868 @java.lang.Override
7869 public boolean hasLpDualTolerance() {
7870 return ((bitField5_ & 0x00100000) != 0);
7871 }
7876 @java.lang.Override
7877 public double getLpDualTolerance() {
7878 return lpDualTolerance_;
7879 }
7880
7881 public static final int CONVERT_INTERVALS_FIELD_NUMBER = 177;
7882 private boolean convertIntervals_ = true;
7893 @java.lang.Override
7894 public boolean hasConvertIntervals() {
7895 return ((bitField5_ & 0x00200000) != 0);
7896 }
7907 @java.lang.Override
7908 public boolean getConvertIntervals() {
7909 return convertIntervals_;
7910 }
7911
7912 public static final int SYMMETRY_LEVEL_FIELD_NUMBER = 183;
7913 private int symmetryLevel_ = 2;
7925 @java.lang.Override
7926 public boolean hasSymmetryLevel() {
7927 return ((bitField5_ & 0x00400000) != 0);
7928 }
7940 @java.lang.Override
7941 public int getSymmetryLevel() {
7942 return symmetryLevel_;
7943 }
7944
7945 public static final int NEW_LINEAR_PROPAGATION_FIELD_NUMBER = 224;
7946 private boolean newLinearPropagation_ = false;
7955 @java.lang.Override
7956 public boolean hasNewLinearPropagation() {
7957 return ((bitField5_ & 0x00800000) != 0);
7958 }
7967 @java.lang.Override
7968 public boolean getNewLinearPropagation() {
7969 return newLinearPropagation_;
7970 }
7971
7972 public static final int LINEAR_SPLIT_SIZE_FIELD_NUMBER = 256;
7973 private int linearSplitSize_ = 100;
7984 @java.lang.Override
7985 public boolean hasLinearSplitSize() {
7986 return ((bitField5_ & 0x01000000) != 0);
7987 }
7998 @java.lang.Override
7999 public int getLinearSplitSize() {
8000 return linearSplitSize_;
8001 }
8002
8003 public static final int LINEARIZATION_LEVEL_FIELD_NUMBER = 90;
8004 private int linearizationLevel_ = 1;
8016 @java.lang.Override
8017 public boolean hasLinearizationLevel() {
8018 return ((bitField5_ & 0x02000000) != 0);
8019 }
8031 @java.lang.Override
8033 return linearizationLevel_;
8034 }
8035
8036 public static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER = 107;
8037 private int booleanEncodingLevel_ = 1;
8047 @java.lang.Override
8048 public boolean hasBooleanEncodingLevel() {
8049 return ((bitField5_ & 0x04000000) != 0);
8050 }
8060 @java.lang.Override
8062 return booleanEncodingLevel_;
8063 }
8064
8066 private int maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
8078 @java.lang.Override
8080 return ((bitField5_ & 0x08000000) != 0);
8081 }
8093 @java.lang.Override
8095 return maxDomainSizeWhenEncodingEqNeqConstraints_;
8096 }
8097
8098 public static final int MAX_NUM_CUTS_FIELD_NUMBER = 91;
8099 private int maxNumCuts_ = 10000;
8112 @java.lang.Override
8113 public boolean hasMaxNumCuts() {
8114 return ((bitField5_ & 0x10000000) != 0);
8115 }
8128 @java.lang.Override
8129 public int getMaxNumCuts() {
8130 return maxNumCuts_;
8131 }
8132
8133 public static final int CUT_LEVEL_FIELD_NUMBER = 196;
8134 private int cutLevel_ = 1;
8145 @java.lang.Override
8146 public boolean hasCutLevel() {
8147 return ((bitField5_ & 0x20000000) != 0);
8148 }
8159 @java.lang.Override
8160 public int getCutLevel() {
8161 return cutLevel_;
8162 }
8163
8164 public static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER = 92;
8165 private boolean onlyAddCutsAtLevelZero_ = false;
8175 @java.lang.Override
8176 public boolean hasOnlyAddCutsAtLevelZero() {
8177 return ((bitField5_ & 0x40000000) != 0);
8178 }
8188 @java.lang.Override
8189 public boolean getOnlyAddCutsAtLevelZero() {
8190 return onlyAddCutsAtLevelZero_;
8191 }
8192
8193 public static final int ADD_OBJECTIVE_CUT_FIELD_NUMBER = 197;
8194 private boolean addObjectiveCut_ = false;
8207 @java.lang.Override
8208 public boolean hasAddObjectiveCut() {
8209 return ((bitField5_ & 0x80000000) != 0);
8210 }
8223 @java.lang.Override
8224 public boolean getAddObjectiveCut() {
8225 return addObjectiveCut_;
8226 }
8227
8228 public static final int ADD_CG_CUTS_FIELD_NUMBER = 117;
8229 private boolean addCgCuts_ = true;
8239 @java.lang.Override
8240 public boolean hasAddCgCuts() {
8241 return ((bitField6_ & 0x00000001) != 0);
8242 }
8252 @java.lang.Override
8253 public boolean getAddCgCuts() {
8254 return addCgCuts_;
8255 }
8256
8257 public static final int ADD_MIR_CUTS_FIELD_NUMBER = 120;
8258 private boolean addMirCuts_ = true;
8268 @java.lang.Override
8269 public boolean hasAddMirCuts() {
8270 return ((bitField6_ & 0x00000002) != 0);
8271 }
8281 @java.lang.Override
8282 public boolean getAddMirCuts() {
8283 return addMirCuts_;
8284 }
8285
8286 public static final int ADD_ZERO_HALF_CUTS_FIELD_NUMBER = 169;
8287 private boolean addZeroHalfCuts_ = true;
8297 @java.lang.Override
8298 public boolean hasAddZeroHalfCuts() {
8299 return ((bitField6_ & 0x00000004) != 0);
8300 }
8310 @java.lang.Override
8311 public boolean getAddZeroHalfCuts() {
8312 return addZeroHalfCuts_;
8313 }
8314
8315 public static final int ADD_CLIQUE_CUTS_FIELD_NUMBER = 172;
8316 private boolean addCliqueCuts_ = true;
8327 @java.lang.Override
8328 public boolean hasAddCliqueCuts() {
8329 return ((bitField6_ & 0x00000008) != 0);
8330 }
8341 @java.lang.Override
8342 public boolean getAddCliqueCuts() {
8343 return addCliqueCuts_;
8344 }
8345
8346 public static final int ADD_RLT_CUTS_FIELD_NUMBER = 279;
8347 private boolean addRltCuts_ = true;
8357 @java.lang.Override
8358 public boolean hasAddRltCuts() {
8359 return ((bitField6_ & 0x00000010) != 0);
8360 }
8370 @java.lang.Override
8371 public boolean getAddRltCuts() {
8372 return addRltCuts_;
8373 }
8374
8375 public static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER = 148;
8376 private int maxAllDiffCutSize_ = 64;
8387 @java.lang.Override
8388 public boolean hasMaxAllDiffCutSize() {
8389 return ((bitField6_ & 0x00000020) != 0);
8390 }
8401 @java.lang.Override
8403 return maxAllDiffCutSize_;
8404 }
8405
8406 public static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER = 152;
8407 private boolean addLinMaxCuts_ = true;
8418 @java.lang.Override
8419 public boolean hasAddLinMaxCuts() {
8420 return ((bitField6_ & 0x00000040) != 0);
8421 }
8432 @java.lang.Override
8433 public boolean getAddLinMaxCuts() {
8434 return addLinMaxCuts_;
8435 }
8436
8437 public static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER = 119;
8438 private int maxIntegerRoundingScaling_ = 600;
8454 @java.lang.Override
8456 return ((bitField6_ & 0x00000080) != 0);
8457 }
8473 @java.lang.Override
8475 return maxIntegerRoundingScaling_;
8476 }
8477
8478 public static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER = 112;
8479 private boolean addLpConstraintsLazily_ = true;
8491 @java.lang.Override
8492 public boolean hasAddLpConstraintsLazily() {
8493 return ((bitField6_ & 0x00000100) != 0);
8494 }
8506 @java.lang.Override
8507 public boolean getAddLpConstraintsLazily() {
8508 return addLpConstraintsLazily_;
8509 }
8510
8511 public static final int ROOT_LP_ITERATIONS_FIELD_NUMBER = 227;
8512 private int rootLpIterations_ = 2000;
8524 @java.lang.Override
8525 public boolean hasRootLpIterations() {
8526 return ((bitField6_ & 0x00000200) != 0);
8527 }
8539 @java.lang.Override
8540 public int getRootLpIterations() {
8541 return rootLpIterations_;
8542 }
8543
8545 private double minOrthogonalityForLpConstraints_ = 0.05D;
8558 @java.lang.Override
8560 return ((bitField6_ & 0x00000400) != 0);
8561 }
8574 @java.lang.Override
8576 return minOrthogonalityForLpConstraints_;
8577 }
8578
8579 public static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER = 154;
8580 private int maxCutRoundsAtLevelZero_ = 1;
8589 @java.lang.Override
8591 return ((bitField6_ & 0x00000800) != 0);
8592 }
8601 @java.lang.Override
8603 return maxCutRoundsAtLevelZero_;
8604 }
8605
8606 public static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER = 121;
8607 private int maxConsecutiveInactiveCount_ = 100;
8618 @java.lang.Override
8620 return ((bitField6_ & 0x00001000) != 0);
8621 }
8632 @java.lang.Override
8634 return maxConsecutiveInactiveCount_;
8635 }
8636
8637 public static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER = 155;
8638 private double cutMaxActiveCountValue_ = 10000000000D;
8649 @java.lang.Override
8650 public boolean hasCutMaxActiveCountValue() {
8651 return ((bitField6_ & 0x00002000) != 0);
8652 }
8663 @java.lang.Override
8665 return cutMaxActiveCountValue_;
8666 }
8667
8668 public static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER = 156;
8669 private double cutActiveCountDecay_ = 0.8D;
8674 @java.lang.Override
8675 public boolean hasCutActiveCountDecay() {
8676 return ((bitField6_ & 0x00004000) != 0);
8677 }
8682 @java.lang.Override
8683 public double getCutActiveCountDecay() {
8684 return cutActiveCountDecay_;
8685 }
8686
8687 public static final int CUT_CLEANUP_TARGET_FIELD_NUMBER = 157;
8688 private int cutCleanupTarget_ = 1000;
8697 @java.lang.Override
8698 public boolean hasCutCleanupTarget() {
8699 return ((bitField6_ & 0x00008000) != 0);
8700 }
8709 @java.lang.Override
8710 public int getCutCleanupTarget() {
8711 return cutCleanupTarget_;
8712 }
8713
8714 public static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER = 122;
8715 private int newConstraintsBatchSize_ = 50;
8725 @java.lang.Override
8727 return ((bitField6_ & 0x00010000) != 0);
8728 }
8738 @java.lang.Override
8740 return newConstraintsBatchSize_;
8741 }
8742
8743 public static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER = 94;
8744 private boolean exploitIntegerLpSolution_ = true;
8756 @java.lang.Override
8758 return ((bitField6_ & 0x00020000) != 0);
8759 }
8771 @java.lang.Override
8773 return exploitIntegerLpSolution_;
8774 }
8775
8776 public static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER = 116;
8777 private boolean exploitAllLpSolution_ = true;
8788 @java.lang.Override
8789 public boolean hasExploitAllLpSolution() {
8790 return ((bitField6_ & 0x00040000) != 0);
8791 }
8802 @java.lang.Override
8803 public boolean getExploitAllLpSolution() {
8804 return exploitAllLpSolution_;
8805 }
8806
8807 public static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER = 130;
8808 private boolean exploitBestSolution_ = false;
8817 @java.lang.Override
8818 public boolean hasExploitBestSolution() {
8819 return ((bitField6_ & 0x00080000) != 0);
8820 }
8829 @java.lang.Override
8830 public boolean getExploitBestSolution() {
8831 return exploitBestSolution_;
8832 }
8833
8834 public static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER = 161;
8835 private boolean exploitRelaxationSolution_ = false;
8846 @java.lang.Override
8848 return ((bitField6_ & 0x00100000) != 0);
8849 }
8860 @java.lang.Override
8862 return exploitRelaxationSolution_;
8863 }
8864
8865 public static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER = 131;
8866 private boolean exploitObjective_ = true;
8876 @java.lang.Override
8877 public boolean hasExploitObjective() {
8878 return ((bitField6_ & 0x00200000) != 0);
8879 }
8889 @java.lang.Override
8890 public boolean getExploitObjective() {
8891 return exploitObjective_;
8892 }
8893
8894 public static final int DETECT_LINEARIZED_PRODUCT_FIELD_NUMBER = 277;
8895 private boolean detectLinearizedProduct_ = false;
8906 @java.lang.Override
8908 return ((bitField6_ & 0x00400000) != 0);
8909 }
8920 @java.lang.Override
8922 return detectLinearizedProduct_;
8923 }
8924
8925 public static final int MIP_MAX_BOUND_FIELD_NUMBER = 124;
8926 private double mipMaxBound_ = 10000000D;
8937 @java.lang.Override
8938 public boolean hasMipMaxBound() {
8939 return ((bitField6_ & 0x00800000) != 0);
8940 }
8951 @java.lang.Override
8952 public double getMipMaxBound() {
8953 return mipMaxBound_;
8954 }
8955
8956 public static final int MIP_VAR_SCALING_FIELD_NUMBER = 125;
8957 private double mipVarScaling_ = 1D;
8968 @java.lang.Override
8969 public boolean hasMipVarScaling() {
8970 return ((bitField6_ & 0x01000000) != 0);
8971 }
8982 @java.lang.Override
8983 public double getMipVarScaling() {
8984 return mipVarScaling_;
8985 }
8986
8987 public static final int MIP_SCALE_LARGE_DOMAIN_FIELD_NUMBER = 225;
8988 private boolean mipScaleLargeDomain_ = false;
8999 @java.lang.Override
9000 public boolean hasMipScaleLargeDomain() {
9001 return ((bitField6_ & 0x02000000) != 0);
9002 }
9013 @java.lang.Override
9014 public boolean getMipScaleLargeDomain() {
9015 return mipScaleLargeDomain_;
9016 }
9017
9019 private boolean mipAutomaticallyScaleVariables_ = true;
9032 @java.lang.Override
9034 return ((bitField6_ & 0x04000000) != 0);
9035 }
9048 @java.lang.Override
9050 return mipAutomaticallyScaleVariables_;
9051 }
9052
9053 public static final int ONLY_SOLVE_IP_FIELD_NUMBER = 222;
9054 private boolean onlySolveIp_ = false;
9074 @java.lang.Override
9075 public boolean hasOnlySolveIp() {
9076 return ((bitField6_ & 0x08000000) != 0);
9077 }
9097 @java.lang.Override
9098 public boolean getOnlySolveIp() {
9099 return onlySolveIp_;
9100 }
9101
9102 public static final int MIP_WANTED_PRECISION_FIELD_NUMBER = 126;
9103 private double mipWantedPrecision_ = 1e-06D;
9128 @java.lang.Override
9129 public boolean hasMipWantedPrecision() {
9130 return ((bitField6_ & 0x10000000) != 0);
9131 }
9156 @java.lang.Override
9157 public double getMipWantedPrecision() {
9158 return mipWantedPrecision_;
9159 }
9160
9161 public static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER = 127;
9162 private int mipMaxActivityExponent_ = 53;
9178 @java.lang.Override
9179 public boolean hasMipMaxActivityExponent() {
9180 return ((bitField6_ & 0x20000000) != 0);
9181 }
9197 @java.lang.Override
9199 return mipMaxActivityExponent_;
9200 }
9201
9202 public static final int MIP_CHECK_PRECISION_FIELD_NUMBER = 128;
9203 private double mipCheckPrecision_ = 0.0001D;
9214 @java.lang.Override
9215 public boolean hasMipCheckPrecision() {
9216 return ((bitField6_ & 0x40000000) != 0);
9217 }
9228 @java.lang.Override
9229 public double getMipCheckPrecision() {
9230 return mipCheckPrecision_;
9231 }
9232
9234 private boolean mipComputeTrueObjectiveBound_ = true;
9247 @java.lang.Override
9249 return ((bitField6_ & 0x80000000) != 0);
9250 }
9263 @java.lang.Override
9265 return mipComputeTrueObjectiveBound_;
9266 }
9267
9268 public static final int MIP_MAX_VALID_MAGNITUDE_FIELD_NUMBER = 199;
9269 private double mipMaxValidMagnitude_ = 1e+20D;
9282 @java.lang.Override
9283 public boolean hasMipMaxValidMagnitude() {
9284 return ((bitField7_ & 0x00000001) != 0);
9285 }
9298 @java.lang.Override
9299 public double getMipMaxValidMagnitude() {
9300 return mipMaxValidMagnitude_;
9301 }
9302
9304 private boolean mipTreatHighMagnitudeBoundsAsInfinity_ = false;
9318 @java.lang.Override
9320 return ((bitField7_ & 0x00000002) != 0);
9321 }
9335 @java.lang.Override
9337 return mipTreatHighMagnitudeBoundsAsInfinity_;
9338 }
9339
9340 public static final int MIP_DROP_TOLERANCE_FIELD_NUMBER = 232;
9341 private double mipDropTolerance_ = 1e-16D;
9351 @java.lang.Override
9352 public boolean hasMipDropTolerance() {
9353 return ((bitField7_ & 0x00000004) != 0);
9354 }
9364 @java.lang.Override
9365 public double getMipDropTolerance() {
9366 return mipDropTolerance_;
9367 }
9368
9369 public static final int MIP_PRESOLVE_LEVEL_FIELD_NUMBER = 261;
9370 private int mipPresolveLevel_ = 2;
9382 @java.lang.Override
9383 public boolean hasMipPresolveLevel() {
9384 return ((bitField7_ & 0x00000008) != 0);
9385 }
9397 @java.lang.Override
9398 public int getMipPresolveLevel() {
9399 return mipPresolveLevel_;
9400 }
9401
9402 private byte memoizedIsInitialized = -1;
9403 @java.lang.Override
9404 public final boolean isInitialized() {
9405 byte isInitialized = memoizedIsInitialized;
9406 if (isInitialized == 1) return true;
9407 if (isInitialized == 0) return false;
9408
9409 memoizedIsInitialized = 1;
9410 return true;
9411 }
9412
9413 @java.lang.Override
9414 public void writeTo(com.google.protobuf.CodedOutputStream output)
9415 throws java.io.IOException {
9416 if (((bitField0_ & 0x00000002) != 0)) {
9417 output.writeEnum(1, preferredVariableOrder_);
9418 }
9419 if (((bitField0_ & 0x00000004) != 0)) {
9420 output.writeEnum(2, initialPolarity_);
9421 }
9422 if (((bitField0_ & 0x00000400) != 0)) {
9423 output.writeEnum(4, minimizationAlgorithm_);
9424 }
9425 if (((bitField0_ & 0x00002000) != 0)) {
9426 output.writeInt32(11, clauseCleanupPeriod_);
9427 }
9428 if (((bitField0_ & 0x00004000) != 0)) {
9429 output.writeInt32(13, clauseCleanupTarget_);
9430 }
9431 if (((bitField0_ & 0x00200000) != 0)) {
9432 output.writeDouble(15, variableActivityDecay_);
9433 }
9434 if (((bitField0_ & 0x00400000) != 0)) {
9435 output.writeDouble(16, maxVariableActivityValue_);
9436 }
9437 if (((bitField0_ & 0x04000000) != 0)) {
9438 output.writeDouble(17, clauseActivityDecay_);
9439 }
9440 if (((bitField0_ & 0x08000000) != 0)) {
9441 output.writeDouble(18, maxClauseActivityValue_);
9442 }
9443 if (((bitField0_ & 0x00800000) != 0)) {
9444 output.writeDouble(22, glucoseMaxDecay_);
9445 }
9446 if (((bitField0_ & 0x01000000) != 0)) {
9447 output.writeDouble(23, glucoseDecayIncrement_);
9448 }
9449 if (((bitField0_ & 0x02000000) != 0)) {
9450 output.writeInt32(24, glucoseDecayIncrementPeriod_);
9451 }
9452 if (((bitField0_ & 0x20000000) != 0)) {
9453 output.writeInt32(30, restartPeriod_);
9454 }
9455 if (((bitField1_ & 0x00001000) != 0)) {
9456 output.writeInt32(31, randomSeed_);
9457 }
9458 if (((bitField0_ & 0x00000040) != 0)) {
9459 output.writeDouble(32, randomBranchesRatio_);
9460 }
9461 if (((bitField0_ & 0x00000800) != 0)) {
9462 output.writeEnum(34, binaryMinimizationAlgorithm_);
9463 }
9464 if (((bitField3_ & 0x00000001) != 0)) {
9465 output.writeBool(35, useOptimizationHints_);
9466 }
9467 if (((bitField1_ & 0x00000040) != 0)) {
9468 output.writeDouble(36, maxTimeInSeconds_);
9469 }
9470 if (((bitField1_ & 0x00000100) != 0)) {
9471 output.writeInt64(37, maxNumberOfConflicts_);
9472 }
9473 if (((bitField1_ & 0x00000200) != 0)) {
9474 output.writeInt64(40, maxMemoryInMb_);
9475 }
9476 if (((bitField1_ & 0x00010000) != 0)) {
9477 output.writeBool(41, logSearchProgress_);
9478 }
9479 if (((bitField1_ & 0x00200000) != 0)) {
9480 output.writeBool(43, usePbResolution_);
9481 }
9482 if (((bitField0_ & 0x00000008) != 0)) {
9483 output.writeBool(44, usePhaseSaving_);
9484 }
9485 if (((bitField0_ & 0x00000020) != 0)) {
9486 output.writeDouble(45, randomPolarityRatio_);
9487 }
9488 if (((bitField0_ & 0x00080000) != 0)) {
9489 output.writeInt32(46, pbCleanupIncrement_);
9490 }
9491 if (((bitField0_ & 0x00100000) != 0)) {
9492 output.writeDouble(47, pbCleanupRatio_);
9493 }
9494 if (((bitField1_ & 0x00400000) != 0)) {
9495 output.writeBool(48, minimizeReductionDuringPbResolution_);
9496 }
9497 if (((bitField1_ & 0x00800000) != 0)) {
9498 output.writeBool(49, countAssumptionLevelsInLbd_);
9499 }
9500 if (((bitField3_ & 0x00000002) != 0)) {
9501 output.writeInt32(50, coreMinimizationLevel_);
9502 }
9503 if (((bitField3_ & 0x00000010) != 0)) {
9504 output.writeEnum(51, maxSatAssumptionOrder_);
9505 }
9506 if (((bitField3_ & 0x00000020) != 0)) {
9507 output.writeBool(52, maxSatReverseAssumptionOrder_);
9508 }
9509 if (((bitField3_ & 0x00000040) != 0)) {
9510 output.writeEnum(53, maxSatStratification_);
9511 }
9512 if (((bitField1_ & 0x01000000) != 0)) {
9513 output.writeInt32(54, presolveBveThreshold_);
9514 }
9515 if (((bitField1_ & 0x02000000) != 0)) {
9516 output.writeInt32(55, presolveBveClauseWeight_);
9517 }
9518 if (((bitField0_ & 0x00001000) != 0)) {
9519 output.writeBool(56, subsumptionDuringConflictAnalysis_);
9520 }
9521 if (((bitField1_ & 0x08000000) != 0)) {
9522 output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
9523 }
9524 if (((bitField0_ & 0x00010000) != 0)) {
9525 output.writeEnum(58, clauseCleanupProtection_);
9526 }
9527 if (((bitField0_ & 0x00020000) != 0)) {
9528 output.writeInt32(59, clauseCleanupLbdBound_);
9529 }
9530 if (((bitField0_ & 0x00040000) != 0)) {
9531 output.writeEnum(60, clauseCleanupOrdering_);
9532 }
9533 for (int i = 0; i < restartAlgorithms_.size(); i++) {
9534 output.writeEnum(61, restartAlgorithms_.get(i));
9535 }
9536 if (((bitField0_ & 0x40000000) != 0)) {
9537 output.writeInt32(62, restartRunningWindowSize_);
9538 }
9539 if (((bitField0_ & 0x80000000) != 0)) {
9540 output.writeDouble(63, restartDlAverageRatio_);
9541 }
9542 if (((bitField1_ & 0x00000002) != 0)) {
9543 output.writeBool(64, useBlockingRestart_);
9544 }
9545 if (((bitField1_ & 0x00000004) != 0)) {
9546 output.writeInt32(65, blockingRestartWindowSize_);
9547 }
9548 if (((bitField1_ & 0x00000008) != 0)) {
9549 output.writeDouble(66, blockingRestartMultiplier_);
9550 }
9551 if (((bitField1_ & 0x00000080) != 0)) {
9552 output.writeDouble(67, maxDeterministicTime_);
9553 }
9554 if (((bitField1_ & 0x00000010) != 0)) {
9555 output.writeInt32(68, numConflictsBeforeStrategyChanges_);
9556 }
9557 if (((bitField1_ & 0x00000020) != 0)) {
9558 output.writeDouble(69, strategyChangeIncreaseRatio_);
9559 }
9560 if (((bitField0_ & 0x10000000) != 0)) {
9561 com.google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
9562 }
9563 if (((bitField1_ & 0x00000001) != 0)) {
9564 output.writeDouble(71, restartLbdAverageRatio_);
9565 }
9566 if (((bitField1_ & 0x20000000) != 0)) {
9567 output.writeBool(72, presolveUseBva_);
9568 }
9569 if (((bitField1_ & 0x40000000) != 0)) {
9570 output.writeInt32(73, presolveBvaThreshold_);
9571 }
9572 if (((bitField3_ & 0x00000100) != 0)) {
9573 output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
9574 }
9575 if (((bitField0_ & 0x00000080) != 0)) {
9576 output.writeBool(75, useErwaHeuristic_);
9577 }
9578 if (((bitField0_ & 0x00000100) != 0)) {
9579 output.writeDouble(76, initialVariablesActivity_);
9580 }
9581 if (((bitField0_ & 0x00000200) != 0)) {
9582 output.writeBool(77, alsoBumpVariablesInConflictReasons_);
9583 }
9584 if (((bitField3_ & 0x00002000) != 0)) {
9585 output.writeBool(78, useOverloadCheckerInCumulative_);
9586 }
9587 if (((bitField3_ & 0x00004000) != 0)) {
9588 output.writeBool(79, useTimetableEdgeFindingInCumulative_);
9589 }
9590 if (((bitField3_ & 0x00040000) != 0)) {
9591 output.writeBool(80, useDisjunctiveConstraintInCumulative_);
9592 }
9593 if (((bitField3_ & 0x01000000) != 0)) {
9594 output.writeEnum(82, searchBranching_);
9595 }
9596 if (((bitField4_ & 0x00000010) != 0)) {
9597 output.writeBool(83, optimizeWithCore_);
9598 }
9599 if (((bitField3_ & 0x00000004) != 0)) {
9600 output.writeBool(84, findMultipleCores_);
9601 }
9602 if (((bitField4_ & 0x00000080) != 0)) {
9603 output.writeBool(85, optimizeWithMaxHs_);
9604 }
9605 if (((bitField2_ & 0x00000001) != 0)) {
9606 output.writeBool(86, cpModelPresolve_);
9607 }
9608 if (((bitField4_ & 0x02000000) != 0)) {
9609 output.writeBool(87, enumerateAllSolutions_);
9610 }
9611 if (((bitField1_ & 0x10000000) != 0)) {
9612 output.writeBool(88, presolveBlockedClause_);
9613 }
9614 if (((bitField3_ & 0x00000008) != 0)) {
9615 output.writeBool(89, coverOptimization_);
9616 }
9617 if (((bitField5_ & 0x02000000) != 0)) {
9618 output.writeInt32(90, linearizationLevel_);
9619 }
9620 if (((bitField5_ & 0x10000000) != 0)) {
9621 output.writeInt32(91, maxNumCuts_);
9622 }
9623 if (((bitField5_ & 0x40000000) != 0)) {
9624 output.writeBool(92, onlyAddCutsAtLevelZero_);
9625 }
9626 if (((bitField2_ & 0x00000004) != 0)) {
9627 output.writeBool(93, cpModelUseSatPresolve_);
9628 }
9629 if (((bitField6_ & 0x00020000) != 0)) {
9630 output.writeBool(94, exploitIntegerLpSolution_);
9631 }
9632 if (((bitField4_ & 0x40000000) != 0)) {
9633 output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
9634 }
9635 if (((bitField4_ & 0x80000000) != 0)) {
9636 output.writeBool(98, stopAfterFirstSolution_);
9637 }
9638 if (((bitField4_ & 0x00000040) != 0)) {
9639 output.writeInt32(99, binarySearchNumConflicts_);
9640 }
9641 if (((bitField2_ & 0x00400000) != 0)) {
9642 output.writeInt32(100, numSearchWorkers_);
9643 }
9644 if (((bitField5_ & 0x00000004) != 0)) {
9645 output.writeBool(101, useLnsOnly_);
9646 }
9647 if (((bitField5_ & 0x00000200) != 0)) {
9648 output.writeBool(103, randomizeSearch_);
9649 }
9650 if (((bitField5_ & 0x00000400) != 0)) {
9651 output.writeInt64(104, searchRandomVariablePoolSize_);
9652 }
9653 if (((bitField4_ & 0x20000000) != 0)) {
9654 output.writeBool(106, instantiateAllVariables_);
9655 }
9656 if (((bitField5_ & 0x04000000) != 0)) {
9657 output.writeInt32(107, booleanEncodingLevel_);
9658 }
9659 if (((bitField5_ & 0x00001000) != 0)) {
9660 output.writeBool(108, useOptionalVariables_);
9661 }
9662 if (((bitField5_ & 0x00002000) != 0)) {
9663 output.writeBool(109, useExactLpReason_);
9664 }
9665 if (((bitField2_ & 0x00000002) != 0)) {
9666 output.writeInt32(110, cpModelProbingLevel_);
9667 }
9668 if (((bitField6_ & 0x00000100) != 0)) {
9669 output.writeBool(112, addLpConstraintsLazily_);
9670 }
9671 if (((bitField2_ & 0x04000000) != 0)) {
9672 output.writeBool(113, shareObjectiveBounds_);
9673 }
9674 if (((bitField2_ & 0x08000000) != 0)) {
9675 output.writeBool(114, shareLevelZeroBounds_);
9676 }
9677 if (((bitField6_ & 0x00000400) != 0)) {
9678 output.writeDouble(115, minOrthogonalityForLpConstraints_);
9679 }
9680 if (((bitField6_ & 0x00040000) != 0)) {
9681 output.writeBool(116, exploitAllLpSolution_);
9682 }
9683 if (((bitField6_ & 0x00000001) != 0)) {
9684 output.writeBool(117, addCgCuts_);
9685 }
9686 if (((bitField6_ & 0x00000080) != 0)) {
9687 output.writeInt32(119, maxIntegerRoundingScaling_);
9688 }
9689 if (((bitField6_ & 0x00000002) != 0)) {
9690 output.writeBool(120, addMirCuts_);
9691 }
9692 if (((bitField6_ & 0x00001000) != 0)) {
9693 output.writeInt32(121, maxConsecutiveInactiveCount_);
9694 }
9695 if (((bitField6_ & 0x00010000) != 0)) {
9696 output.writeInt32(122, newConstraintsBatchSize_);
9697 }
9698 if (((bitField4_ & 0x00000008) != 0)) {
9699 output.writeInt64(123, pseudoCostReliabilityThreshold_);
9700 }
9701 if (((bitField6_ & 0x00800000) != 0)) {
9702 output.writeDouble(124, mipMaxBound_);
9703 }
9704 if (((bitField6_ & 0x01000000) != 0)) {
9705 output.writeDouble(125, mipVarScaling_);
9706 }
9707 if (((bitField6_ & 0x10000000) != 0)) {
9708 output.writeDouble(126, mipWantedPrecision_);
9709 }
9710 if (((bitField6_ & 0x20000000) != 0)) {
9711 output.writeInt32(127, mipMaxActivityExponent_);
9712 }
9713 if (((bitField6_ & 0x40000000) != 0)) {
9714 output.writeDouble(128, mipCheckPrecision_);
9715 }
9716 if (((bitField5_ & 0x00000010) != 0)) {
9717 output.writeBool(129, useRinsLns_);
9718 }
9719 if (((bitField6_ & 0x00080000) != 0)) {
9720 output.writeBool(130, exploitBestSolution_);
9721 }
9722 if (((bitField6_ & 0x00200000) != 0)) {
9723 output.writeBool(131, exploitObjective_);
9724 }
9725 if (((bitField4_ & 0x08000000) != 0)) {
9726 output.writeBool(132, fillTightenedDomainsInResponse_);
9727 }
9728 if (((bitField5_ & 0x00004000) != 0)) {
9729 output.writeBool(133, useCombinedNoOverlap_);
9730 }
9731 if (((bitField2_ & 0x02000000) != 0)) {
9732 output.writeInt32(134, interleaveBatchSize_);
9733 }
9734 if (((bitField5_ & 0x00010000) != 0)) {
9735 output.writeBool(135, catchSigintSignal_);
9736 }
9737 if (((bitField2_ & 0x01000000) != 0)) {
9738 output.writeBool(136, interleaveSearch_);
9739 }
9740 if (((bitField5_ & 0x00000100) != 0)) {
9741 output.writeBool(137, diversifyLnsParams_);
9742 }
9743 if (((bitField1_ & 0x80000000) != 0)) {
9744 output.writeInt32(138, maxPresolveIterations_);
9745 }
9746 if (((bitField5_ & 0x00020000) != 0)) {
9747 output.writeBool(144, useImpliedBounds_);
9748 }
9749 if (((bitField2_ & 0x00000200) != 0)) {
9750 output.writeDouble(145, mergeNoOverlapWorkLimit_);
9751 }
9752 if (((bitField2_ & 0x00000400) != 0)) {
9753 output.writeDouble(146, mergeAtMostOneWorkLimit_);
9754 }
9755 if (((bitField2_ & 0x00000800) != 0)) {
9756 output.writeInt32(147, presolveSubstitutionLevel_);
9757 }
9758 if (((bitField6_ & 0x00000020) != 0)) {
9759 output.writeInt32(148, maxAllDiffCutSize_);
9760 }
9761 if (((bitField5_ & 0x00000001) != 0)) {
9762 output.writeBool(149, stopAfterPresolve_);
9763 }
9764 if (((bitField2_ & 0x40000000) != 0)) {
9765 output.writeInt32(151, debugMaxNumPresolveOperations_);
9766 }
9767 if (((bitField6_ & 0x00000040) != 0)) {
9768 output.writeBool(152, addLinMaxCuts_);
9769 }
9770 if (((bitField3_ & 0x02000000) != 0)) {
9771 output.writeInt32(153, hintConflictLimit_);
9772 }
9773 if (((bitField6_ & 0x00000800) != 0)) {
9774 output.writeInt32(154, maxCutRoundsAtLevelZero_);
9775 }
9776 if (((bitField6_ & 0x00002000) != 0)) {
9777 output.writeDouble(155, cutMaxActiveCountValue_);
9778 }
9779 if (((bitField6_ & 0x00004000) != 0)) {
9780 output.writeDouble(156, cutActiveCountDecay_);
9781 }
9782 if (((bitField6_ & 0x00008000) != 0)) {
9783 output.writeInt32(157, cutCleanupTarget_);
9784 }
9785 if (((bitField1_ & 0x00000400) != 0)) {
9786 output.writeDouble(159, absoluteGapLimit_);
9787 }
9788 if (((bitField1_ & 0x00000800) != 0)) {
9789 output.writeDouble(160, relativeGapLimit_);
9790 }
9791 if (((bitField6_ & 0x00100000) != 0)) {
9792 output.writeBool(161, exploitRelaxationSolution_);
9793 }
9794 if (((bitField2_ & 0x20000000) != 0)) {
9795 output.writeBool(162, debugPostsolveWithFullSolver_);
9796 }
9797 if (((bitField2_ & 0x00020000) != 0)) {
9798 output.writeBool(163, useSatInprocessing_);
9799 }
9800 if (((bitField5_ & 0x00000020) != 0)) {
9801 output.writeBool(164, useFeasibilityPump_);
9802 }
9803 if (((bitField5_ & 0x00000080) != 0)) {
9804 output.writeEnum(165, fpRounding_);
9805 }
9806 if (((bitField6_ & 0x04000000) != 0)) {
9807 output.writeBool(166, mipAutomaticallyScaleVariables_);
9808 }
9809 if (((bitField3_ & 0x04000000) != 0)) {
9810 output.writeBool(167, repairHint_);
9811 }
9812 if (((bitField0_ & 0x00000010) != 0)) {
9813 output.writeInt32(168, polarityRephaseIncrement_);
9814 }
9815 if (((bitField6_ & 0x00000004) != 0)) {
9816 output.writeBool(169, addZeroHalfCuts_);
9817 }
9818 if (((bitField2_ & 0x00000020) != 0)) {
9819 output.writeBool(170, expandAlldiffConstraints_);
9820 }
9821 if (((bitField0_ & 0x00000001) != 0)) {
9822 com.google.protobuf.GeneratedMessageV3.writeString(output, 171, name_);
9823 }
9824 if (((bitField6_ & 0x00000008) != 0)) {
9825 output.writeBool(172, addCliqueCuts_);
9826 }
9827 if (((bitField4_ & 0x04000000) != 0)) {
9828 output.writeBool(173, keepAllFeasibleSolutionsInPresolve_);
9829 }
9830 if (((bitField2_ & 0x00001000) != 0)) {
9831 output.writeBool(174, presolveExtractIntegerEnforcement_);
9832 }
9833 if (((bitField5_ & 0x00040000) != 0)) {
9834 output.writeBool(175, polishLpSolution_);
9835 }
9836 if (((bitField3_ & 0x10000000) != 0)) {
9837 output.writeBool(176, useProbingSearch_);
9838 }
9839 if (((bitField5_ & 0x00200000) != 0)) {
9840 output.writeBool(177, convertIntervals_);
9841 }
9842 if (((bitField1_ & 0x00002000) != 0)) {
9843 output.writeBool(178, permuteVariableRandomly_);
9844 }
9845 if (((bitField1_ & 0x00004000) != 0)) {
9846 output.writeBool(179, permutePresolveConstraintOrder_);
9847 }
9848 if (((bitField1_ & 0x00008000) != 0)) {
9849 output.writeBool(180, useAbslRandom_);
9850 }
9851 if (((bitField2_ & 0x00000080) != 0)) {
9852 output.writeBool(181, disableConstraintExpansion_);
9853 }
9854 if (((bitField2_ & 0x00000040) != 0)) {
9855 output.writeBool(182, expandReservoirConstraints_);
9856 }
9857 if (((bitField5_ & 0x00400000) != 0)) {
9858 output.writeInt32(183, symmetryLevel_);
9859 }
9860 if (((bitField1_ & 0x00040000) != 0)) {
9861 com.google.protobuf.GeneratedMessageV3.writeString(output, 185, logPrefix_);
9862 }
9863 if (((bitField1_ & 0x00080000) != 0)) {
9864 output.writeBool(186, logToStdout_);
9865 }
9866 if (((bitField1_ & 0x00100000) != 0)) {
9867 output.writeBool(187, logToResponse_);
9868 }
9869 if (((bitField4_ & 0x00000020) != 0)) {
9870 output.writeBool(188, optimizeWithLbTreeSearch_);
9871 }
9872 if (((bitField1_ & 0x00020000) != 0)) {
9873 output.writeBool(189, logSubsolverStatistics_);
9874 }
9875 if (((bitField0_ & 0x00008000) != 0)) {
9876 output.writeDouble(190, clauseCleanupRatio_);
9877 }
9878 if (((bitField5_ & 0x08000000) != 0)) {
9879 output.writeInt32(191, maxDomainSizeWhenEncodingEqNeqConstraints_);
9880 }
9881 if (((bitField3_ & 0x08000000) != 0)) {
9882 output.writeBool(192, fixVariablesToTheirHintedValue_);
9883 }
9884 if (((bitField5_ & 0x00000008) != 0)) {
9885 output.writeInt32(193, solutionPoolSize_);
9886 }
9887 if (((bitField4_ & 0x10000000) != 0)) {
9888 output.writeBool(194, fillAdditionalSolutionsInResponse_);
9889 }
9890 if (((bitField2_ & 0x80000000) != 0)) {
9891 output.writeBool(195, debugCrashOnBadHint_);
9892 }
9893 if (((bitField5_ & 0x20000000) != 0)) {
9894 output.writeInt32(196, cutLevel_);
9895 }
9896 if (((bitField5_ & 0x80000000) != 0)) {
9897 output.writeBool(197, addObjectiveCut_);
9898 }
9899 if (((bitField6_ & 0x80000000) != 0)) {
9900 output.writeBool(198, mipComputeTrueObjectiveBound_);
9901 }
9902 if (((bitField7_ & 0x00000001) != 0)) {
9903 output.writeDouble(199, mipMaxValidMagnitude_);
9904 }
9905 if (((bitField3_ & 0x00080000) != 0)) {
9906 output.writeBool(200, useTimetablingInNoOverlap2D_);
9907 }
9908 if (((bitField2_ & 0x00002000) != 0)) {
9909 output.writeInt64(201, presolveInclusionWorkLimit_);
9910 }
9911 if (((bitField2_ & 0x00004000) != 0)) {
9912 output.writeBool(202, ignoreNames_);
9913 }
9914 if (((bitField2_ & 0x10000000) != 0)) {
9915 output.writeBool(203, shareBinaryClauses_);
9916 }
9917 if (((bitField3_ & 0x80000000) != 0)) {
9918 output.writeBool(204, useShavingInProbingSearch_);
9919 }
9920 if (((bitField4_ & 0x00000001) != 0)) {
9921 output.writeDouble(205, shavingSearchDeterministicTime_);
9922 }
9923 if (((bitField2_ & 0x00200000) != 0)) {
9924 output.writeInt32(206, numWorkers_);
9925 }
9926 for (int i = 0; i < subsolvers_.size(); i++) {
9927 com.google.protobuf.GeneratedMessageV3.writeString(output, 207, subsolvers_.getRaw(i));
9928 }
9929 for (int i = 0; i < ignoreSubsolvers_.size(); i++) {
9930 com.google.protobuf.GeneratedMessageV3.writeString(output, 209, ignoreSubsolvers_.getRaw(i));
9931 }
9932 for (int i = 0; i < subsolverParams_.size(); i++) {
9933 output.writeMessage(210, subsolverParams_.get(i));
9934 }
9935 if (((bitField2_ & 0x00800000) != 0)) {
9936 output.writeInt32(211, minNumLnsWorkers_);
9937 }
9938 if (((bitField3_ & 0x00100000) != 0)) {
9939 output.writeBool(213, useEnergeticReasoningInNoOverlap2D_);
9940 }
9941 if (((bitField3_ & 0x00800000) != 0)) {
9942 output.writeBool(214, useDualSchedulingHeuristics_);
9943 }
9944 if (((bitField3_ & 0x00010000) != 0)) {
9945 output.writeBool(215, useHardPrecedencesInCumulative_);
9946 }
9947 if (((bitField2_ & 0x00000008) != 0)) {
9948 output.writeBool(216, detectTableWithCost_);
9949 }
9950 if (((bitField2_ & 0x00000010) != 0)) {
9951 output.writeInt32(217, tableCompressionLevel_);
9952 }
9953 for (int i = 0; i < extraSubsolvers_.size(); i++) {
9954 com.google.protobuf.GeneratedMessageV3.writeString(output, 219, extraSubsolvers_.getRaw(i));
9955 }
9956 if (((bitField3_ & 0x00020000) != 0)) {
9957 output.writeBool(220, exploitAllPrecedences_);
9958 }
9959 if (((bitField3_ & 0x00000080) != 0)) {
9960 output.writeDouble(221, propagationLoopDetectionFactor_);
9961 }
9962 if (((bitField6_ & 0x08000000) != 0)) {
9963 output.writeBool(222, onlySolveIp_);
9964 }
9965 if (((bitField2_ & 0x00000100) != 0)) {
9966 output.writeBool(223, encodeComplexLinearConstraintWithInteger_);
9967 }
9968 if (((bitField5_ & 0x00800000) != 0)) {
9969 output.writeBool(224, newLinearPropagation_);
9970 }
9971 if (((bitField6_ & 0x02000000) != 0)) {
9972 output.writeBool(225, mipScaleLargeDomain_);
9973 }
9974 if (((bitField1_ & 0x04000000) != 0)) {
9975 output.writeDouble(226, probingDeterministicTimeLimit_);
9976 }
9977 if (((bitField6_ & 0x00000200) != 0)) {
9978 output.writeInt32(227, rootLpIterations_);
9979 }
9980 if (((bitField4_ & 0x00000002) != 0)) {
9981 output.writeBool(228, useObjectiveLbSearch_);
9982 }
9983 if (((bitField3_ & 0x00000200) != 0)) {
9984 output.writeInt32(229, maxSizeToCreatePrecedenceLiteralsInDisjunctive_);
9985 }
9986 if (((bitField3_ & 0x00000400) != 0)) {
9987 output.writeBool(230, useStrongPropagationInDisjunctive_);
9988 }
9989 if (((bitField7_ & 0x00000004) != 0)) {
9990 output.writeDouble(232, mipDropTolerance_);
9991 }
9992 if (((bitField2_ & 0x00008000) != 0)) {
9993 output.writeBool(233, inferAllDiffs_);
9994 }
9995 if (((bitField2_ & 0x00010000) != 0)) {
9996 output.writeBool(234, findBigLinearOverlap_);
9997 }
9998 if (((bitField4_ & 0x00100000) != 0)) {
9999 output.writeInt32(235, sharedTreeNumWorkers_);
10000 }
10001 if (((bitField4_ & 0x00200000) != 0)) {
10002 output.writeBool(236, useSharedTreeSearch_);
10003 }
10004 if (((bitField4_ & 0x00400000) != 0)) {
10005 output.writeDouble(237, sharedTreeWorkerObjectiveSplitProbability_);
10006 }
10007 if (((bitField4_ & 0x00800000) != 0)) {
10008 output.writeInt32(238, sharedTreeMaxNodesPerWorker_);
10009 }
10010 if (((bitField4_ & 0x01000000) != 0)) {
10011 output.writeEnum(239, sharedTreeSplitStrategy_);
10012 }
10013 if (((bitField4_ & 0x00000200) != 0)) {
10014 output.writeBool(240, testFeasibilityJump_);
10015 }
10016 if (((bitField4_ & 0x00000400) != 0)) {
10017 output.writeDouble(242, feasibilityJumpDecay_);
10018 }
10019 if (((bitField4_ & 0x00020000) != 0)) {
10020 output.writeInt32(244, numViolationLs_);
10021 }
10022 if (((bitField4_ & 0x00002000) != 0)) {
10023 output.writeDouble(247, feasibilityJumpVarRandomizationProbability_);
10024 }
10025 if (((bitField4_ & 0x00004000) != 0)) {
10026 output.writeDouble(248, feasibilityJumpVarPerburbationRangeRatio_);
10027 }
10028 if (((bitField4_ & 0x00040000) != 0)) {
10029 output.writeInt32(249, violationLsPerturbationPeriod_);
10030 }
10031 if (((bitField4_ & 0x00008000) != 0)) {
10032 output.writeBool(250, feasibilityJumpEnableRestarts_);
10033 }
10034 if (((bitField5_ & 0x00000002) != 0)) {
10035 output.writeBool(252, stopAfterRootPropagation_);
10036 }
10037 if (((bitField4_ & 0x00000004) != 0)) {
10038 output.writeBool(253, useObjectiveShavingSearch_);
10039 }
10040 if (((bitField5_ & 0x00000040) != 0)) {
10041 output.writeBool(255, useLbRelaxLns_);
10042 }
10043 if (((bitField5_ & 0x01000000) != 0)) {
10044 output.writeInt32(256, linearSplitSize_);
10045 }
10046 if (((bitField4_ & 0x00000800) != 0)) {
10047 output.writeInt32(257, feasibilityJumpLinearizationLevel_);
10048 }
10049 if (((bitField4_ & 0x00001000) != 0)) {
10050 output.writeInt32(258, feasibilityJumpRestartFactor_);
10051 }
10052 if (((bitField4_ & 0x00080000) != 0)) {
10053 output.writeDouble(259, violationLsCompoundMoveProbability_);
10054 }
10055 if (((bitField3_ & 0x00008000) != 0)) {
10056 output.writeInt32(260, maxNumIntervalsForTimetableEdgeFinding_);
10057 }
10058 if (((bitField7_ & 0x00000008) != 0)) {
10059 output.writeInt32(261, mipPresolveLevel_);
10060 }
10061 if (((bitField5_ & 0x00000800) != 0)) {
10062 output.writeBool(262, pushAllTasksTowardStart_);
10063 }
10064 if (((bitField3_ & 0x00000800) != 0)) {
10065 output.writeBool(263, useDynamicPrecedenceInDisjunctive_);
10066 }
10067 if (((bitField4_ & 0x00010000) != 0)) {
10068 output.writeInt32(264, feasibilityJumpMaxExpandedConstraintSize_);
10069 }
10070 if (((bitField4_ & 0x00000100) != 0)) {
10071 output.writeBool(265, useFeasibilityJump_);
10072 }
10073 if (((bitField5_ & 0x00080000) != 0)) {
10074 output.writeDouble(266, lpPrimalTolerance_);
10075 }
10076 if (((bitField5_ & 0x00100000) != 0)) {
10077 output.writeDouble(267, lpDualTolerance_);
10078 }
10079 if (((bitField3_ & 0x00001000) != 0)) {
10080 output.writeBool(268, useDynamicPrecedenceInCumulative_);
10081 }
10082 if (((bitField3_ & 0x20000000) != 0)) {
10083 output.writeBool(269, useExtendedProbing_);
10084 }
10085 if (((bitField5_ & 0x00008000) != 0)) {
10086 output.writeInt32(270, atMostOneMaxExpansionSize_);
10087 }
10088 if (((bitField3_ & 0x00200000) != 0)) {
10089 output.writeBool(271, useAreaEnergeticReasoningInNoOverlap2D_);
10090 }
10091 if (((bitField3_ & 0x40000000) != 0)) {
10092 output.writeInt32(272, probingNumCombinationsLimit_);
10093 }
10094 if (((bitField2_ & 0x00040000) != 0)) {
10095 output.writeDouble(273, inprocessingDtimeRatio_);
10096 }
10097 if (((bitField2_ & 0x00080000) != 0)) {
10098 output.writeDouble(274, inprocessingProbingDtime_);
10099 }
10100 if (((bitField2_ & 0x00100000) != 0)) {
10101 output.writeDouble(275, inprocessingMinimizationDtime_);
10102 }
10103 if (((bitField3_ & 0x00400000) != 0)) {
10104 output.writeInt32(276, maxPairsPairwiseReasoningInNoOverlap2D_);
10105 }
10106 if (((bitField6_ & 0x00400000) != 0)) {
10107 output.writeBool(277, detectLinearizedProduct_);
10108 }
10109 if (((bitField7_ & 0x00000002) != 0)) {
10110 output.writeBool(278, mipTreatHighMagnitudeBoundsAsInfinity_);
10111 }
10112 if (((bitField6_ & 0x00000010) != 0)) {
10113 output.writeBool(279, addRltCuts_);
10114 }
10115 getUnknownFields().writeTo(output);
10116 }
10117
10118 @java.lang.Override
10119 public int getSerializedSize() {
10120 int size = memoizedSize;
10121 if (size != -1) return size;
10122
10123 size = 0;
10124 if (((bitField0_ & 0x00000002) != 0)) {
10125 size += com.google.protobuf.CodedOutputStream
10126 .computeEnumSize(1, preferredVariableOrder_);
10127 }
10128 if (((bitField0_ & 0x00000004) != 0)) {
10129 size += com.google.protobuf.CodedOutputStream
10130 .computeEnumSize(2, initialPolarity_);
10131 }
10132 if (((bitField0_ & 0x00000400) != 0)) {
10133 size += com.google.protobuf.CodedOutputStream
10134 .computeEnumSize(4, minimizationAlgorithm_);
10135 }
10136 if (((bitField0_ & 0x00002000) != 0)) {
10137 size += com.google.protobuf.CodedOutputStream
10138 .computeInt32Size(11, clauseCleanupPeriod_);
10139 }
10140 if (((bitField0_ & 0x00004000) != 0)) {
10141 size += com.google.protobuf.CodedOutputStream
10142 .computeInt32Size(13, clauseCleanupTarget_);
10143 }
10144 if (((bitField0_ & 0x00200000) != 0)) {
10145 size += com.google.protobuf.CodedOutputStream
10146 .computeDoubleSize(15, variableActivityDecay_);
10147 }
10148 if (((bitField0_ & 0x00400000) != 0)) {
10149 size += com.google.protobuf.CodedOutputStream
10150 .computeDoubleSize(16, maxVariableActivityValue_);
10151 }
10152 if (((bitField0_ & 0x04000000) != 0)) {
10153 size += com.google.protobuf.CodedOutputStream
10154 .computeDoubleSize(17, clauseActivityDecay_);
10155 }
10156 if (((bitField0_ & 0x08000000) != 0)) {
10157 size += com.google.protobuf.CodedOutputStream
10158 .computeDoubleSize(18, maxClauseActivityValue_);
10159 }
10160 if (((bitField0_ & 0x00800000) != 0)) {
10161 size += com.google.protobuf.CodedOutputStream
10162 .computeDoubleSize(22, glucoseMaxDecay_);
10163 }
10164 if (((bitField0_ & 0x01000000) != 0)) {
10165 size += com.google.protobuf.CodedOutputStream
10166 .computeDoubleSize(23, glucoseDecayIncrement_);
10167 }
10168 if (((bitField0_ & 0x02000000) != 0)) {
10169 size += com.google.protobuf.CodedOutputStream
10170 .computeInt32Size(24, glucoseDecayIncrementPeriod_);
10171 }
10172 if (((bitField0_ & 0x20000000) != 0)) {
10173 size += com.google.protobuf.CodedOutputStream
10174 .computeInt32Size(30, restartPeriod_);
10175 }
10176 if (((bitField1_ & 0x00001000) != 0)) {
10177 size += com.google.protobuf.CodedOutputStream
10178 .computeInt32Size(31, randomSeed_);
10179 }
10180 if (((bitField0_ & 0x00000040) != 0)) {
10181 size += com.google.protobuf.CodedOutputStream
10182 .computeDoubleSize(32, randomBranchesRatio_);
10183 }
10184 if (((bitField0_ & 0x00000800) != 0)) {
10185 size += com.google.protobuf.CodedOutputStream
10186 .computeEnumSize(34, binaryMinimizationAlgorithm_);
10187 }
10188 if (((bitField3_ & 0x00000001) != 0)) {
10189 size += com.google.protobuf.CodedOutputStream
10190 .computeBoolSize(35, useOptimizationHints_);
10191 }
10192 if (((bitField1_ & 0x00000040) != 0)) {
10193 size += com.google.protobuf.CodedOutputStream
10194 .computeDoubleSize(36, maxTimeInSeconds_);
10195 }
10196 if (((bitField1_ & 0x00000100) != 0)) {
10197 size += com.google.protobuf.CodedOutputStream
10198 .computeInt64Size(37, maxNumberOfConflicts_);
10199 }
10200 if (((bitField1_ & 0x00000200) != 0)) {
10201 size += com.google.protobuf.CodedOutputStream
10202 .computeInt64Size(40, maxMemoryInMb_);
10203 }
10204 if (((bitField1_ & 0x00010000) != 0)) {
10205 size += com.google.protobuf.CodedOutputStream
10206 .computeBoolSize(41, logSearchProgress_);
10207 }
10208 if (((bitField1_ & 0x00200000) != 0)) {
10209 size += com.google.protobuf.CodedOutputStream
10210 .computeBoolSize(43, usePbResolution_);
10211 }
10212 if (((bitField0_ & 0x00000008) != 0)) {
10213 size += com.google.protobuf.CodedOutputStream
10214 .computeBoolSize(44, usePhaseSaving_);
10215 }
10216 if (((bitField0_ & 0x00000020) != 0)) {
10217 size += com.google.protobuf.CodedOutputStream
10218 .computeDoubleSize(45, randomPolarityRatio_);
10219 }
10220 if (((bitField0_ & 0x00080000) != 0)) {
10221 size += com.google.protobuf.CodedOutputStream
10222 .computeInt32Size(46, pbCleanupIncrement_);
10223 }
10224 if (((bitField0_ & 0x00100000) != 0)) {
10225 size += com.google.protobuf.CodedOutputStream
10226 .computeDoubleSize(47, pbCleanupRatio_);
10227 }
10228 if (((bitField1_ & 0x00400000) != 0)) {
10229 size += com.google.protobuf.CodedOutputStream
10230 .computeBoolSize(48, minimizeReductionDuringPbResolution_);
10231 }
10232 if (((bitField1_ & 0x00800000) != 0)) {
10233 size += com.google.protobuf.CodedOutputStream
10234 .computeBoolSize(49, countAssumptionLevelsInLbd_);
10235 }
10236 if (((bitField3_ & 0x00000002) != 0)) {
10237 size += com.google.protobuf.CodedOutputStream
10238 .computeInt32Size(50, coreMinimizationLevel_);
10239 }
10240 if (((bitField3_ & 0x00000010) != 0)) {
10241 size += com.google.protobuf.CodedOutputStream
10242 .computeEnumSize(51, maxSatAssumptionOrder_);
10243 }
10244 if (((bitField3_ & 0x00000020) != 0)) {
10245 size += com.google.protobuf.CodedOutputStream
10246 .computeBoolSize(52, maxSatReverseAssumptionOrder_);
10247 }
10248 if (((bitField3_ & 0x00000040) != 0)) {
10249 size += com.google.protobuf.CodedOutputStream
10250 .computeEnumSize(53, maxSatStratification_);
10251 }
10252 if (((bitField1_ & 0x01000000) != 0)) {
10253 size += com.google.protobuf.CodedOutputStream
10254 .computeInt32Size(54, presolveBveThreshold_);
10255 }
10256 if (((bitField1_ & 0x02000000) != 0)) {
10257 size += com.google.protobuf.CodedOutputStream
10258 .computeInt32Size(55, presolveBveClauseWeight_);
10259 }
10260 if (((bitField0_ & 0x00001000) != 0)) {
10261 size += com.google.protobuf.CodedOutputStream
10262 .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
10263 }
10264 if (((bitField1_ & 0x08000000) != 0)) {
10265 size += com.google.protobuf.CodedOutputStream
10266 .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
10267 }
10268 if (((bitField0_ & 0x00010000) != 0)) {
10269 size += com.google.protobuf.CodedOutputStream
10270 .computeEnumSize(58, clauseCleanupProtection_);
10271 }
10272 if (((bitField0_ & 0x00020000) != 0)) {
10273 size += com.google.protobuf.CodedOutputStream
10274 .computeInt32Size(59, clauseCleanupLbdBound_);
10275 }
10276 if (((bitField0_ & 0x00040000) != 0)) {
10277 size += com.google.protobuf.CodedOutputStream
10278 .computeEnumSize(60, clauseCleanupOrdering_);
10279 }
10280 {
10281 int dataSize = 0;
10282 for (int i = 0; i < restartAlgorithms_.size(); i++) {
10283 dataSize += com.google.protobuf.CodedOutputStream
10284 .computeEnumSizeNoTag(restartAlgorithms_.get(i));
10285 }
10286 size += dataSize;
10287 size += 2 * restartAlgorithms_.size();
10288 }
10289 if (((bitField0_ & 0x40000000) != 0)) {
10290 size += com.google.protobuf.CodedOutputStream
10291 .computeInt32Size(62, restartRunningWindowSize_);
10292 }
10293 if (((bitField0_ & 0x80000000) != 0)) {
10294 size += com.google.protobuf.CodedOutputStream
10295 .computeDoubleSize(63, restartDlAverageRatio_);
10296 }
10297 if (((bitField1_ & 0x00000002) != 0)) {
10298 size += com.google.protobuf.CodedOutputStream
10299 .computeBoolSize(64, useBlockingRestart_);
10300 }
10301 if (((bitField1_ & 0x00000004) != 0)) {
10302 size += com.google.protobuf.CodedOutputStream
10303 .computeInt32Size(65, blockingRestartWindowSize_);
10304 }
10305 if (((bitField1_ & 0x00000008) != 0)) {
10306 size += com.google.protobuf.CodedOutputStream
10307 .computeDoubleSize(66, blockingRestartMultiplier_);
10308 }
10309 if (((bitField1_ & 0x00000080) != 0)) {
10310 size += com.google.protobuf.CodedOutputStream
10311 .computeDoubleSize(67, maxDeterministicTime_);
10312 }
10313 if (((bitField1_ & 0x00000010) != 0)) {
10314 size += com.google.protobuf.CodedOutputStream
10315 .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
10316 }
10317 if (((bitField1_ & 0x00000020) != 0)) {
10318 size += com.google.protobuf.CodedOutputStream
10319 .computeDoubleSize(69, strategyChangeIncreaseRatio_);
10320 }
10321 if (((bitField0_ & 0x10000000) != 0)) {
10322 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
10323 }
10324 if (((bitField1_ & 0x00000001) != 0)) {
10325 size += com.google.protobuf.CodedOutputStream
10326 .computeDoubleSize(71, restartLbdAverageRatio_);
10327 }
10328 if (((bitField1_ & 0x20000000) != 0)) {
10329 size += com.google.protobuf.CodedOutputStream
10330 .computeBoolSize(72, presolveUseBva_);
10331 }
10332 if (((bitField1_ & 0x40000000) != 0)) {
10333 size += com.google.protobuf.CodedOutputStream
10334 .computeInt32Size(73, presolveBvaThreshold_);
10335 }
10336 if (((bitField3_ & 0x00000100) != 0)) {
10337 size += com.google.protobuf.CodedOutputStream
10338 .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
10339 }
10340 if (((bitField0_ & 0x00000080) != 0)) {
10341 size += com.google.protobuf.CodedOutputStream
10342 .computeBoolSize(75, useErwaHeuristic_);
10343 }
10344 if (((bitField0_ & 0x00000100) != 0)) {
10345 size += com.google.protobuf.CodedOutputStream
10346 .computeDoubleSize(76, initialVariablesActivity_);
10347 }
10348 if (((bitField0_ & 0x00000200) != 0)) {
10349 size += com.google.protobuf.CodedOutputStream
10350 .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
10351 }
10352 if (((bitField3_ & 0x00002000) != 0)) {
10353 size += com.google.protobuf.CodedOutputStream
10354 .computeBoolSize(78, useOverloadCheckerInCumulative_);
10355 }
10356 if (((bitField3_ & 0x00004000) != 0)) {
10357 size += com.google.protobuf.CodedOutputStream
10358 .computeBoolSize(79, useTimetableEdgeFindingInCumulative_);
10359 }
10360 if (((bitField3_ & 0x00040000) != 0)) {
10361 size += com.google.protobuf.CodedOutputStream
10362 .computeBoolSize(80, useDisjunctiveConstraintInCumulative_);
10363 }
10364 if (((bitField3_ & 0x01000000) != 0)) {
10365 size += com.google.protobuf.CodedOutputStream
10366 .computeEnumSize(82, searchBranching_);
10367 }
10368 if (((bitField4_ & 0x00000010) != 0)) {
10369 size += com.google.protobuf.CodedOutputStream
10370 .computeBoolSize(83, optimizeWithCore_);
10371 }
10372 if (((bitField3_ & 0x00000004) != 0)) {
10373 size += com.google.protobuf.CodedOutputStream
10374 .computeBoolSize(84, findMultipleCores_);
10375 }
10376 if (((bitField4_ & 0x00000080) != 0)) {
10377 size += com.google.protobuf.CodedOutputStream
10378 .computeBoolSize(85, optimizeWithMaxHs_);
10379 }
10380 if (((bitField2_ & 0x00000001) != 0)) {
10381 size += com.google.protobuf.CodedOutputStream
10382 .computeBoolSize(86, cpModelPresolve_);
10383 }
10384 if (((bitField4_ & 0x02000000) != 0)) {
10385 size += com.google.protobuf.CodedOutputStream
10386 .computeBoolSize(87, enumerateAllSolutions_);
10387 }
10388 if (((bitField1_ & 0x10000000) != 0)) {
10389 size += com.google.protobuf.CodedOutputStream
10390 .computeBoolSize(88, presolveBlockedClause_);
10391 }
10392 if (((bitField3_ & 0x00000008) != 0)) {
10393 size += com.google.protobuf.CodedOutputStream
10394 .computeBoolSize(89, coverOptimization_);
10395 }
10396 if (((bitField5_ & 0x02000000) != 0)) {
10397 size += com.google.protobuf.CodedOutputStream
10398 .computeInt32Size(90, linearizationLevel_);
10399 }
10400 if (((bitField5_ & 0x10000000) != 0)) {
10401 size += com.google.protobuf.CodedOutputStream
10402 .computeInt32Size(91, maxNumCuts_);
10403 }
10404 if (((bitField5_ & 0x40000000) != 0)) {
10405 size += com.google.protobuf.CodedOutputStream
10406 .computeBoolSize(92, onlyAddCutsAtLevelZero_);
10407 }
10408 if (((bitField2_ & 0x00000004) != 0)) {
10409 size += com.google.protobuf.CodedOutputStream
10410 .computeBoolSize(93, cpModelUseSatPresolve_);
10411 }
10412 if (((bitField6_ & 0x00020000) != 0)) {
10413 size += com.google.protobuf.CodedOutputStream
10414 .computeBoolSize(94, exploitIntegerLpSolution_);
10415 }
10416 if (((bitField4_ & 0x40000000) != 0)) {
10417 size += com.google.protobuf.CodedOutputStream
10418 .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
10419 }
10420 if (((bitField4_ & 0x80000000) != 0)) {
10421 size += com.google.protobuf.CodedOutputStream
10422 .computeBoolSize(98, stopAfterFirstSolution_);
10423 }
10424 if (((bitField4_ & 0x00000040) != 0)) {
10425 size += com.google.protobuf.CodedOutputStream
10426 .computeInt32Size(99, binarySearchNumConflicts_);
10427 }
10428 if (((bitField2_ & 0x00400000) != 0)) {
10429 size += com.google.protobuf.CodedOutputStream
10430 .computeInt32Size(100, numSearchWorkers_);
10431 }
10432 if (((bitField5_ & 0x00000004) != 0)) {
10433 size += com.google.protobuf.CodedOutputStream
10434 .computeBoolSize(101, useLnsOnly_);
10435 }
10436 if (((bitField5_ & 0x00000200) != 0)) {
10437 size += com.google.protobuf.CodedOutputStream
10438 .computeBoolSize(103, randomizeSearch_);
10439 }
10440 if (((bitField5_ & 0x00000400) != 0)) {
10441 size += com.google.protobuf.CodedOutputStream
10442 .computeInt64Size(104, searchRandomVariablePoolSize_);
10443 }
10444 if (((bitField4_ & 0x20000000) != 0)) {
10445 size += com.google.protobuf.CodedOutputStream
10446 .computeBoolSize(106, instantiateAllVariables_);
10447 }
10448 if (((bitField5_ & 0x04000000) != 0)) {
10449 size += com.google.protobuf.CodedOutputStream
10450 .computeInt32Size(107, booleanEncodingLevel_);
10451 }
10452 if (((bitField5_ & 0x00001000) != 0)) {
10453 size += com.google.protobuf.CodedOutputStream
10454 .computeBoolSize(108, useOptionalVariables_);
10455 }
10456 if (((bitField5_ & 0x00002000) != 0)) {
10457 size += com.google.protobuf.CodedOutputStream
10458 .computeBoolSize(109, useExactLpReason_);
10459 }
10460 if (((bitField2_ & 0x00000002) != 0)) {
10461 size += com.google.protobuf.CodedOutputStream
10462 .computeInt32Size(110, cpModelProbingLevel_);
10463 }
10464 if (((bitField6_ & 0x00000100) != 0)) {
10465 size += com.google.protobuf.CodedOutputStream
10466 .computeBoolSize(112, addLpConstraintsLazily_);
10467 }
10468 if (((bitField2_ & 0x04000000) != 0)) {
10469 size += com.google.protobuf.CodedOutputStream
10470 .computeBoolSize(113, shareObjectiveBounds_);
10471 }
10472 if (((bitField2_ & 0x08000000) != 0)) {
10473 size += com.google.protobuf.CodedOutputStream
10474 .computeBoolSize(114, shareLevelZeroBounds_);
10475 }
10476 if (((bitField6_ & 0x00000400) != 0)) {
10477 size += com.google.protobuf.CodedOutputStream
10478 .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
10479 }
10480 if (((bitField6_ & 0x00040000) != 0)) {
10481 size += com.google.protobuf.CodedOutputStream
10482 .computeBoolSize(116, exploitAllLpSolution_);
10483 }
10484 if (((bitField6_ & 0x00000001) != 0)) {
10485 size += com.google.protobuf.CodedOutputStream
10486 .computeBoolSize(117, addCgCuts_);
10487 }
10488 if (((bitField6_ & 0x00000080) != 0)) {
10489 size += com.google.protobuf.CodedOutputStream
10490 .computeInt32Size(119, maxIntegerRoundingScaling_);
10491 }
10492 if (((bitField6_ & 0x00000002) != 0)) {
10493 size += com.google.protobuf.CodedOutputStream
10494 .computeBoolSize(120, addMirCuts_);
10495 }
10496 if (((bitField6_ & 0x00001000) != 0)) {
10497 size += com.google.protobuf.CodedOutputStream
10498 .computeInt32Size(121, maxConsecutiveInactiveCount_);
10499 }
10500 if (((bitField6_ & 0x00010000) != 0)) {
10501 size += com.google.protobuf.CodedOutputStream
10502 .computeInt32Size(122, newConstraintsBatchSize_);
10503 }
10504 if (((bitField4_ & 0x00000008) != 0)) {
10505 size += com.google.protobuf.CodedOutputStream
10506 .computeInt64Size(123, pseudoCostReliabilityThreshold_);
10507 }
10508 if (((bitField6_ & 0x00800000) != 0)) {
10509 size += com.google.protobuf.CodedOutputStream
10510 .computeDoubleSize(124, mipMaxBound_);
10511 }
10512 if (((bitField6_ & 0x01000000) != 0)) {
10513 size += com.google.protobuf.CodedOutputStream
10514 .computeDoubleSize(125, mipVarScaling_);
10515 }
10516 if (((bitField6_ & 0x10000000) != 0)) {
10517 size += com.google.protobuf.CodedOutputStream
10518 .computeDoubleSize(126, mipWantedPrecision_);
10519 }
10520 if (((bitField6_ & 0x20000000) != 0)) {
10521 size += com.google.protobuf.CodedOutputStream
10522 .computeInt32Size(127, mipMaxActivityExponent_);
10523 }
10524 if (((bitField6_ & 0x40000000) != 0)) {
10525 size += com.google.protobuf.CodedOutputStream
10526 .computeDoubleSize(128, mipCheckPrecision_);
10527 }
10528 if (((bitField5_ & 0x00000010) != 0)) {
10529 size += com.google.protobuf.CodedOutputStream
10530 .computeBoolSize(129, useRinsLns_);
10531 }
10532 if (((bitField6_ & 0x00080000) != 0)) {
10533 size += com.google.protobuf.CodedOutputStream
10534 .computeBoolSize(130, exploitBestSolution_);
10535 }
10536 if (((bitField6_ & 0x00200000) != 0)) {
10537 size += com.google.protobuf.CodedOutputStream
10538 .computeBoolSize(131, exploitObjective_);
10539 }
10540 if (((bitField4_ & 0x08000000) != 0)) {
10541 size += com.google.protobuf.CodedOutputStream
10542 .computeBoolSize(132, fillTightenedDomainsInResponse_);
10543 }
10544 if (((bitField5_ & 0x00004000) != 0)) {
10545 size += com.google.protobuf.CodedOutputStream
10546 .computeBoolSize(133, useCombinedNoOverlap_);
10547 }
10548 if (((bitField2_ & 0x02000000) != 0)) {
10549 size += com.google.protobuf.CodedOutputStream
10550 .computeInt32Size(134, interleaveBatchSize_);
10551 }
10552 if (((bitField5_ & 0x00010000) != 0)) {
10553 size += com.google.protobuf.CodedOutputStream
10554 .computeBoolSize(135, catchSigintSignal_);
10555 }
10556 if (((bitField2_ & 0x01000000) != 0)) {
10557 size += com.google.protobuf.CodedOutputStream
10558 .computeBoolSize(136, interleaveSearch_);
10559 }
10560 if (((bitField5_ & 0x00000100) != 0)) {
10561 size += com.google.protobuf.CodedOutputStream
10562 .computeBoolSize(137, diversifyLnsParams_);
10563 }
10564 if (((bitField1_ & 0x80000000) != 0)) {
10565 size += com.google.protobuf.CodedOutputStream
10566 .computeInt32Size(138, maxPresolveIterations_);
10567 }
10568 if (((bitField5_ & 0x00020000) != 0)) {
10569 size += com.google.protobuf.CodedOutputStream
10570 .computeBoolSize(144, useImpliedBounds_);
10571 }
10572 if (((bitField2_ & 0x00000200) != 0)) {
10573 size += com.google.protobuf.CodedOutputStream
10574 .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
10575 }
10576 if (((bitField2_ & 0x00000400) != 0)) {
10577 size += com.google.protobuf.CodedOutputStream
10578 .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
10579 }
10580 if (((bitField2_ & 0x00000800) != 0)) {
10581 size += com.google.protobuf.CodedOutputStream
10582 .computeInt32Size(147, presolveSubstitutionLevel_);
10583 }
10584 if (((bitField6_ & 0x00000020) != 0)) {
10585 size += com.google.protobuf.CodedOutputStream
10586 .computeInt32Size(148, maxAllDiffCutSize_);
10587 }
10588 if (((bitField5_ & 0x00000001) != 0)) {
10589 size += com.google.protobuf.CodedOutputStream
10590 .computeBoolSize(149, stopAfterPresolve_);
10591 }
10592 if (((bitField2_ & 0x40000000) != 0)) {
10593 size += com.google.protobuf.CodedOutputStream
10594 .computeInt32Size(151, debugMaxNumPresolveOperations_);
10595 }
10596 if (((bitField6_ & 0x00000040) != 0)) {
10597 size += com.google.protobuf.CodedOutputStream
10598 .computeBoolSize(152, addLinMaxCuts_);
10599 }
10600 if (((bitField3_ & 0x02000000) != 0)) {
10601 size += com.google.protobuf.CodedOutputStream
10602 .computeInt32Size(153, hintConflictLimit_);
10603 }
10604 if (((bitField6_ & 0x00000800) != 0)) {
10605 size += com.google.protobuf.CodedOutputStream
10606 .computeInt32Size(154, maxCutRoundsAtLevelZero_);
10607 }
10608 if (((bitField6_ & 0x00002000) != 0)) {
10609 size += com.google.protobuf.CodedOutputStream
10610 .computeDoubleSize(155, cutMaxActiveCountValue_);
10611 }
10612 if (((bitField6_ & 0x00004000) != 0)) {
10613 size += com.google.protobuf.CodedOutputStream
10614 .computeDoubleSize(156, cutActiveCountDecay_);
10615 }
10616 if (((bitField6_ & 0x00008000) != 0)) {
10617 size += com.google.protobuf.CodedOutputStream
10618 .computeInt32Size(157, cutCleanupTarget_);
10619 }
10620 if (((bitField1_ & 0x00000400) != 0)) {
10621 size += com.google.protobuf.CodedOutputStream
10622 .computeDoubleSize(159, absoluteGapLimit_);
10623 }
10624 if (((bitField1_ & 0x00000800) != 0)) {
10625 size += com.google.protobuf.CodedOutputStream
10626 .computeDoubleSize(160, relativeGapLimit_);
10627 }
10628 if (((bitField6_ & 0x00100000) != 0)) {
10629 size += com.google.protobuf.CodedOutputStream
10630 .computeBoolSize(161, exploitRelaxationSolution_);
10631 }
10632 if (((bitField2_ & 0x20000000) != 0)) {
10633 size += com.google.protobuf.CodedOutputStream
10634 .computeBoolSize(162, debugPostsolveWithFullSolver_);
10635 }
10636 if (((bitField2_ & 0x00020000) != 0)) {
10637 size += com.google.protobuf.CodedOutputStream
10638 .computeBoolSize(163, useSatInprocessing_);
10639 }
10640 if (((bitField5_ & 0x00000020) != 0)) {
10641 size += com.google.protobuf.CodedOutputStream
10642 .computeBoolSize(164, useFeasibilityPump_);
10643 }
10644 if (((bitField5_ & 0x00000080) != 0)) {
10645 size += com.google.protobuf.CodedOutputStream
10646 .computeEnumSize(165, fpRounding_);
10647 }
10648 if (((bitField6_ & 0x04000000) != 0)) {
10649 size += com.google.protobuf.CodedOutputStream
10650 .computeBoolSize(166, mipAutomaticallyScaleVariables_);
10651 }
10652 if (((bitField3_ & 0x04000000) != 0)) {
10653 size += com.google.protobuf.CodedOutputStream
10654 .computeBoolSize(167, repairHint_);
10655 }
10656 if (((bitField0_ & 0x00000010) != 0)) {
10657 size += com.google.protobuf.CodedOutputStream
10658 .computeInt32Size(168, polarityRephaseIncrement_);
10659 }
10660 if (((bitField6_ & 0x00000004) != 0)) {
10661 size += com.google.protobuf.CodedOutputStream
10662 .computeBoolSize(169, addZeroHalfCuts_);
10663 }
10664 if (((bitField2_ & 0x00000020) != 0)) {
10665 size += com.google.protobuf.CodedOutputStream
10666 .computeBoolSize(170, expandAlldiffConstraints_);
10667 }
10668 if (((bitField0_ & 0x00000001) != 0)) {
10669 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(171, name_);
10670 }
10671 if (((bitField6_ & 0x00000008) != 0)) {
10672 size += com.google.protobuf.CodedOutputStream
10673 .computeBoolSize(172, addCliqueCuts_);
10674 }
10675 if (((bitField4_ & 0x04000000) != 0)) {
10676 size += com.google.protobuf.CodedOutputStream
10677 .computeBoolSize(173, keepAllFeasibleSolutionsInPresolve_);
10678 }
10679 if (((bitField2_ & 0x00001000) != 0)) {
10680 size += com.google.protobuf.CodedOutputStream
10681 .computeBoolSize(174, presolveExtractIntegerEnforcement_);
10682 }
10683 if (((bitField5_ & 0x00040000) != 0)) {
10684 size += com.google.protobuf.CodedOutputStream
10685 .computeBoolSize(175, polishLpSolution_);
10686 }
10687 if (((bitField3_ & 0x10000000) != 0)) {
10688 size += com.google.protobuf.CodedOutputStream
10689 .computeBoolSize(176, useProbingSearch_);
10690 }
10691 if (((bitField5_ & 0x00200000) != 0)) {
10692 size += com.google.protobuf.CodedOutputStream
10693 .computeBoolSize(177, convertIntervals_);
10694 }
10695 if (((bitField1_ & 0x00002000) != 0)) {
10696 size += com.google.protobuf.CodedOutputStream
10697 .computeBoolSize(178, permuteVariableRandomly_);
10698 }
10699 if (((bitField1_ & 0x00004000) != 0)) {
10700 size += com.google.protobuf.CodedOutputStream
10701 .computeBoolSize(179, permutePresolveConstraintOrder_);
10702 }
10703 if (((bitField1_ & 0x00008000) != 0)) {
10704 size += com.google.protobuf.CodedOutputStream
10705 .computeBoolSize(180, useAbslRandom_);
10706 }
10707 if (((bitField2_ & 0x00000080) != 0)) {
10708 size += com.google.protobuf.CodedOutputStream
10709 .computeBoolSize(181, disableConstraintExpansion_);
10710 }
10711 if (((bitField2_ & 0x00000040) != 0)) {
10712 size += com.google.protobuf.CodedOutputStream
10713 .computeBoolSize(182, expandReservoirConstraints_);
10714 }
10715 if (((bitField5_ & 0x00400000) != 0)) {
10716 size += com.google.protobuf.CodedOutputStream
10717 .computeInt32Size(183, symmetryLevel_);
10718 }
10719 if (((bitField1_ & 0x00040000) != 0)) {
10720 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(185, logPrefix_);
10721 }
10722 if (((bitField1_ & 0x00080000) != 0)) {
10723 size += com.google.protobuf.CodedOutputStream
10724 .computeBoolSize(186, logToStdout_);
10725 }
10726 if (((bitField1_ & 0x00100000) != 0)) {
10727 size += com.google.protobuf.CodedOutputStream
10728 .computeBoolSize(187, logToResponse_);
10729 }
10730 if (((bitField4_ & 0x00000020) != 0)) {
10731 size += com.google.protobuf.CodedOutputStream
10732 .computeBoolSize(188, optimizeWithLbTreeSearch_);
10733 }
10734 if (((bitField1_ & 0x00020000) != 0)) {
10735 size += com.google.protobuf.CodedOutputStream
10736 .computeBoolSize(189, logSubsolverStatistics_);
10737 }
10738 if (((bitField0_ & 0x00008000) != 0)) {
10739 size += com.google.protobuf.CodedOutputStream
10740 .computeDoubleSize(190, clauseCleanupRatio_);
10741 }
10742 if (((bitField5_ & 0x08000000) != 0)) {
10743 size += com.google.protobuf.CodedOutputStream
10744 .computeInt32Size(191, maxDomainSizeWhenEncodingEqNeqConstraints_);
10745 }
10746 if (((bitField3_ & 0x08000000) != 0)) {
10747 size += com.google.protobuf.CodedOutputStream
10748 .computeBoolSize(192, fixVariablesToTheirHintedValue_);
10749 }
10750 if (((bitField5_ & 0x00000008) != 0)) {
10751 size += com.google.protobuf.CodedOutputStream
10752 .computeInt32Size(193, solutionPoolSize_);
10753 }
10754 if (((bitField4_ & 0x10000000) != 0)) {
10755 size += com.google.protobuf.CodedOutputStream
10756 .computeBoolSize(194, fillAdditionalSolutionsInResponse_);
10757 }
10758 if (((bitField2_ & 0x80000000) != 0)) {
10759 size += com.google.protobuf.CodedOutputStream
10760 .computeBoolSize(195, debugCrashOnBadHint_);
10761 }
10762 if (((bitField5_ & 0x20000000) != 0)) {
10763 size += com.google.protobuf.CodedOutputStream
10764 .computeInt32Size(196, cutLevel_);
10765 }
10766 if (((bitField5_ & 0x80000000) != 0)) {
10767 size += com.google.protobuf.CodedOutputStream
10768 .computeBoolSize(197, addObjectiveCut_);
10769 }
10770 if (((bitField6_ & 0x80000000) != 0)) {
10771 size += com.google.protobuf.CodedOutputStream
10772 .computeBoolSize(198, mipComputeTrueObjectiveBound_);
10773 }
10774 if (((bitField7_ & 0x00000001) != 0)) {
10775 size += com.google.protobuf.CodedOutputStream
10776 .computeDoubleSize(199, mipMaxValidMagnitude_);
10777 }
10778 if (((bitField3_ & 0x00080000) != 0)) {
10779 size += com.google.protobuf.CodedOutputStream
10780 .computeBoolSize(200, useTimetablingInNoOverlap2D_);
10781 }
10782 if (((bitField2_ & 0x00002000) != 0)) {
10783 size += com.google.protobuf.CodedOutputStream
10784 .computeInt64Size(201, presolveInclusionWorkLimit_);
10785 }
10786 if (((bitField2_ & 0x00004000) != 0)) {
10787 size += com.google.protobuf.CodedOutputStream
10788 .computeBoolSize(202, ignoreNames_);
10789 }
10790 if (((bitField2_ & 0x10000000) != 0)) {
10791 size += com.google.protobuf.CodedOutputStream
10792 .computeBoolSize(203, shareBinaryClauses_);
10793 }
10794 if (((bitField3_ & 0x80000000) != 0)) {
10795 size += com.google.protobuf.CodedOutputStream
10796 .computeBoolSize(204, useShavingInProbingSearch_);
10797 }
10798 if (((bitField4_ & 0x00000001) != 0)) {
10799 size += com.google.protobuf.CodedOutputStream
10800 .computeDoubleSize(205, shavingSearchDeterministicTime_);
10801 }
10802 if (((bitField2_ & 0x00200000) != 0)) {
10803 size += com.google.protobuf.CodedOutputStream
10804 .computeInt32Size(206, numWorkers_);
10805 }
10806 {
10807 int dataSize = 0;
10808 for (int i = 0; i < subsolvers_.size(); i++) {
10809 dataSize += computeStringSizeNoTag(subsolvers_.getRaw(i));
10810 }
10811 size += dataSize;
10812 size += 2 * getSubsolversList().size();
10813 }
10814 {
10815 int dataSize = 0;
10816 for (int i = 0; i < ignoreSubsolvers_.size(); i++) {
10817 dataSize += computeStringSizeNoTag(ignoreSubsolvers_.getRaw(i));
10818 }
10819 size += dataSize;
10820 size += 2 * getIgnoreSubsolversList().size();
10821 }
10822 for (int i = 0; i < subsolverParams_.size(); i++) {
10823 size += com.google.protobuf.CodedOutputStream
10824 .computeMessageSize(210, subsolverParams_.get(i));
10825 }
10826 if (((bitField2_ & 0x00800000) != 0)) {
10827 size += com.google.protobuf.CodedOutputStream
10828 .computeInt32Size(211, minNumLnsWorkers_);
10829 }
10830 if (((bitField3_ & 0x00100000) != 0)) {
10831 size += com.google.protobuf.CodedOutputStream
10832 .computeBoolSize(213, useEnergeticReasoningInNoOverlap2D_);
10833 }
10834 if (((bitField3_ & 0x00800000) != 0)) {
10835 size += com.google.protobuf.CodedOutputStream
10836 .computeBoolSize(214, useDualSchedulingHeuristics_);
10837 }
10838 if (((bitField3_ & 0x00010000) != 0)) {
10839 size += com.google.protobuf.CodedOutputStream
10840 .computeBoolSize(215, useHardPrecedencesInCumulative_);
10841 }
10842 if (((bitField2_ & 0x00000008) != 0)) {
10843 size += com.google.protobuf.CodedOutputStream
10844 .computeBoolSize(216, detectTableWithCost_);
10845 }
10846 if (((bitField2_ & 0x00000010) != 0)) {
10847 size += com.google.protobuf.CodedOutputStream
10848 .computeInt32Size(217, tableCompressionLevel_);
10849 }
10850 {
10851 int dataSize = 0;
10852 for (int i = 0; i < extraSubsolvers_.size(); i++) {
10853 dataSize += computeStringSizeNoTag(extraSubsolvers_.getRaw(i));
10854 }
10855 size += dataSize;
10856 size += 2 * getExtraSubsolversList().size();
10857 }
10858 if (((bitField3_ & 0x00020000) != 0)) {
10859 size += com.google.protobuf.CodedOutputStream
10860 .computeBoolSize(220, exploitAllPrecedences_);
10861 }
10862 if (((bitField3_ & 0x00000080) != 0)) {
10863 size += com.google.protobuf.CodedOutputStream
10864 .computeDoubleSize(221, propagationLoopDetectionFactor_);
10865 }
10866 if (((bitField6_ & 0x08000000) != 0)) {
10867 size += com.google.protobuf.CodedOutputStream
10868 .computeBoolSize(222, onlySolveIp_);
10869 }
10870 if (((bitField2_ & 0x00000100) != 0)) {
10871 size += com.google.protobuf.CodedOutputStream
10872 .computeBoolSize(223, encodeComplexLinearConstraintWithInteger_);
10873 }
10874 if (((bitField5_ & 0x00800000) != 0)) {
10875 size += com.google.protobuf.CodedOutputStream
10876 .computeBoolSize(224, newLinearPropagation_);
10877 }
10878 if (((bitField6_ & 0x02000000) != 0)) {
10879 size += com.google.protobuf.CodedOutputStream
10880 .computeBoolSize(225, mipScaleLargeDomain_);
10881 }
10882 if (((bitField1_ & 0x04000000) != 0)) {
10883 size += com.google.protobuf.CodedOutputStream
10884 .computeDoubleSize(226, probingDeterministicTimeLimit_);
10885 }
10886 if (((bitField6_ & 0x00000200) != 0)) {
10887 size += com.google.protobuf.CodedOutputStream
10888 .computeInt32Size(227, rootLpIterations_);
10889 }
10890 if (((bitField4_ & 0x00000002) != 0)) {
10891 size += com.google.protobuf.CodedOutputStream
10892 .computeBoolSize(228, useObjectiveLbSearch_);
10893 }
10894 if (((bitField3_ & 0x00000200) != 0)) {
10895 size += com.google.protobuf.CodedOutputStream
10896 .computeInt32Size(229, maxSizeToCreatePrecedenceLiteralsInDisjunctive_);
10897 }
10898 if (((bitField3_ & 0x00000400) != 0)) {
10899 size += com.google.protobuf.CodedOutputStream
10900 .computeBoolSize(230, useStrongPropagationInDisjunctive_);
10901 }
10902 if (((bitField7_ & 0x00000004) != 0)) {
10903 size += com.google.protobuf.CodedOutputStream
10904 .computeDoubleSize(232, mipDropTolerance_);
10905 }
10906 if (((bitField2_ & 0x00008000) != 0)) {
10907 size += com.google.protobuf.CodedOutputStream
10908 .computeBoolSize(233, inferAllDiffs_);
10909 }
10910 if (((bitField2_ & 0x00010000) != 0)) {
10911 size += com.google.protobuf.CodedOutputStream
10912 .computeBoolSize(234, findBigLinearOverlap_);
10913 }
10914 if (((bitField4_ & 0x00100000) != 0)) {
10915 size += com.google.protobuf.CodedOutputStream
10916 .computeInt32Size(235, sharedTreeNumWorkers_);
10917 }
10918 if (((bitField4_ & 0x00200000) != 0)) {
10919 size += com.google.protobuf.CodedOutputStream
10920 .computeBoolSize(236, useSharedTreeSearch_);
10921 }
10922 if (((bitField4_ & 0x00400000) != 0)) {
10923 size += com.google.protobuf.CodedOutputStream
10924 .computeDoubleSize(237, sharedTreeWorkerObjectiveSplitProbability_);
10925 }
10926 if (((bitField4_ & 0x00800000) != 0)) {
10927 size += com.google.protobuf.CodedOutputStream
10928 .computeInt32Size(238, sharedTreeMaxNodesPerWorker_);
10929 }
10930 if (((bitField4_ & 0x01000000) != 0)) {
10931 size += com.google.protobuf.CodedOutputStream
10932 .computeEnumSize(239, sharedTreeSplitStrategy_);
10933 }
10934 if (((bitField4_ & 0x00000200) != 0)) {
10935 size += com.google.protobuf.CodedOutputStream
10936 .computeBoolSize(240, testFeasibilityJump_);
10937 }
10938 if (((bitField4_ & 0x00000400) != 0)) {
10939 size += com.google.protobuf.CodedOutputStream
10940 .computeDoubleSize(242, feasibilityJumpDecay_);
10941 }
10942 if (((bitField4_ & 0x00020000) != 0)) {
10943 size += com.google.protobuf.CodedOutputStream
10944 .computeInt32Size(244, numViolationLs_);
10945 }
10946 if (((bitField4_ & 0x00002000) != 0)) {
10947 size += com.google.protobuf.CodedOutputStream
10948 .computeDoubleSize(247, feasibilityJumpVarRandomizationProbability_);
10949 }
10950 if (((bitField4_ & 0x00004000) != 0)) {
10951 size += com.google.protobuf.CodedOutputStream
10952 .computeDoubleSize(248, feasibilityJumpVarPerburbationRangeRatio_);
10953 }
10954 if (((bitField4_ & 0x00040000) != 0)) {
10955 size += com.google.protobuf.CodedOutputStream
10956 .computeInt32Size(249, violationLsPerturbationPeriod_);
10957 }
10958 if (((bitField4_ & 0x00008000) != 0)) {
10959 size += com.google.protobuf.CodedOutputStream
10960 .computeBoolSize(250, feasibilityJumpEnableRestarts_);
10961 }
10962 if (((bitField5_ & 0x00000002) != 0)) {
10963 size += com.google.protobuf.CodedOutputStream
10964 .computeBoolSize(252, stopAfterRootPropagation_);
10965 }
10966 if (((bitField4_ & 0x00000004) != 0)) {
10967 size += com.google.protobuf.CodedOutputStream
10968 .computeBoolSize(253, useObjectiveShavingSearch_);
10969 }
10970 if (((bitField5_ & 0x00000040) != 0)) {
10971 size += com.google.protobuf.CodedOutputStream
10972 .computeBoolSize(255, useLbRelaxLns_);
10973 }
10974 if (((bitField5_ & 0x01000000) != 0)) {
10975 size += com.google.protobuf.CodedOutputStream
10976 .computeInt32Size(256, linearSplitSize_);
10977 }
10978 if (((bitField4_ & 0x00000800) != 0)) {
10979 size += com.google.protobuf.CodedOutputStream
10980 .computeInt32Size(257, feasibilityJumpLinearizationLevel_);
10981 }
10982 if (((bitField4_ & 0x00001000) != 0)) {
10983 size += com.google.protobuf.CodedOutputStream
10984 .computeInt32Size(258, feasibilityJumpRestartFactor_);
10985 }
10986 if (((bitField4_ & 0x00080000) != 0)) {
10987 size += com.google.protobuf.CodedOutputStream
10988 .computeDoubleSize(259, violationLsCompoundMoveProbability_);
10989 }
10990 if (((bitField3_ & 0x00008000) != 0)) {
10991 size += com.google.protobuf.CodedOutputStream
10992 .computeInt32Size(260, maxNumIntervalsForTimetableEdgeFinding_);
10993 }
10994 if (((bitField7_ & 0x00000008) != 0)) {
10995 size += com.google.protobuf.CodedOutputStream
10996 .computeInt32Size(261, mipPresolveLevel_);
10997 }
10998 if (((bitField5_ & 0x00000800) != 0)) {
10999 size += com.google.protobuf.CodedOutputStream
11000 .computeBoolSize(262, pushAllTasksTowardStart_);
11001 }
11002 if (((bitField3_ & 0x00000800) != 0)) {
11003 size += com.google.protobuf.CodedOutputStream
11004 .computeBoolSize(263, useDynamicPrecedenceInDisjunctive_);
11005 }
11006 if (((bitField4_ & 0x00010000) != 0)) {
11007 size += com.google.protobuf.CodedOutputStream
11008 .computeInt32Size(264, feasibilityJumpMaxExpandedConstraintSize_);
11009 }
11010 if (((bitField4_ & 0x00000100) != 0)) {
11011 size += com.google.protobuf.CodedOutputStream
11012 .computeBoolSize(265, useFeasibilityJump_);
11013 }
11014 if (((bitField5_ & 0x00080000) != 0)) {
11015 size += com.google.protobuf.CodedOutputStream
11016 .computeDoubleSize(266, lpPrimalTolerance_);
11017 }
11018 if (((bitField5_ & 0x00100000) != 0)) {
11019 size += com.google.protobuf.CodedOutputStream
11020 .computeDoubleSize(267, lpDualTolerance_);
11021 }
11022 if (((bitField3_ & 0x00001000) != 0)) {
11023 size += com.google.protobuf.CodedOutputStream
11024 .computeBoolSize(268, useDynamicPrecedenceInCumulative_);
11025 }
11026 if (((bitField3_ & 0x20000000) != 0)) {
11027 size += com.google.protobuf.CodedOutputStream
11028 .computeBoolSize(269, useExtendedProbing_);
11029 }
11030 if (((bitField5_ & 0x00008000) != 0)) {
11031 size += com.google.protobuf.CodedOutputStream
11032 .computeInt32Size(270, atMostOneMaxExpansionSize_);
11033 }
11034 if (((bitField3_ & 0x00200000) != 0)) {
11035 size += com.google.protobuf.CodedOutputStream
11036 .computeBoolSize(271, useAreaEnergeticReasoningInNoOverlap2D_);
11037 }
11038 if (((bitField3_ & 0x40000000) != 0)) {
11039 size += com.google.protobuf.CodedOutputStream
11040 .computeInt32Size(272, probingNumCombinationsLimit_);
11041 }
11042 if (((bitField2_ & 0x00040000) != 0)) {
11043 size += com.google.protobuf.CodedOutputStream
11044 .computeDoubleSize(273, inprocessingDtimeRatio_);
11045 }
11046 if (((bitField2_ & 0x00080000) != 0)) {
11047 size += com.google.protobuf.CodedOutputStream
11048 .computeDoubleSize(274, inprocessingProbingDtime_);
11049 }
11050 if (((bitField2_ & 0x00100000) != 0)) {
11051 size += com.google.protobuf.CodedOutputStream
11052 .computeDoubleSize(275, inprocessingMinimizationDtime_);
11053 }
11054 if (((bitField3_ & 0x00400000) != 0)) {
11055 size += com.google.protobuf.CodedOutputStream
11056 .computeInt32Size(276, maxPairsPairwiseReasoningInNoOverlap2D_);
11057 }
11058 if (((bitField6_ & 0x00400000) != 0)) {
11059 size += com.google.protobuf.CodedOutputStream
11060 .computeBoolSize(277, detectLinearizedProduct_);
11061 }
11062 if (((bitField7_ & 0x00000002) != 0)) {
11063 size += com.google.protobuf.CodedOutputStream
11064 .computeBoolSize(278, mipTreatHighMagnitudeBoundsAsInfinity_);
11065 }
11066 if (((bitField6_ & 0x00000010) != 0)) {
11067 size += com.google.protobuf.CodedOutputStream
11068 .computeBoolSize(279, addRltCuts_);
11069 }
11070 size += getUnknownFields().getSerializedSize();
11071 memoizedSize = size;
11072 return size;
11073 }
11074
11075 @java.lang.Override
11076 public boolean equals(final java.lang.Object obj) {
11077 if (obj == this) {
11078 return true;
11079 }
11080 if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
11081 return super.equals(obj);
11082 }
11083 com.google.ortools.sat.SatParameters other = (com.google.ortools.sat.SatParameters) obj;
11084
11085 if (hasName() != other.hasName()) return false;
11086 if (hasName()) {
11087 if (!getName()
11088 .equals(other.getName())) return false;
11089 }
11090 if (hasPreferredVariableOrder() != other.hasPreferredVariableOrder()) return false;
11092 if (preferredVariableOrder_ != other.preferredVariableOrder_) return false;
11093 }
11094 if (hasInitialPolarity() != other.hasInitialPolarity()) return false;
11095 if (hasInitialPolarity()) {
11096 if (initialPolarity_ != other.initialPolarity_) return false;
11097 }
11098 if (hasUsePhaseSaving() != other.hasUsePhaseSaving()) return false;
11099 if (hasUsePhaseSaving()) {
11100 if (getUsePhaseSaving()
11101 != other.getUsePhaseSaving()) return false;
11102 }
11103 if (hasPolarityRephaseIncrement() != other.hasPolarityRephaseIncrement()) return false;
11106 != other.getPolarityRephaseIncrement()) return false;
11107 }
11108 if (hasRandomPolarityRatio() != other.hasRandomPolarityRatio()) return false;
11109 if (hasRandomPolarityRatio()) {
11110 if (java.lang.Double.doubleToLongBits(getRandomPolarityRatio())
11111 != java.lang.Double.doubleToLongBits(
11112 other.getRandomPolarityRatio())) return false;
11113 }
11114 if (hasRandomBranchesRatio() != other.hasRandomBranchesRatio()) return false;
11115 if (hasRandomBranchesRatio()) {
11116 if (java.lang.Double.doubleToLongBits(getRandomBranchesRatio())
11117 != java.lang.Double.doubleToLongBits(
11118 other.getRandomBranchesRatio())) return false;
11119 }
11120 if (hasUseErwaHeuristic() != other.hasUseErwaHeuristic()) return false;
11121 if (hasUseErwaHeuristic()) {
11123 != other.getUseErwaHeuristic()) return false;
11124 }
11125 if (hasInitialVariablesActivity() != other.hasInitialVariablesActivity()) return false;
11127 if (java.lang.Double.doubleToLongBits(getInitialVariablesActivity())
11128 != java.lang.Double.doubleToLongBits(
11129 other.getInitialVariablesActivity())) return false;
11130 }
11134 != other.getAlsoBumpVariablesInConflictReasons()) return false;
11135 }
11136 if (hasMinimizationAlgorithm() != other.hasMinimizationAlgorithm()) return false;
11138 if (minimizationAlgorithm_ != other.minimizationAlgorithm_) return false;
11139 }
11142 if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_) return false;
11143 }
11147 != other.getSubsumptionDuringConflictAnalysis()) return false;
11148 }
11149 if (hasClauseCleanupPeriod() != other.hasClauseCleanupPeriod()) return false;
11150 if (hasClauseCleanupPeriod()) {
11152 != other.getClauseCleanupPeriod()) return false;
11153 }
11154 if (hasClauseCleanupTarget() != other.hasClauseCleanupTarget()) return false;
11155 if (hasClauseCleanupTarget()) {
11157 != other.getClauseCleanupTarget()) return false;
11158 }
11159 if (hasClauseCleanupRatio() != other.hasClauseCleanupRatio()) return false;
11160 if (hasClauseCleanupRatio()) {
11161 if (java.lang.Double.doubleToLongBits(getClauseCleanupRatio())
11162 != java.lang.Double.doubleToLongBits(
11163 other.getClauseCleanupRatio())) return false;
11164 }
11165 if (hasClauseCleanupProtection() != other.hasClauseCleanupProtection()) return false;
11167 if (clauseCleanupProtection_ != other.clauseCleanupProtection_) return false;
11168 }
11169 if (hasClauseCleanupLbdBound() != other.hasClauseCleanupLbdBound()) return false;
11172 != other.getClauseCleanupLbdBound()) return false;
11173 }
11174 if (hasClauseCleanupOrdering() != other.hasClauseCleanupOrdering()) return false;
11176 if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_) return false;
11177 }
11178 if (hasPbCleanupIncrement() != other.hasPbCleanupIncrement()) return false;
11179 if (hasPbCleanupIncrement()) {
11181 != other.getPbCleanupIncrement()) return false;
11182 }
11183 if (hasPbCleanupRatio() != other.hasPbCleanupRatio()) return false;
11184 if (hasPbCleanupRatio()) {
11185 if (java.lang.Double.doubleToLongBits(getPbCleanupRatio())
11186 != java.lang.Double.doubleToLongBits(
11187 other.getPbCleanupRatio())) return false;
11188 }
11189 if (hasVariableActivityDecay() != other.hasVariableActivityDecay()) return false;
11191 if (java.lang.Double.doubleToLongBits(getVariableActivityDecay())
11192 != java.lang.Double.doubleToLongBits(
11193 other.getVariableActivityDecay())) return false;
11194 }
11195 if (hasMaxVariableActivityValue() != other.hasMaxVariableActivityValue()) return false;
11197 if (java.lang.Double.doubleToLongBits(getMaxVariableActivityValue())
11198 != java.lang.Double.doubleToLongBits(
11199 other.getMaxVariableActivityValue())) return false;
11200 }
11201 if (hasGlucoseMaxDecay() != other.hasGlucoseMaxDecay()) return false;
11202 if (hasGlucoseMaxDecay()) {
11203 if (java.lang.Double.doubleToLongBits(getGlucoseMaxDecay())
11204 != java.lang.Double.doubleToLongBits(
11205 other.getGlucoseMaxDecay())) return false;
11206 }
11207 if (hasGlucoseDecayIncrement() != other.hasGlucoseDecayIncrement()) return false;
11209 if (java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement())
11210 != java.lang.Double.doubleToLongBits(
11211 other.getGlucoseDecayIncrement())) return false;
11212 }
11216 != other.getGlucoseDecayIncrementPeriod()) return false;
11217 }
11218 if (hasClauseActivityDecay() != other.hasClauseActivityDecay()) return false;
11219 if (hasClauseActivityDecay()) {
11220 if (java.lang.Double.doubleToLongBits(getClauseActivityDecay())
11221 != java.lang.Double.doubleToLongBits(
11222 other.getClauseActivityDecay())) return false;
11223 }
11224 if (hasMaxClauseActivityValue() != other.hasMaxClauseActivityValue()) return false;
11226 if (java.lang.Double.doubleToLongBits(getMaxClauseActivityValue())
11227 != java.lang.Double.doubleToLongBits(
11228 other.getMaxClauseActivityValue())) return false;
11229 }
11230 if (!restartAlgorithms_.equals(other.restartAlgorithms_)) return false;
11231 if (hasDefaultRestartAlgorithms() != other.hasDefaultRestartAlgorithms()) return false;
11234 .equals(other.getDefaultRestartAlgorithms())) return false;
11235 }
11236 if (hasRestartPeriod() != other.hasRestartPeriod()) return false;
11237 if (hasRestartPeriod()) {
11238 if (getRestartPeriod()
11239 != other.getRestartPeriod()) return false;
11240 }
11241 if (hasRestartRunningWindowSize() != other.hasRestartRunningWindowSize()) return false;
11244 != other.getRestartRunningWindowSize()) return false;
11245 }
11246 if (hasRestartDlAverageRatio() != other.hasRestartDlAverageRatio()) return false;
11248 if (java.lang.Double.doubleToLongBits(getRestartDlAverageRatio())
11249 != java.lang.Double.doubleToLongBits(
11250 other.getRestartDlAverageRatio())) return false;
11251 }
11252 if (hasRestartLbdAverageRatio() != other.hasRestartLbdAverageRatio()) return false;
11254 if (java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio())
11255 != java.lang.Double.doubleToLongBits(
11256 other.getRestartLbdAverageRatio())) return false;
11257 }
11258 if (hasUseBlockingRestart() != other.hasUseBlockingRestart()) return false;
11259 if (hasUseBlockingRestart()) {
11261 != other.getUseBlockingRestart()) return false;
11262 }
11263 if (hasBlockingRestartWindowSize() != other.hasBlockingRestartWindowSize()) return false;
11266 != other.getBlockingRestartWindowSize()) return false;
11267 }
11268 if (hasBlockingRestartMultiplier() != other.hasBlockingRestartMultiplier()) return false;
11270 if (java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier())
11271 != java.lang.Double.doubleToLongBits(
11272 other.getBlockingRestartMultiplier())) return false;
11273 }
11277 != other.getNumConflictsBeforeStrategyChanges()) return false;
11278 }
11281 if (java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio())
11282 != java.lang.Double.doubleToLongBits(
11283 other.getStrategyChangeIncreaseRatio())) return false;
11284 }
11285 if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
11286 if (hasMaxTimeInSeconds()) {
11287 if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
11288 != java.lang.Double.doubleToLongBits(
11289 other.getMaxTimeInSeconds())) return false;
11290 }
11291 if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
11293 if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
11294 != java.lang.Double.doubleToLongBits(
11295 other.getMaxDeterministicTime())) return false;
11296 }
11297 if (hasMaxNumberOfConflicts() != other.hasMaxNumberOfConflicts()) return false;
11300 != other.getMaxNumberOfConflicts()) return false;
11301 }
11302 if (hasMaxMemoryInMb() != other.hasMaxMemoryInMb()) return false;
11303 if (hasMaxMemoryInMb()) {
11304 if (getMaxMemoryInMb()
11305 != other.getMaxMemoryInMb()) return false;
11306 }
11307 if (hasAbsoluteGapLimit() != other.hasAbsoluteGapLimit()) return false;
11308 if (hasAbsoluteGapLimit()) {
11309 if (java.lang.Double.doubleToLongBits(getAbsoluteGapLimit())
11310 != java.lang.Double.doubleToLongBits(
11311 other.getAbsoluteGapLimit())) return false;
11312 }
11313 if (hasRelativeGapLimit() != other.hasRelativeGapLimit()) return false;
11314 if (hasRelativeGapLimit()) {
11315 if (java.lang.Double.doubleToLongBits(getRelativeGapLimit())
11316 != java.lang.Double.doubleToLongBits(
11317 other.getRelativeGapLimit())) return false;
11318 }
11319 if (hasRandomSeed() != other.hasRandomSeed()) return false;
11320 if (hasRandomSeed()) {
11321 if (getRandomSeed()
11322 != other.getRandomSeed()) return false;
11323 }
11324 if (hasPermuteVariableRandomly() != other.hasPermuteVariableRandomly()) return false;
11327 != other.getPermuteVariableRandomly()) return false;
11328 }
11332 != other.getPermutePresolveConstraintOrder()) return false;
11333 }
11334 if (hasUseAbslRandom() != other.hasUseAbslRandom()) return false;
11335 if (hasUseAbslRandom()) {
11336 if (getUseAbslRandom()
11337 != other.getUseAbslRandom()) return false;
11338 }
11339 if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
11340 if (hasLogSearchProgress()) {
11342 != other.getLogSearchProgress()) return false;
11343 }
11344 if (hasLogSubsolverStatistics() != other.hasLogSubsolverStatistics()) return false;
11347 != other.getLogSubsolverStatistics()) return false;
11348 }
11349 if (hasLogPrefix() != other.hasLogPrefix()) return false;
11350 if (hasLogPrefix()) {
11351 if (!getLogPrefix()
11352 .equals(other.getLogPrefix())) return false;
11353 }
11354 if (hasLogToStdout() != other.hasLogToStdout()) return false;
11355 if (hasLogToStdout()) {
11356 if (getLogToStdout()
11357 != other.getLogToStdout()) return false;
11358 }
11359 if (hasLogToResponse() != other.hasLogToResponse()) return false;
11360 if (hasLogToResponse()) {
11361 if (getLogToResponse()
11362 != other.getLogToResponse()) return false;
11363 }
11364 if (hasUsePbResolution() != other.hasUsePbResolution()) return false;
11365 if (hasUsePbResolution()) {
11366 if (getUsePbResolution()
11367 != other.getUsePbResolution()) return false;
11368 }
11372 != other.getMinimizeReductionDuringPbResolution()) return false;
11373 }
11374 if (hasCountAssumptionLevelsInLbd() != other.hasCountAssumptionLevelsInLbd()) return false;
11377 != other.getCountAssumptionLevelsInLbd()) return false;
11378 }
11379 if (hasPresolveBveThreshold() != other.hasPresolveBveThreshold()) return false;
11382 != other.getPresolveBveThreshold()) return false;
11383 }
11384 if (hasPresolveBveClauseWeight() != other.hasPresolveBveClauseWeight()) return false;
11387 != other.getPresolveBveClauseWeight()) return false;
11388 }
11391 if (java.lang.Double.doubleToLongBits(getProbingDeterministicTimeLimit())
11392 != java.lang.Double.doubleToLongBits(
11393 other.getProbingDeterministicTimeLimit())) return false;
11394 }
11397 if (java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit())
11398 != java.lang.Double.doubleToLongBits(
11399 other.getPresolveProbingDeterministicTimeLimit())) return false;
11400 }
11401 if (hasPresolveBlockedClause() != other.hasPresolveBlockedClause()) return false;
11404 != other.getPresolveBlockedClause()) return false;
11405 }
11406 if (hasPresolveUseBva() != other.hasPresolveUseBva()) return false;
11407 if (hasPresolveUseBva()) {
11408 if (getPresolveUseBva()
11409 != other.getPresolveUseBva()) return false;
11410 }
11411 if (hasPresolveBvaThreshold() != other.hasPresolveBvaThreshold()) return false;
11414 != other.getPresolveBvaThreshold()) return false;
11415 }
11416 if (hasMaxPresolveIterations() != other.hasMaxPresolveIterations()) return false;
11419 != other.getMaxPresolveIterations()) return false;
11420 }
11421 if (hasCpModelPresolve() != other.hasCpModelPresolve()) return false;
11422 if (hasCpModelPresolve()) {
11423 if (getCpModelPresolve()
11424 != other.getCpModelPresolve()) return false;
11425 }
11426 if (hasCpModelProbingLevel() != other.hasCpModelProbingLevel()) return false;
11427 if (hasCpModelProbingLevel()) {
11429 != other.getCpModelProbingLevel()) return false;
11430 }
11431 if (hasCpModelUseSatPresolve() != other.hasCpModelUseSatPresolve()) return false;
11434 != other.getCpModelUseSatPresolve()) return false;
11435 }
11436 if (hasDetectTableWithCost() != other.hasDetectTableWithCost()) return false;
11437 if (hasDetectTableWithCost()) {
11439 != other.getDetectTableWithCost()) return false;
11440 }
11441 if (hasTableCompressionLevel() != other.hasTableCompressionLevel()) return false;
11444 != other.getTableCompressionLevel()) return false;
11445 }
11446 if (hasExpandAlldiffConstraints() != other.hasExpandAlldiffConstraints()) return false;
11449 != other.getExpandAlldiffConstraints()) return false;
11450 }
11451 if (hasExpandReservoirConstraints() != other.hasExpandReservoirConstraints()) return false;
11454 != other.getExpandReservoirConstraints()) return false;
11455 }
11456 if (hasDisableConstraintExpansion() != other.hasDisableConstraintExpansion()) return false;
11459 != other.getDisableConstraintExpansion()) return false;
11460 }
11464 != other.getEncodeComplexLinearConstraintWithInteger()) return false;
11465 }
11466 if (hasMergeNoOverlapWorkLimit() != other.hasMergeNoOverlapWorkLimit()) return false;
11468 if (java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit())
11469 != java.lang.Double.doubleToLongBits(
11470 other.getMergeNoOverlapWorkLimit())) return false;
11471 }
11472 if (hasMergeAtMostOneWorkLimit() != other.hasMergeAtMostOneWorkLimit()) return false;
11474 if (java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit())
11475 != java.lang.Double.doubleToLongBits(
11476 other.getMergeAtMostOneWorkLimit())) return false;
11477 }
11478 if (hasPresolveSubstitutionLevel() != other.hasPresolveSubstitutionLevel()) return false;
11481 != other.getPresolveSubstitutionLevel()) return false;
11482 }
11486 != other.getPresolveExtractIntegerEnforcement()) return false;
11487 }
11488 if (hasPresolveInclusionWorkLimit() != other.hasPresolveInclusionWorkLimit()) return false;
11491 != other.getPresolveInclusionWorkLimit()) return false;
11492 }
11493 if (hasIgnoreNames() != other.hasIgnoreNames()) return false;
11494 if (hasIgnoreNames()) {
11495 if (getIgnoreNames()
11496 != other.getIgnoreNames()) return false;
11497 }
11498 if (hasInferAllDiffs() != other.hasInferAllDiffs()) return false;
11499 if (hasInferAllDiffs()) {
11500 if (getInferAllDiffs()
11501 != other.getInferAllDiffs()) return false;
11502 }
11503 if (hasFindBigLinearOverlap() != other.hasFindBigLinearOverlap()) return false;
11506 != other.getFindBigLinearOverlap()) return false;
11507 }
11508 if (hasUseSatInprocessing() != other.hasUseSatInprocessing()) return false;
11509 if (hasUseSatInprocessing()) {
11511 != other.getUseSatInprocessing()) return false;
11512 }
11513 if (hasInprocessingDtimeRatio() != other.hasInprocessingDtimeRatio()) return false;
11515 if (java.lang.Double.doubleToLongBits(getInprocessingDtimeRatio())
11516 != java.lang.Double.doubleToLongBits(
11517 other.getInprocessingDtimeRatio())) return false;
11518 }
11519 if (hasInprocessingProbingDtime() != other.hasInprocessingProbingDtime()) return false;
11521 if (java.lang.Double.doubleToLongBits(getInprocessingProbingDtime())
11522 != java.lang.Double.doubleToLongBits(
11523 other.getInprocessingProbingDtime())) return false;
11524 }
11527 if (java.lang.Double.doubleToLongBits(getInprocessingMinimizationDtime())
11528 != java.lang.Double.doubleToLongBits(
11529 other.getInprocessingMinimizationDtime())) return false;
11530 }
11531 if (hasNumWorkers() != other.hasNumWorkers()) return false;
11532 if (hasNumWorkers()) {
11533 if (getNumWorkers()
11534 != other.getNumWorkers()) return false;
11535 }
11536 if (hasNumSearchWorkers() != other.hasNumSearchWorkers()) return false;
11537 if (hasNumSearchWorkers()) {
11539 != other.getNumSearchWorkers()) return false;
11540 }
11541 if (hasMinNumLnsWorkers() != other.hasMinNumLnsWorkers()) return false;
11542 if (hasMinNumLnsWorkers()) {
11544 != other.getMinNumLnsWorkers()) return false;
11545 }
11546 if (!getSubsolversList()
11547 .equals(other.getSubsolversList())) return false;
11549 .equals(other.getExtraSubsolversList())) return false;
11551 .equals(other.getIgnoreSubsolversList())) return false;
11553 .equals(other.getSubsolverParamsList())) return false;
11554 if (hasInterleaveSearch() != other.hasInterleaveSearch()) return false;
11555 if (hasInterleaveSearch()) {
11557 != other.getInterleaveSearch()) return false;
11558 }
11559 if (hasInterleaveBatchSize() != other.hasInterleaveBatchSize()) return false;
11560 if (hasInterleaveBatchSize()) {
11562 != other.getInterleaveBatchSize()) return false;
11563 }
11564 if (hasShareObjectiveBounds() != other.hasShareObjectiveBounds()) return false;
11567 != other.getShareObjectiveBounds()) return false;
11568 }
11569 if (hasShareLevelZeroBounds() != other.hasShareLevelZeroBounds()) return false;
11572 != other.getShareLevelZeroBounds()) return false;
11573 }
11574 if (hasShareBinaryClauses() != other.hasShareBinaryClauses()) return false;
11575 if (hasShareBinaryClauses()) {
11577 != other.getShareBinaryClauses()) return false;
11578 }
11582 != other.getDebugPostsolveWithFullSolver()) return false;
11583 }
11587 != other.getDebugMaxNumPresolveOperations()) return false;
11588 }
11589 if (hasDebugCrashOnBadHint() != other.hasDebugCrashOnBadHint()) return false;
11590 if (hasDebugCrashOnBadHint()) {
11592 != other.getDebugCrashOnBadHint()) return false;
11593 }
11594 if (hasUseOptimizationHints() != other.hasUseOptimizationHints()) return false;
11597 != other.getUseOptimizationHints()) return false;
11598 }
11599 if (hasCoreMinimizationLevel() != other.hasCoreMinimizationLevel()) return false;
11602 != other.getCoreMinimizationLevel()) return false;
11603 }
11604 if (hasFindMultipleCores() != other.hasFindMultipleCores()) return false;
11605 if (hasFindMultipleCores()) {
11607 != other.getFindMultipleCores()) return false;
11608 }
11609 if (hasCoverOptimization() != other.hasCoverOptimization()) return false;
11610 if (hasCoverOptimization()) {
11612 != other.getCoverOptimization()) return false;
11613 }
11614 if (hasMaxSatAssumptionOrder() != other.hasMaxSatAssumptionOrder()) return false;
11616 if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_) return false;
11617 }
11621 != other.getMaxSatReverseAssumptionOrder()) return false;
11622 }
11623 if (hasMaxSatStratification() != other.hasMaxSatStratification()) return false;
11625 if (maxSatStratification_ != other.maxSatStratification_) return false;
11626 }
11629 if (java.lang.Double.doubleToLongBits(getPropagationLoopDetectionFactor())
11630 != java.lang.Double.doubleToLongBits(
11631 other.getPropagationLoopDetectionFactor())) return false;
11632 }
11636 != other.getUsePrecedencesInDisjunctiveConstraint()) return false;
11637 }
11642 }
11646 != other.getUseStrongPropagationInDisjunctive()) return false;
11647 }
11651 != other.getUseDynamicPrecedenceInDisjunctive()) return false;
11652 }
11656 != other.getUseDynamicPrecedenceInCumulative()) return false;
11657 }
11661 != other.getUseOverloadCheckerInCumulative()) return false;
11662 }
11666 != other.getUseTimetableEdgeFindingInCumulative()) return false;
11667 }
11671 != other.getMaxNumIntervalsForTimetableEdgeFinding()) return false;
11672 }
11676 != other.getUseHardPrecedencesInCumulative()) return false;
11677 }
11678 if (hasExploitAllPrecedences() != other.hasExploitAllPrecedences()) return false;
11681 != other.getExploitAllPrecedences()) return false;
11682 }
11686 != other.getUseDisjunctiveConstraintInCumulative()) return false;
11687 }
11691 != other.getUseTimetablingInNoOverlap2D()) return false;
11692 }
11696 != other.getUseEnergeticReasoningInNoOverlap2D()) return false;
11697 }
11701 != other.getUseAreaEnergeticReasoningInNoOverlap2D()) return false;
11702 }
11706 != other.getMaxPairsPairwiseReasoningInNoOverlap2D()) return false;
11707 }
11711 != other.getUseDualSchedulingHeuristics()) return false;
11712 }
11713 if (hasSearchBranching() != other.hasSearchBranching()) return false;
11714 if (hasSearchBranching()) {
11715 if (searchBranching_ != other.searchBranching_) return false;
11716 }
11717 if (hasHintConflictLimit() != other.hasHintConflictLimit()) return false;
11718 if (hasHintConflictLimit()) {
11720 != other.getHintConflictLimit()) return false;
11721 }
11722 if (hasRepairHint() != other.hasRepairHint()) return false;
11723 if (hasRepairHint()) {
11724 if (getRepairHint()
11725 != other.getRepairHint()) return false;
11726 }
11730 != other.getFixVariablesToTheirHintedValue()) return false;
11731 }
11732 if (hasUseProbingSearch() != other.hasUseProbingSearch()) return false;
11733 if (hasUseProbingSearch()) {
11735 != other.getUseProbingSearch()) return false;
11736 }
11737 if (hasUseExtendedProbing() != other.hasUseExtendedProbing()) return false;
11738 if (hasUseExtendedProbing()) {
11740 != other.getUseExtendedProbing()) return false;
11741 }
11745 != other.getProbingNumCombinationsLimit()) return false;
11746 }
11747 if (hasUseShavingInProbingSearch() != other.hasUseShavingInProbingSearch()) return false;
11750 != other.getUseShavingInProbingSearch()) return false;
11751 }
11754 if (java.lang.Double.doubleToLongBits(getShavingSearchDeterministicTime())
11755 != java.lang.Double.doubleToLongBits(
11756 other.getShavingSearchDeterministicTime())) return false;
11757 }
11758 if (hasUseObjectiveLbSearch() != other.hasUseObjectiveLbSearch()) return false;
11761 != other.getUseObjectiveLbSearch()) return false;
11762 }
11763 if (hasUseObjectiveShavingSearch() != other.hasUseObjectiveShavingSearch()) return false;
11766 != other.getUseObjectiveShavingSearch()) return false;
11767 }
11771 != other.getPseudoCostReliabilityThreshold()) return false;
11772 }
11773 if (hasOptimizeWithCore() != other.hasOptimizeWithCore()) return false;
11774 if (hasOptimizeWithCore()) {
11776 != other.getOptimizeWithCore()) return false;
11777 }
11778 if (hasOptimizeWithLbTreeSearch() != other.hasOptimizeWithLbTreeSearch()) return false;
11781 != other.getOptimizeWithLbTreeSearch()) return false;
11782 }
11783 if (hasBinarySearchNumConflicts() != other.hasBinarySearchNumConflicts()) return false;
11786 != other.getBinarySearchNumConflicts()) return false;
11787 }
11788 if (hasOptimizeWithMaxHs() != other.hasOptimizeWithMaxHs()) return false;
11789 if (hasOptimizeWithMaxHs()) {
11791 != other.getOptimizeWithMaxHs()) return false;
11792 }
11793 if (hasUseFeasibilityJump() != other.hasUseFeasibilityJump()) return false;
11794 if (hasUseFeasibilityJump()) {
11796 != other.getUseFeasibilityJump()) return false;
11797 }
11798 if (hasTestFeasibilityJump() != other.hasTestFeasibilityJump()) return false;
11799 if (hasTestFeasibilityJump()) {
11801 != other.getTestFeasibilityJump()) return false;
11802 }
11803 if (hasFeasibilityJumpDecay() != other.hasFeasibilityJumpDecay()) return false;
11805 if (java.lang.Double.doubleToLongBits(getFeasibilityJumpDecay())
11806 != java.lang.Double.doubleToLongBits(
11807 other.getFeasibilityJumpDecay())) return false;
11808 }
11812 != other.getFeasibilityJumpLinearizationLevel()) return false;
11813 }
11817 != other.getFeasibilityJumpRestartFactor()) return false;
11818 }
11821 if (java.lang.Double.doubleToLongBits(getFeasibilityJumpVarRandomizationProbability())
11822 != java.lang.Double.doubleToLongBits(
11823 other.getFeasibilityJumpVarRandomizationProbability())) return false;
11824 }
11827 if (java.lang.Double.doubleToLongBits(getFeasibilityJumpVarPerburbationRangeRatio())
11828 != java.lang.Double.doubleToLongBits(
11829 other.getFeasibilityJumpVarPerburbationRangeRatio())) return false;
11830 }
11834 != other.getFeasibilityJumpEnableRestarts()) return false;
11835 }
11839 != other.getFeasibilityJumpMaxExpandedConstraintSize()) return false;
11840 }
11841 if (hasNumViolationLs() != other.hasNumViolationLs()) return false;
11842 if (hasNumViolationLs()) {
11843 if (getNumViolationLs()
11844 != other.getNumViolationLs()) return false;
11845 }
11849 != other.getViolationLsPerturbationPeriod()) return false;
11850 }
11853 if (java.lang.Double.doubleToLongBits(getViolationLsCompoundMoveProbability())
11854 != java.lang.Double.doubleToLongBits(
11855 other.getViolationLsCompoundMoveProbability())) return false;
11856 }
11857 if (hasSharedTreeNumWorkers() != other.hasSharedTreeNumWorkers()) return false;
11860 != other.getSharedTreeNumWorkers()) return false;
11861 }
11862 if (hasUseSharedTreeSearch() != other.hasUseSharedTreeSearch()) return false;
11863 if (hasUseSharedTreeSearch()) {
11865 != other.getUseSharedTreeSearch()) return false;
11866 }
11869 if (java.lang.Double.doubleToLongBits(getSharedTreeWorkerObjectiveSplitProbability())
11870 != java.lang.Double.doubleToLongBits(
11871 other.getSharedTreeWorkerObjectiveSplitProbability())) return false;
11872 }
11876 != other.getSharedTreeMaxNodesPerWorker()) return false;
11877 }
11878 if (hasSharedTreeSplitStrategy() != other.hasSharedTreeSplitStrategy()) return false;
11880 if (sharedTreeSplitStrategy_ != other.sharedTreeSplitStrategy_) return false;
11881 }
11882 if (hasEnumerateAllSolutions() != other.hasEnumerateAllSolutions()) return false;
11885 != other.getEnumerateAllSolutions()) return false;
11886 }
11890 != other.getKeepAllFeasibleSolutionsInPresolve()) return false;
11891 }
11895 != other.getFillTightenedDomainsInResponse()) return false;
11896 }
11900 != other.getFillAdditionalSolutionsInResponse()) return false;
11901 }
11902 if (hasInstantiateAllVariables() != other.hasInstantiateAllVariables()) return false;
11905 != other.getInstantiateAllVariables()) return false;
11906 }
11910 != other.getAutoDetectGreaterThanAtLeastOneOf()) return false;
11911 }
11912 if (hasStopAfterFirstSolution() != other.hasStopAfterFirstSolution()) return false;
11915 != other.getStopAfterFirstSolution()) return false;
11916 }
11917 if (hasStopAfterPresolve() != other.hasStopAfterPresolve()) return false;
11918 if (hasStopAfterPresolve()) {
11920 != other.getStopAfterPresolve()) return false;
11921 }
11922 if (hasStopAfterRootPropagation() != other.hasStopAfterRootPropagation()) return false;
11925 != other.getStopAfterRootPropagation()) return false;
11926 }
11927 if (hasUseLnsOnly() != other.hasUseLnsOnly()) return false;
11928 if (hasUseLnsOnly()) {
11929 if (getUseLnsOnly()
11930 != other.getUseLnsOnly()) return false;
11931 }
11932 if (hasSolutionPoolSize() != other.hasSolutionPoolSize()) return false;
11933 if (hasSolutionPoolSize()) {
11935 != other.getSolutionPoolSize()) return false;
11936 }
11937 if (hasUseRinsLns() != other.hasUseRinsLns()) return false;
11938 if (hasUseRinsLns()) {
11939 if (getUseRinsLns()
11940 != other.getUseRinsLns()) return false;
11941 }
11942 if (hasUseFeasibilityPump() != other.hasUseFeasibilityPump()) return false;
11943 if (hasUseFeasibilityPump()) {
11945 != other.getUseFeasibilityPump()) return false;
11946 }
11947 if (hasUseLbRelaxLns() != other.hasUseLbRelaxLns()) return false;
11948 if (hasUseLbRelaxLns()) {
11949 if (getUseLbRelaxLns()
11950 != other.getUseLbRelaxLns()) return false;
11951 }
11952 if (hasFpRounding() != other.hasFpRounding()) return false;
11953 if (hasFpRounding()) {
11954 if (fpRounding_ != other.fpRounding_) return false;
11955 }
11956 if (hasDiversifyLnsParams() != other.hasDiversifyLnsParams()) return false;
11957 if (hasDiversifyLnsParams()) {
11959 != other.getDiversifyLnsParams()) return false;
11960 }
11961 if (hasRandomizeSearch() != other.hasRandomizeSearch()) return false;
11962 if (hasRandomizeSearch()) {
11963 if (getRandomizeSearch()
11964 != other.getRandomizeSearch()) return false;
11965 }
11969 != other.getSearchRandomVariablePoolSize()) return false;
11970 }
11971 if (hasPushAllTasksTowardStart() != other.hasPushAllTasksTowardStart()) return false;
11974 != other.getPushAllTasksTowardStart()) return false;
11975 }
11976 if (hasUseOptionalVariables() != other.hasUseOptionalVariables()) return false;
11979 != other.getUseOptionalVariables()) return false;
11980 }
11981 if (hasUseExactLpReason() != other.hasUseExactLpReason()) return false;
11982 if (hasUseExactLpReason()) {
11984 != other.getUseExactLpReason()) return false;
11985 }
11986 if (hasUseCombinedNoOverlap() != other.hasUseCombinedNoOverlap()) return false;
11989 != other.getUseCombinedNoOverlap()) return false;
11990 }
11991 if (hasAtMostOneMaxExpansionSize() != other.hasAtMostOneMaxExpansionSize()) return false;
11994 != other.getAtMostOneMaxExpansionSize()) return false;
11995 }
11996 if (hasCatchSigintSignal() != other.hasCatchSigintSignal()) return false;
11997 if (hasCatchSigintSignal()) {
11999 != other.getCatchSigintSignal()) return false;
12000 }
12001 if (hasUseImpliedBounds() != other.hasUseImpliedBounds()) return false;
12002 if (hasUseImpliedBounds()) {
12004 != other.getUseImpliedBounds()) return false;
12005 }
12006 if (hasPolishLpSolution() != other.hasPolishLpSolution()) return false;
12007 if (hasPolishLpSolution()) {
12009 != other.getPolishLpSolution()) return false;
12010 }
12011 if (hasLpPrimalTolerance() != other.hasLpPrimalTolerance()) return false;
12012 if (hasLpPrimalTolerance()) {
12013 if (java.lang.Double.doubleToLongBits(getLpPrimalTolerance())
12014 != java.lang.Double.doubleToLongBits(
12015 other.getLpPrimalTolerance())) return false;
12016 }
12017 if (hasLpDualTolerance() != other.hasLpDualTolerance()) return false;
12018 if (hasLpDualTolerance()) {
12019 if (java.lang.Double.doubleToLongBits(getLpDualTolerance())
12020 != java.lang.Double.doubleToLongBits(
12021 other.getLpDualTolerance())) return false;
12022 }
12023 if (hasConvertIntervals() != other.hasConvertIntervals()) return false;
12024 if (hasConvertIntervals()) {
12026 != other.getConvertIntervals()) return false;
12027 }
12028 if (hasSymmetryLevel() != other.hasSymmetryLevel()) return false;
12029 if (hasSymmetryLevel()) {
12030 if (getSymmetryLevel()
12031 != other.getSymmetryLevel()) return false;
12032 }
12033 if (hasNewLinearPropagation() != other.hasNewLinearPropagation()) return false;
12036 != other.getNewLinearPropagation()) return false;
12037 }
12038 if (hasLinearSplitSize() != other.hasLinearSplitSize()) return false;
12039 if (hasLinearSplitSize()) {
12040 if (getLinearSplitSize()
12041 != other.getLinearSplitSize()) return false;
12042 }
12043 if (hasLinearizationLevel() != other.hasLinearizationLevel()) return false;
12044 if (hasLinearizationLevel()) {
12046 != other.getLinearizationLevel()) return false;
12047 }
12048 if (hasBooleanEncodingLevel() != other.hasBooleanEncodingLevel()) return false;
12051 != other.getBooleanEncodingLevel()) return false;
12052 }
12056 != other.getMaxDomainSizeWhenEncodingEqNeqConstraints()) return false;
12057 }
12058 if (hasMaxNumCuts() != other.hasMaxNumCuts()) return false;
12059 if (hasMaxNumCuts()) {
12060 if (getMaxNumCuts()
12061 != other.getMaxNumCuts()) return false;
12062 }
12063 if (hasCutLevel() != other.hasCutLevel()) return false;
12064 if (hasCutLevel()) {
12065 if (getCutLevel()
12066 != other.getCutLevel()) return false;
12067 }
12068 if (hasOnlyAddCutsAtLevelZero() != other.hasOnlyAddCutsAtLevelZero()) return false;
12071 != other.getOnlyAddCutsAtLevelZero()) return false;
12072 }
12073 if (hasAddObjectiveCut() != other.hasAddObjectiveCut()) return false;
12074 if (hasAddObjectiveCut()) {
12075 if (getAddObjectiveCut()
12076 != other.getAddObjectiveCut()) return false;
12077 }
12078 if (hasAddCgCuts() != other.hasAddCgCuts()) return false;
12079 if (hasAddCgCuts()) {
12080 if (getAddCgCuts()
12081 != other.getAddCgCuts()) return false;
12082 }
12083 if (hasAddMirCuts() != other.hasAddMirCuts()) return false;
12084 if (hasAddMirCuts()) {
12085 if (getAddMirCuts()
12086 != other.getAddMirCuts()) return false;
12087 }
12088 if (hasAddZeroHalfCuts() != other.hasAddZeroHalfCuts()) return false;
12089 if (hasAddZeroHalfCuts()) {
12090 if (getAddZeroHalfCuts()
12091 != other.getAddZeroHalfCuts()) return false;
12092 }
12093 if (hasAddCliqueCuts() != other.hasAddCliqueCuts()) return false;
12094 if (hasAddCliqueCuts()) {
12095 if (getAddCliqueCuts()
12096 != other.getAddCliqueCuts()) return false;
12097 }
12098 if (hasAddRltCuts() != other.hasAddRltCuts()) return false;
12099 if (hasAddRltCuts()) {
12100 if (getAddRltCuts()
12101 != other.getAddRltCuts()) return false;
12102 }
12103 if (hasMaxAllDiffCutSize() != other.hasMaxAllDiffCutSize()) return false;
12104 if (hasMaxAllDiffCutSize()) {
12106 != other.getMaxAllDiffCutSize()) return false;
12107 }
12108 if (hasAddLinMaxCuts() != other.hasAddLinMaxCuts()) return false;
12109 if (hasAddLinMaxCuts()) {
12110 if (getAddLinMaxCuts()
12111 != other.getAddLinMaxCuts()) return false;
12112 }
12113 if (hasMaxIntegerRoundingScaling() != other.hasMaxIntegerRoundingScaling()) return false;
12116 != other.getMaxIntegerRoundingScaling()) return false;
12117 }
12118 if (hasAddLpConstraintsLazily() != other.hasAddLpConstraintsLazily()) return false;
12121 != other.getAddLpConstraintsLazily()) return false;
12122 }
12123 if (hasRootLpIterations() != other.hasRootLpIterations()) return false;
12124 if (hasRootLpIterations()) {
12126 != other.getRootLpIterations()) return false;
12127 }
12130 if (java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints())
12131 != java.lang.Double.doubleToLongBits(
12132 other.getMinOrthogonalityForLpConstraints())) return false;
12133 }
12134 if (hasMaxCutRoundsAtLevelZero() != other.hasMaxCutRoundsAtLevelZero()) return false;
12137 != other.getMaxCutRoundsAtLevelZero()) return false;
12138 }
12142 != other.getMaxConsecutiveInactiveCount()) return false;
12143 }
12144 if (hasCutMaxActiveCountValue() != other.hasCutMaxActiveCountValue()) return false;
12146 if (java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue())
12147 != java.lang.Double.doubleToLongBits(
12148 other.getCutMaxActiveCountValue())) return false;
12149 }
12150 if (hasCutActiveCountDecay() != other.hasCutActiveCountDecay()) return false;
12151 if (hasCutActiveCountDecay()) {
12152 if (java.lang.Double.doubleToLongBits(getCutActiveCountDecay())
12153 != java.lang.Double.doubleToLongBits(
12154 other.getCutActiveCountDecay())) return false;
12155 }
12156 if (hasCutCleanupTarget() != other.hasCutCleanupTarget()) return false;
12157 if (hasCutCleanupTarget()) {
12159 != other.getCutCleanupTarget()) return false;
12160 }
12161 if (hasNewConstraintsBatchSize() != other.hasNewConstraintsBatchSize()) return false;
12164 != other.getNewConstraintsBatchSize()) return false;
12165 }
12166 if (hasExploitIntegerLpSolution() != other.hasExploitIntegerLpSolution()) return false;
12169 != other.getExploitIntegerLpSolution()) return false;
12170 }
12171 if (hasExploitAllLpSolution() != other.hasExploitAllLpSolution()) return false;
12174 != other.getExploitAllLpSolution()) return false;
12175 }
12176 if (hasExploitBestSolution() != other.hasExploitBestSolution()) return false;
12177 if (hasExploitBestSolution()) {
12179 != other.getExploitBestSolution()) return false;
12180 }
12181 if (hasExploitRelaxationSolution() != other.hasExploitRelaxationSolution()) return false;
12184 != other.getExploitRelaxationSolution()) return false;
12185 }
12186 if (hasExploitObjective() != other.hasExploitObjective()) return false;
12187 if (hasExploitObjective()) {
12189 != other.getExploitObjective()) return false;
12190 }
12191 if (hasDetectLinearizedProduct() != other.hasDetectLinearizedProduct()) return false;
12194 != other.getDetectLinearizedProduct()) return false;
12195 }
12196 if (hasMipMaxBound() != other.hasMipMaxBound()) return false;
12197 if (hasMipMaxBound()) {
12198 if (java.lang.Double.doubleToLongBits(getMipMaxBound())
12199 != java.lang.Double.doubleToLongBits(
12200 other.getMipMaxBound())) return false;
12201 }
12202 if (hasMipVarScaling() != other.hasMipVarScaling()) return false;
12203 if (hasMipVarScaling()) {
12204 if (java.lang.Double.doubleToLongBits(getMipVarScaling())
12205 != java.lang.Double.doubleToLongBits(
12206 other.getMipVarScaling())) return false;
12207 }
12208 if (hasMipScaleLargeDomain() != other.hasMipScaleLargeDomain()) return false;
12209 if (hasMipScaleLargeDomain()) {
12211 != other.getMipScaleLargeDomain()) return false;
12212 }
12216 != other.getMipAutomaticallyScaleVariables()) return false;
12217 }
12218 if (hasOnlySolveIp() != other.hasOnlySolveIp()) return false;
12219 if (hasOnlySolveIp()) {
12220 if (getOnlySolveIp()
12221 != other.getOnlySolveIp()) return false;
12222 }
12223 if (hasMipWantedPrecision() != other.hasMipWantedPrecision()) return false;
12224 if (hasMipWantedPrecision()) {
12225 if (java.lang.Double.doubleToLongBits(getMipWantedPrecision())
12226 != java.lang.Double.doubleToLongBits(
12227 other.getMipWantedPrecision())) return false;
12228 }
12229 if (hasMipMaxActivityExponent() != other.hasMipMaxActivityExponent()) return false;
12232 != other.getMipMaxActivityExponent()) return false;
12233 }
12234 if (hasMipCheckPrecision() != other.hasMipCheckPrecision()) return false;
12235 if (hasMipCheckPrecision()) {
12236 if (java.lang.Double.doubleToLongBits(getMipCheckPrecision())
12237 != java.lang.Double.doubleToLongBits(
12238 other.getMipCheckPrecision())) return false;
12239 }
12243 != other.getMipComputeTrueObjectiveBound()) return false;
12244 }
12245 if (hasMipMaxValidMagnitude() != other.hasMipMaxValidMagnitude()) return false;
12247 if (java.lang.Double.doubleToLongBits(getMipMaxValidMagnitude())
12248 != java.lang.Double.doubleToLongBits(
12249 other.getMipMaxValidMagnitude())) return false;
12250 }
12254 != other.getMipTreatHighMagnitudeBoundsAsInfinity()) return false;
12255 }
12256 if (hasMipDropTolerance() != other.hasMipDropTolerance()) return false;
12257 if (hasMipDropTolerance()) {
12258 if (java.lang.Double.doubleToLongBits(getMipDropTolerance())
12259 != java.lang.Double.doubleToLongBits(
12260 other.getMipDropTolerance())) return false;
12261 }
12262 if (hasMipPresolveLevel() != other.hasMipPresolveLevel()) return false;
12263 if (hasMipPresolveLevel()) {
12265 != other.getMipPresolveLevel()) return false;
12266 }
12267 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
12268 return true;
12269 }
12270
12271 @java.lang.Override
12272 public int hashCode() {
12273 if (memoizedHashCode != 0) {
12274 return memoizedHashCode;
12275 }
12276 int hash = 41;
12277 hash = (19 * hash) + getDescriptor().hashCode();
12278 if (hasName()) {
12279 hash = (37 * hash) + NAME_FIELD_NUMBER;
12280 hash = (53 * hash) + getName().hashCode();
12281 }
12283 hash = (37 * hash) + PREFERRED_VARIABLE_ORDER_FIELD_NUMBER;
12284 hash = (53 * hash) + preferredVariableOrder_;
12285 }
12286 if (hasInitialPolarity()) {
12287 hash = (37 * hash) + INITIAL_POLARITY_FIELD_NUMBER;
12288 hash = (53 * hash) + initialPolarity_;
12289 }
12290 if (hasUsePhaseSaving()) {
12291 hash = (37 * hash) + USE_PHASE_SAVING_FIELD_NUMBER;
12292 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12294 }
12296 hash = (37 * hash) + POLARITY_REPHASE_INCREMENT_FIELD_NUMBER;
12297 hash = (53 * hash) + getPolarityRephaseIncrement();
12298 }
12299 if (hasRandomPolarityRatio()) {
12300 hash = (37 * hash) + RANDOM_POLARITY_RATIO_FIELD_NUMBER;
12301 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12302 java.lang.Double.doubleToLongBits(getRandomPolarityRatio()));
12303 }
12304 if (hasRandomBranchesRatio()) {
12305 hash = (37 * hash) + RANDOM_BRANCHES_RATIO_FIELD_NUMBER;
12306 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12307 java.lang.Double.doubleToLongBits(getRandomBranchesRatio()));
12308 }
12309 if (hasUseErwaHeuristic()) {
12310 hash = (37 * hash) + USE_ERWA_HEURISTIC_FIELD_NUMBER;
12311 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12313 }
12315 hash = (37 * hash) + INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER;
12316 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12317 java.lang.Double.doubleToLongBits(getInitialVariablesActivity()));
12318 }
12321 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12323 }
12325 hash = (37 * hash) + MINIMIZATION_ALGORITHM_FIELD_NUMBER;
12326 hash = (53 * hash) + minimizationAlgorithm_;
12327 }
12329 hash = (37 * hash) + BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER;
12330 hash = (53 * hash) + binaryMinimizationAlgorithm_;
12331 }
12334 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12336 }
12337 if (hasClauseCleanupPeriod()) {
12338 hash = (37 * hash) + CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER;
12339 hash = (53 * hash) + getClauseCleanupPeriod();
12340 }
12341 if (hasClauseCleanupTarget()) {
12342 hash = (37 * hash) + CLAUSE_CLEANUP_TARGET_FIELD_NUMBER;
12343 hash = (53 * hash) + getClauseCleanupTarget();
12344 }
12345 if (hasClauseCleanupRatio()) {
12346 hash = (37 * hash) + CLAUSE_CLEANUP_RATIO_FIELD_NUMBER;
12347 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12348 java.lang.Double.doubleToLongBits(getClauseCleanupRatio()));
12349 }
12351 hash = (37 * hash) + CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER;
12352 hash = (53 * hash) + clauseCleanupProtection_;
12353 }
12355 hash = (37 * hash) + CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER;
12356 hash = (53 * hash) + getClauseCleanupLbdBound();
12357 }
12359 hash = (37 * hash) + CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER;
12360 hash = (53 * hash) + clauseCleanupOrdering_;
12361 }
12362 if (hasPbCleanupIncrement()) {
12363 hash = (37 * hash) + PB_CLEANUP_INCREMENT_FIELD_NUMBER;
12364 hash = (53 * hash) + getPbCleanupIncrement();
12365 }
12366 if (hasPbCleanupRatio()) {
12367 hash = (37 * hash) + PB_CLEANUP_RATIO_FIELD_NUMBER;
12368 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12369 java.lang.Double.doubleToLongBits(getPbCleanupRatio()));
12370 }
12372 hash = (37 * hash) + VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER;
12373 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12374 java.lang.Double.doubleToLongBits(getVariableActivityDecay()));
12375 }
12377 hash = (37 * hash) + MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER;
12378 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12379 java.lang.Double.doubleToLongBits(getMaxVariableActivityValue()));
12380 }
12381 if (hasGlucoseMaxDecay()) {
12382 hash = (37 * hash) + GLUCOSE_MAX_DECAY_FIELD_NUMBER;
12383 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12384 java.lang.Double.doubleToLongBits(getGlucoseMaxDecay()));
12385 }
12387 hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER;
12388 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12389 java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement()));
12390 }
12393 hash = (53 * hash) + getGlucoseDecayIncrementPeriod();
12394 }
12395 if (hasClauseActivityDecay()) {
12396 hash = (37 * hash) + CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER;
12397 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12398 java.lang.Double.doubleToLongBits(getClauseActivityDecay()));
12399 }
12401 hash = (37 * hash) + MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER;
12402 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12403 java.lang.Double.doubleToLongBits(getMaxClauseActivityValue()));
12404 }
12405 if (getRestartAlgorithmsCount() > 0) {
12406 hash = (37 * hash) + RESTART_ALGORITHMS_FIELD_NUMBER;
12407 hash = (53 * hash) + restartAlgorithms_.hashCode();
12408 }
12410 hash = (37 * hash) + DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER;
12411 hash = (53 * hash) + getDefaultRestartAlgorithms().hashCode();
12412 }
12413 if (hasRestartPeriod()) {
12414 hash = (37 * hash) + RESTART_PERIOD_FIELD_NUMBER;
12415 hash = (53 * hash) + getRestartPeriod();
12416 }
12418 hash = (37 * hash) + RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER;
12419 hash = (53 * hash) + getRestartRunningWindowSize();
12420 }
12422 hash = (37 * hash) + RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER;
12423 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12424 java.lang.Double.doubleToLongBits(getRestartDlAverageRatio()));
12425 }
12427 hash = (37 * hash) + RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER;
12428 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12429 java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio()));
12430 }
12431 if (hasUseBlockingRestart()) {
12432 hash = (37 * hash) + USE_BLOCKING_RESTART_FIELD_NUMBER;
12433 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12435 }
12437 hash = (37 * hash) + BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER;
12438 hash = (53 * hash) + getBlockingRestartWindowSize();
12439 }
12441 hash = (37 * hash) + BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER;
12442 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12443 java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier()));
12444 }
12447 hash = (53 * hash) + getNumConflictsBeforeStrategyChanges();
12448 }
12451 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12452 java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio()));
12453 }
12454 if (hasMaxTimeInSeconds()) {
12455 hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
12456 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12457 java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
12458 }
12460 hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
12461 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12462 java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
12463 }
12465 hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER;
12466 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12468 }
12469 if (hasMaxMemoryInMb()) {
12470 hash = (37 * hash) + MAX_MEMORY_IN_MB_FIELD_NUMBER;
12471 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12473 }
12474 if (hasAbsoluteGapLimit()) {
12475 hash = (37 * hash) + ABSOLUTE_GAP_LIMIT_FIELD_NUMBER;
12476 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12477 java.lang.Double.doubleToLongBits(getAbsoluteGapLimit()));
12478 }
12479 if (hasRelativeGapLimit()) {
12480 hash = (37 * hash) + RELATIVE_GAP_LIMIT_FIELD_NUMBER;
12481 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12482 java.lang.Double.doubleToLongBits(getRelativeGapLimit()));
12483 }
12484 if (hasRandomSeed()) {
12485 hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
12486 hash = (53 * hash) + getRandomSeed();
12487 }
12489 hash = (37 * hash) + PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER;
12490 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12492 }
12495 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12497 }
12498 if (hasUseAbslRandom()) {
12499 hash = (37 * hash) + USE_ABSL_RANDOM_FIELD_NUMBER;
12500 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12502 }
12503 if (hasLogSearchProgress()) {
12504 hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
12505 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12507 }
12509 hash = (37 * hash) + LOG_SUBSOLVER_STATISTICS_FIELD_NUMBER;
12510 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12512 }
12513 if (hasLogPrefix()) {
12514 hash = (37 * hash) + LOG_PREFIX_FIELD_NUMBER;
12515 hash = (53 * hash) + getLogPrefix().hashCode();
12516 }
12517 if (hasLogToStdout()) {
12518 hash = (37 * hash) + LOG_TO_STDOUT_FIELD_NUMBER;
12519 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12520 getLogToStdout());
12521 }
12522 if (hasLogToResponse()) {
12523 hash = (37 * hash) + LOG_TO_RESPONSE_FIELD_NUMBER;
12524 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12526 }
12527 if (hasUsePbResolution()) {
12528 hash = (37 * hash) + USE_PB_RESOLUTION_FIELD_NUMBER;
12529 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12531 }
12534 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12536 }
12539 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12541 }
12543 hash = (37 * hash) + PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER;
12544 hash = (53 * hash) + getPresolveBveThreshold();
12545 }
12547 hash = (37 * hash) + PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER;
12548 hash = (53 * hash) + getPresolveBveClauseWeight();
12549 }
12552 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12553 java.lang.Double.doubleToLongBits(getProbingDeterministicTimeLimit()));
12554 }
12557 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12558 java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit()));
12559 }
12561 hash = (37 * hash) + PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER;
12562 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12564 }
12565 if (hasPresolveUseBva()) {
12566 hash = (37 * hash) + PRESOLVE_USE_BVA_FIELD_NUMBER;
12567 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12569 }
12571 hash = (37 * hash) + PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER;
12572 hash = (53 * hash) + getPresolveBvaThreshold();
12573 }
12575 hash = (37 * hash) + MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER;
12576 hash = (53 * hash) + getMaxPresolveIterations();
12577 }
12578 if (hasCpModelPresolve()) {
12579 hash = (37 * hash) + CP_MODEL_PRESOLVE_FIELD_NUMBER;
12580 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12582 }
12583 if (hasCpModelProbingLevel()) {
12584 hash = (37 * hash) + CP_MODEL_PROBING_LEVEL_FIELD_NUMBER;
12585 hash = (53 * hash) + getCpModelProbingLevel();
12586 }
12588 hash = (37 * hash) + CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER;
12589 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12591 }
12592 if (hasDetectTableWithCost()) {
12593 hash = (37 * hash) + DETECT_TABLE_WITH_COST_FIELD_NUMBER;
12594 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12596 }
12598 hash = (37 * hash) + TABLE_COMPRESSION_LEVEL_FIELD_NUMBER;
12599 hash = (53 * hash) + getTableCompressionLevel();
12600 }
12602 hash = (37 * hash) + EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER;
12603 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12605 }
12607 hash = (37 * hash) + EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER;
12608 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12610 }
12612 hash = (37 * hash) + DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER;
12613 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12615 }
12618 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12620 }
12622 hash = (37 * hash) + MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER;
12623 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12624 java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit()));
12625 }
12627 hash = (37 * hash) + MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER;
12628 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12629 java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit()));
12630 }
12632 hash = (37 * hash) + PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER;
12633 hash = (53 * hash) + getPresolveSubstitutionLevel();
12634 }
12637 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12639 }
12641 hash = (37 * hash) + PRESOLVE_INCLUSION_WORK_LIMIT_FIELD_NUMBER;
12642 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12644 }
12645 if (hasIgnoreNames()) {
12646 hash = (37 * hash) + IGNORE_NAMES_FIELD_NUMBER;
12647 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12648 getIgnoreNames());
12649 }
12650 if (hasInferAllDiffs()) {
12651 hash = (37 * hash) + INFER_ALL_DIFFS_FIELD_NUMBER;
12652 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12654 }
12656 hash = (37 * hash) + FIND_BIG_LINEAR_OVERLAP_FIELD_NUMBER;
12657 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12659 }
12660 if (hasUseSatInprocessing()) {
12661 hash = (37 * hash) + USE_SAT_INPROCESSING_FIELD_NUMBER;
12662 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12664 }
12666 hash = (37 * hash) + INPROCESSING_DTIME_RATIO_FIELD_NUMBER;
12667 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12668 java.lang.Double.doubleToLongBits(getInprocessingDtimeRatio()));
12669 }
12671 hash = (37 * hash) + INPROCESSING_PROBING_DTIME_FIELD_NUMBER;
12672 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12673 java.lang.Double.doubleToLongBits(getInprocessingProbingDtime()));
12674 }
12677 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12678 java.lang.Double.doubleToLongBits(getInprocessingMinimizationDtime()));
12679 }
12680 if (hasNumWorkers()) {
12681 hash = (37 * hash) + NUM_WORKERS_FIELD_NUMBER;
12682 hash = (53 * hash) + getNumWorkers();
12683 }
12684 if (hasNumSearchWorkers()) {
12685 hash = (37 * hash) + NUM_SEARCH_WORKERS_FIELD_NUMBER;
12686 hash = (53 * hash) + getNumSearchWorkers();
12687 }
12688 if (hasMinNumLnsWorkers()) {
12689 hash = (37 * hash) + MIN_NUM_LNS_WORKERS_FIELD_NUMBER;
12690 hash = (53 * hash) + getMinNumLnsWorkers();
12691 }
12692 if (getSubsolversCount() > 0) {
12693 hash = (37 * hash) + SUBSOLVERS_FIELD_NUMBER;
12694 hash = (53 * hash) + getSubsolversList().hashCode();
12695 }
12696 if (getExtraSubsolversCount() > 0) {
12697 hash = (37 * hash) + EXTRA_SUBSOLVERS_FIELD_NUMBER;
12698 hash = (53 * hash) + getExtraSubsolversList().hashCode();
12699 }
12700 if (getIgnoreSubsolversCount() > 0) {
12701 hash = (37 * hash) + IGNORE_SUBSOLVERS_FIELD_NUMBER;
12702 hash = (53 * hash) + getIgnoreSubsolversList().hashCode();
12703 }
12704 if (getSubsolverParamsCount() > 0) {
12705 hash = (37 * hash) + SUBSOLVER_PARAMS_FIELD_NUMBER;
12706 hash = (53 * hash) + getSubsolverParamsList().hashCode();
12707 }
12708 if (hasInterleaveSearch()) {
12709 hash = (37 * hash) + INTERLEAVE_SEARCH_FIELD_NUMBER;
12710 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12712 }
12713 if (hasInterleaveBatchSize()) {
12714 hash = (37 * hash) + INTERLEAVE_BATCH_SIZE_FIELD_NUMBER;
12715 hash = (53 * hash) + getInterleaveBatchSize();
12716 }
12718 hash = (37 * hash) + SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER;
12719 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12721 }
12723 hash = (37 * hash) + SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER;
12724 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12726 }
12727 if (hasShareBinaryClauses()) {
12728 hash = (37 * hash) + SHARE_BINARY_CLAUSES_FIELD_NUMBER;
12729 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12731 }
12734 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12736 }
12739 hash = (53 * hash) + getDebugMaxNumPresolveOperations();
12740 }
12741 if (hasDebugCrashOnBadHint()) {
12742 hash = (37 * hash) + DEBUG_CRASH_ON_BAD_HINT_FIELD_NUMBER;
12743 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12745 }
12747 hash = (37 * hash) + USE_OPTIMIZATION_HINTS_FIELD_NUMBER;
12748 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12750 }
12752 hash = (37 * hash) + CORE_MINIMIZATION_LEVEL_FIELD_NUMBER;
12753 hash = (53 * hash) + getCoreMinimizationLevel();
12754 }
12755 if (hasFindMultipleCores()) {
12756 hash = (37 * hash) + FIND_MULTIPLE_CORES_FIELD_NUMBER;
12757 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12759 }
12760 if (hasCoverOptimization()) {
12761 hash = (37 * hash) + COVER_OPTIMIZATION_FIELD_NUMBER;
12762 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12764 }
12766 hash = (37 * hash) + MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER;
12767 hash = (53 * hash) + maxSatAssumptionOrder_;
12768 }
12771 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12773 }
12775 hash = (37 * hash) + MAX_SAT_STRATIFICATION_FIELD_NUMBER;
12776 hash = (53 * hash) + maxSatStratification_;
12777 }
12780 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12781 java.lang.Double.doubleToLongBits(getPropagationLoopDetectionFactor()));
12782 }
12785 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12787 }
12791 }
12794 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12796 }
12799 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12801 }
12804 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12806 }
12809 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12811 }
12814 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12816 }
12819 hash = (53 * hash) + getMaxNumIntervalsForTimetableEdgeFinding();
12820 }
12823 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12825 }
12827 hash = (37 * hash) + EXPLOIT_ALL_PRECEDENCES_FIELD_NUMBER;
12828 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12830 }
12833 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12835 }
12838 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12840 }
12843 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12845 }
12848 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12850 }
12853 hash = (53 * hash) + getMaxPairsPairwiseReasoningInNoOverlap2D();
12854 }
12857 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12859 }
12860 if (hasSearchBranching()) {
12861 hash = (37 * hash) + SEARCH_BRANCHING_FIELD_NUMBER;
12862 hash = (53 * hash) + searchBranching_;
12863 }
12864 if (hasHintConflictLimit()) {
12865 hash = (37 * hash) + HINT_CONFLICT_LIMIT_FIELD_NUMBER;
12866 hash = (53 * hash) + getHintConflictLimit();
12867 }
12868 if (hasRepairHint()) {
12869 hash = (37 * hash) + REPAIR_HINT_FIELD_NUMBER;
12870 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12871 getRepairHint());
12872 }
12875 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12877 }
12878 if (hasUseProbingSearch()) {
12879 hash = (37 * hash) + USE_PROBING_SEARCH_FIELD_NUMBER;
12880 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12882 }
12883 if (hasUseExtendedProbing()) {
12884 hash = (37 * hash) + USE_EXTENDED_PROBING_FIELD_NUMBER;
12885 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12887 }
12890 hash = (53 * hash) + getProbingNumCombinationsLimit();
12891 }
12893 hash = (37 * hash) + USE_SHAVING_IN_PROBING_SEARCH_FIELD_NUMBER;
12894 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12896 }
12899 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12900 java.lang.Double.doubleToLongBits(getShavingSearchDeterministicTime()));
12901 }
12903 hash = (37 * hash) + USE_OBJECTIVE_LB_SEARCH_FIELD_NUMBER;
12904 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12906 }
12908 hash = (37 * hash) + USE_OBJECTIVE_SHAVING_SEARCH_FIELD_NUMBER;
12909 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12911 }
12914 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12916 }
12917 if (hasOptimizeWithCore()) {
12918 hash = (37 * hash) + OPTIMIZE_WITH_CORE_FIELD_NUMBER;
12919 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12921 }
12923 hash = (37 * hash) + OPTIMIZE_WITH_LB_TREE_SEARCH_FIELD_NUMBER;
12924 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12926 }
12928 hash = (37 * hash) + BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER;
12929 hash = (53 * hash) + getBinarySearchNumConflicts();
12930 }
12931 if (hasOptimizeWithMaxHs()) {
12932 hash = (37 * hash) + OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER;
12933 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12935 }
12936 if (hasUseFeasibilityJump()) {
12937 hash = (37 * hash) + USE_FEASIBILITY_JUMP_FIELD_NUMBER;
12938 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12940 }
12941 if (hasTestFeasibilityJump()) {
12942 hash = (37 * hash) + TEST_FEASIBILITY_JUMP_FIELD_NUMBER;
12943 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12945 }
12947 hash = (37 * hash) + FEASIBILITY_JUMP_DECAY_FIELD_NUMBER;
12948 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12949 java.lang.Double.doubleToLongBits(getFeasibilityJumpDecay()));
12950 }
12953 hash = (53 * hash) + getFeasibilityJumpLinearizationLevel();
12954 }
12957 hash = (53 * hash) + getFeasibilityJumpRestartFactor();
12958 }
12961 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12962 java.lang.Double.doubleToLongBits(getFeasibilityJumpVarRandomizationProbability()));
12963 }
12966 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12967 java.lang.Double.doubleToLongBits(getFeasibilityJumpVarPerburbationRangeRatio()));
12968 }
12971 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12973 }
12976 hash = (53 * hash) + getFeasibilityJumpMaxExpandedConstraintSize();
12977 }
12978 if (hasNumViolationLs()) {
12979 hash = (37 * hash) + NUM_VIOLATION_LS_FIELD_NUMBER;
12980 hash = (53 * hash) + getNumViolationLs();
12981 }
12984 hash = (53 * hash) + getViolationLsPerturbationPeriod();
12985 }
12988 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12989 java.lang.Double.doubleToLongBits(getViolationLsCompoundMoveProbability()));
12990 }
12992 hash = (37 * hash) + SHARED_TREE_NUM_WORKERS_FIELD_NUMBER;
12993 hash = (53 * hash) + getSharedTreeNumWorkers();
12994 }
12995 if (hasUseSharedTreeSearch()) {
12996 hash = (37 * hash) + USE_SHARED_TREE_SEARCH_FIELD_NUMBER;
12997 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12999 }
13002 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13003 java.lang.Double.doubleToLongBits(getSharedTreeWorkerObjectiveSplitProbability()));
13004 }
13007 hash = (53 * hash) + getSharedTreeMaxNodesPerWorker();
13008 }
13010 hash = (37 * hash) + SHARED_TREE_SPLIT_STRATEGY_FIELD_NUMBER;
13011 hash = (53 * hash) + sharedTreeSplitStrategy_;
13012 }
13014 hash = (37 * hash) + ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER;
13015 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13017 }
13020 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13022 }
13025 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13027 }
13030 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13032 }
13034 hash = (37 * hash) + INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER;
13035 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13037 }
13040 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13042 }
13044 hash = (37 * hash) + STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER;
13045 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13047 }
13048 if (hasStopAfterPresolve()) {
13049 hash = (37 * hash) + STOP_AFTER_PRESOLVE_FIELD_NUMBER;
13050 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13052 }
13054 hash = (37 * hash) + STOP_AFTER_ROOT_PROPAGATION_FIELD_NUMBER;
13055 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13057 }
13058 if (hasUseLnsOnly()) {
13059 hash = (37 * hash) + USE_LNS_ONLY_FIELD_NUMBER;
13060 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13061 getUseLnsOnly());
13062 }
13063 if (hasSolutionPoolSize()) {
13064 hash = (37 * hash) + SOLUTION_POOL_SIZE_FIELD_NUMBER;
13065 hash = (53 * hash) + getSolutionPoolSize();
13066 }
13067 if (hasUseRinsLns()) {
13068 hash = (37 * hash) + USE_RINS_LNS_FIELD_NUMBER;
13069 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13070 getUseRinsLns());
13071 }
13072 if (hasUseFeasibilityPump()) {
13073 hash = (37 * hash) + USE_FEASIBILITY_PUMP_FIELD_NUMBER;
13074 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13076 }
13077 if (hasUseLbRelaxLns()) {
13078 hash = (37 * hash) + USE_LB_RELAX_LNS_FIELD_NUMBER;
13079 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13081 }
13082 if (hasFpRounding()) {
13083 hash = (37 * hash) + FP_ROUNDING_FIELD_NUMBER;
13084 hash = (53 * hash) + fpRounding_;
13085 }
13086 if (hasDiversifyLnsParams()) {
13087 hash = (37 * hash) + DIVERSIFY_LNS_PARAMS_FIELD_NUMBER;
13088 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13090 }
13091 if (hasRandomizeSearch()) {
13092 hash = (37 * hash) + RANDOMIZE_SEARCH_FIELD_NUMBER;
13093 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13095 }
13098 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13100 }
13102 hash = (37 * hash) + PUSH_ALL_TASKS_TOWARD_START_FIELD_NUMBER;
13103 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13105 }
13107 hash = (37 * hash) + USE_OPTIONAL_VARIABLES_FIELD_NUMBER;
13108 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13110 }
13111 if (hasUseExactLpReason()) {
13112 hash = (37 * hash) + USE_EXACT_LP_REASON_FIELD_NUMBER;
13113 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13115 }
13117 hash = (37 * hash) + USE_COMBINED_NO_OVERLAP_FIELD_NUMBER;
13118 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13120 }
13123 hash = (53 * hash) + getAtMostOneMaxExpansionSize();
13124 }
13125 if (hasCatchSigintSignal()) {
13126 hash = (37 * hash) + CATCH_SIGINT_SIGNAL_FIELD_NUMBER;
13127 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13129 }
13130 if (hasUseImpliedBounds()) {
13131 hash = (37 * hash) + USE_IMPLIED_BOUNDS_FIELD_NUMBER;
13132 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13134 }
13135 if (hasPolishLpSolution()) {
13136 hash = (37 * hash) + POLISH_LP_SOLUTION_FIELD_NUMBER;
13137 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13139 }
13140 if (hasLpPrimalTolerance()) {
13141 hash = (37 * hash) + LP_PRIMAL_TOLERANCE_FIELD_NUMBER;
13142 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13143 java.lang.Double.doubleToLongBits(getLpPrimalTolerance()));
13144 }
13145 if (hasLpDualTolerance()) {
13146 hash = (37 * hash) + LP_DUAL_TOLERANCE_FIELD_NUMBER;
13147 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13148 java.lang.Double.doubleToLongBits(getLpDualTolerance()));
13149 }
13150 if (hasConvertIntervals()) {
13151 hash = (37 * hash) + CONVERT_INTERVALS_FIELD_NUMBER;
13152 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13154 }
13155 if (hasSymmetryLevel()) {
13156 hash = (37 * hash) + SYMMETRY_LEVEL_FIELD_NUMBER;
13157 hash = (53 * hash) + getSymmetryLevel();
13158 }
13160 hash = (37 * hash) + NEW_LINEAR_PROPAGATION_FIELD_NUMBER;
13161 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13163 }
13164 if (hasLinearSplitSize()) {
13165 hash = (37 * hash) + LINEAR_SPLIT_SIZE_FIELD_NUMBER;
13166 hash = (53 * hash) + getLinearSplitSize();
13167 }
13168 if (hasLinearizationLevel()) {
13169 hash = (37 * hash) + LINEARIZATION_LEVEL_FIELD_NUMBER;
13170 hash = (53 * hash) + getLinearizationLevel();
13171 }
13173 hash = (37 * hash) + BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER;
13174 hash = (53 * hash) + getBooleanEncodingLevel();
13175 }
13178 hash = (53 * hash) + getMaxDomainSizeWhenEncodingEqNeqConstraints();
13179 }
13180 if (hasMaxNumCuts()) {
13181 hash = (37 * hash) + MAX_NUM_CUTS_FIELD_NUMBER;
13182 hash = (53 * hash) + getMaxNumCuts();
13183 }
13184 if (hasCutLevel()) {
13185 hash = (37 * hash) + CUT_LEVEL_FIELD_NUMBER;
13186 hash = (53 * hash) + getCutLevel();
13187 }
13189 hash = (37 * hash) + ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER;
13190 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13192 }
13193 if (hasAddObjectiveCut()) {
13194 hash = (37 * hash) + ADD_OBJECTIVE_CUT_FIELD_NUMBER;
13195 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13197 }
13198 if (hasAddCgCuts()) {
13199 hash = (37 * hash) + ADD_CG_CUTS_FIELD_NUMBER;
13200 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13201 getAddCgCuts());
13202 }
13203 if (hasAddMirCuts()) {
13204 hash = (37 * hash) + ADD_MIR_CUTS_FIELD_NUMBER;
13205 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13206 getAddMirCuts());
13207 }
13208 if (hasAddZeroHalfCuts()) {
13209 hash = (37 * hash) + ADD_ZERO_HALF_CUTS_FIELD_NUMBER;
13210 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13212 }
13213 if (hasAddCliqueCuts()) {
13214 hash = (37 * hash) + ADD_CLIQUE_CUTS_FIELD_NUMBER;
13215 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13217 }
13218 if (hasAddRltCuts()) {
13219 hash = (37 * hash) + ADD_RLT_CUTS_FIELD_NUMBER;
13220 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13221 getAddRltCuts());
13222 }
13223 if (hasMaxAllDiffCutSize()) {
13224 hash = (37 * hash) + MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER;
13225 hash = (53 * hash) + getMaxAllDiffCutSize();
13226 }
13227 if (hasAddLinMaxCuts()) {
13228 hash = (37 * hash) + ADD_LIN_MAX_CUTS_FIELD_NUMBER;
13229 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13231 }
13233 hash = (37 * hash) + MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER;
13234 hash = (53 * hash) + getMaxIntegerRoundingScaling();
13235 }
13237 hash = (37 * hash) + ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER;
13238 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13240 }
13241 if (hasRootLpIterations()) {
13242 hash = (37 * hash) + ROOT_LP_ITERATIONS_FIELD_NUMBER;
13243 hash = (53 * hash) + getRootLpIterations();
13244 }
13247 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13248 java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints()));
13249 }
13251 hash = (37 * hash) + MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER;
13252 hash = (53 * hash) + getMaxCutRoundsAtLevelZero();
13253 }
13256 hash = (53 * hash) + getMaxConsecutiveInactiveCount();
13257 }
13259 hash = (37 * hash) + CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER;
13260 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13261 java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue()));
13262 }
13263 if (hasCutActiveCountDecay()) {
13264 hash = (37 * hash) + CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER;
13265 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13266 java.lang.Double.doubleToLongBits(getCutActiveCountDecay()));
13267 }
13268 if (hasCutCleanupTarget()) {
13269 hash = (37 * hash) + CUT_CLEANUP_TARGET_FIELD_NUMBER;
13270 hash = (53 * hash) + getCutCleanupTarget();
13271 }
13273 hash = (37 * hash) + NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER;
13274 hash = (53 * hash) + getNewConstraintsBatchSize();
13275 }
13277 hash = (37 * hash) + EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER;
13278 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13280 }
13282 hash = (37 * hash) + EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER;
13283 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13285 }
13286 if (hasExploitBestSolution()) {
13287 hash = (37 * hash) + EXPLOIT_BEST_SOLUTION_FIELD_NUMBER;
13288 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13290 }
13292 hash = (37 * hash) + EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER;
13293 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13295 }
13296 if (hasExploitObjective()) {
13297 hash = (37 * hash) + EXPLOIT_OBJECTIVE_FIELD_NUMBER;
13298 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13300 }
13302 hash = (37 * hash) + DETECT_LINEARIZED_PRODUCT_FIELD_NUMBER;
13303 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13305 }
13306 if (hasMipMaxBound()) {
13307 hash = (37 * hash) + MIP_MAX_BOUND_FIELD_NUMBER;
13308 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13309 java.lang.Double.doubleToLongBits(getMipMaxBound()));
13310 }
13311 if (hasMipVarScaling()) {
13312 hash = (37 * hash) + MIP_VAR_SCALING_FIELD_NUMBER;
13313 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13314 java.lang.Double.doubleToLongBits(getMipVarScaling()));
13315 }
13316 if (hasMipScaleLargeDomain()) {
13317 hash = (37 * hash) + MIP_SCALE_LARGE_DOMAIN_FIELD_NUMBER;
13318 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13320 }
13323 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13325 }
13326 if (hasOnlySolveIp()) {
13327 hash = (37 * hash) + ONLY_SOLVE_IP_FIELD_NUMBER;
13328 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13329 getOnlySolveIp());
13330 }
13331 if (hasMipWantedPrecision()) {
13332 hash = (37 * hash) + MIP_WANTED_PRECISION_FIELD_NUMBER;
13333 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13334 java.lang.Double.doubleToLongBits(getMipWantedPrecision()));
13335 }
13337 hash = (37 * hash) + MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER;
13338 hash = (53 * hash) + getMipMaxActivityExponent();
13339 }
13340 if (hasMipCheckPrecision()) {
13341 hash = (37 * hash) + MIP_CHECK_PRECISION_FIELD_NUMBER;
13342 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13343 java.lang.Double.doubleToLongBits(getMipCheckPrecision()));
13344 }
13347 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13349 }
13351 hash = (37 * hash) + MIP_MAX_VALID_MAGNITUDE_FIELD_NUMBER;
13352 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13353 java.lang.Double.doubleToLongBits(getMipMaxValidMagnitude()));
13354 }
13357 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13359 }
13360 if (hasMipDropTolerance()) {
13361 hash = (37 * hash) + MIP_DROP_TOLERANCE_FIELD_NUMBER;
13362 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13363 java.lang.Double.doubleToLongBits(getMipDropTolerance()));
13364 }
13365 if (hasMipPresolveLevel()) {
13366 hash = (37 * hash) + MIP_PRESOLVE_LEVEL_FIELD_NUMBER;
13367 hash = (53 * hash) + getMipPresolveLevel();
13368 }
13369 hash = (29 * hash) + getUnknownFields().hashCode();
13370 memoizedHashCode = hash;
13371 return hash;
13372 }
13373
13375 java.nio.ByteBuffer data)
13376 throws com.google.protobuf.InvalidProtocolBufferException {
13377 return PARSER.parseFrom(data);
13378 }
13380 java.nio.ByteBuffer data,
13381 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13382 throws com.google.protobuf.InvalidProtocolBufferException {
13383 return PARSER.parseFrom(data, extensionRegistry);
13384 }
13386 com.google.protobuf.ByteString data)
13387 throws com.google.protobuf.InvalidProtocolBufferException {
13388 return PARSER.parseFrom(data);
13389 }
13391 com.google.protobuf.ByteString data,
13392 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13393 throws com.google.protobuf.InvalidProtocolBufferException {
13394 return PARSER.parseFrom(data, extensionRegistry);
13395 }
13397 throws com.google.protobuf.InvalidProtocolBufferException {
13398 return PARSER.parseFrom(data);
13399 }
13401 byte[] data,
13402 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13403 throws com.google.protobuf.InvalidProtocolBufferException {
13404 return PARSER.parseFrom(data, extensionRegistry);
13405 }
13406 public static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
13407 throws java.io.IOException {
13408 return com.google.protobuf.GeneratedMessageV3
13409 .parseWithIOException(PARSER, input);
13410 }
13412 java.io.InputStream input,
13413 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13414 throws java.io.IOException {
13415 return com.google.protobuf.GeneratedMessageV3
13416 .parseWithIOException(PARSER, input, extensionRegistry);
13417 }
13418
13419 public static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
13420 throws java.io.IOException {
13421 return com.google.protobuf.GeneratedMessageV3
13422 .parseDelimitedWithIOException(PARSER, input);
13423 }
13424
13426 java.io.InputStream input,
13427 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13428 throws java.io.IOException {
13429 return com.google.protobuf.GeneratedMessageV3
13430 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
13431 }
13433 com.google.protobuf.CodedInputStream input)
13434 throws java.io.IOException {
13435 return com.google.protobuf.GeneratedMessageV3
13436 .parseWithIOException(PARSER, input);
13437 }
13439 com.google.protobuf.CodedInputStream input,
13440 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13441 throws java.io.IOException {
13442 return com.google.protobuf.GeneratedMessageV3
13443 .parseWithIOException(PARSER, input, extensionRegistry);
13444 }
13445
13446 @java.lang.Override
13447 public Builder newBuilderForType() { return newBuilder(); }
13448 public static Builder newBuilder() {
13449 return DEFAULT_INSTANCE.toBuilder();
13450 }
13451 public static Builder newBuilder(com.google.ortools.sat.SatParameters prototype) {
13452 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
13453 }
13454 @java.lang.Override
13456 return this == DEFAULT_INSTANCE
13457 ? new Builder() : new Builder().mergeFrom(this);
13458 }
13459
13460 @java.lang.Override
13462 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
13463 Builder builder = new Builder(parent);
13464 return builder;
13465 }
13476 public static final class Builder extends
13477 com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
13478 // @@protoc_insertion_point(builder_implements:operations_research.sat.SatParameters)
13479 com.google.ortools.sat.SatParametersOrBuilder {
13480 public static final com.google.protobuf.Descriptors.Descriptor
13482 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
13483 }
13484
13485 @java.lang.Override
13486 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
13488 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
13489 .ensureFieldAccessorsInitialized(
13490 com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
13491 }
13492
13493 // Construct using com.google.ortools.sat.SatParameters.newBuilder()
13494 private Builder() {
13495
13496 }
13497
13498 private Builder(
13499 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
13500 super(parent);
13501
13502 }
13503 @java.lang.Override
13504 public Builder clear() {
13505 super.clear();
13506 bitField0_ = 0;
13507 bitField1_ = 0;
13508 bitField2_ = 0;
13509 bitField3_ = 0;
13510 bitField4_ = 0;
13511 bitField5_ = 0;
13512 bitField6_ = 0;
13513 bitField7_ = 0;
13514 name_ = "";
13515 preferredVariableOrder_ = 0;
13516 initialPolarity_ = 1;
13517 usePhaseSaving_ = true;
13518 polarityRephaseIncrement_ = 1000;
13519 randomPolarityRatio_ = 0D;
13520 randomBranchesRatio_ = 0D;
13521 useErwaHeuristic_ = false;
13522 initialVariablesActivity_ = 0D;
13523 alsoBumpVariablesInConflictReasons_ = false;
13524 minimizationAlgorithm_ = 2;
13525 binaryMinimizationAlgorithm_ = 1;
13526 subsumptionDuringConflictAnalysis_ = true;
13527 clauseCleanupPeriod_ = 10000;
13528 clauseCleanupTarget_ = 0;
13529 clauseCleanupRatio_ = 0.5D;
13530 clauseCleanupProtection_ = 0;
13531 clauseCleanupLbdBound_ = 5;
13532 clauseCleanupOrdering_ = 0;
13533 pbCleanupIncrement_ = 200;
13534 pbCleanupRatio_ = 0.5D;
13535 variableActivityDecay_ = 0.8D;
13536 maxVariableActivityValue_ = 1e+100D;
13537 glucoseMaxDecay_ = 0.95D;
13538 glucoseDecayIncrement_ = 0.01D;
13539 glucoseDecayIncrementPeriod_ = 5000;
13540 clauseActivityDecay_ = 0.999D;
13541 maxClauseActivityValue_ = 1e+20D;
13542 restartAlgorithms_ = java.util.Collections.emptyList();
13543 bitField0_ = (bitField0_ & ~0x10000000);
13544 defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
13545 restartPeriod_ = 50;
13546 restartRunningWindowSize_ = 50;
13547 restartDlAverageRatio_ = 1D;
13548 restartLbdAverageRatio_ = 1D;
13549 useBlockingRestart_ = false;
13550 blockingRestartWindowSize_ = 5000;
13551 blockingRestartMultiplier_ = 1.4D;
13552 numConflictsBeforeStrategyChanges_ = 0;
13553 strategyChangeIncreaseRatio_ = 0D;
13554 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
13555 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
13556 maxNumberOfConflicts_ = 9223372036854775807L;
13557 maxMemoryInMb_ = 10000L;
13558 absoluteGapLimit_ = 0.0001D;
13559 relativeGapLimit_ = 0D;
13560 randomSeed_ = 1;
13561 permuteVariableRandomly_ = false;
13562 permutePresolveConstraintOrder_ = false;
13563 useAbslRandom_ = false;
13564 logSearchProgress_ = false;
13565 logSubsolverStatistics_ = false;
13566 logPrefix_ = "";
13567 logToStdout_ = true;
13568 logToResponse_ = false;
13569 usePbResolution_ = false;
13570 minimizeReductionDuringPbResolution_ = false;
13571 countAssumptionLevelsInLbd_ = true;
13572 presolveBveThreshold_ = 500;
13573 presolveBveClauseWeight_ = 3;
13574 probingDeterministicTimeLimit_ = 1D;
13575 presolveProbingDeterministicTimeLimit_ = 30D;
13576 presolveBlockedClause_ = true;
13577 presolveUseBva_ = true;
13578 presolveBvaThreshold_ = 1;
13579 maxPresolveIterations_ = 3;
13580 cpModelPresolve_ = true;
13581 cpModelProbingLevel_ = 2;
13582 cpModelUseSatPresolve_ = true;
13583 detectTableWithCost_ = false;
13584 tableCompressionLevel_ = 2;
13585 expandAlldiffConstraints_ = false;
13586 expandReservoirConstraints_ = true;
13587 disableConstraintExpansion_ = false;
13588 encodeComplexLinearConstraintWithInteger_ = false;
13589 mergeNoOverlapWorkLimit_ = 1000000000000D;
13590 mergeAtMostOneWorkLimit_ = 100000000D;
13591 presolveSubstitutionLevel_ = 1;
13592 presolveExtractIntegerEnforcement_ = false;
13593 presolveInclusionWorkLimit_ = 100000000L;
13594 ignoreNames_ = true;
13595 inferAllDiffs_ = true;
13596 findBigLinearOverlap_ = true;
13597 useSatInprocessing_ = true;
13598 inprocessingDtimeRatio_ = 0.2D;
13599 inprocessingProbingDtime_ = 1D;
13600 inprocessingMinimizationDtime_ = 1D;
13601 numWorkers_ = 0;
13602 numSearchWorkers_ = 0;
13603 minNumLnsWorkers_ = 2;
13604 subsolvers_ =
13605 com.google.protobuf.LazyStringArrayList.emptyList();
13606 extraSubsolvers_ =
13607 com.google.protobuf.LazyStringArrayList.emptyList();
13608 ignoreSubsolvers_ =
13609 com.google.protobuf.LazyStringArrayList.emptyList();
13610 if (subsolverParamsBuilder_ == null) {
13611 subsolverParams_ = java.util.Collections.emptyList();
13612 } else {
13613 subsolverParams_ = null;
13614 subsolverParamsBuilder_.clear();
13615 }
13616 bitField2_ = (bitField2_ & ~0x10000000);
13617 interleaveSearch_ = false;
13618 interleaveBatchSize_ = 0;
13619 shareObjectiveBounds_ = true;
13620 shareLevelZeroBounds_ = true;
13621 shareBinaryClauses_ = true;
13622 debugPostsolveWithFullSolver_ = false;
13623 debugMaxNumPresolveOperations_ = 0;
13624 debugCrashOnBadHint_ = false;
13625 useOptimizationHints_ = true;
13626 coreMinimizationLevel_ = 2;
13627 findMultipleCores_ = true;
13628 coverOptimization_ = true;
13629 maxSatAssumptionOrder_ = 0;
13630 maxSatReverseAssumptionOrder_ = false;
13631 maxSatStratification_ = 1;
13632 propagationLoopDetectionFactor_ = 10D;
13633 usePrecedencesInDisjunctiveConstraint_ = true;
13634 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
13635 useStrongPropagationInDisjunctive_ = false;
13636 useDynamicPrecedenceInDisjunctive_ = false;
13637 useDynamicPrecedenceInCumulative_ = false;
13638 useOverloadCheckerInCumulative_ = false;
13639 useTimetableEdgeFindingInCumulative_ = false;
13640 maxNumIntervalsForTimetableEdgeFinding_ = 100;
13641 useHardPrecedencesInCumulative_ = false;
13642 exploitAllPrecedences_ = false;
13643 useDisjunctiveConstraintInCumulative_ = true;
13644 useTimetablingInNoOverlap2D_ = false;
13645 useEnergeticReasoningInNoOverlap2D_ = false;
13646 useAreaEnergeticReasoningInNoOverlap2D_ = false;
13647 maxPairsPairwiseReasoningInNoOverlap2D_ = 1250;
13648 useDualSchedulingHeuristics_ = true;
13649 searchBranching_ = 0;
13650 hintConflictLimit_ = 10;
13651 repairHint_ = false;
13652 fixVariablesToTheirHintedValue_ = false;
13653 useProbingSearch_ = false;
13654 useExtendedProbing_ = true;
13655 probingNumCombinationsLimit_ = 20000;
13656 useShavingInProbingSearch_ = true;
13657 shavingSearchDeterministicTime_ = 0.001D;
13658 useObjectiveLbSearch_ = false;
13659 useObjectiveShavingSearch_ = false;
13660 pseudoCostReliabilityThreshold_ = 100L;
13661 optimizeWithCore_ = false;
13662 optimizeWithLbTreeSearch_ = false;
13663 binarySearchNumConflicts_ = -1;
13664 optimizeWithMaxHs_ = false;
13665 useFeasibilityJump_ = true;
13666 testFeasibilityJump_ = false;
13667 feasibilityJumpDecay_ = 0.95D;
13668 feasibilityJumpLinearizationLevel_ = 2;
13669 feasibilityJumpRestartFactor_ = 1;
13670 feasibilityJumpVarRandomizationProbability_ = 0D;
13671 feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
13672 feasibilityJumpEnableRestarts_ = true;
13673 feasibilityJumpMaxExpandedConstraintSize_ = 100;
13674 numViolationLs_ = 0;
13675 violationLsPerturbationPeriod_ = 100;
13676 violationLsCompoundMoveProbability_ = 0.5D;
13677 sharedTreeNumWorkers_ = 0;
13678 useSharedTreeSearch_ = false;
13679 sharedTreeWorkerObjectiveSplitProbability_ = 0.5D;
13680 sharedTreeMaxNodesPerWorker_ = 128;
13681 sharedTreeSplitStrategy_ = 0;
13682 enumerateAllSolutions_ = false;
13683 keepAllFeasibleSolutionsInPresolve_ = false;
13684 fillTightenedDomainsInResponse_ = false;
13685 fillAdditionalSolutionsInResponse_ = false;
13686 instantiateAllVariables_ = true;
13687 autoDetectGreaterThanAtLeastOneOf_ = true;
13688 stopAfterFirstSolution_ = false;
13689 stopAfterPresolve_ = false;
13690 stopAfterRootPropagation_ = false;
13691 useLnsOnly_ = false;
13692 solutionPoolSize_ = 3;
13693 useRinsLns_ = true;
13694 useFeasibilityPump_ = true;
13695 useLbRelaxLns_ = false;
13696 fpRounding_ = 2;
13697 diversifyLnsParams_ = false;
13698 randomizeSearch_ = false;
13699 searchRandomVariablePoolSize_ = 0L;
13700 pushAllTasksTowardStart_ = false;
13701 useOptionalVariables_ = false;
13702 useExactLpReason_ = true;
13703 useCombinedNoOverlap_ = false;
13704 atMostOneMaxExpansionSize_ = 3;
13705 catchSigintSignal_ = true;
13706 useImpliedBounds_ = true;
13707 polishLpSolution_ = false;
13708 lpPrimalTolerance_ = 1e-07D;
13709 lpDualTolerance_ = 1e-07D;
13710 convertIntervals_ = true;
13711 symmetryLevel_ = 2;
13712 newLinearPropagation_ = false;
13713 linearSplitSize_ = 100;
13714 linearizationLevel_ = 1;
13715 booleanEncodingLevel_ = 1;
13716 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
13717 maxNumCuts_ = 10000;
13718 cutLevel_ = 1;
13719 onlyAddCutsAtLevelZero_ = false;
13720 addObjectiveCut_ = false;
13721 addCgCuts_ = true;
13722 addMirCuts_ = true;
13723 addZeroHalfCuts_ = true;
13724 addCliqueCuts_ = true;
13725 addRltCuts_ = true;
13726 maxAllDiffCutSize_ = 64;
13727 addLinMaxCuts_ = true;
13728 maxIntegerRoundingScaling_ = 600;
13729 addLpConstraintsLazily_ = true;
13730 rootLpIterations_ = 2000;
13731 minOrthogonalityForLpConstraints_ = 0.05D;
13732 maxCutRoundsAtLevelZero_ = 1;
13733 maxConsecutiveInactiveCount_ = 100;
13734 cutMaxActiveCountValue_ = 10000000000D;
13735 cutActiveCountDecay_ = 0.8D;
13736 cutCleanupTarget_ = 1000;
13737 newConstraintsBatchSize_ = 50;
13738 exploitIntegerLpSolution_ = true;
13739 exploitAllLpSolution_ = true;
13740 exploitBestSolution_ = false;
13741 exploitRelaxationSolution_ = false;
13742 exploitObjective_ = true;
13743 detectLinearizedProduct_ = false;
13744 mipMaxBound_ = 10000000D;
13745 mipVarScaling_ = 1D;
13746 mipScaleLargeDomain_ = false;
13747 mipAutomaticallyScaleVariables_ = true;
13748 onlySolveIp_ = false;
13749 mipWantedPrecision_ = 1e-06D;
13750 mipMaxActivityExponent_ = 53;
13751 mipCheckPrecision_ = 0.0001D;
13752 mipComputeTrueObjectiveBound_ = true;
13753 mipMaxValidMagnitude_ = 1e+20D;
13754 mipTreatHighMagnitudeBoundsAsInfinity_ = false;
13755 mipDropTolerance_ = 1e-16D;
13756 mipPresolveLevel_ = 2;
13757 return this;
13758 }
13759
13760 @java.lang.Override
13761 public com.google.protobuf.Descriptors.Descriptor
13763 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
13764 }
13765
13766 @java.lang.Override
13768 return com.google.ortools.sat.SatParameters.getDefaultInstance();
13769 }
13770
13771 @java.lang.Override
13774 if (!result.isInitialized()) {
13775 throw newUninitializedMessageException(result);
13776 }
13777 return result;
13778 }
13779
13780 @java.lang.Override
13782 com.google.ortools.sat.SatParameters result = new com.google.ortools.sat.SatParameters(this);
13783 buildPartialRepeatedFields(result);
13784 if (bitField0_ != 0) { buildPartial0(result); }
13785 if (bitField1_ != 0) { buildPartial1(result); }
13786 if (bitField2_ != 0) { buildPartial2(result); }
13787 if (bitField3_ != 0) { buildPartial3(result); }
13788 if (bitField4_ != 0) { buildPartial4(result); }
13789 if (bitField5_ != 0) { buildPartial5(result); }
13790 if (bitField6_ != 0) { buildPartial6(result); }
13791 if (bitField7_ != 0) { buildPartial7(result); }
13792 onBuilt();
13793 return result;
13794 }
13795
13796 private void buildPartialRepeatedFields(com.google.ortools.sat.SatParameters result) {
13797 if (((bitField0_ & 0x10000000) != 0)) {
13798 restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
13799 bitField0_ = (bitField0_ & ~0x10000000);
13800 }
13801 result.restartAlgorithms_ = restartAlgorithms_;
13802 if (subsolverParamsBuilder_ == null) {
13803 if (((bitField2_ & 0x10000000) != 0)) {
13804 subsolverParams_ = java.util.Collections.unmodifiableList(subsolverParams_);
13805 bitField2_ = (bitField2_ & ~0x10000000);
13806 }
13807 result.subsolverParams_ = subsolverParams_;
13808 } else {
13809 result.subsolverParams_ = subsolverParamsBuilder_.build();
13810 }
13811 }
13812
13813 private void buildPartial0(com.google.ortools.sat.SatParameters result) {
13814 int from_bitField0_ = bitField0_;
13815 int to_bitField0_ = 0;
13816 if (((from_bitField0_ & 0x00000001) != 0)) {
13817 result.name_ = name_;
13818 to_bitField0_ |= 0x00000001;
13819 }
13820 if (((from_bitField0_ & 0x00000002) != 0)) {
13821 result.preferredVariableOrder_ = preferredVariableOrder_;
13822 to_bitField0_ |= 0x00000002;
13823 }
13824 if (((from_bitField0_ & 0x00000004) != 0)) {
13825 result.initialPolarity_ = initialPolarity_;
13826 to_bitField0_ |= 0x00000004;
13827 }
13828 if (((from_bitField0_ & 0x00000008) != 0)) {
13829 result.usePhaseSaving_ = usePhaseSaving_;
13830 to_bitField0_ |= 0x00000008;
13831 }
13832 if (((from_bitField0_ & 0x00000010) != 0)) {
13833 result.polarityRephaseIncrement_ = polarityRephaseIncrement_;
13834 to_bitField0_ |= 0x00000010;
13835 }
13836 if (((from_bitField0_ & 0x00000020) != 0)) {
13837 result.randomPolarityRatio_ = randomPolarityRatio_;
13838 to_bitField0_ |= 0x00000020;
13839 }
13840 if (((from_bitField0_ & 0x00000040) != 0)) {
13841 result.randomBranchesRatio_ = randomBranchesRatio_;
13842 to_bitField0_ |= 0x00000040;
13843 }
13844 if (((from_bitField0_ & 0x00000080) != 0)) {
13845 result.useErwaHeuristic_ = useErwaHeuristic_;
13846 to_bitField0_ |= 0x00000080;
13847 }
13848 if (((from_bitField0_ & 0x00000100) != 0)) {
13849 result.initialVariablesActivity_ = initialVariablesActivity_;
13850 to_bitField0_ |= 0x00000100;
13851 }
13852 if (((from_bitField0_ & 0x00000200) != 0)) {
13853 result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
13854 to_bitField0_ |= 0x00000200;
13855 }
13856 if (((from_bitField0_ & 0x00000400) != 0)) {
13857 result.minimizationAlgorithm_ = minimizationAlgorithm_;
13858 to_bitField0_ |= 0x00000400;
13859 }
13860 if (((from_bitField0_ & 0x00000800) != 0)) {
13861 result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
13862 to_bitField0_ |= 0x00000800;
13863 }
13864 if (((from_bitField0_ & 0x00001000) != 0)) {
13865 result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
13866 to_bitField0_ |= 0x00001000;
13867 }
13868 if (((from_bitField0_ & 0x00002000) != 0)) {
13869 result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
13870 to_bitField0_ |= 0x00002000;
13871 }
13872 if (((from_bitField0_ & 0x00004000) != 0)) {
13873 result.clauseCleanupTarget_ = clauseCleanupTarget_;
13874 to_bitField0_ |= 0x00004000;
13875 }
13876 if (((from_bitField0_ & 0x00008000) != 0)) {
13877 result.clauseCleanupRatio_ = clauseCleanupRatio_;
13878 to_bitField0_ |= 0x00008000;
13879 }
13880 if (((from_bitField0_ & 0x00010000) != 0)) {
13881 result.clauseCleanupProtection_ = clauseCleanupProtection_;
13882 to_bitField0_ |= 0x00010000;
13883 }
13884 if (((from_bitField0_ & 0x00020000) != 0)) {
13885 result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
13886 to_bitField0_ |= 0x00020000;
13887 }
13888 if (((from_bitField0_ & 0x00040000) != 0)) {
13889 result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
13890 to_bitField0_ |= 0x00040000;
13891 }
13892 if (((from_bitField0_ & 0x00080000) != 0)) {
13893 result.pbCleanupIncrement_ = pbCleanupIncrement_;
13894 to_bitField0_ |= 0x00080000;
13895 }
13896 if (((from_bitField0_ & 0x00100000) != 0)) {
13897 result.pbCleanupRatio_ = pbCleanupRatio_;
13898 to_bitField0_ |= 0x00100000;
13899 }
13900 if (((from_bitField0_ & 0x00200000) != 0)) {
13901 result.variableActivityDecay_ = variableActivityDecay_;
13902 to_bitField0_ |= 0x00200000;
13903 }
13904 if (((from_bitField0_ & 0x00400000) != 0)) {
13905 result.maxVariableActivityValue_ = maxVariableActivityValue_;
13906 to_bitField0_ |= 0x00400000;
13907 }
13908 if (((from_bitField0_ & 0x00800000) != 0)) {
13909 result.glucoseMaxDecay_ = glucoseMaxDecay_;
13910 to_bitField0_ |= 0x00800000;
13911 }
13912 if (((from_bitField0_ & 0x01000000) != 0)) {
13913 result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
13914 to_bitField0_ |= 0x01000000;
13915 }
13916 if (((from_bitField0_ & 0x02000000) != 0)) {
13917 result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
13918 to_bitField0_ |= 0x02000000;
13919 }
13920 if (((from_bitField0_ & 0x04000000) != 0)) {
13921 result.clauseActivityDecay_ = clauseActivityDecay_;
13922 to_bitField0_ |= 0x04000000;
13923 }
13924 if (((from_bitField0_ & 0x08000000) != 0)) {
13925 result.maxClauseActivityValue_ = maxClauseActivityValue_;
13926 to_bitField0_ |= 0x08000000;
13927 }
13928 if (((from_bitField0_ & 0x20000000) != 0)) {
13929 result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
13930 to_bitField0_ |= 0x10000000;
13931 }
13932 if (((from_bitField0_ & 0x40000000) != 0)) {
13933 result.restartPeriod_ = restartPeriod_;
13934 to_bitField0_ |= 0x20000000;
13935 }
13936 if (((from_bitField0_ & 0x80000000) != 0)) {
13937 result.restartRunningWindowSize_ = restartRunningWindowSize_;
13938 to_bitField0_ |= 0x40000000;
13939 }
13940 result.bitField0_ |= to_bitField0_;
13941 }
13942
13943 private void buildPartial1(com.google.ortools.sat.SatParameters result) {
13944 int from_bitField1_ = bitField1_;
13945 int to_bitField0_ = 0;
13946 if (((from_bitField1_ & 0x00000001) != 0)) {
13947 result.restartDlAverageRatio_ = restartDlAverageRatio_;
13948 to_bitField0_ |= 0x80000000;
13949 }
13950 int to_bitField1_ = 0;
13951 if (((from_bitField1_ & 0x00000002) != 0)) {
13952 result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
13953 to_bitField1_ |= 0x00000001;
13954 }
13955 if (((from_bitField1_ & 0x00000004) != 0)) {
13956 result.useBlockingRestart_ = useBlockingRestart_;
13957 to_bitField1_ |= 0x00000002;
13958 }
13959 if (((from_bitField1_ & 0x00000008) != 0)) {
13960 result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
13961 to_bitField1_ |= 0x00000004;
13962 }
13963 if (((from_bitField1_ & 0x00000010) != 0)) {
13964 result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
13965 to_bitField1_ |= 0x00000008;
13966 }
13967 if (((from_bitField1_ & 0x00000020) != 0)) {
13968 result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
13969 to_bitField1_ |= 0x00000010;
13970 }
13971 if (((from_bitField1_ & 0x00000040) != 0)) {
13972 result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
13973 to_bitField1_ |= 0x00000020;
13974 }
13975 if (((from_bitField1_ & 0x00000080) != 0)) {
13976 result.maxTimeInSeconds_ = maxTimeInSeconds_;
13977 to_bitField1_ |= 0x00000040;
13978 }
13979 if (((from_bitField1_ & 0x00000100) != 0)) {
13980 result.maxDeterministicTime_ = maxDeterministicTime_;
13981 to_bitField1_ |= 0x00000080;
13982 }
13983 if (((from_bitField1_ & 0x00000200) != 0)) {
13984 result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
13985 to_bitField1_ |= 0x00000100;
13986 }
13987 if (((from_bitField1_ & 0x00000400) != 0)) {
13988 result.maxMemoryInMb_ = maxMemoryInMb_;
13989 to_bitField1_ |= 0x00000200;
13990 }
13991 if (((from_bitField1_ & 0x00000800) != 0)) {
13992 result.absoluteGapLimit_ = absoluteGapLimit_;
13993 to_bitField1_ |= 0x00000400;
13994 }
13995 if (((from_bitField1_ & 0x00001000) != 0)) {
13996 result.relativeGapLimit_ = relativeGapLimit_;
13997 to_bitField1_ |= 0x00000800;
13998 }
13999 if (((from_bitField1_ & 0x00002000) != 0)) {
14000 result.randomSeed_ = randomSeed_;
14001 to_bitField1_ |= 0x00001000;
14002 }
14003 if (((from_bitField1_ & 0x00004000) != 0)) {
14004 result.permuteVariableRandomly_ = permuteVariableRandomly_;
14005 to_bitField1_ |= 0x00002000;
14006 }
14007 if (((from_bitField1_ & 0x00008000) != 0)) {
14008 result.permutePresolveConstraintOrder_ = permutePresolveConstraintOrder_;
14009 to_bitField1_ |= 0x00004000;
14010 }
14011 if (((from_bitField1_ & 0x00010000) != 0)) {
14012 result.useAbslRandom_ = useAbslRandom_;
14013 to_bitField1_ |= 0x00008000;
14014 }
14015 if (((from_bitField1_ & 0x00020000) != 0)) {
14016 result.logSearchProgress_ = logSearchProgress_;
14017 to_bitField1_ |= 0x00010000;
14018 }
14019 if (((from_bitField1_ & 0x00040000) != 0)) {
14020 result.logSubsolverStatistics_ = logSubsolverStatistics_;
14021 to_bitField1_ |= 0x00020000;
14022 }
14023 if (((from_bitField1_ & 0x00080000) != 0)) {
14024 result.logPrefix_ = logPrefix_;
14025 to_bitField1_ |= 0x00040000;
14026 }
14027 if (((from_bitField1_ & 0x00100000) != 0)) {
14028 result.logToStdout_ = logToStdout_;
14029 to_bitField1_ |= 0x00080000;
14030 }
14031 if (((from_bitField1_ & 0x00200000) != 0)) {
14032 result.logToResponse_ = logToResponse_;
14033 to_bitField1_ |= 0x00100000;
14034 }
14035 if (((from_bitField1_ & 0x00400000) != 0)) {
14036 result.usePbResolution_ = usePbResolution_;
14037 to_bitField1_ |= 0x00200000;
14038 }
14039 if (((from_bitField1_ & 0x00800000) != 0)) {
14040 result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
14041 to_bitField1_ |= 0x00400000;
14042 }
14043 if (((from_bitField1_ & 0x01000000) != 0)) {
14044 result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
14045 to_bitField1_ |= 0x00800000;
14046 }
14047 if (((from_bitField1_ & 0x02000000) != 0)) {
14048 result.presolveBveThreshold_ = presolveBveThreshold_;
14049 to_bitField1_ |= 0x01000000;
14050 }
14051 if (((from_bitField1_ & 0x04000000) != 0)) {
14052 result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
14053 to_bitField1_ |= 0x02000000;
14054 }
14055 if (((from_bitField1_ & 0x08000000) != 0)) {
14056 result.probingDeterministicTimeLimit_ = probingDeterministicTimeLimit_;
14057 to_bitField1_ |= 0x04000000;
14058 }
14059 if (((from_bitField1_ & 0x10000000) != 0)) {
14060 result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
14061 to_bitField1_ |= 0x08000000;
14062 }
14063 if (((from_bitField1_ & 0x20000000) != 0)) {
14064 result.presolveBlockedClause_ = presolveBlockedClause_;
14065 to_bitField1_ |= 0x10000000;
14066 }
14067 if (((from_bitField1_ & 0x40000000) != 0)) {
14068 result.presolveUseBva_ = presolveUseBva_;
14069 to_bitField1_ |= 0x20000000;
14070 }
14071 if (((from_bitField1_ & 0x80000000) != 0)) {
14072 result.presolveBvaThreshold_ = presolveBvaThreshold_;
14073 to_bitField1_ |= 0x40000000;
14074 }
14075 result.bitField0_ |= to_bitField0_;
14076 result.bitField1_ |= to_bitField1_;
14077 }
14078
14079 private void buildPartial2(com.google.ortools.sat.SatParameters result) {
14080 int from_bitField2_ = bitField2_;
14081 int to_bitField1_ = 0;
14082 if (((from_bitField2_ & 0x00000001) != 0)) {
14083 result.maxPresolveIterations_ = maxPresolveIterations_;
14084 to_bitField1_ |= 0x80000000;
14085 }
14086 int to_bitField2_ = 0;
14087 if (((from_bitField2_ & 0x00000002) != 0)) {
14088 result.cpModelPresolve_ = cpModelPresolve_;
14089 to_bitField2_ |= 0x00000001;
14090 }
14091 if (((from_bitField2_ & 0x00000004) != 0)) {
14092 result.cpModelProbingLevel_ = cpModelProbingLevel_;
14093 to_bitField2_ |= 0x00000002;
14094 }
14095 if (((from_bitField2_ & 0x00000008) != 0)) {
14096 result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
14097 to_bitField2_ |= 0x00000004;
14098 }
14099 if (((from_bitField2_ & 0x00000010) != 0)) {
14100 result.detectTableWithCost_ = detectTableWithCost_;
14101 to_bitField2_ |= 0x00000008;
14102 }
14103 if (((from_bitField2_ & 0x00000020) != 0)) {
14104 result.tableCompressionLevel_ = tableCompressionLevel_;
14105 to_bitField2_ |= 0x00000010;
14106 }
14107 if (((from_bitField2_ & 0x00000040) != 0)) {
14108 result.expandAlldiffConstraints_ = expandAlldiffConstraints_;
14109 to_bitField2_ |= 0x00000020;
14110 }
14111 if (((from_bitField2_ & 0x00000080) != 0)) {
14112 result.expandReservoirConstraints_ = expandReservoirConstraints_;
14113 to_bitField2_ |= 0x00000040;
14114 }
14115 if (((from_bitField2_ & 0x00000100) != 0)) {
14116 result.disableConstraintExpansion_ = disableConstraintExpansion_;
14117 to_bitField2_ |= 0x00000080;
14118 }
14119 if (((from_bitField2_ & 0x00000200) != 0)) {
14120 result.encodeComplexLinearConstraintWithInteger_ = encodeComplexLinearConstraintWithInteger_;
14121 to_bitField2_ |= 0x00000100;
14122 }
14123 if (((from_bitField2_ & 0x00000400) != 0)) {
14124 result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
14125 to_bitField2_ |= 0x00000200;
14126 }
14127 if (((from_bitField2_ & 0x00000800) != 0)) {
14128 result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
14129 to_bitField2_ |= 0x00000400;
14130 }
14131 if (((from_bitField2_ & 0x00001000) != 0)) {
14132 result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
14133 to_bitField2_ |= 0x00000800;
14134 }
14135 if (((from_bitField2_ & 0x00002000) != 0)) {
14136 result.presolveExtractIntegerEnforcement_ = presolveExtractIntegerEnforcement_;
14137 to_bitField2_ |= 0x00001000;
14138 }
14139 if (((from_bitField2_ & 0x00004000) != 0)) {
14140 result.presolveInclusionWorkLimit_ = presolveInclusionWorkLimit_;
14141 to_bitField2_ |= 0x00002000;
14142 }
14143 if (((from_bitField2_ & 0x00008000) != 0)) {
14144 result.ignoreNames_ = ignoreNames_;
14145 to_bitField2_ |= 0x00004000;
14146 }
14147 if (((from_bitField2_ & 0x00010000) != 0)) {
14148 result.inferAllDiffs_ = inferAllDiffs_;
14149 to_bitField2_ |= 0x00008000;
14150 }
14151 if (((from_bitField2_ & 0x00020000) != 0)) {
14152 result.findBigLinearOverlap_ = findBigLinearOverlap_;
14153 to_bitField2_ |= 0x00010000;
14154 }
14155 if (((from_bitField2_ & 0x00040000) != 0)) {
14156 result.useSatInprocessing_ = useSatInprocessing_;
14157 to_bitField2_ |= 0x00020000;
14158 }
14159 if (((from_bitField2_ & 0x00080000) != 0)) {
14160 result.inprocessingDtimeRatio_ = inprocessingDtimeRatio_;
14161 to_bitField2_ |= 0x00040000;
14162 }
14163 if (((from_bitField2_ & 0x00100000) != 0)) {
14164 result.inprocessingProbingDtime_ = inprocessingProbingDtime_;
14165 to_bitField2_ |= 0x00080000;
14166 }
14167 if (((from_bitField2_ & 0x00200000) != 0)) {
14168 result.inprocessingMinimizationDtime_ = inprocessingMinimizationDtime_;
14169 to_bitField2_ |= 0x00100000;
14170 }
14171 if (((from_bitField2_ & 0x00400000) != 0)) {
14172 result.numWorkers_ = numWorkers_;
14173 to_bitField2_ |= 0x00200000;
14174 }
14175 if (((from_bitField2_ & 0x00800000) != 0)) {
14176 result.numSearchWorkers_ = numSearchWorkers_;
14177 to_bitField2_ |= 0x00400000;
14178 }
14179 if (((from_bitField2_ & 0x01000000) != 0)) {
14180 result.minNumLnsWorkers_ = minNumLnsWorkers_;
14181 to_bitField2_ |= 0x00800000;
14182 }
14183 if (((from_bitField2_ & 0x02000000) != 0)) {
14184 subsolvers_.makeImmutable();
14185 result.subsolvers_ = subsolvers_;
14186 }
14187 if (((from_bitField2_ & 0x04000000) != 0)) {
14188 extraSubsolvers_.makeImmutable();
14189 result.extraSubsolvers_ = extraSubsolvers_;
14190 }
14191 if (((from_bitField2_ & 0x08000000) != 0)) {
14192 ignoreSubsolvers_.makeImmutable();
14193 result.ignoreSubsolvers_ = ignoreSubsolvers_;
14194 }
14195 if (((from_bitField2_ & 0x20000000) != 0)) {
14196 result.interleaveSearch_ = interleaveSearch_;
14197 to_bitField2_ |= 0x01000000;
14198 }
14199 if (((from_bitField2_ & 0x40000000) != 0)) {
14200 result.interleaveBatchSize_ = interleaveBatchSize_;
14201 to_bitField2_ |= 0x02000000;
14202 }
14203 if (((from_bitField2_ & 0x80000000) != 0)) {
14204 result.shareObjectiveBounds_ = shareObjectiveBounds_;
14205 to_bitField2_ |= 0x04000000;
14206 }
14207 result.bitField1_ |= to_bitField1_;
14208 result.bitField2_ |= to_bitField2_;
14209 }
14210
14211 private void buildPartial3(com.google.ortools.sat.SatParameters result) {
14212 int from_bitField3_ = bitField3_;
14213 int to_bitField2_ = 0;
14214 if (((from_bitField3_ & 0x00000001) != 0)) {
14215 result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
14216 to_bitField2_ |= 0x08000000;
14217 }
14218 if (((from_bitField3_ & 0x00000002) != 0)) {
14219 result.shareBinaryClauses_ = shareBinaryClauses_;
14220 to_bitField2_ |= 0x10000000;
14221 }
14222 if (((from_bitField3_ & 0x00000004) != 0)) {
14223 result.debugPostsolveWithFullSolver_ = debugPostsolveWithFullSolver_;
14224 to_bitField2_ |= 0x20000000;
14225 }
14226 if (((from_bitField3_ & 0x00000008) != 0)) {
14227 result.debugMaxNumPresolveOperations_ = debugMaxNumPresolveOperations_;
14228 to_bitField2_ |= 0x40000000;
14229 }
14230 if (((from_bitField3_ & 0x00000010) != 0)) {
14231 result.debugCrashOnBadHint_ = debugCrashOnBadHint_;
14232 to_bitField2_ |= 0x80000000;
14233 }
14234 int to_bitField3_ = 0;
14235 if (((from_bitField3_ & 0x00000020) != 0)) {
14236 result.useOptimizationHints_ = useOptimizationHints_;
14237 to_bitField3_ |= 0x00000001;
14238 }
14239 if (((from_bitField3_ & 0x00000040) != 0)) {
14240 result.coreMinimizationLevel_ = coreMinimizationLevel_;
14241 to_bitField3_ |= 0x00000002;
14242 }
14243 if (((from_bitField3_ & 0x00000080) != 0)) {
14244 result.findMultipleCores_ = findMultipleCores_;
14245 to_bitField3_ |= 0x00000004;
14246 }
14247 if (((from_bitField3_ & 0x00000100) != 0)) {
14248 result.coverOptimization_ = coverOptimization_;
14249 to_bitField3_ |= 0x00000008;
14250 }
14251 if (((from_bitField3_ & 0x00000200) != 0)) {
14252 result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
14253 to_bitField3_ |= 0x00000010;
14254 }
14255 if (((from_bitField3_ & 0x00000400) != 0)) {
14256 result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
14257 to_bitField3_ |= 0x00000020;
14258 }
14259 if (((from_bitField3_ & 0x00000800) != 0)) {
14260 result.maxSatStratification_ = maxSatStratification_;
14261 to_bitField3_ |= 0x00000040;
14262 }
14263 if (((from_bitField3_ & 0x00001000) != 0)) {
14264 result.propagationLoopDetectionFactor_ = propagationLoopDetectionFactor_;
14265 to_bitField3_ |= 0x00000080;
14266 }
14267 if (((from_bitField3_ & 0x00002000) != 0)) {
14268 result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
14269 to_bitField3_ |= 0x00000100;
14270 }
14271 if (((from_bitField3_ & 0x00004000) != 0)) {
14272 result.maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = maxSizeToCreatePrecedenceLiteralsInDisjunctive_;
14273 to_bitField3_ |= 0x00000200;
14274 }
14275 if (((from_bitField3_ & 0x00008000) != 0)) {
14276 result.useStrongPropagationInDisjunctive_ = useStrongPropagationInDisjunctive_;
14277 to_bitField3_ |= 0x00000400;
14278 }
14279 if (((from_bitField3_ & 0x00010000) != 0)) {
14280 result.useDynamicPrecedenceInDisjunctive_ = useDynamicPrecedenceInDisjunctive_;
14281 to_bitField3_ |= 0x00000800;
14282 }
14283 if (((from_bitField3_ & 0x00020000) != 0)) {
14284 result.useDynamicPrecedenceInCumulative_ = useDynamicPrecedenceInCumulative_;
14285 to_bitField3_ |= 0x00001000;
14286 }
14287 if (((from_bitField3_ & 0x00040000) != 0)) {
14288 result.useOverloadCheckerInCumulative_ = useOverloadCheckerInCumulative_;
14289 to_bitField3_ |= 0x00002000;
14290 }
14291 if (((from_bitField3_ & 0x00080000) != 0)) {
14292 result.useTimetableEdgeFindingInCumulative_ = useTimetableEdgeFindingInCumulative_;
14293 to_bitField3_ |= 0x00004000;
14294 }
14295 if (((from_bitField3_ & 0x00100000) != 0)) {
14296 result.maxNumIntervalsForTimetableEdgeFinding_ = maxNumIntervalsForTimetableEdgeFinding_;
14297 to_bitField3_ |= 0x00008000;
14298 }
14299 if (((from_bitField3_ & 0x00200000) != 0)) {
14300 result.useHardPrecedencesInCumulative_ = useHardPrecedencesInCumulative_;
14301 to_bitField3_ |= 0x00010000;
14302 }
14303 if (((from_bitField3_ & 0x00400000) != 0)) {
14304 result.exploitAllPrecedences_ = exploitAllPrecedences_;
14305 to_bitField3_ |= 0x00020000;
14306 }
14307 if (((from_bitField3_ & 0x00800000) != 0)) {
14308 result.useDisjunctiveConstraintInCumulative_ = useDisjunctiveConstraintInCumulative_;
14309 to_bitField3_ |= 0x00040000;
14310 }
14311 if (((from_bitField3_ & 0x01000000) != 0)) {
14312 result.useTimetablingInNoOverlap2D_ = useTimetablingInNoOverlap2D_;
14313 to_bitField3_ |= 0x00080000;
14314 }
14315 if (((from_bitField3_ & 0x02000000) != 0)) {
14316 result.useEnergeticReasoningInNoOverlap2D_ = useEnergeticReasoningInNoOverlap2D_;
14317 to_bitField3_ |= 0x00100000;
14318 }
14319 if (((from_bitField3_ & 0x04000000) != 0)) {
14320 result.useAreaEnergeticReasoningInNoOverlap2D_ = useAreaEnergeticReasoningInNoOverlap2D_;
14321 to_bitField3_ |= 0x00200000;
14322 }
14323 if (((from_bitField3_ & 0x08000000) != 0)) {
14324 result.maxPairsPairwiseReasoningInNoOverlap2D_ = maxPairsPairwiseReasoningInNoOverlap2D_;
14325 to_bitField3_ |= 0x00400000;
14326 }
14327 if (((from_bitField3_ & 0x10000000) != 0)) {
14328 result.useDualSchedulingHeuristics_ = useDualSchedulingHeuristics_;
14329 to_bitField3_ |= 0x00800000;
14330 }
14331 if (((from_bitField3_ & 0x20000000) != 0)) {
14332 result.searchBranching_ = searchBranching_;
14333 to_bitField3_ |= 0x01000000;
14334 }
14335 if (((from_bitField3_ & 0x40000000) != 0)) {
14336 result.hintConflictLimit_ = hintConflictLimit_;
14337 to_bitField3_ |= 0x02000000;
14338 }
14339 if (((from_bitField3_ & 0x80000000) != 0)) {
14340 result.repairHint_ = repairHint_;
14341 to_bitField3_ |= 0x04000000;
14342 }
14343 result.bitField2_ |= to_bitField2_;
14344 result.bitField3_ |= to_bitField3_;
14345 }
14346
14347 private void buildPartial4(com.google.ortools.sat.SatParameters result) {
14348 int from_bitField4_ = bitField4_;
14349 int to_bitField3_ = 0;
14350 if (((from_bitField4_ & 0x00000001) != 0)) {
14351 result.fixVariablesToTheirHintedValue_ = fixVariablesToTheirHintedValue_;
14352 to_bitField3_ |= 0x08000000;
14353 }
14354 if (((from_bitField4_ & 0x00000002) != 0)) {
14355 result.useProbingSearch_ = useProbingSearch_;
14356 to_bitField3_ |= 0x10000000;
14357 }
14358 if (((from_bitField4_ & 0x00000004) != 0)) {
14359 result.useExtendedProbing_ = useExtendedProbing_;
14360 to_bitField3_ |= 0x20000000;
14361 }
14362 if (((from_bitField4_ & 0x00000008) != 0)) {
14363 result.probingNumCombinationsLimit_ = probingNumCombinationsLimit_;
14364 to_bitField3_ |= 0x40000000;
14365 }
14366 if (((from_bitField4_ & 0x00000010) != 0)) {
14367 result.useShavingInProbingSearch_ = useShavingInProbingSearch_;
14368 to_bitField3_ |= 0x80000000;
14369 }
14370 int to_bitField4_ = 0;
14371 if (((from_bitField4_ & 0x00000020) != 0)) {
14372 result.shavingSearchDeterministicTime_ = shavingSearchDeterministicTime_;
14373 to_bitField4_ |= 0x00000001;
14374 }
14375 if (((from_bitField4_ & 0x00000040) != 0)) {
14376 result.useObjectiveLbSearch_ = useObjectiveLbSearch_;
14377 to_bitField4_ |= 0x00000002;
14378 }
14379 if (((from_bitField4_ & 0x00000080) != 0)) {
14380 result.useObjectiveShavingSearch_ = useObjectiveShavingSearch_;
14381 to_bitField4_ |= 0x00000004;
14382 }
14383 if (((from_bitField4_ & 0x00000100) != 0)) {
14384 result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
14385 to_bitField4_ |= 0x00000008;
14386 }
14387 if (((from_bitField4_ & 0x00000200) != 0)) {
14388 result.optimizeWithCore_ = optimizeWithCore_;
14389 to_bitField4_ |= 0x00000010;
14390 }
14391 if (((from_bitField4_ & 0x00000400) != 0)) {
14392 result.optimizeWithLbTreeSearch_ = optimizeWithLbTreeSearch_;
14393 to_bitField4_ |= 0x00000020;
14394 }
14395 if (((from_bitField4_ & 0x00000800) != 0)) {
14396 result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
14397 to_bitField4_ |= 0x00000040;
14398 }
14399 if (((from_bitField4_ & 0x00001000) != 0)) {
14400 result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
14401 to_bitField4_ |= 0x00000080;
14402 }
14403 if (((from_bitField4_ & 0x00002000) != 0)) {
14404 result.useFeasibilityJump_ = useFeasibilityJump_;
14405 to_bitField4_ |= 0x00000100;
14406 }
14407 if (((from_bitField4_ & 0x00004000) != 0)) {
14408 result.testFeasibilityJump_ = testFeasibilityJump_;
14409 to_bitField4_ |= 0x00000200;
14410 }
14411 if (((from_bitField4_ & 0x00008000) != 0)) {
14412 result.feasibilityJumpDecay_ = feasibilityJumpDecay_;
14413 to_bitField4_ |= 0x00000400;
14414 }
14415 if (((from_bitField4_ & 0x00010000) != 0)) {
14416 result.feasibilityJumpLinearizationLevel_ = feasibilityJumpLinearizationLevel_;
14417 to_bitField4_ |= 0x00000800;
14418 }
14419 if (((from_bitField4_ & 0x00020000) != 0)) {
14420 result.feasibilityJumpRestartFactor_ = feasibilityJumpRestartFactor_;
14421 to_bitField4_ |= 0x00001000;
14422 }
14423 if (((from_bitField4_ & 0x00040000) != 0)) {
14424 result.feasibilityJumpVarRandomizationProbability_ = feasibilityJumpVarRandomizationProbability_;
14425 to_bitField4_ |= 0x00002000;
14426 }
14427 if (((from_bitField4_ & 0x00080000) != 0)) {
14428 result.feasibilityJumpVarPerburbationRangeRatio_ = feasibilityJumpVarPerburbationRangeRatio_;
14429 to_bitField4_ |= 0x00004000;
14430 }
14431 if (((from_bitField4_ & 0x00100000) != 0)) {
14432 result.feasibilityJumpEnableRestarts_ = feasibilityJumpEnableRestarts_;
14433 to_bitField4_ |= 0x00008000;
14434 }
14435 if (((from_bitField4_ & 0x00200000) != 0)) {
14436 result.feasibilityJumpMaxExpandedConstraintSize_ = feasibilityJumpMaxExpandedConstraintSize_;
14437 to_bitField4_ |= 0x00010000;
14438 }
14439 if (((from_bitField4_ & 0x00400000) != 0)) {
14440 result.numViolationLs_ = numViolationLs_;
14441 to_bitField4_ |= 0x00020000;
14442 }
14443 if (((from_bitField4_ & 0x00800000) != 0)) {
14444 result.violationLsPerturbationPeriod_ = violationLsPerturbationPeriod_;
14445 to_bitField4_ |= 0x00040000;
14446 }
14447 if (((from_bitField4_ & 0x01000000) != 0)) {
14448 result.violationLsCompoundMoveProbability_ = violationLsCompoundMoveProbability_;
14449 to_bitField4_ |= 0x00080000;
14450 }
14451 if (((from_bitField4_ & 0x02000000) != 0)) {
14452 result.sharedTreeNumWorkers_ = sharedTreeNumWorkers_;
14453 to_bitField4_ |= 0x00100000;
14454 }
14455 if (((from_bitField4_ & 0x04000000) != 0)) {
14456 result.useSharedTreeSearch_ = useSharedTreeSearch_;
14457 to_bitField4_ |= 0x00200000;
14458 }
14459 if (((from_bitField4_ & 0x08000000) != 0)) {
14460 result.sharedTreeWorkerObjectiveSplitProbability_ = sharedTreeWorkerObjectiveSplitProbability_;
14461 to_bitField4_ |= 0x00400000;
14462 }
14463 if (((from_bitField4_ & 0x10000000) != 0)) {
14464 result.sharedTreeMaxNodesPerWorker_ = sharedTreeMaxNodesPerWorker_;
14465 to_bitField4_ |= 0x00800000;
14466 }
14467 if (((from_bitField4_ & 0x20000000) != 0)) {
14468 result.sharedTreeSplitStrategy_ = sharedTreeSplitStrategy_;
14469 to_bitField4_ |= 0x01000000;
14470 }
14471 if (((from_bitField4_ & 0x40000000) != 0)) {
14472 result.enumerateAllSolutions_ = enumerateAllSolutions_;
14473 to_bitField4_ |= 0x02000000;
14474 }
14475 if (((from_bitField4_ & 0x80000000) != 0)) {
14476 result.keepAllFeasibleSolutionsInPresolve_ = keepAllFeasibleSolutionsInPresolve_;
14477 to_bitField4_ |= 0x04000000;
14478 }
14479 result.bitField3_ |= to_bitField3_;
14480 result.bitField4_ |= to_bitField4_;
14481 }
14482
14483 private void buildPartial5(com.google.ortools.sat.SatParameters result) {
14484 int from_bitField5_ = bitField5_;
14485 int to_bitField4_ = 0;
14486 if (((from_bitField5_ & 0x00000001) != 0)) {
14487 result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
14488 to_bitField4_ |= 0x08000000;
14489 }
14490 if (((from_bitField5_ & 0x00000002) != 0)) {
14491 result.fillAdditionalSolutionsInResponse_ = fillAdditionalSolutionsInResponse_;
14492 to_bitField4_ |= 0x10000000;
14493 }
14494 if (((from_bitField5_ & 0x00000004) != 0)) {
14495 result.instantiateAllVariables_ = instantiateAllVariables_;
14496 to_bitField4_ |= 0x20000000;
14497 }
14498 if (((from_bitField5_ & 0x00000008) != 0)) {
14499 result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
14500 to_bitField4_ |= 0x40000000;
14501 }
14502 if (((from_bitField5_ & 0x00000010) != 0)) {
14503 result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
14504 to_bitField4_ |= 0x80000000;
14505 }
14506 int to_bitField5_ = 0;
14507 if (((from_bitField5_ & 0x00000020) != 0)) {
14508 result.stopAfterPresolve_ = stopAfterPresolve_;
14509 to_bitField5_ |= 0x00000001;
14510 }
14511 if (((from_bitField5_ & 0x00000040) != 0)) {
14512 result.stopAfterRootPropagation_ = stopAfterRootPropagation_;
14513 to_bitField5_ |= 0x00000002;
14514 }
14515 if (((from_bitField5_ & 0x00000080) != 0)) {
14516 result.useLnsOnly_ = useLnsOnly_;
14517 to_bitField5_ |= 0x00000004;
14518 }
14519 if (((from_bitField5_ & 0x00000100) != 0)) {
14520 result.solutionPoolSize_ = solutionPoolSize_;
14521 to_bitField5_ |= 0x00000008;
14522 }
14523 if (((from_bitField5_ & 0x00000200) != 0)) {
14524 result.useRinsLns_ = useRinsLns_;
14525 to_bitField5_ |= 0x00000010;
14526 }
14527 if (((from_bitField5_ & 0x00000400) != 0)) {
14528 result.useFeasibilityPump_ = useFeasibilityPump_;
14529 to_bitField5_ |= 0x00000020;
14530 }
14531 if (((from_bitField5_ & 0x00000800) != 0)) {
14532 result.useLbRelaxLns_ = useLbRelaxLns_;
14533 to_bitField5_ |= 0x00000040;
14534 }
14535 if (((from_bitField5_ & 0x00001000) != 0)) {
14536 result.fpRounding_ = fpRounding_;
14537 to_bitField5_ |= 0x00000080;
14538 }
14539 if (((from_bitField5_ & 0x00002000) != 0)) {
14540 result.diversifyLnsParams_ = diversifyLnsParams_;
14541 to_bitField5_ |= 0x00000100;
14542 }
14543 if (((from_bitField5_ & 0x00004000) != 0)) {
14544 result.randomizeSearch_ = randomizeSearch_;
14545 to_bitField5_ |= 0x00000200;
14546 }
14547 if (((from_bitField5_ & 0x00008000) != 0)) {
14548 result.searchRandomVariablePoolSize_ = searchRandomVariablePoolSize_;
14549 to_bitField5_ |= 0x00000400;
14550 }
14551 if (((from_bitField5_ & 0x00010000) != 0)) {
14552 result.pushAllTasksTowardStart_ = pushAllTasksTowardStart_;
14553 to_bitField5_ |= 0x00000800;
14554 }
14555 if (((from_bitField5_ & 0x00020000) != 0)) {
14556 result.useOptionalVariables_ = useOptionalVariables_;
14557 to_bitField5_ |= 0x00001000;
14558 }
14559 if (((from_bitField5_ & 0x00040000) != 0)) {
14560 result.useExactLpReason_ = useExactLpReason_;
14561 to_bitField5_ |= 0x00002000;
14562 }
14563 if (((from_bitField5_ & 0x00080000) != 0)) {
14564 result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
14565 to_bitField5_ |= 0x00004000;
14566 }
14567 if (((from_bitField5_ & 0x00100000) != 0)) {
14568 result.atMostOneMaxExpansionSize_ = atMostOneMaxExpansionSize_;
14569 to_bitField5_ |= 0x00008000;
14570 }
14571 if (((from_bitField5_ & 0x00200000) != 0)) {
14572 result.catchSigintSignal_ = catchSigintSignal_;
14573 to_bitField5_ |= 0x00010000;
14574 }
14575 if (((from_bitField5_ & 0x00400000) != 0)) {
14576 result.useImpliedBounds_ = useImpliedBounds_;
14577 to_bitField5_ |= 0x00020000;
14578 }
14579 if (((from_bitField5_ & 0x00800000) != 0)) {
14580 result.polishLpSolution_ = polishLpSolution_;
14581 to_bitField5_ |= 0x00040000;
14582 }
14583 if (((from_bitField5_ & 0x01000000) != 0)) {
14584 result.lpPrimalTolerance_ = lpPrimalTolerance_;
14585 to_bitField5_ |= 0x00080000;
14586 }
14587 if (((from_bitField5_ & 0x02000000) != 0)) {
14588 result.lpDualTolerance_ = lpDualTolerance_;
14589 to_bitField5_ |= 0x00100000;
14590 }
14591 if (((from_bitField5_ & 0x04000000) != 0)) {
14592 result.convertIntervals_ = convertIntervals_;
14593 to_bitField5_ |= 0x00200000;
14594 }
14595 if (((from_bitField5_ & 0x08000000) != 0)) {
14596 result.symmetryLevel_ = symmetryLevel_;
14597 to_bitField5_ |= 0x00400000;
14598 }
14599 if (((from_bitField5_ & 0x10000000) != 0)) {
14600 result.newLinearPropagation_ = newLinearPropagation_;
14601 to_bitField5_ |= 0x00800000;
14602 }
14603 if (((from_bitField5_ & 0x20000000) != 0)) {
14604 result.linearSplitSize_ = linearSplitSize_;
14605 to_bitField5_ |= 0x01000000;
14606 }
14607 if (((from_bitField5_ & 0x40000000) != 0)) {
14608 result.linearizationLevel_ = linearizationLevel_;
14609 to_bitField5_ |= 0x02000000;
14610 }
14611 if (((from_bitField5_ & 0x80000000) != 0)) {
14612 result.booleanEncodingLevel_ = booleanEncodingLevel_;
14613 to_bitField5_ |= 0x04000000;
14614 }
14615 result.bitField4_ |= to_bitField4_;
14616 result.bitField5_ |= to_bitField5_;
14617 }
14618
14619 private void buildPartial6(com.google.ortools.sat.SatParameters result) {
14620 int from_bitField6_ = bitField6_;
14621 int to_bitField5_ = 0;
14622 if (((from_bitField6_ & 0x00000001) != 0)) {
14623 result.maxDomainSizeWhenEncodingEqNeqConstraints_ = maxDomainSizeWhenEncodingEqNeqConstraints_;
14624 to_bitField5_ |= 0x08000000;
14625 }
14626 if (((from_bitField6_ & 0x00000002) != 0)) {
14627 result.maxNumCuts_ = maxNumCuts_;
14628 to_bitField5_ |= 0x10000000;
14629 }
14630 if (((from_bitField6_ & 0x00000004) != 0)) {
14631 result.cutLevel_ = cutLevel_;
14632 to_bitField5_ |= 0x20000000;
14633 }
14634 if (((from_bitField6_ & 0x00000008) != 0)) {
14635 result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
14636 to_bitField5_ |= 0x40000000;
14637 }
14638 if (((from_bitField6_ & 0x00000010) != 0)) {
14639 result.addObjectiveCut_ = addObjectiveCut_;
14640 to_bitField5_ |= 0x80000000;
14641 }
14642 int to_bitField6_ = 0;
14643 if (((from_bitField6_ & 0x00000020) != 0)) {
14644 result.addCgCuts_ = addCgCuts_;
14645 to_bitField6_ |= 0x00000001;
14646 }
14647 if (((from_bitField6_ & 0x00000040) != 0)) {
14648 result.addMirCuts_ = addMirCuts_;
14649 to_bitField6_ |= 0x00000002;
14650 }
14651 if (((from_bitField6_ & 0x00000080) != 0)) {
14652 result.addZeroHalfCuts_ = addZeroHalfCuts_;
14653 to_bitField6_ |= 0x00000004;
14654 }
14655 if (((from_bitField6_ & 0x00000100) != 0)) {
14656 result.addCliqueCuts_ = addCliqueCuts_;
14657 to_bitField6_ |= 0x00000008;
14658 }
14659 if (((from_bitField6_ & 0x00000200) != 0)) {
14660 result.addRltCuts_ = addRltCuts_;
14661 to_bitField6_ |= 0x00000010;
14662 }
14663 if (((from_bitField6_ & 0x00000400) != 0)) {
14664 result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
14665 to_bitField6_ |= 0x00000020;
14666 }
14667 if (((from_bitField6_ & 0x00000800) != 0)) {
14668 result.addLinMaxCuts_ = addLinMaxCuts_;
14669 to_bitField6_ |= 0x00000040;
14670 }
14671 if (((from_bitField6_ & 0x00001000) != 0)) {
14672 result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
14673 to_bitField6_ |= 0x00000080;
14674 }
14675 if (((from_bitField6_ & 0x00002000) != 0)) {
14676 result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
14677 to_bitField6_ |= 0x00000100;
14678 }
14679 if (((from_bitField6_ & 0x00004000) != 0)) {
14680 result.rootLpIterations_ = rootLpIterations_;
14681 to_bitField6_ |= 0x00000200;
14682 }
14683 if (((from_bitField6_ & 0x00008000) != 0)) {
14684 result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
14685 to_bitField6_ |= 0x00000400;
14686 }
14687 if (((from_bitField6_ & 0x00010000) != 0)) {
14688 result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
14689 to_bitField6_ |= 0x00000800;
14690 }
14691 if (((from_bitField6_ & 0x00020000) != 0)) {
14692 result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
14693 to_bitField6_ |= 0x00001000;
14694 }
14695 if (((from_bitField6_ & 0x00040000) != 0)) {
14696 result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
14697 to_bitField6_ |= 0x00002000;
14698 }
14699 if (((from_bitField6_ & 0x00080000) != 0)) {
14700 result.cutActiveCountDecay_ = cutActiveCountDecay_;
14701 to_bitField6_ |= 0x00004000;
14702 }
14703 if (((from_bitField6_ & 0x00100000) != 0)) {
14704 result.cutCleanupTarget_ = cutCleanupTarget_;
14705 to_bitField6_ |= 0x00008000;
14706 }
14707 if (((from_bitField6_ & 0x00200000) != 0)) {
14708 result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
14709 to_bitField6_ |= 0x00010000;
14710 }
14711 if (((from_bitField6_ & 0x00400000) != 0)) {
14712 result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
14713 to_bitField6_ |= 0x00020000;
14714 }
14715 if (((from_bitField6_ & 0x00800000) != 0)) {
14716 result.exploitAllLpSolution_ = exploitAllLpSolution_;
14717 to_bitField6_ |= 0x00040000;
14718 }
14719 if (((from_bitField6_ & 0x01000000) != 0)) {
14720 result.exploitBestSolution_ = exploitBestSolution_;
14721 to_bitField6_ |= 0x00080000;
14722 }
14723 if (((from_bitField6_ & 0x02000000) != 0)) {
14724 result.exploitRelaxationSolution_ = exploitRelaxationSolution_;
14725 to_bitField6_ |= 0x00100000;
14726 }
14727 if (((from_bitField6_ & 0x04000000) != 0)) {
14728 result.exploitObjective_ = exploitObjective_;
14729 to_bitField6_ |= 0x00200000;
14730 }
14731 if (((from_bitField6_ & 0x08000000) != 0)) {
14732 result.detectLinearizedProduct_ = detectLinearizedProduct_;
14733 to_bitField6_ |= 0x00400000;
14734 }
14735 if (((from_bitField6_ & 0x10000000) != 0)) {
14736 result.mipMaxBound_ = mipMaxBound_;
14737 to_bitField6_ |= 0x00800000;
14738 }
14739 if (((from_bitField6_ & 0x20000000) != 0)) {
14740 result.mipVarScaling_ = mipVarScaling_;
14741 to_bitField6_ |= 0x01000000;
14742 }
14743 if (((from_bitField6_ & 0x40000000) != 0)) {
14744 result.mipScaleLargeDomain_ = mipScaleLargeDomain_;
14745 to_bitField6_ |= 0x02000000;
14746 }
14747 if (((from_bitField6_ & 0x80000000) != 0)) {
14748 result.mipAutomaticallyScaleVariables_ = mipAutomaticallyScaleVariables_;
14749 to_bitField6_ |= 0x04000000;
14750 }
14751 result.bitField5_ |= to_bitField5_;
14752 result.bitField6_ |= to_bitField6_;
14753 }
14754
14755 private void buildPartial7(com.google.ortools.sat.SatParameters result) {
14756 int from_bitField7_ = bitField7_;
14757 int to_bitField6_ = 0;
14758 if (((from_bitField7_ & 0x00000001) != 0)) {
14759 result.onlySolveIp_ = onlySolveIp_;
14760 to_bitField6_ |= 0x08000000;
14761 }
14762 if (((from_bitField7_ & 0x00000002) != 0)) {
14763 result.mipWantedPrecision_ = mipWantedPrecision_;
14764 to_bitField6_ |= 0x10000000;
14765 }
14766 if (((from_bitField7_ & 0x00000004) != 0)) {
14767 result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
14768 to_bitField6_ |= 0x20000000;
14769 }
14770 if (((from_bitField7_ & 0x00000008) != 0)) {
14771 result.mipCheckPrecision_ = mipCheckPrecision_;
14772 to_bitField6_ |= 0x40000000;
14773 }
14774 if (((from_bitField7_ & 0x00000010) != 0)) {
14775 result.mipComputeTrueObjectiveBound_ = mipComputeTrueObjectiveBound_;
14776 to_bitField6_ |= 0x80000000;
14777 }
14778 int to_bitField7_ = 0;
14779 if (((from_bitField7_ & 0x00000020) != 0)) {
14780 result.mipMaxValidMagnitude_ = mipMaxValidMagnitude_;
14781 to_bitField7_ |= 0x00000001;
14782 }
14783 if (((from_bitField7_ & 0x00000040) != 0)) {
14784 result.mipTreatHighMagnitudeBoundsAsInfinity_ = mipTreatHighMagnitudeBoundsAsInfinity_;
14785 to_bitField7_ |= 0x00000002;
14786 }
14787 if (((from_bitField7_ & 0x00000080) != 0)) {
14788 result.mipDropTolerance_ = mipDropTolerance_;
14789 to_bitField7_ |= 0x00000004;
14790 }
14791 if (((from_bitField7_ & 0x00000100) != 0)) {
14792 result.mipPresolveLevel_ = mipPresolveLevel_;
14793 to_bitField7_ |= 0x00000008;
14794 }
14795 result.bitField6_ |= to_bitField6_;
14796 result.bitField7_ |= to_bitField7_;
14797 }
14798
14799 @java.lang.Override
14800 public Builder clone() {
14801 return super.clone();
14802 }
14803 @java.lang.Override
14805 com.google.protobuf.Descriptors.FieldDescriptor field,
14806 java.lang.Object value) {
14807 return super.setField(field, value);
14808 }
14809 @java.lang.Override
14811 com.google.protobuf.Descriptors.FieldDescriptor field) {
14812 return super.clearField(field);
14813 }
14814 @java.lang.Override
14816 com.google.protobuf.Descriptors.OneofDescriptor oneof) {
14817 return super.clearOneof(oneof);
14818 }
14819 @java.lang.Override
14821 com.google.protobuf.Descriptors.FieldDescriptor field,
14822 int index, java.lang.Object value) {
14823 return super.setRepeatedField(field, index, value);
14824 }
14825 @java.lang.Override
14827 com.google.protobuf.Descriptors.FieldDescriptor field,
14828 java.lang.Object value) {
14829 return super.addRepeatedField(field, value);
14830 }
14831 @java.lang.Override
14832 public Builder mergeFrom(com.google.protobuf.Message other) {
14833 if (other instanceof com.google.ortools.sat.SatParameters) {
14834 return mergeFrom((com.google.ortools.sat.SatParameters)other);
14835 } else {
14836 super.mergeFrom(other);
14837 return this;
14838 }
14839 }
14840
14841 public Builder mergeFrom(com.google.ortools.sat.SatParameters other) {
14842 if (other == com.google.ortools.sat.SatParameters.getDefaultInstance()) return this;
14843 if (other.hasName()) {
14844 name_ = other.name_;
14845 bitField0_ |= 0x00000001;
14846 onChanged();
14847 }
14848 if (other.hasPreferredVariableOrder()) {
14849 setPreferredVariableOrder(other.getPreferredVariableOrder());
14850 }
14851 if (other.hasInitialPolarity()) {
14852 setInitialPolarity(other.getInitialPolarity());
14853 }
14854 if (other.hasUsePhaseSaving()) {
14855 setUsePhaseSaving(other.getUsePhaseSaving());
14856 }
14857 if (other.hasPolarityRephaseIncrement()) {
14858 setPolarityRephaseIncrement(other.getPolarityRephaseIncrement());
14859 }
14860 if (other.hasRandomPolarityRatio()) {
14861 setRandomPolarityRatio(other.getRandomPolarityRatio());
14862 }
14863 if (other.hasRandomBranchesRatio()) {
14864 setRandomBranchesRatio(other.getRandomBranchesRatio());
14865 }
14866 if (other.hasUseErwaHeuristic()) {
14867 setUseErwaHeuristic(other.getUseErwaHeuristic());
14868 }
14869 if (other.hasInitialVariablesActivity()) {
14870 setInitialVariablesActivity(other.getInitialVariablesActivity());
14871 }
14872 if (other.hasAlsoBumpVariablesInConflictReasons()) {
14873 setAlsoBumpVariablesInConflictReasons(other.getAlsoBumpVariablesInConflictReasons());
14874 }
14875 if (other.hasMinimizationAlgorithm()) {
14876 setMinimizationAlgorithm(other.getMinimizationAlgorithm());
14877 }
14878 if (other.hasBinaryMinimizationAlgorithm()) {
14879 setBinaryMinimizationAlgorithm(other.getBinaryMinimizationAlgorithm());
14880 }
14881 if (other.hasSubsumptionDuringConflictAnalysis()) {
14882 setSubsumptionDuringConflictAnalysis(other.getSubsumptionDuringConflictAnalysis());
14883 }
14884 if (other.hasClauseCleanupPeriod()) {
14885 setClauseCleanupPeriod(other.getClauseCleanupPeriod());
14886 }
14887 if (other.hasClauseCleanupTarget()) {
14888 setClauseCleanupTarget(other.getClauseCleanupTarget());
14889 }
14890 if (other.hasClauseCleanupRatio()) {
14891 setClauseCleanupRatio(other.getClauseCleanupRatio());
14892 }
14893 if (other.hasClauseCleanupProtection()) {
14894 setClauseCleanupProtection(other.getClauseCleanupProtection());
14895 }
14896 if (other.hasClauseCleanupLbdBound()) {
14897 setClauseCleanupLbdBound(other.getClauseCleanupLbdBound());
14898 }
14899 if (other.hasClauseCleanupOrdering()) {
14900 setClauseCleanupOrdering(other.getClauseCleanupOrdering());
14901 }
14902 if (other.hasPbCleanupIncrement()) {
14903 setPbCleanupIncrement(other.getPbCleanupIncrement());
14904 }
14905 if (other.hasPbCleanupRatio()) {
14906 setPbCleanupRatio(other.getPbCleanupRatio());
14907 }
14908 if (other.hasVariableActivityDecay()) {
14909 setVariableActivityDecay(other.getVariableActivityDecay());
14910 }
14911 if (other.hasMaxVariableActivityValue()) {
14912 setMaxVariableActivityValue(other.getMaxVariableActivityValue());
14913 }
14914 if (other.hasGlucoseMaxDecay()) {
14915 setGlucoseMaxDecay(other.getGlucoseMaxDecay());
14916 }
14917 if (other.hasGlucoseDecayIncrement()) {
14918 setGlucoseDecayIncrement(other.getGlucoseDecayIncrement());
14919 }
14920 if (other.hasGlucoseDecayIncrementPeriod()) {
14921 setGlucoseDecayIncrementPeriod(other.getGlucoseDecayIncrementPeriod());
14922 }
14923 if (other.hasClauseActivityDecay()) {
14924 setClauseActivityDecay(other.getClauseActivityDecay());
14925 }
14926 if (other.hasMaxClauseActivityValue()) {
14927 setMaxClauseActivityValue(other.getMaxClauseActivityValue());
14928 }
14929 if (!other.restartAlgorithms_.isEmpty()) {
14930 if (restartAlgorithms_.isEmpty()) {
14931 restartAlgorithms_ = other.restartAlgorithms_;
14932 bitField0_ = (bitField0_ & ~0x10000000);
14933 } else {
14934 ensureRestartAlgorithmsIsMutable();
14935 restartAlgorithms_.addAll(other.restartAlgorithms_);
14936 }
14937 onChanged();
14938 }
14939 if (other.hasDefaultRestartAlgorithms()) {
14940 defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
14941 bitField0_ |= 0x20000000;
14942 onChanged();
14943 }
14944 if (other.hasRestartPeriod()) {
14945 setRestartPeriod(other.getRestartPeriod());
14946 }
14947 if (other.hasRestartRunningWindowSize()) {
14948 setRestartRunningWindowSize(other.getRestartRunningWindowSize());
14949 }
14950 if (other.hasRestartDlAverageRatio()) {
14951 setRestartDlAverageRatio(other.getRestartDlAverageRatio());
14952 }
14953 if (other.hasRestartLbdAverageRatio()) {
14954 setRestartLbdAverageRatio(other.getRestartLbdAverageRatio());
14955 }
14956 if (other.hasUseBlockingRestart()) {
14957 setUseBlockingRestart(other.getUseBlockingRestart());
14958 }
14959 if (other.hasBlockingRestartWindowSize()) {
14960 setBlockingRestartWindowSize(other.getBlockingRestartWindowSize());
14961 }
14962 if (other.hasBlockingRestartMultiplier()) {
14963 setBlockingRestartMultiplier(other.getBlockingRestartMultiplier());
14964 }
14965 if (other.hasNumConflictsBeforeStrategyChanges()) {
14966 setNumConflictsBeforeStrategyChanges(other.getNumConflictsBeforeStrategyChanges());
14967 }
14968 if (other.hasStrategyChangeIncreaseRatio()) {
14969 setStrategyChangeIncreaseRatio(other.getStrategyChangeIncreaseRatio());
14970 }
14971 if (other.hasMaxTimeInSeconds()) {
14972 setMaxTimeInSeconds(other.getMaxTimeInSeconds());
14973 }
14974 if (other.hasMaxDeterministicTime()) {
14975 setMaxDeterministicTime(other.getMaxDeterministicTime());
14976 }
14977 if (other.hasMaxNumberOfConflicts()) {
14978 setMaxNumberOfConflicts(other.getMaxNumberOfConflicts());
14979 }
14980 if (other.hasMaxMemoryInMb()) {
14981 setMaxMemoryInMb(other.getMaxMemoryInMb());
14982 }
14983 if (other.hasAbsoluteGapLimit()) {
14984 setAbsoluteGapLimit(other.getAbsoluteGapLimit());
14985 }
14986 if (other.hasRelativeGapLimit()) {
14987 setRelativeGapLimit(other.getRelativeGapLimit());
14988 }
14989 if (other.hasRandomSeed()) {
14990 setRandomSeed(other.getRandomSeed());
14991 }
14992 if (other.hasPermuteVariableRandomly()) {
14993 setPermuteVariableRandomly(other.getPermuteVariableRandomly());
14994 }
14995 if (other.hasPermutePresolveConstraintOrder()) {
14996 setPermutePresolveConstraintOrder(other.getPermutePresolveConstraintOrder());
14997 }
14998 if (other.hasUseAbslRandom()) {
14999 setUseAbslRandom(other.getUseAbslRandom());
15000 }
15001 if (other.hasLogSearchProgress()) {
15002 setLogSearchProgress(other.getLogSearchProgress());
15003 }
15004 if (other.hasLogSubsolverStatistics()) {
15005 setLogSubsolverStatistics(other.getLogSubsolverStatistics());
15006 }
15007 if (other.hasLogPrefix()) {
15008 logPrefix_ = other.logPrefix_;
15009 bitField1_ |= 0x00080000;
15010 onChanged();
15011 }
15012 if (other.hasLogToStdout()) {
15013 setLogToStdout(other.getLogToStdout());
15014 }
15015 if (other.hasLogToResponse()) {
15016 setLogToResponse(other.getLogToResponse());
15017 }
15018 if (other.hasUsePbResolution()) {
15019 setUsePbResolution(other.getUsePbResolution());
15020 }
15021 if (other.hasMinimizeReductionDuringPbResolution()) {
15022 setMinimizeReductionDuringPbResolution(other.getMinimizeReductionDuringPbResolution());
15023 }
15024 if (other.hasCountAssumptionLevelsInLbd()) {
15025 setCountAssumptionLevelsInLbd(other.getCountAssumptionLevelsInLbd());
15026 }
15027 if (other.hasPresolveBveThreshold()) {
15028 setPresolveBveThreshold(other.getPresolveBveThreshold());
15029 }
15030 if (other.hasPresolveBveClauseWeight()) {
15031 setPresolveBveClauseWeight(other.getPresolveBveClauseWeight());
15032 }
15033 if (other.hasProbingDeterministicTimeLimit()) {
15034 setProbingDeterministicTimeLimit(other.getProbingDeterministicTimeLimit());
15035 }
15036 if (other.hasPresolveProbingDeterministicTimeLimit()) {
15037 setPresolveProbingDeterministicTimeLimit(other.getPresolveProbingDeterministicTimeLimit());
15038 }
15039 if (other.hasPresolveBlockedClause()) {
15040 setPresolveBlockedClause(other.getPresolveBlockedClause());
15041 }
15042 if (other.hasPresolveUseBva()) {
15043 setPresolveUseBva(other.getPresolveUseBva());
15044 }
15045 if (other.hasPresolveBvaThreshold()) {
15046 setPresolveBvaThreshold(other.getPresolveBvaThreshold());
15047 }
15048 if (other.hasMaxPresolveIterations()) {
15049 setMaxPresolveIterations(other.getMaxPresolveIterations());
15050 }
15051 if (other.hasCpModelPresolve()) {
15052 setCpModelPresolve(other.getCpModelPresolve());
15053 }
15054 if (other.hasCpModelProbingLevel()) {
15055 setCpModelProbingLevel(other.getCpModelProbingLevel());
15056 }
15057 if (other.hasCpModelUseSatPresolve()) {
15058 setCpModelUseSatPresolve(other.getCpModelUseSatPresolve());
15059 }
15060 if (other.hasDetectTableWithCost()) {
15061 setDetectTableWithCost(other.getDetectTableWithCost());
15062 }
15063 if (other.hasTableCompressionLevel()) {
15064 setTableCompressionLevel(other.getTableCompressionLevel());
15065 }
15066 if (other.hasExpandAlldiffConstraints()) {
15067 setExpandAlldiffConstraints(other.getExpandAlldiffConstraints());
15068 }
15069 if (other.hasExpandReservoirConstraints()) {
15070 setExpandReservoirConstraints(other.getExpandReservoirConstraints());
15071 }
15072 if (other.hasDisableConstraintExpansion()) {
15073 setDisableConstraintExpansion(other.getDisableConstraintExpansion());
15074 }
15075 if (other.hasEncodeComplexLinearConstraintWithInteger()) {
15076 setEncodeComplexLinearConstraintWithInteger(other.getEncodeComplexLinearConstraintWithInteger());
15077 }
15078 if (other.hasMergeNoOverlapWorkLimit()) {
15079 setMergeNoOverlapWorkLimit(other.getMergeNoOverlapWorkLimit());
15080 }
15081 if (other.hasMergeAtMostOneWorkLimit()) {
15082 setMergeAtMostOneWorkLimit(other.getMergeAtMostOneWorkLimit());
15083 }
15084 if (other.hasPresolveSubstitutionLevel()) {
15085 setPresolveSubstitutionLevel(other.getPresolveSubstitutionLevel());
15086 }
15087 if (other.hasPresolveExtractIntegerEnforcement()) {
15088 setPresolveExtractIntegerEnforcement(other.getPresolveExtractIntegerEnforcement());
15089 }
15090 if (other.hasPresolveInclusionWorkLimit()) {
15091 setPresolveInclusionWorkLimit(other.getPresolveInclusionWorkLimit());
15092 }
15093 if (other.hasIgnoreNames()) {
15094 setIgnoreNames(other.getIgnoreNames());
15095 }
15096 if (other.hasInferAllDiffs()) {
15097 setInferAllDiffs(other.getInferAllDiffs());
15098 }
15099 if (other.hasFindBigLinearOverlap()) {
15100 setFindBigLinearOverlap(other.getFindBigLinearOverlap());
15101 }
15102 if (other.hasUseSatInprocessing()) {
15103 setUseSatInprocessing(other.getUseSatInprocessing());
15104 }
15105 if (other.hasInprocessingDtimeRatio()) {
15106 setInprocessingDtimeRatio(other.getInprocessingDtimeRatio());
15107 }
15108 if (other.hasInprocessingProbingDtime()) {
15109 setInprocessingProbingDtime(other.getInprocessingProbingDtime());
15110 }
15111 if (other.hasInprocessingMinimizationDtime()) {
15112 setInprocessingMinimizationDtime(other.getInprocessingMinimizationDtime());
15113 }
15114 if (other.hasNumWorkers()) {
15115 setNumWorkers(other.getNumWorkers());
15116 }
15117 if (other.hasNumSearchWorkers()) {
15118 setNumSearchWorkers(other.getNumSearchWorkers());
15119 }
15120 if (other.hasMinNumLnsWorkers()) {
15121 setMinNumLnsWorkers(other.getMinNumLnsWorkers());
15122 }
15123 if (!other.subsolvers_.isEmpty()) {
15124 if (subsolvers_.isEmpty()) {
15125 subsolvers_ = other.subsolvers_;
15126 bitField2_ |= 0x02000000;
15127 } else {
15128 ensureSubsolversIsMutable();
15129 subsolvers_.addAll(other.subsolvers_);
15130 }
15131 onChanged();
15132 }
15133 if (!other.extraSubsolvers_.isEmpty()) {
15134 if (extraSubsolvers_.isEmpty()) {
15135 extraSubsolvers_ = other.extraSubsolvers_;
15136 bitField2_ |= 0x04000000;
15137 } else {
15138 ensureExtraSubsolversIsMutable();
15139 extraSubsolvers_.addAll(other.extraSubsolvers_);
15140 }
15141 onChanged();
15142 }
15143 if (!other.ignoreSubsolvers_.isEmpty()) {
15144 if (ignoreSubsolvers_.isEmpty()) {
15145 ignoreSubsolvers_ = other.ignoreSubsolvers_;
15146 bitField2_ |= 0x08000000;
15147 } else {
15148 ensureIgnoreSubsolversIsMutable();
15149 ignoreSubsolvers_.addAll(other.ignoreSubsolvers_);
15150 }
15151 onChanged();
15152 }
15153 if (subsolverParamsBuilder_ == null) {
15154 if (!other.subsolverParams_.isEmpty()) {
15155 if (subsolverParams_.isEmpty()) {
15156 subsolverParams_ = other.subsolverParams_;
15157 bitField2_ = (bitField2_ & ~0x10000000);
15158 } else {
15159 ensureSubsolverParamsIsMutable();
15160 subsolverParams_.addAll(other.subsolverParams_);
15161 }
15162 onChanged();
15163 }
15164 } else {
15165 if (!other.subsolverParams_.isEmpty()) {
15166 if (subsolverParamsBuilder_.isEmpty()) {
15167 subsolverParamsBuilder_.dispose();
15168 subsolverParamsBuilder_ = null;
15169 subsolverParams_ = other.subsolverParams_;
15170 bitField2_ = (bitField2_ & ~0x10000000);
15171 subsolverParamsBuilder_ =
15172 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
15173 getSubsolverParamsFieldBuilder() : null;
15174 } else {
15175 subsolverParamsBuilder_.addAllMessages(other.subsolverParams_);
15176 }
15177 }
15178 }
15179 if (other.hasInterleaveSearch()) {
15180 setInterleaveSearch(other.getInterleaveSearch());
15181 }
15182 if (other.hasInterleaveBatchSize()) {
15183 setInterleaveBatchSize(other.getInterleaveBatchSize());
15184 }
15185 if (other.hasShareObjectiveBounds()) {
15186 setShareObjectiveBounds(other.getShareObjectiveBounds());
15187 }
15188 if (other.hasShareLevelZeroBounds()) {
15189 setShareLevelZeroBounds(other.getShareLevelZeroBounds());
15190 }
15191 if (other.hasShareBinaryClauses()) {
15192 setShareBinaryClauses(other.getShareBinaryClauses());
15193 }
15194 if (other.hasDebugPostsolveWithFullSolver()) {
15195 setDebugPostsolveWithFullSolver(other.getDebugPostsolveWithFullSolver());
15196 }
15197 if (other.hasDebugMaxNumPresolveOperations()) {
15198 setDebugMaxNumPresolveOperations(other.getDebugMaxNumPresolveOperations());
15199 }
15200 if (other.hasDebugCrashOnBadHint()) {
15201 setDebugCrashOnBadHint(other.getDebugCrashOnBadHint());
15202 }
15203 if (other.hasUseOptimizationHints()) {
15204 setUseOptimizationHints(other.getUseOptimizationHints());
15205 }
15206 if (other.hasCoreMinimizationLevel()) {
15207 setCoreMinimizationLevel(other.getCoreMinimizationLevel());
15208 }
15209 if (other.hasFindMultipleCores()) {
15210 setFindMultipleCores(other.getFindMultipleCores());
15211 }
15212 if (other.hasCoverOptimization()) {
15213 setCoverOptimization(other.getCoverOptimization());
15214 }
15215 if (other.hasMaxSatAssumptionOrder()) {
15216 setMaxSatAssumptionOrder(other.getMaxSatAssumptionOrder());
15217 }
15218 if (other.hasMaxSatReverseAssumptionOrder()) {
15219 setMaxSatReverseAssumptionOrder(other.getMaxSatReverseAssumptionOrder());
15220 }
15221 if (other.hasMaxSatStratification()) {
15222 setMaxSatStratification(other.getMaxSatStratification());
15223 }
15224 if (other.hasPropagationLoopDetectionFactor()) {
15225 setPropagationLoopDetectionFactor(other.getPropagationLoopDetectionFactor());
15226 }
15227 if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
15228 setUsePrecedencesInDisjunctiveConstraint(other.getUsePrecedencesInDisjunctiveConstraint());
15229 }
15230 if (other.hasMaxSizeToCreatePrecedenceLiteralsInDisjunctive()) {
15231 setMaxSizeToCreatePrecedenceLiteralsInDisjunctive(other.getMaxSizeToCreatePrecedenceLiteralsInDisjunctive());
15232 }
15233 if (other.hasUseStrongPropagationInDisjunctive()) {
15234 setUseStrongPropagationInDisjunctive(other.getUseStrongPropagationInDisjunctive());
15235 }
15236 if (other.hasUseDynamicPrecedenceInDisjunctive()) {
15237 setUseDynamicPrecedenceInDisjunctive(other.getUseDynamicPrecedenceInDisjunctive());
15238 }
15239 if (other.hasUseDynamicPrecedenceInCumulative()) {
15240 setUseDynamicPrecedenceInCumulative(other.getUseDynamicPrecedenceInCumulative());
15241 }
15242 if (other.hasUseOverloadCheckerInCumulative()) {
15243 setUseOverloadCheckerInCumulative(other.getUseOverloadCheckerInCumulative());
15244 }
15245 if (other.hasUseTimetableEdgeFindingInCumulative()) {
15246 setUseTimetableEdgeFindingInCumulative(other.getUseTimetableEdgeFindingInCumulative());
15247 }
15248 if (other.hasMaxNumIntervalsForTimetableEdgeFinding()) {
15249 setMaxNumIntervalsForTimetableEdgeFinding(other.getMaxNumIntervalsForTimetableEdgeFinding());
15250 }
15251 if (other.hasUseHardPrecedencesInCumulative()) {
15252 setUseHardPrecedencesInCumulative(other.getUseHardPrecedencesInCumulative());
15253 }
15254 if (other.hasExploitAllPrecedences()) {
15255 setExploitAllPrecedences(other.getExploitAllPrecedences());
15256 }
15257 if (other.hasUseDisjunctiveConstraintInCumulative()) {
15258 setUseDisjunctiveConstraintInCumulative(other.getUseDisjunctiveConstraintInCumulative());
15259 }
15260 if (other.hasUseTimetablingInNoOverlap2D()) {
15261 setUseTimetablingInNoOverlap2D(other.getUseTimetablingInNoOverlap2D());
15262 }
15263 if (other.hasUseEnergeticReasoningInNoOverlap2D()) {
15264 setUseEnergeticReasoningInNoOverlap2D(other.getUseEnergeticReasoningInNoOverlap2D());
15265 }
15266 if (other.hasUseAreaEnergeticReasoningInNoOverlap2D()) {
15267 setUseAreaEnergeticReasoningInNoOverlap2D(other.getUseAreaEnergeticReasoningInNoOverlap2D());
15268 }
15269 if (other.hasMaxPairsPairwiseReasoningInNoOverlap2D()) {
15270 setMaxPairsPairwiseReasoningInNoOverlap2D(other.getMaxPairsPairwiseReasoningInNoOverlap2D());
15271 }
15272 if (other.hasUseDualSchedulingHeuristics()) {
15273 setUseDualSchedulingHeuristics(other.getUseDualSchedulingHeuristics());
15274 }
15275 if (other.hasSearchBranching()) {
15276 setSearchBranching(other.getSearchBranching());
15277 }
15278 if (other.hasHintConflictLimit()) {
15279 setHintConflictLimit(other.getHintConflictLimit());
15280 }
15281 if (other.hasRepairHint()) {
15282 setRepairHint(other.getRepairHint());
15283 }
15284 if (other.hasFixVariablesToTheirHintedValue()) {
15285 setFixVariablesToTheirHintedValue(other.getFixVariablesToTheirHintedValue());
15286 }
15287 if (other.hasUseProbingSearch()) {
15288 setUseProbingSearch(other.getUseProbingSearch());
15289 }
15290 if (other.hasUseExtendedProbing()) {
15291 setUseExtendedProbing(other.getUseExtendedProbing());
15292 }
15293 if (other.hasProbingNumCombinationsLimit()) {
15294 setProbingNumCombinationsLimit(other.getProbingNumCombinationsLimit());
15295 }
15296 if (other.hasUseShavingInProbingSearch()) {
15297 setUseShavingInProbingSearch(other.getUseShavingInProbingSearch());
15298 }
15299 if (other.hasShavingSearchDeterministicTime()) {
15300 setShavingSearchDeterministicTime(other.getShavingSearchDeterministicTime());
15301 }
15302 if (other.hasUseObjectiveLbSearch()) {
15303 setUseObjectiveLbSearch(other.getUseObjectiveLbSearch());
15304 }
15305 if (other.hasUseObjectiveShavingSearch()) {
15306 setUseObjectiveShavingSearch(other.getUseObjectiveShavingSearch());
15307 }
15308 if (other.hasPseudoCostReliabilityThreshold()) {
15309 setPseudoCostReliabilityThreshold(other.getPseudoCostReliabilityThreshold());
15310 }
15311 if (other.hasOptimizeWithCore()) {
15312 setOptimizeWithCore(other.getOptimizeWithCore());
15313 }
15314 if (other.hasOptimizeWithLbTreeSearch()) {
15315 setOptimizeWithLbTreeSearch(other.getOptimizeWithLbTreeSearch());
15316 }
15317 if (other.hasBinarySearchNumConflicts()) {
15318 setBinarySearchNumConflicts(other.getBinarySearchNumConflicts());
15319 }
15320 if (other.hasOptimizeWithMaxHs()) {
15321 setOptimizeWithMaxHs(other.getOptimizeWithMaxHs());
15322 }
15323 if (other.hasUseFeasibilityJump()) {
15324 setUseFeasibilityJump(other.getUseFeasibilityJump());
15325 }
15326 if (other.hasTestFeasibilityJump()) {
15327 setTestFeasibilityJump(other.getTestFeasibilityJump());
15328 }
15329 if (other.hasFeasibilityJumpDecay()) {
15330 setFeasibilityJumpDecay(other.getFeasibilityJumpDecay());
15331 }
15332 if (other.hasFeasibilityJumpLinearizationLevel()) {
15333 setFeasibilityJumpLinearizationLevel(other.getFeasibilityJumpLinearizationLevel());
15334 }
15335 if (other.hasFeasibilityJumpRestartFactor()) {
15336 setFeasibilityJumpRestartFactor(other.getFeasibilityJumpRestartFactor());
15337 }
15338 if (other.hasFeasibilityJumpVarRandomizationProbability()) {
15339 setFeasibilityJumpVarRandomizationProbability(other.getFeasibilityJumpVarRandomizationProbability());
15340 }
15341 if (other.hasFeasibilityJumpVarPerburbationRangeRatio()) {
15342 setFeasibilityJumpVarPerburbationRangeRatio(other.getFeasibilityJumpVarPerburbationRangeRatio());
15343 }
15344 if (other.hasFeasibilityJumpEnableRestarts()) {
15345 setFeasibilityJumpEnableRestarts(other.getFeasibilityJumpEnableRestarts());
15346 }
15347 if (other.hasFeasibilityJumpMaxExpandedConstraintSize()) {
15348 setFeasibilityJumpMaxExpandedConstraintSize(other.getFeasibilityJumpMaxExpandedConstraintSize());
15349 }
15350 if (other.hasNumViolationLs()) {
15351 setNumViolationLs(other.getNumViolationLs());
15352 }
15353 if (other.hasViolationLsPerturbationPeriod()) {
15354 setViolationLsPerturbationPeriod(other.getViolationLsPerturbationPeriod());
15355 }
15356 if (other.hasViolationLsCompoundMoveProbability()) {
15357 setViolationLsCompoundMoveProbability(other.getViolationLsCompoundMoveProbability());
15358 }
15359 if (other.hasSharedTreeNumWorkers()) {
15360 setSharedTreeNumWorkers(other.getSharedTreeNumWorkers());
15361 }
15362 if (other.hasUseSharedTreeSearch()) {
15363 setUseSharedTreeSearch(other.getUseSharedTreeSearch());
15364 }
15365 if (other.hasSharedTreeWorkerObjectiveSplitProbability()) {
15366 setSharedTreeWorkerObjectiveSplitProbability(other.getSharedTreeWorkerObjectiveSplitProbability());
15367 }
15368 if (other.hasSharedTreeMaxNodesPerWorker()) {
15369 setSharedTreeMaxNodesPerWorker(other.getSharedTreeMaxNodesPerWorker());
15370 }
15371 if (other.hasSharedTreeSplitStrategy()) {
15372 setSharedTreeSplitStrategy(other.getSharedTreeSplitStrategy());
15373 }
15374 if (other.hasEnumerateAllSolutions()) {
15375 setEnumerateAllSolutions(other.getEnumerateAllSolutions());
15376 }
15377 if (other.hasKeepAllFeasibleSolutionsInPresolve()) {
15378 setKeepAllFeasibleSolutionsInPresolve(other.getKeepAllFeasibleSolutionsInPresolve());
15379 }
15380 if (other.hasFillTightenedDomainsInResponse()) {
15381 setFillTightenedDomainsInResponse(other.getFillTightenedDomainsInResponse());
15382 }
15383 if (other.hasFillAdditionalSolutionsInResponse()) {
15384 setFillAdditionalSolutionsInResponse(other.getFillAdditionalSolutionsInResponse());
15385 }
15386 if (other.hasInstantiateAllVariables()) {
15387 setInstantiateAllVariables(other.getInstantiateAllVariables());
15388 }
15389 if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
15390 setAutoDetectGreaterThanAtLeastOneOf(other.getAutoDetectGreaterThanAtLeastOneOf());
15391 }
15392 if (other.hasStopAfterFirstSolution()) {
15393 setStopAfterFirstSolution(other.getStopAfterFirstSolution());
15394 }
15395 if (other.hasStopAfterPresolve()) {
15396 setStopAfterPresolve(other.getStopAfterPresolve());
15397 }
15398 if (other.hasStopAfterRootPropagation()) {
15399 setStopAfterRootPropagation(other.getStopAfterRootPropagation());
15400 }
15401 if (other.hasUseLnsOnly()) {
15402 setUseLnsOnly(other.getUseLnsOnly());
15403 }
15404 if (other.hasSolutionPoolSize()) {
15405 setSolutionPoolSize(other.getSolutionPoolSize());
15406 }
15407 if (other.hasUseRinsLns()) {
15408 setUseRinsLns(other.getUseRinsLns());
15409 }
15410 if (other.hasUseFeasibilityPump()) {
15411 setUseFeasibilityPump(other.getUseFeasibilityPump());
15412 }
15413 if (other.hasUseLbRelaxLns()) {
15414 setUseLbRelaxLns(other.getUseLbRelaxLns());
15415 }
15416 if (other.hasFpRounding()) {
15417 setFpRounding(other.getFpRounding());
15418 }
15419 if (other.hasDiversifyLnsParams()) {
15420 setDiversifyLnsParams(other.getDiversifyLnsParams());
15421 }
15422 if (other.hasRandomizeSearch()) {
15423 setRandomizeSearch(other.getRandomizeSearch());
15424 }
15425 if (other.hasSearchRandomVariablePoolSize()) {
15426 setSearchRandomVariablePoolSize(other.getSearchRandomVariablePoolSize());
15427 }
15428 if (other.hasPushAllTasksTowardStart()) {
15429 setPushAllTasksTowardStart(other.getPushAllTasksTowardStart());
15430 }
15431 if (other.hasUseOptionalVariables()) {
15432 setUseOptionalVariables(other.getUseOptionalVariables());
15433 }
15434 if (other.hasUseExactLpReason()) {
15435 setUseExactLpReason(other.getUseExactLpReason());
15436 }
15437 if (other.hasUseCombinedNoOverlap()) {
15438 setUseCombinedNoOverlap(other.getUseCombinedNoOverlap());
15439 }
15440 if (other.hasAtMostOneMaxExpansionSize()) {
15441 setAtMostOneMaxExpansionSize(other.getAtMostOneMaxExpansionSize());
15442 }
15443 if (other.hasCatchSigintSignal()) {
15444 setCatchSigintSignal(other.getCatchSigintSignal());
15445 }
15446 if (other.hasUseImpliedBounds()) {
15447 setUseImpliedBounds(other.getUseImpliedBounds());
15448 }
15449 if (other.hasPolishLpSolution()) {
15450 setPolishLpSolution(other.getPolishLpSolution());
15451 }
15452 if (other.hasLpPrimalTolerance()) {
15453 setLpPrimalTolerance(other.getLpPrimalTolerance());
15454 }
15455 if (other.hasLpDualTolerance()) {
15456 setLpDualTolerance(other.getLpDualTolerance());
15457 }
15458 if (other.hasConvertIntervals()) {
15459 setConvertIntervals(other.getConvertIntervals());
15460 }
15461 if (other.hasSymmetryLevel()) {
15462 setSymmetryLevel(other.getSymmetryLevel());
15463 }
15464 if (other.hasNewLinearPropagation()) {
15465 setNewLinearPropagation(other.getNewLinearPropagation());
15466 }
15467 if (other.hasLinearSplitSize()) {
15468 setLinearSplitSize(other.getLinearSplitSize());
15469 }
15470 if (other.hasLinearizationLevel()) {
15471 setLinearizationLevel(other.getLinearizationLevel());
15472 }
15473 if (other.hasBooleanEncodingLevel()) {
15474 setBooleanEncodingLevel(other.getBooleanEncodingLevel());
15475 }
15476 if (other.hasMaxDomainSizeWhenEncodingEqNeqConstraints()) {
15477 setMaxDomainSizeWhenEncodingEqNeqConstraints(other.getMaxDomainSizeWhenEncodingEqNeqConstraints());
15478 }
15479 if (other.hasMaxNumCuts()) {
15480 setMaxNumCuts(other.getMaxNumCuts());
15481 }
15482 if (other.hasCutLevel()) {
15483 setCutLevel(other.getCutLevel());
15484 }
15485 if (other.hasOnlyAddCutsAtLevelZero()) {
15486 setOnlyAddCutsAtLevelZero(other.getOnlyAddCutsAtLevelZero());
15487 }
15488 if (other.hasAddObjectiveCut()) {
15489 setAddObjectiveCut(other.getAddObjectiveCut());
15490 }
15491 if (other.hasAddCgCuts()) {
15492 setAddCgCuts(other.getAddCgCuts());
15493 }
15494 if (other.hasAddMirCuts()) {
15495 setAddMirCuts(other.getAddMirCuts());
15496 }
15497 if (other.hasAddZeroHalfCuts()) {
15498 setAddZeroHalfCuts(other.getAddZeroHalfCuts());
15499 }
15500 if (other.hasAddCliqueCuts()) {
15501 setAddCliqueCuts(other.getAddCliqueCuts());
15502 }
15503 if (other.hasAddRltCuts()) {
15504 setAddRltCuts(other.getAddRltCuts());
15505 }
15506 if (other.hasMaxAllDiffCutSize()) {
15507 setMaxAllDiffCutSize(other.getMaxAllDiffCutSize());
15508 }
15509 if (other.hasAddLinMaxCuts()) {
15510 setAddLinMaxCuts(other.getAddLinMaxCuts());
15511 }
15512 if (other.hasMaxIntegerRoundingScaling()) {
15513 setMaxIntegerRoundingScaling(other.getMaxIntegerRoundingScaling());
15514 }
15515 if (other.hasAddLpConstraintsLazily()) {
15516 setAddLpConstraintsLazily(other.getAddLpConstraintsLazily());
15517 }
15518 if (other.hasRootLpIterations()) {
15519 setRootLpIterations(other.getRootLpIterations());
15520 }
15521 if (other.hasMinOrthogonalityForLpConstraints()) {
15522 setMinOrthogonalityForLpConstraints(other.getMinOrthogonalityForLpConstraints());
15523 }
15524 if (other.hasMaxCutRoundsAtLevelZero()) {
15525 setMaxCutRoundsAtLevelZero(other.getMaxCutRoundsAtLevelZero());
15526 }
15527 if (other.hasMaxConsecutiveInactiveCount()) {
15528 setMaxConsecutiveInactiveCount(other.getMaxConsecutiveInactiveCount());
15529 }
15530 if (other.hasCutMaxActiveCountValue()) {
15531 setCutMaxActiveCountValue(other.getCutMaxActiveCountValue());
15532 }
15533 if (other.hasCutActiveCountDecay()) {
15534 setCutActiveCountDecay(other.getCutActiveCountDecay());
15535 }
15536 if (other.hasCutCleanupTarget()) {
15537 setCutCleanupTarget(other.getCutCleanupTarget());
15538 }
15539 if (other.hasNewConstraintsBatchSize()) {
15540 setNewConstraintsBatchSize(other.getNewConstraintsBatchSize());
15541 }
15542 if (other.hasExploitIntegerLpSolution()) {
15543 setExploitIntegerLpSolution(other.getExploitIntegerLpSolution());
15544 }
15545 if (other.hasExploitAllLpSolution()) {
15546 setExploitAllLpSolution(other.getExploitAllLpSolution());
15547 }
15548 if (other.hasExploitBestSolution()) {
15549 setExploitBestSolution(other.getExploitBestSolution());
15550 }
15551 if (other.hasExploitRelaxationSolution()) {
15552 setExploitRelaxationSolution(other.getExploitRelaxationSolution());
15553 }
15554 if (other.hasExploitObjective()) {
15555 setExploitObjective(other.getExploitObjective());
15556 }
15557 if (other.hasDetectLinearizedProduct()) {
15558 setDetectLinearizedProduct(other.getDetectLinearizedProduct());
15559 }
15560 if (other.hasMipMaxBound()) {
15561 setMipMaxBound(other.getMipMaxBound());
15562 }
15563 if (other.hasMipVarScaling()) {
15564 setMipVarScaling(other.getMipVarScaling());
15565 }
15566 if (other.hasMipScaleLargeDomain()) {
15567 setMipScaleLargeDomain(other.getMipScaleLargeDomain());
15568 }
15569 if (other.hasMipAutomaticallyScaleVariables()) {
15570 setMipAutomaticallyScaleVariables(other.getMipAutomaticallyScaleVariables());
15571 }
15572 if (other.hasOnlySolveIp()) {
15573 setOnlySolveIp(other.getOnlySolveIp());
15574 }
15575 if (other.hasMipWantedPrecision()) {
15576 setMipWantedPrecision(other.getMipWantedPrecision());
15577 }
15578 if (other.hasMipMaxActivityExponent()) {
15579 setMipMaxActivityExponent(other.getMipMaxActivityExponent());
15580 }
15581 if (other.hasMipCheckPrecision()) {
15582 setMipCheckPrecision(other.getMipCheckPrecision());
15583 }
15584 if (other.hasMipComputeTrueObjectiveBound()) {
15585 setMipComputeTrueObjectiveBound(other.getMipComputeTrueObjectiveBound());
15586 }
15587 if (other.hasMipMaxValidMagnitude()) {
15588 setMipMaxValidMagnitude(other.getMipMaxValidMagnitude());
15589 }
15590 if (other.hasMipTreatHighMagnitudeBoundsAsInfinity()) {
15591 setMipTreatHighMagnitudeBoundsAsInfinity(other.getMipTreatHighMagnitudeBoundsAsInfinity());
15592 }
15593 if (other.hasMipDropTolerance()) {
15594 setMipDropTolerance(other.getMipDropTolerance());
15595 }
15596 if (other.hasMipPresolveLevel()) {
15597 setMipPresolveLevel(other.getMipPresolveLevel());
15598 }
15599 this.mergeUnknownFields(other.getUnknownFields());
15600 onChanged();
15601 return this;
15602 }
15603
15604 @java.lang.Override
15605 public final boolean isInitialized() {
15606 return true;
15607 }
15608
15609 @java.lang.Override
15611 com.google.protobuf.CodedInputStream input,
15612 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15613 throws java.io.IOException {
15614 if (extensionRegistry == null) {
15615 throw new java.lang.NullPointerException();
15616 }
15617 try {
15618 boolean done = false;
15619 while (!done) {
15620 int tag = input.readTag();
15621 switch (tag) {
15622 case 0:
15623 done = true;
15624 break;
15625 case 8: {
15626 int tmpRaw = input.readEnum();
15628 com.google.ortools.sat.SatParameters.VariableOrder.forNumber(tmpRaw);
15629 if (tmpValue == null) {
15630 mergeUnknownVarintField(1, tmpRaw);
15631 } else {
15632 preferredVariableOrder_ = tmpRaw;
15633 bitField0_ |= 0x00000002;
15634 }
15635 break;
15636 } // case 8
15637 case 16: {
15638 int tmpRaw = input.readEnum();
15640 com.google.ortools.sat.SatParameters.Polarity.forNumber(tmpRaw);
15641 if (tmpValue == null) {
15642 mergeUnknownVarintField(2, tmpRaw);
15643 } else {
15644 initialPolarity_ = tmpRaw;
15645 bitField0_ |= 0x00000004;
15646 }
15647 break;
15648 } // case 16
15649 case 32: {
15650 int tmpRaw = input.readEnum();
15652 com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.forNumber(tmpRaw);
15653 if (tmpValue == null) {
15654 mergeUnknownVarintField(4, tmpRaw);
15655 } else {
15656 minimizationAlgorithm_ = tmpRaw;
15657 bitField0_ |= 0x00000400;
15658 }
15659 break;
15660 } // case 32
15661 case 88: {
15662 clauseCleanupPeriod_ = input.readInt32();
15663 bitField0_ |= 0x00002000;
15664 break;
15665 } // case 88
15666 case 104: {
15667 clauseCleanupTarget_ = input.readInt32();
15668 bitField0_ |= 0x00004000;
15669 break;
15670 } // case 104
15671 case 121: {
15672 variableActivityDecay_ = input.readDouble();
15673 bitField0_ |= 0x00200000;
15674 break;
15675 } // case 121
15676 case 129: {
15677 maxVariableActivityValue_ = input.readDouble();
15678 bitField0_ |= 0x00400000;
15679 break;
15680 } // case 129
15681 case 137: {
15682 clauseActivityDecay_ = input.readDouble();
15683 bitField0_ |= 0x04000000;
15684 break;
15685 } // case 137
15686 case 145: {
15687 maxClauseActivityValue_ = input.readDouble();
15688 bitField0_ |= 0x08000000;
15689 break;
15690 } // case 145
15691 case 177: {
15692 glucoseMaxDecay_ = input.readDouble();
15693 bitField0_ |= 0x00800000;
15694 break;
15695 } // case 177
15696 case 185: {
15697 glucoseDecayIncrement_ = input.readDouble();
15698 bitField0_ |= 0x01000000;
15699 break;
15700 } // case 185
15701 case 192: {
15702 glucoseDecayIncrementPeriod_ = input.readInt32();
15703 bitField0_ |= 0x02000000;
15704 break;
15705 } // case 192
15706 case 240: {
15707 restartPeriod_ = input.readInt32();
15708 bitField0_ |= 0x40000000;
15709 break;
15710 } // case 240
15711 case 248: {
15712 randomSeed_ = input.readInt32();
15713 bitField1_ |= 0x00002000;
15714 break;
15715 } // case 248
15716 case 257: {
15717 randomBranchesRatio_ = input.readDouble();
15718 bitField0_ |= 0x00000040;
15719 break;
15720 } // case 257
15721 case 272: {
15722 int tmpRaw = input.readEnum();
15724 com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.forNumber(tmpRaw);
15725 if (tmpValue == null) {
15726 mergeUnknownVarintField(34, tmpRaw);
15727 } else {
15728 binaryMinimizationAlgorithm_ = tmpRaw;
15729 bitField0_ |= 0x00000800;
15730 }
15731 break;
15732 } // case 272
15733 case 280: {
15734 useOptimizationHints_ = input.readBool();
15735 bitField3_ |= 0x00000020;
15736 break;
15737 } // case 280
15738 case 289: {
15739 maxTimeInSeconds_ = input.readDouble();
15740 bitField1_ |= 0x00000080;
15741 break;
15742 } // case 289
15743 case 296: {
15744 maxNumberOfConflicts_ = input.readInt64();
15745 bitField1_ |= 0x00000200;
15746 break;
15747 } // case 296
15748 case 320: {
15749 maxMemoryInMb_ = input.readInt64();
15750 bitField1_ |= 0x00000400;
15751 break;
15752 } // case 320
15753 case 328: {
15754 logSearchProgress_ = input.readBool();
15755 bitField1_ |= 0x00020000;
15756 break;
15757 } // case 328
15758 case 344: {
15759 usePbResolution_ = input.readBool();
15760 bitField1_ |= 0x00400000;
15761 break;
15762 } // case 344
15763 case 352: {
15764 usePhaseSaving_ = input.readBool();
15765 bitField0_ |= 0x00000008;
15766 break;
15767 } // case 352
15768 case 361: {
15769 randomPolarityRatio_ = input.readDouble();
15770 bitField0_ |= 0x00000020;
15771 break;
15772 } // case 361
15773 case 368: {
15774 pbCleanupIncrement_ = input.readInt32();
15775 bitField0_ |= 0x00080000;
15776 break;
15777 } // case 368
15778 case 377: {
15779 pbCleanupRatio_ = input.readDouble();
15780 bitField0_ |= 0x00100000;
15781 break;
15782 } // case 377
15783 case 384: {
15784 minimizeReductionDuringPbResolution_ = input.readBool();
15785 bitField1_ |= 0x00800000;
15786 break;
15787 } // case 384
15788 case 392: {
15789 countAssumptionLevelsInLbd_ = input.readBool();
15790 bitField1_ |= 0x01000000;
15791 break;
15792 } // case 392
15793 case 400: {
15794 coreMinimizationLevel_ = input.readInt32();
15795 bitField3_ |= 0x00000040;
15796 break;
15797 } // case 400
15798 case 408: {
15799 int tmpRaw = input.readEnum();
15801 com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.forNumber(tmpRaw);
15802 if (tmpValue == null) {
15803 mergeUnknownVarintField(51, tmpRaw);
15804 } else {
15805 maxSatAssumptionOrder_ = tmpRaw;
15806 bitField3_ |= 0x00000200;
15807 }
15808 break;
15809 } // case 408
15810 case 416: {
15811 maxSatReverseAssumptionOrder_ = input.readBool();
15812 bitField3_ |= 0x00000400;
15813 break;
15814 } // case 416
15815 case 424: {
15816 int tmpRaw = input.readEnum();
15818 com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.forNumber(tmpRaw);
15819 if (tmpValue == null) {
15820 mergeUnknownVarintField(53, tmpRaw);
15821 } else {
15822 maxSatStratification_ = tmpRaw;
15823 bitField3_ |= 0x00000800;
15824 }
15825 break;
15826 } // case 424
15827 case 432: {
15828 presolveBveThreshold_ = input.readInt32();
15829 bitField1_ |= 0x02000000;
15830 break;
15831 } // case 432
15832 case 440: {
15833 presolveBveClauseWeight_ = input.readInt32();
15834 bitField1_ |= 0x04000000;
15835 break;
15836 } // case 440
15837 case 448: {
15838 subsumptionDuringConflictAnalysis_ = input.readBool();
15839 bitField0_ |= 0x00001000;
15840 break;
15841 } // case 448
15842 case 457: {
15843 presolveProbingDeterministicTimeLimit_ = input.readDouble();
15844 bitField1_ |= 0x10000000;
15845 break;
15846 } // case 457
15847 case 464: {
15848 int tmpRaw = input.readEnum();
15850 com.google.ortools.sat.SatParameters.ClauseProtection.forNumber(tmpRaw);
15851 if (tmpValue == null) {
15852 mergeUnknownVarintField(58, tmpRaw);
15853 } else {
15854 clauseCleanupProtection_ = tmpRaw;
15855 bitField0_ |= 0x00010000;
15856 }
15857 break;
15858 } // case 464
15859 case 472: {
15860 clauseCleanupLbdBound_ = input.readInt32();
15861 bitField0_ |= 0x00020000;
15862 break;
15863 } // case 472
15864 case 480: {
15865 int tmpRaw = input.readEnum();
15867 com.google.ortools.sat.SatParameters.ClauseOrdering.forNumber(tmpRaw);
15868 if (tmpValue == null) {
15869 mergeUnknownVarintField(60, tmpRaw);
15870 } else {
15871 clauseCleanupOrdering_ = tmpRaw;
15872 bitField0_ |= 0x00040000;
15873 }
15874 break;
15875 } // case 480
15876 case 488: {
15877 int tmpRaw = input.readEnum();
15879 com.google.ortools.sat.SatParameters.RestartAlgorithm.forNumber(tmpRaw);
15880 if (tmpValue == null) {
15881 mergeUnknownVarintField(61, tmpRaw);
15882 } else {
15883 ensureRestartAlgorithmsIsMutable();
15884 restartAlgorithms_.add(tmpRaw);
15885 }
15886 break;
15887 } // case 488
15888 case 490: {
15889 int length = input.readRawVarint32();
15890 int oldLimit = input.pushLimit(length);
15891 while(input.getBytesUntilLimit() > 0) {
15892 int tmpRaw = input.readEnum();
15894 com.google.ortools.sat.SatParameters.RestartAlgorithm.forNumber(tmpRaw);
15895 if (tmpValue == null) {
15896 mergeUnknownVarintField(61, tmpRaw);
15897 } else {
15898 ensureRestartAlgorithmsIsMutable();
15899 restartAlgorithms_.add(tmpRaw);
15900 }
15901 }
15902 input.popLimit(oldLimit);
15903 break;
15904 } // case 490
15905 case 496: {
15906 restartRunningWindowSize_ = input.readInt32();
15907 bitField0_ |= 0x80000000;
15908 break;
15909 } // case 496
15910 case 505: {
15911 restartDlAverageRatio_ = input.readDouble();
15912 bitField1_ |= 0x00000001;
15913 break;
15914 } // case 505
15915 case 512: {
15916 useBlockingRestart_ = input.readBool();
15917 bitField1_ |= 0x00000004;
15918 break;
15919 } // case 512
15920 case 520: {
15921 blockingRestartWindowSize_ = input.readInt32();
15922 bitField1_ |= 0x00000008;
15923 break;
15924 } // case 520
15925 case 529: {
15926 blockingRestartMultiplier_ = input.readDouble();
15927 bitField1_ |= 0x00000010;
15928 break;
15929 } // case 529
15930 case 537: {
15931 maxDeterministicTime_ = input.readDouble();
15932 bitField1_ |= 0x00000100;
15933 break;
15934 } // case 537
15935 case 544: {
15936 numConflictsBeforeStrategyChanges_ = input.readInt32();
15937 bitField1_ |= 0x00000020;
15938 break;
15939 } // case 544
15940 case 553: {
15941 strategyChangeIncreaseRatio_ = input.readDouble();
15942 bitField1_ |= 0x00000040;
15943 break;
15944 } // case 553
15945 case 562: {
15946 defaultRestartAlgorithms_ = input.readBytes();
15947 bitField0_ |= 0x20000000;
15948 break;
15949 } // case 562
15950 case 569: {
15951 restartLbdAverageRatio_ = input.readDouble();
15952 bitField1_ |= 0x00000002;
15953 break;
15954 } // case 569
15955 case 576: {
15956 presolveUseBva_ = input.readBool();
15957 bitField1_ |= 0x40000000;
15958 break;
15959 } // case 576
15960 case 584: {
15961 presolveBvaThreshold_ = input.readInt32();
15962 bitField1_ |= 0x80000000;
15963 break;
15964 } // case 584
15965 case 592: {
15966 usePrecedencesInDisjunctiveConstraint_ = input.readBool();
15967 bitField3_ |= 0x00002000;
15968 break;
15969 } // case 592
15970 case 600: {
15971 useErwaHeuristic_ = input.readBool();
15972 bitField0_ |= 0x00000080;
15973 break;
15974 } // case 600
15975 case 609: {
15976 initialVariablesActivity_ = input.readDouble();
15977 bitField0_ |= 0x00000100;
15978 break;
15979 } // case 609
15980 case 616: {
15981 alsoBumpVariablesInConflictReasons_ = input.readBool();
15982 bitField0_ |= 0x00000200;
15983 break;
15984 } // case 616
15985 case 624: {
15986 useOverloadCheckerInCumulative_ = input.readBool();
15987 bitField3_ |= 0x00040000;
15988 break;
15989 } // case 624
15990 case 632: {
15991 useTimetableEdgeFindingInCumulative_ = input.readBool();
15992 bitField3_ |= 0x00080000;
15993 break;
15994 } // case 632
15995 case 640: {
15996 useDisjunctiveConstraintInCumulative_ = input.readBool();
15997 bitField3_ |= 0x00800000;
15998 break;
15999 } // case 640
16000 case 656: {
16001 int tmpRaw = input.readEnum();
16003 com.google.ortools.sat.SatParameters.SearchBranching.forNumber(tmpRaw);
16004 if (tmpValue == null) {
16005 mergeUnknownVarintField(82, tmpRaw);
16006 } else {
16007 searchBranching_ = tmpRaw;
16008 bitField3_ |= 0x20000000;
16009 }
16010 break;
16011 } // case 656
16012 case 664: {
16013 optimizeWithCore_ = input.readBool();
16014 bitField4_ |= 0x00000200;
16015 break;
16016 } // case 664
16017 case 672: {
16018 findMultipleCores_ = input.readBool();
16019 bitField3_ |= 0x00000080;
16020 break;
16021 } // case 672
16022 case 680: {
16023 optimizeWithMaxHs_ = input.readBool();
16024 bitField4_ |= 0x00001000;
16025 break;
16026 } // case 680
16027 case 688: {
16028 cpModelPresolve_ = input.readBool();
16029 bitField2_ |= 0x00000002;
16030 break;
16031 } // case 688
16032 case 696: {
16033 enumerateAllSolutions_ = input.readBool();
16034 bitField4_ |= 0x40000000;
16035 break;
16036 } // case 696
16037 case 704: {
16038 presolveBlockedClause_ = input.readBool();
16039 bitField1_ |= 0x20000000;
16040 break;
16041 } // case 704
16042 case 712: {
16043 coverOptimization_ = input.readBool();
16044 bitField3_ |= 0x00000100;
16045 break;
16046 } // case 712
16047 case 720: {
16048 linearizationLevel_ = input.readInt32();
16049 bitField5_ |= 0x40000000;
16050 break;
16051 } // case 720
16052 case 728: {
16053 maxNumCuts_ = input.readInt32();
16054 bitField6_ |= 0x00000002;
16055 break;
16056 } // case 728
16057 case 736: {
16058 onlyAddCutsAtLevelZero_ = input.readBool();
16059 bitField6_ |= 0x00000008;
16060 break;
16061 } // case 736
16062 case 744: {
16063 cpModelUseSatPresolve_ = input.readBool();
16064 bitField2_ |= 0x00000008;
16065 break;
16066 } // case 744
16067 case 752: {
16068 exploitIntegerLpSolution_ = input.readBool();
16069 bitField6_ |= 0x00400000;
16070 break;
16071 } // case 752
16072 case 760: {
16073 autoDetectGreaterThanAtLeastOneOf_ = input.readBool();
16074 bitField5_ |= 0x00000008;
16075 break;
16076 } // case 760
16077 case 784: {
16078 stopAfterFirstSolution_ = input.readBool();
16079 bitField5_ |= 0x00000010;
16080 break;
16081 } // case 784
16082 case 792: {
16083 binarySearchNumConflicts_ = input.readInt32();
16084 bitField4_ |= 0x00000800;
16085 break;
16086 } // case 792
16087 case 800: {
16088 numSearchWorkers_ = input.readInt32();
16089 bitField2_ |= 0x00800000;
16090 break;
16091 } // case 800
16092 case 808: {
16093 useLnsOnly_ = input.readBool();
16094 bitField5_ |= 0x00000080;
16095 break;
16096 } // case 808
16097 case 824: {
16098 randomizeSearch_ = input.readBool();
16099 bitField5_ |= 0x00004000;
16100 break;
16101 } // case 824
16102 case 832: {
16103 searchRandomVariablePoolSize_ = input.readInt64();
16104 bitField5_ |= 0x00008000;
16105 break;
16106 } // case 832
16107 case 848: {
16108 instantiateAllVariables_ = input.readBool();
16109 bitField5_ |= 0x00000004;
16110 break;
16111 } // case 848
16112 case 856: {
16113 booleanEncodingLevel_ = input.readInt32();
16114 bitField5_ |= 0x80000000;
16115 break;
16116 } // case 856
16117 case 864: {
16118 useOptionalVariables_ = input.readBool();
16119 bitField5_ |= 0x00020000;
16120 break;
16121 } // case 864
16122 case 872: {
16123 useExactLpReason_ = input.readBool();
16124 bitField5_ |= 0x00040000;
16125 break;
16126 } // case 872
16127 case 880: {
16128 cpModelProbingLevel_ = input.readInt32();
16129 bitField2_ |= 0x00000004;
16130 break;
16131 } // case 880
16132 case 896: {
16133 addLpConstraintsLazily_ = input.readBool();
16134 bitField6_ |= 0x00002000;
16135 break;
16136 } // case 896
16137 case 904: {
16138 shareObjectiveBounds_ = input.readBool();
16139 bitField2_ |= 0x80000000;
16140 break;
16141 } // case 904
16142 case 912: {
16143 shareLevelZeroBounds_ = input.readBool();
16144 bitField3_ |= 0x00000001;
16145 break;
16146 } // case 912
16147 case 921: {
16148 minOrthogonalityForLpConstraints_ = input.readDouble();
16149 bitField6_ |= 0x00008000;
16150 break;
16151 } // case 921
16152 case 928: {
16153 exploitAllLpSolution_ = input.readBool();
16154 bitField6_ |= 0x00800000;
16155 break;
16156 } // case 928
16157 case 936: {
16158 addCgCuts_ = input.readBool();
16159 bitField6_ |= 0x00000020;
16160 break;
16161 } // case 936
16162 case 952: {
16163 maxIntegerRoundingScaling_ = input.readInt32();
16164 bitField6_ |= 0x00001000;
16165 break;
16166 } // case 952
16167 case 960: {
16168 addMirCuts_ = input.readBool();
16169 bitField6_ |= 0x00000040;
16170 break;
16171 } // case 960
16172 case 968: {
16173 maxConsecutiveInactiveCount_ = input.readInt32();
16174 bitField6_ |= 0x00020000;
16175 break;
16176 } // case 968
16177 case 976: {
16178 newConstraintsBatchSize_ = input.readInt32();
16179 bitField6_ |= 0x00200000;
16180 break;
16181 } // case 976
16182 case 984: {
16183 pseudoCostReliabilityThreshold_ = input.readInt64();
16184 bitField4_ |= 0x00000100;
16185 break;
16186 } // case 984
16187 case 993: {
16188 mipMaxBound_ = input.readDouble();
16189 bitField6_ |= 0x10000000;
16190 break;
16191 } // case 993
16192 case 1001: {
16193 mipVarScaling_ = input.readDouble();
16194 bitField6_ |= 0x20000000;
16195 break;
16196 } // case 1001
16197 case 1009: {
16198 mipWantedPrecision_ = input.readDouble();
16199 bitField7_ |= 0x00000002;
16200 break;
16201 } // case 1009
16202 case 1016: {
16203 mipMaxActivityExponent_ = input.readInt32();
16204 bitField7_ |= 0x00000004;
16205 break;
16206 } // case 1016
16207 case 1025: {
16208 mipCheckPrecision_ = input.readDouble();
16209 bitField7_ |= 0x00000008;
16210 break;
16211 } // case 1025
16212 case 1032: {
16213 useRinsLns_ = input.readBool();
16214 bitField5_ |= 0x00000200;
16215 break;
16216 } // case 1032
16217 case 1040: {
16218 exploitBestSolution_ = input.readBool();
16219 bitField6_ |= 0x01000000;
16220 break;
16221 } // case 1040
16222 case 1048: {
16223 exploitObjective_ = input.readBool();
16224 bitField6_ |= 0x04000000;
16225 break;
16226 } // case 1048
16227 case 1056: {
16228 fillTightenedDomainsInResponse_ = input.readBool();
16229 bitField5_ |= 0x00000001;
16230 break;
16231 } // case 1056
16232 case 1064: {
16233 useCombinedNoOverlap_ = input.readBool();
16234 bitField5_ |= 0x00080000;
16235 break;
16236 } // case 1064
16237 case 1072: {
16238 interleaveBatchSize_ = input.readInt32();
16239 bitField2_ |= 0x40000000;
16240 break;
16241 } // case 1072
16242 case 1080: {
16243 catchSigintSignal_ = input.readBool();
16244 bitField5_ |= 0x00200000;
16245 break;
16246 } // case 1080
16247 case 1088: {
16248 interleaveSearch_ = input.readBool();
16249 bitField2_ |= 0x20000000;
16250 break;
16251 } // case 1088
16252 case 1096: {
16253 diversifyLnsParams_ = input.readBool();
16254 bitField5_ |= 0x00002000;
16255 break;
16256 } // case 1096
16257 case 1104: {
16258 maxPresolveIterations_ = input.readInt32();
16259 bitField2_ |= 0x00000001;
16260 break;
16261 } // case 1104
16262 case 1152: {
16263 useImpliedBounds_ = input.readBool();
16264 bitField5_ |= 0x00400000;
16265 break;
16266 } // case 1152
16267 case 1161: {
16268 mergeNoOverlapWorkLimit_ = input.readDouble();
16269 bitField2_ |= 0x00000400;
16270 break;
16271 } // case 1161
16272 case 1169: {
16273 mergeAtMostOneWorkLimit_ = input.readDouble();
16274 bitField2_ |= 0x00000800;
16275 break;
16276 } // case 1169
16277 case 1176: {
16278 presolveSubstitutionLevel_ = input.readInt32();
16279 bitField2_ |= 0x00001000;
16280 break;
16281 } // case 1176
16282 case 1184: {
16283 maxAllDiffCutSize_ = input.readInt32();
16284 bitField6_ |= 0x00000400;
16285 break;
16286 } // case 1184
16287 case 1192: {
16288 stopAfterPresolve_ = input.readBool();
16289 bitField5_ |= 0x00000020;
16290 break;
16291 } // case 1192
16292 case 1208: {
16293 debugMaxNumPresolveOperations_ = input.readInt32();
16294 bitField3_ |= 0x00000008;
16295 break;
16296 } // case 1208
16297 case 1216: {
16298 addLinMaxCuts_ = input.readBool();
16299 bitField6_ |= 0x00000800;
16300 break;
16301 } // case 1216
16302 case 1224: {
16303 hintConflictLimit_ = input.readInt32();
16304 bitField3_ |= 0x40000000;
16305 break;
16306 } // case 1224
16307 case 1232: {
16308 maxCutRoundsAtLevelZero_ = input.readInt32();
16309 bitField6_ |= 0x00010000;
16310 break;
16311 } // case 1232
16312 case 1241: {
16313 cutMaxActiveCountValue_ = input.readDouble();
16314 bitField6_ |= 0x00040000;
16315 break;
16316 } // case 1241
16317 case 1249: {
16318 cutActiveCountDecay_ = input.readDouble();
16319 bitField6_ |= 0x00080000;
16320 break;
16321 } // case 1249
16322 case 1256: {
16323 cutCleanupTarget_ = input.readInt32();
16324 bitField6_ |= 0x00100000;
16325 break;
16326 } // case 1256
16327 case 1273: {
16328 absoluteGapLimit_ = input.readDouble();
16329 bitField1_ |= 0x00000800;
16330 break;
16331 } // case 1273
16332 case 1281: {
16333 relativeGapLimit_ = input.readDouble();
16334 bitField1_ |= 0x00001000;
16335 break;
16336 } // case 1281
16337 case 1288: {
16338 exploitRelaxationSolution_ = input.readBool();
16339 bitField6_ |= 0x02000000;
16340 break;
16341 } // case 1288
16342 case 1296: {
16343 debugPostsolveWithFullSolver_ = input.readBool();
16344 bitField3_ |= 0x00000004;
16345 break;
16346 } // case 1296
16347 case 1304: {
16348 useSatInprocessing_ = input.readBool();
16349 bitField2_ |= 0x00040000;
16350 break;
16351 } // case 1304
16352 case 1312: {
16353 useFeasibilityPump_ = input.readBool();
16354 bitField5_ |= 0x00000400;
16355 break;
16356 } // case 1312
16357 case 1320: {
16358 int tmpRaw = input.readEnum();
16360 com.google.ortools.sat.SatParameters.FPRoundingMethod.forNumber(tmpRaw);
16361 if (tmpValue == null) {
16362 mergeUnknownVarintField(165, tmpRaw);
16363 } else {
16364 fpRounding_ = tmpRaw;
16365 bitField5_ |= 0x00001000;
16366 }
16367 break;
16368 } // case 1320
16369 case 1328: {
16370 mipAutomaticallyScaleVariables_ = input.readBool();
16371 bitField6_ |= 0x80000000;
16372 break;
16373 } // case 1328
16374 case 1336: {
16375 repairHint_ = input.readBool();
16376 bitField3_ |= 0x80000000;
16377 break;
16378 } // case 1336
16379 case 1344: {
16380 polarityRephaseIncrement_ = input.readInt32();
16381 bitField0_ |= 0x00000010;
16382 break;
16383 } // case 1344
16384 case 1352: {
16385 addZeroHalfCuts_ = input.readBool();
16386 bitField6_ |= 0x00000080;
16387 break;
16388 } // case 1352
16389 case 1360: {
16390 expandAlldiffConstraints_ = input.readBool();
16391 bitField2_ |= 0x00000040;
16392 break;
16393 } // case 1360
16394 case 1370: {
16395 name_ = input.readBytes();
16396 bitField0_ |= 0x00000001;
16397 break;
16398 } // case 1370
16399 case 1376: {
16400 addCliqueCuts_ = input.readBool();
16401 bitField6_ |= 0x00000100;
16402 break;
16403 } // case 1376
16404 case 1384: {
16405 keepAllFeasibleSolutionsInPresolve_ = input.readBool();
16406 bitField4_ |= 0x80000000;
16407 break;
16408 } // case 1384
16409 case 1392: {
16410 presolveExtractIntegerEnforcement_ = input.readBool();
16411 bitField2_ |= 0x00002000;
16412 break;
16413 } // case 1392
16414 case 1400: {
16415 polishLpSolution_ = input.readBool();
16416 bitField5_ |= 0x00800000;
16417 break;
16418 } // case 1400
16419 case 1408: {
16420 useProbingSearch_ = input.readBool();
16421 bitField4_ |= 0x00000002;
16422 break;
16423 } // case 1408
16424 case 1416: {
16425 convertIntervals_ = input.readBool();
16426 bitField5_ |= 0x04000000;
16427 break;
16428 } // case 1416
16429 case 1424: {
16430 permuteVariableRandomly_ = input.readBool();
16431 bitField1_ |= 0x00004000;
16432 break;
16433 } // case 1424
16434 case 1432: {
16435 permutePresolveConstraintOrder_ = input.readBool();
16436 bitField1_ |= 0x00008000;
16437 break;
16438 } // case 1432
16439 case 1440: {
16440 useAbslRandom_ = input.readBool();
16441 bitField1_ |= 0x00010000;
16442 break;
16443 } // case 1440
16444 case 1448: {
16445 disableConstraintExpansion_ = input.readBool();
16446 bitField2_ |= 0x00000100;
16447 break;
16448 } // case 1448
16449 case 1456: {
16450 expandReservoirConstraints_ = input.readBool();
16451 bitField2_ |= 0x00000080;
16452 break;
16453 } // case 1456
16454 case 1464: {
16455 symmetryLevel_ = input.readInt32();
16456 bitField5_ |= 0x08000000;
16457 break;
16458 } // case 1464
16459 case 1482: {
16460 logPrefix_ = input.readBytes();
16461 bitField1_ |= 0x00080000;
16462 break;
16463 } // case 1482
16464 case 1488: {
16465 logToStdout_ = input.readBool();
16466 bitField1_ |= 0x00100000;
16467 break;
16468 } // case 1488
16469 case 1496: {
16470 logToResponse_ = input.readBool();
16471 bitField1_ |= 0x00200000;
16472 break;
16473 } // case 1496
16474 case 1504: {
16475 optimizeWithLbTreeSearch_ = input.readBool();
16476 bitField4_ |= 0x00000400;
16477 break;
16478 } // case 1504
16479 case 1512: {
16480 logSubsolverStatistics_ = input.readBool();
16481 bitField1_ |= 0x00040000;
16482 break;
16483 } // case 1512
16484 case 1521: {
16485 clauseCleanupRatio_ = input.readDouble();
16486 bitField0_ |= 0x00008000;
16487 break;
16488 } // case 1521
16489 case 1528: {
16490 maxDomainSizeWhenEncodingEqNeqConstraints_ = input.readInt32();
16491 bitField6_ |= 0x00000001;
16492 break;
16493 } // case 1528
16494 case 1536: {
16495 fixVariablesToTheirHintedValue_ = input.readBool();
16496 bitField4_ |= 0x00000001;
16497 break;
16498 } // case 1536
16499 case 1544: {
16500 solutionPoolSize_ = input.readInt32();
16501 bitField5_ |= 0x00000100;
16502 break;
16503 } // case 1544
16504 case 1552: {
16505 fillAdditionalSolutionsInResponse_ = input.readBool();
16506 bitField5_ |= 0x00000002;
16507 break;
16508 } // case 1552
16509 case 1560: {
16510 debugCrashOnBadHint_ = input.readBool();
16511 bitField3_ |= 0x00000010;
16512 break;
16513 } // case 1560
16514 case 1568: {
16515 cutLevel_ = input.readInt32();
16516 bitField6_ |= 0x00000004;
16517 break;
16518 } // case 1568
16519 case 1576: {
16520 addObjectiveCut_ = input.readBool();
16521 bitField6_ |= 0x00000010;
16522 break;
16523 } // case 1576
16524 case 1584: {
16525 mipComputeTrueObjectiveBound_ = input.readBool();
16526 bitField7_ |= 0x00000010;
16527 break;
16528 } // case 1584
16529 case 1593: {
16530 mipMaxValidMagnitude_ = input.readDouble();
16531 bitField7_ |= 0x00000020;
16532 break;
16533 } // case 1593
16534 case 1600: {
16535 useTimetablingInNoOverlap2D_ = input.readBool();
16536 bitField3_ |= 0x01000000;
16537 break;
16538 } // case 1600
16539 case 1608: {
16540 presolveInclusionWorkLimit_ = input.readInt64();
16541 bitField2_ |= 0x00004000;
16542 break;
16543 } // case 1608
16544 case 1616: {
16545 ignoreNames_ = input.readBool();
16546 bitField2_ |= 0x00008000;
16547 break;
16548 } // case 1616
16549 case 1624: {
16550 shareBinaryClauses_ = input.readBool();
16551 bitField3_ |= 0x00000002;
16552 break;
16553 } // case 1624
16554 case 1632: {
16555 useShavingInProbingSearch_ = input.readBool();
16556 bitField4_ |= 0x00000010;
16557 break;
16558 } // case 1632
16559 case 1641: {
16560 shavingSearchDeterministicTime_ = input.readDouble();
16561 bitField4_ |= 0x00000020;
16562 break;
16563 } // case 1641
16564 case 1648: {
16565 numWorkers_ = input.readInt32();
16566 bitField2_ |= 0x00400000;
16567 break;
16568 } // case 1648
16569 case 1658: {
16570 com.google.protobuf.ByteString bs = input.readBytes();
16571 ensureSubsolversIsMutable();
16572 subsolvers_.add(bs);
16573 break;
16574 } // case 1658
16575 case 1674: {
16576 com.google.protobuf.ByteString bs = input.readBytes();
16577 ensureIgnoreSubsolversIsMutable();
16578 ignoreSubsolvers_.add(bs);
16579 break;
16580 } // case 1674
16581 case 1682: {
16583 input.readMessage(
16584 com.google.ortools.sat.SatParameters.PARSER,
16585 extensionRegistry);
16586 if (subsolverParamsBuilder_ == null) {
16587 ensureSubsolverParamsIsMutable();
16588 subsolverParams_.add(m);
16589 } else {
16590 subsolverParamsBuilder_.addMessage(m);
16591 }
16592 break;
16593 } // case 1682
16594 case 1688: {
16595 minNumLnsWorkers_ = input.readInt32();
16596 bitField2_ |= 0x01000000;
16597 break;
16598 } // case 1688
16599 case 1704: {
16600 useEnergeticReasoningInNoOverlap2D_ = input.readBool();
16601 bitField3_ |= 0x02000000;
16602 break;
16603 } // case 1704
16604 case 1712: {
16605 useDualSchedulingHeuristics_ = input.readBool();
16606 bitField3_ |= 0x10000000;
16607 break;
16608 } // case 1712
16609 case 1720: {
16610 useHardPrecedencesInCumulative_ = input.readBool();
16611 bitField3_ |= 0x00200000;
16612 break;
16613 } // case 1720
16614 case 1728: {
16615 detectTableWithCost_ = input.readBool();
16616 bitField2_ |= 0x00000010;
16617 break;
16618 } // case 1728
16619 case 1736: {
16620 tableCompressionLevel_ = input.readInt32();
16621 bitField2_ |= 0x00000020;
16622 break;
16623 } // case 1736
16624 case 1754: {
16625 com.google.protobuf.ByteString bs = input.readBytes();
16626 ensureExtraSubsolversIsMutable();
16627 extraSubsolvers_.add(bs);
16628 break;
16629 } // case 1754
16630 case 1760: {
16631 exploitAllPrecedences_ = input.readBool();
16632 bitField3_ |= 0x00400000;
16633 break;
16634 } // case 1760
16635 case 1769: {
16636 propagationLoopDetectionFactor_ = input.readDouble();
16637 bitField3_ |= 0x00001000;
16638 break;
16639 } // case 1769
16640 case 1776: {
16641 onlySolveIp_ = input.readBool();
16642 bitField7_ |= 0x00000001;
16643 break;
16644 } // case 1776
16645 case 1784: {
16646 encodeComplexLinearConstraintWithInteger_ = input.readBool();
16647 bitField2_ |= 0x00000200;
16648 break;
16649 } // case 1784
16650 case 1792: {
16651 newLinearPropagation_ = input.readBool();
16652 bitField5_ |= 0x10000000;
16653 break;
16654 } // case 1792
16655 case 1800: {
16656 mipScaleLargeDomain_ = input.readBool();
16657 bitField6_ |= 0x40000000;
16658 break;
16659 } // case 1800
16660 case 1809: {
16661 probingDeterministicTimeLimit_ = input.readDouble();
16662 bitField1_ |= 0x08000000;
16663 break;
16664 } // case 1809
16665 case 1816: {
16666 rootLpIterations_ = input.readInt32();
16667 bitField6_ |= 0x00004000;
16668 break;
16669 } // case 1816
16670 case 1824: {
16671 useObjectiveLbSearch_ = input.readBool();
16672 bitField4_ |= 0x00000040;
16673 break;
16674 } // case 1824
16675 case 1832: {
16676 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = input.readInt32();
16677 bitField3_ |= 0x00004000;
16678 break;
16679 } // case 1832
16680 case 1840: {
16681 useStrongPropagationInDisjunctive_ = input.readBool();
16682 bitField3_ |= 0x00008000;
16683 break;
16684 } // case 1840
16685 case 1857: {
16686 mipDropTolerance_ = input.readDouble();
16687 bitField7_ |= 0x00000080;
16688 break;
16689 } // case 1857
16690 case 1864: {
16691 inferAllDiffs_ = input.readBool();
16692 bitField2_ |= 0x00010000;
16693 break;
16694 } // case 1864
16695 case 1872: {
16696 findBigLinearOverlap_ = input.readBool();
16697 bitField2_ |= 0x00020000;
16698 break;
16699 } // case 1872
16700 case 1880: {
16701 sharedTreeNumWorkers_ = input.readInt32();
16702 bitField4_ |= 0x02000000;
16703 break;
16704 } // case 1880
16705 case 1888: {
16706 useSharedTreeSearch_ = input.readBool();
16707 bitField4_ |= 0x04000000;
16708 break;
16709 } // case 1888
16710 case 1897: {
16711 sharedTreeWorkerObjectiveSplitProbability_ = input.readDouble();
16712 bitField4_ |= 0x08000000;
16713 break;
16714 } // case 1897
16715 case 1904: {
16716 sharedTreeMaxNodesPerWorker_ = input.readInt32();
16717 bitField4_ |= 0x10000000;
16718 break;
16719 } // case 1904
16720 case 1912: {
16721 int tmpRaw = input.readEnum();
16723 com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy.forNumber(tmpRaw);
16724 if (tmpValue == null) {
16725 mergeUnknownVarintField(239, tmpRaw);
16726 } else {
16727 sharedTreeSplitStrategy_ = tmpRaw;
16728 bitField4_ |= 0x20000000;
16729 }
16730 break;
16731 } // case 1912
16732 case 1920: {
16733 testFeasibilityJump_ = input.readBool();
16734 bitField4_ |= 0x00004000;
16735 break;
16736 } // case 1920
16737 case 1937: {
16738 feasibilityJumpDecay_ = input.readDouble();
16739 bitField4_ |= 0x00008000;
16740 break;
16741 } // case 1937
16742 case 1952: {
16743 numViolationLs_ = input.readInt32();
16744 bitField4_ |= 0x00400000;
16745 break;
16746 } // case 1952
16747 case 1977: {
16748 feasibilityJumpVarRandomizationProbability_ = input.readDouble();
16749 bitField4_ |= 0x00040000;
16750 break;
16751 } // case 1977
16752 case 1985: {
16753 feasibilityJumpVarPerburbationRangeRatio_ = input.readDouble();
16754 bitField4_ |= 0x00080000;
16755 break;
16756 } // case 1985
16757 case 1992: {
16758 violationLsPerturbationPeriod_ = input.readInt32();
16759 bitField4_ |= 0x00800000;
16760 break;
16761 } // case 1992
16762 case 2000: {
16763 feasibilityJumpEnableRestarts_ = input.readBool();
16764 bitField4_ |= 0x00100000;
16765 break;
16766 } // case 2000
16767 case 2016: {
16768 stopAfterRootPropagation_ = input.readBool();
16769 bitField5_ |= 0x00000040;
16770 break;
16771 } // case 2016
16772 case 2024: {
16773 useObjectiveShavingSearch_ = input.readBool();
16774 bitField4_ |= 0x00000080;
16775 break;
16776 } // case 2024
16777 case 2040: {
16778 useLbRelaxLns_ = input.readBool();
16779 bitField5_ |= 0x00000800;
16780 break;
16781 } // case 2040
16782 case 2048: {
16783 linearSplitSize_ = input.readInt32();
16784 bitField5_ |= 0x20000000;
16785 break;
16786 } // case 2048
16787 case 2056: {
16788 feasibilityJumpLinearizationLevel_ = input.readInt32();
16789 bitField4_ |= 0x00010000;
16790 break;
16791 } // case 2056
16792 case 2064: {
16793 feasibilityJumpRestartFactor_ = input.readInt32();
16794 bitField4_ |= 0x00020000;
16795 break;
16796 } // case 2064
16797 case 2073: {
16798 violationLsCompoundMoveProbability_ = input.readDouble();
16799 bitField4_ |= 0x01000000;
16800 break;
16801 } // case 2073
16802 case 2080: {
16803 maxNumIntervalsForTimetableEdgeFinding_ = input.readInt32();
16804 bitField3_ |= 0x00100000;
16805 break;
16806 } // case 2080
16807 case 2088: {
16808 mipPresolveLevel_ = input.readInt32();
16809 bitField7_ |= 0x00000100;
16810 break;
16811 } // case 2088
16812 case 2096: {
16813 pushAllTasksTowardStart_ = input.readBool();
16814 bitField5_ |= 0x00010000;
16815 break;
16816 } // case 2096
16817 case 2104: {
16818 useDynamicPrecedenceInDisjunctive_ = input.readBool();
16819 bitField3_ |= 0x00010000;
16820 break;
16821 } // case 2104
16822 case 2112: {
16823 feasibilityJumpMaxExpandedConstraintSize_ = input.readInt32();
16824 bitField4_ |= 0x00200000;
16825 break;
16826 } // case 2112
16827 case 2120: {
16828 useFeasibilityJump_ = input.readBool();
16829 bitField4_ |= 0x00002000;
16830 break;
16831 } // case 2120
16832 case 2129: {
16833 lpPrimalTolerance_ = input.readDouble();
16834 bitField5_ |= 0x01000000;
16835 break;
16836 } // case 2129
16837 case 2137: {
16838 lpDualTolerance_ = input.readDouble();
16839 bitField5_ |= 0x02000000;
16840 break;
16841 } // case 2137
16842 case 2144: {
16843 useDynamicPrecedenceInCumulative_ = input.readBool();
16844 bitField3_ |= 0x00020000;
16845 break;
16846 } // case 2144
16847 case 2152: {
16848 useExtendedProbing_ = input.readBool();
16849 bitField4_ |= 0x00000004;
16850 break;
16851 } // case 2152
16852 case 2160: {
16853 atMostOneMaxExpansionSize_ = input.readInt32();
16854 bitField5_ |= 0x00100000;
16855 break;
16856 } // case 2160
16857 case 2168: {
16858 useAreaEnergeticReasoningInNoOverlap2D_ = input.readBool();
16859 bitField3_ |= 0x04000000;
16860 break;
16861 } // case 2168
16862 case 2176: {
16863 probingNumCombinationsLimit_ = input.readInt32();
16864 bitField4_ |= 0x00000008;
16865 break;
16866 } // case 2176
16867 case 2185: {
16868 inprocessingDtimeRatio_ = input.readDouble();
16869 bitField2_ |= 0x00080000;
16870 break;
16871 } // case 2185
16872 case 2193: {
16873 inprocessingProbingDtime_ = input.readDouble();
16874 bitField2_ |= 0x00100000;
16875 break;
16876 } // case 2193
16877 case 2201: {
16878 inprocessingMinimizationDtime_ = input.readDouble();
16879 bitField2_ |= 0x00200000;
16880 break;
16881 } // case 2201
16882 case 2208: {
16883 maxPairsPairwiseReasoningInNoOverlap2D_ = input.readInt32();
16884 bitField3_ |= 0x08000000;
16885 break;
16886 } // case 2208
16887 case 2216: {
16888 detectLinearizedProduct_ = input.readBool();
16889 bitField6_ |= 0x08000000;
16890 break;
16891 } // case 2216
16892 case 2224: {
16893 mipTreatHighMagnitudeBoundsAsInfinity_ = input.readBool();
16894 bitField7_ |= 0x00000040;
16895 break;
16896 } // case 2224
16897 case 2232: {
16898 addRltCuts_ = input.readBool();
16899 bitField6_ |= 0x00000200;
16900 break;
16901 } // case 2232
16902 default: {
16903 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
16904 done = true; // was an endgroup tag
16905 }
16906 break;
16907 } // default:
16908 } // switch (tag)
16909 } // while (!done)
16910 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
16911 throw e.unwrapIOException();
16912 } finally {
16913 onChanged();
16914 } // finally
16915 return this;
16916 }
16917 private int bitField0_;
16918 private int bitField1_;
16919 private int bitField2_;
16920 private int bitField3_;
16921 private int bitField4_;
16922 private int bitField5_;
16923 private int bitField6_;
16924 private int bitField7_;
16925
16926 private java.lang.Object name_ = "";
16936 public boolean hasName() {
16937 return ((bitField0_ & 0x00000001) != 0);
16938 }
16948 public java.lang.String getName() {
16949 java.lang.Object ref = name_;
16950 if (!(ref instanceof java.lang.String)) {
16951 com.google.protobuf.ByteString bs =
16952 (com.google.protobuf.ByteString) ref;
16953 java.lang.String s = bs.toStringUtf8();
16954 if (bs.isValidUtf8()) {
16955 name_ = s;
16956 }
16957 return s;
16958 } else {
16959 return (java.lang.String) ref;
16960 }
16961 }
16971 public com.google.protobuf.ByteString
16973 java.lang.Object ref = name_;
16974 if (ref instanceof String) {
16975 com.google.protobuf.ByteString b =
16976 com.google.protobuf.ByteString.copyFromUtf8(
16977 (java.lang.String) ref);
16978 name_ = b;
16979 return b;
16980 } else {
16981 return (com.google.protobuf.ByteString) ref;
16982 }
16983 }
16995 java.lang.String value) {
16996 if (value == null) { throw new NullPointerException(); }
16997 name_ = value;
16998 bitField0_ |= 0x00000001;
16999 onChanged();
17000 return this;
17001 }
17012 name_ = getDefaultInstance().getName();
17013 bitField0_ = (bitField0_ & ~0x00000001);
17014 onChanged();
17015 return this;
17016 }
17028 com.google.protobuf.ByteString value) {
17029 if (value == null) { throw new NullPointerException(); }
17030 name_ = value;
17031 bitField0_ |= 0x00000001;
17032 onChanged();
17033 return this;
17034 }
17035
17036 private int preferredVariableOrder_ = 0;
17041 @java.lang.Override public boolean hasPreferredVariableOrder() {
17042 return ((bitField0_ & 0x00000002) != 0);
17043 }
17048 @java.lang.Override
17050 com.google.ortools.sat.SatParameters.VariableOrder result = com.google.ortools.sat.SatParameters.VariableOrder.forNumber(preferredVariableOrder_);
17051 return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
17052 }
17058 public Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value) {
17059 if (value == null) {
17060 throw new NullPointerException();
17061 }
17062 bitField0_ |= 0x00000002;
17063 preferredVariableOrder_ = value.getNumber();
17064 onChanged();
17065 return this;
17066 }
17072 bitField0_ = (bitField0_ & ~0x00000002);
17073 preferredVariableOrder_ = 0;
17074 onChanged();
17075 return this;
17076 }
17077
17078 private int initialPolarity_ = 1;
17083 @java.lang.Override public boolean hasInitialPolarity() {
17084 return ((bitField0_ & 0x00000004) != 0);
17085 }
17090 @java.lang.Override
17092 com.google.ortools.sat.SatParameters.Polarity result = com.google.ortools.sat.SatParameters.Polarity.forNumber(initialPolarity_);
17093 return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
17094 }
17100 public Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value) {
17101 if (value == null) {
17102 throw new NullPointerException();
17103 }
17104 bitField0_ |= 0x00000004;
17105 initialPolarity_ = value.getNumber();
17106 onChanged();
17107 return this;
17108 }
17114 bitField0_ = (bitField0_ & ~0x00000004);
17115 initialPolarity_ = 1;
17116 onChanged();
17117 return this;
17118 }
17119
17120 private boolean usePhaseSaving_ = true;
17139 @java.lang.Override
17140 public boolean hasUsePhaseSaving() {
17141 return ((bitField0_ & 0x00000008) != 0);
17142 }
17161 @java.lang.Override
17162 public boolean getUsePhaseSaving() {
17163 return usePhaseSaving_;
17164 }
17184 public Builder setUsePhaseSaving(boolean value) {
17185
17186 usePhaseSaving_ = value;
17187 bitField0_ |= 0x00000008;
17188 onChanged();
17189 return this;
17190 }
17210 bitField0_ = (bitField0_ & ~0x00000008);
17211 usePhaseSaving_ = true;
17212 onChanged();
17213 return this;
17214 }
17215
17216 private int polarityRephaseIncrement_ = 1000;
17227 @java.lang.Override
17229 return ((bitField0_ & 0x00000010) != 0);
17230 }
17241 @java.lang.Override
17243 return polarityRephaseIncrement_;
17244 }
17257
17258 polarityRephaseIncrement_ = value;
17259 bitField0_ |= 0x00000010;
17260 onChanged();
17261 return this;
17262 }
17274 bitField0_ = (bitField0_ & ~0x00000010);
17275 polarityRephaseIncrement_ = 1000;
17276 onChanged();
17277 return this;
17278 }
17279
17280 private double randomPolarityRatio_ ;
17293 @java.lang.Override
17294 public boolean hasRandomPolarityRatio() {
17295 return ((bitField0_ & 0x00000020) != 0);
17296 }
17309 @java.lang.Override
17310 public double getRandomPolarityRatio() {
17311 return randomPolarityRatio_;
17312 }
17326 public Builder setRandomPolarityRatio(double value) {
17327
17328 randomPolarityRatio_ = value;
17329 bitField0_ |= 0x00000020;
17330 onChanged();
17331 return this;
17332 }
17346 bitField0_ = (bitField0_ & ~0x00000020);
17347 randomPolarityRatio_ = 0D;
17348 onChanged();
17349 return this;
17350 }
17351
17352 private double randomBranchesRatio_ ;
17363 @java.lang.Override
17364 public boolean hasRandomBranchesRatio() {
17365 return ((bitField0_ & 0x00000040) != 0);
17366 }
17377 @java.lang.Override
17378 public double getRandomBranchesRatio() {
17379 return randomBranchesRatio_;
17380 }
17392 public Builder setRandomBranchesRatio(double value) {
17393
17394 randomBranchesRatio_ = value;
17395 bitField0_ |= 0x00000040;
17396 onChanged();
17397 return this;
17398 }
17410 bitField0_ = (bitField0_ & ~0x00000040);
17411 randomBranchesRatio_ = 0D;
17412 onChanged();
17413 return this;
17414 }
17415
17416 private boolean useErwaHeuristic_ ;
17427 @java.lang.Override
17428 public boolean hasUseErwaHeuristic() {
17429 return ((bitField0_ & 0x00000080) != 0);
17430 }
17441 @java.lang.Override
17442 public boolean getUseErwaHeuristic() {
17443 return useErwaHeuristic_;
17444 }
17456 public Builder setUseErwaHeuristic(boolean value) {
17457
17458 useErwaHeuristic_ = value;
17459 bitField0_ |= 0x00000080;
17460 onChanged();
17461 return this;
17462 }
17474 bitField0_ = (bitField0_ & ~0x00000080);
17475 useErwaHeuristic_ = false;
17476 onChanged();
17477 return this;
17478 }
17479
17480 private double initialVariablesActivity_ ;
17494 @java.lang.Override
17496 return ((bitField0_ & 0x00000100) != 0);
17497 }
17511 @java.lang.Override
17513 return initialVariablesActivity_;
17514 }
17530
17531 initialVariablesActivity_ = value;
17532 bitField0_ |= 0x00000100;
17533 onChanged();
17534 return this;
17535 }
17550 bitField0_ = (bitField0_ & ~0x00000100);
17551 initialVariablesActivity_ = 0D;
17552 onChanged();
17553 return this;
17554 }
17555
17556 private boolean alsoBumpVariablesInConflictReasons_ ;
17568 @java.lang.Override
17570 return ((bitField0_ & 0x00000200) != 0);
17571 }
17583 @java.lang.Override
17585 return alsoBumpVariablesInConflictReasons_;
17586 }
17600
17601 alsoBumpVariablesInConflictReasons_ = value;
17602 bitField0_ |= 0x00000200;
17603 onChanged();
17604 return this;
17605 }
17618 bitField0_ = (bitField0_ & ~0x00000200);
17619 alsoBumpVariablesInConflictReasons_ = false;
17620 onChanged();
17621 return this;
17622 }
17623
17624 private int minimizationAlgorithm_ = 2;
17629 @java.lang.Override public boolean hasMinimizationAlgorithm() {
17630 return ((bitField0_ & 0x00000400) != 0);
17631 }
17636 @java.lang.Override
17638 com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm result = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.forNumber(minimizationAlgorithm_);
17639 return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
17640 }
17646 public Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value) {
17647 if (value == null) {
17648 throw new NullPointerException();
17649 }
17650 bitField0_ |= 0x00000400;
17651 minimizationAlgorithm_ = value.getNumber();
17652 onChanged();
17653 return this;
17654 }
17660 bitField0_ = (bitField0_ & ~0x00000400);
17661 minimizationAlgorithm_ = 2;
17662 onChanged();
17663 return this;
17664 }
17665
17666 private int binaryMinimizationAlgorithm_ = 1;
17671 @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
17672 return ((bitField0_ & 0x00000800) != 0);
17673 }
17678 @java.lang.Override
17680 com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm result = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.forNumber(binaryMinimizationAlgorithm_);
17681 return result == null ? com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.BINARY_MINIMIZATION_FIRST : result;
17682 }
17688 public Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value) {
17689 if (value == null) {
17690 throw new NullPointerException();
17691 }
17692 bitField0_ |= 0x00000800;
17693 binaryMinimizationAlgorithm_ = value.getNumber();
17694 onChanged();
17695 return this;
17696 }
17702 bitField0_ = (bitField0_ & ~0x00000800);
17703 binaryMinimizationAlgorithm_ = 1;
17704 onChanged();
17705 return this;
17706 }
17707
17708 private boolean subsumptionDuringConflictAnalysis_ = true;
17720 @java.lang.Override
17722 return ((bitField0_ & 0x00001000) != 0);
17723 }
17735 @java.lang.Override
17737 return subsumptionDuringConflictAnalysis_;
17738 }
17752
17753 subsumptionDuringConflictAnalysis_ = value;
17754 bitField0_ |= 0x00001000;
17755 onChanged();
17756 return this;
17757 }
17770 bitField0_ = (bitField0_ & ~0x00001000);
17771 subsumptionDuringConflictAnalysis_ = true;
17772 onChanged();
17773 return this;
17774 }
17775
17776 private int clauseCleanupPeriod_ = 10000;
17785 @java.lang.Override
17786 public boolean hasClauseCleanupPeriod() {
17787 return ((bitField0_ & 0x00002000) != 0);
17788 }
17797 @java.lang.Override
17799 return clauseCleanupPeriod_;
17800 }
17811
17812 clauseCleanupPeriod_ = value;
17813 bitField0_ |= 0x00002000;
17814 onChanged();
17815 return this;
17816 }
17826 bitField0_ = (bitField0_ & ~0x00002000);
17827 clauseCleanupPeriod_ = 10000;
17828 onChanged();
17829 return this;
17830 }
17831
17832 private int clauseCleanupTarget_ ;
17842 @java.lang.Override
17843 public boolean hasClauseCleanupTarget() {
17844 return ((bitField0_ & 0x00004000) != 0);
17845 }
17855 @java.lang.Override
17857 return clauseCleanupTarget_;
17858 }
17870
17871 clauseCleanupTarget_ = value;
17872 bitField0_ |= 0x00004000;
17873 onChanged();
17874 return this;
17875 }
17886 bitField0_ = (bitField0_ & ~0x00004000);
17887 clauseCleanupTarget_ = 0;
17888 onChanged();
17889 return this;
17890 }
17891
17892 private double clauseCleanupRatio_ = 0.5D;
17903 @java.lang.Override
17904 public boolean hasClauseCleanupRatio() {
17905 return ((bitField0_ & 0x00008000) != 0);
17906 }
17917 @java.lang.Override
17918 public double getClauseCleanupRatio() {
17919 return clauseCleanupRatio_;
17920 }
17932 public Builder setClauseCleanupRatio(double value) {
17933
17934 clauseCleanupRatio_ = value;
17935 bitField0_ |= 0x00008000;
17936 onChanged();
17937 return this;
17938 }
17950 bitField0_ = (bitField0_ & ~0x00008000);
17951 clauseCleanupRatio_ = 0.5D;
17952 onChanged();
17953 return this;
17954 }
17955
17956 private int clauseCleanupProtection_ = 0;
17961 @java.lang.Override public boolean hasClauseCleanupProtection() {
17962 return ((bitField0_ & 0x00010000) != 0);
17963 }
17968 @java.lang.Override
17970 com.google.ortools.sat.SatParameters.ClauseProtection result = com.google.ortools.sat.SatParameters.ClauseProtection.forNumber(clauseCleanupProtection_);
17971 return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
17972 }
17978 public Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value) {
17979 if (value == null) {
17980 throw new NullPointerException();
17981 }
17982 bitField0_ |= 0x00010000;
17983 clauseCleanupProtection_ = value.getNumber();
17984 onChanged();
17985 return this;
17986 }
17992 bitField0_ = (bitField0_ & ~0x00010000);
17993 clauseCleanupProtection_ = 0;
17994 onChanged();
17995 return this;
17996 }
17997
17998 private int clauseCleanupLbdBound_ = 5;
18008 @java.lang.Override
18009 public boolean hasClauseCleanupLbdBound() {
18010 return ((bitField0_ & 0x00020000) != 0);
18011 }
18021 @java.lang.Override
18023 return clauseCleanupLbdBound_;
18024 }
18036
18037 clauseCleanupLbdBound_ = value;
18038 bitField0_ |= 0x00020000;
18039 onChanged();
18040 return this;
18041 }
18052 bitField0_ = (bitField0_ & ~0x00020000);
18053 clauseCleanupLbdBound_ = 5;
18054 onChanged();
18055 return this;
18056 }
18057
18058 private int clauseCleanupOrdering_ = 0;
18063 @java.lang.Override public boolean hasClauseCleanupOrdering() {
18064 return ((bitField0_ & 0x00040000) != 0);
18065 }
18070 @java.lang.Override
18072 com.google.ortools.sat.SatParameters.ClauseOrdering result = com.google.ortools.sat.SatParameters.ClauseOrdering.forNumber(clauseCleanupOrdering_);
18073 return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
18074 }
18080 public Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value) {
18081 if (value == null) {
18082 throw new NullPointerException();
18083 }
18084 bitField0_ |= 0x00040000;
18085 clauseCleanupOrdering_ = value.getNumber();
18086 onChanged();
18087 return this;
18088 }
18094 bitField0_ = (bitField0_ & ~0x00040000);
18095 clauseCleanupOrdering_ = 0;
18096 onChanged();
18097 return this;
18098 }
18099
18100 private int pbCleanupIncrement_ = 200;
18109 @java.lang.Override
18110 public boolean hasPbCleanupIncrement() {
18111 return ((bitField0_ & 0x00080000) != 0);
18112 }
18121 @java.lang.Override
18123 return pbCleanupIncrement_;
18124 }
18134 public Builder setPbCleanupIncrement(int value) {
18135
18136 pbCleanupIncrement_ = value;
18137 bitField0_ |= 0x00080000;
18138 onChanged();
18139 return this;
18140 }
18150 bitField0_ = (bitField0_ & ~0x00080000);
18151 pbCleanupIncrement_ = 200;
18152 onChanged();
18153 return this;
18154 }
18155
18156 private double pbCleanupRatio_ = 0.5D;
18161 @java.lang.Override
18162 public boolean hasPbCleanupRatio() {
18163 return ((bitField0_ & 0x00100000) != 0);
18164 }
18169 @java.lang.Override
18170 public double getPbCleanupRatio() {
18171 return pbCleanupRatio_;
18172 }
18178 public Builder setPbCleanupRatio(double value) {
18179
18180 pbCleanupRatio_ = value;
18181 bitField0_ |= 0x00100000;
18182 onChanged();
18183 return this;
18184 }
18190 bitField0_ = (bitField0_ & ~0x00100000);
18191 pbCleanupRatio_ = 0.5D;
18192 onChanged();
18193 return this;
18194 }
18195
18196 private double variableActivityDecay_ = 0.8D;
18212 @java.lang.Override
18213 public boolean hasVariableActivityDecay() {
18214 return ((bitField0_ & 0x00200000) != 0);
18215 }
18231 @java.lang.Override
18233 return variableActivityDecay_;
18234 }
18251 public Builder setVariableActivityDecay(double value) {
18252
18253 variableActivityDecay_ = value;
18254 bitField0_ |= 0x00200000;
18255 onChanged();
18256 return this;
18257 }
18274 bitField0_ = (bitField0_ & ~0x00200000);
18275 variableActivityDecay_ = 0.8D;
18276 onChanged();
18277 return this;
18278 }
18279
18280 private double maxVariableActivityValue_ = 1e+100D;
18285 @java.lang.Override
18287 return ((bitField0_ & 0x00400000) != 0);
18288 }
18293 @java.lang.Override
18295 return maxVariableActivityValue_;
18296 }
18303
18304 maxVariableActivityValue_ = value;
18305 bitField0_ |= 0x00400000;
18306 onChanged();
18307 return this;
18308 }
18314 bitField0_ = (bitField0_ & ~0x00400000);
18315 maxVariableActivityValue_ = 1e+100D;
18316 onChanged();
18317 return this;
18318 }
18319
18320 private double glucoseMaxDecay_ = 0.95D;
18333 @java.lang.Override
18334 public boolean hasGlucoseMaxDecay() {
18335 return ((bitField0_ & 0x00800000) != 0);
18336 }
18349 @java.lang.Override
18350 public double getGlucoseMaxDecay() {
18351 return glucoseMaxDecay_;
18352 }
18366 public Builder setGlucoseMaxDecay(double value) {
18367
18368 glucoseMaxDecay_ = value;
18369 bitField0_ |= 0x00800000;
18370 onChanged();
18371 return this;
18372 }
18386 bitField0_ = (bitField0_ & ~0x00800000);
18387 glucoseMaxDecay_ = 0.95D;
18388 onChanged();
18389 return this;
18390 }
18391
18392 private double glucoseDecayIncrement_ = 0.01D;
18397 @java.lang.Override
18398 public boolean hasGlucoseDecayIncrement() {
18399 return ((bitField0_ & 0x01000000) != 0);
18400 }
18405 @java.lang.Override
18407 return glucoseDecayIncrement_;
18408 }
18414 public Builder setGlucoseDecayIncrement(double value) {
18415
18416 glucoseDecayIncrement_ = value;
18417 bitField0_ |= 0x01000000;
18418 onChanged();
18419 return this;
18420 }
18426 bitField0_ = (bitField0_ & ~0x01000000);
18427 glucoseDecayIncrement_ = 0.01D;
18428 onChanged();
18429 return this;
18430 }
18431
18432 private int glucoseDecayIncrementPeriod_ = 5000;
18437 @java.lang.Override
18439 return ((bitField0_ & 0x02000000) != 0);
18440 }
18445 @java.lang.Override
18447 return glucoseDecayIncrementPeriod_;
18448 }
18455
18456 glucoseDecayIncrementPeriod_ = value;
18457 bitField0_ |= 0x02000000;
18458 onChanged();
18459 return this;
18460 }
18466 bitField0_ = (bitField0_ & ~0x02000000);
18467 glucoseDecayIncrementPeriod_ = 5000;
18468 onChanged();
18469 return this;
18470 }
18471
18472 private double clauseActivityDecay_ = 0.999D;
18481 @java.lang.Override
18482 public boolean hasClauseActivityDecay() {
18483 return ((bitField0_ & 0x04000000) != 0);
18484 }
18493 @java.lang.Override
18494 public double getClauseActivityDecay() {
18495 return clauseActivityDecay_;
18496 }
18506 public Builder setClauseActivityDecay(double value) {
18507
18508 clauseActivityDecay_ = value;
18509 bitField0_ |= 0x04000000;
18510 onChanged();
18511 return this;
18512 }
18522 bitField0_ = (bitField0_ & ~0x04000000);
18523 clauseActivityDecay_ = 0.999D;
18524 onChanged();
18525 return this;
18526 }
18527
18528 private double maxClauseActivityValue_ = 1e+20D;
18533 @java.lang.Override
18534 public boolean hasMaxClauseActivityValue() {
18535 return ((bitField0_ & 0x08000000) != 0);
18536 }
18541 @java.lang.Override
18543 return maxClauseActivityValue_;
18544 }
18550 public Builder setMaxClauseActivityValue(double value) {
18551
18552 maxClauseActivityValue_ = value;
18553 bitField0_ |= 0x08000000;
18554 onChanged();
18555 return this;
18556 }
18562 bitField0_ = (bitField0_ & ~0x08000000);
18563 maxClauseActivityValue_ = 1e+20D;
18564 onChanged();
18565 return this;
18566 }
18567
18568 private java.util.List<java.lang.Integer> restartAlgorithms_ =
18569 java.util.Collections.emptyList();
18570 private void ensureRestartAlgorithmsIsMutable() {
18571 if (!((bitField0_ & 0x10000000) != 0)) {
18572 restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
18573 bitField0_ |= 0x10000000;
18574 }
18575 }
18592 public java.util.List<com.google.ortools.sat.SatParameters.RestartAlgorithm> getRestartAlgorithmsList() {
18593 return new com.google.protobuf.Internal.ListAdapter<
18594 java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
18595 }
18613 return restartAlgorithms_.size();
18614 }
18633 return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
18634 }
18654 int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
18655 if (value == null) {
18656 throw new NullPointerException();
18657 }
18658 ensureRestartAlgorithmsIsMutable();
18659 restartAlgorithms_.set(index, value.getNumber());
18660 onChanged();
18661 return this;
18662 }
18680 public Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
18681 if (value == null) {
18682 throw new NullPointerException();
18683 }
18684 ensureRestartAlgorithmsIsMutable();
18685 restartAlgorithms_.add(value.getNumber());
18686 onChanged();
18687 return this;
18688 }
18707 java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
18708 ensureRestartAlgorithmsIsMutable();
18709 for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
18710 restartAlgorithms_.add(value.getNumber());
18711 }
18712 onChanged();
18713 return this;
18714 }
18732 restartAlgorithms_ = java.util.Collections.emptyList();
18733 bitField0_ = (bitField0_ & ~0x10000000);
18734 onChanged();
18735 return this;
18736 }
18737
18738 private java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
18744 return ((bitField0_ & 0x20000000) != 0);
18745 }
18750 public java.lang.String getDefaultRestartAlgorithms() {
18751 java.lang.Object ref = defaultRestartAlgorithms_;
18752 if (!(ref instanceof java.lang.String)) {
18753 com.google.protobuf.ByteString bs =
18754 (com.google.protobuf.ByteString) ref;
18755 java.lang.String s = bs.toStringUtf8();
18756 if (bs.isValidUtf8()) {
18757 defaultRestartAlgorithms_ = s;
18758 }
18759 return s;
18760 } else {
18761 return (java.lang.String) ref;
18762 }
18763 }
18768 public com.google.protobuf.ByteString
18770 java.lang.Object ref = defaultRestartAlgorithms_;
18771 if (ref instanceof String) {
18772 com.google.protobuf.ByteString b =
18773 com.google.protobuf.ByteString.copyFromUtf8(
18774 (java.lang.String) ref);
18775 defaultRestartAlgorithms_ = b;
18776 return b;
18777 } else {
18778 return (com.google.protobuf.ByteString) ref;
18779 }
18780 }
18787 java.lang.String value) {
18788 if (value == null) { throw new NullPointerException(); }
18789 defaultRestartAlgorithms_ = value;
18790 bitField0_ |= 0x20000000;
18791 onChanged();
18792 return this;
18793 }
18799 defaultRestartAlgorithms_ = getDefaultInstance().getDefaultRestartAlgorithms();
18800 bitField0_ = (bitField0_ & ~0x20000000);
18801 onChanged();
18802 return this;
18803 }
18810 com.google.protobuf.ByteString value) {
18811 if (value == null) { throw new NullPointerException(); }
18812 defaultRestartAlgorithms_ = value;
18813 bitField0_ |= 0x20000000;
18814 onChanged();
18815 return this;
18816 }
18817
18818 private int restartPeriod_ = 50;
18828 @java.lang.Override
18829 public boolean hasRestartPeriod() {
18830 return ((bitField0_ & 0x40000000) != 0);
18831 }
18841 @java.lang.Override
18842 public int getRestartPeriod() {
18843 return restartPeriod_;
18844 }
18855 public Builder setRestartPeriod(int value) {
18856
18857 restartPeriod_ = value;
18858 bitField0_ |= 0x40000000;
18859 onChanged();
18860 return this;
18861 }
18872 bitField0_ = (bitField0_ & ~0x40000000);
18873 restartPeriod_ = 50;
18874 onChanged();
18875 return this;
18876 }
18877
18878 private int restartRunningWindowSize_ = 50;
18887 @java.lang.Override
18889 return ((bitField0_ & 0x80000000) != 0);
18890 }
18899 @java.lang.Override
18901 return restartRunningWindowSize_;
18902 }
18913
18914 restartRunningWindowSize_ = value;
18915 bitField0_ |= 0x80000000;
18916 onChanged();
18917 return this;
18918 }
18928 bitField0_ = (bitField0_ & ~0x80000000);
18929 restartRunningWindowSize_ = 50;
18930 onChanged();
18931 return this;
18932 }
18933
18934 private double restartDlAverageRatio_ = 1D;
18944 @java.lang.Override
18945 public boolean hasRestartDlAverageRatio() {
18946 return ((bitField1_ & 0x00000001) != 0);
18947 }
18957 @java.lang.Override
18959 return restartDlAverageRatio_;
18960 }
18971 public Builder setRestartDlAverageRatio(double value) {
18972
18973 restartDlAverageRatio_ = value;
18974 bitField1_ |= 0x00000001;
18975 onChanged();
18976 return this;
18977 }
18988 bitField1_ = (bitField1_ & ~0x00000001);
18989 restartDlAverageRatio_ = 1D;
18990 onChanged();
18991 return this;
18992 }
18993
18994 private double restartLbdAverageRatio_ = 1D;
18999 @java.lang.Override
19000 public boolean hasRestartLbdAverageRatio() {
19001 return ((bitField1_ & 0x00000002) != 0);
19002 }
19007 @java.lang.Override
19009 return restartLbdAverageRatio_;
19010 }
19016 public Builder setRestartLbdAverageRatio(double value) {
19017
19018 restartLbdAverageRatio_ = value;
19019 bitField1_ |= 0x00000002;
19020 onChanged();
19021 return this;
19022 }
19028 bitField1_ = (bitField1_ & ~0x00000002);
19029 restartLbdAverageRatio_ = 1D;
19030 onChanged();
19031 return this;
19032 }
19033
19034 private boolean useBlockingRestart_ ;
19045 @java.lang.Override
19046 public boolean hasUseBlockingRestart() {
19047 return ((bitField1_ & 0x00000004) != 0);
19048 }
19059 @java.lang.Override
19060 public boolean getUseBlockingRestart() {
19061 return useBlockingRestart_;
19062 }
19074 public Builder setUseBlockingRestart(boolean value) {
19075
19076 useBlockingRestart_ = value;
19077 bitField1_ |= 0x00000004;
19078 onChanged();
19079 return this;
19080 }
19092 bitField1_ = (bitField1_ & ~0x00000004);
19093 useBlockingRestart_ = false;
19094 onChanged();
19095 return this;
19096 }
19097
19098 private int blockingRestartWindowSize_ = 5000;
19103 @java.lang.Override
19105 return ((bitField1_ & 0x00000008) != 0);
19106 }
19111 @java.lang.Override
19113 return blockingRestartWindowSize_;
19114 }
19121
19122 blockingRestartWindowSize_ = value;
19123 bitField1_ |= 0x00000008;
19124 onChanged();
19125 return this;
19126 }
19132 bitField1_ = (bitField1_ & ~0x00000008);
19133 blockingRestartWindowSize_ = 5000;
19134 onChanged();
19135 return this;
19136 }
19137
19138 private double blockingRestartMultiplier_ = 1.4D;
19143 @java.lang.Override
19145 return ((bitField1_ & 0x00000010) != 0);
19146 }
19151 @java.lang.Override
19153 return blockingRestartMultiplier_;
19154 }
19161
19162 blockingRestartMultiplier_ = value;
19163 bitField1_ |= 0x00000010;
19164 onChanged();
19165 return this;
19166 }
19172 bitField1_ = (bitField1_ & ~0x00000010);
19173 blockingRestartMultiplier_ = 1.4D;
19174 onChanged();
19175 return this;
19176 }
19177
19178 private int numConflictsBeforeStrategyChanges_ ;
19189 @java.lang.Override
19191 return ((bitField1_ & 0x00000020) != 0);
19192 }
19203 @java.lang.Override
19205 return numConflictsBeforeStrategyChanges_;
19206 }
19219
19220 numConflictsBeforeStrategyChanges_ = value;
19221 bitField1_ |= 0x00000020;
19222 onChanged();
19223 return this;
19224 }
19236 bitField1_ = (bitField1_ & ~0x00000020);
19237 numConflictsBeforeStrategyChanges_ = 0;
19238 onChanged();
19239 return this;
19240 }
19241
19242 private double strategyChangeIncreaseRatio_ ;
19252 @java.lang.Override
19254 return ((bitField1_ & 0x00000040) != 0);
19255 }
19265 @java.lang.Override
19267 return strategyChangeIncreaseRatio_;
19268 }
19280
19281 strategyChangeIncreaseRatio_ = value;
19282 bitField1_ |= 0x00000040;
19283 onChanged();
19284 return this;
19285 }
19296 bitField1_ = (bitField1_ & ~0x00000040);
19297 strategyChangeIncreaseRatio_ = 0D;
19298 onChanged();
19299 return this;
19300 }
19301
19302 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
19312 @java.lang.Override
19313 public boolean hasMaxTimeInSeconds() {
19314 return ((bitField1_ & 0x00000080) != 0);
19315 }
19325 @java.lang.Override
19326 public double getMaxTimeInSeconds() {
19327 return maxTimeInSeconds_;
19328 }
19339 public Builder setMaxTimeInSeconds(double value) {
19340
19341 maxTimeInSeconds_ = value;
19342 bitField1_ |= 0x00000080;
19343 onChanged();
19344 return this;
19345 }
19356 bitField1_ = (bitField1_ & ~0x00000080);
19357 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
19358 onChanged();
19359 return this;
19360 }
19361
19362 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
19373 @java.lang.Override
19374 public boolean hasMaxDeterministicTime() {
19375 return ((bitField1_ & 0x00000100) != 0);
19376 }
19387 @java.lang.Override
19388 public double getMaxDeterministicTime() {
19389 return maxDeterministicTime_;
19390 }
19402 public Builder setMaxDeterministicTime(double value) {
19403
19404 maxDeterministicTime_ = value;
19405 bitField1_ |= 0x00000100;
19406 onChanged();
19407 return this;
19408 }
19420 bitField1_ = (bitField1_ & ~0x00000100);
19421 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
19422 onChanged();
19423 return this;
19424 }
19425
19426 private long maxNumberOfConflicts_ = 9223372036854775807L;
19441 @java.lang.Override
19442 public boolean hasMaxNumberOfConflicts() {
19443 return ((bitField1_ & 0x00000200) != 0);
19444 }
19459 @java.lang.Override
19461 return maxNumberOfConflicts_;
19462 }
19479
19480 maxNumberOfConflicts_ = value;
19481 bitField1_ |= 0x00000200;
19482 onChanged();
19483 return this;
19484 }
19500 bitField1_ = (bitField1_ & ~0x00000200);
19501 maxNumberOfConflicts_ = 9223372036854775807L;
19502 onChanged();
19503 return this;
19504 }
19505
19506 private long maxMemoryInMb_ = 10000L;
19520 @java.lang.Override
19521 public boolean hasMaxMemoryInMb() {
19522 return ((bitField1_ & 0x00000400) != 0);
19523 }
19537 @java.lang.Override
19538 public long getMaxMemoryInMb() {
19539 return maxMemoryInMb_;
19540 }
19555 public Builder setMaxMemoryInMb(long value) {
19556
19557 maxMemoryInMb_ = value;
19558 bitField1_ |= 0x00000400;
19559 onChanged();
19560 return this;
19561 }
19576 bitField1_ = (bitField1_ & ~0x00000400);
19577 maxMemoryInMb_ = 10000L;
19578 onChanged();
19579 return this;
19580 }
19581
19582 private double absoluteGapLimit_ = 0.0001D;
19608 @java.lang.Override
19609 public boolean hasAbsoluteGapLimit() {
19610 return ((bitField1_ & 0x00000800) != 0);
19611 }
19637 @java.lang.Override
19638 public double getAbsoluteGapLimit() {
19639 return absoluteGapLimit_;
19640 }
19667 public Builder setAbsoluteGapLimit(double value) {
19668
19669 absoluteGapLimit_ = value;
19670 bitField1_ |= 0x00000800;
19671 onChanged();
19672 return this;
19673 }
19700 bitField1_ = (bitField1_ & ~0x00000800);
19701 absoluteGapLimit_ = 0.0001D;
19702 onChanged();
19703 return this;
19704 }
19705
19706 private double relativeGapLimit_ ;
19711 @java.lang.Override
19712 public boolean hasRelativeGapLimit() {
19713 return ((bitField1_ & 0x00001000) != 0);
19714 }
19719 @java.lang.Override
19720 public double getRelativeGapLimit() {
19721 return relativeGapLimit_;
19722 }
19728 public Builder setRelativeGapLimit(double value) {
19729
19730 relativeGapLimit_ = value;
19731 bitField1_ |= 0x00001000;
19732 onChanged();
19733 return this;
19734 }
19740 bitField1_ = (bitField1_ & ~0x00001000);
19741 relativeGapLimit_ = 0D;
19742 onChanged();
19743 return this;
19744 }
19745
19746 private int randomSeed_ = 1;
19761 @java.lang.Override
19762 public boolean hasRandomSeed() {
19763 return ((bitField1_ & 0x00002000) != 0);
19764 }
19779 @java.lang.Override
19780 public int getRandomSeed() {
19781 return randomSeed_;
19782 }
19798 public Builder setRandomSeed(int value) {
19799
19800 randomSeed_ = value;
19801 bitField1_ |= 0x00002000;
19802 onChanged();
19803 return this;
19804 }
19820 bitField1_ = (bitField1_ & ~0x00002000);
19821 randomSeed_ = 1;
19822 onChanged();
19823 return this;
19824 }
19825
19826 private boolean permuteVariableRandomly_ ;
19838 @java.lang.Override
19840 return ((bitField1_ & 0x00004000) != 0);
19841 }
19853 @java.lang.Override
19855 return permuteVariableRandomly_;
19856 }
19869 public Builder setPermuteVariableRandomly(boolean value) {
19870
19871 permuteVariableRandomly_ = value;
19872 bitField1_ |= 0x00004000;
19873 onChanged();
19874 return this;
19875 }
19888 bitField1_ = (bitField1_ & ~0x00004000);
19889 permuteVariableRandomly_ = false;
19890 onChanged();
19891 return this;
19892 }
19893
19894 private boolean permutePresolveConstraintOrder_ ;
19899 @java.lang.Override
19901 return ((bitField1_ & 0x00008000) != 0);
19902 }
19907 @java.lang.Override
19909 return permutePresolveConstraintOrder_;
19910 }
19917
19918 permutePresolveConstraintOrder_ = value;
19919 bitField1_ |= 0x00008000;
19920 onChanged();
19921 return this;
19922 }
19928 bitField1_ = (bitField1_ & ~0x00008000);
19929 permutePresolveConstraintOrder_ = false;
19930 onChanged();
19931 return this;
19932 }
19933
19934 private boolean useAbslRandom_ ;
19939 @java.lang.Override
19940 public boolean hasUseAbslRandom() {
19941 return ((bitField1_ & 0x00010000) != 0);
19942 }
19947 @java.lang.Override
19948 public boolean getUseAbslRandom() {
19949 return useAbslRandom_;
19950 }
19956 public Builder setUseAbslRandom(boolean value) {
19957
19958 useAbslRandom_ = value;
19959 bitField1_ |= 0x00010000;
19960 onChanged();
19961 return this;
19962 }
19968 bitField1_ = (bitField1_ & ~0x00010000);
19969 useAbslRandom_ = false;
19970 onChanged();
19971 return this;
19972 }
19973
19974 private boolean logSearchProgress_ ;
19985 @java.lang.Override
19986 public boolean hasLogSearchProgress() {
19987 return ((bitField1_ & 0x00020000) != 0);
19988 }
19999 @java.lang.Override
20000 public boolean getLogSearchProgress() {
20001 return logSearchProgress_;
20002 }
20014 public Builder setLogSearchProgress(boolean value) {
20015
20016 logSearchProgress_ = value;
20017 bitField1_ |= 0x00020000;
20018 onChanged();
20019 return this;
20020 }
20032 bitField1_ = (bitField1_ & ~0x00020000);
20033 logSearchProgress_ = false;
20034 onChanged();
20035 return this;
20036 }
20037
20038 private boolean logSubsolverStatistics_ ;
20050 @java.lang.Override
20051 public boolean hasLogSubsolverStatistics() {
20052 return ((bitField1_ & 0x00040000) != 0);
20053 }
20065 @java.lang.Override
20066 public boolean getLogSubsolverStatistics() {
20067 return logSubsolverStatistics_;
20068 }
20081 public Builder setLogSubsolverStatistics(boolean value) {
20082
20083 logSubsolverStatistics_ = value;
20084 bitField1_ |= 0x00040000;
20085 onChanged();
20086 return this;
20087 }
20100 bitField1_ = (bitField1_ & ~0x00040000);
20101 logSubsolverStatistics_ = false;
20102 onChanged();
20103 return this;
20104 }
20105
20106 private java.lang.Object logPrefix_ = "";
20115 public boolean hasLogPrefix() {
20116 return ((bitField1_ & 0x00080000) != 0);
20117 }
20126 public java.lang.String getLogPrefix() {
20127 java.lang.Object ref = logPrefix_;
20128 if (!(ref instanceof java.lang.String)) {
20129 com.google.protobuf.ByteString bs =
20130 (com.google.protobuf.ByteString) ref;
20131 java.lang.String s = bs.toStringUtf8();
20132 if (bs.isValidUtf8()) {
20133 logPrefix_ = s;
20134 }
20135 return s;
20136 } else {
20137 return (java.lang.String) ref;
20138 }
20139 }
20148 public com.google.protobuf.ByteString
20150 java.lang.Object ref = logPrefix_;
20151 if (ref instanceof String) {
20152 com.google.protobuf.ByteString b =
20153 com.google.protobuf.ByteString.copyFromUtf8(
20154 (java.lang.String) ref);
20155 logPrefix_ = b;
20156 return b;
20157 } else {
20158 return (com.google.protobuf.ByteString) ref;
20159 }
20160 }
20171 java.lang.String value) {
20172 if (value == null) { throw new NullPointerException(); }
20173 logPrefix_ = value;
20174 bitField1_ |= 0x00080000;
20175 onChanged();
20176 return this;
20177 }
20187 logPrefix_ = getDefaultInstance().getLogPrefix();
20188 bitField1_ = (bitField1_ & ~0x00080000);
20189 onChanged();
20190 return this;
20191 }
20202 com.google.protobuf.ByteString value) {
20203 if (value == null) { throw new NullPointerException(); }
20204 logPrefix_ = value;
20205 bitField1_ |= 0x00080000;
20206 onChanged();
20207 return this;
20208 }
20209
20210 private boolean logToStdout_ = true;
20219 @java.lang.Override
20220 public boolean hasLogToStdout() {
20221 return ((bitField1_ & 0x00100000) != 0);
20222 }
20231 @java.lang.Override
20232 public boolean getLogToStdout() {
20233 return logToStdout_;
20234 }
20244 public Builder setLogToStdout(boolean value) {
20245
20246 logToStdout_ = value;
20247 bitField1_ |= 0x00100000;
20248 onChanged();
20249 return this;
20250 }
20260 bitField1_ = (bitField1_ & ~0x00100000);
20261 logToStdout_ = true;
20262 onChanged();
20263 return this;
20264 }
20265
20266 private boolean logToResponse_ ;
20275 @java.lang.Override
20276 public boolean hasLogToResponse() {
20277 return ((bitField1_ & 0x00200000) != 0);
20278 }
20287 @java.lang.Override
20288 public boolean getLogToResponse() {
20289 return logToResponse_;
20290 }
20300 public Builder setLogToResponse(boolean value) {
20301
20302 logToResponse_ = value;
20303 bitField1_ |= 0x00200000;
20304 onChanged();
20305 return this;
20306 }
20316 bitField1_ = (bitField1_ & ~0x00200000);
20317 logToResponse_ = false;
20318 onChanged();
20319 return this;
20320 }
20321
20322 private boolean usePbResolution_ ;
20334 @java.lang.Override
20335 public boolean hasUsePbResolution() {
20336 return ((bitField1_ & 0x00400000) != 0);
20337 }
20349 @java.lang.Override
20350 public boolean getUsePbResolution() {
20351 return usePbResolution_;
20352 }
20365 public Builder setUsePbResolution(boolean value) {
20366
20367 usePbResolution_ = value;
20368 bitField1_ |= 0x00400000;
20369 onChanged();
20370 return this;
20371 }
20384 bitField1_ = (bitField1_ & ~0x00400000);
20385 usePbResolution_ = false;
20386 onChanged();
20387 return this;
20388 }
20389
20390 private boolean minimizeReductionDuringPbResolution_ ;
20402 @java.lang.Override
20404 return ((bitField1_ & 0x00800000) != 0);
20405 }
20417 @java.lang.Override
20419 return minimizeReductionDuringPbResolution_;
20420 }
20434
20435 minimizeReductionDuringPbResolution_ = value;
20436 bitField1_ |= 0x00800000;
20437 onChanged();
20438 return this;
20439 }
20452 bitField1_ = (bitField1_ & ~0x00800000);
20453 minimizeReductionDuringPbResolution_ = false;
20454 onChanged();
20455 return this;
20456 }
20457
20458 private boolean countAssumptionLevelsInLbd_ = true;
20475 @java.lang.Override
20477 return ((bitField1_ & 0x01000000) != 0);
20478 }
20495 @java.lang.Override
20497 return countAssumptionLevelsInLbd_;
20498 }
20517
20518 countAssumptionLevelsInLbd_ = value;
20519 bitField1_ |= 0x01000000;
20520 onChanged();
20521 return this;
20522 }
20540 bitField1_ = (bitField1_ & ~0x01000000);
20541 countAssumptionLevelsInLbd_ = true;
20542 onChanged();
20543 return this;
20544 }
20545
20546 private int presolveBveThreshold_ = 500;
20557 @java.lang.Override
20558 public boolean hasPresolveBveThreshold() {
20559 return ((bitField1_ & 0x02000000) != 0);
20560 }
20571 @java.lang.Override
20573 return presolveBveThreshold_;
20574 }
20587
20588 presolveBveThreshold_ = value;
20589 bitField1_ |= 0x02000000;
20590 onChanged();
20591 return this;
20592 }
20604 bitField1_ = (bitField1_ & ~0x02000000);
20605 presolveBveThreshold_ = 500;
20606 onChanged();
20607 return this;
20608 }
20609
20610 private int presolveBveClauseWeight_ = 3;
20620 @java.lang.Override
20622 return ((bitField1_ & 0x04000000) != 0);
20623 }
20633 @java.lang.Override
20635 return presolveBveClauseWeight_;
20636 }
20648
20649 presolveBveClauseWeight_ = value;
20650 bitField1_ |= 0x04000000;
20651 onChanged();
20652 return this;
20653 }
20664 bitField1_ = (bitField1_ & ~0x04000000);
20665 presolveBveClauseWeight_ = 3;
20666 onChanged();
20667 return this;
20668 }
20669
20670 private double probingDeterministicTimeLimit_ = 1D;
20683 @java.lang.Override
20685 return ((bitField1_ & 0x08000000) != 0);
20686 }
20699 @java.lang.Override
20701 return probingDeterministicTimeLimit_;
20702 }
20717
20718 probingDeterministicTimeLimit_ = value;
20719 bitField1_ |= 0x08000000;
20720 onChanged();
20721 return this;
20722 }
20736 bitField1_ = (bitField1_ & ~0x08000000);
20737 probingDeterministicTimeLimit_ = 1D;
20738 onChanged();
20739 return this;
20740 }
20741
20742 private double presolveProbingDeterministicTimeLimit_ = 30D;
20747 @java.lang.Override
20749 return ((bitField1_ & 0x10000000) != 0);
20750 }
20755 @java.lang.Override
20757 return presolveProbingDeterministicTimeLimit_;
20758 }
20765
20766 presolveProbingDeterministicTimeLimit_ = value;
20767 bitField1_ |= 0x10000000;
20768 onChanged();
20769 return this;
20770 }
20776 bitField1_ = (bitField1_ & ~0x10000000);
20777 presolveProbingDeterministicTimeLimit_ = 30D;
20778 onChanged();
20779 return this;
20780 }
20781
20782 private boolean presolveBlockedClause_ = true;
20792 @java.lang.Override
20793 public boolean hasPresolveBlockedClause() {
20794 return ((bitField1_ & 0x20000000) != 0);
20795 }
20805 @java.lang.Override
20806 public boolean getPresolveBlockedClause() {
20807 return presolveBlockedClause_;
20808 }
20819 public Builder setPresolveBlockedClause(boolean value) {
20820
20821 presolveBlockedClause_ = value;
20822 bitField1_ |= 0x20000000;
20823 onChanged();
20824 return this;
20825 }
20836 bitField1_ = (bitField1_ & ~0x20000000);
20837 presolveBlockedClause_ = true;
20838 onChanged();
20839 return this;
20840 }
20841
20842 private boolean presolveUseBva_ = true;
20851 @java.lang.Override
20852 public boolean hasPresolveUseBva() {
20853 return ((bitField1_ & 0x40000000) != 0);
20854 }
20863 @java.lang.Override
20864 public boolean getPresolveUseBva() {
20865 return presolveUseBva_;
20866 }
20876 public Builder setPresolveUseBva(boolean value) {
20877
20878 presolveUseBva_ = value;
20879 bitField1_ |= 0x40000000;
20880 onChanged();
20881 return this;
20882 }
20892 bitField1_ = (bitField1_ & ~0x40000000);
20893 presolveUseBva_ = true;
20894 onChanged();
20895 return this;
20896 }
20897
20898 private int presolveBvaThreshold_ = 1;
20910 @java.lang.Override
20911 public boolean hasPresolveBvaThreshold() {
20912 return ((bitField1_ & 0x80000000) != 0);
20913 }
20925 @java.lang.Override
20927 return presolveBvaThreshold_;
20928 }
20942
20943 presolveBvaThreshold_ = value;
20944 bitField1_ |= 0x80000000;
20945 onChanged();
20946 return this;
20947 }
20960 bitField1_ = (bitField1_ & ~0x80000000);
20961 presolveBvaThreshold_ = 1;
20962 onChanged();
20963 return this;
20964 }
20965
20966 private int maxPresolveIterations_ = 3;
20977 @java.lang.Override
20978 public boolean hasMaxPresolveIterations() {
20979 return ((bitField2_ & 0x00000001) != 0);
20980 }
20991 @java.lang.Override
20993 return maxPresolveIterations_;
20994 }
21007
21008 maxPresolveIterations_ = value;
21009 bitField2_ |= 0x00000001;
21010 onChanged();
21011 return this;
21012 }
21024 bitField2_ = (bitField2_ & ~0x00000001);
21025 maxPresolveIterations_ = 3;
21026 onChanged();
21027 return this;
21028 }
21029
21030 private boolean cpModelPresolve_ = true;
21039 @java.lang.Override
21040 public boolean hasCpModelPresolve() {
21041 return ((bitField2_ & 0x00000002) != 0);
21042 }
21051 @java.lang.Override
21052 public boolean getCpModelPresolve() {
21053 return cpModelPresolve_;
21054 }
21064 public Builder setCpModelPresolve(boolean value) {
21065
21066 cpModelPresolve_ = value;
21067 bitField2_ |= 0x00000002;
21068 onChanged();
21069 return this;
21070 }
21080 bitField2_ = (bitField2_ & ~0x00000002);
21081 cpModelPresolve_ = true;
21082 onChanged();
21083 return this;
21084 }
21085
21086 private int cpModelProbingLevel_ = 2;
21095 @java.lang.Override
21096 public boolean hasCpModelProbingLevel() {
21097 return ((bitField2_ & 0x00000004) != 0);
21098 }
21107 @java.lang.Override
21109 return cpModelProbingLevel_;
21110 }
21121
21122 cpModelProbingLevel_ = value;
21123 bitField2_ |= 0x00000004;
21124 onChanged();
21125 return this;
21126 }
21136 bitField2_ = (bitField2_ & ~0x00000004);
21137 cpModelProbingLevel_ = 2;
21138 onChanged();
21139 return this;
21140 }
21141
21142 private boolean cpModelUseSatPresolve_ = true;
21151 @java.lang.Override
21152 public boolean hasCpModelUseSatPresolve() {
21153 return ((bitField2_ & 0x00000008) != 0);
21154 }
21163 @java.lang.Override
21164 public boolean getCpModelUseSatPresolve() {
21165 return cpModelUseSatPresolve_;
21166 }
21176 public Builder setCpModelUseSatPresolve(boolean value) {
21177
21178 cpModelUseSatPresolve_ = value;
21179 bitField2_ |= 0x00000008;
21180 onChanged();
21181 return this;
21182 }
21192 bitField2_ = (bitField2_ & ~0x00000008);
21193 cpModelUseSatPresolve_ = true;
21194 onChanged();
21195 return this;
21196 }
21197
21198 private boolean detectTableWithCost_ ;
21212 @java.lang.Override
21213 public boolean hasDetectTableWithCost() {
21214 return ((bitField2_ & 0x00000010) != 0);
21215 }
21229 @java.lang.Override
21230 public boolean getDetectTableWithCost() {
21231 return detectTableWithCost_;
21232 }
21247 public Builder setDetectTableWithCost(boolean value) {
21248
21249 detectTableWithCost_ = value;
21250 bitField2_ |= 0x00000010;
21251 onChanged();
21252 return this;
21253 }
21268 bitField2_ = (bitField2_ & ~0x00000010);
21269 detectTableWithCost_ = false;
21270 onChanged();
21271 return this;
21272 }
21273
21274 private int tableCompressionLevel_ = 2;
21286 @java.lang.Override
21287 public boolean hasTableCompressionLevel() {
21288 return ((bitField2_ & 0x00000020) != 0);
21289 }
21301 @java.lang.Override
21303 return tableCompressionLevel_;
21304 }
21318
21319 tableCompressionLevel_ = value;
21320 bitField2_ |= 0x00000020;
21321 onChanged();
21322 return this;
21323 }
21336 bitField2_ = (bitField2_ & ~0x00000020);
21337 tableCompressionLevel_ = 2;
21338 onChanged();
21339 return this;
21340 }
21341
21342 private boolean expandAlldiffConstraints_ ;
21352 @java.lang.Override
21354 return ((bitField2_ & 0x00000040) != 0);
21355 }
21365 @java.lang.Override
21367 return expandAlldiffConstraints_;
21368 }
21379 public Builder setExpandAlldiffConstraints(boolean value) {
21380
21381 expandAlldiffConstraints_ = value;
21382 bitField2_ |= 0x00000040;
21383 onChanged();
21384 return this;
21385 }
21396 bitField2_ = (bitField2_ & ~0x00000040);
21397 expandAlldiffConstraints_ = false;
21398 onChanged();
21399 return this;
21400 }
21401
21402 private boolean expandReservoirConstraints_ = true;
21412 @java.lang.Override
21414 return ((bitField2_ & 0x00000080) != 0);
21415 }
21425 @java.lang.Override
21427 return expandReservoirConstraints_;
21428 }
21440
21441 expandReservoirConstraints_ = value;
21442 bitField2_ |= 0x00000080;
21443 onChanged();
21444 return this;
21445 }
21456 bitField2_ = (bitField2_ & ~0x00000080);
21457 expandReservoirConstraints_ = true;
21458 onChanged();
21459 return this;
21460 }
21461
21462 private boolean disableConstraintExpansion_ ;
21472 @java.lang.Override
21474 return ((bitField2_ & 0x00000100) != 0);
21475 }
21485 @java.lang.Override
21487 return disableConstraintExpansion_;
21488 }
21500
21501 disableConstraintExpansion_ = value;
21502 bitField2_ |= 0x00000100;
21503 onChanged();
21504 return this;
21505 }
21516 bitField2_ = (bitField2_ & ~0x00000100);
21517 disableConstraintExpansion_ = false;
21518 onChanged();
21519 return this;
21520 }
21521
21522 private boolean encodeComplexLinearConstraintWithInteger_ ;
21532 @java.lang.Override
21534 return ((bitField2_ & 0x00000200) != 0);
21535 }
21545 @java.lang.Override
21547 return encodeComplexLinearConstraintWithInteger_;
21548 }
21560
21561 encodeComplexLinearConstraintWithInteger_ = value;
21562 bitField2_ |= 0x00000200;
21563 onChanged();
21564 return this;
21565 }
21576 bitField2_ = (bitField2_ & ~0x00000200);
21577 encodeComplexLinearConstraintWithInteger_ = false;
21578 onChanged();
21579 return this;
21580 }
21581
21582 private double mergeNoOverlapWorkLimit_ = 1000000000000D;
21595 @java.lang.Override
21597 return ((bitField2_ & 0x00000400) != 0);
21598 }
21611 @java.lang.Override
21613 return mergeNoOverlapWorkLimit_;
21614 }
21629
21630 mergeNoOverlapWorkLimit_ = value;
21631 bitField2_ |= 0x00000400;
21632 onChanged();
21633 return this;
21634 }
21648 bitField2_ = (bitField2_ & ~0x00000400);
21649 mergeNoOverlapWorkLimit_ = 1000000000000D;
21650 onChanged();
21651 return this;
21652 }
21653
21654 private double mergeAtMostOneWorkLimit_ = 100000000D;
21659 @java.lang.Override
21661 return ((bitField2_ & 0x00000800) != 0);
21662 }
21667 @java.lang.Override
21669 return mergeAtMostOneWorkLimit_;
21670 }
21677
21678 mergeAtMostOneWorkLimit_ = value;
21679 bitField2_ |= 0x00000800;
21680 onChanged();
21681 return this;
21682 }
21688 bitField2_ = (bitField2_ & ~0x00000800);
21689 mergeAtMostOneWorkLimit_ = 100000000D;
21690 onChanged();
21691 return this;
21692 }
21693
21694 private int presolveSubstitutionLevel_ = 1;
21706 @java.lang.Override
21708 return ((bitField2_ & 0x00001000) != 0);
21709 }
21721 @java.lang.Override
21723 return presolveSubstitutionLevel_;
21724 }
21738
21739 presolveSubstitutionLevel_ = value;
21740 bitField2_ |= 0x00001000;
21741 onChanged();
21742 return this;
21743 }
21756 bitField2_ = (bitField2_ & ~0x00001000);
21757 presolveSubstitutionLevel_ = 1;
21758 onChanged();
21759 return this;
21760 }
21761
21762 private boolean presolveExtractIntegerEnforcement_ ;
21776 @java.lang.Override
21778 return ((bitField2_ & 0x00002000) != 0);
21779 }
21793 @java.lang.Override
21795 return presolveExtractIntegerEnforcement_;
21796 }
21812
21813 presolveExtractIntegerEnforcement_ = value;
21814 bitField2_ |= 0x00002000;
21815 onChanged();
21816 return this;
21817 }
21832 bitField2_ = (bitField2_ & ~0x00002000);
21833 presolveExtractIntegerEnforcement_ = false;
21834 onChanged();
21835 return this;
21836 }
21837
21838 private long presolveInclusionWorkLimit_ = 100000000L;
21853 @java.lang.Override
21855 return ((bitField2_ & 0x00004000) != 0);
21856 }
21871 @java.lang.Override
21873 return presolveInclusionWorkLimit_;
21874 }
21891
21892 presolveInclusionWorkLimit_ = value;
21893 bitField2_ |= 0x00004000;
21894 onChanged();
21895 return this;
21896 }
21912 bitField2_ = (bitField2_ & ~0x00004000);
21913 presolveInclusionWorkLimit_ = 100000000L;
21914 onChanged();
21915 return this;
21916 }
21917
21918 private boolean ignoreNames_ = true;
21927 @java.lang.Override
21928 public boolean hasIgnoreNames() {
21929 return ((bitField2_ & 0x00008000) != 0);
21930 }
21939 @java.lang.Override
21940 public boolean getIgnoreNames() {
21941 return ignoreNames_;
21942 }
21952 public Builder setIgnoreNames(boolean value) {
21953
21954 ignoreNames_ = value;
21955 bitField2_ |= 0x00008000;
21956 onChanged();
21957 return this;
21958 }
21968 bitField2_ = (bitField2_ & ~0x00008000);
21969 ignoreNames_ = true;
21970 onChanged();
21971 return this;
21972 }
21973
21974 private boolean inferAllDiffs_ = true;
21987 @java.lang.Override
21988 public boolean hasInferAllDiffs() {
21989 return ((bitField2_ & 0x00010000) != 0);
21990 }
22003 @java.lang.Override
22004 public boolean getInferAllDiffs() {
22005 return inferAllDiffs_;
22006 }
22020 public Builder setInferAllDiffs(boolean value) {
22021
22022 inferAllDiffs_ = value;
22023 bitField2_ |= 0x00010000;
22024 onChanged();
22025 return this;
22026 }
22040 bitField2_ = (bitField2_ & ~0x00010000);
22041 inferAllDiffs_ = true;
22042 onChanged();
22043 return this;
22044 }
22045
22046 private boolean findBigLinearOverlap_ = true;
22058 @java.lang.Override
22059 public boolean hasFindBigLinearOverlap() {
22060 return ((bitField2_ & 0x00020000) != 0);
22061 }
22073 @java.lang.Override
22074 public boolean getFindBigLinearOverlap() {
22075 return findBigLinearOverlap_;
22076 }
22089 public Builder setFindBigLinearOverlap(boolean value) {
22090
22091 findBigLinearOverlap_ = value;
22092 bitField2_ |= 0x00020000;
22093 onChanged();
22094 return this;
22095 }
22108 bitField2_ = (bitField2_ & ~0x00020000);
22109 findBigLinearOverlap_ = true;
22110 onChanged();
22111 return this;
22112 }
22113
22114 private boolean useSatInprocessing_ = true;
22124 @java.lang.Override
22125 public boolean hasUseSatInprocessing() {
22126 return ((bitField2_ & 0x00040000) != 0);
22127 }
22137 @java.lang.Override
22138 public boolean getUseSatInprocessing() {
22139 return useSatInprocessing_;
22140 }
22151 public Builder setUseSatInprocessing(boolean value) {
22152
22153 useSatInprocessing_ = value;
22154 bitField2_ |= 0x00040000;
22155 onChanged();
22156 return this;
22157 }
22168 bitField2_ = (bitField2_ & ~0x00040000);
22169 useSatInprocessing_ = true;
22170 onChanged();
22171 return this;
22172 }
22173
22174 private double inprocessingDtimeRatio_ = 0.2D;
22185 @java.lang.Override
22186 public boolean hasInprocessingDtimeRatio() {
22187 return ((bitField2_ & 0x00080000) != 0);
22188 }
22199 @java.lang.Override
22201 return inprocessingDtimeRatio_;
22202 }
22214 public Builder setInprocessingDtimeRatio(double value) {
22215
22216 inprocessingDtimeRatio_ = value;
22217 bitField2_ |= 0x00080000;
22218 onChanged();
22219 return this;
22220 }
22232 bitField2_ = (bitField2_ & ~0x00080000);
22233 inprocessingDtimeRatio_ = 0.2D;
22234 onChanged();
22235 return this;
22236 }
22237
22238 private double inprocessingProbingDtime_ = 1D;
22247 @java.lang.Override
22249 return ((bitField2_ & 0x00100000) != 0);
22250 }
22259 @java.lang.Override
22261 return inprocessingProbingDtime_;
22262 }
22273
22274 inprocessingProbingDtime_ = value;
22275 bitField2_ |= 0x00100000;
22276 onChanged();
22277 return this;
22278 }
22288 bitField2_ = (bitField2_ & ~0x00100000);
22289 inprocessingProbingDtime_ = 1D;
22290 onChanged();
22291 return this;
22292 }
22293
22294 private double inprocessingMinimizationDtime_ = 1D;
22312 @java.lang.Override
22314 return ((bitField2_ & 0x00200000) != 0);
22315 }
22333 @java.lang.Override
22335 return inprocessingMinimizationDtime_;
22336 }
22356
22357 inprocessingMinimizationDtime_ = value;
22358 bitField2_ |= 0x00200000;
22359 onChanged();
22360 return this;
22361 }
22380 bitField2_ = (bitField2_ & ~0x00200000);
22381 inprocessingMinimizationDtime_ = 1D;
22382 onChanged();
22383 return this;
22384 }
22385
22386 private int numWorkers_ ;
22408 @java.lang.Override
22409 public boolean hasNumWorkers() {
22410 return ((bitField2_ & 0x00400000) != 0);
22411 }
22433 @java.lang.Override
22434 public int getNumWorkers() {
22435 return numWorkers_;
22436 }
22459 public Builder setNumWorkers(int value) {
22460
22461 numWorkers_ = value;
22462 bitField2_ |= 0x00400000;
22463 onChanged();
22464 return this;
22465 }
22488 bitField2_ = (bitField2_ & ~0x00400000);
22489 numWorkers_ = 0;
22490 onChanged();
22491 return this;
22492 }
22493
22494 private int numSearchWorkers_ ;
22499 @java.lang.Override
22500 public boolean hasNumSearchWorkers() {
22501 return ((bitField2_ & 0x00800000) != 0);
22502 }
22507 @java.lang.Override
22508 public int getNumSearchWorkers() {
22509 return numSearchWorkers_;
22510 }
22516 public Builder setNumSearchWorkers(int value) {
22517
22518 numSearchWorkers_ = value;
22519 bitField2_ |= 0x00800000;
22520 onChanged();
22521 return this;
22522 }
22528 bitField2_ = (bitField2_ & ~0x00800000);
22529 numSearchWorkers_ = 0;
22530 onChanged();
22531 return this;
22532 }
22533
22534 private int minNumLnsWorkers_ = 2;
22543 @java.lang.Override
22544 public boolean hasMinNumLnsWorkers() {
22545 return ((bitField2_ & 0x01000000) != 0);
22546 }
22555 @java.lang.Override
22556 public int getMinNumLnsWorkers() {
22557 return minNumLnsWorkers_;
22558 }
22568 public Builder setMinNumLnsWorkers(int value) {
22569
22570 minNumLnsWorkers_ = value;
22571 bitField2_ |= 0x01000000;
22572 onChanged();
22573 return this;
22574 }
22584 bitField2_ = (bitField2_ & ~0x01000000);
22585 minNumLnsWorkers_ = 2;
22586 onChanged();
22587 return this;
22588 }
22589
22590 private com.google.protobuf.LazyStringArrayList subsolvers_ =
22591 com.google.protobuf.LazyStringArrayList.emptyList();
22592 private void ensureSubsolversIsMutable() {
22593 if (!subsolvers_.isModifiable()) {
22594 subsolvers_ = new com.google.protobuf.LazyStringArrayList(subsolvers_);
22595 }
22596 bitField2_ |= 0x02000000;
22597 }
22632 public com.google.protobuf.ProtocolStringList
22634 subsolvers_.makeImmutable();
22635 return subsolvers_;
22636 }
22671 public int getSubsolversCount() {
22672 return subsolvers_.size();
22673 }
22709 public java.lang.String getSubsolvers(int index) {
22710 return subsolvers_.get(index);
22711 }
22747 public com.google.protobuf.ByteString
22749 return subsolvers_.getByteString(index);
22750 }
22788 int index, java.lang.String value) {
22789 if (value == null) { throw new NullPointerException(); }
22790 ensureSubsolversIsMutable();
22791 subsolvers_.set(index, value);
22792 bitField2_ |= 0x02000000;
22793 onChanged();
22794 return this;
22795 }
22832 java.lang.String value) {
22833 if (value == null) { throw new NullPointerException(); }
22834 ensureSubsolversIsMutable();
22835 subsolvers_.add(value);
22836 bitField2_ |= 0x02000000;
22837 onChanged();
22838 return this;
22839 }
22876 java.lang.Iterable<java.lang.String> values) {
22877 ensureSubsolversIsMutable();
22878 com.google.protobuf.AbstractMessageLite.Builder.addAll(
22879 values, subsolvers_);
22880 bitField2_ |= 0x02000000;
22881 onChanged();
22882 return this;
22883 }
22919 subsolvers_ =
22920 com.google.protobuf.LazyStringArrayList.emptyList();
22921 bitField2_ = (bitField2_ & ~0x02000000);;
22922 onChanged();
22923 return this;
22924 }
22961 com.google.protobuf.ByteString value) {
22962 if (value == null) { throw new NullPointerException(); }
22963 ensureSubsolversIsMutable();
22964 subsolvers_.add(value);
22965 bitField2_ |= 0x02000000;
22966 onChanged();
22967 return this;
22968 }
22969
22970 private com.google.protobuf.LazyStringArrayList extraSubsolvers_ =
22971 com.google.protobuf.LazyStringArrayList.emptyList();
22972 private void ensureExtraSubsolversIsMutable() {
22973 if (!extraSubsolvers_.isModifiable()) {
22974 extraSubsolvers_ = new com.google.protobuf.LazyStringArrayList(extraSubsolvers_);
22975 }
22976 bitField2_ |= 0x04000000;
22977 }
22987 public com.google.protobuf.ProtocolStringList
22989 extraSubsolvers_.makeImmutable();
22990 return extraSubsolvers_;
22991 }
23002 return extraSubsolvers_.size();
23003 }
23014 public java.lang.String getExtraSubsolvers(int index) {
23015 return extraSubsolvers_.get(index);
23016 }
23027 public com.google.protobuf.ByteString
23029 return extraSubsolvers_.getByteString(index);
23030 }
23043 int index, java.lang.String value) {
23044 if (value == null) { throw new NullPointerException(); }
23045 ensureExtraSubsolversIsMutable();
23046 extraSubsolvers_.set(index, value);
23047 bitField2_ |= 0x04000000;
23048 onChanged();
23049 return this;
23050 }
23062 java.lang.String value) {
23063 if (value == null) { throw new NullPointerException(); }
23064 ensureExtraSubsolversIsMutable();
23065 extraSubsolvers_.add(value);
23066 bitField2_ |= 0x04000000;
23067 onChanged();
23068 return this;
23069 }
23081 java.lang.Iterable<java.lang.String> values) {
23082 ensureExtraSubsolversIsMutable();
23083 com.google.protobuf.AbstractMessageLite.Builder.addAll(
23084 values, extraSubsolvers_);
23085 bitField2_ |= 0x04000000;
23086 onChanged();
23087 return this;
23088 }
23099 extraSubsolvers_ =
23100 com.google.protobuf.LazyStringArrayList.emptyList();
23101 bitField2_ = (bitField2_ & ~0x04000000);;
23102 onChanged();
23103 return this;
23104 }
23116 com.google.protobuf.ByteString value) {
23117 if (value == null) { throw new NullPointerException(); }
23118 ensureExtraSubsolversIsMutable();
23119 extraSubsolvers_.add(value);
23120 bitField2_ |= 0x04000000;
23121 onChanged();
23122 return this;
23123 }
23124
23125 private com.google.protobuf.LazyStringArrayList ignoreSubsolvers_ =
23126 com.google.protobuf.LazyStringArrayList.emptyList();
23127 private void ensureIgnoreSubsolversIsMutable() {
23128 if (!ignoreSubsolvers_.isModifiable()) {
23129 ignoreSubsolvers_ = new com.google.protobuf.LazyStringArrayList(ignoreSubsolvers_);
23130 }
23131 bitField2_ |= 0x08000000;
23132 }
23142 public com.google.protobuf.ProtocolStringList
23144 ignoreSubsolvers_.makeImmutable();
23145 return ignoreSubsolvers_;
23146 }
23157 return ignoreSubsolvers_.size();
23158 }
23169 public java.lang.String getIgnoreSubsolvers(int index) {
23170 return ignoreSubsolvers_.get(index);
23171 }
23182 public com.google.protobuf.ByteString
23184 return ignoreSubsolvers_.getByteString(index);
23185 }
23198 int index, java.lang.String value) {
23199 if (value == null) { throw new NullPointerException(); }
23200 ensureIgnoreSubsolversIsMutable();
23201 ignoreSubsolvers_.set(index, value);
23202 bitField2_ |= 0x08000000;
23203 onChanged();
23204 return this;
23205 }
23217 java.lang.String value) {
23218 if (value == null) { throw new NullPointerException(); }
23219 ensureIgnoreSubsolversIsMutable();
23220 ignoreSubsolvers_.add(value);
23221 bitField2_ |= 0x08000000;
23222 onChanged();
23223 return this;
23224 }
23236 java.lang.Iterable<java.lang.String> values) {
23237 ensureIgnoreSubsolversIsMutable();
23238 com.google.protobuf.AbstractMessageLite.Builder.addAll(
23239 values, ignoreSubsolvers_);
23240 bitField2_ |= 0x08000000;
23241 onChanged();
23242 return this;
23243 }
23254 ignoreSubsolvers_ =
23255 com.google.protobuf.LazyStringArrayList.emptyList();
23256 bitField2_ = (bitField2_ & ~0x08000000);;
23257 onChanged();
23258 return this;
23259 }
23271 com.google.protobuf.ByteString value) {
23272 if (value == null) { throw new NullPointerException(); }
23273 ensureIgnoreSubsolversIsMutable();
23274 ignoreSubsolvers_.add(value);
23275 bitField2_ |= 0x08000000;
23276 onChanged();
23277 return this;
23278 }
23279
23280 private java.util.List<com.google.ortools.sat.SatParameters> subsolverParams_ =
23281 java.util.Collections.emptyList();
23282 private void ensureSubsolverParamsIsMutable() {
23283 if (!((bitField2_ & 0x10000000) != 0)) {
23284 subsolverParams_ = new java.util.ArrayList<com.google.ortools.sat.SatParameters>(subsolverParams_);
23285 bitField2_ |= 0x10000000;
23286 }
23287 }
23288
23289 private com.google.protobuf.RepeatedFieldBuilderV3<
23290 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder> subsolverParamsBuilder_;
23291
23303 public java.util.List<com.google.ortools.sat.SatParameters> getSubsolverParamsList() {
23304 if (subsolverParamsBuilder_ == null) {
23305 return java.util.Collections.unmodifiableList(subsolverParams_);
23306 } else {
23307 return subsolverParamsBuilder_.getMessageList();
23308 }
23309 }
23322 if (subsolverParamsBuilder_ == null) {
23323 return subsolverParams_.size();
23324 } else {
23325 return subsolverParamsBuilder_.getCount();
23326 }
23327 }
23340 if (subsolverParamsBuilder_ == null) {
23341 return subsolverParams_.get(index);
23342 } else {
23343 return subsolverParamsBuilder_.getMessage(index);
23344 }
23345 }
23358 int index, com.google.ortools.sat.SatParameters value) {
23359 if (subsolverParamsBuilder_ == null) {
23360 if (value == null) {
23361 throw new NullPointerException();
23362 }
23363 ensureSubsolverParamsIsMutable();
23364 subsolverParams_.set(index, value);
23365 onChanged();
23366 } else {
23367 subsolverParamsBuilder_.setMessage(index, value);
23368 }
23369 return this;
23370 }
23383 int index, com.google.ortools.sat.SatParameters.Builder builderForValue) {
23384 if (subsolverParamsBuilder_ == null) {
23385 ensureSubsolverParamsIsMutable();
23386 subsolverParams_.set(index, builderForValue.build());
23387 onChanged();
23388 } else {
23389 subsolverParamsBuilder_.setMessage(index, builderForValue.build());
23390 }
23391 return this;
23392 }
23404 public Builder addSubsolverParams(com.google.ortools.sat.SatParameters value) {
23405 if (subsolverParamsBuilder_ == null) {
23406 if (value == null) {
23407 throw new NullPointerException();
23408 }
23409 ensureSubsolverParamsIsMutable();
23410 subsolverParams_.add(value);
23411 onChanged();
23412 } else {
23413 subsolverParamsBuilder_.addMessage(value);
23414 }
23415 return this;
23416 }
23429 int index, com.google.ortools.sat.SatParameters value) {
23430 if (subsolverParamsBuilder_ == null) {
23431 if (value == null) {
23432 throw new NullPointerException();
23433 }
23434 ensureSubsolverParamsIsMutable();
23435 subsolverParams_.add(index, value);
23436 onChanged();
23437 } else {
23438 subsolverParamsBuilder_.addMessage(index, value);
23439 }
23440 return this;
23441 }
23454 com.google.ortools.sat.SatParameters.Builder builderForValue) {
23455 if (subsolverParamsBuilder_ == null) {
23456 ensureSubsolverParamsIsMutable();
23457 subsolverParams_.add(builderForValue.build());
23458 onChanged();
23459 } else {
23460 subsolverParamsBuilder_.addMessage(builderForValue.build());
23461 }
23462 return this;
23463 }
23476 int index, com.google.ortools.sat.SatParameters.Builder builderForValue) {
23477 if (subsolverParamsBuilder_ == null) {
23478 ensureSubsolverParamsIsMutable();
23479 subsolverParams_.add(index, builderForValue.build());
23480 onChanged();
23481 } else {
23482 subsolverParamsBuilder_.addMessage(index, builderForValue.build());
23483 }
23484 return this;
23485 }
23498 java.lang.Iterable<? extends com.google.ortools.sat.SatParameters> values) {
23499 if (subsolverParamsBuilder_ == null) {
23500 ensureSubsolverParamsIsMutable();
23501 com.google.protobuf.AbstractMessageLite.Builder.addAll(
23502 values, subsolverParams_);
23503 onChanged();
23504 } else {
23505 subsolverParamsBuilder_.addAllMessages(values);
23506 }
23507 return this;
23508 }
23521 if (subsolverParamsBuilder_ == null) {
23522 subsolverParams_ = java.util.Collections.emptyList();
23523 bitField2_ = (bitField2_ & ~0x10000000);
23524 onChanged();
23525 } else {
23526 subsolverParamsBuilder_.clear();
23527 }
23528 return this;
23529 }
23541 public Builder removeSubsolverParams(int index) {
23542 if (subsolverParamsBuilder_ == null) {
23543 ensureSubsolverParamsIsMutable();
23544 subsolverParams_.remove(index);
23545 onChanged();
23546 } else {
23547 subsolverParamsBuilder_.remove(index);
23548 }
23549 return this;
23550 }
23563 int index) {
23564 return getSubsolverParamsFieldBuilder().getBuilder(index);
23565 }
23578 int index) {
23579 if (subsolverParamsBuilder_ == null) {
23580 return subsolverParams_.get(index); } else {
23581 return subsolverParamsBuilder_.getMessageOrBuilder(index);
23582 }
23583 }
23595 public java.util.List<? extends com.google.ortools.sat.SatParametersOrBuilder>
23597 if (subsolverParamsBuilder_ != null) {
23598 return subsolverParamsBuilder_.getMessageOrBuilderList();
23599 } else {
23600 return java.util.Collections.unmodifiableList(subsolverParams_);
23601 }
23602 }
23615 return getSubsolverParamsFieldBuilder().addBuilder(
23616 com.google.ortools.sat.SatParameters.getDefaultInstance());
23617 }
23630 int index) {
23631 return getSubsolverParamsFieldBuilder().addBuilder(
23632 index, com.google.ortools.sat.SatParameters.getDefaultInstance());
23633 }
23645 public java.util.List<com.google.ortools.sat.SatParameters.Builder>
23647 return getSubsolverParamsFieldBuilder().getBuilderList();
23648 }
23649 private com.google.protobuf.RepeatedFieldBuilderV3<
23650 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder>
23651 getSubsolverParamsFieldBuilder() {
23652 if (subsolverParamsBuilder_ == null) {
23653 subsolverParamsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
23654 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder>(
23655 subsolverParams_,
23656 ((bitField2_ & 0x10000000) != 0),
23657 getParentForChildren(),
23658 isClean());
23659 subsolverParams_ = null;
23660 }
23661 return subsolverParamsBuilder_;
23662 }
23663
23664 private boolean interleaveSearch_ ;
23678 @java.lang.Override
23679 public boolean hasInterleaveSearch() {
23680 return ((bitField2_ & 0x20000000) != 0);
23681 }
23695 @java.lang.Override
23696 public boolean getInterleaveSearch() {
23697 return interleaveSearch_;
23698 }
23713 public Builder setInterleaveSearch(boolean value) {
23714
23715 interleaveSearch_ = value;
23716 bitField2_ |= 0x20000000;
23717 onChanged();
23718 return this;
23719 }
23734 bitField2_ = (bitField2_ & ~0x20000000);
23735 interleaveSearch_ = false;
23736 onChanged();
23737 return this;
23738 }
23739
23740 private int interleaveBatchSize_ ;
23745 @java.lang.Override
23746 public boolean hasInterleaveBatchSize() {
23747 return ((bitField2_ & 0x40000000) != 0);
23748 }
23753 @java.lang.Override
23755 return interleaveBatchSize_;
23756 }
23763
23764 interleaveBatchSize_ = value;
23765 bitField2_ |= 0x40000000;
23766 onChanged();
23767 return this;
23768 }
23774 bitField2_ = (bitField2_ & ~0x40000000);
23775 interleaveBatchSize_ = 0;
23776 onChanged();
23777 return this;
23778 }
23779
23780 private boolean shareObjectiveBounds_ = true;
23789 @java.lang.Override
23790 public boolean hasShareObjectiveBounds() {
23791 return ((bitField2_ & 0x80000000) != 0);
23792 }
23801 @java.lang.Override
23802 public boolean getShareObjectiveBounds() {
23803 return shareObjectiveBounds_;
23804 }
23814 public Builder setShareObjectiveBounds(boolean value) {
23815
23816 shareObjectiveBounds_ = value;
23817 bitField2_ |= 0x80000000;
23818 onChanged();
23819 return this;
23820 }
23830 bitField2_ = (bitField2_ & ~0x80000000);
23831 shareObjectiveBounds_ = true;
23832 onChanged();
23833 return this;
23834 }
23835
23836 private boolean shareLevelZeroBounds_ = true;
23845 @java.lang.Override
23846 public boolean hasShareLevelZeroBounds() {
23847 return ((bitField3_ & 0x00000001) != 0);
23848 }
23857 @java.lang.Override
23858 public boolean getShareLevelZeroBounds() {
23859 return shareLevelZeroBounds_;
23860 }
23870 public Builder setShareLevelZeroBounds(boolean value) {
23871
23872 shareLevelZeroBounds_ = value;
23873 bitField3_ |= 0x00000001;
23874 onChanged();
23875 return this;
23876 }
23886 bitField3_ = (bitField3_ & ~0x00000001);
23887 shareLevelZeroBounds_ = true;
23888 onChanged();
23889 return this;
23890 }
23891
23892 private boolean shareBinaryClauses_ = true;
23901 @java.lang.Override
23902 public boolean hasShareBinaryClauses() {
23903 return ((bitField3_ & 0x00000002) != 0);
23904 }
23913 @java.lang.Override
23914 public boolean getShareBinaryClauses() {
23915 return shareBinaryClauses_;
23916 }
23926 public Builder setShareBinaryClauses(boolean value) {
23927
23928 shareBinaryClauses_ = value;
23929 bitField3_ |= 0x00000002;
23930 onChanged();
23931 return this;
23932 }
23942 bitField3_ = (bitField3_ & ~0x00000002);
23943 shareBinaryClauses_ = true;
23944 onChanged();
23945 return this;
23946 }
23947
23948 private boolean debugPostsolveWithFullSolver_ ;
23959 @java.lang.Override
23961 return ((bitField3_ & 0x00000004) != 0);
23962 }
23973 @java.lang.Override
23975 return debugPostsolveWithFullSolver_;
23976 }
23989
23990 debugPostsolveWithFullSolver_ = value;
23991 bitField3_ |= 0x00000004;
23992 onChanged();
23993 return this;
23994 }
24006 bitField3_ = (bitField3_ & ~0x00000004);
24007 debugPostsolveWithFullSolver_ = false;
24008 onChanged();
24009 return this;
24010 }
24011
24012 private int debugMaxNumPresolveOperations_ ;
24022 @java.lang.Override
24024 return ((bitField3_ & 0x00000008) != 0);
24025 }
24035 @java.lang.Override
24037 return debugMaxNumPresolveOperations_;
24038 }
24050
24051 debugMaxNumPresolveOperations_ = value;
24052 bitField3_ |= 0x00000008;
24053 onChanged();
24054 return this;
24055 }
24066 bitField3_ = (bitField3_ & ~0x00000008);
24067 debugMaxNumPresolveOperations_ = 0;
24068 onChanged();
24069 return this;
24070 }
24071
24072 private boolean debugCrashOnBadHint_ ;
24081 @java.lang.Override
24082 public boolean hasDebugCrashOnBadHint() {
24083 return ((bitField3_ & 0x00000010) != 0);
24084 }
24093 @java.lang.Override
24094 public boolean getDebugCrashOnBadHint() {
24095 return debugCrashOnBadHint_;
24096 }
24106 public Builder setDebugCrashOnBadHint(boolean value) {
24107
24108 debugCrashOnBadHint_ = value;
24109 bitField3_ |= 0x00000010;
24110 onChanged();
24111 return this;
24112 }
24122 bitField3_ = (bitField3_ & ~0x00000010);
24123 debugCrashOnBadHint_ = false;
24124 onChanged();
24125 return this;
24126 }
24127
24128 private boolean useOptimizationHints_ = true;
24140 @java.lang.Override
24141 public boolean hasUseOptimizationHints() {
24142 return ((bitField3_ & 0x00000020) != 0);
24143 }
24155 @java.lang.Override
24156 public boolean getUseOptimizationHints() {
24157 return useOptimizationHints_;
24158 }
24171 public Builder setUseOptimizationHints(boolean value) {
24172
24173 useOptimizationHints_ = value;
24174 bitField3_ |= 0x00000020;
24175 onChanged();
24176 return this;
24177 }
24190 bitField3_ = (bitField3_ & ~0x00000020);
24191 useOptimizationHints_ = true;
24192 onChanged();
24193 return this;
24194 }
24195
24196 private int coreMinimizationLevel_ = 2;
24208 @java.lang.Override
24209 public boolean hasCoreMinimizationLevel() {
24210 return ((bitField3_ & 0x00000040) != 0);
24211 }
24223 @java.lang.Override
24225 return coreMinimizationLevel_;
24226 }
24240
24241 coreMinimizationLevel_ = value;
24242 bitField3_ |= 0x00000040;
24243 onChanged();
24244 return this;
24245 }
24258 bitField3_ = (bitField3_ & ~0x00000040);
24259 coreMinimizationLevel_ = 2;
24260 onChanged();
24261 return this;
24262 }
24263
24264 private boolean findMultipleCores_ = true;
24274 @java.lang.Override
24275 public boolean hasFindMultipleCores() {
24276 return ((bitField3_ & 0x00000080) != 0);
24277 }
24287 @java.lang.Override
24288 public boolean getFindMultipleCores() {
24289 return findMultipleCores_;
24290 }
24301 public Builder setFindMultipleCores(boolean value) {
24302
24303 findMultipleCores_ = value;
24304 bitField3_ |= 0x00000080;
24305 onChanged();
24306 return this;
24307 }
24318 bitField3_ = (bitField3_ & ~0x00000080);
24319 findMultipleCores_ = true;
24320 onChanged();
24321 return this;
24322 }
24323
24324 private boolean coverOptimization_ = true;
24335 @java.lang.Override
24336 public boolean hasCoverOptimization() {
24337 return ((bitField3_ & 0x00000100) != 0);
24338 }
24349 @java.lang.Override
24350 public boolean getCoverOptimization() {
24351 return coverOptimization_;
24352 }
24364 public Builder setCoverOptimization(boolean value) {
24365
24366 coverOptimization_ = value;
24367 bitField3_ |= 0x00000100;
24368 onChanged();
24369 return this;
24370 }
24382 bitField3_ = (bitField3_ & ~0x00000100);
24383 coverOptimization_ = true;
24384 onChanged();
24385 return this;
24386 }
24387
24388 private int maxSatAssumptionOrder_ = 0;
24393 @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
24394 return ((bitField3_ & 0x00000200) != 0);
24395 }
24400 @java.lang.Override
24402 com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder result = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.forNumber(maxSatAssumptionOrder_);
24403 return result == null ? com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.DEFAULT_ASSUMPTION_ORDER : result;
24404 }
24410 public Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value) {
24411 if (value == null) {
24412 throw new NullPointerException();
24413 }
24414 bitField3_ |= 0x00000200;
24415 maxSatAssumptionOrder_ = value.getNumber();
24416 onChanged();
24417 return this;
24418 }
24424 bitField3_ = (bitField3_ & ~0x00000200);
24425 maxSatAssumptionOrder_ = 0;
24426 onChanged();
24427 return this;
24428 }
24429
24430 private boolean maxSatReverseAssumptionOrder_ ;
24440 @java.lang.Override
24442 return ((bitField3_ & 0x00000400) != 0);
24443 }
24453 @java.lang.Override
24455 return maxSatReverseAssumptionOrder_;
24456 }
24468
24469 maxSatReverseAssumptionOrder_ = value;
24470 bitField3_ |= 0x00000400;
24471 onChanged();
24472 return this;
24473 }
24484 bitField3_ = (bitField3_ & ~0x00000400);
24485 maxSatReverseAssumptionOrder_ = false;
24486 onChanged();
24487 return this;
24488 }
24489
24490 private int maxSatStratification_ = 1;
24495 @java.lang.Override public boolean hasMaxSatStratification() {
24496 return ((bitField3_ & 0x00000800) != 0);
24497 }
24502 @java.lang.Override
24504 com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm result = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.forNumber(maxSatStratification_);
24505 return result == null ? com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.STRATIFICATION_DESCENT : result;
24506 }
24512 public Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value) {
24513 if (value == null) {
24514 throw new NullPointerException();
24515 }
24516 bitField3_ |= 0x00000800;
24517 maxSatStratification_ = value.getNumber();
24518 onChanged();
24519 return this;
24520 }
24526 bitField3_ = (bitField3_ & ~0x00000800);
24527 maxSatStratification_ = 1;
24528 onChanged();
24529 return this;
24530 }
24531
24532 private double propagationLoopDetectionFactor_ = 10D;
24549 @java.lang.Override
24551 return ((bitField3_ & 0x00001000) != 0);
24552 }
24569 @java.lang.Override
24571 return propagationLoopDetectionFactor_;
24572 }
24591
24592 propagationLoopDetectionFactor_ = value;
24593 bitField3_ |= 0x00001000;
24594 onChanged();
24595 return this;
24596 }
24614 bitField3_ = (bitField3_ & ~0x00001000);
24615 propagationLoopDetectionFactor_ = 10D;
24616 onChanged();
24617 return this;
24618 }
24619
24620 private boolean usePrecedencesInDisjunctiveConstraint_ = true;
24637 @java.lang.Override
24639 return ((bitField3_ & 0x00002000) != 0);
24640 }
24657 @java.lang.Override
24659 return usePrecedencesInDisjunctiveConstraint_;
24660 }
24679
24680 usePrecedencesInDisjunctiveConstraint_ = value;
24681 bitField3_ |= 0x00002000;
24682 onChanged();
24683 return this;
24684 }
24702 bitField3_ = (bitField3_ & ~0x00002000);
24703 usePrecedencesInDisjunctiveConstraint_ = true;
24704 onChanged();
24705 return this;
24706 }
24707
24708 private int maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
24721 @java.lang.Override
24723 return ((bitField3_ & 0x00004000) != 0);
24724 }
24737 @java.lang.Override
24739 return maxSizeToCreatePrecedenceLiteralsInDisjunctive_;
24740 }
24755
24756 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = value;
24757 bitField3_ |= 0x00004000;
24758 onChanged();
24759 return this;
24760 }
24774 bitField3_ = (bitField3_ & ~0x00004000);
24775 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
24776 onChanged();
24777 return this;
24778 }
24779
24780 private boolean useStrongPropagationInDisjunctive_ ;
24789 @java.lang.Override
24791 return ((bitField3_ & 0x00008000) != 0);
24792 }
24801 @java.lang.Override
24803 return useStrongPropagationInDisjunctive_;
24804 }
24815
24816 useStrongPropagationInDisjunctive_ = value;
24817 bitField3_ |= 0x00008000;
24818 onChanged();
24819 return this;
24820 }
24830 bitField3_ = (bitField3_ & ~0x00008000);
24831 useStrongPropagationInDisjunctive_ = false;
24832 onChanged();
24833 return this;
24834 }
24835
24836 private boolean useDynamicPrecedenceInDisjunctive_ ;
24850 @java.lang.Override
24852 return ((bitField3_ & 0x00010000) != 0);
24853 }
24867 @java.lang.Override
24869 return useDynamicPrecedenceInDisjunctive_;
24870 }
24886
24887 useDynamicPrecedenceInDisjunctive_ = value;
24888 bitField3_ |= 0x00010000;
24889 onChanged();
24890 return this;
24891 }
24906 bitField3_ = (bitField3_ & ~0x00010000);
24907 useDynamicPrecedenceInDisjunctive_ = false;
24908 onChanged();
24909 return this;
24910 }
24911
24912 private boolean useDynamicPrecedenceInCumulative_ ;
24917 @java.lang.Override
24919 return ((bitField3_ & 0x00020000) != 0);
24920 }
24925 @java.lang.Override
24927 return useDynamicPrecedenceInCumulative_;
24928 }
24935
24936 useDynamicPrecedenceInCumulative_ = value;
24937 bitField3_ |= 0x00020000;
24938 onChanged();
24939 return this;
24940 }
24946 bitField3_ = (bitField3_ & ~0x00020000);
24947 useDynamicPrecedenceInCumulative_ = false;
24948 onChanged();
24949 return this;
24950 }
24951
24952 private boolean useOverloadCheckerInCumulative_ ;
24967 @java.lang.Override
24969 return ((bitField3_ & 0x00040000) != 0);
24970 }
24985 @java.lang.Override
24987 return useOverloadCheckerInCumulative_;
24988 }
25005
25006 useOverloadCheckerInCumulative_ = value;
25007 bitField3_ |= 0x00040000;
25008 onChanged();
25009 return this;
25010 }
25026 bitField3_ = (bitField3_ & ~0x00040000);
25027 useOverloadCheckerInCumulative_ = false;
25028 onChanged();
25029 return this;
25030 }
25031
25032 private boolean useTimetableEdgeFindingInCumulative_ ;
25047 @java.lang.Override
25049 return ((bitField3_ & 0x00080000) != 0);
25050 }
25065 @java.lang.Override
25067 return useTimetableEdgeFindingInCumulative_;
25068 }
25085
25086 useTimetableEdgeFindingInCumulative_ = value;
25087 bitField3_ |= 0x00080000;
25088 onChanged();
25089 return this;
25090 }
25106 bitField3_ = (bitField3_ & ~0x00080000);
25107 useTimetableEdgeFindingInCumulative_ = false;
25108 onChanged();
25109 return this;
25110 }
25111
25112 private int maxNumIntervalsForTimetableEdgeFinding_ = 100;
25122 @java.lang.Override
25124 return ((bitField3_ & 0x00100000) != 0);
25125 }
25135 @java.lang.Override
25137 return maxNumIntervalsForTimetableEdgeFinding_;
25138 }
25150
25151 maxNumIntervalsForTimetableEdgeFinding_ = value;
25152 bitField3_ |= 0x00100000;
25153 onChanged();
25154 return this;
25155 }
25166 bitField3_ = (bitField3_ & ~0x00100000);
25167 maxNumIntervalsForTimetableEdgeFinding_ = 100;
25168 onChanged();
25169 return this;
25170 }
25171
25172 private boolean useHardPrecedencesInCumulative_ ;
25186 @java.lang.Override
25188 return ((bitField3_ & 0x00200000) != 0);
25189 }
25203 @java.lang.Override
25205 return useHardPrecedencesInCumulative_;
25206 }
25222
25223 useHardPrecedencesInCumulative_ = value;
25224 bitField3_ |= 0x00200000;
25225 onChanged();
25226 return this;
25227 }
25242 bitField3_ = (bitField3_ & ~0x00200000);
25243 useHardPrecedencesInCumulative_ = false;
25244 onChanged();
25245 return this;
25246 }
25247
25248 private boolean exploitAllPrecedences_ ;
25253 @java.lang.Override
25254 public boolean hasExploitAllPrecedences() {
25255 return ((bitField3_ & 0x00400000) != 0);
25256 }
25261 @java.lang.Override
25262 public boolean getExploitAllPrecedences() {
25263 return exploitAllPrecedences_;
25264 }
25270 public Builder setExploitAllPrecedences(boolean value) {
25271
25272 exploitAllPrecedences_ = value;
25273 bitField3_ |= 0x00400000;
25274 onChanged();
25275 return this;
25276 }
25282 bitField3_ = (bitField3_ & ~0x00400000);
25283 exploitAllPrecedences_ = false;
25284 onChanged();
25285 return this;
25286 }
25287
25288 private boolean useDisjunctiveConstraintInCumulative_ = true;
25306 @java.lang.Override
25308 return ((bitField3_ & 0x00800000) != 0);
25309 }
25327 @java.lang.Override
25329 return useDisjunctiveConstraintInCumulative_;
25330 }
25350
25351 useDisjunctiveConstraintInCumulative_ = value;
25352 bitField3_ |= 0x00800000;
25353 onChanged();
25354 return this;
25355 }
25374 bitField3_ = (bitField3_ & ~0x00800000);
25375 useDisjunctiveConstraintInCumulative_ = true;
25376 onChanged();
25377 return this;
25378 }
25379
25380 private boolean useTimetablingInNoOverlap2D_ ;
25393 @java.lang.Override
25395 return ((bitField3_ & 0x01000000) != 0);
25396 }
25409 @java.lang.Override
25411 return useTimetablingInNoOverlap2D_;
25412 }
25427
25428 useTimetablingInNoOverlap2D_ = value;
25429 bitField3_ |= 0x01000000;
25430 onChanged();
25431 return this;
25432 }
25446 bitField3_ = (bitField3_ & ~0x01000000);
25447 useTimetablingInNoOverlap2D_ = false;
25448 onChanged();
25449 return this;
25450 }
25451
25452 private boolean useEnergeticReasoningInNoOverlap2D_ ;
25463 @java.lang.Override
25465 return ((bitField3_ & 0x02000000) != 0);
25466 }
25477 @java.lang.Override
25479 return useEnergeticReasoningInNoOverlap2D_;
25480 }
25493
25494 useEnergeticReasoningInNoOverlap2D_ = value;
25495 bitField3_ |= 0x02000000;
25496 onChanged();
25497 return this;
25498 }
25510 bitField3_ = (bitField3_ & ~0x02000000);
25511 useEnergeticReasoningInNoOverlap2D_ = false;
25512 onChanged();
25513 return this;
25514 }
25515
25516 private boolean useAreaEnergeticReasoningInNoOverlap2D_ ;
25527 @java.lang.Override
25529 return ((bitField3_ & 0x04000000) != 0);
25530 }
25541 @java.lang.Override
25543 return useAreaEnergeticReasoningInNoOverlap2D_;
25544 }
25557
25558 useAreaEnergeticReasoningInNoOverlap2D_ = value;
25559 bitField3_ |= 0x04000000;
25560 onChanged();
25561 return this;
25562 }
25574 bitField3_ = (bitField3_ & ~0x04000000);
25575 useAreaEnergeticReasoningInNoOverlap2D_ = false;
25576 onChanged();
25577 return this;
25578 }
25579
25580 private int maxPairsPairwiseReasoningInNoOverlap2D_ = 1250;
25591 @java.lang.Override
25593 return ((bitField3_ & 0x08000000) != 0);
25594 }
25605 @java.lang.Override
25607 return maxPairsPairwiseReasoningInNoOverlap2D_;
25608 }
25621
25622 maxPairsPairwiseReasoningInNoOverlap2D_ = value;
25623 bitField3_ |= 0x08000000;
25624 onChanged();
25625 return this;
25626 }
25638 bitField3_ = (bitField3_ & ~0x08000000);
25639 maxPairsPairwiseReasoningInNoOverlap2D_ = 1250;
25640 onChanged();
25641 return this;
25642 }
25643
25644 private boolean useDualSchedulingHeuristics_ = true;
25655 @java.lang.Override
25657 return ((bitField3_ & 0x10000000) != 0);
25658 }
25669 @java.lang.Override
25671 return useDualSchedulingHeuristics_;
25672 }
25685
25686 useDualSchedulingHeuristics_ = value;
25687 bitField3_ |= 0x10000000;
25688 onChanged();
25689 return this;
25690 }
25702 bitField3_ = (bitField3_ & ~0x10000000);
25703 useDualSchedulingHeuristics_ = true;
25704 onChanged();
25705 return this;
25706 }
25707
25708 private int searchBranching_ = 0;
25713 @java.lang.Override public boolean hasSearchBranching() {
25714 return ((bitField3_ & 0x20000000) != 0);
25715 }
25720 @java.lang.Override
25722 com.google.ortools.sat.SatParameters.SearchBranching result = com.google.ortools.sat.SatParameters.SearchBranching.forNumber(searchBranching_);
25723 return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
25724 }
25730 public Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value) {
25731 if (value == null) {
25732 throw new NullPointerException();
25733 }
25734 bitField3_ |= 0x20000000;
25735 searchBranching_ = value.getNumber();
25736 onChanged();
25737 return this;
25738 }
25744 bitField3_ = (bitField3_ & ~0x20000000);
25745 searchBranching_ = 0;
25746 onChanged();
25747 return this;
25748 }
25749
25750 private int hintConflictLimit_ = 10;
25759 @java.lang.Override
25760 public boolean hasHintConflictLimit() {
25761 return ((bitField3_ & 0x40000000) != 0);
25762 }
25771 @java.lang.Override
25773 return hintConflictLimit_;
25774 }
25784 public Builder setHintConflictLimit(int value) {
25785
25786 hintConflictLimit_ = value;
25787 bitField3_ |= 0x40000000;
25788 onChanged();
25789 return this;
25790 }
25800 bitField3_ = (bitField3_ & ~0x40000000);
25801 hintConflictLimit_ = 10;
25802 onChanged();
25803 return this;
25804 }
25805
25806 private boolean repairHint_ ;
25818 @java.lang.Override
25819 public boolean hasRepairHint() {
25820 return ((bitField3_ & 0x80000000) != 0);
25821 }
25833 @java.lang.Override
25834 public boolean getRepairHint() {
25835 return repairHint_;
25836 }
25849 public Builder setRepairHint(boolean value) {
25850
25851 repairHint_ = value;
25852 bitField3_ |= 0x80000000;
25853 onChanged();
25854 return this;
25855 }
25868 bitField3_ = (bitField3_ & ~0x80000000);
25869 repairHint_ = false;
25870 onChanged();
25871 return this;
25872 }
25873
25874 private boolean fixVariablesToTheirHintedValue_ ;
25884 @java.lang.Override
25886 return ((bitField4_ & 0x00000001) != 0);
25887 }
25897 @java.lang.Override
25899 return fixVariablesToTheirHintedValue_;
25900 }
25912
25913 fixVariablesToTheirHintedValue_ = value;
25914 bitField4_ |= 0x00000001;
25915 onChanged();
25916 return this;
25917 }
25928 bitField4_ = (bitField4_ & ~0x00000001);
25929 fixVariablesToTheirHintedValue_ = false;
25930 onChanged();
25931 return this;
25932 }
25933
25934 private boolean useProbingSearch_ ;
25945 @java.lang.Override
25946 public boolean hasUseProbingSearch() {
25947 return ((bitField4_ & 0x00000002) != 0);
25948 }
25959 @java.lang.Override
25960 public boolean getUseProbingSearch() {
25961 return useProbingSearch_;
25962 }
25974 public Builder setUseProbingSearch(boolean value) {
25975
25976 useProbingSearch_ = value;
25977 bitField4_ |= 0x00000002;
25978 onChanged();
25979 return this;
25980 }
25992 bitField4_ = (bitField4_ & ~0x00000002);
25993 useProbingSearch_ = false;
25994 onChanged();
25995 return this;
25996 }
25997
25998 private boolean useExtendedProbing_ = true;
26007 @java.lang.Override
26008 public boolean hasUseExtendedProbing() {
26009 return ((bitField4_ & 0x00000004) != 0);
26010 }
26019 @java.lang.Override
26020 public boolean getUseExtendedProbing() {
26021 return useExtendedProbing_;
26022 }
26032 public Builder setUseExtendedProbing(boolean value) {
26033
26034 useExtendedProbing_ = value;
26035 bitField4_ |= 0x00000004;
26036 onChanged();
26037 return this;
26038 }
26048 bitField4_ = (bitField4_ & ~0x00000004);
26049 useExtendedProbing_ = true;
26050 onChanged();
26051 return this;
26052 }
26053
26054 private int probingNumCombinationsLimit_ = 20000;
26063 @java.lang.Override
26065 return ((bitField4_ & 0x00000008) != 0);
26066 }
26075 @java.lang.Override
26077 return probingNumCombinationsLimit_;
26078 }
26089
26090 probingNumCombinationsLimit_ = value;
26091 bitField4_ |= 0x00000008;
26092 onChanged();
26093 return this;
26094 }
26104 bitField4_ = (bitField4_ & ~0x00000008);
26105 probingNumCombinationsLimit_ = 20000;
26106 onChanged();
26107 return this;
26108 }
26109
26110 private boolean useShavingInProbingSearch_ = true;
26120 @java.lang.Override
26122 return ((bitField4_ & 0x00000010) != 0);
26123 }
26133 @java.lang.Override
26135 return useShavingInProbingSearch_;
26136 }
26148
26149 useShavingInProbingSearch_ = value;
26150 bitField4_ |= 0x00000010;
26151 onChanged();
26152 return this;
26153 }
26164 bitField4_ = (bitField4_ & ~0x00000010);
26165 useShavingInProbingSearch_ = true;
26166 onChanged();
26167 return this;
26168 }
26169
26170 private double shavingSearchDeterministicTime_ = 0.001D;
26180 @java.lang.Override
26182 return ((bitField4_ & 0x00000020) != 0);
26183 }
26193 @java.lang.Override
26195 return shavingSearchDeterministicTime_;
26196 }
26208
26209 shavingSearchDeterministicTime_ = value;
26210 bitField4_ |= 0x00000020;
26211 onChanged();
26212 return this;
26213 }
26224 bitField4_ = (bitField4_ & ~0x00000020);
26225 shavingSearchDeterministicTime_ = 0.001D;
26226 onChanged();
26227 return this;
26228 }
26229
26230 private boolean useObjectiveLbSearch_ ;
26240 @java.lang.Override
26241 public boolean hasUseObjectiveLbSearch() {
26242 return ((bitField4_ & 0x00000040) != 0);
26243 }
26253 @java.lang.Override
26254 public boolean getUseObjectiveLbSearch() {
26255 return useObjectiveLbSearch_;
26256 }
26267 public Builder setUseObjectiveLbSearch(boolean value) {
26268
26269 useObjectiveLbSearch_ = value;
26270 bitField4_ |= 0x00000040;
26271 onChanged();
26272 return this;
26273 }
26284 bitField4_ = (bitField4_ & ~0x00000040);
26285 useObjectiveLbSearch_ = false;
26286 onChanged();
26287 return this;
26288 }
26289
26290 private boolean useObjectiveShavingSearch_ ;
26301 @java.lang.Override
26303 return ((bitField4_ & 0x00000080) != 0);
26304 }
26315 @java.lang.Override
26317 return useObjectiveShavingSearch_;
26318 }
26331
26332 useObjectiveShavingSearch_ = value;
26333 bitField4_ |= 0x00000080;
26334 onChanged();
26335 return this;
26336 }
26348 bitField4_ = (bitField4_ & ~0x00000080);
26349 useObjectiveShavingSearch_ = false;
26350 onChanged();
26351 return this;
26352 }
26353
26354 private long pseudoCostReliabilityThreshold_ = 100L;
26364 @java.lang.Override
26366 return ((bitField4_ & 0x00000100) != 0);
26367 }
26377 @java.lang.Override
26379 return pseudoCostReliabilityThreshold_;
26380 }
26392
26393 pseudoCostReliabilityThreshold_ = value;
26394 bitField4_ |= 0x00000100;
26395 onChanged();
26396 return this;
26397 }
26408 bitField4_ = (bitField4_ & ~0x00000100);
26409 pseudoCostReliabilityThreshold_ = 100L;
26410 onChanged();
26411 return this;
26412 }
26413
26414 private boolean optimizeWithCore_ ;
26426 @java.lang.Override
26427 public boolean hasOptimizeWithCore() {
26428 return ((bitField4_ & 0x00000200) != 0);
26429 }
26441 @java.lang.Override
26442 public boolean getOptimizeWithCore() {
26443 return optimizeWithCore_;
26444 }
26457 public Builder setOptimizeWithCore(boolean value) {
26458
26459 optimizeWithCore_ = value;
26460 bitField4_ |= 0x00000200;
26461 onChanged();
26462 return this;
26463 }
26476 bitField4_ = (bitField4_ & ~0x00000200);
26477 optimizeWithCore_ = false;
26478 onChanged();
26479 return this;
26480 }
26481
26482 private boolean optimizeWithLbTreeSearch_ ;
26495 @java.lang.Override
26497 return ((bitField4_ & 0x00000400) != 0);
26498 }
26511 @java.lang.Override
26513 return optimizeWithLbTreeSearch_;
26514 }
26528 public Builder setOptimizeWithLbTreeSearch(boolean value) {
26529
26530 optimizeWithLbTreeSearch_ = value;
26531 bitField4_ |= 0x00000400;
26532 onChanged();
26533 return this;
26534 }
26548 bitField4_ = (bitField4_ & ~0x00000400);
26549 optimizeWithLbTreeSearch_ = false;
26550 onChanged();
26551 return this;
26552 }
26553
26554 private int binarySearchNumConflicts_ = -1;
26566 @java.lang.Override
26568 return ((bitField4_ & 0x00000800) != 0);
26569 }
26581 @java.lang.Override
26583 return binarySearchNumConflicts_;
26584 }
26598
26599 binarySearchNumConflicts_ = value;
26600 bitField4_ |= 0x00000800;
26601 onChanged();
26602 return this;
26603 }
26616 bitField4_ = (bitField4_ & ~0x00000800);
26617 binarySearchNumConflicts_ = -1;
26618 onChanged();
26619 return this;
26620 }
26621
26622 private boolean optimizeWithMaxHs_ ;
26636 @java.lang.Override
26637 public boolean hasOptimizeWithMaxHs() {
26638 return ((bitField4_ & 0x00001000) != 0);
26639 }
26653 @java.lang.Override
26654 public boolean getOptimizeWithMaxHs() {
26655 return optimizeWithMaxHs_;
26656 }
26671 public Builder setOptimizeWithMaxHs(boolean value) {
26672
26673 optimizeWithMaxHs_ = value;
26674 bitField4_ |= 0x00001000;
26675 onChanged();
26676 return this;
26677 }
26692 bitField4_ = (bitField4_ & ~0x00001000);
26693 optimizeWithMaxHs_ = false;
26694 onChanged();
26695 return this;
26696 }
26697
26698 private boolean useFeasibilityJump_ = true;
26709 @java.lang.Override
26710 public boolean hasUseFeasibilityJump() {
26711 return ((bitField4_ & 0x00002000) != 0);
26712 }
26723 @java.lang.Override
26724 public boolean getUseFeasibilityJump() {
26725 return useFeasibilityJump_;
26726 }
26738 public Builder setUseFeasibilityJump(boolean value) {
26739
26740 useFeasibilityJump_ = value;
26741 bitField4_ |= 0x00002000;
26742 onChanged();
26743 return this;
26744 }
26756 bitField4_ = (bitField4_ & ~0x00002000);
26757 useFeasibilityJump_ = true;
26758 onChanged();
26759 return this;
26760 }
26761
26762 private boolean testFeasibilityJump_ ;
26772 @java.lang.Override
26773 public boolean hasTestFeasibilityJump() {
26774 return ((bitField4_ & 0x00004000) != 0);
26775 }
26785 @java.lang.Override
26786 public boolean getTestFeasibilityJump() {
26787 return testFeasibilityJump_;
26788 }
26799 public Builder setTestFeasibilityJump(boolean value) {
26800
26801 testFeasibilityJump_ = value;
26802 bitField4_ |= 0x00004000;
26803 onChanged();
26804 return this;
26805 }
26816 bitField4_ = (bitField4_ & ~0x00004000);
26817 testFeasibilityJump_ = false;
26818 onChanged();
26819 return this;
26820 }
26821
26822 private double feasibilityJumpDecay_ = 0.95D;
26832 @java.lang.Override
26833 public boolean hasFeasibilityJumpDecay() {
26834 return ((bitField4_ & 0x00008000) != 0);
26835 }
26845 @java.lang.Override
26846 public double getFeasibilityJumpDecay() {
26847 return feasibilityJumpDecay_;
26848 }
26859 public Builder setFeasibilityJumpDecay(double value) {
26860
26861 feasibilityJumpDecay_ = value;
26862 bitField4_ |= 0x00008000;
26863 onChanged();
26864 return this;
26865 }
26876 bitField4_ = (bitField4_ & ~0x00008000);
26877 feasibilityJumpDecay_ = 0.95D;
26878 onChanged();
26879 return this;
26880 }
26881
26882 private int feasibilityJumpLinearizationLevel_ = 2;
26891 @java.lang.Override
26893 return ((bitField4_ & 0x00010000) != 0);
26894 }
26903 @java.lang.Override
26905 return feasibilityJumpLinearizationLevel_;
26906 }
26917
26918 feasibilityJumpLinearizationLevel_ = value;
26919 bitField4_ |= 0x00010000;
26920 onChanged();
26921 return this;
26922 }
26932 bitField4_ = (bitField4_ & ~0x00010000);
26933 feasibilityJumpLinearizationLevel_ = 2;
26934 onChanged();
26935 return this;
26936 }
26937
26938 private int feasibilityJumpRestartFactor_ = 1;
26949 @java.lang.Override
26951 return ((bitField4_ & 0x00020000) != 0);
26952 }
26963 @java.lang.Override
26965 return feasibilityJumpRestartFactor_;
26966 }
26979
26980 feasibilityJumpRestartFactor_ = value;
26981 bitField4_ |= 0x00020000;
26982 onChanged();
26983 return this;
26984 }
26996 bitField4_ = (bitField4_ & ~0x00020000);
26997 feasibilityJumpRestartFactor_ = 1;
26998 onChanged();
26999 return this;
27000 }
27001
27002 private double feasibilityJumpVarRandomizationProbability_ ;
27012 @java.lang.Override
27014 return ((bitField4_ & 0x00040000) != 0);
27015 }
27025 @java.lang.Override
27027 return feasibilityJumpVarRandomizationProbability_;
27028 }
27040
27041 feasibilityJumpVarRandomizationProbability_ = value;
27042 bitField4_ |= 0x00040000;
27043 onChanged();
27044 return this;
27045 }
27056 bitField4_ = (bitField4_ & ~0x00040000);
27057 feasibilityJumpVarRandomizationProbability_ = 0D;
27058 onChanged();
27059 return this;
27060 }
27061
27062 private double feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
27072 @java.lang.Override
27074 return ((bitField4_ & 0x00080000) != 0);
27075 }
27085 @java.lang.Override
27087 return feasibilityJumpVarPerburbationRangeRatio_;
27088 }
27100
27101 feasibilityJumpVarPerburbationRangeRatio_ = value;
27102 bitField4_ |= 0x00080000;
27103 onChanged();
27104 return this;
27105 }
27116 bitField4_ = (bitField4_ & ~0x00080000);
27117 feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
27118 onChanged();
27119 return this;
27120 }
27121
27122 private boolean feasibilityJumpEnableRestarts_ = true;
27133 @java.lang.Override
27135 return ((bitField4_ & 0x00100000) != 0);
27136 }
27147 @java.lang.Override
27149 return feasibilityJumpEnableRestarts_;
27150 }
27163
27164 feasibilityJumpEnableRestarts_ = value;
27165 bitField4_ |= 0x00100000;
27166 onChanged();
27167 return this;
27168 }
27180 bitField4_ = (bitField4_ & ~0x00100000);
27181 feasibilityJumpEnableRestarts_ = true;
27182 onChanged();
27183 return this;
27184 }
27185
27186 private int feasibilityJumpMaxExpandedConstraintSize_ = 100;
27196 @java.lang.Override
27198 return ((bitField4_ & 0x00200000) != 0);
27199 }
27209 @java.lang.Override
27211 return feasibilityJumpMaxExpandedConstraintSize_;
27212 }
27224
27225 feasibilityJumpMaxExpandedConstraintSize_ = value;
27226 bitField4_ |= 0x00200000;
27227 onChanged();
27228 return this;
27229 }
27240 bitField4_ = (bitField4_ & ~0x00200000);
27241 feasibilityJumpMaxExpandedConstraintSize_ = 100;
27242 onChanged();
27243 return this;
27244 }
27245
27246 private int numViolationLs_ ;
27257 @java.lang.Override
27258 public boolean hasNumViolationLs() {
27259 return ((bitField4_ & 0x00400000) != 0);
27260 }
27271 @java.lang.Override
27272 public int getNumViolationLs() {
27273 return numViolationLs_;
27274 }
27286 public Builder setNumViolationLs(int value) {
27287
27288 numViolationLs_ = value;
27289 bitField4_ |= 0x00400000;
27290 onChanged();
27291 return this;
27292 }
27304 bitField4_ = (bitField4_ & ~0x00400000);
27305 numViolationLs_ = 0;
27306 onChanged();
27307 return this;
27308 }
27309
27310 private int violationLsPerturbationPeriod_ = 100;
27319 @java.lang.Override
27321 return ((bitField4_ & 0x00800000) != 0);
27322 }
27331 @java.lang.Override
27333 return violationLsPerturbationPeriod_;
27334 }
27345
27346 violationLsPerturbationPeriod_ = value;
27347 bitField4_ |= 0x00800000;
27348 onChanged();
27349 return this;
27350 }
27360 bitField4_ = (bitField4_ & ~0x00800000);
27361 violationLsPerturbationPeriod_ = 100;
27362 onChanged();
27363 return this;
27364 }
27365
27366 private double violationLsCompoundMoveProbability_ = 0.5D;
27376 @java.lang.Override
27378 return ((bitField4_ & 0x01000000) != 0);
27379 }
27389 @java.lang.Override
27391 return violationLsCompoundMoveProbability_;
27392 }
27404
27405 violationLsCompoundMoveProbability_ = value;
27406 bitField4_ |= 0x01000000;
27407 onChanged();
27408 return this;
27409 }
27420 bitField4_ = (bitField4_ & ~0x01000000);
27421 violationLsCompoundMoveProbability_ = 0.5D;
27422 onChanged();
27423 return this;
27424 }
27425
27426 private int sharedTreeNumWorkers_ ;
27439 @java.lang.Override
27440 public boolean hasSharedTreeNumWorkers() {
27441 return ((bitField4_ & 0x02000000) != 0);
27442 }
27455 @java.lang.Override
27457 return sharedTreeNumWorkers_;
27458 }
27473
27474 sharedTreeNumWorkers_ = value;
27475 bitField4_ |= 0x02000000;
27476 onChanged();
27477 return this;
27478 }
27492 bitField4_ = (bitField4_ & ~0x02000000);
27493 sharedTreeNumWorkers_ = 0;
27494 onChanged();
27495 return this;
27496 }
27497
27498 private boolean useSharedTreeSearch_ ;
27507 @java.lang.Override
27508 public boolean hasUseSharedTreeSearch() {
27509 return ((bitField4_ & 0x04000000) != 0);
27510 }
27519 @java.lang.Override
27520 public boolean getUseSharedTreeSearch() {
27521 return useSharedTreeSearch_;
27522 }
27532 public Builder setUseSharedTreeSearch(boolean value) {
27533
27534 useSharedTreeSearch_ = value;
27535 bitField4_ |= 0x04000000;
27536 onChanged();
27537 return this;
27538 }
27548 bitField4_ = (bitField4_ & ~0x04000000);
27549 useSharedTreeSearch_ = false;
27550 onChanged();
27551 return this;
27552 }
27553
27554 private double sharedTreeWorkerObjectiveSplitProbability_ = 0.5D;
27565 @java.lang.Override
27567 return ((bitField4_ & 0x08000000) != 0);
27568 }
27579 @java.lang.Override
27581 return sharedTreeWorkerObjectiveSplitProbability_;
27582 }
27595
27596 sharedTreeWorkerObjectiveSplitProbability_ = value;
27597 bitField4_ |= 0x08000000;
27598 onChanged();
27599 return this;
27600 }
27612 bitField4_ = (bitField4_ & ~0x08000000);
27613 sharedTreeWorkerObjectiveSplitProbability_ = 0.5D;
27614 onChanged();
27615 return this;
27616 }
27617
27618 private int sharedTreeMaxNodesPerWorker_ = 128;
27630 @java.lang.Override
27632 return ((bitField4_ & 0x10000000) != 0);
27633 }
27645 @java.lang.Override
27647 return sharedTreeMaxNodesPerWorker_;
27648 }
27662
27663 sharedTreeMaxNodesPerWorker_ = value;
27664 bitField4_ |= 0x10000000;
27665 onChanged();
27666 return this;
27667 }
27680 bitField4_ = (bitField4_ & ~0x10000000);
27681 sharedTreeMaxNodesPerWorker_ = 128;
27682 onChanged();
27683 return this;
27684 }
27685
27686 private int sharedTreeSplitStrategy_ = 0;
27691 @java.lang.Override public boolean hasSharedTreeSplitStrategy() {
27692 return ((bitField4_ & 0x20000000) != 0);
27693 }
27698 @java.lang.Override
27700 com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy result = com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy.forNumber(sharedTreeSplitStrategy_);
27701 return result == null ? com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy.SPLIT_STRATEGY_AUTO : result;
27702 }
27708 public Builder setSharedTreeSplitStrategy(com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy value) {
27709 if (value == null) {
27710 throw new NullPointerException();
27711 }
27712 bitField4_ |= 0x20000000;
27713 sharedTreeSplitStrategy_ = value.getNumber();
27714 onChanged();
27715 return this;
27716 }
27722 bitField4_ = (bitField4_ & ~0x20000000);
27723 sharedTreeSplitStrategy_ = 0;
27724 onChanged();
27725 return this;
27726 }
27727
27728 private boolean enumerateAllSolutions_ ;
27743 @java.lang.Override
27744 public boolean hasEnumerateAllSolutions() {
27745 return ((bitField4_ & 0x40000000) != 0);
27746 }
27761 @java.lang.Override
27762 public boolean getEnumerateAllSolutions() {
27763 return enumerateAllSolutions_;
27764 }
27780 public Builder setEnumerateAllSolutions(boolean value) {
27781
27782 enumerateAllSolutions_ = value;
27783 bitField4_ |= 0x40000000;
27784 onChanged();
27785 return this;
27786 }
27802 bitField4_ = (bitField4_ & ~0x40000000);
27803 enumerateAllSolutions_ = false;
27804 onChanged();
27805 return this;
27806 }
27807
27808 private boolean keepAllFeasibleSolutionsInPresolve_ ;
27824 @java.lang.Override
27826 return ((bitField4_ & 0x80000000) != 0);
27827 }
27843 @java.lang.Override
27845 return keepAllFeasibleSolutionsInPresolve_;
27846 }
27864
27865 keepAllFeasibleSolutionsInPresolve_ = value;
27866 bitField4_ |= 0x80000000;
27867 onChanged();
27868 return this;
27869 }
27886 bitField4_ = (bitField4_ & ~0x80000000);
27887 keepAllFeasibleSolutionsInPresolve_ = false;
27888 onChanged();
27889 return this;
27890 }
27891
27892 private boolean fillTightenedDomainsInResponse_ ;
27905 @java.lang.Override
27907 return ((bitField5_ & 0x00000001) != 0);
27908 }
27921 @java.lang.Override
27923 return fillTightenedDomainsInResponse_;
27924 }
27939
27940 fillTightenedDomainsInResponse_ = value;
27941 bitField5_ |= 0x00000001;
27942 onChanged();
27943 return this;
27944 }
27958 bitField5_ = (bitField5_ & ~0x00000001);
27959 fillTightenedDomainsInResponse_ = false;
27960 onChanged();
27961 return this;
27962 }
27963
27964 private boolean fillAdditionalSolutionsInResponse_ ;
27982 @java.lang.Override
27984 return ((bitField5_ & 0x00000002) != 0);
27985 }
28003 @java.lang.Override
28005 return fillAdditionalSolutionsInResponse_;
28006 }
28026
28027 fillAdditionalSolutionsInResponse_ = value;
28028 bitField5_ |= 0x00000002;
28029 onChanged();
28030 return this;
28031 }
28050 bitField5_ = (bitField5_ & ~0x00000002);
28051 fillAdditionalSolutionsInResponse_ = false;
28052 onChanged();
28053 return this;
28054 }
28055
28056 private boolean instantiateAllVariables_ = true;
28068 @java.lang.Override
28070 return ((bitField5_ & 0x00000004) != 0);
28071 }
28083 @java.lang.Override
28085 return instantiateAllVariables_;
28086 }
28099 public Builder setInstantiateAllVariables(boolean value) {
28100
28101 instantiateAllVariables_ = value;
28102 bitField5_ |= 0x00000004;
28103 onChanged();
28104 return this;
28105 }
28118 bitField5_ = (bitField5_ & ~0x00000004);
28119 instantiateAllVariables_ = true;
28120 onChanged();
28121 return this;
28122 }
28123
28124 private boolean autoDetectGreaterThanAtLeastOneOf_ = true;
28136 @java.lang.Override
28138 return ((bitField5_ & 0x00000008) != 0);
28139 }
28151 @java.lang.Override
28153 return autoDetectGreaterThanAtLeastOneOf_;
28154 }
28168
28169 autoDetectGreaterThanAtLeastOneOf_ = value;
28170 bitField5_ |= 0x00000008;
28171 onChanged();
28172 return this;
28173 }
28186 bitField5_ = (bitField5_ & ~0x00000008);
28187 autoDetectGreaterThanAtLeastOneOf_ = true;
28188 onChanged();
28189 return this;
28190 }
28191
28192 private boolean stopAfterFirstSolution_ ;
28201 @java.lang.Override
28202 public boolean hasStopAfterFirstSolution() {
28203 return ((bitField5_ & 0x00000010) != 0);
28204 }
28213 @java.lang.Override
28214 public boolean getStopAfterFirstSolution() {
28215 return stopAfterFirstSolution_;
28216 }
28226 public Builder setStopAfterFirstSolution(boolean value) {
28227
28228 stopAfterFirstSolution_ = value;
28229 bitField5_ |= 0x00000010;
28230 onChanged();
28231 return this;
28232 }
28242 bitField5_ = (bitField5_ & ~0x00000010);
28243 stopAfterFirstSolution_ = false;
28244 onChanged();
28245 return this;
28246 }
28247
28248 private boolean stopAfterPresolve_ ;
28258 @java.lang.Override
28259 public boolean hasStopAfterPresolve() {
28260 return ((bitField5_ & 0x00000020) != 0);
28261 }
28271 @java.lang.Override
28272 public boolean getStopAfterPresolve() {
28273 return stopAfterPresolve_;
28274 }
28285 public Builder setStopAfterPresolve(boolean value) {
28286
28287 stopAfterPresolve_ = value;
28288 bitField5_ |= 0x00000020;
28289 onChanged();
28290 return this;
28291 }
28302 bitField5_ = (bitField5_ & ~0x00000020);
28303 stopAfterPresolve_ = false;
28304 onChanged();
28305 return this;
28306 }
28307
28308 private boolean stopAfterRootPropagation_ ;
28313 @java.lang.Override
28315 return ((bitField5_ & 0x00000040) != 0);
28316 }
28321 @java.lang.Override
28323 return stopAfterRootPropagation_;
28324 }
28330 public Builder setStopAfterRootPropagation(boolean value) {
28331
28332 stopAfterRootPropagation_ = value;
28333 bitField5_ |= 0x00000040;
28334 onChanged();
28335 return this;
28336 }
28342 bitField5_ = (bitField5_ & ~0x00000040);
28343 stopAfterRootPropagation_ = false;
28344 onChanged();
28345 return this;
28346 }
28347
28348 private boolean useLnsOnly_ ;
28357 @java.lang.Override
28358 public boolean hasUseLnsOnly() {
28359 return ((bitField5_ & 0x00000080) != 0);
28360 }
28369 @java.lang.Override
28370 public boolean getUseLnsOnly() {
28371 return useLnsOnly_;
28372 }
28382 public Builder setUseLnsOnly(boolean value) {
28383
28384 useLnsOnly_ = value;
28385 bitField5_ |= 0x00000080;
28386 onChanged();
28387 return this;
28388 }
28398 bitField5_ = (bitField5_ & ~0x00000080);
28399 useLnsOnly_ = false;
28400 onChanged();
28401 return this;
28402 }
28403
28404 private int solutionPoolSize_ = 3;
28415 @java.lang.Override
28416 public boolean hasSolutionPoolSize() {
28417 return ((bitField5_ & 0x00000100) != 0);
28418 }
28429 @java.lang.Override
28430 public int getSolutionPoolSize() {
28431 return solutionPoolSize_;
28432 }
28444 public Builder setSolutionPoolSize(int value) {
28445
28446 solutionPoolSize_ = value;
28447 bitField5_ |= 0x00000100;
28448 onChanged();
28449 return this;
28450 }
28462 bitField5_ = (bitField5_ & ~0x00000100);
28463 solutionPoolSize_ = 3;
28464 onChanged();
28465 return this;
28466 }
28467
28468 private boolean useRinsLns_ = true;
28477 @java.lang.Override
28478 public boolean hasUseRinsLns() {
28479 return ((bitField5_ & 0x00000200) != 0);
28480 }
28489 @java.lang.Override
28490 public boolean getUseRinsLns() {
28491 return useRinsLns_;
28492 }
28502 public Builder setUseRinsLns(boolean value) {
28503
28504 useRinsLns_ = value;
28505 bitField5_ |= 0x00000200;
28506 onChanged();
28507 return this;
28508 }
28518 bitField5_ = (bitField5_ & ~0x00000200);
28519 useRinsLns_ = true;
28520 onChanged();
28521 return this;
28522 }
28523
28524 private boolean useFeasibilityPump_ = true;
28533 @java.lang.Override
28534 public boolean hasUseFeasibilityPump() {
28535 return ((bitField5_ & 0x00000400) != 0);
28536 }
28545 @java.lang.Override
28546 public boolean getUseFeasibilityPump() {
28547 return useFeasibilityPump_;
28548 }
28558 public Builder setUseFeasibilityPump(boolean value) {
28559
28560 useFeasibilityPump_ = value;
28561 bitField5_ |= 0x00000400;
28562 onChanged();
28563 return this;
28564 }
28574 bitField5_ = (bitField5_ & ~0x00000400);
28575 useFeasibilityPump_ = true;
28576 onChanged();
28577 return this;
28578 }
28579
28580 private boolean useLbRelaxLns_ ;
28591 @java.lang.Override
28592 public boolean hasUseLbRelaxLns() {
28593 return ((bitField5_ & 0x00000800) != 0);
28594 }
28605 @java.lang.Override
28606 public boolean getUseLbRelaxLns() {
28607 return useLbRelaxLns_;
28608 }
28620 public Builder setUseLbRelaxLns(boolean value) {
28621
28622 useLbRelaxLns_ = value;
28623 bitField5_ |= 0x00000800;
28624 onChanged();
28625 return this;
28626 }
28638 bitField5_ = (bitField5_ & ~0x00000800);
28639 useLbRelaxLns_ = false;
28640 onChanged();
28641 return this;
28642 }
28643
28644 private int fpRounding_ = 2;
28649 @java.lang.Override public boolean hasFpRounding() {
28650 return ((bitField5_ & 0x00001000) != 0);
28651 }
28656 @java.lang.Override
28658 com.google.ortools.sat.SatParameters.FPRoundingMethod result = com.google.ortools.sat.SatParameters.FPRoundingMethod.forNumber(fpRounding_);
28659 return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
28660 }
28666 public Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value) {
28667 if (value == null) {
28668 throw new NullPointerException();
28669 }
28670 bitField5_ |= 0x00001000;
28671 fpRounding_ = value.getNumber();
28672 onChanged();
28673 return this;
28674 }
28680 bitField5_ = (bitField5_ & ~0x00001000);
28681 fpRounding_ = 2;
28682 onChanged();
28683 return this;
28684 }
28685
28686 private boolean diversifyLnsParams_ ;
28695 @java.lang.Override
28696 public boolean hasDiversifyLnsParams() {
28697 return ((bitField5_ & 0x00002000) != 0);
28698 }
28707 @java.lang.Override
28708 public boolean getDiversifyLnsParams() {
28709 return diversifyLnsParams_;
28710 }
28720 public Builder setDiversifyLnsParams(boolean value) {
28721
28722 diversifyLnsParams_ = value;
28723 bitField5_ |= 0x00002000;
28724 onChanged();
28725 return this;
28726 }
28736 bitField5_ = (bitField5_ & ~0x00002000);
28737 diversifyLnsParams_ = false;
28738 onChanged();
28739 return this;
28740 }
28741
28742 private boolean randomizeSearch_ ;
28751 @java.lang.Override
28752 public boolean hasRandomizeSearch() {
28753 return ((bitField5_ & 0x00004000) != 0);
28754 }
28763 @java.lang.Override
28764 public boolean getRandomizeSearch() {
28765 return randomizeSearch_;
28766 }
28776 public Builder setRandomizeSearch(boolean value) {
28777
28778 randomizeSearch_ = value;
28779 bitField5_ |= 0x00004000;
28780 onChanged();
28781 return this;
28782 }
28792 bitField5_ = (bitField5_ & ~0x00004000);
28793 randomizeSearch_ = false;
28794 onChanged();
28795 return this;
28796 }
28797
28798 private long searchRandomVariablePoolSize_ ;
28809 @java.lang.Override
28811 return ((bitField5_ & 0x00008000) != 0);
28812 }
28823 @java.lang.Override
28825 return searchRandomVariablePoolSize_;
28826 }
28839
28840 searchRandomVariablePoolSize_ = value;
28841 bitField5_ |= 0x00008000;
28842 onChanged();
28843 return this;
28844 }
28856 bitField5_ = (bitField5_ & ~0x00008000);
28857 searchRandomVariablePoolSize_ = 0L;
28858 onChanged();
28859 return this;
28860 }
28861
28862 private boolean pushAllTasksTowardStart_ ;
28872 @java.lang.Override
28874 return ((bitField5_ & 0x00010000) != 0);
28875 }
28885 @java.lang.Override
28887 return pushAllTasksTowardStart_;
28888 }
28899 public Builder setPushAllTasksTowardStart(boolean value) {
28900
28901 pushAllTasksTowardStart_ = value;
28902 bitField5_ |= 0x00010000;
28903 onChanged();
28904 return this;
28905 }
28916 bitField5_ = (bitField5_ & ~0x00010000);
28917 pushAllTasksTowardStart_ = false;
28918 onChanged();
28919 return this;
28920 }
28921
28922 private boolean useOptionalVariables_ ;
28936 @java.lang.Override
28937 public boolean hasUseOptionalVariables() {
28938 return ((bitField5_ & 0x00020000) != 0);
28939 }
28953 @java.lang.Override
28954 public boolean getUseOptionalVariables() {
28955 return useOptionalVariables_;
28956 }
28971 public Builder setUseOptionalVariables(boolean value) {
28972
28973 useOptionalVariables_ = value;
28974 bitField5_ |= 0x00020000;
28975 onChanged();
28976 return this;
28977 }
28992 bitField5_ = (bitField5_ & ~0x00020000);
28993 useOptionalVariables_ = false;
28994 onChanged();
28995 return this;
28996 }
28997
28998 private boolean useExactLpReason_ = true;
29010 @java.lang.Override
29011 public boolean hasUseExactLpReason() {
29012 return ((bitField5_ & 0x00040000) != 0);
29013 }
29025 @java.lang.Override
29026 public boolean getUseExactLpReason() {
29027 return useExactLpReason_;
29028 }
29041 public Builder setUseExactLpReason(boolean value) {
29042
29043 useExactLpReason_ = value;
29044 bitField5_ |= 0x00040000;
29045 onChanged();
29046 return this;
29047 }
29060 bitField5_ = (bitField5_ & ~0x00040000);
29061 useExactLpReason_ = true;
29062 onChanged();
29063 return this;
29064 }
29065
29066 private boolean useCombinedNoOverlap_ ;
29077 @java.lang.Override
29078 public boolean hasUseCombinedNoOverlap() {
29079 return ((bitField5_ & 0x00080000) != 0);
29080 }
29091 @java.lang.Override
29092 public boolean getUseCombinedNoOverlap() {
29093 return useCombinedNoOverlap_;
29094 }
29106 public Builder setUseCombinedNoOverlap(boolean value) {
29107
29108 useCombinedNoOverlap_ = value;
29109 bitField5_ |= 0x00080000;
29110 onChanged();
29111 return this;
29112 }
29124 bitField5_ = (bitField5_ & ~0x00080000);
29125 useCombinedNoOverlap_ = false;
29126 onChanged();
29127 return this;
29128 }
29129
29130 private int atMostOneMaxExpansionSize_ = 3;
29140 @java.lang.Override
29142 return ((bitField5_ & 0x00100000) != 0);
29143 }
29153 @java.lang.Override
29155 return atMostOneMaxExpansionSize_;
29156 }
29168
29169 atMostOneMaxExpansionSize_ = value;
29170 bitField5_ |= 0x00100000;
29171 onChanged();
29172 return this;
29173 }
29184 bitField5_ = (bitField5_ & ~0x00100000);
29185 atMostOneMaxExpansionSize_ = 3;
29186 onChanged();
29187 return this;
29188 }
29189
29190 private boolean catchSigintSignal_ = true;
29201 @java.lang.Override
29202 public boolean hasCatchSigintSignal() {
29203 return ((bitField5_ & 0x00200000) != 0);
29204 }
29215 @java.lang.Override
29216 public boolean getCatchSigintSignal() {
29217 return catchSigintSignal_;
29218 }
29230 public Builder setCatchSigintSignal(boolean value) {
29231
29232 catchSigintSignal_ = value;
29233 bitField5_ |= 0x00200000;
29234 onChanged();
29235 return this;
29236 }
29248 bitField5_ = (bitField5_ & ~0x00200000);
29249 catchSigintSignal_ = true;
29250 onChanged();
29251 return this;
29252 }
29253
29254 private boolean useImpliedBounds_ = true;
29265 @java.lang.Override
29266 public boolean hasUseImpliedBounds() {
29267 return ((bitField5_ & 0x00400000) != 0);
29268 }
29279 @java.lang.Override
29280 public boolean getUseImpliedBounds() {
29281 return useImpliedBounds_;
29282 }
29294 public Builder setUseImpliedBounds(boolean value) {
29295
29296 useImpliedBounds_ = value;
29297 bitField5_ |= 0x00400000;
29298 onChanged();
29299 return this;
29300 }
29312 bitField5_ = (bitField5_ & ~0x00400000);
29313 useImpliedBounds_ = true;
29314 onChanged();
29315 return this;
29316 }
29317
29318 private boolean polishLpSolution_ ;
29330 @java.lang.Override
29331 public boolean hasPolishLpSolution() {
29332 return ((bitField5_ & 0x00800000) != 0);
29333 }
29345 @java.lang.Override
29346 public boolean getPolishLpSolution() {
29347 return polishLpSolution_;
29348 }
29361 public Builder setPolishLpSolution(boolean value) {
29362
29363 polishLpSolution_ = value;
29364 bitField5_ |= 0x00800000;
29365 onChanged();
29366 return this;
29367 }
29380 bitField5_ = (bitField5_ & ~0x00800000);
29381 polishLpSolution_ = false;
29382 onChanged();
29383 return this;
29384 }
29385
29386 private double lpPrimalTolerance_ = 1e-07D;
29399 @java.lang.Override
29400 public boolean hasLpPrimalTolerance() {
29401 return ((bitField5_ & 0x01000000) != 0);
29402 }
29415 @java.lang.Override
29416 public double getLpPrimalTolerance() {
29417 return lpPrimalTolerance_;
29418 }
29432 public Builder setLpPrimalTolerance(double value) {
29433
29434 lpPrimalTolerance_ = value;
29435 bitField5_ |= 0x01000000;
29436 onChanged();
29437 return this;
29438 }
29452 bitField5_ = (bitField5_ & ~0x01000000);
29453 lpPrimalTolerance_ = 1e-07D;
29454 onChanged();
29455 return this;
29456 }
29457
29458 private double lpDualTolerance_ = 1e-07D;
29463 @java.lang.Override
29464 public boolean hasLpDualTolerance() {
29465 return ((bitField5_ & 0x02000000) != 0);
29466 }
29471 @java.lang.Override
29472 public double getLpDualTolerance() {
29473 return lpDualTolerance_;
29474 }
29480 public Builder setLpDualTolerance(double value) {
29481
29482 lpDualTolerance_ = value;
29483 bitField5_ |= 0x02000000;
29484 onChanged();
29485 return this;
29486 }
29492 bitField5_ = (bitField5_ & ~0x02000000);
29493 lpDualTolerance_ = 1e-07D;
29494 onChanged();
29495 return this;
29496 }
29497
29498 private boolean convertIntervals_ = true;
29509 @java.lang.Override
29510 public boolean hasConvertIntervals() {
29511 return ((bitField5_ & 0x04000000) != 0);
29512 }
29523 @java.lang.Override
29524 public boolean getConvertIntervals() {
29525 return convertIntervals_;
29526 }
29538 public Builder setConvertIntervals(boolean value) {
29539
29540 convertIntervals_ = value;
29541 bitField5_ |= 0x04000000;
29542 onChanged();
29543 return this;
29544 }
29556 bitField5_ = (bitField5_ & ~0x04000000);
29557 convertIntervals_ = true;
29558 onChanged();
29559 return this;
29560 }
29561
29562 private int symmetryLevel_ = 2;
29574 @java.lang.Override
29575 public boolean hasSymmetryLevel() {
29576 return ((bitField5_ & 0x08000000) != 0);
29577 }
29589 @java.lang.Override
29590 public int getSymmetryLevel() {
29591 return symmetryLevel_;
29592 }
29605 public Builder setSymmetryLevel(int value) {
29606
29607 symmetryLevel_ = value;
29608 bitField5_ |= 0x08000000;
29609 onChanged();
29610 return this;
29611 }
29624 bitField5_ = (bitField5_ & ~0x08000000);
29625 symmetryLevel_ = 2;
29626 onChanged();
29627 return this;
29628 }
29629
29630 private boolean newLinearPropagation_ ;
29639 @java.lang.Override
29640 public boolean hasNewLinearPropagation() {
29641 return ((bitField5_ & 0x10000000) != 0);
29642 }
29651 @java.lang.Override
29652 public boolean getNewLinearPropagation() {
29653 return newLinearPropagation_;
29654 }
29664 public Builder setNewLinearPropagation(boolean value) {
29665
29666 newLinearPropagation_ = value;
29667 bitField5_ |= 0x10000000;
29668 onChanged();
29669 return this;
29670 }
29680 bitField5_ = (bitField5_ & ~0x10000000);
29681 newLinearPropagation_ = false;
29682 onChanged();
29683 return this;
29684 }
29685
29686 private int linearSplitSize_ = 100;
29697 @java.lang.Override
29698 public boolean hasLinearSplitSize() {
29699 return ((bitField5_ & 0x20000000) != 0);
29700 }
29711 @java.lang.Override
29712 public int getLinearSplitSize() {
29713 return linearSplitSize_;
29714 }
29726 public Builder setLinearSplitSize(int value) {
29727
29728 linearSplitSize_ = value;
29729 bitField5_ |= 0x20000000;
29730 onChanged();
29731 return this;
29732 }
29744 bitField5_ = (bitField5_ & ~0x20000000);
29745 linearSplitSize_ = 100;
29746 onChanged();
29747 return this;
29748 }
29749
29750 private int linearizationLevel_ = 1;
29762 @java.lang.Override
29763 public boolean hasLinearizationLevel() {
29764 return ((bitField5_ & 0x40000000) != 0);
29765 }
29777 @java.lang.Override
29779 return linearizationLevel_;
29780 }
29793 public Builder setLinearizationLevel(int value) {
29794
29795 linearizationLevel_ = value;
29796 bitField5_ |= 0x40000000;
29797 onChanged();
29798 return this;
29799 }
29812 bitField5_ = (bitField5_ & ~0x40000000);
29813 linearizationLevel_ = 1;
29814 onChanged();
29815 return this;
29816 }
29817
29818 private int booleanEncodingLevel_ = 1;
29828 @java.lang.Override
29829 public boolean hasBooleanEncodingLevel() {
29830 return ((bitField5_ & 0x80000000) != 0);
29831 }
29841 @java.lang.Override
29843 return booleanEncodingLevel_;
29844 }
29856
29857 booleanEncodingLevel_ = value;
29858 bitField5_ |= 0x80000000;
29859 onChanged();
29860 return this;
29861 }
29872 bitField5_ = (bitField5_ & ~0x80000000);
29873 booleanEncodingLevel_ = 1;
29874 onChanged();
29875 return this;
29876 }
29877
29878 private int maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
29890 @java.lang.Override
29892 return ((bitField6_ & 0x00000001) != 0);
29893 }
29905 @java.lang.Override
29907 return maxDomainSizeWhenEncodingEqNeqConstraints_;
29908 }
29922
29923 maxDomainSizeWhenEncodingEqNeqConstraints_ = value;
29924 bitField6_ |= 0x00000001;
29925 onChanged();
29926 return this;
29927 }
29940 bitField6_ = (bitField6_ & ~0x00000001);
29941 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
29942 onChanged();
29943 return this;
29944 }
29945
29946 private int maxNumCuts_ = 10000;
29959 @java.lang.Override
29960 public boolean hasMaxNumCuts() {
29961 return ((bitField6_ & 0x00000002) != 0);
29962 }
29975 @java.lang.Override
29976 public int getMaxNumCuts() {
29977 return maxNumCuts_;
29978 }
29992 public Builder setMaxNumCuts(int value) {
29993
29994 maxNumCuts_ = value;
29995 bitField6_ |= 0x00000002;
29996 onChanged();
29997 return this;
29998 }
30012 bitField6_ = (bitField6_ & ~0x00000002);
30013 maxNumCuts_ = 10000;
30014 onChanged();
30015 return this;
30016 }
30017
30018 private int cutLevel_ = 1;
30029 @java.lang.Override
30030 public boolean hasCutLevel() {
30031 return ((bitField6_ & 0x00000004) != 0);
30032 }
30043 @java.lang.Override
30044 public int getCutLevel() {
30045 return cutLevel_;
30046 }
30058 public Builder setCutLevel(int value) {
30059
30060 cutLevel_ = value;
30061 bitField6_ |= 0x00000004;
30062 onChanged();
30063 return this;
30064 }
30076 bitField6_ = (bitField6_ & ~0x00000004);
30077 cutLevel_ = 1;
30078 onChanged();
30079 return this;
30080 }
30081
30082 private boolean onlyAddCutsAtLevelZero_ ;
30092 @java.lang.Override
30093 public boolean hasOnlyAddCutsAtLevelZero() {
30094 return ((bitField6_ & 0x00000008) != 0);
30095 }
30105 @java.lang.Override
30106 public boolean getOnlyAddCutsAtLevelZero() {
30107 return onlyAddCutsAtLevelZero_;
30108 }
30119 public Builder setOnlyAddCutsAtLevelZero(boolean value) {
30120
30121 onlyAddCutsAtLevelZero_ = value;
30122 bitField6_ |= 0x00000008;
30123 onChanged();
30124 return this;
30125 }
30136 bitField6_ = (bitField6_ & ~0x00000008);
30137 onlyAddCutsAtLevelZero_ = false;
30138 onChanged();
30139 return this;
30140 }
30141
30142 private boolean addObjectiveCut_ ;
30155 @java.lang.Override
30156 public boolean hasAddObjectiveCut() {
30157 return ((bitField6_ & 0x00000010) != 0);
30158 }
30171 @java.lang.Override
30172 public boolean getAddObjectiveCut() {
30173 return addObjectiveCut_;
30174 }
30188 public Builder setAddObjectiveCut(boolean value) {
30189
30190 addObjectiveCut_ = value;
30191 bitField6_ |= 0x00000010;
30192 onChanged();
30193 return this;
30194 }
30208 bitField6_ = (bitField6_ & ~0x00000010);
30209 addObjectiveCut_ = false;
30210 onChanged();
30211 return this;
30212 }
30213
30214 private boolean addCgCuts_ = true;
30224 @java.lang.Override
30225 public boolean hasAddCgCuts() {
30226 return ((bitField6_ & 0x00000020) != 0);
30227 }
30237 @java.lang.Override
30238 public boolean getAddCgCuts() {
30239 return addCgCuts_;
30240 }
30251 public Builder setAddCgCuts(boolean value) {
30252
30253 addCgCuts_ = value;
30254 bitField6_ |= 0x00000020;
30255 onChanged();
30256 return this;
30257 }
30268 bitField6_ = (bitField6_ & ~0x00000020);
30269 addCgCuts_ = true;
30270 onChanged();
30271 return this;
30272 }
30273
30274 private boolean addMirCuts_ = true;
30284 @java.lang.Override
30285 public boolean hasAddMirCuts() {
30286 return ((bitField6_ & 0x00000040) != 0);
30287 }
30297 @java.lang.Override
30298 public boolean getAddMirCuts() {
30299 return addMirCuts_;
30300 }
30311 public Builder setAddMirCuts(boolean value) {
30312
30313 addMirCuts_ = value;
30314 bitField6_ |= 0x00000040;
30315 onChanged();
30316 return this;
30317 }
30328 bitField6_ = (bitField6_ & ~0x00000040);
30329 addMirCuts_ = true;
30330 onChanged();
30331 return this;
30332 }
30333
30334 private boolean addZeroHalfCuts_ = true;
30344 @java.lang.Override
30345 public boolean hasAddZeroHalfCuts() {
30346 return ((bitField6_ & 0x00000080) != 0);
30347 }
30357 @java.lang.Override
30358 public boolean getAddZeroHalfCuts() {
30359 return addZeroHalfCuts_;
30360 }
30371 public Builder setAddZeroHalfCuts(boolean value) {
30372
30373 addZeroHalfCuts_ = value;
30374 bitField6_ |= 0x00000080;
30375 onChanged();
30376 return this;
30377 }
30388 bitField6_ = (bitField6_ & ~0x00000080);
30389 addZeroHalfCuts_ = true;
30390 onChanged();
30391 return this;
30392 }
30393
30394 private boolean addCliqueCuts_ = true;
30405 @java.lang.Override
30406 public boolean hasAddCliqueCuts() {
30407 return ((bitField6_ & 0x00000100) != 0);
30408 }
30419 @java.lang.Override
30420 public boolean getAddCliqueCuts() {
30421 return addCliqueCuts_;
30422 }
30434 public Builder setAddCliqueCuts(boolean value) {
30435
30436 addCliqueCuts_ = value;
30437 bitField6_ |= 0x00000100;
30438 onChanged();
30439 return this;
30440 }
30452 bitField6_ = (bitField6_ & ~0x00000100);
30453 addCliqueCuts_ = true;
30454 onChanged();
30455 return this;
30456 }
30457
30458 private boolean addRltCuts_ = true;
30468 @java.lang.Override
30469 public boolean hasAddRltCuts() {
30470 return ((bitField6_ & 0x00000200) != 0);
30471 }
30481 @java.lang.Override
30482 public boolean getAddRltCuts() {
30483 return addRltCuts_;
30484 }
30495 public Builder setAddRltCuts(boolean value) {
30496
30497 addRltCuts_ = value;
30498 bitField6_ |= 0x00000200;
30499 onChanged();
30500 return this;
30501 }
30512 bitField6_ = (bitField6_ & ~0x00000200);
30513 addRltCuts_ = true;
30514 onChanged();
30515 return this;
30516 }
30517
30518 private int maxAllDiffCutSize_ = 64;
30529 @java.lang.Override
30530 public boolean hasMaxAllDiffCutSize() {
30531 return ((bitField6_ & 0x00000400) != 0);
30532 }
30543 @java.lang.Override
30545 return maxAllDiffCutSize_;
30546 }
30558 public Builder setMaxAllDiffCutSize(int value) {
30559
30560 maxAllDiffCutSize_ = value;
30561 bitField6_ |= 0x00000400;
30562 onChanged();
30563 return this;
30564 }
30576 bitField6_ = (bitField6_ & ~0x00000400);
30577 maxAllDiffCutSize_ = 64;
30578 onChanged();
30579 return this;
30580 }
30581
30582 private boolean addLinMaxCuts_ = true;
30593 @java.lang.Override
30594 public boolean hasAddLinMaxCuts() {
30595 return ((bitField6_ & 0x00000800) != 0);
30596 }
30607 @java.lang.Override
30608 public boolean getAddLinMaxCuts() {
30609 return addLinMaxCuts_;
30610 }
30622 public Builder setAddLinMaxCuts(boolean value) {
30623
30624 addLinMaxCuts_ = value;
30625 bitField6_ |= 0x00000800;
30626 onChanged();
30627 return this;
30628 }
30640 bitField6_ = (bitField6_ & ~0x00000800);
30641 addLinMaxCuts_ = true;
30642 onChanged();
30643 return this;
30644 }
30645
30646 private int maxIntegerRoundingScaling_ = 600;
30662 @java.lang.Override
30664 return ((bitField6_ & 0x00001000) != 0);
30665 }
30681 @java.lang.Override
30683 return maxIntegerRoundingScaling_;
30684 }
30702
30703 maxIntegerRoundingScaling_ = value;
30704 bitField6_ |= 0x00001000;
30705 onChanged();
30706 return this;
30707 }
30724 bitField6_ = (bitField6_ & ~0x00001000);
30725 maxIntegerRoundingScaling_ = 600;
30726 onChanged();
30727 return this;
30728 }
30729
30730 private boolean addLpConstraintsLazily_ = true;
30742 @java.lang.Override
30743 public boolean hasAddLpConstraintsLazily() {
30744 return ((bitField6_ & 0x00002000) != 0);
30745 }
30757 @java.lang.Override
30758 public boolean getAddLpConstraintsLazily() {
30759 return addLpConstraintsLazily_;
30760 }
30773 public Builder setAddLpConstraintsLazily(boolean value) {
30774
30775 addLpConstraintsLazily_ = value;
30776 bitField6_ |= 0x00002000;
30777 onChanged();
30778 return this;
30779 }
30792 bitField6_ = (bitField6_ & ~0x00002000);
30793 addLpConstraintsLazily_ = true;
30794 onChanged();
30795 return this;
30796 }
30797
30798 private int rootLpIterations_ = 2000;
30810 @java.lang.Override
30811 public boolean hasRootLpIterations() {
30812 return ((bitField6_ & 0x00004000) != 0);
30813 }
30825 @java.lang.Override
30826 public int getRootLpIterations() {
30827 return rootLpIterations_;
30828 }
30841 public Builder setRootLpIterations(int value) {
30842
30843 rootLpIterations_ = value;
30844 bitField6_ |= 0x00004000;
30845 onChanged();
30846 return this;
30847 }
30860 bitField6_ = (bitField6_ & ~0x00004000);
30861 rootLpIterations_ = 2000;
30862 onChanged();
30863 return this;
30864 }
30865
30866 private double minOrthogonalityForLpConstraints_ = 0.05D;
30879 @java.lang.Override
30881 return ((bitField6_ & 0x00008000) != 0);
30882 }
30895 @java.lang.Override
30897 return minOrthogonalityForLpConstraints_;
30898 }
30913
30914 minOrthogonalityForLpConstraints_ = value;
30915 bitField6_ |= 0x00008000;
30916 onChanged();
30917 return this;
30918 }
30932 bitField6_ = (bitField6_ & ~0x00008000);
30933 minOrthogonalityForLpConstraints_ = 0.05D;
30934 onChanged();
30935 return this;
30936 }
30937
30938 private int maxCutRoundsAtLevelZero_ = 1;
30947 @java.lang.Override
30949 return ((bitField6_ & 0x00010000) != 0);
30950 }
30959 @java.lang.Override
30961 return maxCutRoundsAtLevelZero_;
30962 }
30973
30974 maxCutRoundsAtLevelZero_ = value;
30975 bitField6_ |= 0x00010000;
30976 onChanged();
30977 return this;
30978 }
30988 bitField6_ = (bitField6_ & ~0x00010000);
30989 maxCutRoundsAtLevelZero_ = 1;
30990 onChanged();
30991 return this;
30992 }
30993
30994 private int maxConsecutiveInactiveCount_ = 100;
31005 @java.lang.Override
31007 return ((bitField6_ & 0x00020000) != 0);
31008 }
31019 @java.lang.Override
31021 return maxConsecutiveInactiveCount_;
31022 }
31035
31036 maxConsecutiveInactiveCount_ = value;
31037 bitField6_ |= 0x00020000;
31038 onChanged();
31039 return this;
31040 }
31052 bitField6_ = (bitField6_ & ~0x00020000);
31053 maxConsecutiveInactiveCount_ = 100;
31054 onChanged();
31055 return this;
31056 }
31057
31058 private double cutMaxActiveCountValue_ = 10000000000D;
31069 @java.lang.Override
31070 public boolean hasCutMaxActiveCountValue() {
31071 return ((bitField6_ & 0x00040000) != 0);
31072 }
31083 @java.lang.Override
31085 return cutMaxActiveCountValue_;
31086 }
31098 public Builder setCutMaxActiveCountValue(double value) {
31099
31100 cutMaxActiveCountValue_ = value;
31101 bitField6_ |= 0x00040000;
31102 onChanged();
31103 return this;
31104 }
31116 bitField6_ = (bitField6_ & ~0x00040000);
31117 cutMaxActiveCountValue_ = 10000000000D;
31118 onChanged();
31119 return this;
31120 }
31121
31122 private double cutActiveCountDecay_ = 0.8D;
31127 @java.lang.Override
31128 public boolean hasCutActiveCountDecay() {
31129 return ((bitField6_ & 0x00080000) != 0);
31130 }
31135 @java.lang.Override
31136 public double getCutActiveCountDecay() {
31137 return cutActiveCountDecay_;
31138 }
31144 public Builder setCutActiveCountDecay(double value) {
31145
31146 cutActiveCountDecay_ = value;
31147 bitField6_ |= 0x00080000;
31148 onChanged();
31149 return this;
31150 }
31156 bitField6_ = (bitField6_ & ~0x00080000);
31157 cutActiveCountDecay_ = 0.8D;
31158 onChanged();
31159 return this;
31160 }
31161
31162 private int cutCleanupTarget_ = 1000;
31171 @java.lang.Override
31172 public boolean hasCutCleanupTarget() {
31173 return ((bitField6_ & 0x00100000) != 0);
31174 }
31183 @java.lang.Override
31184 public int getCutCleanupTarget() {
31185 return cutCleanupTarget_;
31186 }
31196 public Builder setCutCleanupTarget(int value) {
31197
31198 cutCleanupTarget_ = value;
31199 bitField6_ |= 0x00100000;
31200 onChanged();
31201 return this;
31202 }
31212 bitField6_ = (bitField6_ & ~0x00100000);
31213 cutCleanupTarget_ = 1000;
31214 onChanged();
31215 return this;
31216 }
31217
31218 private int newConstraintsBatchSize_ = 50;
31228 @java.lang.Override
31230 return ((bitField6_ & 0x00200000) != 0);
31231 }
31241 @java.lang.Override
31243 return newConstraintsBatchSize_;
31244 }
31256
31257 newConstraintsBatchSize_ = value;
31258 bitField6_ |= 0x00200000;
31259 onChanged();
31260 return this;
31261 }
31272 bitField6_ = (bitField6_ & ~0x00200000);
31273 newConstraintsBatchSize_ = 50;
31274 onChanged();
31275 return this;
31276 }
31277
31278 private boolean exploitIntegerLpSolution_ = true;
31290 @java.lang.Override
31292 return ((bitField6_ & 0x00400000) != 0);
31293 }
31305 @java.lang.Override
31307 return exploitIntegerLpSolution_;
31308 }
31321 public Builder setExploitIntegerLpSolution(boolean value) {
31322
31323 exploitIntegerLpSolution_ = value;
31324 bitField6_ |= 0x00400000;
31325 onChanged();
31326 return this;
31327 }
31340 bitField6_ = (bitField6_ & ~0x00400000);
31341 exploitIntegerLpSolution_ = true;
31342 onChanged();
31343 return this;
31344 }
31345
31346 private boolean exploitAllLpSolution_ = true;
31357 @java.lang.Override
31358 public boolean hasExploitAllLpSolution() {
31359 return ((bitField6_ & 0x00800000) != 0);
31360 }
31371 @java.lang.Override
31372 public boolean getExploitAllLpSolution() {
31373 return exploitAllLpSolution_;
31374 }
31386 public Builder setExploitAllLpSolution(boolean value) {
31387
31388 exploitAllLpSolution_ = value;
31389 bitField6_ |= 0x00800000;
31390 onChanged();
31391 return this;
31392 }
31404 bitField6_ = (bitField6_ & ~0x00800000);
31405 exploitAllLpSolution_ = true;
31406 onChanged();
31407 return this;
31408 }
31409
31410 private boolean exploitBestSolution_ ;
31419 @java.lang.Override
31420 public boolean hasExploitBestSolution() {
31421 return ((bitField6_ & 0x01000000) != 0);
31422 }
31431 @java.lang.Override
31432 public boolean getExploitBestSolution() {
31433 return exploitBestSolution_;
31434 }
31444 public Builder setExploitBestSolution(boolean value) {
31445
31446 exploitBestSolution_ = value;
31447 bitField6_ |= 0x01000000;
31448 onChanged();
31449 return this;
31450 }
31460 bitField6_ = (bitField6_ & ~0x01000000);
31461 exploitBestSolution_ = false;
31462 onChanged();
31463 return this;
31464 }
31465
31466 private boolean exploitRelaxationSolution_ ;
31477 @java.lang.Override
31479 return ((bitField6_ & 0x02000000) != 0);
31480 }
31491 @java.lang.Override
31493 return exploitRelaxationSolution_;
31494 }
31507
31508 exploitRelaxationSolution_ = value;
31509 bitField6_ |= 0x02000000;
31510 onChanged();
31511 return this;
31512 }
31524 bitField6_ = (bitField6_ & ~0x02000000);
31525 exploitRelaxationSolution_ = false;
31526 onChanged();
31527 return this;
31528 }
31529
31530 private boolean exploitObjective_ = true;
31540 @java.lang.Override
31541 public boolean hasExploitObjective() {
31542 return ((bitField6_ & 0x04000000) != 0);
31543 }
31553 @java.lang.Override
31554 public boolean getExploitObjective() {
31555 return exploitObjective_;
31556 }
31567 public Builder setExploitObjective(boolean value) {
31568
31569 exploitObjective_ = value;
31570 bitField6_ |= 0x04000000;
31571 onChanged();
31572 return this;
31573 }
31584 bitField6_ = (bitField6_ & ~0x04000000);
31585 exploitObjective_ = true;
31586 onChanged();
31587 return this;
31588 }
31589
31590 private boolean detectLinearizedProduct_ ;
31601 @java.lang.Override
31603 return ((bitField6_ & 0x08000000) != 0);
31604 }
31615 @java.lang.Override
31617 return detectLinearizedProduct_;
31618 }
31630 public Builder setDetectLinearizedProduct(boolean value) {
31631
31632 detectLinearizedProduct_ = value;
31633 bitField6_ |= 0x08000000;
31634 onChanged();
31635 return this;
31636 }
31648 bitField6_ = (bitField6_ & ~0x08000000);
31649 detectLinearizedProduct_ = false;
31650 onChanged();
31651 return this;
31652 }
31653
31654 private double mipMaxBound_ = 10000000D;
31665 @java.lang.Override
31666 public boolean hasMipMaxBound() {
31667 return ((bitField6_ & 0x10000000) != 0);
31668 }
31679 @java.lang.Override
31680 public double getMipMaxBound() {
31681 return mipMaxBound_;
31682 }
31694 public Builder setMipMaxBound(double value) {
31695
31696 mipMaxBound_ = value;
31697 bitField6_ |= 0x10000000;
31698 onChanged();
31699 return this;
31700 }
31712 bitField6_ = (bitField6_ & ~0x10000000);
31713 mipMaxBound_ = 10000000D;
31714 onChanged();
31715 return this;
31716 }
31717
31718 private double mipVarScaling_ = 1D;
31729 @java.lang.Override
31730 public boolean hasMipVarScaling() {
31731 return ((bitField6_ & 0x20000000) != 0);
31732 }
31743 @java.lang.Override
31744 public double getMipVarScaling() {
31745 return mipVarScaling_;
31746 }
31758 public Builder setMipVarScaling(double value) {
31759
31760 mipVarScaling_ = value;
31761 bitField6_ |= 0x20000000;
31762 onChanged();
31763 return this;
31764 }
31776 bitField6_ = (bitField6_ & ~0x20000000);
31777 mipVarScaling_ = 1D;
31778 onChanged();
31779 return this;
31780 }
31781
31782 private boolean mipScaleLargeDomain_ ;
31793 @java.lang.Override
31794 public boolean hasMipScaleLargeDomain() {
31795 return ((bitField6_ & 0x40000000) != 0);
31796 }
31807 @java.lang.Override
31808 public boolean getMipScaleLargeDomain() {
31809 return mipScaleLargeDomain_;
31810 }
31822 public Builder setMipScaleLargeDomain(boolean value) {
31823
31824 mipScaleLargeDomain_ = value;
31825 bitField6_ |= 0x40000000;
31826 onChanged();
31827 return this;
31828 }
31840 bitField6_ = (bitField6_ & ~0x40000000);
31841 mipScaleLargeDomain_ = false;
31842 onChanged();
31843 return this;
31844 }
31845
31846 private boolean mipAutomaticallyScaleVariables_ = true;
31859 @java.lang.Override
31861 return ((bitField6_ & 0x80000000) != 0);
31862 }
31875 @java.lang.Override
31877 return mipAutomaticallyScaleVariables_;
31878 }
31893
31894 mipAutomaticallyScaleVariables_ = value;
31895 bitField6_ |= 0x80000000;
31896 onChanged();
31897 return this;
31898 }
31912 bitField6_ = (bitField6_ & ~0x80000000);
31913 mipAutomaticallyScaleVariables_ = true;
31914 onChanged();
31915 return this;
31916 }
31917
31918 private boolean onlySolveIp_ ;
31938 @java.lang.Override
31939 public boolean hasOnlySolveIp() {
31940 return ((bitField7_ & 0x00000001) != 0);
31941 }
31961 @java.lang.Override
31962 public boolean getOnlySolveIp() {
31963 return onlySolveIp_;
31964 }
31985 public Builder setOnlySolveIp(boolean value) {
31986
31987 onlySolveIp_ = value;
31988 bitField7_ |= 0x00000001;
31989 onChanged();
31990 return this;
31991 }
32012 bitField7_ = (bitField7_ & ~0x00000001);
32013 onlySolveIp_ = false;
32014 onChanged();
32015 return this;
32016 }
32017
32018 private double mipWantedPrecision_ = 1e-06D;
32043 @java.lang.Override
32044 public boolean hasMipWantedPrecision() {
32045 return ((bitField7_ & 0x00000002) != 0);
32046 }
32071 @java.lang.Override
32072 public double getMipWantedPrecision() {
32073 return mipWantedPrecision_;
32074 }
32100 public Builder setMipWantedPrecision(double value) {
32101
32102 mipWantedPrecision_ = value;
32103 bitField7_ |= 0x00000002;
32104 onChanged();
32105 return this;
32106 }
32132 bitField7_ = (bitField7_ & ~0x00000002);
32133 mipWantedPrecision_ = 1e-06D;
32134 onChanged();
32135 return this;
32136 }
32137
32138 private int mipMaxActivityExponent_ = 53;
32154 @java.lang.Override
32155 public boolean hasMipMaxActivityExponent() {
32156 return ((bitField7_ & 0x00000004) != 0);
32157 }
32173 @java.lang.Override
32175 return mipMaxActivityExponent_;
32176 }
32194
32195 mipMaxActivityExponent_ = value;
32196 bitField7_ |= 0x00000004;
32197 onChanged();
32198 return this;
32199 }
32216 bitField7_ = (bitField7_ & ~0x00000004);
32217 mipMaxActivityExponent_ = 53;
32218 onChanged();
32219 return this;
32220 }
32221
32222 private double mipCheckPrecision_ = 0.0001D;
32233 @java.lang.Override
32234 public boolean hasMipCheckPrecision() {
32235 return ((bitField7_ & 0x00000008) != 0);
32236 }
32247 @java.lang.Override
32248 public double getMipCheckPrecision() {
32249 return mipCheckPrecision_;
32250 }
32262 public Builder setMipCheckPrecision(double value) {
32263
32264 mipCheckPrecision_ = value;
32265 bitField7_ |= 0x00000008;
32266 onChanged();
32267 return this;
32268 }
32280 bitField7_ = (bitField7_ & ~0x00000008);
32281 mipCheckPrecision_ = 0.0001D;
32282 onChanged();
32283 return this;
32284 }
32285
32286 private boolean mipComputeTrueObjectiveBound_ = true;
32299 @java.lang.Override
32301 return ((bitField7_ & 0x00000010) != 0);
32302 }
32315 @java.lang.Override
32317 return mipComputeTrueObjectiveBound_;
32318 }
32333
32334 mipComputeTrueObjectiveBound_ = value;
32335 bitField7_ |= 0x00000010;
32336 onChanged();
32337 return this;
32338 }
32352 bitField7_ = (bitField7_ & ~0x00000010);
32353 mipComputeTrueObjectiveBound_ = true;
32354 onChanged();
32355 return this;
32356 }
32357
32358 private double mipMaxValidMagnitude_ = 1e+20D;
32371 @java.lang.Override
32372 public boolean hasMipMaxValidMagnitude() {
32373 return ((bitField7_ & 0x00000020) != 0);
32374 }
32387 @java.lang.Override
32388 public double getMipMaxValidMagnitude() {
32389 return mipMaxValidMagnitude_;
32390 }
32404 public Builder setMipMaxValidMagnitude(double value) {
32405
32406 mipMaxValidMagnitude_ = value;
32407 bitField7_ |= 0x00000020;
32408 onChanged();
32409 return this;
32410 }
32424 bitField7_ = (bitField7_ & ~0x00000020);
32425 mipMaxValidMagnitude_ = 1e+20D;
32426 onChanged();
32427 return this;
32428 }
32429
32430 private boolean mipTreatHighMagnitudeBoundsAsInfinity_ ;
32444 @java.lang.Override
32446 return ((bitField7_ & 0x00000040) != 0);
32447 }
32461 @java.lang.Override
32463 return mipTreatHighMagnitudeBoundsAsInfinity_;
32464 }
32480
32481 mipTreatHighMagnitudeBoundsAsInfinity_ = value;
32482 bitField7_ |= 0x00000040;
32483 onChanged();
32484 return this;
32485 }
32500 bitField7_ = (bitField7_ & ~0x00000040);
32501 mipTreatHighMagnitudeBoundsAsInfinity_ = false;
32502 onChanged();
32503 return this;
32504 }
32505
32506 private double mipDropTolerance_ = 1e-16D;
32516 @java.lang.Override
32517 public boolean hasMipDropTolerance() {
32518 return ((bitField7_ & 0x00000080) != 0);
32519 }
32529 @java.lang.Override
32530 public double getMipDropTolerance() {
32531 return mipDropTolerance_;
32532 }
32543 public Builder setMipDropTolerance(double value) {
32544
32545 mipDropTolerance_ = value;
32546 bitField7_ |= 0x00000080;
32547 onChanged();
32548 return this;
32549 }
32560 bitField7_ = (bitField7_ & ~0x00000080);
32561 mipDropTolerance_ = 1e-16D;
32562 onChanged();
32563 return this;
32564 }
32565
32566 private int mipPresolveLevel_ = 2;
32578 @java.lang.Override
32579 public boolean hasMipPresolveLevel() {
32580 return ((bitField7_ & 0x00000100) != 0);
32581 }
32593 @java.lang.Override
32594 public int getMipPresolveLevel() {
32595 return mipPresolveLevel_;
32596 }
32609 public Builder setMipPresolveLevel(int value) {
32610
32611 mipPresolveLevel_ = value;
32612 bitField7_ |= 0x00000100;
32613 onChanged();
32614 return this;
32615 }
32628 bitField7_ = (bitField7_ & ~0x00000100);
32629 mipPresolveLevel_ = 2;
32630 onChanged();
32631 return this;
32632 }
32633 @java.lang.Override
32635 final com.google.protobuf.UnknownFieldSet unknownFields) {
32636 return super.setUnknownFields(unknownFields);
32637 }
32638
32639 @java.lang.Override
32641 final com.google.protobuf.UnknownFieldSet unknownFields) {
32642 return super.mergeUnknownFields(unknownFields);
32643 }
32644
32645
32646 // @@protoc_insertion_point(builder_scope:operations_research.sat.SatParameters)
32647 }
32648
32649 // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
32650 private static final com.google.ortools.sat.SatParameters DEFAULT_INSTANCE;
32651 static {
32652 DEFAULT_INSTANCE = new com.google.ortools.sat.SatParameters();
32653 }
32654
32656 return DEFAULT_INSTANCE;
32657 }
32658
32659 @java.lang.Deprecated public static final com.google.protobuf.Parser<SatParameters>
32660 PARSER = new com.google.protobuf.AbstractParser<SatParameters>() {
32661 @java.lang.Override
32662 public SatParameters parsePartialFrom(
32663 com.google.protobuf.CodedInputStream input,
32664 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
32665 throws com.google.protobuf.InvalidProtocolBufferException {
32666 Builder builder = newBuilder();
32667 try {
32668 builder.mergeFrom(input, extensionRegistry);
32669 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
32670 throw e.setUnfinishedMessage(builder.buildPartial());
32671 } catch (com.google.protobuf.UninitializedMessageException e) {
32672 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
32673 } catch (java.io.IOException e) {
32674 throw new com.google.protobuf.InvalidProtocolBufferException(e)
32675 .setUnfinishedMessage(builder.buildPartial());
32676 }
32677 return builder.buildPartial();
32678 }
32679 };
32680
32681 public static com.google.protobuf.Parser<SatParameters> parser() {
32682 return PARSER;
32683 }
32684
32685 @java.lang.Override
32686 public com.google.protobuf.Parser<SatParameters> getParserForType() {
32687 return PARSER;
32688 }
32689
32690 @java.lang.Override
32692 return DEFAULT_INSTANCE;
32693 }
32694
32695}
32696
Builder setUsePrecedencesInDisjunctiveConstraint(boolean value)
Builder addIgnoreSubsolvers(java.lang.String value)
com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value)
com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
com.google.ortools.sat.SatParameters getDefaultInstanceForType()
com.google.protobuf.ProtocolStringList getIgnoreSubsolversList()
java.util.List< com.google.ortools.sat.SatParameters > getSubsolverParamsList()
Builder setLogPrefix(java.lang.String value)
Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value)
Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
Builder addAllSubsolvers(java.lang.Iterable< java.lang.String > values)
final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
Builder setExtraSubsolvers(int index, java.lang.String value)
Builder setSubsolverParams(int index, com.google.ortools.sat.SatParameters.Builder builderForValue)
com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
Builder setUseTimetableEdgeFindingInCumulative(boolean value)
com.google.ortools.sat.SatParametersOrBuilder getSubsolverParamsOrBuilder(int index)
Builder addIgnoreSubsolversBytes(com.google.protobuf.ByteString value)
Builder addSubsolverParams(com.google.ortools.sat.SatParameters.Builder builderForValue)
com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy getSharedTreeSplitStrategy()
com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
Builder addExtraSubsolversBytes(com.google.protobuf.ByteString value)
com.google.ortools.sat.SatParameters.Builder addSubsolverParamsBuilder()
Builder addSubsolverParams(int index, com.google.ortools.sat.SatParameters value)
Builder setIgnoreSubsolvers(int index, java.lang.String value)
com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
com.google.ortools.sat.SatParameters.Builder addSubsolverParamsBuilder(int index)
com.google.protobuf.ByteString getSubsolversBytes(int index)
Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
Builder setUseDynamicPrecedenceInDisjunctive(boolean value)
Builder mergeFrom(com.google.protobuf.Message other)
Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value)
Builder setSubsumptionDuringConflictAnalysis(boolean value)
Builder addSubsolverParams(int index, com.google.ortools.sat.SatParameters.Builder builderForValue)
com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
Builder setSharedTreeWorkerObjectiveSplitProbability(double value)
Builder setRestartAlgorithms(int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value)
Builder setUseDisjunctiveConstraintInCumulative(boolean value)
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder setEncodeComplexLinearConstraintWithInteger(boolean value)
Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value)
Builder setUseEnergeticReasoningInNoOverlap2D(boolean value)
Builder setKeepAllFeasibleSolutionsInPresolve(boolean value)
Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder setUseAreaEnergeticReasoningInNoOverlap2D(boolean value)
Builder setDefaultRestartAlgorithms(java.lang.String value)
Builder addExtraSubsolvers(java.lang.String value)
Builder setPresolveProbingDeterministicTimeLimit(double value)
Builder setLogPrefixBytes(com.google.protobuf.ByteString value)
com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
Builder addSubsolversBytes(com.google.protobuf.ByteString value)
Builder addSubsolvers(java.lang.String value)
com.google.ortools.sat.SatParameters build()
java.util.List< com.google.ortools.sat.SatParameters.Builder > getSubsolverParamsBuilderList()
com.google.protobuf.ByteString getIgnoreSubsolversBytes(int index)
Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value)
Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value)
Builder setSharedTreeSplitStrategy(com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy value)
Builder addAllRestartAlgorithms(java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm > values)
Builder addSubsolverParams(com.google.ortools.sat.SatParameters value)
Builder setMipTreatHighMagnitudeBoundsAsInfinity(boolean value)
Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value)
Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value)
com.google.protobuf.ByteString getLogPrefixBytes()
Builder setFeasibilityJumpVarRandomizationProbability(double value)
com.google.protobuf.ProtocolStringList getSubsolversList()
Builder setAlsoBumpVariablesInConflictReasons(boolean value)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
Builder setNameBytes(com.google.protobuf.ByteString value)
Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
com.google.ortools.sat.SatParameters getSubsolverParams(int index)
com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
Builder setDefaultRestartAlgorithmsBytes(com.google.protobuf.ByteString value)
Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value)
com.google.protobuf.ByteString getNameBytes()
Builder setUseStrongPropagationInDisjunctive(boolean value)
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
Builder setMinimizeReductionDuringPbResolution(boolean value)
Builder addAllSubsolverParams(java.lang.Iterable<? extends com.google.ortools.sat.SatParameters > values)
Builder setFillAdditionalSolutionsInResponse(boolean value)
Builder addAllExtraSubsolvers(java.lang.Iterable< java.lang.String > values)
com.google.ortools.sat.SatParameters buildPartial()
com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
Builder setAutoDetectGreaterThanAtLeastOneOf(boolean value)
com.google.protobuf.ProtocolStringList getExtraSubsolversList()
Builder mergeFrom(com.google.ortools.sat.SatParameters other)
java.util.List<? extends com.google.ortools.sat.SatParametersOrBuilder > getSubsolverParamsOrBuilderList()
Builder setFeasibilityJumpVarPerburbationRangeRatio(double value)
com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
com.google.protobuf.ByteString getExtraSubsolversBytes(int index)
Builder addAllIgnoreSubsolvers(java.lang.Iterable< java.lang.String > values)
Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value)
Builder setSubsolverParams(int index, com.google.ortools.sat.SatParameters value)
com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
Builder setPresolveExtractIntegerEnforcement(boolean value)
Builder setMaxSizeToCreatePrecedenceLiteralsInDisjunctive(int value)
Builder setSubsolvers(int index, java.lang.String value)
com.google.ortools.sat.SatParameters.Builder getSubsolverParamsBuilder(int index)
Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value)
com.google.ortools.sat.SatParameters getDefaultInstanceForType()
static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER
static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER
static final int ALSO_BUMP_VARIABLES_IN_CONFLICT_REASONS_FIELD_NUMBER
com.google.protobuf.ByteString getIgnoreSubsolversBytes(int index)
static final int FILL_ADDITIONAL_SOLUTIONS_IN_RESPONSE_FIELD_NUMBER
static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER
static final int USE_DUAL_SCHEDULING_HEURISTICS_FIELD_NUMBER
static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER
com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER
com.google.protobuf.ProtocolStringList getSubsolversList()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER
static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER
static final int AUTO_DETECT_GREATER_THAN_AT_LEAST_ONE_OF_FIELD_NUMBER
static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER
static final int USE_HARD_PRECEDENCES_IN_CUMULATIVE_FIELD_NUMBER
static final int MIP_TREAT_HIGH_MAGNITUDE_BOUNDS_AS_INFINITY_FIELD_NUMBER
static final int PRESOLVE_INCLUSION_WORK_LIMIT_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER
com.google.ortools.sat.SatParameters getSubsolverParams(int index)
static final int FIX_VARIABLES_TO_THEIR_HINTED_VALUE_FIELD_NUMBER
static final int SHARED_TREE_SPLIT_STRATEGY_FIELD_NUMBER
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
static final int AT_MOST_ONE_MAX_EXPANSION_SIZE_FIELD_NUMBER
static final int MIP_MAX_VALID_MAGNITUDE_FIELD_NUMBER
static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER
static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER
static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER
static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER
static final int DEBUG_MAX_NUM_PRESOLVE_OPERATIONS_FIELD_NUMBER
java.util.List<? extends com.google.ortools.sat.SatParametersOrBuilder > getSubsolverParamsOrBuilderList()
static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER
static Builder newBuilder(com.google.ortools.sat.SatParameters prototype)
static final int USE_TIMETABLE_EDGE_FINDING_IN_CUMULATIVE_FIELD_NUMBER
static final int USE_ENERGETIC_REASONING_IN_NO_OVERLAP_2D_FIELD_NUMBER
static final int EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER
com.google.protobuf.ByteString getExtraSubsolversBytes(int index)
static final int PERMUTE_PRESOLVE_CONSTRAINT_ORDER_FIELD_NUMBER
static final int KEEP_ALL_FEASIBLE_SOLUTIONS_IN_PRESOLVE_FIELD_NUMBER
com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER
static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER
static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER
com.google.ortools.sat.SatParametersOrBuilder getSubsolverParamsOrBuilder(int index)
com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
static final int MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER
com.google.protobuf.ByteString getLogPrefixBytes()
static final int USE_OBJECTIVE_LB_SEARCH_FIELD_NUMBER
static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER
com.google.protobuf.Parser< SatParameters > getParserForType()
static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy getSharedTreeSplitStrategy()
static final int USE_OBJECTIVE_SHAVING_SEARCH_FIELD_NUMBER
static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER
static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER
static com.google.protobuf.Parser< SatParameters > parser()
static final int PRESOLVE_EXTRACT_INTEGER_ENFORCEMENT_FIELD_NUMBER
static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER
static final int INPROCESSING_DTIME_RATIO_FIELD_NUMBER
static final int USE_DYNAMIC_PRECEDENCE_IN_CUMULATIVE_FIELD_NUMBER
static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER
static final int FEASIBILITY_JUMP_MAX_EXPANDED_CONSTRAINT_SIZE_FIELD_NUMBER
static final int CORE_MINIMIZATION_LEVEL_FIELD_NUMBER
static final int SHARED_TREE_WORKER_OBJECTIVE_SPLIT_PROBABILITY_FIELD_NUMBER
static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER
static final int OPTIMIZE_WITH_LB_TREE_SEARCH_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data)
com.google.protobuf.ByteString getNameBytes()
static final int VIOLATION_LS_COMPOUND_MOVE_PROBABILITY_FIELD_NUMBER
com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
static final int MAX_NUM_INTERVALS_FOR_TIMETABLE_EDGE_FINDING_FIELD_NUMBER
static final int USE_SHAVING_IN_PROBING_SEARCH_FIELD_NUMBER
static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER
static final int MAX_PAIRS_PAIRWISE_REASONING_IN_NO_OVERLAP_2D_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
java.util.List< com.google.ortools.sat.SatParameters > getSubsolverParamsList()
static final int DEBUG_POSTSOLVE_WITH_FULL_SOLVER_FIELD_NUMBER
static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER
static final int FEASIBILITY_JUMP_ENABLE_RESTARTS_FIELD_NUMBER
static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER
static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER
static final int NUM_CONFLICTS_BEFORE_STRATEGY_CHANGES_FIELD_NUMBER
static final int EXPLOIT_ALL_PRECEDENCES_FIELD_NUMBER
static final int VIOLATION_LS_PERTURBATION_PERIOD_FIELD_NUMBER
static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER
static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER
void writeTo(com.google.protobuf.CodedOutputStream output)
java.lang.String getIgnoreSubsolvers(int index)
com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
static final int FILL_TIGHTENED_DOMAINS_IN_RESPONSE_FIELD_NUMBER
com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER
static final int FIND_BIG_LINEAR_OVERLAP_FIELD_NUMBER
static final int STOP_AFTER_ROOT_PROPAGATION_FIELD_NUMBER
static final int FEASIBILITY_JUMP_RESTART_FACTOR_FIELD_NUMBER
static final int USE_PRECEDENCES_IN_DISJUNCTIVE_CONSTRAINT_FIELD_NUMBER
static final int USE_AREA_ENERGETIC_REASONING_IN_NO_OVERLAP_2D_FIELD_NUMBER
static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER
java.lang.Object newInstance(UnusedPrivateParameter unused)
static com.google.ortools.sat.SatParameters getDefaultInstance()
static final int SHARED_TREE_MAX_NODES_PER_WORKER_FIELD_NUMBER
java.lang.String getSubsolvers(int index)
static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER
static final int INPROCESSING_PROBING_DTIME_FIELD_NUMBER
static final int MAX_SIZE_TO_CREATE_PRECEDENCE_LITERALS_IN_DISJUNCTIVE_FIELD_NUMBER
com.google.protobuf.ByteString getSubsolversBytes(int index)
static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER
static final int SHAVING_SEARCH_DETERMINISTIC_TIME_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input)
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
boolean equals(final java.lang.Object obj)
static final int FEASIBILITY_JUMP_VAR_RANDOMIZATION_PROBABILITY_FIELD_NUMBER
static final int MAX_DOMAIN_SIZE_WHEN_ENCODING_EQ_NEQ_CONSTRAINTS_FIELD_NUMBER
static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER
static final int PROBING_DETERMINISTIC_TIME_LIMIT_FIELD_NUMBER
static final int DEBUG_CRASH_ON_BAD_HINT_FIELD_NUMBER
static final int PROPAGATION_LOOP_DETECTION_FACTOR_FIELD_NUMBER
static final int PRESOLVE_PROBING_DETERMINISTIC_TIME_LIMIT_FIELD_NUMBER
com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
static final int SHARED_TREE_NUM_WORKERS_FIELD_NUMBER
static final int INPROCESSING_MINIMIZATION_DTIME_FIELD_NUMBER
static final int DETECT_LINEARIZED_PRODUCT_FIELD_NUMBER
static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER
static final int MIP_COMPUTE_TRUE_OBJECTIVE_BOUND_FIELD_NUMBER
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER
static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER
com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
static final int MIN_ORTHOGONALITY_FOR_LP_CONSTRAINTS_FIELD_NUMBER
static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER
com.google.protobuf.ProtocolStringList getExtraSubsolversList()
com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER
com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
static final int USE_STRONG_PROPAGATION_IN_DISJUNCTIVE_FIELD_NUMBER
static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER
static final int SUBSUMPTION_DURING_CONFLICT_ANALYSIS_FIELD_NUMBER
static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER
static final int FEASIBILITY_JUMP_LINEARIZATION_LEVEL_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data)
static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER
static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER
static final int MINIMIZE_REDUCTION_DURING_PB_RESOLUTION_FIELD_NUMBER
static final int USE_DISJUNCTIVE_CONSTRAINT_IN_CUMULATIVE_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int FEASIBILITY_JUMP_VAR_PERBURBATION_RANGE_RATIO_FIELD_NUMBER
static final int LOG_SUBSOLVER_STATISTICS_FIELD_NUMBER
static final int USE_TIMETABLING_IN_NO_OVERLAP_2D_FIELD_NUMBER
static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER
Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER
static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.protobuf.ProtocolStringList getIgnoreSubsolversList()
java.lang.String getExtraSubsolvers(int index)
static final int TABLE_COMPRESSION_LEVEL_FIELD_NUMBER
static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER
static final int SEARCH_RANDOM_VARIABLE_POOL_SIZE_FIELD_NUMBER
static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER
static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER
static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER
static final int USE_DYNAMIC_PRECEDENCE_IN_DISJUNCTIVE_FIELD_NUMBER
static final int PROBING_NUM_COMBINATIONS_LIMIT_FIELD_NUMBER
static final int ENCODE_COMPLEX_LINEAR_CONSTRAINT_WITH_INTEGER_FIELD_NUMBER
static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER
static final int USE_OVERLOAD_CHECKER_IN_CUMULATIVE_FIELD_NUMBER
static final com.google.protobuf.Parser< SatParameters > PARSER
static final int PUSH_ALL_TASKS_TOWARD_START_FIELD_NUMBER
static BinaryMinizationAlgorithm valueOf(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static BinaryMinizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< BinaryMinizationAlgorithm > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static BinaryMinizationAlgorithm forNumber(int value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static ClauseOrdering valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Internal.EnumLiteMap< ClauseOrdering > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static ClauseProtection valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Internal.EnumLiteMap< ClauseProtection > internalGetValueMap()
static ConflictMinimizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< ConflictMinimizationAlgorithm > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static ConflictMinimizationAlgorithm forNumber(int value)
static ConflictMinimizationAlgorithm valueOf(int value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static FPRoundingMethod valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Internal.EnumLiteMap< FPRoundingMethod > internalGetValueMap()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< MaxSatAssumptionOrder > internalGetValueMap()
static MaxSatAssumptionOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static MaxSatStratificationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Internal.EnumLiteMap< MaxSatStratificationAlgorithm > internalGetValueMap()
static MaxSatStratificationAlgorithm forNumber(int value)
static MaxSatStratificationAlgorithm valueOf(int value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< Polarity > internalGetValueMap()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static Polarity valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static RestartAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Internal.EnumLiteMap< RestartAlgorithm > internalGetValueMap()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static SearchBranching valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< SearchBranching > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static SharedTreeSplitStrategy valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static SharedTreeSplitStrategy forNumber(int value)
static com.google.protobuf.Internal.EnumLiteMap< SharedTreeSplitStrategy > internalGetValueMap()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static VariableOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< VariableOrder > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()