Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
BopParameters.java
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// NO CHECKED-IN PROTOBUF GENCODE
3// source: ortools/bop/bop_parameters.proto
4// Protobuf Java Version: 4.29.3
5
6package com.google.ortools.bop;
7
18public final class BopParameters extends
19 com.google.protobuf.GeneratedMessage implements
20 // @@protoc_insertion_point(message_implements:operations_research.bop.BopParameters)
22private static final long serialVersionUID = 0L;
23 static {
24 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
25 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
26 /* major= */ 4,
27 /* minor= */ 29,
28 /* patch= */ 3,
29 /* suffix= */ "",
30 BopParameters.class.getName());
31 }
32 // Use BopParameters.newBuilder() to construct.
33 private BopParameters(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
34 super(builder);
35 }
36 private BopParameters() {
37 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
38 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
39 lpMaxDeterministicTime_ = 1D;
40 relativeGapLimit_ = 0.0001D;
41 maxNumDecisionsInLs_ = 4;
42 maxNumBrokenConstraintsInLs_ = 2147483647;
43 computeEstimatedImpact_ = true;
44 useRandomLns_ = true;
45 randomSeed_ = 8;
46 numRelaxedVars_ = 10;
47 maxNumberOfConflictsInRandomLns_ = 2500;
48 numRandomLnsTries_ = 1;
49 maxNumberOfBacktracksInLs_ = 100000000L;
50 useLpLns_ = true;
51 useSatToChooseLnsNeighbourhood_ = true;
52 maxNumberOfConflictsForQuickCheck_ = 10;
53 maxNumberOfConflictsInRandomSolutionGeneration_ = 500;
54 maxNumberOfExploredAssignmentsPerTryInLs_ = 10000L;
55 useTranspositionTableInLs_ = true;
56 useLearnedBinaryClausesInLp_ = true;
57 numberOfSolvers_ = 1;
58 synchronizationType_ = 0;
59 solverOptimizerSets_ = java.util.Collections.emptyList();
60 defaultSolverOptimizerSets_ = "methods:{type:LOCAL_SEARCH } methods:{type:RANDOM_FIRST_SOLUTION } methods:{type:LINEAR_RELAXATION } methods:{type:LP_FIRST_SOLUTION } methods:{type:OBJECTIVE_FIRST_SOLUTION } methods:{type:USER_GUIDED_FIRST_SOLUTION } methods:{type:RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP } methods:{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP } methods:{type:RELATION_GRAPH_LNS } methods:{type:RELATION_GRAPH_LNS_GUIDED_BY_LP } methods:{type:RANDOM_CONSTRAINT_LNS } methods:{type:RANDOM_VARIABLE_LNS } methods:{type:SAT_CORE_BASED } methods:{type:COMPLETE_LNS } ";
61 decomposerNumVariablesThreshold_ = 50;
62 numBopSolversUsedByDecomposition_ = 1;
63 guidedSatConflictsChunk_ = 1000;
64 }
65
66 public static final com.google.protobuf.Descriptors.Descriptor
68 return com.google.ortools.bop.BopParametersOuterClass.internal_static_operations_research_bop_BopParameters_descriptor;
69 }
70
71 @java.lang.Override
72 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
74 return com.google.ortools.bop.BopParametersOuterClass.internal_static_operations_research_bop_BopParameters_fieldAccessorTable
75 .ensureFieldAccessorsInitialized(
76 com.google.ortools.bop.BopParameters.class, com.google.ortools.bop.BopParameters.Builder.class);
77 }
78
88 public enum ThreadSynchronizationType
89 implements com.google.protobuf.ProtocolMessageEnum {
139 ;
140
141 static {
142 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
143 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
144 /* major= */ 4,
145 /* minor= */ 29,
146 /* patch= */ 3,
147 /* suffix= */ "",
148 ThreadSynchronizationType.class.getName());
149 }
164 public static final int NO_SYNCHRONIZATION_VALUE = 0;
180 public static final int SYNCHRONIZE_ALL_VALUE = 1;
198 public static final int SYNCHRONIZE_ON_RIGHT_VALUE = 2;
199
200
201 public final int getNumber() {
202 return value;
203 }
204
210 @java.lang.Deprecated
211 public static ThreadSynchronizationType valueOf(int value) {
212 return forNumber(value);
213 }
214
219 public static ThreadSynchronizationType forNumber(int value) {
220 switch (value) {
221 case 0: return NO_SYNCHRONIZATION;
222 case 1: return SYNCHRONIZE_ALL;
223 case 2: return SYNCHRONIZE_ON_RIGHT;
224 default: return null;
225 }
226 }
227
228 public static com.google.protobuf.Internal.EnumLiteMap<ThreadSynchronizationType>
230 return internalValueMap;
231 }
232 private static final com.google.protobuf.Internal.EnumLiteMap<
233 ThreadSynchronizationType> internalValueMap =
234 new com.google.protobuf.Internal.EnumLiteMap<ThreadSynchronizationType>() {
235 public ThreadSynchronizationType findValueByNumber(int number) {
237 }
238 };
239
240 public final com.google.protobuf.Descriptors.EnumValueDescriptor
242 return getDescriptor().getValues().get(ordinal());
243 }
244 public final com.google.protobuf.Descriptors.EnumDescriptor
246 return getDescriptor();
247 }
248 public static final com.google.protobuf.Descriptors.EnumDescriptor
250 return com.google.ortools.bop.BopParameters.getDescriptor().getEnumTypes().get(0);
251 }
252
253 private static final ThreadSynchronizationType[] VALUES = values();
254
255 public static ThreadSynchronizationType valueOf(
256 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
257 if (desc.getType() != getDescriptor()) {
258 throw new java.lang.IllegalArgumentException(
259 "EnumValueDescriptor is not for this type.");
260 }
261 return VALUES[desc.getIndex()];
262 }
263
264 private final int value;
265
266 private ThreadSynchronizationType(int value) {
267 this.value = value;
268 }
269
270 // @@protoc_insertion_point(enum_scope:operations_research.bop.BopParameters.ThreadSynchronizationType)
271 }
272
273 private int bitField0_;
274 private int bitField1_;
275 public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 1;
276 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
286 @java.lang.Override
287 public boolean hasMaxTimeInSeconds() {
288 return ((bitField0_ & 0x00000001) != 0);
289 }
290
299 @java.lang.Override
300 public double getMaxTimeInSeconds() {
301 return maxTimeInSeconds_;
302 }
303
304 public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 27;
305 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
318 @java.lang.Override
319 public boolean hasMaxDeterministicTime() {
320 return ((bitField0_ & 0x00000002) != 0);
321 }
322
334 @java.lang.Override
335 public double getMaxDeterministicTime() {
336 return maxDeterministicTime_;
337 }
338
339 public static final int LP_MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 37;
340 private double lpMaxDeterministicTime_ = 1D;
351 @java.lang.Override
352 public boolean hasLpMaxDeterministicTime() {
353 return ((bitField0_ & 0x00000004) != 0);
354 }
355
365 @java.lang.Override
367 return lpMaxDeterministicTime_;
368 }
369
371 private int maxNumberOfConsecutiveFailingOptimizerCalls_ = 0;
384 @java.lang.Override
386 return ((bitField0_ & 0x00000008) != 0);
387 }
388
400 @java.lang.Override
402 return maxNumberOfConsecutiveFailingOptimizerCalls_;
403 }
404
405 public static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER = 28;
406 private double relativeGapLimit_ = 0.0001D;
419 @java.lang.Override
420 public boolean hasRelativeGapLimit() {
421 return ((bitField0_ & 0x00000010) != 0);
422 }
423
435 @java.lang.Override
436 public double getRelativeGapLimit() {
437 return relativeGapLimit_;
438 }
439
440 public static final int MAX_NUM_DECISIONS_IN_LS_FIELD_NUMBER = 2;
441 private int maxNumDecisionsInLs_ = 4;
451 @java.lang.Override
452 public boolean hasMaxNumDecisionsInLs() {
453 return ((bitField0_ & 0x00000020) != 0);
454 }
455
464 @java.lang.Override
466 return maxNumDecisionsInLs_;
467 }
468
470 private int maxNumBrokenConstraintsInLs_ = 2147483647;
481 @java.lang.Override
483 return ((bitField0_ & 0x00000040) != 0);
484 }
485
495 @java.lang.Override
497 return maxNumBrokenConstraintsInLs_;
498 }
499
500 public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 14;
501 private boolean logSearchProgress_ = false;
510 @java.lang.Override
511 public boolean hasLogSearchProgress() {
512 return ((bitField0_ & 0x00000080) != 0);
513 }
514
522 @java.lang.Override
523 public boolean getLogSearchProgress() {
524 return logSearchProgress_;
525 }
526
527 public static final int COMPUTE_ESTIMATED_IMPACT_FIELD_NUMBER = 3;
528 private boolean computeEstimatedImpact_ = true;
537 @java.lang.Override
538 public boolean hasComputeEstimatedImpact() {
539 return ((bitField0_ & 0x00000100) != 0);
540 }
541
549 @java.lang.Override
550 public boolean getComputeEstimatedImpact() {
551 return computeEstimatedImpact_;
552 }
553
554 public static final int PRUNE_SEARCH_TREE_FIELD_NUMBER = 4;
555 private boolean pruneSearchTree_ = false;
564 @java.lang.Override
565 public boolean hasPruneSearchTree() {
566 return ((bitField0_ & 0x00000200) != 0);
567 }
568
576 @java.lang.Override
577 public boolean getPruneSearchTree() {
578 return pruneSearchTree_;
579 }
580
582 private boolean sortConstraintsByNumTerms_ = false;
592 @java.lang.Override
594 return ((bitField0_ & 0x00000400) != 0);
595 }
596
605 @java.lang.Override
607 return sortConstraintsByNumTerms_;
608 }
609
610 public static final int USE_RANDOM_LNS_FIELD_NUMBER = 6;
611 private boolean useRandomLns_ = true;
620 @java.lang.Override
621 public boolean hasUseRandomLns() {
622 return ((bitField0_ & 0x00000800) != 0);
623 }
624
632 @java.lang.Override
633 public boolean getUseRandomLns() {
634 return useRandomLns_;
635 }
636
637 public static final int RANDOM_SEED_FIELD_NUMBER = 7;
638 private int randomSeed_ = 8;
651 @java.lang.Override
652 public boolean hasRandomSeed() {
653 return ((bitField0_ & 0x00001000) != 0);
654 }
655
667 @java.lang.Override
668 public int getRandomSeed() {
669 return randomSeed_;
670 }
671
672 public static final int NUM_RELAXED_VARS_FIELD_NUMBER = 8;
673 private int numRelaxedVars_ = 10;
682 @java.lang.Override
683 public boolean hasNumRelaxedVars() {
684 return ((bitField0_ & 0x00002000) != 0);
685 }
686
694 @java.lang.Override
695 public int getNumRelaxedVars() {
696 return numRelaxedVars_;
697 }
698
700 private int maxNumberOfConflictsInRandomLns_ = 2500;
710 @java.lang.Override
712 return ((bitField0_ & 0x00004000) != 0);
713 }
714
723 @java.lang.Override
725 return maxNumberOfConflictsInRandomLns_;
726 }
727
728 public static final int NUM_RANDOM_LNS_TRIES_FIELD_NUMBER = 10;
729 private int numRandomLnsTries_ = 1;
738 @java.lang.Override
739 public boolean hasNumRandomLnsTries() {
740 return ((bitField0_ & 0x00008000) != 0);
741 }
742
750 @java.lang.Override
751 public int getNumRandomLnsTries() {
752 return numRandomLnsTries_;
753 }
754
756 private long maxNumberOfBacktracksInLs_ = 100000000L;
766 @java.lang.Override
768 return ((bitField0_ & 0x00010000) != 0);
769 }
770
779 @java.lang.Override
781 return maxNumberOfBacktracksInLs_;
782 }
783
784 public static final int USE_LP_LNS_FIELD_NUMBER = 12;
785 private boolean useLpLns_ = true;
794 @java.lang.Override
795 public boolean hasUseLpLns() {
796 return ((bitField0_ & 0x00020000) != 0);
797 }
798
806 @java.lang.Override
807 public boolean getUseLpLns() {
808 return useLpLns_;
809 }
810
812 private boolean useSatToChooseLnsNeighbourhood_ = true;
821 @java.lang.Override
823 return ((bitField0_ & 0x00040000) != 0);
824 }
825
833 @java.lang.Override
835 return useSatToChooseLnsNeighbourhood_;
836 }
837
839 private int maxNumberOfConflictsForQuickCheck_ = 10;
849 @java.lang.Override
851 return ((bitField0_ & 0x00080000) != 0);
852 }
853
862 @java.lang.Override
864 return maxNumberOfConflictsForQuickCheck_;
865 }
866
867 public static final int USE_SYMMETRY_FIELD_NUMBER = 17;
868 private boolean useSymmetry_ = false;
881 @java.lang.Override
882 public boolean hasUseSymmetry() {
883 return ((bitField0_ & 0x00100000) != 0);
884 }
885
897 @java.lang.Override
898 public boolean getUseSymmetry() {
899 return useSymmetry_;
900 }
901
903 private boolean exploitSymmetryInSatFirstSolution_ = false;
916 @java.lang.Override
918 return ((bitField0_ & 0x00200000) != 0);
919 }
920
932 @java.lang.Override
934 return exploitSymmetryInSatFirstSolution_;
935 }
936
938 private int maxNumberOfConflictsInRandomSolutionGeneration_ = 500;
947 @java.lang.Override
949 return ((bitField0_ & 0x00400000) != 0);
950 }
951
959 @java.lang.Override
961 return maxNumberOfConflictsInRandomSolutionGeneration_;
962 }
963
965 private long maxNumberOfExploredAssignmentsPerTryInLs_ = 10000L;
977 @java.lang.Override
979 return ((bitField0_ & 0x00800000) != 0);
980 }
981
992 @java.lang.Override
994 return maxNumberOfExploredAssignmentsPerTryInLs_;
995 }
996
997 public static final int USE_TRANSPOSITION_TABLE_IN_LS_FIELD_NUMBER = 22;
998 private boolean useTranspositionTableInLs_ = true;
1010 @java.lang.Override
1012 return ((bitField0_ & 0x01000000) != 0);
1013 }
1014
1025 @java.lang.Override
1027 return useTranspositionTableInLs_;
1028 }
1029
1031 private boolean usePotentialOneFlipRepairsInLs_ = false;
1042 @java.lang.Override
1044 return ((bitField0_ & 0x02000000) != 0);
1045 }
1046
1056 @java.lang.Override
1058 return usePotentialOneFlipRepairsInLs_;
1059 }
1060
1062 private boolean useLearnedBinaryClausesInLp_ = true;
1071 @java.lang.Override
1073 return ((bitField0_ & 0x04000000) != 0);
1074 }
1075
1083 @java.lang.Override
1085 return useLearnedBinaryClausesInLp_;
1086 }
1087
1088 public static final int NUMBER_OF_SOLVERS_FIELD_NUMBER = 24;
1089 private int numberOfSolvers_ = 1;
1100 @java.lang.Override
1101 public boolean hasNumberOfSolvers() {
1102 return ((bitField0_ & 0x08000000) != 0);
1103 }
1104
1114 @java.lang.Override
1115 public int getNumberOfSolvers() {
1116 return numberOfSolvers_;
1117 }
1118
1119 public static final int SYNCHRONIZATION_TYPE_FIELD_NUMBER = 25;
1120 private int synchronizationType_ = 0;
1125 @java.lang.Override public boolean hasSynchronizationType() {
1126 return ((bitField0_ & 0x10000000) != 0);
1127 }
1128
1133 com.google.ortools.bop.BopParameters.ThreadSynchronizationType result = com.google.ortools.bop.BopParameters.ThreadSynchronizationType.forNumber(synchronizationType_);
1135 }
1136
1137 public static final int SOLVER_OPTIMIZER_SETS_FIELD_NUMBER = 26;
1138 @SuppressWarnings("serial")
1139 private java.util.List<com.google.ortools.bop.BopSolverOptimizerSet> solverOptimizerSets_;
1150 @java.lang.Override
1152 return solverOptimizerSets_;
1153 }
1154
1164 @java.lang.Override
1165 public java.util.List<? extends com.google.ortools.bop.BopSolverOptimizerSetOrBuilder>
1167 return solverOptimizerSets_;
1168 }
1169
1179 @java.lang.Override
1181 return solverOptimizerSets_.size();
1182 }
1183
1193 @java.lang.Override
1195 return solverOptimizerSets_.get(index);
1196 }
1197
1207 @java.lang.Override
1209 int index) {
1210 return solverOptimizerSets_.get(index);
1211 }
1212
1214 @SuppressWarnings("serial")
1215 private volatile java.lang.Object defaultSolverOptimizerSets_ = "methods:{type:LOCAL_SEARCH } methods:{type:RANDOM_FIRST_SOLUTION } methods:{type:LINEAR_RELAXATION } methods:{type:LP_FIRST_SOLUTION } methods:{type:OBJECTIVE_FIRST_SOLUTION } methods:{type:USER_GUIDED_FIRST_SOLUTION } methods:{type:RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP } methods:{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP } methods:{type:RELATION_GRAPH_LNS } methods:{type:RELATION_GRAPH_LNS_GUIDED_BY_LP } methods:{type:RANDOM_CONSTRAINT_LNS } methods:{type:RANDOM_VARIABLE_LNS } methods:{type:SAT_CORE_BASED } methods:{type:COMPLETE_LNS } ";
1220 @java.lang.Override
1222 return ((bitField0_ & 0x20000000) != 0);
1223 }
1224
1228 @java.lang.Override
1229 public java.lang.String getDefaultSolverOptimizerSets() {
1230 java.lang.Object ref = defaultSolverOptimizerSets_;
1231 if (ref instanceof java.lang.String) {
1232 return (java.lang.String) ref;
1233 } else {
1234 com.google.protobuf.ByteString bs =
1235 (com.google.protobuf.ByteString) ref;
1236 java.lang.String s = bs.toStringUtf8();
1237 if (bs.isValidUtf8()) {
1238 defaultSolverOptimizerSets_ = s;
1239 }
1240 return s;
1241 }
1242 }
1243
1247 @java.lang.Override
1248 public com.google.protobuf.ByteString
1250 java.lang.Object ref = defaultSolverOptimizerSets_;
1251 if (ref instanceof java.lang.String) {
1252 com.google.protobuf.ByteString b =
1253 com.google.protobuf.ByteString.copyFromUtf8(
1254 (java.lang.String) ref);
1255 defaultSolverOptimizerSets_ = b;
1256 return b;
1257 } else {
1258 return (com.google.protobuf.ByteString) ref;
1259 }
1260 }
1261
1262 public static final int USE_LP_STRONG_BRANCHING_FIELD_NUMBER = 29;
1263 private boolean useLpStrongBranching_ = false;
1280 @java.lang.Override
1281 public boolean hasUseLpStrongBranching() {
1282 return ((bitField0_ & 0x40000000) != 0);
1283 }
1284
1300 @java.lang.Override
1301 public boolean getUseLpStrongBranching() {
1302 return useLpStrongBranching_;
1303 }
1304
1306 private int decomposerNumVariablesThreshold_ = 50;
1316 @java.lang.Override
1318 return ((bitField0_ & 0x80000000) != 0);
1319 }
1320
1329 @java.lang.Override
1331 return decomposerNumVariablesThreshold_;
1332 }
1333
1335 private int numBopSolversUsedByDecomposition_ = 1;
1346 @java.lang.Override
1348 return ((bitField1_ & 0x00000001) != 0);
1349 }
1350
1360 @java.lang.Override
1362 return numBopSolversUsedByDecomposition_;
1363 }
1364
1366 private double decomposedProblemMinTimeInSeconds_ = 0D;
1378 @java.lang.Override
1380 return ((bitField1_ & 0x00000002) != 0);
1381 }
1382
1393 @java.lang.Override
1395 return decomposedProblemMinTimeInSeconds_;
1396 }
1397
1398 public static final int GUIDED_SAT_CONFLICTS_CHUNK_FIELD_NUMBER = 34;
1399 private int guidedSatConflictsChunk_ = 1000;
1410 @java.lang.Override
1412 return ((bitField1_ & 0x00000004) != 0);
1413 }
1414
1424 @java.lang.Override
1426 return guidedSatConflictsChunk_;
1427 }
1428
1430 private int maxLpSolveForFeasibilityProblems_ = 0;
1442 @java.lang.Override
1444 return ((bitField1_ & 0x00000008) != 0);
1445 }
1446
1457 @java.lang.Override
1459 return maxLpSolveForFeasibilityProblems_;
1460 }
1461
1462 private byte memoizedIsInitialized = -1;
1463 @java.lang.Override
1464 public final boolean isInitialized() {
1465 byte isInitialized = memoizedIsInitialized;
1466 if (isInitialized == 1) return true;
1467 if (isInitialized == 0) return false;
1468
1469 memoizedIsInitialized = 1;
1470 return true;
1471 }
1472
1473 @java.lang.Override
1474 public void writeTo(com.google.protobuf.CodedOutputStream output)
1475 throws java.io.IOException {
1476 if (((bitField0_ & 0x00000001) != 0)) {
1477 output.writeDouble(1, maxTimeInSeconds_);
1478 }
1479 if (((bitField0_ & 0x00000020) != 0)) {
1480 output.writeInt32(2, maxNumDecisionsInLs_);
1481 }
1482 if (((bitField0_ & 0x00000100) != 0)) {
1483 output.writeBool(3, computeEstimatedImpact_);
1484 }
1485 if (((bitField0_ & 0x00000200) != 0)) {
1486 output.writeBool(4, pruneSearchTree_);
1487 }
1488 if (((bitField0_ & 0x00000400) != 0)) {
1489 output.writeBool(5, sortConstraintsByNumTerms_);
1490 }
1491 if (((bitField0_ & 0x00000800) != 0)) {
1492 output.writeBool(6, useRandomLns_);
1493 }
1494 if (((bitField0_ & 0x00001000) != 0)) {
1495 output.writeInt32(7, randomSeed_);
1496 }
1497 if (((bitField0_ & 0x00002000) != 0)) {
1498 output.writeInt32(8, numRelaxedVars_);
1499 }
1500 if (((bitField0_ & 0x00004000) != 0)) {
1501 output.writeInt32(9, maxNumberOfConflictsInRandomLns_);
1502 }
1503 if (((bitField0_ & 0x00008000) != 0)) {
1504 output.writeInt32(10, numRandomLnsTries_);
1505 }
1506 if (((bitField0_ & 0x00010000) != 0)) {
1507 output.writeInt64(11, maxNumberOfBacktracksInLs_);
1508 }
1509 if (((bitField0_ & 0x00020000) != 0)) {
1510 output.writeBool(12, useLpLns_);
1511 }
1512 if (((bitField0_ & 0x00000080) != 0)) {
1513 output.writeBool(14, logSearchProgress_);
1514 }
1515 if (((bitField0_ & 0x00040000) != 0)) {
1516 output.writeBool(15, useSatToChooseLnsNeighbourhood_);
1517 }
1518 if (((bitField0_ & 0x00080000) != 0)) {
1519 output.writeInt32(16, maxNumberOfConflictsForQuickCheck_);
1520 }
1521 if (((bitField0_ & 0x00100000) != 0)) {
1522 output.writeBool(17, useSymmetry_);
1523 }
1524 if (((bitField0_ & 0x00400000) != 0)) {
1525 output.writeInt32(20, maxNumberOfConflictsInRandomSolutionGeneration_);
1526 }
1527 if (((bitField0_ & 0x00800000) != 0)) {
1528 output.writeInt64(21, maxNumberOfExploredAssignmentsPerTryInLs_);
1529 }
1530 if (((bitField0_ & 0x01000000) != 0)) {
1531 output.writeBool(22, useTranspositionTableInLs_);
1532 }
1533 if (((bitField0_ & 0x04000000) != 0)) {
1534 output.writeBool(23, useLearnedBinaryClausesInLp_);
1535 }
1536 if (((bitField0_ & 0x08000000) != 0)) {
1537 output.writeInt32(24, numberOfSolvers_);
1538 }
1539 if (((bitField0_ & 0x10000000) != 0)) {
1540 output.writeEnum(25, synchronizationType_);
1541 }
1542 for (int i = 0; i < solverOptimizerSets_.size(); i++) {
1543 output.writeMessage(26, solverOptimizerSets_.get(i));
1544 }
1545 if (((bitField0_ & 0x00000002) != 0)) {
1546 output.writeDouble(27, maxDeterministicTime_);
1547 }
1548 if (((bitField0_ & 0x00000010) != 0)) {
1549 output.writeDouble(28, relativeGapLimit_);
1550 }
1551 if (((bitField0_ & 0x40000000) != 0)) {
1552 output.writeBool(29, useLpStrongBranching_);
1553 }
1554 if (((bitField0_ & 0x80000000) != 0)) {
1555 output.writeInt32(30, decomposerNumVariablesThreshold_);
1556 }
1557 if (((bitField1_ & 0x00000001) != 0)) {
1558 output.writeInt32(31, numBopSolversUsedByDecomposition_);
1559 }
1560 if (((bitField0_ & 0x20000000) != 0)) {
1561 com.google.protobuf.GeneratedMessage.writeString(output, 33, defaultSolverOptimizerSets_);
1562 }
1563 if (((bitField1_ & 0x00000004) != 0)) {
1564 output.writeInt32(34, guidedSatConflictsChunk_);
1565 }
1566 if (((bitField0_ & 0x00000008) != 0)) {
1567 output.writeInt32(35, maxNumberOfConsecutiveFailingOptimizerCalls_);
1568 }
1569 if (((bitField1_ & 0x00000002) != 0)) {
1570 output.writeDouble(36, decomposedProblemMinTimeInSeconds_);
1571 }
1572 if (((bitField0_ & 0x00000004) != 0)) {
1573 output.writeDouble(37, lpMaxDeterministicTime_);
1574 }
1575 if (((bitField0_ & 0x00000040) != 0)) {
1576 output.writeInt32(38, maxNumBrokenConstraintsInLs_);
1577 }
1578 if (((bitField0_ & 0x02000000) != 0)) {
1579 output.writeBool(39, usePotentialOneFlipRepairsInLs_);
1580 }
1581 if (((bitField0_ & 0x00200000) != 0)) {
1582 output.writeBool(40, exploitSymmetryInSatFirstSolution_);
1583 }
1584 if (((bitField1_ & 0x00000008) != 0)) {
1585 output.writeInt32(41, maxLpSolveForFeasibilityProblems_);
1586 }
1587 getUnknownFields().writeTo(output);
1588 }
1589
1590 @java.lang.Override
1591 public int getSerializedSize() {
1592 int size = memoizedSize;
1593 if (size != -1) return size;
1594
1595 size = 0;
1596 if (((bitField0_ & 0x00000001) != 0)) {
1597 size += com.google.protobuf.CodedOutputStream
1598 .computeDoubleSize(1, maxTimeInSeconds_);
1599 }
1600 if (((bitField0_ & 0x00000020) != 0)) {
1601 size += com.google.protobuf.CodedOutputStream
1602 .computeInt32Size(2, maxNumDecisionsInLs_);
1603 }
1604 if (((bitField0_ & 0x00000100) != 0)) {
1605 size += com.google.protobuf.CodedOutputStream
1606 .computeBoolSize(3, computeEstimatedImpact_);
1607 }
1608 if (((bitField0_ & 0x00000200) != 0)) {
1609 size += com.google.protobuf.CodedOutputStream
1610 .computeBoolSize(4, pruneSearchTree_);
1611 }
1612 if (((bitField0_ & 0x00000400) != 0)) {
1613 size += com.google.protobuf.CodedOutputStream
1614 .computeBoolSize(5, sortConstraintsByNumTerms_);
1615 }
1616 if (((bitField0_ & 0x00000800) != 0)) {
1617 size += com.google.protobuf.CodedOutputStream
1618 .computeBoolSize(6, useRandomLns_);
1619 }
1620 if (((bitField0_ & 0x00001000) != 0)) {
1621 size += com.google.protobuf.CodedOutputStream
1622 .computeInt32Size(7, randomSeed_);
1623 }
1624 if (((bitField0_ & 0x00002000) != 0)) {
1625 size += com.google.protobuf.CodedOutputStream
1626 .computeInt32Size(8, numRelaxedVars_);
1627 }
1628 if (((bitField0_ & 0x00004000) != 0)) {
1629 size += com.google.protobuf.CodedOutputStream
1630 .computeInt32Size(9, maxNumberOfConflictsInRandomLns_);
1631 }
1632 if (((bitField0_ & 0x00008000) != 0)) {
1633 size += com.google.protobuf.CodedOutputStream
1634 .computeInt32Size(10, numRandomLnsTries_);
1635 }
1636 if (((bitField0_ & 0x00010000) != 0)) {
1637 size += com.google.protobuf.CodedOutputStream
1638 .computeInt64Size(11, maxNumberOfBacktracksInLs_);
1639 }
1640 if (((bitField0_ & 0x00020000) != 0)) {
1641 size += com.google.protobuf.CodedOutputStream
1642 .computeBoolSize(12, useLpLns_);
1643 }
1644 if (((bitField0_ & 0x00000080) != 0)) {
1645 size += com.google.protobuf.CodedOutputStream
1646 .computeBoolSize(14, logSearchProgress_);
1647 }
1648 if (((bitField0_ & 0x00040000) != 0)) {
1649 size += com.google.protobuf.CodedOutputStream
1650 .computeBoolSize(15, useSatToChooseLnsNeighbourhood_);
1651 }
1652 if (((bitField0_ & 0x00080000) != 0)) {
1653 size += com.google.protobuf.CodedOutputStream
1654 .computeInt32Size(16, maxNumberOfConflictsForQuickCheck_);
1655 }
1656 if (((bitField0_ & 0x00100000) != 0)) {
1657 size += com.google.protobuf.CodedOutputStream
1658 .computeBoolSize(17, useSymmetry_);
1659 }
1660 if (((bitField0_ & 0x00400000) != 0)) {
1661 size += com.google.protobuf.CodedOutputStream
1662 .computeInt32Size(20, maxNumberOfConflictsInRandomSolutionGeneration_);
1663 }
1664 if (((bitField0_ & 0x00800000) != 0)) {
1665 size += com.google.protobuf.CodedOutputStream
1666 .computeInt64Size(21, maxNumberOfExploredAssignmentsPerTryInLs_);
1667 }
1668 if (((bitField0_ & 0x01000000) != 0)) {
1669 size += com.google.protobuf.CodedOutputStream
1670 .computeBoolSize(22, useTranspositionTableInLs_);
1671 }
1672 if (((bitField0_ & 0x04000000) != 0)) {
1673 size += com.google.protobuf.CodedOutputStream
1674 .computeBoolSize(23, useLearnedBinaryClausesInLp_);
1675 }
1676 if (((bitField0_ & 0x08000000) != 0)) {
1677 size += com.google.protobuf.CodedOutputStream
1678 .computeInt32Size(24, numberOfSolvers_);
1679 }
1680 if (((bitField0_ & 0x10000000) != 0)) {
1681 size += com.google.protobuf.CodedOutputStream
1682 .computeEnumSize(25, synchronizationType_);
1683 }
1684 for (int i = 0; i < solverOptimizerSets_.size(); i++) {
1685 size += com.google.protobuf.CodedOutputStream
1686 .computeMessageSize(26, solverOptimizerSets_.get(i));
1687 }
1688 if (((bitField0_ & 0x00000002) != 0)) {
1689 size += com.google.protobuf.CodedOutputStream
1690 .computeDoubleSize(27, maxDeterministicTime_);
1691 }
1692 if (((bitField0_ & 0x00000010) != 0)) {
1693 size += com.google.protobuf.CodedOutputStream
1694 .computeDoubleSize(28, relativeGapLimit_);
1695 }
1696 if (((bitField0_ & 0x40000000) != 0)) {
1697 size += com.google.protobuf.CodedOutputStream
1698 .computeBoolSize(29, useLpStrongBranching_);
1699 }
1700 if (((bitField0_ & 0x80000000) != 0)) {
1701 size += com.google.protobuf.CodedOutputStream
1702 .computeInt32Size(30, decomposerNumVariablesThreshold_);
1703 }
1704 if (((bitField1_ & 0x00000001) != 0)) {
1705 size += com.google.protobuf.CodedOutputStream
1706 .computeInt32Size(31, numBopSolversUsedByDecomposition_);
1707 }
1708 if (((bitField0_ & 0x20000000) != 0)) {
1709 size += com.google.protobuf.GeneratedMessage.computeStringSize(33, defaultSolverOptimizerSets_);
1710 }
1711 if (((bitField1_ & 0x00000004) != 0)) {
1712 size += com.google.protobuf.CodedOutputStream
1713 .computeInt32Size(34, guidedSatConflictsChunk_);
1714 }
1715 if (((bitField0_ & 0x00000008) != 0)) {
1716 size += com.google.protobuf.CodedOutputStream
1717 .computeInt32Size(35, maxNumberOfConsecutiveFailingOptimizerCalls_);
1718 }
1719 if (((bitField1_ & 0x00000002) != 0)) {
1720 size += com.google.protobuf.CodedOutputStream
1721 .computeDoubleSize(36, decomposedProblemMinTimeInSeconds_);
1722 }
1723 if (((bitField0_ & 0x00000004) != 0)) {
1724 size += com.google.protobuf.CodedOutputStream
1725 .computeDoubleSize(37, lpMaxDeterministicTime_);
1726 }
1727 if (((bitField0_ & 0x00000040) != 0)) {
1728 size += com.google.protobuf.CodedOutputStream
1729 .computeInt32Size(38, maxNumBrokenConstraintsInLs_);
1730 }
1731 if (((bitField0_ & 0x02000000) != 0)) {
1732 size += com.google.protobuf.CodedOutputStream
1733 .computeBoolSize(39, usePotentialOneFlipRepairsInLs_);
1734 }
1735 if (((bitField0_ & 0x00200000) != 0)) {
1736 size += com.google.protobuf.CodedOutputStream
1737 .computeBoolSize(40, exploitSymmetryInSatFirstSolution_);
1738 }
1739 if (((bitField1_ & 0x00000008) != 0)) {
1740 size += com.google.protobuf.CodedOutputStream
1741 .computeInt32Size(41, maxLpSolveForFeasibilityProblems_);
1742 }
1743 size += getUnknownFields().getSerializedSize();
1744 memoizedSize = size;
1745 return size;
1746 }
1747
1748 @java.lang.Override
1749 public boolean equals(final java.lang.Object obj) {
1750 if (obj == this) {
1751 return true;
1752 }
1753 if (!(obj instanceof com.google.ortools.bop.BopParameters)) {
1754 return super.equals(obj);
1755 }
1756 com.google.ortools.bop.BopParameters other = (com.google.ortools.bop.BopParameters) obj;
1757
1758 if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
1759 if (hasMaxTimeInSeconds()) {
1760 if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
1761 != java.lang.Double.doubleToLongBits(
1762 other.getMaxTimeInSeconds())) return false;
1763 }
1764 if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
1766 if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
1767 != java.lang.Double.doubleToLongBits(
1768 other.getMaxDeterministicTime())) return false;
1769 }
1770 if (hasLpMaxDeterministicTime() != other.hasLpMaxDeterministicTime()) return false;
1772 if (java.lang.Double.doubleToLongBits(getLpMaxDeterministicTime())
1773 != java.lang.Double.doubleToLongBits(
1774 other.getLpMaxDeterministicTime())) return false;
1775 }
1779 != other.getMaxNumberOfConsecutiveFailingOptimizerCalls()) return false;
1780 }
1781 if (hasRelativeGapLimit() != other.hasRelativeGapLimit()) return false;
1782 if (hasRelativeGapLimit()) {
1783 if (java.lang.Double.doubleToLongBits(getRelativeGapLimit())
1784 != java.lang.Double.doubleToLongBits(
1785 other.getRelativeGapLimit())) return false;
1786 }
1787 if (hasMaxNumDecisionsInLs() != other.hasMaxNumDecisionsInLs()) return false;
1788 if (hasMaxNumDecisionsInLs()) {
1790 != other.getMaxNumDecisionsInLs()) return false;
1791 }
1795 != other.getMaxNumBrokenConstraintsInLs()) return false;
1796 }
1797 if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
1798 if (hasLogSearchProgress()) {
1800 != other.getLogSearchProgress()) return false;
1801 }
1802 if (hasComputeEstimatedImpact() != other.hasComputeEstimatedImpact()) return false;
1805 != other.getComputeEstimatedImpact()) return false;
1806 }
1807 if (hasPruneSearchTree() != other.hasPruneSearchTree()) return false;
1808 if (hasPruneSearchTree()) {
1809 if (getPruneSearchTree()
1810 != other.getPruneSearchTree()) return false;
1811 }
1812 if (hasSortConstraintsByNumTerms() != other.hasSortConstraintsByNumTerms()) return false;
1815 != other.getSortConstraintsByNumTerms()) return false;
1816 }
1817 if (hasUseRandomLns() != other.hasUseRandomLns()) return false;
1818 if (hasUseRandomLns()) {
1819 if (getUseRandomLns()
1820 != other.getUseRandomLns()) return false;
1821 }
1822 if (hasRandomSeed() != other.hasRandomSeed()) return false;
1823 if (hasRandomSeed()) {
1824 if (getRandomSeed()
1825 != other.getRandomSeed()) return false;
1826 }
1827 if (hasNumRelaxedVars() != other.hasNumRelaxedVars()) return false;
1828 if (hasNumRelaxedVars()) {
1829 if (getNumRelaxedVars()
1830 != other.getNumRelaxedVars()) return false;
1831 }
1835 != other.getMaxNumberOfConflictsInRandomLns()) return false;
1836 }
1837 if (hasNumRandomLnsTries() != other.hasNumRandomLnsTries()) return false;
1838 if (hasNumRandomLnsTries()) {
1840 != other.getNumRandomLnsTries()) return false;
1841 }
1842 if (hasMaxNumberOfBacktracksInLs() != other.hasMaxNumberOfBacktracksInLs()) return false;
1845 != other.getMaxNumberOfBacktracksInLs()) return false;
1846 }
1847 if (hasUseLpLns() != other.hasUseLpLns()) return false;
1848 if (hasUseLpLns()) {
1849 if (getUseLpLns()
1850 != other.getUseLpLns()) return false;
1851 }
1855 != other.getUseSatToChooseLnsNeighbourhood()) return false;
1856 }
1860 != other.getMaxNumberOfConflictsForQuickCheck()) return false;
1861 }
1862 if (hasUseSymmetry() != other.hasUseSymmetry()) return false;
1863 if (hasUseSymmetry()) {
1864 if (getUseSymmetry()
1865 != other.getUseSymmetry()) return false;
1866 }
1870 != other.getExploitSymmetryInSatFirstSolution()) return false;
1871 }
1876 }
1880 != other.getMaxNumberOfExploredAssignmentsPerTryInLs()) return false;
1881 }
1882 if (hasUseTranspositionTableInLs() != other.hasUseTranspositionTableInLs()) return false;
1885 != other.getUseTranspositionTableInLs()) return false;
1886 }
1890 != other.getUsePotentialOneFlipRepairsInLs()) return false;
1891 }
1895 != other.getUseLearnedBinaryClausesInLp()) return false;
1896 }
1897 if (hasNumberOfSolvers() != other.hasNumberOfSolvers()) return false;
1898 if (hasNumberOfSolvers()) {
1899 if (getNumberOfSolvers()
1900 != other.getNumberOfSolvers()) return false;
1901 }
1902 if (hasSynchronizationType() != other.hasSynchronizationType()) return false;
1903 if (hasSynchronizationType()) {
1904 if (synchronizationType_ != other.synchronizationType_) return false;
1905 }
1907 .equals(other.getSolverOptimizerSetsList())) return false;
1908 if (hasDefaultSolverOptimizerSets() != other.hasDefaultSolverOptimizerSets()) return false;
1911 .equals(other.getDefaultSolverOptimizerSets())) return false;
1912 }
1913 if (hasUseLpStrongBranching() != other.hasUseLpStrongBranching()) return false;
1916 != other.getUseLpStrongBranching()) return false;
1917 }
1921 != other.getDecomposerNumVariablesThreshold()) return false;
1922 }
1926 != other.getNumBopSolversUsedByDecomposition()) return false;
1927 }
1930 if (java.lang.Double.doubleToLongBits(getDecomposedProblemMinTimeInSeconds())
1931 != java.lang.Double.doubleToLongBits(
1932 other.getDecomposedProblemMinTimeInSeconds())) return false;
1933 }
1934 if (hasGuidedSatConflictsChunk() != other.hasGuidedSatConflictsChunk()) return false;
1937 != other.getGuidedSatConflictsChunk()) return false;
1938 }
1942 != other.getMaxLpSolveForFeasibilityProblems()) return false;
1943 }
1944 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1945 return true;
1946 }
1947
1948 @java.lang.Override
1949 public int hashCode() {
1950 if (memoizedHashCode != 0) {
1951 return memoizedHashCode;
1952 }
1953 int hash = 41;
1954 hash = (19 * hash) + getDescriptor().hashCode();
1955 if (hasMaxTimeInSeconds()) {
1956 hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
1957 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1958 java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
1959 }
1961 hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
1962 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1963 java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
1964 }
1966 hash = (37 * hash) + LP_MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
1967 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1968 java.lang.Double.doubleToLongBits(getLpMaxDeterministicTime()));
1969 }
1973 }
1974 if (hasRelativeGapLimit()) {
1975 hash = (37 * hash) + RELATIVE_GAP_LIMIT_FIELD_NUMBER;
1976 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1977 java.lang.Double.doubleToLongBits(getRelativeGapLimit()));
1978 }
1979 if (hasMaxNumDecisionsInLs()) {
1980 hash = (37 * hash) + MAX_NUM_DECISIONS_IN_LS_FIELD_NUMBER;
1981 hash = (53 * hash) + getMaxNumDecisionsInLs();
1982 }
1985 hash = (53 * hash) + getMaxNumBrokenConstraintsInLs();
1986 }
1987 if (hasLogSearchProgress()) {
1988 hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
1989 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
1991 }
1993 hash = (37 * hash) + COMPUTE_ESTIMATED_IMPACT_FIELD_NUMBER;
1994 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
1996 }
1997 if (hasPruneSearchTree()) {
1998 hash = (37 * hash) + PRUNE_SEARCH_TREE_FIELD_NUMBER;
1999 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2001 }
2003 hash = (37 * hash) + SORT_CONSTRAINTS_BY_NUM_TERMS_FIELD_NUMBER;
2004 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2006 }
2007 if (hasUseRandomLns()) {
2008 hash = (37 * hash) + USE_RANDOM_LNS_FIELD_NUMBER;
2009 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2010 getUseRandomLns());
2011 }
2012 if (hasRandomSeed()) {
2013 hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
2014 hash = (53 * hash) + getRandomSeed();
2015 }
2016 if (hasNumRelaxedVars()) {
2017 hash = (37 * hash) + NUM_RELAXED_VARS_FIELD_NUMBER;
2018 hash = (53 * hash) + getNumRelaxedVars();
2019 }
2022 hash = (53 * hash) + getMaxNumberOfConflictsInRandomLns();
2023 }
2024 if (hasNumRandomLnsTries()) {
2025 hash = (37 * hash) + NUM_RANDOM_LNS_TRIES_FIELD_NUMBER;
2026 hash = (53 * hash) + getNumRandomLnsTries();
2027 }
2030 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2032 }
2033 if (hasUseLpLns()) {
2034 hash = (37 * hash) + USE_LP_LNS_FIELD_NUMBER;
2035 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2036 getUseLpLns());
2037 }
2040 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2042 }
2045 hash = (53 * hash) + getMaxNumberOfConflictsForQuickCheck();
2046 }
2047 if (hasUseSymmetry()) {
2048 hash = (37 * hash) + USE_SYMMETRY_FIELD_NUMBER;
2049 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2050 getUseSymmetry());
2051 }
2054 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2056 }
2060 }
2063 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2065 }
2067 hash = (37 * hash) + USE_TRANSPOSITION_TABLE_IN_LS_FIELD_NUMBER;
2068 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2070 }
2073 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2075 }
2078 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2080 }
2081 if (hasNumberOfSolvers()) {
2082 hash = (37 * hash) + NUMBER_OF_SOLVERS_FIELD_NUMBER;
2083 hash = (53 * hash) + getNumberOfSolvers();
2084 }
2085 if (hasSynchronizationType()) {
2086 hash = (37 * hash) + SYNCHRONIZATION_TYPE_FIELD_NUMBER;
2087 hash = (53 * hash) + synchronizationType_;
2088 }
2089 if (getSolverOptimizerSetsCount() > 0) {
2090 hash = (37 * hash) + SOLVER_OPTIMIZER_SETS_FIELD_NUMBER;
2091 hash = (53 * hash) + getSolverOptimizerSetsList().hashCode();
2092 }
2094 hash = (37 * hash) + DEFAULT_SOLVER_OPTIMIZER_SETS_FIELD_NUMBER;
2095 hash = (53 * hash) + getDefaultSolverOptimizerSets().hashCode();
2096 }
2098 hash = (37 * hash) + USE_LP_STRONG_BRANCHING_FIELD_NUMBER;
2099 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2101 }
2104 hash = (53 * hash) + getDecomposerNumVariablesThreshold();
2105 }
2108 hash = (53 * hash) + getNumBopSolversUsedByDecomposition();
2109 }
2112 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2113 java.lang.Double.doubleToLongBits(getDecomposedProblemMinTimeInSeconds()));
2114 }
2116 hash = (37 * hash) + GUIDED_SAT_CONFLICTS_CHUNK_FIELD_NUMBER;
2117 hash = (53 * hash) + getGuidedSatConflictsChunk();
2118 }
2121 hash = (53 * hash) + getMaxLpSolveForFeasibilityProblems();
2122 }
2123 hash = (29 * hash) + getUnknownFields().hashCode();
2124 memoizedHashCode = hash;
2125 return hash;
2126 }
2127
2129 java.nio.ByteBuffer data)
2130 throws com.google.protobuf.InvalidProtocolBufferException {
2131 return PARSER.parseFrom(data);
2132 }
2134 java.nio.ByteBuffer data,
2135 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2136 throws com.google.protobuf.InvalidProtocolBufferException {
2137 return PARSER.parseFrom(data, extensionRegistry);
2138 }
2140 com.google.protobuf.ByteString data)
2141 throws com.google.protobuf.InvalidProtocolBufferException {
2142 return PARSER.parseFrom(data);
2143 }
2145 com.google.protobuf.ByteString data,
2146 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2147 throws com.google.protobuf.InvalidProtocolBufferException {
2148 return PARSER.parseFrom(data, extensionRegistry);
2149 }
2151 throws com.google.protobuf.InvalidProtocolBufferException {
2152 return PARSER.parseFrom(data);
2153 }
2155 byte[] data,
2156 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2157 throws com.google.protobuf.InvalidProtocolBufferException {
2158 return PARSER.parseFrom(data, extensionRegistry);
2159 }
2160 public static com.google.ortools.bop.BopParameters parseFrom(java.io.InputStream input)
2161 throws java.io.IOException {
2162 return com.google.protobuf.GeneratedMessage
2163 .parseWithIOException(PARSER, input);
2164 }
2166 java.io.InputStream input,
2167 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2168 throws java.io.IOException {
2169 return com.google.protobuf.GeneratedMessage
2170 .parseWithIOException(PARSER, input, extensionRegistry);
2171 }
2172
2173 public static com.google.ortools.bop.BopParameters parseDelimitedFrom(java.io.InputStream input)
2174 throws java.io.IOException {
2175 return com.google.protobuf.GeneratedMessage
2176 .parseDelimitedWithIOException(PARSER, input);
2177 }
2178
2180 java.io.InputStream input,
2181 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2182 throws java.io.IOException {
2183 return com.google.protobuf.GeneratedMessage
2184 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
2185 }
2187 com.google.protobuf.CodedInputStream input)
2188 throws java.io.IOException {
2189 return com.google.protobuf.GeneratedMessage
2190 .parseWithIOException(PARSER, input);
2191 }
2193 com.google.protobuf.CodedInputStream input,
2194 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2195 throws java.io.IOException {
2196 return com.google.protobuf.GeneratedMessage
2197 .parseWithIOException(PARSER, input, extensionRegistry);
2198 }
2199
2200 @java.lang.Override
2201 public Builder newBuilderForType() { return newBuilder(); }
2202 public static Builder newBuilder() {
2203 return DEFAULT_INSTANCE.toBuilder();
2204 }
2205 public static Builder newBuilder(com.google.ortools.bop.BopParameters prototype) {
2206 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
2207 }
2208 @java.lang.Override
2210 return this == DEFAULT_INSTANCE
2211 ? new Builder() : new Builder().mergeFrom(this);
2212 }
2213
2214 @java.lang.Override
2216 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2217 Builder builder = new Builder(parent);
2218 return builder;
2219 }
2220
2230 public static final class Builder extends
2231 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
2232 // @@protoc_insertion_point(builder_implements:operations_research.bop.BopParameters)
2234 public static final com.google.protobuf.Descriptors.Descriptor
2236 return com.google.ortools.bop.BopParametersOuterClass.internal_static_operations_research_bop_BopParameters_descriptor;
2237 }
2238
2239 @java.lang.Override
2240 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
2242 return com.google.ortools.bop.BopParametersOuterClass.internal_static_operations_research_bop_BopParameters_fieldAccessorTable
2243 .ensureFieldAccessorsInitialized(
2244 com.google.ortools.bop.BopParameters.class, com.google.ortools.bop.BopParameters.Builder.class);
2245 }
2246
2247 // Construct using com.google.ortools.bop.BopParameters.newBuilder()
2248 private Builder() {
2249
2250 }
2251
2252 private Builder(
2253 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2254 super(parent);
2255
2256 }
2257 @java.lang.Override
2258 public Builder clear() {
2259 super.clear();
2260 bitField0_ = 0;
2261 bitField1_ = 0;
2262 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
2263 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
2264 lpMaxDeterministicTime_ = 1D;
2265 maxNumberOfConsecutiveFailingOptimizerCalls_ = 0;
2266 relativeGapLimit_ = 0.0001D;
2267 maxNumDecisionsInLs_ = 4;
2268 maxNumBrokenConstraintsInLs_ = 2147483647;
2269 logSearchProgress_ = false;
2270 computeEstimatedImpact_ = true;
2271 pruneSearchTree_ = false;
2272 sortConstraintsByNumTerms_ = false;
2273 useRandomLns_ = true;
2274 randomSeed_ = 8;
2275 numRelaxedVars_ = 10;
2276 maxNumberOfConflictsInRandomLns_ = 2500;
2277 numRandomLnsTries_ = 1;
2278 maxNumberOfBacktracksInLs_ = 100000000L;
2279 useLpLns_ = true;
2280 useSatToChooseLnsNeighbourhood_ = true;
2281 maxNumberOfConflictsForQuickCheck_ = 10;
2282 useSymmetry_ = false;
2283 exploitSymmetryInSatFirstSolution_ = false;
2284 maxNumberOfConflictsInRandomSolutionGeneration_ = 500;
2285 maxNumberOfExploredAssignmentsPerTryInLs_ = 10000L;
2286 useTranspositionTableInLs_ = true;
2287 usePotentialOneFlipRepairsInLs_ = false;
2288 useLearnedBinaryClausesInLp_ = true;
2289 numberOfSolvers_ = 1;
2290 synchronizationType_ = 0;
2291 if (solverOptimizerSetsBuilder_ == null) {
2292 solverOptimizerSets_ = java.util.Collections.emptyList();
2293 } else {
2294 solverOptimizerSets_ = null;
2295 solverOptimizerSetsBuilder_.clear();
2296 }
2297 bitField0_ = (bitField0_ & ~0x20000000);
2298 defaultSolverOptimizerSets_ = "methods:{type:LOCAL_SEARCH } methods:{type:RANDOM_FIRST_SOLUTION } methods:{type:LINEAR_RELAXATION } methods:{type:LP_FIRST_SOLUTION } methods:{type:OBJECTIVE_FIRST_SOLUTION } methods:{type:USER_GUIDED_FIRST_SOLUTION } methods:{type:RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP } methods:{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP } methods:{type:RELATION_GRAPH_LNS } methods:{type:RELATION_GRAPH_LNS_GUIDED_BY_LP } methods:{type:RANDOM_CONSTRAINT_LNS } methods:{type:RANDOM_VARIABLE_LNS } methods:{type:SAT_CORE_BASED } methods:{type:COMPLETE_LNS } ";
2299 useLpStrongBranching_ = false;
2300 decomposerNumVariablesThreshold_ = 50;
2301 numBopSolversUsedByDecomposition_ = 1;
2302 decomposedProblemMinTimeInSeconds_ = 0D;
2303 guidedSatConflictsChunk_ = 1000;
2304 maxLpSolveForFeasibilityProblems_ = 0;
2305 return this;
2306 }
2307
2308 @java.lang.Override
2309 public com.google.protobuf.Descriptors.Descriptor
2311 return com.google.ortools.bop.BopParametersOuterClass.internal_static_operations_research_bop_BopParameters_descriptor;
2312 }
2313
2314 @java.lang.Override
2316 return com.google.ortools.bop.BopParameters.getDefaultInstance();
2317 }
2318
2319 @java.lang.Override
2322 if (!result.isInitialized()) {
2323 throw newUninitializedMessageException(result);
2324 }
2325 return result;
2326 }
2327
2328 @java.lang.Override
2330 com.google.ortools.bop.BopParameters result = new com.google.ortools.bop.BopParameters(this);
2331 buildPartialRepeatedFields(result);
2332 if (bitField0_ != 0) { buildPartial0(result); }
2333 if (bitField1_ != 0) { buildPartial1(result); }
2334 onBuilt();
2335 return result;
2336 }
2337
2338 private void buildPartialRepeatedFields(com.google.ortools.bop.BopParameters result) {
2339 if (solverOptimizerSetsBuilder_ == null) {
2340 if (((bitField0_ & 0x20000000) != 0)) {
2341 solverOptimizerSets_ = java.util.Collections.unmodifiableList(solverOptimizerSets_);
2342 bitField0_ = (bitField0_ & ~0x20000000);
2343 }
2344 result.solverOptimizerSets_ = solverOptimizerSets_;
2345 } else {
2346 result.solverOptimizerSets_ = solverOptimizerSetsBuilder_.build();
2347 }
2348 }
2349
2350 private void buildPartial0(com.google.ortools.bop.BopParameters result) {
2351 int from_bitField0_ = bitField0_;
2352 int to_bitField0_ = 0;
2353 if (((from_bitField0_ & 0x00000001) != 0)) {
2354 result.maxTimeInSeconds_ = maxTimeInSeconds_;
2355 to_bitField0_ |= 0x00000001;
2356 }
2357 if (((from_bitField0_ & 0x00000002) != 0)) {
2358 result.maxDeterministicTime_ = maxDeterministicTime_;
2359 to_bitField0_ |= 0x00000002;
2360 }
2361 if (((from_bitField0_ & 0x00000004) != 0)) {
2362 result.lpMaxDeterministicTime_ = lpMaxDeterministicTime_;
2363 to_bitField0_ |= 0x00000004;
2364 }
2365 if (((from_bitField0_ & 0x00000008) != 0)) {
2366 result.maxNumberOfConsecutiveFailingOptimizerCalls_ = maxNumberOfConsecutiveFailingOptimizerCalls_;
2367 to_bitField0_ |= 0x00000008;
2368 }
2369 if (((from_bitField0_ & 0x00000010) != 0)) {
2370 result.relativeGapLimit_ = relativeGapLimit_;
2371 to_bitField0_ |= 0x00000010;
2372 }
2373 if (((from_bitField0_ & 0x00000020) != 0)) {
2374 result.maxNumDecisionsInLs_ = maxNumDecisionsInLs_;
2375 to_bitField0_ |= 0x00000020;
2376 }
2377 if (((from_bitField0_ & 0x00000040) != 0)) {
2378 result.maxNumBrokenConstraintsInLs_ = maxNumBrokenConstraintsInLs_;
2379 to_bitField0_ |= 0x00000040;
2380 }
2381 if (((from_bitField0_ & 0x00000080) != 0)) {
2382 result.logSearchProgress_ = logSearchProgress_;
2383 to_bitField0_ |= 0x00000080;
2384 }
2385 if (((from_bitField0_ & 0x00000100) != 0)) {
2386 result.computeEstimatedImpact_ = computeEstimatedImpact_;
2387 to_bitField0_ |= 0x00000100;
2388 }
2389 if (((from_bitField0_ & 0x00000200) != 0)) {
2390 result.pruneSearchTree_ = pruneSearchTree_;
2391 to_bitField0_ |= 0x00000200;
2392 }
2393 if (((from_bitField0_ & 0x00000400) != 0)) {
2394 result.sortConstraintsByNumTerms_ = sortConstraintsByNumTerms_;
2395 to_bitField0_ |= 0x00000400;
2396 }
2397 if (((from_bitField0_ & 0x00000800) != 0)) {
2398 result.useRandomLns_ = useRandomLns_;
2399 to_bitField0_ |= 0x00000800;
2400 }
2401 if (((from_bitField0_ & 0x00001000) != 0)) {
2402 result.randomSeed_ = randomSeed_;
2403 to_bitField0_ |= 0x00001000;
2404 }
2405 if (((from_bitField0_ & 0x00002000) != 0)) {
2406 result.numRelaxedVars_ = numRelaxedVars_;
2407 to_bitField0_ |= 0x00002000;
2408 }
2409 if (((from_bitField0_ & 0x00004000) != 0)) {
2410 result.maxNumberOfConflictsInRandomLns_ = maxNumberOfConflictsInRandomLns_;
2411 to_bitField0_ |= 0x00004000;
2412 }
2413 if (((from_bitField0_ & 0x00008000) != 0)) {
2414 result.numRandomLnsTries_ = numRandomLnsTries_;
2415 to_bitField0_ |= 0x00008000;
2416 }
2417 if (((from_bitField0_ & 0x00010000) != 0)) {
2418 result.maxNumberOfBacktracksInLs_ = maxNumberOfBacktracksInLs_;
2419 to_bitField0_ |= 0x00010000;
2420 }
2421 if (((from_bitField0_ & 0x00020000) != 0)) {
2422 result.useLpLns_ = useLpLns_;
2423 to_bitField0_ |= 0x00020000;
2424 }
2425 if (((from_bitField0_ & 0x00040000) != 0)) {
2426 result.useSatToChooseLnsNeighbourhood_ = useSatToChooseLnsNeighbourhood_;
2427 to_bitField0_ |= 0x00040000;
2428 }
2429 if (((from_bitField0_ & 0x00080000) != 0)) {
2430 result.maxNumberOfConflictsForQuickCheck_ = maxNumberOfConflictsForQuickCheck_;
2431 to_bitField0_ |= 0x00080000;
2432 }
2433 if (((from_bitField0_ & 0x00100000) != 0)) {
2434 result.useSymmetry_ = useSymmetry_;
2435 to_bitField0_ |= 0x00100000;
2436 }
2437 if (((from_bitField0_ & 0x00200000) != 0)) {
2438 result.exploitSymmetryInSatFirstSolution_ = exploitSymmetryInSatFirstSolution_;
2439 to_bitField0_ |= 0x00200000;
2440 }
2441 if (((from_bitField0_ & 0x00400000) != 0)) {
2442 result.maxNumberOfConflictsInRandomSolutionGeneration_ = maxNumberOfConflictsInRandomSolutionGeneration_;
2443 to_bitField0_ |= 0x00400000;
2444 }
2445 if (((from_bitField0_ & 0x00800000) != 0)) {
2446 result.maxNumberOfExploredAssignmentsPerTryInLs_ = maxNumberOfExploredAssignmentsPerTryInLs_;
2447 to_bitField0_ |= 0x00800000;
2448 }
2449 if (((from_bitField0_ & 0x01000000) != 0)) {
2450 result.useTranspositionTableInLs_ = useTranspositionTableInLs_;
2451 to_bitField0_ |= 0x01000000;
2452 }
2453 if (((from_bitField0_ & 0x02000000) != 0)) {
2454 result.usePotentialOneFlipRepairsInLs_ = usePotentialOneFlipRepairsInLs_;
2455 to_bitField0_ |= 0x02000000;
2456 }
2457 if (((from_bitField0_ & 0x04000000) != 0)) {
2458 result.useLearnedBinaryClausesInLp_ = useLearnedBinaryClausesInLp_;
2459 to_bitField0_ |= 0x04000000;
2460 }
2461 if (((from_bitField0_ & 0x08000000) != 0)) {
2462 result.numberOfSolvers_ = numberOfSolvers_;
2463 to_bitField0_ |= 0x08000000;
2464 }
2465 if (((from_bitField0_ & 0x10000000) != 0)) {
2466 result.synchronizationType_ = synchronizationType_;
2467 to_bitField0_ |= 0x10000000;
2468 }
2469 if (((from_bitField0_ & 0x40000000) != 0)) {
2470 result.defaultSolverOptimizerSets_ = defaultSolverOptimizerSets_;
2471 to_bitField0_ |= 0x20000000;
2472 }
2473 if (((from_bitField0_ & 0x80000000) != 0)) {
2474 result.useLpStrongBranching_ = useLpStrongBranching_;
2475 to_bitField0_ |= 0x40000000;
2476 }
2477 result.bitField0_ |= to_bitField0_;
2478 }
2479
2480 private void buildPartial1(com.google.ortools.bop.BopParameters result) {
2481 int from_bitField1_ = bitField1_;
2482 int to_bitField0_ = 0;
2483 if (((from_bitField1_ & 0x00000001) != 0)) {
2484 result.decomposerNumVariablesThreshold_ = decomposerNumVariablesThreshold_;
2485 to_bitField0_ |= 0x80000000;
2486 }
2487 int to_bitField1_ = 0;
2488 if (((from_bitField1_ & 0x00000002) != 0)) {
2489 result.numBopSolversUsedByDecomposition_ = numBopSolversUsedByDecomposition_;
2490 to_bitField1_ |= 0x00000001;
2491 }
2492 if (((from_bitField1_ & 0x00000004) != 0)) {
2493 result.decomposedProblemMinTimeInSeconds_ = decomposedProblemMinTimeInSeconds_;
2494 to_bitField1_ |= 0x00000002;
2495 }
2496 if (((from_bitField1_ & 0x00000008) != 0)) {
2497 result.guidedSatConflictsChunk_ = guidedSatConflictsChunk_;
2498 to_bitField1_ |= 0x00000004;
2499 }
2500 if (((from_bitField1_ & 0x00000010) != 0)) {
2501 result.maxLpSolveForFeasibilityProblems_ = maxLpSolveForFeasibilityProblems_;
2502 to_bitField1_ |= 0x00000008;
2503 }
2504 result.bitField0_ |= to_bitField0_;
2505 result.bitField1_ |= to_bitField1_;
2506 }
2507
2508 @java.lang.Override
2509 public Builder mergeFrom(com.google.protobuf.Message other) {
2510 if (other instanceof com.google.ortools.bop.BopParameters) {
2511 return mergeFrom((com.google.ortools.bop.BopParameters)other);
2512 } else {
2513 super.mergeFrom(other);
2514 return this;
2515 }
2516 }
2517
2518 public Builder mergeFrom(com.google.ortools.bop.BopParameters other) {
2519 if (other == com.google.ortools.bop.BopParameters.getDefaultInstance()) return this;
2520 if (other.hasMaxTimeInSeconds()) {
2521 setMaxTimeInSeconds(other.getMaxTimeInSeconds());
2522 }
2523 if (other.hasMaxDeterministicTime()) {
2524 setMaxDeterministicTime(other.getMaxDeterministicTime());
2525 }
2526 if (other.hasLpMaxDeterministicTime()) {
2527 setLpMaxDeterministicTime(other.getLpMaxDeterministicTime());
2528 }
2529 if (other.hasMaxNumberOfConsecutiveFailingOptimizerCalls()) {
2530 setMaxNumberOfConsecutiveFailingOptimizerCalls(other.getMaxNumberOfConsecutiveFailingOptimizerCalls());
2531 }
2532 if (other.hasRelativeGapLimit()) {
2533 setRelativeGapLimit(other.getRelativeGapLimit());
2534 }
2535 if (other.hasMaxNumDecisionsInLs()) {
2536 setMaxNumDecisionsInLs(other.getMaxNumDecisionsInLs());
2537 }
2538 if (other.hasMaxNumBrokenConstraintsInLs()) {
2539 setMaxNumBrokenConstraintsInLs(other.getMaxNumBrokenConstraintsInLs());
2540 }
2541 if (other.hasLogSearchProgress()) {
2542 setLogSearchProgress(other.getLogSearchProgress());
2543 }
2544 if (other.hasComputeEstimatedImpact()) {
2545 setComputeEstimatedImpact(other.getComputeEstimatedImpact());
2546 }
2547 if (other.hasPruneSearchTree()) {
2548 setPruneSearchTree(other.getPruneSearchTree());
2549 }
2550 if (other.hasSortConstraintsByNumTerms()) {
2551 setSortConstraintsByNumTerms(other.getSortConstraintsByNumTerms());
2552 }
2553 if (other.hasUseRandomLns()) {
2554 setUseRandomLns(other.getUseRandomLns());
2555 }
2556 if (other.hasRandomSeed()) {
2557 setRandomSeed(other.getRandomSeed());
2558 }
2559 if (other.hasNumRelaxedVars()) {
2560 setNumRelaxedVars(other.getNumRelaxedVars());
2561 }
2562 if (other.hasMaxNumberOfConflictsInRandomLns()) {
2563 setMaxNumberOfConflictsInRandomLns(other.getMaxNumberOfConflictsInRandomLns());
2564 }
2565 if (other.hasNumRandomLnsTries()) {
2566 setNumRandomLnsTries(other.getNumRandomLnsTries());
2567 }
2568 if (other.hasMaxNumberOfBacktracksInLs()) {
2569 setMaxNumberOfBacktracksInLs(other.getMaxNumberOfBacktracksInLs());
2570 }
2571 if (other.hasUseLpLns()) {
2572 setUseLpLns(other.getUseLpLns());
2573 }
2574 if (other.hasUseSatToChooseLnsNeighbourhood()) {
2575 setUseSatToChooseLnsNeighbourhood(other.getUseSatToChooseLnsNeighbourhood());
2576 }
2577 if (other.hasMaxNumberOfConflictsForQuickCheck()) {
2578 setMaxNumberOfConflictsForQuickCheck(other.getMaxNumberOfConflictsForQuickCheck());
2579 }
2580 if (other.hasUseSymmetry()) {
2581 setUseSymmetry(other.getUseSymmetry());
2582 }
2583 if (other.hasExploitSymmetryInSatFirstSolution()) {
2584 setExploitSymmetryInSatFirstSolution(other.getExploitSymmetryInSatFirstSolution());
2585 }
2586 if (other.hasMaxNumberOfConflictsInRandomSolutionGeneration()) {
2587 setMaxNumberOfConflictsInRandomSolutionGeneration(other.getMaxNumberOfConflictsInRandomSolutionGeneration());
2588 }
2589 if (other.hasMaxNumberOfExploredAssignmentsPerTryInLs()) {
2590 setMaxNumberOfExploredAssignmentsPerTryInLs(other.getMaxNumberOfExploredAssignmentsPerTryInLs());
2591 }
2592 if (other.hasUseTranspositionTableInLs()) {
2593 setUseTranspositionTableInLs(other.getUseTranspositionTableInLs());
2594 }
2595 if (other.hasUsePotentialOneFlipRepairsInLs()) {
2596 setUsePotentialOneFlipRepairsInLs(other.getUsePotentialOneFlipRepairsInLs());
2597 }
2598 if (other.hasUseLearnedBinaryClausesInLp()) {
2599 setUseLearnedBinaryClausesInLp(other.getUseLearnedBinaryClausesInLp());
2600 }
2601 if (other.hasNumberOfSolvers()) {
2602 setNumberOfSolvers(other.getNumberOfSolvers());
2603 }
2604 if (other.hasSynchronizationType()) {
2605 setSynchronizationType(other.getSynchronizationType());
2606 }
2607 if (solverOptimizerSetsBuilder_ == null) {
2608 if (!other.solverOptimizerSets_.isEmpty()) {
2609 if (solverOptimizerSets_.isEmpty()) {
2610 solverOptimizerSets_ = other.solverOptimizerSets_;
2611 bitField0_ = (bitField0_ & ~0x20000000);
2612 } else {
2613 ensureSolverOptimizerSetsIsMutable();
2614 solverOptimizerSets_.addAll(other.solverOptimizerSets_);
2615 }
2616 onChanged();
2617 }
2618 } else {
2619 if (!other.solverOptimizerSets_.isEmpty()) {
2620 if (solverOptimizerSetsBuilder_.isEmpty()) {
2621 solverOptimizerSetsBuilder_.dispose();
2622 solverOptimizerSetsBuilder_ = null;
2623 solverOptimizerSets_ = other.solverOptimizerSets_;
2624 bitField0_ = (bitField0_ & ~0x20000000);
2625 solverOptimizerSetsBuilder_ =
2626 com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
2627 getSolverOptimizerSetsFieldBuilder() : null;
2628 } else {
2629 solverOptimizerSetsBuilder_.addAllMessages(other.solverOptimizerSets_);
2630 }
2631 }
2632 }
2633 if (other.hasDefaultSolverOptimizerSets()) {
2634 defaultSolverOptimizerSets_ = other.defaultSolverOptimizerSets_;
2635 bitField0_ |= 0x40000000;
2636 onChanged();
2637 }
2638 if (other.hasUseLpStrongBranching()) {
2639 setUseLpStrongBranching(other.getUseLpStrongBranching());
2640 }
2641 if (other.hasDecomposerNumVariablesThreshold()) {
2642 setDecomposerNumVariablesThreshold(other.getDecomposerNumVariablesThreshold());
2643 }
2644 if (other.hasNumBopSolversUsedByDecomposition()) {
2645 setNumBopSolversUsedByDecomposition(other.getNumBopSolversUsedByDecomposition());
2646 }
2647 if (other.hasDecomposedProblemMinTimeInSeconds()) {
2648 setDecomposedProblemMinTimeInSeconds(other.getDecomposedProblemMinTimeInSeconds());
2649 }
2650 if (other.hasGuidedSatConflictsChunk()) {
2651 setGuidedSatConflictsChunk(other.getGuidedSatConflictsChunk());
2652 }
2653 if (other.hasMaxLpSolveForFeasibilityProblems()) {
2654 setMaxLpSolveForFeasibilityProblems(other.getMaxLpSolveForFeasibilityProblems());
2655 }
2656 this.mergeUnknownFields(other.getUnknownFields());
2657 onChanged();
2658 return this;
2659 }
2660
2661 @java.lang.Override
2662 public final boolean isInitialized() {
2663 return true;
2664 }
2665
2666 @java.lang.Override
2667 public Builder mergeFrom(
2668 com.google.protobuf.CodedInputStream input,
2669 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2670 throws java.io.IOException {
2671 if (extensionRegistry == null) {
2672 throw new java.lang.NullPointerException();
2673 }
2674 try {
2675 boolean done = false;
2676 while (!done) {
2677 int tag = input.readTag();
2678 switch (tag) {
2679 case 0:
2680 done = true;
2681 break;
2682 case 9: {
2683 maxTimeInSeconds_ = input.readDouble();
2684 bitField0_ |= 0x00000001;
2685 break;
2686 } // case 9
2687 case 16: {
2688 maxNumDecisionsInLs_ = input.readInt32();
2689 bitField0_ |= 0x00000020;
2690 break;
2691 } // case 16
2692 case 24: {
2693 computeEstimatedImpact_ = input.readBool();
2694 bitField0_ |= 0x00000100;
2695 break;
2696 } // case 24
2697 case 32: {
2698 pruneSearchTree_ = input.readBool();
2699 bitField0_ |= 0x00000200;
2700 break;
2701 } // case 32
2702 case 40: {
2703 sortConstraintsByNumTerms_ = input.readBool();
2704 bitField0_ |= 0x00000400;
2705 break;
2706 } // case 40
2707 case 48: {
2708 useRandomLns_ = input.readBool();
2709 bitField0_ |= 0x00000800;
2710 break;
2711 } // case 48
2712 case 56: {
2713 randomSeed_ = input.readInt32();
2714 bitField0_ |= 0x00001000;
2715 break;
2716 } // case 56
2717 case 64: {
2718 numRelaxedVars_ = input.readInt32();
2719 bitField0_ |= 0x00002000;
2720 break;
2721 } // case 64
2722 case 72: {
2723 maxNumberOfConflictsInRandomLns_ = input.readInt32();
2724 bitField0_ |= 0x00004000;
2725 break;
2726 } // case 72
2727 case 80: {
2728 numRandomLnsTries_ = input.readInt32();
2729 bitField0_ |= 0x00008000;
2730 break;
2731 } // case 80
2732 case 88: {
2733 maxNumberOfBacktracksInLs_ = input.readInt64();
2734 bitField0_ |= 0x00010000;
2735 break;
2736 } // case 88
2737 case 96: {
2738 useLpLns_ = input.readBool();
2739 bitField0_ |= 0x00020000;
2740 break;
2741 } // case 96
2742 case 112: {
2743 logSearchProgress_ = input.readBool();
2744 bitField0_ |= 0x00000080;
2745 break;
2746 } // case 112
2747 case 120: {
2748 useSatToChooseLnsNeighbourhood_ = input.readBool();
2749 bitField0_ |= 0x00040000;
2750 break;
2751 } // case 120
2752 case 128: {
2753 maxNumberOfConflictsForQuickCheck_ = input.readInt32();
2754 bitField0_ |= 0x00080000;
2755 break;
2756 } // case 128
2757 case 136: {
2758 useSymmetry_ = input.readBool();
2759 bitField0_ |= 0x00100000;
2760 break;
2761 } // case 136
2762 case 160: {
2763 maxNumberOfConflictsInRandomSolutionGeneration_ = input.readInt32();
2764 bitField0_ |= 0x00400000;
2765 break;
2766 } // case 160
2767 case 168: {
2768 maxNumberOfExploredAssignmentsPerTryInLs_ = input.readInt64();
2769 bitField0_ |= 0x00800000;
2770 break;
2771 } // case 168
2772 case 176: {
2773 useTranspositionTableInLs_ = input.readBool();
2774 bitField0_ |= 0x01000000;
2775 break;
2776 } // case 176
2777 case 184: {
2778 useLearnedBinaryClausesInLp_ = input.readBool();
2779 bitField0_ |= 0x04000000;
2780 break;
2781 } // case 184
2782 case 192: {
2783 numberOfSolvers_ = input.readInt32();
2784 bitField0_ |= 0x08000000;
2785 break;
2786 } // case 192
2787 case 200: {
2788 int tmpRaw = input.readEnum();
2790 com.google.ortools.bop.BopParameters.ThreadSynchronizationType.forNumber(tmpRaw);
2791 if (tmpValue == null) {
2792 mergeUnknownVarintField(25, tmpRaw);
2793 } else {
2794 synchronizationType_ = tmpRaw;
2795 bitField0_ |= 0x10000000;
2796 }
2797 break;
2798 } // case 200
2799 case 210: {
2801 input.readMessage(
2802 com.google.ortools.bop.BopSolverOptimizerSet.parser(),
2803 extensionRegistry);
2804 if (solverOptimizerSetsBuilder_ == null) {
2805 ensureSolverOptimizerSetsIsMutable();
2806 solverOptimizerSets_.add(m);
2807 } else {
2808 solverOptimizerSetsBuilder_.addMessage(m);
2809 }
2810 break;
2811 } // case 210
2812 case 217: {
2813 maxDeterministicTime_ = input.readDouble();
2814 bitField0_ |= 0x00000002;
2815 break;
2816 } // case 217
2817 case 225: {
2818 relativeGapLimit_ = input.readDouble();
2819 bitField0_ |= 0x00000010;
2820 break;
2821 } // case 225
2822 case 232: {
2823 useLpStrongBranching_ = input.readBool();
2824 bitField0_ |= 0x80000000;
2825 break;
2826 } // case 232
2827 case 240: {
2828 decomposerNumVariablesThreshold_ = input.readInt32();
2829 bitField1_ |= 0x00000001;
2830 break;
2831 } // case 240
2832 case 248: {
2833 numBopSolversUsedByDecomposition_ = input.readInt32();
2834 bitField1_ |= 0x00000002;
2835 break;
2836 } // case 248
2837 case 266: {
2838 defaultSolverOptimizerSets_ = input.readBytes();
2839 bitField0_ |= 0x40000000;
2840 break;
2841 } // case 266
2842 case 272: {
2843 guidedSatConflictsChunk_ = input.readInt32();
2844 bitField1_ |= 0x00000008;
2845 break;
2846 } // case 272
2847 case 280: {
2848 maxNumberOfConsecutiveFailingOptimizerCalls_ = input.readInt32();
2849 bitField0_ |= 0x00000008;
2850 break;
2851 } // case 280
2852 case 289: {
2853 decomposedProblemMinTimeInSeconds_ = input.readDouble();
2854 bitField1_ |= 0x00000004;
2855 break;
2856 } // case 289
2857 case 297: {
2858 lpMaxDeterministicTime_ = input.readDouble();
2859 bitField0_ |= 0x00000004;
2860 break;
2861 } // case 297
2862 case 304: {
2863 maxNumBrokenConstraintsInLs_ = input.readInt32();
2864 bitField0_ |= 0x00000040;
2865 break;
2866 } // case 304
2867 case 312: {
2868 usePotentialOneFlipRepairsInLs_ = input.readBool();
2869 bitField0_ |= 0x02000000;
2870 break;
2871 } // case 312
2872 case 320: {
2873 exploitSymmetryInSatFirstSolution_ = input.readBool();
2874 bitField0_ |= 0x00200000;
2875 break;
2876 } // case 320
2877 case 328: {
2878 maxLpSolveForFeasibilityProblems_ = input.readInt32();
2879 bitField1_ |= 0x00000010;
2880 break;
2881 } // case 328
2882 default: {
2883 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
2884 done = true; // was an endgroup tag
2885 }
2886 break;
2887 } // default:
2888 } // switch (tag)
2889 } // while (!done)
2890 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2891 throw e.unwrapIOException();
2892 } finally {
2893 onChanged();
2894 } // finally
2895 return this;
2896 }
2897 private int bitField0_;
2898 private int bitField1_;
2899
2900 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
2910 @java.lang.Override
2911 public boolean hasMaxTimeInSeconds() {
2912 return ((bitField0_ & 0x00000001) != 0);
2913 }
2914
2923 @java.lang.Override
2924 public double getMaxTimeInSeconds() {
2925 return maxTimeInSeconds_;
2926 }
2927
2937 public Builder setMaxTimeInSeconds(double value) {
2938
2939 maxTimeInSeconds_ = value;
2940 bitField0_ |= 0x00000001;
2941 onChanged();
2942 return this;
2943 }
2944
2953 public Builder clearMaxTimeInSeconds() {
2954 bitField0_ = (bitField0_ & ~0x00000001);
2955 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
2956 onChanged();
2957 return this;
2958 }
2959
2960 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
2973 @java.lang.Override
2974 public boolean hasMaxDeterministicTime() {
2975 return ((bitField0_ & 0x00000002) != 0);
2976 }
2977
2989 @java.lang.Override
2990 public double getMaxDeterministicTime() {
2991 return maxDeterministicTime_;
2992 }
2993
3006 public Builder setMaxDeterministicTime(double value) {
3007
3008 maxDeterministicTime_ = value;
3009 bitField0_ |= 0x00000002;
3010 onChanged();
3011 return this;
3012 }
3013
3025 public Builder clearMaxDeterministicTime() {
3026 bitField0_ = (bitField0_ & ~0x00000002);
3027 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
3028 onChanged();
3029 return this;
3030 }
3031
3032 private double lpMaxDeterministicTime_ = 1D;
3043 @java.lang.Override
3044 public boolean hasLpMaxDeterministicTime() {
3045 return ((bitField0_ & 0x00000004) != 0);
3046 }
3047
3057 @java.lang.Override
3059 return lpMaxDeterministicTime_;
3060 }
3061
3072 public Builder setLpMaxDeterministicTime(double value) {
3073
3074 lpMaxDeterministicTime_ = value;
3075 bitField0_ |= 0x00000004;
3076 onChanged();
3077 return this;
3078 }
3079
3090 bitField0_ = (bitField0_ & ~0x00000004);
3091 lpMaxDeterministicTime_ = 1D;
3092 onChanged();
3093 return this;
3094 }
3095
3096 private int maxNumberOfConsecutiveFailingOptimizerCalls_ ;
3109 @java.lang.Override
3111 return ((bitField0_ & 0x00000008) != 0);
3112 }
3113
3125 @java.lang.Override
3127 return maxNumberOfConsecutiveFailingOptimizerCalls_;
3128 }
3129
3143
3144 maxNumberOfConsecutiveFailingOptimizerCalls_ = value;
3145 bitField0_ |= 0x00000008;
3146 onChanged();
3147 return this;
3148 }
3149
3162 bitField0_ = (bitField0_ & ~0x00000008);
3163 maxNumberOfConsecutiveFailingOptimizerCalls_ = 0;
3164 onChanged();
3165 return this;
3166 }
3167
3168 private double relativeGapLimit_ = 0.0001D;
3181 @java.lang.Override
3182 public boolean hasRelativeGapLimit() {
3183 return ((bitField0_ & 0x00000010) != 0);
3184 }
3185
3197 @java.lang.Override
3198 public double getRelativeGapLimit() {
3199 return relativeGapLimit_;
3200 }
3201
3214 public Builder setRelativeGapLimit(double value) {
3215
3216 relativeGapLimit_ = value;
3217 bitField0_ |= 0x00000010;
3218 onChanged();
3219 return this;
3220 }
3221
3233 public Builder clearRelativeGapLimit() {
3234 bitField0_ = (bitField0_ & ~0x00000010);
3235 relativeGapLimit_ = 0.0001D;
3236 onChanged();
3237 return this;
3238 }
3239
3240 private int maxNumDecisionsInLs_ = 4;
3250 @java.lang.Override
3251 public boolean hasMaxNumDecisionsInLs() {
3252 return ((bitField0_ & 0x00000020) != 0);
3253 }
3254
3263 @java.lang.Override
3265 return maxNumDecisionsInLs_;
3266 }
3267
3277 public Builder setMaxNumDecisionsInLs(int value) {
3278
3279 maxNumDecisionsInLs_ = value;
3280 bitField0_ |= 0x00000020;
3281 onChanged();
3282 return this;
3283 }
3284
3293 public Builder clearMaxNumDecisionsInLs() {
3294 bitField0_ = (bitField0_ & ~0x00000020);
3295 maxNumDecisionsInLs_ = 4;
3296 onChanged();
3297 return this;
3298 }
3299
3300 private int maxNumBrokenConstraintsInLs_ = 2147483647;
3311 @java.lang.Override
3313 return ((bitField0_ & 0x00000040) != 0);
3314 }
3315
3325 @java.lang.Override
3327 return maxNumBrokenConstraintsInLs_;
3328 }
3329
3340 public Builder setMaxNumBrokenConstraintsInLs(int value) {
3341
3342 maxNumBrokenConstraintsInLs_ = value;
3343 bitField0_ |= 0x00000040;
3344 onChanged();
3345 return this;
3346 }
3347
3358 bitField0_ = (bitField0_ & ~0x00000040);
3359 maxNumBrokenConstraintsInLs_ = 2147483647;
3360 onChanged();
3361 return this;
3362 }
3363
3364 private boolean logSearchProgress_ ;
3373 @java.lang.Override
3374 public boolean hasLogSearchProgress() {
3375 return ((bitField0_ & 0x00000080) != 0);
3376 }
3377
3385 @java.lang.Override
3386 public boolean getLogSearchProgress() {
3387 return logSearchProgress_;
3388 }
3389
3398 public Builder setLogSearchProgress(boolean value) {
3399
3400 logSearchProgress_ = value;
3401 bitField0_ |= 0x00000080;
3402 onChanged();
3403 return this;
3404 }
3405
3413 public Builder clearLogSearchProgress() {
3414 bitField0_ = (bitField0_ & ~0x00000080);
3415 logSearchProgress_ = false;
3416 onChanged();
3417 return this;
3418 }
3419
3420 private boolean computeEstimatedImpact_ = true;
3429 @java.lang.Override
3430 public boolean hasComputeEstimatedImpact() {
3431 return ((bitField0_ & 0x00000100) != 0);
3432 }
3433
3441 @java.lang.Override
3442 public boolean getComputeEstimatedImpact() {
3443 return computeEstimatedImpact_;
3444 }
3445
3454 public Builder setComputeEstimatedImpact(boolean value) {
3455
3456 computeEstimatedImpact_ = value;
3457 bitField0_ |= 0x00000100;
3458 onChanged();
3459 return this;
3460 }
3461
3470 bitField0_ = (bitField0_ & ~0x00000100);
3471 computeEstimatedImpact_ = true;
3472 onChanged();
3473 return this;
3474 }
3475
3476 private boolean pruneSearchTree_ ;
3485 @java.lang.Override
3486 public boolean hasPruneSearchTree() {
3487 return ((bitField0_ & 0x00000200) != 0);
3488 }
3489
3497 @java.lang.Override
3498 public boolean getPruneSearchTree() {
3499 return pruneSearchTree_;
3500 }
3501
3510 public Builder setPruneSearchTree(boolean value) {
3511
3512 pruneSearchTree_ = value;
3513 bitField0_ |= 0x00000200;
3514 onChanged();
3515 return this;
3516 }
3517
3525 public Builder clearPruneSearchTree() {
3526 bitField0_ = (bitField0_ & ~0x00000200);
3527 pruneSearchTree_ = false;
3528 onChanged();
3529 return this;
3530 }
3531
3532 private boolean sortConstraintsByNumTerms_ ;
3542 @java.lang.Override
3544 return ((bitField0_ & 0x00000400) != 0);
3545 }
3546
3555 @java.lang.Override
3557 return sortConstraintsByNumTerms_;
3558 }
3559
3569 public Builder setSortConstraintsByNumTerms(boolean value) {
3570
3571 sortConstraintsByNumTerms_ = value;
3572 bitField0_ |= 0x00000400;
3573 onChanged();
3574 return this;
3575 }
3576
3586 bitField0_ = (bitField0_ & ~0x00000400);
3587 sortConstraintsByNumTerms_ = false;
3588 onChanged();
3589 return this;
3590 }
3591
3592 private boolean useRandomLns_ = true;
3601 @java.lang.Override
3602 public boolean hasUseRandomLns() {
3603 return ((bitField0_ & 0x00000800) != 0);
3604 }
3605
3613 @java.lang.Override
3614 public boolean getUseRandomLns() {
3615 return useRandomLns_;
3616 }
3617
3626 public Builder setUseRandomLns(boolean value) {
3627
3628 useRandomLns_ = value;
3629 bitField0_ |= 0x00000800;
3630 onChanged();
3631 return this;
3632 }
3633
3641 public Builder clearUseRandomLns() {
3642 bitField0_ = (bitField0_ & ~0x00000800);
3643 useRandomLns_ = true;
3644 onChanged();
3645 return this;
3646 }
3647
3648 private int randomSeed_ = 8;
3661 @java.lang.Override
3662 public boolean hasRandomSeed() {
3663 return ((bitField0_ & 0x00001000) != 0);
3664 }
3665
3677 @java.lang.Override
3678 public int getRandomSeed() {
3679 return randomSeed_;
3680 }
3681
3694 public Builder setRandomSeed(int value) {
3695
3696 randomSeed_ = value;
3697 bitField0_ |= 0x00001000;
3698 onChanged();
3699 return this;
3700 }
3701
3713 public Builder clearRandomSeed() {
3714 bitField0_ = (bitField0_ & ~0x00001000);
3715 randomSeed_ = 8;
3716 onChanged();
3717 return this;
3718 }
3719
3720 private int numRelaxedVars_ = 10;
3729 @java.lang.Override
3730 public boolean hasNumRelaxedVars() {
3731 return ((bitField0_ & 0x00002000) != 0);
3732 }
3733
3741 @java.lang.Override
3742 public int getNumRelaxedVars() {
3743 return numRelaxedVars_;
3744 }
3745
3754 public Builder setNumRelaxedVars(int value) {
3755
3756 numRelaxedVars_ = value;
3757 bitField0_ |= 0x00002000;
3758 onChanged();
3759 return this;
3760 }
3761
3769 public Builder clearNumRelaxedVars() {
3770 bitField0_ = (bitField0_ & ~0x00002000);
3771 numRelaxedVars_ = 10;
3772 onChanged();
3773 return this;
3774 }
3775
3776 private int maxNumberOfConflictsInRandomLns_ = 2500;
3786 @java.lang.Override
3788 return ((bitField0_ & 0x00004000) != 0);
3789 }
3790
3799 @java.lang.Override
3801 return maxNumberOfConflictsInRandomLns_;
3802 }
3803
3813 public Builder setMaxNumberOfConflictsInRandomLns(int value) {
3814
3815 maxNumberOfConflictsInRandomLns_ = value;
3816 bitField0_ |= 0x00004000;
3817 onChanged();
3818 return this;
3819 }
3820
3830 bitField0_ = (bitField0_ & ~0x00004000);
3831 maxNumberOfConflictsInRandomLns_ = 2500;
3832 onChanged();
3833 return this;
3834 }
3835
3836 private int numRandomLnsTries_ = 1;
3845 @java.lang.Override
3846 public boolean hasNumRandomLnsTries() {
3847 return ((bitField0_ & 0x00008000) != 0);
3848 }
3849
3857 @java.lang.Override
3859 return numRandomLnsTries_;
3860 }
3861
3870 public Builder setNumRandomLnsTries(int value) {
3871
3872 numRandomLnsTries_ = value;
3873 bitField0_ |= 0x00008000;
3874 onChanged();
3875 return this;
3876 }
3877
3885 public Builder clearNumRandomLnsTries() {
3886 bitField0_ = (bitField0_ & ~0x00008000);
3887 numRandomLnsTries_ = 1;
3888 onChanged();
3889 return this;
3890 }
3891
3892 private long maxNumberOfBacktracksInLs_ = 100000000L;
3902 @java.lang.Override
3904 return ((bitField0_ & 0x00010000) != 0);
3905 }
3906
3915 @java.lang.Override
3917 return maxNumberOfBacktracksInLs_;
3918 }
3919
3929 public Builder setMaxNumberOfBacktracksInLs(long value) {
3930
3931 maxNumberOfBacktracksInLs_ = value;
3932 bitField0_ |= 0x00010000;
3933 onChanged();
3934 return this;
3935 }
3936
3946 bitField0_ = (bitField0_ & ~0x00010000);
3947 maxNumberOfBacktracksInLs_ = 100000000L;
3948 onChanged();
3949 return this;
3950 }
3951
3952 private boolean useLpLns_ = true;
3961 @java.lang.Override
3962 public boolean hasUseLpLns() {
3963 return ((bitField0_ & 0x00020000) != 0);
3964 }
3965
3973 @java.lang.Override
3974 public boolean getUseLpLns() {
3975 return useLpLns_;
3976 }
3977
3986 public Builder setUseLpLns(boolean value) {
3987
3988 useLpLns_ = value;
3989 bitField0_ |= 0x00020000;
3990 onChanged();
3991 return this;
3992 }
3993
4001 public Builder clearUseLpLns() {
4002 bitField0_ = (bitField0_ & ~0x00020000);
4003 useLpLns_ = true;
4004 onChanged();
4005 return this;
4006 }
4007
4008 private boolean useSatToChooseLnsNeighbourhood_ = true;
4017 @java.lang.Override
4019 return ((bitField0_ & 0x00040000) != 0);
4020 }
4021
4029 @java.lang.Override
4031 return useSatToChooseLnsNeighbourhood_;
4032 }
4033
4042 public Builder setUseSatToChooseLnsNeighbourhood(boolean value) {
4043
4044 useSatToChooseLnsNeighbourhood_ = value;
4045 bitField0_ |= 0x00040000;
4046 onChanged();
4047 return this;
4048 }
4049
4058 bitField0_ = (bitField0_ & ~0x00040000);
4059 useSatToChooseLnsNeighbourhood_ = true;
4060 onChanged();
4061 return this;
4062 }
4063
4064 private int maxNumberOfConflictsForQuickCheck_ = 10;
4074 @java.lang.Override
4076 return ((bitField0_ & 0x00080000) != 0);
4077 }
4078
4087 @java.lang.Override
4089 return maxNumberOfConflictsForQuickCheck_;
4090 }
4091
4101 public Builder setMaxNumberOfConflictsForQuickCheck(int value) {
4102
4103 maxNumberOfConflictsForQuickCheck_ = value;
4104 bitField0_ |= 0x00080000;
4105 onChanged();
4106 return this;
4107 }
4108
4118 bitField0_ = (bitField0_ & ~0x00080000);
4119 maxNumberOfConflictsForQuickCheck_ = 10;
4120 onChanged();
4121 return this;
4122 }
4123
4124 private boolean useSymmetry_ ;
4137 @java.lang.Override
4138 public boolean hasUseSymmetry() {
4139 return ((bitField0_ & 0x00100000) != 0);
4140 }
4141
4153 @java.lang.Override
4154 public boolean getUseSymmetry() {
4155 return useSymmetry_;
4156 }
4157
4170 public Builder setUseSymmetry(boolean value) {
4171
4172 useSymmetry_ = value;
4173 bitField0_ |= 0x00100000;
4174 onChanged();
4175 return this;
4176 }
4177
4189 public Builder clearUseSymmetry() {
4190 bitField0_ = (bitField0_ & ~0x00100000);
4191 useSymmetry_ = false;
4192 onChanged();
4193 return this;
4194 }
4195
4196 private boolean exploitSymmetryInSatFirstSolution_ ;
4209 @java.lang.Override
4211 return ((bitField0_ & 0x00200000) != 0);
4212 }
4213
4225 @java.lang.Override
4227 return exploitSymmetryInSatFirstSolution_;
4228 }
4229
4242 public Builder setExploitSymmetryInSatFirstSolution(boolean value) {
4243
4244 exploitSymmetryInSatFirstSolution_ = value;
4245 bitField0_ |= 0x00200000;
4246 onChanged();
4247 return this;
4248 }
4249
4262 bitField0_ = (bitField0_ & ~0x00200000);
4263 exploitSymmetryInSatFirstSolution_ = false;
4264 onChanged();
4265 return this;
4266 }
4267
4268 private int maxNumberOfConflictsInRandomSolutionGeneration_ = 500;
4277 @java.lang.Override
4279 return ((bitField0_ & 0x00400000) != 0);
4280 }
4281
4289 @java.lang.Override
4291 return maxNumberOfConflictsInRandomSolutionGeneration_;
4292 }
4293
4303
4304 maxNumberOfConflictsInRandomSolutionGeneration_ = value;
4305 bitField0_ |= 0x00400000;
4306 onChanged();
4307 return this;
4308 }
4309
4318 bitField0_ = (bitField0_ & ~0x00400000);
4319 maxNumberOfConflictsInRandomSolutionGeneration_ = 500;
4320 onChanged();
4321 return this;
4322 }
4323
4324 private long maxNumberOfExploredAssignmentsPerTryInLs_ = 10000L;
4336 @java.lang.Override
4338 return ((bitField0_ & 0x00800000) != 0);
4339 }
4340
4351 @java.lang.Override
4353 return maxNumberOfExploredAssignmentsPerTryInLs_;
4354 }
4355
4368
4369 maxNumberOfExploredAssignmentsPerTryInLs_ = value;
4370 bitField0_ |= 0x00800000;
4371 onChanged();
4372 return this;
4373 }
4374
4386 bitField0_ = (bitField0_ & ~0x00800000);
4387 maxNumberOfExploredAssignmentsPerTryInLs_ = 10000L;
4388 onChanged();
4389 return this;
4390 }
4391
4392 private boolean useTranspositionTableInLs_ = true;
4404 @java.lang.Override
4406 return ((bitField0_ & 0x01000000) != 0);
4407 }
4408
4419 @java.lang.Override
4421 return useTranspositionTableInLs_;
4422 }
4423
4435 public Builder setUseTranspositionTableInLs(boolean value) {
4436
4437 useTranspositionTableInLs_ = value;
4438 bitField0_ |= 0x01000000;
4439 onChanged();
4440 return this;
4441 }
4442
4454 bitField0_ = (bitField0_ & ~0x01000000);
4455 useTranspositionTableInLs_ = true;
4456 onChanged();
4457 return this;
4458 }
4459
4460 private boolean usePotentialOneFlipRepairsInLs_ ;
4471 @java.lang.Override
4473 return ((bitField0_ & 0x02000000) != 0);
4474 }
4475
4485 @java.lang.Override
4487 return usePotentialOneFlipRepairsInLs_;
4488 }
4489
4500 public Builder setUsePotentialOneFlipRepairsInLs(boolean value) {
4501
4502 usePotentialOneFlipRepairsInLs_ = value;
4503 bitField0_ |= 0x02000000;
4504 onChanged();
4505 return this;
4506 }
4507
4518 bitField0_ = (bitField0_ & ~0x02000000);
4519 usePotentialOneFlipRepairsInLs_ = false;
4520 onChanged();
4521 return this;
4522 }
4523
4524 private boolean useLearnedBinaryClausesInLp_ = true;
4533 @java.lang.Override
4535 return ((bitField0_ & 0x04000000) != 0);
4536 }
4537
4545 @java.lang.Override
4547 return useLearnedBinaryClausesInLp_;
4548 }
4549
4558 public Builder setUseLearnedBinaryClausesInLp(boolean value) {
4559
4560 useLearnedBinaryClausesInLp_ = value;
4561 bitField0_ |= 0x04000000;
4562 onChanged();
4563 return this;
4564 }
4565
4574 bitField0_ = (bitField0_ & ~0x04000000);
4575 useLearnedBinaryClausesInLp_ = true;
4576 onChanged();
4577 return this;
4578 }
4579
4580 private int numberOfSolvers_ = 1;
4591 @java.lang.Override
4592 public boolean hasNumberOfSolvers() {
4593 return ((bitField0_ & 0x08000000) != 0);
4594 }
4595
4605 @java.lang.Override
4606 public int getNumberOfSolvers() {
4607 return numberOfSolvers_;
4608 }
4609
4620 public Builder setNumberOfSolvers(int value) {
4621
4622 numberOfSolvers_ = value;
4623 bitField0_ |= 0x08000000;
4624 onChanged();
4625 return this;
4626 }
4627
4637 public Builder clearNumberOfSolvers() {
4638 bitField0_ = (bitField0_ & ~0x08000000);
4639 numberOfSolvers_ = 1;
4640 onChanged();
4641 return this;
4642 }
4643
4644 private int synchronizationType_ = 0;
4649 @java.lang.Override public boolean hasSynchronizationType() {
4650 return ((bitField0_ & 0x10000000) != 0);
4651 }
4652
4656 @java.lang.Override
4658 com.google.ortools.bop.BopParameters.ThreadSynchronizationType result = com.google.ortools.bop.BopParameters.ThreadSynchronizationType.forNumber(synchronizationType_);
4660 }
4661
4666 public Builder setSynchronizationType(com.google.ortools.bop.BopParameters.ThreadSynchronizationType value) {
4667 if (value == null) {
4668 throw new NullPointerException();
4669 }
4670 bitField0_ |= 0x10000000;
4671 synchronizationType_ = value.getNumber();
4672 onChanged();
4673 return this;
4674 }
4675
4679 public Builder clearSynchronizationType() {
4680 bitField0_ = (bitField0_ & ~0x10000000);
4681 synchronizationType_ = 0;
4682 onChanged();
4683 return this;
4684 }
4685
4686 private java.util.List<com.google.ortools.bop.BopSolverOptimizerSet> solverOptimizerSets_ =
4687 java.util.Collections.emptyList();
4688 private void ensureSolverOptimizerSetsIsMutable() {
4689 if (!((bitField0_ & 0x20000000) != 0)) {
4690 solverOptimizerSets_ = new java.util.ArrayList<com.google.ortools.bop.BopSolverOptimizerSet>(solverOptimizerSets_);
4691 bitField0_ |= 0x20000000;
4692 }
4693 }
4694
4695 private com.google.protobuf.RepeatedFieldBuilder<
4696 com.google.ortools.bop.BopSolverOptimizerSet, com.google.ortools.bop.BopSolverOptimizerSet.Builder, com.google.ortools.bop.BopSolverOptimizerSetOrBuilder> solverOptimizerSetsBuilder_;
4697
4708 public java.util.List<com.google.ortools.bop.BopSolverOptimizerSet> getSolverOptimizerSetsList() {
4709 if (solverOptimizerSetsBuilder_ == null) {
4710 return java.util.Collections.unmodifiableList(solverOptimizerSets_);
4711 } else {
4712 return solverOptimizerSetsBuilder_.getMessageList();
4713 }
4714 }
4715
4726 if (solverOptimizerSetsBuilder_ == null) {
4727 return solverOptimizerSets_.size();
4728 } else {
4729 return solverOptimizerSetsBuilder_.getCount();
4730 }
4731 }
4732
4743 if (solverOptimizerSetsBuilder_ == null) {
4744 return solverOptimizerSets_.get(index);
4745 } else {
4746 return solverOptimizerSetsBuilder_.getMessage(index);
4747 }
4748 }
4749
4760 int index, com.google.ortools.bop.BopSolverOptimizerSet value) {
4761 if (solverOptimizerSetsBuilder_ == null) {
4762 if (value == null) {
4763 throw new NullPointerException();
4764 }
4765 ensureSolverOptimizerSetsIsMutable();
4766 solverOptimizerSets_.set(index, value);
4767 onChanged();
4768 } else {
4769 solverOptimizerSetsBuilder_.setMessage(index, value);
4770 }
4771 return this;
4772 }
4773
4784 int index, com.google.ortools.bop.BopSolverOptimizerSet.Builder builderForValue) {
4785 if (solverOptimizerSetsBuilder_ == null) {
4786 ensureSolverOptimizerSetsIsMutable();
4787 solverOptimizerSets_.set(index, builderForValue.build());
4788 onChanged();
4789 } else {
4790 solverOptimizerSetsBuilder_.setMessage(index, builderForValue.build());
4791 }
4792 return this;
4793 }
4794
4804 public Builder addSolverOptimizerSets(com.google.ortools.bop.BopSolverOptimizerSet value) {
4805 if (solverOptimizerSetsBuilder_ == null) {
4806 if (value == null) {
4807 throw new NullPointerException();
4808 }
4809 ensureSolverOptimizerSetsIsMutable();
4810 solverOptimizerSets_.add(value);
4811 onChanged();
4812 } else {
4813 solverOptimizerSetsBuilder_.addMessage(value);
4814 }
4815 return this;
4816 }
4817
4828 int index, com.google.ortools.bop.BopSolverOptimizerSet value) {
4829 if (solverOptimizerSetsBuilder_ == null) {
4830 if (value == null) {
4831 throw new NullPointerException();
4832 }
4833 ensureSolverOptimizerSetsIsMutable();
4834 solverOptimizerSets_.add(index, value);
4835 onChanged();
4836 } else {
4837 solverOptimizerSetsBuilder_.addMessage(index, value);
4838 }
4839 return this;
4840 }
4841
4852 com.google.ortools.bop.BopSolverOptimizerSet.Builder builderForValue) {
4853 if (solverOptimizerSetsBuilder_ == null) {
4854 ensureSolverOptimizerSetsIsMutable();
4855 solverOptimizerSets_.add(builderForValue.build());
4856 onChanged();
4857 } else {
4858 solverOptimizerSetsBuilder_.addMessage(builderForValue.build());
4859 }
4860 return this;
4861 }
4862
4873 int index, com.google.ortools.bop.BopSolverOptimizerSet.Builder builderForValue) {
4874 if (solverOptimizerSetsBuilder_ == null) {
4875 ensureSolverOptimizerSetsIsMutable();
4876 solverOptimizerSets_.add(index, builderForValue.build());
4877 onChanged();
4878 } else {
4879 solverOptimizerSetsBuilder_.addMessage(index, builderForValue.build());
4880 }
4881 return this;
4882 }
4883
4894 java.lang.Iterable<? extends com.google.ortools.bop.BopSolverOptimizerSet> values) {
4895 if (solverOptimizerSetsBuilder_ == null) {
4896 ensureSolverOptimizerSetsIsMutable();
4897 com.google.protobuf.AbstractMessageLite.Builder.addAll(
4898 values, solverOptimizerSets_);
4899 onChanged();
4900 } else {
4901 solverOptimizerSetsBuilder_.addAllMessages(values);
4902 }
4903 return this;
4904 }
4905
4915 public Builder clearSolverOptimizerSets() {
4916 if (solverOptimizerSetsBuilder_ == null) {
4917 solverOptimizerSets_ = java.util.Collections.emptyList();
4918 bitField0_ = (bitField0_ & ~0x20000000);
4919 onChanged();
4920 } else {
4921 solverOptimizerSetsBuilder_.clear();
4922 }
4923 return this;
4924 }
4925
4935 public Builder removeSolverOptimizerSets(int index) {
4936 if (solverOptimizerSetsBuilder_ == null) {
4937 ensureSolverOptimizerSetsIsMutable();
4938 solverOptimizerSets_.remove(index);
4939 onChanged();
4940 } else {
4941 solverOptimizerSetsBuilder_.remove(index);
4942 }
4943 return this;
4944 }
4945
4956 int index) {
4957 return getSolverOptimizerSetsFieldBuilder().getBuilder(index);
4958 }
4959
4970 int index) {
4971 if (solverOptimizerSetsBuilder_ == null) {
4972 return solverOptimizerSets_.get(index); } else {
4973 return solverOptimizerSetsBuilder_.getMessageOrBuilder(index);
4974 }
4975 }
4976
4986 public java.util.List<? extends com.google.ortools.bop.BopSolverOptimizerSetOrBuilder>
4988 if (solverOptimizerSetsBuilder_ != null) {
4989 return solverOptimizerSetsBuilder_.getMessageOrBuilderList();
4990 } else {
4991 return java.util.Collections.unmodifiableList(solverOptimizerSets_);
4992 }
4993 }
4994
5005 return getSolverOptimizerSetsFieldBuilder().addBuilder(
5006 com.google.ortools.bop.BopSolverOptimizerSet.getDefaultInstance());
5007 }
5008
5019 int index) {
5020 return getSolverOptimizerSetsFieldBuilder().addBuilder(
5021 index, com.google.ortools.bop.BopSolverOptimizerSet.getDefaultInstance());
5022 }
5023
5033 public java.util.List<com.google.ortools.bop.BopSolverOptimizerSet.Builder>
5035 return getSolverOptimizerSetsFieldBuilder().getBuilderList();
5036 }
5037 private com.google.protobuf.RepeatedFieldBuilder<
5038 com.google.ortools.bop.BopSolverOptimizerSet, com.google.ortools.bop.BopSolverOptimizerSet.Builder, com.google.ortools.bop.BopSolverOptimizerSetOrBuilder>
5039 getSolverOptimizerSetsFieldBuilder() {
5040 if (solverOptimizerSetsBuilder_ == null) {
5041 solverOptimizerSetsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
5042 com.google.ortools.bop.BopSolverOptimizerSet, com.google.ortools.bop.BopSolverOptimizerSet.Builder, com.google.ortools.bop.BopSolverOptimizerSetOrBuilder>(
5043 solverOptimizerSets_,
5044 ((bitField0_ & 0x20000000) != 0),
5045 getParentForChildren(),
5046 isClean());
5047 solverOptimizerSets_ = null;
5048 }
5049 return solverOptimizerSetsBuilder_;
5050 }
5051
5052 private java.lang.Object defaultSolverOptimizerSets_ = "methods:{type:LOCAL_SEARCH } methods:{type:RANDOM_FIRST_SOLUTION } methods:{type:LINEAR_RELAXATION } methods:{type:LP_FIRST_SOLUTION } methods:{type:OBJECTIVE_FIRST_SOLUTION } methods:{type:USER_GUIDED_FIRST_SOLUTION } methods:{type:RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP } methods:{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP } methods:{type:RELATION_GRAPH_LNS } methods:{type:RELATION_GRAPH_LNS_GUIDED_BY_LP } methods:{type:RANDOM_CONSTRAINT_LNS } methods:{type:RANDOM_VARIABLE_LNS } methods:{type:SAT_CORE_BASED } methods:{type:COMPLETE_LNS } ";
5058 return ((bitField0_ & 0x40000000) != 0);
5059 }
5060
5064 public java.lang.String getDefaultSolverOptimizerSets() {
5065 java.lang.Object ref = defaultSolverOptimizerSets_;
5066 if (!(ref instanceof java.lang.String)) {
5067 com.google.protobuf.ByteString bs =
5068 (com.google.protobuf.ByteString) ref;
5069 java.lang.String s = bs.toStringUtf8();
5070 if (bs.isValidUtf8()) {
5071 defaultSolverOptimizerSets_ = s;
5072 }
5073 return s;
5074 } else {
5075 return (java.lang.String) ref;
5076 }
5077 }
5078
5082 public com.google.protobuf.ByteString
5084 java.lang.Object ref = defaultSolverOptimizerSets_;
5085 if (ref instanceof String) {
5086 com.google.protobuf.ByteString b =
5087 com.google.protobuf.ByteString.copyFromUtf8(
5088 (java.lang.String) ref);
5089 defaultSolverOptimizerSets_ = b;
5090 return b;
5091 } else {
5092 return (com.google.protobuf.ByteString) ref;
5093 }
5094 }
5095
5101 java.lang.String value) {
5102 if (value == null) { throw new NullPointerException(); }
5103 defaultSolverOptimizerSets_ = value;
5104 bitField0_ |= 0x40000000;
5105 onChanged();
5106 return this;
5107 }
5108
5113 defaultSolverOptimizerSets_ = getDefaultInstance().getDefaultSolverOptimizerSets();
5114 bitField0_ = (bitField0_ & ~0x40000000);
5115 onChanged();
5116 return this;
5117 }
5118
5124 com.google.protobuf.ByteString value) {
5125 if (value == null) { throw new NullPointerException(); }
5126 defaultSolverOptimizerSets_ = value;
5127 bitField0_ |= 0x40000000;
5128 onChanged();
5129 return this;
5130 }
5131
5132 private boolean useLpStrongBranching_ ;
5149 @java.lang.Override
5150 public boolean hasUseLpStrongBranching() {
5151 return ((bitField0_ & 0x80000000) != 0);
5152 }
5153
5169 @java.lang.Override
5170 public boolean getUseLpStrongBranching() {
5171 return useLpStrongBranching_;
5172 }
5173
5190 public Builder setUseLpStrongBranching(boolean value) {
5191
5192 useLpStrongBranching_ = value;
5193 bitField0_ |= 0x80000000;
5194 onChanged();
5195 return this;
5196 }
5197
5213 public Builder clearUseLpStrongBranching() {
5214 bitField0_ = (bitField0_ & ~0x80000000);
5215 useLpStrongBranching_ = false;
5216 onChanged();
5217 return this;
5218 }
5219
5220 private int decomposerNumVariablesThreshold_ = 50;
5230 @java.lang.Override
5232 return ((bitField1_ & 0x00000001) != 0);
5233 }
5234
5243 @java.lang.Override
5245 return decomposerNumVariablesThreshold_;
5246 }
5247
5257 public Builder setDecomposerNumVariablesThreshold(int value) {
5258
5259 decomposerNumVariablesThreshold_ = value;
5260 bitField1_ |= 0x00000001;
5261 onChanged();
5262 return this;
5263 }
5264
5274 bitField1_ = (bitField1_ & ~0x00000001);
5275 decomposerNumVariablesThreshold_ = 50;
5276 onChanged();
5277 return this;
5278 }
5279
5280 private int numBopSolversUsedByDecomposition_ = 1;
5291 @java.lang.Override
5293 return ((bitField1_ & 0x00000002) != 0);
5294 }
5295
5305 @java.lang.Override
5307 return numBopSolversUsedByDecomposition_;
5308 }
5309
5320 public Builder setNumBopSolversUsedByDecomposition(int value) {
5321
5322 numBopSolversUsedByDecomposition_ = value;
5323 bitField1_ |= 0x00000002;
5324 onChanged();
5325 return this;
5326 }
5327
5338 bitField1_ = (bitField1_ & ~0x00000002);
5339 numBopSolversUsedByDecomposition_ = 1;
5340 onChanged();
5341 return this;
5342 }
5343
5344 private double decomposedProblemMinTimeInSeconds_ ;
5356 @java.lang.Override
5358 return ((bitField1_ & 0x00000004) != 0);
5359 }
5360
5371 @java.lang.Override
5373 return decomposedProblemMinTimeInSeconds_;
5374 }
5375
5387 public Builder setDecomposedProblemMinTimeInSeconds(double value) {
5388
5389 decomposedProblemMinTimeInSeconds_ = value;
5390 bitField1_ |= 0x00000004;
5391 onChanged();
5392 return this;
5393 }
5394
5406 bitField1_ = (bitField1_ & ~0x00000004);
5407 decomposedProblemMinTimeInSeconds_ = 0D;
5408 onChanged();
5409 return this;
5410 }
5411
5412 private int guidedSatConflictsChunk_ = 1000;
5423 @java.lang.Override
5425 return ((bitField1_ & 0x00000008) != 0);
5426 }
5427
5437 @java.lang.Override
5439 return guidedSatConflictsChunk_;
5440 }
5441
5452 public Builder setGuidedSatConflictsChunk(int value) {
5453
5454 guidedSatConflictsChunk_ = value;
5455 bitField1_ |= 0x00000008;
5456 onChanged();
5457 return this;
5458 }
5459
5470 bitField1_ = (bitField1_ & ~0x00000008);
5471 guidedSatConflictsChunk_ = 1000;
5472 onChanged();
5473 return this;
5474 }
5475
5476 private int maxLpSolveForFeasibilityProblems_ ;
5488 @java.lang.Override
5490 return ((bitField1_ & 0x00000010) != 0);
5491 }
5492
5503 @java.lang.Override
5505 return maxLpSolveForFeasibilityProblems_;
5506 }
5507
5519 public Builder setMaxLpSolveForFeasibilityProblems(int value) {
5520
5521 maxLpSolveForFeasibilityProblems_ = value;
5522 bitField1_ |= 0x00000010;
5523 onChanged();
5524 return this;
5525 }
5526
5538 bitField1_ = (bitField1_ & ~0x00000010);
5539 maxLpSolveForFeasibilityProblems_ = 0;
5540 onChanged();
5541 return this;
5542 }
5543
5544 // @@protoc_insertion_point(builder_scope:operations_research.bop.BopParameters)
5545 }
5546
5547 // @@protoc_insertion_point(class_scope:operations_research.bop.BopParameters)
5548 private static final com.google.ortools.bop.BopParameters DEFAULT_INSTANCE;
5549 static {
5550 DEFAULT_INSTANCE = new com.google.ortools.bop.BopParameters();
5551 }
5552
5554 return DEFAULT_INSTANCE;
5555 }
5556
5557 private static final com.google.protobuf.Parser<BopParameters>
5558 PARSER = new com.google.protobuf.AbstractParser<BopParameters>() {
5559 @java.lang.Override
5560 public BopParameters parsePartialFrom(
5561 com.google.protobuf.CodedInputStream input,
5562 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5563 throws com.google.protobuf.InvalidProtocolBufferException {
5564 Builder builder = newBuilder();
5565 try {
5566 builder.mergeFrom(input, extensionRegistry);
5567 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5568 throw e.setUnfinishedMessage(builder.buildPartial());
5569 } catch (com.google.protobuf.UninitializedMessageException e) {
5570 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
5571 } catch (java.io.IOException e) {
5572 throw new com.google.protobuf.InvalidProtocolBufferException(e)
5573 .setUnfinishedMessage(builder.buildPartial());
5574 }
5575 return builder.buildPartial();
5576 }
5577 };
5578
5579 public static com.google.protobuf.Parser<BopParameters> parser() {
5580 return PARSER;
5581 }
5582
5583 @java.lang.Override
5584 public com.google.protobuf.Parser<BopParameters> getParserForType() {
5585 return PARSER;
5586 }
5587
5588 @java.lang.Override
5590 return DEFAULT_INSTANCE;
5591 }
5592
5593}
5594
Builder setExploitSymmetryInSatFirstSolution(boolean value)
Builder setDefaultSolverOptimizerSetsBytes(com.google.protobuf.ByteString value)
java.util.List< com.google.ortools.bop.BopSolverOptimizerSet.Builder > getSolverOptimizerSetsBuilderList()
java.util.List< com.google.ortools.bop.BopSolverOptimizerSet > getSolverOptimizerSetsList()
Builder setSolverOptimizerSets(int index, com.google.ortools.bop.BopSolverOptimizerSet.Builder builderForValue)
Builder addSolverOptimizerSets(int index, com.google.ortools.bop.BopSolverOptimizerSet.Builder builderForValue)
Builder setDefaultSolverOptimizerSets(java.lang.String value)
com.google.ortools.bop.BopParameters build()
com.google.ortools.bop.BopSolverOptimizerSetOrBuilder getSolverOptimizerSetsOrBuilder(int index)
Builder addSolverOptimizerSets(int index, com.google.ortools.bop.BopSolverOptimizerSet value)
com.google.ortools.bop.BopSolverOptimizerSet.Builder addSolverOptimizerSetsBuilder()
com.google.ortools.bop.BopSolverOptimizerSet.Builder getSolverOptimizerSetsBuilder(int index)
Builder addSolverOptimizerSets(com.google.ortools.bop.BopSolverOptimizerSet value)
Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder setMaxNumberOfConsecutiveFailingOptimizerCalls(int value)
Builder setSolverOptimizerSets(int index, com.google.ortools.bop.BopSolverOptimizerSet value)
com.google.ortools.bop.BopParameters buildPartial()
com.google.protobuf.ByteString getDefaultSolverOptimizerSetsBytes()
Builder addAllSolverOptimizerSets(java.lang.Iterable<? extends com.google.ortools.bop.BopSolverOptimizerSet > values)
Builder setMaxNumberOfConflictsInRandomSolutionGeneration(int value)
java.util.List<? extends com.google.ortools.bop.BopSolverOptimizerSetOrBuilder > getSolverOptimizerSetsOrBuilderList()
com.google.ortools.bop.BopParameters getDefaultInstanceForType()
com.google.ortools.bop.BopParameters.ThreadSynchronizationType getSynchronizationType()
com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
Builder addSolverOptimizerSets(com.google.ortools.bop.BopSolverOptimizerSet.Builder builderForValue)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
Builder mergeFrom(com.google.ortools.bop.BopParameters other)
Builder mergeFrom(com.google.protobuf.Message other)
Builder setSynchronizationType(com.google.ortools.bop.BopParameters.ThreadSynchronizationType value)
com.google.ortools.bop.BopSolverOptimizerSet getSolverOptimizerSets(int index)
Builder setMaxNumberOfExploredAssignmentsPerTryInLs(long value)
com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
com.google.ortools.bop.BopSolverOptimizerSet.Builder addSolverOptimizerSetsBuilder(int index)
static final int SORT_CONSTRAINTS_BY_NUM_TERMS_FIELD_NUMBER
static final int MAX_NUMBER_OF_CONFLICTS_FOR_QUICK_CHECK_FIELD_NUMBER
static final int USE_POTENTIAL_ONE_FLIP_REPAIRS_IN_LS_FIELD_NUMBER
static com.google.ortools.bop.BopParameters parseFrom(com.google.protobuf.CodedInputStream input)
static final int MAX_NUMBER_OF_CONSECUTIVE_FAILING_OPTIMIZER_CALLS_FIELD_NUMBER
static com.google.ortools.bop.BopParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.bop.BopSolverOptimizerSet getSolverOptimizerSets(int index)
void writeTo(com.google.protobuf.CodedOutputStream output)
static final int USE_SAT_TO_CHOOSE_LNS_NEIGHBOURHOOD_FIELD_NUMBER
com.google.ortools.bop.BopSolverOptimizerSetOrBuilder getSolverOptimizerSetsOrBuilder(int index)
static com.google.ortools.bop.BopParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int GUIDED_SAT_CONFLICTS_CHUNK_FIELD_NUMBER
static final int DEFAULT_SOLVER_OPTIMIZER_SETS_FIELD_NUMBER
boolean equals(final java.lang.Object obj)
com.google.protobuf.Parser< BopParameters > getParserForType()
static final int NUM_BOP_SOLVERS_USED_BY_DECOMPOSITION_FIELD_NUMBER
com.google.ortools.bop.BopParameters getDefaultInstanceForType()
static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER
java.util.List<? extends com.google.ortools.bop.BopSolverOptimizerSetOrBuilder > getSolverOptimizerSetsOrBuilderList()
java.util.List< com.google.ortools.bop.BopSolverOptimizerSet > getSolverOptimizerSetsList()
static final int MAX_NUMBER_OF_BACKTRACKS_IN_LS_FIELD_NUMBER
static Builder newBuilder(com.google.ortools.bop.BopParameters prototype)
static com.google.ortools.bop.BopParameters getDefaultInstance()
static final int MAX_LP_SOLVE_FOR_FEASIBILITY_PROBLEMS_FIELD_NUMBER
static final int MAX_NUMBER_OF_CONFLICTS_IN_RANDOM_LNS_FIELD_NUMBER
static com.google.ortools.bop.BopParameters parseFrom(byte[] data)
static final int USE_LEARNED_BINARY_CLAUSES_IN_LP_FIELD_NUMBER
static com.google.ortools.bop.BopParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int DECOMPOSED_PROBLEM_MIN_TIME_IN_SECONDS_FIELD_NUMBER
static com.google.ortools.bop.BopParameters parseFrom(java.nio.ByteBuffer data)
static final int MAX_NUMBER_OF_EXPLORED_ASSIGNMENTS_PER_TRY_IN_LS_FIELD_NUMBER
static com.google.ortools.bop.BopParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent)
static final int MAX_NUM_BROKEN_CONSTRAINTS_IN_LS_FIELD_NUMBER
com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
com.google.ortools.bop.BopParameters.ThreadSynchronizationType getSynchronizationType()
static final int LP_MAX_DETERMINISTIC_TIME_FIELD_NUMBER
static com.google.ortools.bop.BopParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int USE_TRANSPOSITION_TABLE_IN_LS_FIELD_NUMBER
com.google.protobuf.ByteString getDefaultSolverOptimizerSetsBytes()
static com.google.ortools.bop.BopParameters parseDelimitedFrom(java.io.InputStream input)
static final int MAX_NUM_DECISIONS_IN_LS_FIELD_NUMBER
static com.google.ortools.bop.BopParameters parseFrom(java.io.InputStream input)
static final int DECOMPOSER_NUM_VARIABLES_THRESHOLD_FIELD_NUMBER
static com.google.ortools.bop.BopParameters parseFrom(com.google.protobuf.ByteString data)
static final int EXPLOIT_SYMMETRY_IN_SAT_FIRST_SOLUTION_FIELD_NUMBER
static com.google.ortools.bop.BopParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int USE_LP_STRONG_BRANCHING_FIELD_NUMBER
static final int MAX_NUMBER_OF_CONFLICTS_IN_RANDOM_SOLUTION_GENERATION_FIELD_NUMBER
static final int COMPUTE_ESTIMATED_IMPACT_FIELD_NUMBER
static com.google.protobuf.Parser< BopParameters > parser()
static com.google.protobuf.Internal.EnumLiteMap< ThreadSynchronizationType > internalGetValueMap()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static ThreadSynchronizationType forNumber(int value)
static ThreadSynchronizationType valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static ThreadSynchronizationType valueOf(int value)