Google OR-Tools v9.14
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.31.1
5
6package com.google.ortools.bop;
7
18@com.google.protobuf.Generated
19public final class BopParameters extends
20 com.google.protobuf.GeneratedMessage implements
21 // @@protoc_insertion_point(message_implements:operations_research.bop.BopParameters)
23private static final long serialVersionUID = 0L;
24 static {
25 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
26 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
27 /* major= */ 4,
28 /* minor= */ 31,
29 /* patch= */ 1,
30 /* suffix= */ "",
31 BopParameters.class.getName());
32 }
33 // Use BopParameters.newBuilder() to construct.
34 private BopParameters(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
35 super(builder);
36 }
37 private BopParameters() {
38 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
39 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
40 lpMaxDeterministicTime_ = 1D;
41 relativeGapLimit_ = 0.0001D;
42 maxNumDecisionsInLs_ = 4;
43 maxNumBrokenConstraintsInLs_ = 2147483647;
44 computeEstimatedImpact_ = true;
45 useRandomLns_ = true;
46 randomSeed_ = 8;
47 numRelaxedVars_ = 10;
48 maxNumberOfConflictsInRandomLns_ = 2500;
49 numRandomLnsTries_ = 1;
50 maxNumberOfBacktracksInLs_ = 100000000L;
51 useLpLns_ = true;
52 useSatToChooseLnsNeighbourhood_ = true;
53 maxNumberOfConflictsForQuickCheck_ = 10;
54 maxNumberOfConflictsInRandomSolutionGeneration_ = 500;
55 maxNumberOfExploredAssignmentsPerTryInLs_ = 10000L;
56 useTranspositionTableInLs_ = true;
57 useLearnedBinaryClausesInLp_ = true;
58 numberOfSolvers_ = 1;
59 synchronizationType_ = 0;
60 solverOptimizerSets_ = java.util.Collections.emptyList();
61 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 } ";
62 decomposerNumVariablesThreshold_ = 50;
63 numBopSolversUsedByDecomposition_ = 1;
64 guidedSatConflictsChunk_ = 1000;
65 }
66
67 public static final com.google.protobuf.Descriptors.Descriptor
69 return com.google.ortools.bop.BopParametersOuterClass.internal_static_operations_research_bop_BopParameters_descriptor;
70 }
71
72 @java.lang.Override
73 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
75 return com.google.ortools.bop.BopParametersOuterClass.internal_static_operations_research_bop_BopParameters_fieldAccessorTable
76 .ensureFieldAccessorsInitialized(
77 com.google.ortools.bop.BopParameters.class, com.google.ortools.bop.BopParameters.Builder.class);
78 }
79
89 public enum ThreadSynchronizationType
90 implements com.google.protobuf.ProtocolMessageEnum {
140 ;
141
142 static {
143 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
144 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
145 /* major= */ 4,
146 /* minor= */ 31,
147 /* patch= */ 1,
148 /* suffix= */ "",
149 ThreadSynchronizationType.class.getName());
150 }
165 public static final int NO_SYNCHRONIZATION_VALUE = 0;
181 public static final int SYNCHRONIZE_ALL_VALUE = 1;
199 public static final int SYNCHRONIZE_ON_RIGHT_VALUE = 2;
200
201
202 public final int getNumber() {
203 return value;
204 }
205
211 @java.lang.Deprecated
212 public static ThreadSynchronizationType valueOf(int value) {
213 return forNumber(value);
214 }
215
220 public static ThreadSynchronizationType forNumber(int value) {
221 switch (value) {
222 case 0: return NO_SYNCHRONIZATION;
223 case 1: return SYNCHRONIZE_ALL;
224 case 2: return SYNCHRONIZE_ON_RIGHT;
225 default: return null;
226 }
227 }
228
229 public static com.google.protobuf.Internal.EnumLiteMap<ThreadSynchronizationType>
231 return internalValueMap;
232 }
233 private static final com.google.protobuf.Internal.EnumLiteMap<
234 ThreadSynchronizationType> internalValueMap =
235 new com.google.protobuf.Internal.EnumLiteMap<ThreadSynchronizationType>() {
236 public ThreadSynchronizationType findValueByNumber(int number) {
238 }
239 };
240
241 public final com.google.protobuf.Descriptors.EnumValueDescriptor
243 return getDescriptor().getValues().get(ordinal());
244 }
245 public final com.google.protobuf.Descriptors.EnumDescriptor
247 return getDescriptor();
248 }
249 public static com.google.protobuf.Descriptors.EnumDescriptor
251 return com.google.ortools.bop.BopParameters.getDescriptor().getEnumTypes().get(0);
252 }
253
254 private static final ThreadSynchronizationType[] VALUES = values();
255
256 public static ThreadSynchronizationType valueOf(
257 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
258 if (desc.getType() != getDescriptor()) {
259 throw new java.lang.IllegalArgumentException(
260 "EnumValueDescriptor is not for this type.");
261 }
262 return VALUES[desc.getIndex()];
263 }
264
265 private final int value;
266
267 private ThreadSynchronizationType(int value) {
268 this.value = value;
269 }
270
271 // @@protoc_insertion_point(enum_scope:operations_research.bop.BopParameters.ThreadSynchronizationType)
272 }
273
274 private int bitField0_;
275 private int bitField1_;
276 public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 1;
277 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
287 @java.lang.Override
288 public boolean hasMaxTimeInSeconds() {
289 return ((bitField0_ & 0x00000001) != 0);
290 }
291
300 @java.lang.Override
301 public double getMaxTimeInSeconds() {
302 return maxTimeInSeconds_;
303 }
304
305 public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 27;
306 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
319 @java.lang.Override
320 public boolean hasMaxDeterministicTime() {
321 return ((bitField0_ & 0x00000002) != 0);
322 }
323
335 @java.lang.Override
336 public double getMaxDeterministicTime() {
337 return maxDeterministicTime_;
338 }
339
340 public static final int LP_MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 37;
341 private double lpMaxDeterministicTime_ = 1D;
352 @java.lang.Override
353 public boolean hasLpMaxDeterministicTime() {
354 return ((bitField0_ & 0x00000004) != 0);
355 }
356
366 @java.lang.Override
368 return lpMaxDeterministicTime_;
369 }
370
372 private int maxNumberOfConsecutiveFailingOptimizerCalls_ = 0;
385 @java.lang.Override
387 return ((bitField0_ & 0x00000008) != 0);
388 }
389
401 @java.lang.Override
403 return maxNumberOfConsecutiveFailingOptimizerCalls_;
404 }
405
406 public static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER = 28;
407 private double relativeGapLimit_ = 0.0001D;
420 @java.lang.Override
421 public boolean hasRelativeGapLimit() {
422 return ((bitField0_ & 0x00000010) != 0);
423 }
424
436 @java.lang.Override
437 public double getRelativeGapLimit() {
438 return relativeGapLimit_;
439 }
440
441 public static final int MAX_NUM_DECISIONS_IN_LS_FIELD_NUMBER = 2;
442 private int maxNumDecisionsInLs_ = 4;
452 @java.lang.Override
453 public boolean hasMaxNumDecisionsInLs() {
454 return ((bitField0_ & 0x00000020) != 0);
455 }
456
465 @java.lang.Override
467 return maxNumDecisionsInLs_;
468 }
469
471 private int maxNumBrokenConstraintsInLs_ = 2147483647;
482 @java.lang.Override
484 return ((bitField0_ & 0x00000040) != 0);
485 }
486
496 @java.lang.Override
498 return maxNumBrokenConstraintsInLs_;
499 }
500
501 public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 14;
502 private boolean logSearchProgress_ = false;
511 @java.lang.Override
512 public boolean hasLogSearchProgress() {
513 return ((bitField0_ & 0x00000080) != 0);
514 }
515
523 @java.lang.Override
524 public boolean getLogSearchProgress() {
525 return logSearchProgress_;
526 }
527
528 public static final int COMPUTE_ESTIMATED_IMPACT_FIELD_NUMBER = 3;
529 private boolean computeEstimatedImpact_ = true;
538 @java.lang.Override
539 public boolean hasComputeEstimatedImpact() {
540 return ((bitField0_ & 0x00000100) != 0);
541 }
542
550 @java.lang.Override
551 public boolean getComputeEstimatedImpact() {
552 return computeEstimatedImpact_;
553 }
554
555 public static final int PRUNE_SEARCH_TREE_FIELD_NUMBER = 4;
556 private boolean pruneSearchTree_ = false;
565 @java.lang.Override
566 public boolean hasPruneSearchTree() {
567 return ((bitField0_ & 0x00000200) != 0);
568 }
569
577 @java.lang.Override
578 public boolean getPruneSearchTree() {
579 return pruneSearchTree_;
580 }
581
583 private boolean sortConstraintsByNumTerms_ = false;
593 @java.lang.Override
595 return ((bitField0_ & 0x00000400) != 0);
596 }
597
606 @java.lang.Override
608 return sortConstraintsByNumTerms_;
609 }
610
611 public static final int USE_RANDOM_LNS_FIELD_NUMBER = 6;
612 private boolean useRandomLns_ = true;
621 @java.lang.Override
622 public boolean hasUseRandomLns() {
623 return ((bitField0_ & 0x00000800) != 0);
624 }
625
633 @java.lang.Override
634 public boolean getUseRandomLns() {
635 return useRandomLns_;
636 }
637
638 public static final int RANDOM_SEED_FIELD_NUMBER = 7;
639 private int randomSeed_ = 8;
652 @java.lang.Override
653 public boolean hasRandomSeed() {
654 return ((bitField0_ & 0x00001000) != 0);
655 }
656
668 @java.lang.Override
669 public int getRandomSeed() {
670 return randomSeed_;
671 }
672
673 public static final int NUM_RELAXED_VARS_FIELD_NUMBER = 8;
674 private int numRelaxedVars_ = 10;
683 @java.lang.Override
684 public boolean hasNumRelaxedVars() {
685 return ((bitField0_ & 0x00002000) != 0);
686 }
687
695 @java.lang.Override
696 public int getNumRelaxedVars() {
697 return numRelaxedVars_;
698 }
699
701 private int maxNumberOfConflictsInRandomLns_ = 2500;
711 @java.lang.Override
713 return ((bitField0_ & 0x00004000) != 0);
714 }
715
724 @java.lang.Override
726 return maxNumberOfConflictsInRandomLns_;
727 }
728
729 public static final int NUM_RANDOM_LNS_TRIES_FIELD_NUMBER = 10;
730 private int numRandomLnsTries_ = 1;
739 @java.lang.Override
740 public boolean hasNumRandomLnsTries() {
741 return ((bitField0_ & 0x00008000) != 0);
742 }
743
751 @java.lang.Override
752 public int getNumRandomLnsTries() {
753 return numRandomLnsTries_;
754 }
755
757 private long maxNumberOfBacktracksInLs_ = 100000000L;
767 @java.lang.Override
769 return ((bitField0_ & 0x00010000) != 0);
770 }
771
780 @java.lang.Override
782 return maxNumberOfBacktracksInLs_;
783 }
784
785 public static final int USE_LP_LNS_FIELD_NUMBER = 12;
786 private boolean useLpLns_ = true;
795 @java.lang.Override
796 public boolean hasUseLpLns() {
797 return ((bitField0_ & 0x00020000) != 0);
798 }
799
807 @java.lang.Override
808 public boolean getUseLpLns() {
809 return useLpLns_;
810 }
811
813 private boolean useSatToChooseLnsNeighbourhood_ = true;
822 @java.lang.Override
824 return ((bitField0_ & 0x00040000) != 0);
825 }
826
834 @java.lang.Override
836 return useSatToChooseLnsNeighbourhood_;
837 }
838
840 private int maxNumberOfConflictsForQuickCheck_ = 10;
850 @java.lang.Override
852 return ((bitField0_ & 0x00080000) != 0);
853 }
854
863 @java.lang.Override
865 return maxNumberOfConflictsForQuickCheck_;
866 }
867
868 public static final int USE_SYMMETRY_FIELD_NUMBER = 17;
869 private boolean useSymmetry_ = false;
882 @java.lang.Override
883 public boolean hasUseSymmetry() {
884 return ((bitField0_ & 0x00100000) != 0);
885 }
886
898 @java.lang.Override
899 public boolean getUseSymmetry() {
900 return useSymmetry_;
901 }
902
904 private boolean exploitSymmetryInSatFirstSolution_ = false;
917 @java.lang.Override
919 return ((bitField0_ & 0x00200000) != 0);
920 }
921
933 @java.lang.Override
935 return exploitSymmetryInSatFirstSolution_;
936 }
937
939 private int maxNumberOfConflictsInRandomSolutionGeneration_ = 500;
948 @java.lang.Override
950 return ((bitField0_ & 0x00400000) != 0);
951 }
952
960 @java.lang.Override
962 return maxNumberOfConflictsInRandomSolutionGeneration_;
963 }
964
966 private long maxNumberOfExploredAssignmentsPerTryInLs_ = 10000L;
978 @java.lang.Override
980 return ((bitField0_ & 0x00800000) != 0);
981 }
982
993 @java.lang.Override
995 return maxNumberOfExploredAssignmentsPerTryInLs_;
996 }
997
998 public static final int USE_TRANSPOSITION_TABLE_IN_LS_FIELD_NUMBER = 22;
999 private boolean useTranspositionTableInLs_ = true;
1011 @java.lang.Override
1013 return ((bitField0_ & 0x01000000) != 0);
1014 }
1015
1026 @java.lang.Override
1028 return useTranspositionTableInLs_;
1029 }
1030
1032 private boolean usePotentialOneFlipRepairsInLs_ = false;
1043 @java.lang.Override
1045 return ((bitField0_ & 0x02000000) != 0);
1046 }
1047
1057 @java.lang.Override
1059 return usePotentialOneFlipRepairsInLs_;
1060 }
1061
1063 private boolean useLearnedBinaryClausesInLp_ = true;
1072 @java.lang.Override
1074 return ((bitField0_ & 0x04000000) != 0);
1075 }
1076
1084 @java.lang.Override
1086 return useLearnedBinaryClausesInLp_;
1087 }
1088
1089 public static final int NUMBER_OF_SOLVERS_FIELD_NUMBER = 24;
1090 private int numberOfSolvers_ = 1;
1101 @java.lang.Override
1102 public boolean hasNumberOfSolvers() {
1103 return ((bitField0_ & 0x08000000) != 0);
1104 }
1105
1115 @java.lang.Override
1116 public int getNumberOfSolvers() {
1117 return numberOfSolvers_;
1118 }
1119
1120 public static final int SYNCHRONIZATION_TYPE_FIELD_NUMBER = 25;
1121 private int synchronizationType_ = 0;
1126 @java.lang.Override public boolean hasSynchronizationType() {
1127 return ((bitField0_ & 0x10000000) != 0);
1128 }
1129
1134 com.google.ortools.bop.BopParameters.ThreadSynchronizationType result = com.google.ortools.bop.BopParameters.ThreadSynchronizationType.forNumber(synchronizationType_);
1136 }
1137
1138 public static final int SOLVER_OPTIMIZER_SETS_FIELD_NUMBER = 26;
1139 @SuppressWarnings("serial")
1140 private java.util.List<com.google.ortools.bop.BopSolverOptimizerSet> solverOptimizerSets_;
1151 @java.lang.Override
1153 return solverOptimizerSets_;
1154 }
1155
1165 @java.lang.Override
1166 public java.util.List<? extends com.google.ortools.bop.BopSolverOptimizerSetOrBuilder>
1168 return solverOptimizerSets_;
1169 }
1170
1180 @java.lang.Override
1182 return solverOptimizerSets_.size();
1183 }
1184
1194 @java.lang.Override
1196 return solverOptimizerSets_.get(index);
1197 }
1198
1208 @java.lang.Override
1210 int index) {
1211 return solverOptimizerSets_.get(index);
1212 }
1213
1215 @SuppressWarnings("serial")
1216 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 } ";
1221 @java.lang.Override
1223 return ((bitField0_ & 0x20000000) != 0);
1224 }
1225
1229 @java.lang.Override
1230 public java.lang.String getDefaultSolverOptimizerSets() {
1231 java.lang.Object ref = defaultSolverOptimizerSets_;
1232 if (ref instanceof java.lang.String) {
1233 return (java.lang.String) ref;
1234 } else {
1235 com.google.protobuf.ByteString bs =
1236 (com.google.protobuf.ByteString) ref;
1237 java.lang.String s = bs.toStringUtf8();
1238 if (bs.isValidUtf8()) {
1239 defaultSolverOptimizerSets_ = s;
1240 }
1241 return s;
1242 }
1243 }
1244
1248 @java.lang.Override
1249 public com.google.protobuf.ByteString
1251 java.lang.Object ref = defaultSolverOptimizerSets_;
1252 if (ref instanceof java.lang.String) {
1253 com.google.protobuf.ByteString b =
1254 com.google.protobuf.ByteString.copyFromUtf8(
1255 (java.lang.String) ref);
1256 defaultSolverOptimizerSets_ = b;
1257 return b;
1258 } else {
1259 return (com.google.protobuf.ByteString) ref;
1260 }
1261 }
1262
1263 public static final int USE_LP_STRONG_BRANCHING_FIELD_NUMBER = 29;
1264 private boolean useLpStrongBranching_ = false;
1281 @java.lang.Override
1282 public boolean hasUseLpStrongBranching() {
1283 return ((bitField0_ & 0x40000000) != 0);
1284 }
1285
1301 @java.lang.Override
1302 public boolean getUseLpStrongBranching() {
1303 return useLpStrongBranching_;
1304 }
1305
1307 private int decomposerNumVariablesThreshold_ = 50;
1317 @java.lang.Override
1319 return ((bitField0_ & 0x80000000) != 0);
1320 }
1321
1330 @java.lang.Override
1332 return decomposerNumVariablesThreshold_;
1333 }
1334
1336 private int numBopSolversUsedByDecomposition_ = 1;
1347 @java.lang.Override
1349 return ((bitField1_ & 0x00000001) != 0);
1350 }
1351
1361 @java.lang.Override
1363 return numBopSolversUsedByDecomposition_;
1364 }
1365
1367 private double decomposedProblemMinTimeInSeconds_ = 0D;
1379 @java.lang.Override
1381 return ((bitField1_ & 0x00000002) != 0);
1382 }
1383
1394 @java.lang.Override
1396 return decomposedProblemMinTimeInSeconds_;
1397 }
1398
1399 public static final int GUIDED_SAT_CONFLICTS_CHUNK_FIELD_NUMBER = 34;
1400 private int guidedSatConflictsChunk_ = 1000;
1411 @java.lang.Override
1413 return ((bitField1_ & 0x00000004) != 0);
1414 }
1415
1425 @java.lang.Override
1427 return guidedSatConflictsChunk_;
1428 }
1429
1431 private int maxLpSolveForFeasibilityProblems_ = 0;
1443 @java.lang.Override
1445 return ((bitField1_ & 0x00000008) != 0);
1446 }
1447
1458 @java.lang.Override
1460 return maxLpSolveForFeasibilityProblems_;
1461 }
1462
1463 private byte memoizedIsInitialized = -1;
1464 @java.lang.Override
1465 public final boolean isInitialized() {
1466 byte isInitialized = memoizedIsInitialized;
1467 if (isInitialized == 1) return true;
1468 if (isInitialized == 0) return false;
1469
1470 memoizedIsInitialized = 1;
1471 return true;
1472 }
1473
1474 @java.lang.Override
1475 public void writeTo(com.google.protobuf.CodedOutputStream output)
1476 throws java.io.IOException {
1477 if (((bitField0_ & 0x00000001) != 0)) {
1478 output.writeDouble(1, maxTimeInSeconds_);
1479 }
1480 if (((bitField0_ & 0x00000020) != 0)) {
1481 output.writeInt32(2, maxNumDecisionsInLs_);
1482 }
1483 if (((bitField0_ & 0x00000100) != 0)) {
1484 output.writeBool(3, computeEstimatedImpact_);
1485 }
1486 if (((bitField0_ & 0x00000200) != 0)) {
1487 output.writeBool(4, pruneSearchTree_);
1488 }
1489 if (((bitField0_ & 0x00000400) != 0)) {
1490 output.writeBool(5, sortConstraintsByNumTerms_);
1491 }
1492 if (((bitField0_ & 0x00000800) != 0)) {
1493 output.writeBool(6, useRandomLns_);
1494 }
1495 if (((bitField0_ & 0x00001000) != 0)) {
1496 output.writeInt32(7, randomSeed_);
1497 }
1498 if (((bitField0_ & 0x00002000) != 0)) {
1499 output.writeInt32(8, numRelaxedVars_);
1500 }
1501 if (((bitField0_ & 0x00004000) != 0)) {
1502 output.writeInt32(9, maxNumberOfConflictsInRandomLns_);
1503 }
1504 if (((bitField0_ & 0x00008000) != 0)) {
1505 output.writeInt32(10, numRandomLnsTries_);
1506 }
1507 if (((bitField0_ & 0x00010000) != 0)) {
1508 output.writeInt64(11, maxNumberOfBacktracksInLs_);
1509 }
1510 if (((bitField0_ & 0x00020000) != 0)) {
1511 output.writeBool(12, useLpLns_);
1512 }
1513 if (((bitField0_ & 0x00000080) != 0)) {
1514 output.writeBool(14, logSearchProgress_);
1515 }
1516 if (((bitField0_ & 0x00040000) != 0)) {
1517 output.writeBool(15, useSatToChooseLnsNeighbourhood_);
1518 }
1519 if (((bitField0_ & 0x00080000) != 0)) {
1520 output.writeInt32(16, maxNumberOfConflictsForQuickCheck_);
1521 }
1522 if (((bitField0_ & 0x00100000) != 0)) {
1523 output.writeBool(17, useSymmetry_);
1524 }
1525 if (((bitField0_ & 0x00400000) != 0)) {
1526 output.writeInt32(20, maxNumberOfConflictsInRandomSolutionGeneration_);
1527 }
1528 if (((bitField0_ & 0x00800000) != 0)) {
1529 output.writeInt64(21, maxNumberOfExploredAssignmentsPerTryInLs_);
1530 }
1531 if (((bitField0_ & 0x01000000) != 0)) {
1532 output.writeBool(22, useTranspositionTableInLs_);
1533 }
1534 if (((bitField0_ & 0x04000000) != 0)) {
1535 output.writeBool(23, useLearnedBinaryClausesInLp_);
1536 }
1537 if (((bitField0_ & 0x08000000) != 0)) {
1538 output.writeInt32(24, numberOfSolvers_);
1539 }
1540 if (((bitField0_ & 0x10000000) != 0)) {
1541 output.writeEnum(25, synchronizationType_);
1542 }
1543 for (int i = 0; i < solverOptimizerSets_.size(); i++) {
1544 output.writeMessage(26, solverOptimizerSets_.get(i));
1545 }
1546 if (((bitField0_ & 0x00000002) != 0)) {
1547 output.writeDouble(27, maxDeterministicTime_);
1548 }
1549 if (((bitField0_ & 0x00000010) != 0)) {
1550 output.writeDouble(28, relativeGapLimit_);
1551 }
1552 if (((bitField0_ & 0x40000000) != 0)) {
1553 output.writeBool(29, useLpStrongBranching_);
1554 }
1555 if (((bitField0_ & 0x80000000) != 0)) {
1556 output.writeInt32(30, decomposerNumVariablesThreshold_);
1557 }
1558 if (((bitField1_ & 0x00000001) != 0)) {
1559 output.writeInt32(31, numBopSolversUsedByDecomposition_);
1560 }
1561 if (((bitField0_ & 0x20000000) != 0)) {
1562 com.google.protobuf.GeneratedMessage.writeString(output, 33, defaultSolverOptimizerSets_);
1563 }
1564 if (((bitField1_ & 0x00000004) != 0)) {
1565 output.writeInt32(34, guidedSatConflictsChunk_);
1566 }
1567 if (((bitField0_ & 0x00000008) != 0)) {
1568 output.writeInt32(35, maxNumberOfConsecutiveFailingOptimizerCalls_);
1569 }
1570 if (((bitField1_ & 0x00000002) != 0)) {
1571 output.writeDouble(36, decomposedProblemMinTimeInSeconds_);
1572 }
1573 if (((bitField0_ & 0x00000004) != 0)) {
1574 output.writeDouble(37, lpMaxDeterministicTime_);
1575 }
1576 if (((bitField0_ & 0x00000040) != 0)) {
1577 output.writeInt32(38, maxNumBrokenConstraintsInLs_);
1578 }
1579 if (((bitField0_ & 0x02000000) != 0)) {
1580 output.writeBool(39, usePotentialOneFlipRepairsInLs_);
1581 }
1582 if (((bitField0_ & 0x00200000) != 0)) {
1583 output.writeBool(40, exploitSymmetryInSatFirstSolution_);
1584 }
1585 if (((bitField1_ & 0x00000008) != 0)) {
1586 output.writeInt32(41, maxLpSolveForFeasibilityProblems_);
1587 }
1588 getUnknownFields().writeTo(output);
1589 }
1590
1591 @java.lang.Override
1592 public int getSerializedSize() {
1593 int size = memoizedSize;
1594 if (size != -1) return size;
1595
1596 size = 0;
1597 if (((bitField0_ & 0x00000001) != 0)) {
1598 size += com.google.protobuf.CodedOutputStream
1599 .computeDoubleSize(1, maxTimeInSeconds_);
1600 }
1601 if (((bitField0_ & 0x00000020) != 0)) {
1602 size += com.google.protobuf.CodedOutputStream
1603 .computeInt32Size(2, maxNumDecisionsInLs_);
1604 }
1605 if (((bitField0_ & 0x00000100) != 0)) {
1606 size += com.google.protobuf.CodedOutputStream
1607 .computeBoolSize(3, computeEstimatedImpact_);
1608 }
1609 if (((bitField0_ & 0x00000200) != 0)) {
1610 size += com.google.protobuf.CodedOutputStream
1611 .computeBoolSize(4, pruneSearchTree_);
1612 }
1613 if (((bitField0_ & 0x00000400) != 0)) {
1614 size += com.google.protobuf.CodedOutputStream
1615 .computeBoolSize(5, sortConstraintsByNumTerms_);
1616 }
1617 if (((bitField0_ & 0x00000800) != 0)) {
1618 size += com.google.protobuf.CodedOutputStream
1619 .computeBoolSize(6, useRandomLns_);
1620 }
1621 if (((bitField0_ & 0x00001000) != 0)) {
1622 size += com.google.protobuf.CodedOutputStream
1623 .computeInt32Size(7, randomSeed_);
1624 }
1625 if (((bitField0_ & 0x00002000) != 0)) {
1626 size += com.google.protobuf.CodedOutputStream
1627 .computeInt32Size(8, numRelaxedVars_);
1628 }
1629 if (((bitField0_ & 0x00004000) != 0)) {
1630 size += com.google.protobuf.CodedOutputStream
1631 .computeInt32Size(9, maxNumberOfConflictsInRandomLns_);
1632 }
1633 if (((bitField0_ & 0x00008000) != 0)) {
1634 size += com.google.protobuf.CodedOutputStream
1635 .computeInt32Size(10, numRandomLnsTries_);
1636 }
1637 if (((bitField0_ & 0x00010000) != 0)) {
1638 size += com.google.protobuf.CodedOutputStream
1639 .computeInt64Size(11, maxNumberOfBacktracksInLs_);
1640 }
1641 if (((bitField0_ & 0x00020000) != 0)) {
1642 size += com.google.protobuf.CodedOutputStream
1643 .computeBoolSize(12, useLpLns_);
1644 }
1645 if (((bitField0_ & 0x00000080) != 0)) {
1646 size += com.google.protobuf.CodedOutputStream
1647 .computeBoolSize(14, logSearchProgress_);
1648 }
1649 if (((bitField0_ & 0x00040000) != 0)) {
1650 size += com.google.protobuf.CodedOutputStream
1651 .computeBoolSize(15, useSatToChooseLnsNeighbourhood_);
1652 }
1653 if (((bitField0_ & 0x00080000) != 0)) {
1654 size += com.google.protobuf.CodedOutputStream
1655 .computeInt32Size(16, maxNumberOfConflictsForQuickCheck_);
1656 }
1657 if (((bitField0_ & 0x00100000) != 0)) {
1658 size += com.google.protobuf.CodedOutputStream
1659 .computeBoolSize(17, useSymmetry_);
1660 }
1661 if (((bitField0_ & 0x00400000) != 0)) {
1662 size += com.google.protobuf.CodedOutputStream
1663 .computeInt32Size(20, maxNumberOfConflictsInRandomSolutionGeneration_);
1664 }
1665 if (((bitField0_ & 0x00800000) != 0)) {
1666 size += com.google.protobuf.CodedOutputStream
1667 .computeInt64Size(21, maxNumberOfExploredAssignmentsPerTryInLs_);
1668 }
1669 if (((bitField0_ & 0x01000000) != 0)) {
1670 size += com.google.protobuf.CodedOutputStream
1671 .computeBoolSize(22, useTranspositionTableInLs_);
1672 }
1673 if (((bitField0_ & 0x04000000) != 0)) {
1674 size += com.google.protobuf.CodedOutputStream
1675 .computeBoolSize(23, useLearnedBinaryClausesInLp_);
1676 }
1677 if (((bitField0_ & 0x08000000) != 0)) {
1678 size += com.google.protobuf.CodedOutputStream
1679 .computeInt32Size(24, numberOfSolvers_);
1680 }
1681 if (((bitField0_ & 0x10000000) != 0)) {
1682 size += com.google.protobuf.CodedOutputStream
1683 .computeEnumSize(25, synchronizationType_);
1684 }
1685 for (int i = 0; i < solverOptimizerSets_.size(); i++) {
1686 size += com.google.protobuf.CodedOutputStream
1687 .computeMessageSize(26, solverOptimizerSets_.get(i));
1688 }
1689 if (((bitField0_ & 0x00000002) != 0)) {
1690 size += com.google.protobuf.CodedOutputStream
1691 .computeDoubleSize(27, maxDeterministicTime_);
1692 }
1693 if (((bitField0_ & 0x00000010) != 0)) {
1694 size += com.google.protobuf.CodedOutputStream
1695 .computeDoubleSize(28, relativeGapLimit_);
1696 }
1697 if (((bitField0_ & 0x40000000) != 0)) {
1698 size += com.google.protobuf.CodedOutputStream
1699 .computeBoolSize(29, useLpStrongBranching_);
1700 }
1701 if (((bitField0_ & 0x80000000) != 0)) {
1702 size += com.google.protobuf.CodedOutputStream
1703 .computeInt32Size(30, decomposerNumVariablesThreshold_);
1704 }
1705 if (((bitField1_ & 0x00000001) != 0)) {
1706 size += com.google.protobuf.CodedOutputStream
1707 .computeInt32Size(31, numBopSolversUsedByDecomposition_);
1708 }
1709 if (((bitField0_ & 0x20000000) != 0)) {
1710 size += com.google.protobuf.GeneratedMessage.computeStringSize(33, defaultSolverOptimizerSets_);
1711 }
1712 if (((bitField1_ & 0x00000004) != 0)) {
1713 size += com.google.protobuf.CodedOutputStream
1714 .computeInt32Size(34, guidedSatConflictsChunk_);
1715 }
1716 if (((bitField0_ & 0x00000008) != 0)) {
1717 size += com.google.protobuf.CodedOutputStream
1718 .computeInt32Size(35, maxNumberOfConsecutiveFailingOptimizerCalls_);
1719 }
1720 if (((bitField1_ & 0x00000002) != 0)) {
1721 size += com.google.protobuf.CodedOutputStream
1722 .computeDoubleSize(36, decomposedProblemMinTimeInSeconds_);
1723 }
1724 if (((bitField0_ & 0x00000004) != 0)) {
1725 size += com.google.protobuf.CodedOutputStream
1726 .computeDoubleSize(37, lpMaxDeterministicTime_);
1727 }
1728 if (((bitField0_ & 0x00000040) != 0)) {
1729 size += com.google.protobuf.CodedOutputStream
1730 .computeInt32Size(38, maxNumBrokenConstraintsInLs_);
1731 }
1732 if (((bitField0_ & 0x02000000) != 0)) {
1733 size += com.google.protobuf.CodedOutputStream
1734 .computeBoolSize(39, usePotentialOneFlipRepairsInLs_);
1735 }
1736 if (((bitField0_ & 0x00200000) != 0)) {
1737 size += com.google.protobuf.CodedOutputStream
1738 .computeBoolSize(40, exploitSymmetryInSatFirstSolution_);
1739 }
1740 if (((bitField1_ & 0x00000008) != 0)) {
1741 size += com.google.protobuf.CodedOutputStream
1742 .computeInt32Size(41, maxLpSolveForFeasibilityProblems_);
1743 }
1744 size += getUnknownFields().getSerializedSize();
1745 memoizedSize = size;
1746 return size;
1747 }
1748
1749 @java.lang.Override
1750 public boolean equals(final java.lang.Object obj) {
1751 if (obj == this) {
1752 return true;
1753 }
1754 if (!(obj instanceof com.google.ortools.bop.BopParameters)) {
1755 return super.equals(obj);
1756 }
1757 com.google.ortools.bop.BopParameters other = (com.google.ortools.bop.BopParameters) obj;
1758
1759 if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
1760 if (hasMaxTimeInSeconds()) {
1761 if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
1762 != java.lang.Double.doubleToLongBits(
1763 other.getMaxTimeInSeconds())) return false;
1764 }
1765 if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
1767 if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
1768 != java.lang.Double.doubleToLongBits(
1769 other.getMaxDeterministicTime())) return false;
1770 }
1771 if (hasLpMaxDeterministicTime() != other.hasLpMaxDeterministicTime()) return false;
1773 if (java.lang.Double.doubleToLongBits(getLpMaxDeterministicTime())
1774 != java.lang.Double.doubleToLongBits(
1775 other.getLpMaxDeterministicTime())) return false;
1776 }
1780 != other.getMaxNumberOfConsecutiveFailingOptimizerCalls()) return false;
1781 }
1782 if (hasRelativeGapLimit() != other.hasRelativeGapLimit()) return false;
1783 if (hasRelativeGapLimit()) {
1784 if (java.lang.Double.doubleToLongBits(getRelativeGapLimit())
1785 != java.lang.Double.doubleToLongBits(
1786 other.getRelativeGapLimit())) return false;
1787 }
1788 if (hasMaxNumDecisionsInLs() != other.hasMaxNumDecisionsInLs()) return false;
1789 if (hasMaxNumDecisionsInLs()) {
1791 != other.getMaxNumDecisionsInLs()) return false;
1792 }
1796 != other.getMaxNumBrokenConstraintsInLs()) return false;
1797 }
1798 if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
1799 if (hasLogSearchProgress()) {
1801 != other.getLogSearchProgress()) return false;
1802 }
1803 if (hasComputeEstimatedImpact() != other.hasComputeEstimatedImpact()) return false;
1806 != other.getComputeEstimatedImpact()) return false;
1807 }
1808 if (hasPruneSearchTree() != other.hasPruneSearchTree()) return false;
1809 if (hasPruneSearchTree()) {
1810 if (getPruneSearchTree()
1811 != other.getPruneSearchTree()) return false;
1812 }
1813 if (hasSortConstraintsByNumTerms() != other.hasSortConstraintsByNumTerms()) return false;
1816 != other.getSortConstraintsByNumTerms()) return false;
1817 }
1818 if (hasUseRandomLns() != other.hasUseRandomLns()) return false;
1819 if (hasUseRandomLns()) {
1820 if (getUseRandomLns()
1821 != other.getUseRandomLns()) return false;
1822 }
1823 if (hasRandomSeed() != other.hasRandomSeed()) return false;
1824 if (hasRandomSeed()) {
1825 if (getRandomSeed()
1826 != other.getRandomSeed()) return false;
1827 }
1828 if (hasNumRelaxedVars() != other.hasNumRelaxedVars()) return false;
1829 if (hasNumRelaxedVars()) {
1830 if (getNumRelaxedVars()
1831 != other.getNumRelaxedVars()) return false;
1832 }
1836 != other.getMaxNumberOfConflictsInRandomLns()) return false;
1837 }
1838 if (hasNumRandomLnsTries() != other.hasNumRandomLnsTries()) return false;
1839 if (hasNumRandomLnsTries()) {
1841 != other.getNumRandomLnsTries()) return false;
1842 }
1843 if (hasMaxNumberOfBacktracksInLs() != other.hasMaxNumberOfBacktracksInLs()) return false;
1846 != other.getMaxNumberOfBacktracksInLs()) return false;
1847 }
1848 if (hasUseLpLns() != other.hasUseLpLns()) return false;
1849 if (hasUseLpLns()) {
1850 if (getUseLpLns()
1851 != other.getUseLpLns()) return false;
1852 }
1856 != other.getUseSatToChooseLnsNeighbourhood()) return false;
1857 }
1861 != other.getMaxNumberOfConflictsForQuickCheck()) return false;
1862 }
1863 if (hasUseSymmetry() != other.hasUseSymmetry()) return false;
1864 if (hasUseSymmetry()) {
1865 if (getUseSymmetry()
1866 != other.getUseSymmetry()) return false;
1867 }
1871 != other.getExploitSymmetryInSatFirstSolution()) return false;
1872 }
1877 }
1881 != other.getMaxNumberOfExploredAssignmentsPerTryInLs()) return false;
1882 }
1883 if (hasUseTranspositionTableInLs() != other.hasUseTranspositionTableInLs()) return false;
1886 != other.getUseTranspositionTableInLs()) return false;
1887 }
1891 != other.getUsePotentialOneFlipRepairsInLs()) return false;
1892 }
1896 != other.getUseLearnedBinaryClausesInLp()) return false;
1897 }
1898 if (hasNumberOfSolvers() != other.hasNumberOfSolvers()) return false;
1899 if (hasNumberOfSolvers()) {
1900 if (getNumberOfSolvers()
1901 != other.getNumberOfSolvers()) return false;
1902 }
1903 if (hasSynchronizationType() != other.hasSynchronizationType()) return false;
1904 if (hasSynchronizationType()) {
1905 if (synchronizationType_ != other.synchronizationType_) return false;
1906 }
1908 .equals(other.getSolverOptimizerSetsList())) return false;
1909 if (hasDefaultSolverOptimizerSets() != other.hasDefaultSolverOptimizerSets()) return false;
1912 .equals(other.getDefaultSolverOptimizerSets())) return false;
1913 }
1914 if (hasUseLpStrongBranching() != other.hasUseLpStrongBranching()) return false;
1917 != other.getUseLpStrongBranching()) return false;
1918 }
1922 != other.getDecomposerNumVariablesThreshold()) return false;
1923 }
1927 != other.getNumBopSolversUsedByDecomposition()) return false;
1928 }
1931 if (java.lang.Double.doubleToLongBits(getDecomposedProblemMinTimeInSeconds())
1932 != java.lang.Double.doubleToLongBits(
1933 other.getDecomposedProblemMinTimeInSeconds())) return false;
1934 }
1935 if (hasGuidedSatConflictsChunk() != other.hasGuidedSatConflictsChunk()) return false;
1938 != other.getGuidedSatConflictsChunk()) return false;
1939 }
1943 != other.getMaxLpSolveForFeasibilityProblems()) return false;
1944 }
1945 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1946 return true;
1947 }
1948
1949 @java.lang.Override
1950 public int hashCode() {
1951 if (memoizedHashCode != 0) {
1952 return memoizedHashCode;
1953 }
1954 int hash = 41;
1955 hash = (19 * hash) + getDescriptor().hashCode();
1956 if (hasMaxTimeInSeconds()) {
1957 hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
1958 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1959 java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
1960 }
1962 hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
1963 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1964 java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
1965 }
1967 hash = (37 * hash) + LP_MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
1968 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1969 java.lang.Double.doubleToLongBits(getLpMaxDeterministicTime()));
1970 }
1974 }
1975 if (hasRelativeGapLimit()) {
1976 hash = (37 * hash) + RELATIVE_GAP_LIMIT_FIELD_NUMBER;
1977 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1978 java.lang.Double.doubleToLongBits(getRelativeGapLimit()));
1979 }
1980 if (hasMaxNumDecisionsInLs()) {
1981 hash = (37 * hash) + MAX_NUM_DECISIONS_IN_LS_FIELD_NUMBER;
1982 hash = (53 * hash) + getMaxNumDecisionsInLs();
1983 }
1986 hash = (53 * hash) + getMaxNumBrokenConstraintsInLs();
1987 }
1988 if (hasLogSearchProgress()) {
1989 hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
1990 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
1992 }
1994 hash = (37 * hash) + COMPUTE_ESTIMATED_IMPACT_FIELD_NUMBER;
1995 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
1997 }
1998 if (hasPruneSearchTree()) {
1999 hash = (37 * hash) + PRUNE_SEARCH_TREE_FIELD_NUMBER;
2000 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2002 }
2004 hash = (37 * hash) + SORT_CONSTRAINTS_BY_NUM_TERMS_FIELD_NUMBER;
2005 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2007 }
2008 if (hasUseRandomLns()) {
2009 hash = (37 * hash) + USE_RANDOM_LNS_FIELD_NUMBER;
2010 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2011 getUseRandomLns());
2012 }
2013 if (hasRandomSeed()) {
2014 hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
2015 hash = (53 * hash) + getRandomSeed();
2016 }
2017 if (hasNumRelaxedVars()) {
2018 hash = (37 * hash) + NUM_RELAXED_VARS_FIELD_NUMBER;
2019 hash = (53 * hash) + getNumRelaxedVars();
2020 }
2023 hash = (53 * hash) + getMaxNumberOfConflictsInRandomLns();
2024 }
2025 if (hasNumRandomLnsTries()) {
2026 hash = (37 * hash) + NUM_RANDOM_LNS_TRIES_FIELD_NUMBER;
2027 hash = (53 * hash) + getNumRandomLnsTries();
2028 }
2031 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2033 }
2034 if (hasUseLpLns()) {
2035 hash = (37 * hash) + USE_LP_LNS_FIELD_NUMBER;
2036 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2037 getUseLpLns());
2038 }
2041 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2043 }
2046 hash = (53 * hash) + getMaxNumberOfConflictsForQuickCheck();
2047 }
2048 if (hasUseSymmetry()) {
2049 hash = (37 * hash) + USE_SYMMETRY_FIELD_NUMBER;
2050 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2051 getUseSymmetry());
2052 }
2055 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2057 }
2061 }
2064 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2066 }
2068 hash = (37 * hash) + USE_TRANSPOSITION_TABLE_IN_LS_FIELD_NUMBER;
2069 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2071 }
2074 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2076 }
2079 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2081 }
2082 if (hasNumberOfSolvers()) {
2083 hash = (37 * hash) + NUMBER_OF_SOLVERS_FIELD_NUMBER;
2084 hash = (53 * hash) + getNumberOfSolvers();
2085 }
2086 if (hasSynchronizationType()) {
2087 hash = (37 * hash) + SYNCHRONIZATION_TYPE_FIELD_NUMBER;
2088 hash = (53 * hash) + synchronizationType_;
2089 }
2090 if (getSolverOptimizerSetsCount() > 0) {
2091 hash = (37 * hash) + SOLVER_OPTIMIZER_SETS_FIELD_NUMBER;
2092 hash = (53 * hash) + getSolverOptimizerSetsList().hashCode();
2093 }
2095 hash = (37 * hash) + DEFAULT_SOLVER_OPTIMIZER_SETS_FIELD_NUMBER;
2096 hash = (53 * hash) + getDefaultSolverOptimizerSets().hashCode();
2097 }
2099 hash = (37 * hash) + USE_LP_STRONG_BRANCHING_FIELD_NUMBER;
2100 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2102 }
2105 hash = (53 * hash) + getDecomposerNumVariablesThreshold();
2106 }
2109 hash = (53 * hash) + getNumBopSolversUsedByDecomposition();
2110 }
2113 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2114 java.lang.Double.doubleToLongBits(getDecomposedProblemMinTimeInSeconds()));
2115 }
2117 hash = (37 * hash) + GUIDED_SAT_CONFLICTS_CHUNK_FIELD_NUMBER;
2118 hash = (53 * hash) + getGuidedSatConflictsChunk();
2119 }
2122 hash = (53 * hash) + getMaxLpSolveForFeasibilityProblems();
2123 }
2124 hash = (29 * hash) + getUnknownFields().hashCode();
2125 memoizedHashCode = hash;
2126 return hash;
2127 }
2128
2130 java.nio.ByteBuffer data)
2131 throws com.google.protobuf.InvalidProtocolBufferException {
2132 return PARSER.parseFrom(data);
2133 }
2135 java.nio.ByteBuffer data,
2136 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2137 throws com.google.protobuf.InvalidProtocolBufferException {
2138 return PARSER.parseFrom(data, extensionRegistry);
2139 }
2141 com.google.protobuf.ByteString data)
2142 throws com.google.protobuf.InvalidProtocolBufferException {
2143 return PARSER.parseFrom(data);
2144 }
2146 com.google.protobuf.ByteString data,
2147 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2148 throws com.google.protobuf.InvalidProtocolBufferException {
2149 return PARSER.parseFrom(data, extensionRegistry);
2150 }
2152 throws com.google.protobuf.InvalidProtocolBufferException {
2153 return PARSER.parseFrom(data);
2154 }
2156 byte[] data,
2157 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2158 throws com.google.protobuf.InvalidProtocolBufferException {
2159 return PARSER.parseFrom(data, extensionRegistry);
2160 }
2161 public static com.google.ortools.bop.BopParameters parseFrom(java.io.InputStream input)
2162 throws java.io.IOException {
2163 return com.google.protobuf.GeneratedMessage
2164 .parseWithIOException(PARSER, input);
2165 }
2167 java.io.InputStream input,
2168 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2169 throws java.io.IOException {
2170 return com.google.protobuf.GeneratedMessage
2171 .parseWithIOException(PARSER, input, extensionRegistry);
2172 }
2173
2174 public static com.google.ortools.bop.BopParameters parseDelimitedFrom(java.io.InputStream input)
2175 throws java.io.IOException {
2176 return com.google.protobuf.GeneratedMessage
2177 .parseDelimitedWithIOException(PARSER, input);
2178 }
2179
2181 java.io.InputStream input,
2182 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2183 throws java.io.IOException {
2184 return com.google.protobuf.GeneratedMessage
2185 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
2186 }
2188 com.google.protobuf.CodedInputStream input)
2189 throws java.io.IOException {
2190 return com.google.protobuf.GeneratedMessage
2191 .parseWithIOException(PARSER, input);
2192 }
2194 com.google.protobuf.CodedInputStream input,
2195 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2196 throws java.io.IOException {
2197 return com.google.protobuf.GeneratedMessage
2198 .parseWithIOException(PARSER, input, extensionRegistry);
2199 }
2200
2201 @java.lang.Override
2202 public Builder newBuilderForType() { return newBuilder(); }
2203 public static Builder newBuilder() {
2204 return DEFAULT_INSTANCE.toBuilder();
2205 }
2206 public static Builder newBuilder(com.google.ortools.bop.BopParameters prototype) {
2207 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
2208 }
2209 @java.lang.Override
2211 return this == DEFAULT_INSTANCE
2212 ? new Builder() : new Builder().mergeFrom(this);
2213 }
2214
2215 @java.lang.Override
2217 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2218 Builder builder = new Builder(parent);
2219 return builder;
2220 }
2221
2231 public static final class Builder extends
2232 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
2233 // @@protoc_insertion_point(builder_implements:operations_research.bop.BopParameters)
2235 public static final com.google.protobuf.Descriptors.Descriptor
2237 return com.google.ortools.bop.BopParametersOuterClass.internal_static_operations_research_bop_BopParameters_descriptor;
2238 }
2239
2240 @java.lang.Override
2241 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
2243 return com.google.ortools.bop.BopParametersOuterClass.internal_static_operations_research_bop_BopParameters_fieldAccessorTable
2244 .ensureFieldAccessorsInitialized(
2245 com.google.ortools.bop.BopParameters.class, com.google.ortools.bop.BopParameters.Builder.class);
2246 }
2247
2248 // Construct using com.google.ortools.bop.BopParameters.newBuilder()
2249 private Builder() {
2250
2251 }
2252
2253 private Builder(
2254 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2255 super(parent);
2256
2257 }
2258 @java.lang.Override
2259 public Builder clear() {
2260 super.clear();
2261 bitField0_ = 0;
2262 bitField1_ = 0;
2263 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
2264 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
2265 lpMaxDeterministicTime_ = 1D;
2266 maxNumberOfConsecutiveFailingOptimizerCalls_ = 0;
2267 relativeGapLimit_ = 0.0001D;
2268 maxNumDecisionsInLs_ = 4;
2269 maxNumBrokenConstraintsInLs_ = 2147483647;
2270 logSearchProgress_ = false;
2271 computeEstimatedImpact_ = true;
2272 pruneSearchTree_ = false;
2273 sortConstraintsByNumTerms_ = false;
2274 useRandomLns_ = true;
2275 randomSeed_ = 8;
2276 numRelaxedVars_ = 10;
2277 maxNumberOfConflictsInRandomLns_ = 2500;
2278 numRandomLnsTries_ = 1;
2279 maxNumberOfBacktracksInLs_ = 100000000L;
2280 useLpLns_ = true;
2281 useSatToChooseLnsNeighbourhood_ = true;
2282 maxNumberOfConflictsForQuickCheck_ = 10;
2283 useSymmetry_ = false;
2284 exploitSymmetryInSatFirstSolution_ = false;
2285 maxNumberOfConflictsInRandomSolutionGeneration_ = 500;
2286 maxNumberOfExploredAssignmentsPerTryInLs_ = 10000L;
2287 useTranspositionTableInLs_ = true;
2288 usePotentialOneFlipRepairsInLs_ = false;
2289 useLearnedBinaryClausesInLp_ = true;
2290 numberOfSolvers_ = 1;
2291 synchronizationType_ = 0;
2292 if (solverOptimizerSetsBuilder_ == null) {
2293 solverOptimizerSets_ = java.util.Collections.emptyList();
2294 } else {
2295 solverOptimizerSets_ = null;
2296 solverOptimizerSetsBuilder_.clear();
2297 }
2298 bitField0_ = (bitField0_ & ~0x20000000);
2299 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 } ";
2300 useLpStrongBranching_ = false;
2301 decomposerNumVariablesThreshold_ = 50;
2302 numBopSolversUsedByDecomposition_ = 1;
2303 decomposedProblemMinTimeInSeconds_ = 0D;
2304 guidedSatConflictsChunk_ = 1000;
2305 maxLpSolveForFeasibilityProblems_ = 0;
2306 return this;
2307 }
2308
2309 @java.lang.Override
2310 public com.google.protobuf.Descriptors.Descriptor
2312 return com.google.ortools.bop.BopParametersOuterClass.internal_static_operations_research_bop_BopParameters_descriptor;
2313 }
2314
2315 @java.lang.Override
2317 return com.google.ortools.bop.BopParameters.getDefaultInstance();
2318 }
2319
2320 @java.lang.Override
2323 if (!result.isInitialized()) {
2324 throw newUninitializedMessageException(result);
2325 }
2326 return result;
2327 }
2328
2329 @java.lang.Override
2331 com.google.ortools.bop.BopParameters result = new com.google.ortools.bop.BopParameters(this);
2332 buildPartialRepeatedFields(result);
2333 if (bitField0_ != 0) { buildPartial0(result); }
2334 if (bitField1_ != 0) { buildPartial1(result); }
2335 onBuilt();
2336 return result;
2337 }
2338
2339 private void buildPartialRepeatedFields(com.google.ortools.bop.BopParameters result) {
2340 if (solverOptimizerSetsBuilder_ == null) {
2341 if (((bitField0_ & 0x20000000) != 0)) {
2342 solverOptimizerSets_ = java.util.Collections.unmodifiableList(solverOptimizerSets_);
2343 bitField0_ = (bitField0_ & ~0x20000000);
2344 }
2345 result.solverOptimizerSets_ = solverOptimizerSets_;
2346 } else {
2347 result.solverOptimizerSets_ = solverOptimizerSetsBuilder_.build();
2348 }
2349 }
2350
2351 private void buildPartial0(com.google.ortools.bop.BopParameters result) {
2352 int from_bitField0_ = bitField0_;
2353 int to_bitField0_ = 0;
2354 if (((from_bitField0_ & 0x00000001) != 0)) {
2355 result.maxTimeInSeconds_ = maxTimeInSeconds_;
2356 to_bitField0_ |= 0x00000001;
2357 }
2358 if (((from_bitField0_ & 0x00000002) != 0)) {
2359 result.maxDeterministicTime_ = maxDeterministicTime_;
2360 to_bitField0_ |= 0x00000002;
2361 }
2362 if (((from_bitField0_ & 0x00000004) != 0)) {
2363 result.lpMaxDeterministicTime_ = lpMaxDeterministicTime_;
2364 to_bitField0_ |= 0x00000004;
2365 }
2366 if (((from_bitField0_ & 0x00000008) != 0)) {
2367 result.maxNumberOfConsecutiveFailingOptimizerCalls_ = maxNumberOfConsecutiveFailingOptimizerCalls_;
2368 to_bitField0_ |= 0x00000008;
2369 }
2370 if (((from_bitField0_ & 0x00000010) != 0)) {
2371 result.relativeGapLimit_ = relativeGapLimit_;
2372 to_bitField0_ |= 0x00000010;
2373 }
2374 if (((from_bitField0_ & 0x00000020) != 0)) {
2375 result.maxNumDecisionsInLs_ = maxNumDecisionsInLs_;
2376 to_bitField0_ |= 0x00000020;
2377 }
2378 if (((from_bitField0_ & 0x00000040) != 0)) {
2379 result.maxNumBrokenConstraintsInLs_ = maxNumBrokenConstraintsInLs_;
2380 to_bitField0_ |= 0x00000040;
2381 }
2382 if (((from_bitField0_ & 0x00000080) != 0)) {
2383 result.logSearchProgress_ = logSearchProgress_;
2384 to_bitField0_ |= 0x00000080;
2385 }
2386 if (((from_bitField0_ & 0x00000100) != 0)) {
2387 result.computeEstimatedImpact_ = computeEstimatedImpact_;
2388 to_bitField0_ |= 0x00000100;
2389 }
2390 if (((from_bitField0_ & 0x00000200) != 0)) {
2391 result.pruneSearchTree_ = pruneSearchTree_;
2392 to_bitField0_ |= 0x00000200;
2393 }
2394 if (((from_bitField0_ & 0x00000400) != 0)) {
2395 result.sortConstraintsByNumTerms_ = sortConstraintsByNumTerms_;
2396 to_bitField0_ |= 0x00000400;
2397 }
2398 if (((from_bitField0_ & 0x00000800) != 0)) {
2399 result.useRandomLns_ = useRandomLns_;
2400 to_bitField0_ |= 0x00000800;
2401 }
2402 if (((from_bitField0_ & 0x00001000) != 0)) {
2403 result.randomSeed_ = randomSeed_;
2404 to_bitField0_ |= 0x00001000;
2405 }
2406 if (((from_bitField0_ & 0x00002000) != 0)) {
2407 result.numRelaxedVars_ = numRelaxedVars_;
2408 to_bitField0_ |= 0x00002000;
2409 }
2410 if (((from_bitField0_ & 0x00004000) != 0)) {
2411 result.maxNumberOfConflictsInRandomLns_ = maxNumberOfConflictsInRandomLns_;
2412 to_bitField0_ |= 0x00004000;
2413 }
2414 if (((from_bitField0_ & 0x00008000) != 0)) {
2415 result.numRandomLnsTries_ = numRandomLnsTries_;
2416 to_bitField0_ |= 0x00008000;
2417 }
2418 if (((from_bitField0_ & 0x00010000) != 0)) {
2419 result.maxNumberOfBacktracksInLs_ = maxNumberOfBacktracksInLs_;
2420 to_bitField0_ |= 0x00010000;
2421 }
2422 if (((from_bitField0_ & 0x00020000) != 0)) {
2423 result.useLpLns_ = useLpLns_;
2424 to_bitField0_ |= 0x00020000;
2425 }
2426 if (((from_bitField0_ & 0x00040000) != 0)) {
2427 result.useSatToChooseLnsNeighbourhood_ = useSatToChooseLnsNeighbourhood_;
2428 to_bitField0_ |= 0x00040000;
2429 }
2430 if (((from_bitField0_ & 0x00080000) != 0)) {
2431 result.maxNumberOfConflictsForQuickCheck_ = maxNumberOfConflictsForQuickCheck_;
2432 to_bitField0_ |= 0x00080000;
2433 }
2434 if (((from_bitField0_ & 0x00100000) != 0)) {
2435 result.useSymmetry_ = useSymmetry_;
2436 to_bitField0_ |= 0x00100000;
2437 }
2438 if (((from_bitField0_ & 0x00200000) != 0)) {
2439 result.exploitSymmetryInSatFirstSolution_ = exploitSymmetryInSatFirstSolution_;
2440 to_bitField0_ |= 0x00200000;
2441 }
2442 if (((from_bitField0_ & 0x00400000) != 0)) {
2443 result.maxNumberOfConflictsInRandomSolutionGeneration_ = maxNumberOfConflictsInRandomSolutionGeneration_;
2444 to_bitField0_ |= 0x00400000;
2445 }
2446 if (((from_bitField0_ & 0x00800000) != 0)) {
2447 result.maxNumberOfExploredAssignmentsPerTryInLs_ = maxNumberOfExploredAssignmentsPerTryInLs_;
2448 to_bitField0_ |= 0x00800000;
2449 }
2450 if (((from_bitField0_ & 0x01000000) != 0)) {
2451 result.useTranspositionTableInLs_ = useTranspositionTableInLs_;
2452 to_bitField0_ |= 0x01000000;
2453 }
2454 if (((from_bitField0_ & 0x02000000) != 0)) {
2455 result.usePotentialOneFlipRepairsInLs_ = usePotentialOneFlipRepairsInLs_;
2456 to_bitField0_ |= 0x02000000;
2457 }
2458 if (((from_bitField0_ & 0x04000000) != 0)) {
2459 result.useLearnedBinaryClausesInLp_ = useLearnedBinaryClausesInLp_;
2460 to_bitField0_ |= 0x04000000;
2461 }
2462 if (((from_bitField0_ & 0x08000000) != 0)) {
2463 result.numberOfSolvers_ = numberOfSolvers_;
2464 to_bitField0_ |= 0x08000000;
2465 }
2466 if (((from_bitField0_ & 0x10000000) != 0)) {
2467 result.synchronizationType_ = synchronizationType_;
2468 to_bitField0_ |= 0x10000000;
2469 }
2470 if (((from_bitField0_ & 0x40000000) != 0)) {
2471 result.defaultSolverOptimizerSets_ = defaultSolverOptimizerSets_;
2472 to_bitField0_ |= 0x20000000;
2473 }
2474 if (((from_bitField0_ & 0x80000000) != 0)) {
2475 result.useLpStrongBranching_ = useLpStrongBranching_;
2476 to_bitField0_ |= 0x40000000;
2477 }
2478 result.bitField0_ |= to_bitField0_;
2479 }
2480
2481 private void buildPartial1(com.google.ortools.bop.BopParameters result) {
2482 int from_bitField1_ = bitField1_;
2483 int to_bitField0_ = 0;
2484 if (((from_bitField1_ & 0x00000001) != 0)) {
2485 result.decomposerNumVariablesThreshold_ = decomposerNumVariablesThreshold_;
2486 to_bitField0_ |= 0x80000000;
2487 }
2488 int to_bitField1_ = 0;
2489 if (((from_bitField1_ & 0x00000002) != 0)) {
2490 result.numBopSolversUsedByDecomposition_ = numBopSolversUsedByDecomposition_;
2491 to_bitField1_ |= 0x00000001;
2492 }
2493 if (((from_bitField1_ & 0x00000004) != 0)) {
2494 result.decomposedProblemMinTimeInSeconds_ = decomposedProblemMinTimeInSeconds_;
2495 to_bitField1_ |= 0x00000002;
2496 }
2497 if (((from_bitField1_ & 0x00000008) != 0)) {
2498 result.guidedSatConflictsChunk_ = guidedSatConflictsChunk_;
2499 to_bitField1_ |= 0x00000004;
2500 }
2501 if (((from_bitField1_ & 0x00000010) != 0)) {
2502 result.maxLpSolveForFeasibilityProblems_ = maxLpSolveForFeasibilityProblems_;
2503 to_bitField1_ |= 0x00000008;
2504 }
2505 result.bitField0_ |= to_bitField0_;
2506 result.bitField1_ |= to_bitField1_;
2507 }
2508
2509 @java.lang.Override
2510 public Builder mergeFrom(com.google.protobuf.Message other) {
2511 if (other instanceof com.google.ortools.bop.BopParameters) {
2512 return mergeFrom((com.google.ortools.bop.BopParameters)other);
2513 } else {
2514 super.mergeFrom(other);
2515 return this;
2516 }
2517 }
2518
2519 public Builder mergeFrom(com.google.ortools.bop.BopParameters other) {
2520 if (other == com.google.ortools.bop.BopParameters.getDefaultInstance()) return this;
2521 if (other.hasMaxTimeInSeconds()) {
2522 setMaxTimeInSeconds(other.getMaxTimeInSeconds());
2523 }
2524 if (other.hasMaxDeterministicTime()) {
2525 setMaxDeterministicTime(other.getMaxDeterministicTime());
2526 }
2527 if (other.hasLpMaxDeterministicTime()) {
2528 setLpMaxDeterministicTime(other.getLpMaxDeterministicTime());
2529 }
2530 if (other.hasMaxNumberOfConsecutiveFailingOptimizerCalls()) {
2531 setMaxNumberOfConsecutiveFailingOptimizerCalls(other.getMaxNumberOfConsecutiveFailingOptimizerCalls());
2532 }
2533 if (other.hasRelativeGapLimit()) {
2534 setRelativeGapLimit(other.getRelativeGapLimit());
2535 }
2536 if (other.hasMaxNumDecisionsInLs()) {
2537 setMaxNumDecisionsInLs(other.getMaxNumDecisionsInLs());
2538 }
2539 if (other.hasMaxNumBrokenConstraintsInLs()) {
2540 setMaxNumBrokenConstraintsInLs(other.getMaxNumBrokenConstraintsInLs());
2541 }
2542 if (other.hasLogSearchProgress()) {
2543 setLogSearchProgress(other.getLogSearchProgress());
2544 }
2545 if (other.hasComputeEstimatedImpact()) {
2546 setComputeEstimatedImpact(other.getComputeEstimatedImpact());
2547 }
2548 if (other.hasPruneSearchTree()) {
2549 setPruneSearchTree(other.getPruneSearchTree());
2550 }
2551 if (other.hasSortConstraintsByNumTerms()) {
2552 setSortConstraintsByNumTerms(other.getSortConstraintsByNumTerms());
2553 }
2554 if (other.hasUseRandomLns()) {
2555 setUseRandomLns(other.getUseRandomLns());
2556 }
2557 if (other.hasRandomSeed()) {
2558 setRandomSeed(other.getRandomSeed());
2559 }
2560 if (other.hasNumRelaxedVars()) {
2561 setNumRelaxedVars(other.getNumRelaxedVars());
2562 }
2563 if (other.hasMaxNumberOfConflictsInRandomLns()) {
2564 setMaxNumberOfConflictsInRandomLns(other.getMaxNumberOfConflictsInRandomLns());
2565 }
2566 if (other.hasNumRandomLnsTries()) {
2567 setNumRandomLnsTries(other.getNumRandomLnsTries());
2568 }
2569 if (other.hasMaxNumberOfBacktracksInLs()) {
2570 setMaxNumberOfBacktracksInLs(other.getMaxNumberOfBacktracksInLs());
2571 }
2572 if (other.hasUseLpLns()) {
2573 setUseLpLns(other.getUseLpLns());
2574 }
2575 if (other.hasUseSatToChooseLnsNeighbourhood()) {
2576 setUseSatToChooseLnsNeighbourhood(other.getUseSatToChooseLnsNeighbourhood());
2577 }
2578 if (other.hasMaxNumberOfConflictsForQuickCheck()) {
2579 setMaxNumberOfConflictsForQuickCheck(other.getMaxNumberOfConflictsForQuickCheck());
2580 }
2581 if (other.hasUseSymmetry()) {
2582 setUseSymmetry(other.getUseSymmetry());
2583 }
2584 if (other.hasExploitSymmetryInSatFirstSolution()) {
2585 setExploitSymmetryInSatFirstSolution(other.getExploitSymmetryInSatFirstSolution());
2586 }
2587 if (other.hasMaxNumberOfConflictsInRandomSolutionGeneration()) {
2588 setMaxNumberOfConflictsInRandomSolutionGeneration(other.getMaxNumberOfConflictsInRandomSolutionGeneration());
2589 }
2590 if (other.hasMaxNumberOfExploredAssignmentsPerTryInLs()) {
2591 setMaxNumberOfExploredAssignmentsPerTryInLs(other.getMaxNumberOfExploredAssignmentsPerTryInLs());
2592 }
2593 if (other.hasUseTranspositionTableInLs()) {
2594 setUseTranspositionTableInLs(other.getUseTranspositionTableInLs());
2595 }
2596 if (other.hasUsePotentialOneFlipRepairsInLs()) {
2597 setUsePotentialOneFlipRepairsInLs(other.getUsePotentialOneFlipRepairsInLs());
2598 }
2599 if (other.hasUseLearnedBinaryClausesInLp()) {
2600 setUseLearnedBinaryClausesInLp(other.getUseLearnedBinaryClausesInLp());
2601 }
2602 if (other.hasNumberOfSolvers()) {
2603 setNumberOfSolvers(other.getNumberOfSolvers());
2604 }
2605 if (other.hasSynchronizationType()) {
2606 setSynchronizationType(other.getSynchronizationType());
2607 }
2608 if (solverOptimizerSetsBuilder_ == null) {
2609 if (!other.solverOptimizerSets_.isEmpty()) {
2610 if (solverOptimizerSets_.isEmpty()) {
2611 solverOptimizerSets_ = other.solverOptimizerSets_;
2612 bitField0_ = (bitField0_ & ~0x20000000);
2613 } else {
2614 ensureSolverOptimizerSetsIsMutable();
2615 solverOptimizerSets_.addAll(other.solverOptimizerSets_);
2616 }
2617 onChanged();
2618 }
2619 } else {
2620 if (!other.solverOptimizerSets_.isEmpty()) {
2621 if (solverOptimizerSetsBuilder_.isEmpty()) {
2622 solverOptimizerSetsBuilder_.dispose();
2623 solverOptimizerSetsBuilder_ = null;
2624 solverOptimizerSets_ = other.solverOptimizerSets_;
2625 bitField0_ = (bitField0_ & ~0x20000000);
2626 solverOptimizerSetsBuilder_ =
2627 com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
2628 internalGetSolverOptimizerSetsFieldBuilder() : null;
2629 } else {
2630 solverOptimizerSetsBuilder_.addAllMessages(other.solverOptimizerSets_);
2631 }
2632 }
2633 }
2634 if (other.hasDefaultSolverOptimizerSets()) {
2635 defaultSolverOptimizerSets_ = other.defaultSolverOptimizerSets_;
2636 bitField0_ |= 0x40000000;
2637 onChanged();
2638 }
2639 if (other.hasUseLpStrongBranching()) {
2640 setUseLpStrongBranching(other.getUseLpStrongBranching());
2641 }
2642 if (other.hasDecomposerNumVariablesThreshold()) {
2643 setDecomposerNumVariablesThreshold(other.getDecomposerNumVariablesThreshold());
2644 }
2645 if (other.hasNumBopSolversUsedByDecomposition()) {
2646 setNumBopSolversUsedByDecomposition(other.getNumBopSolversUsedByDecomposition());
2647 }
2648 if (other.hasDecomposedProblemMinTimeInSeconds()) {
2649 setDecomposedProblemMinTimeInSeconds(other.getDecomposedProblemMinTimeInSeconds());
2650 }
2651 if (other.hasGuidedSatConflictsChunk()) {
2652 setGuidedSatConflictsChunk(other.getGuidedSatConflictsChunk());
2653 }
2654 if (other.hasMaxLpSolveForFeasibilityProblems()) {
2655 setMaxLpSolveForFeasibilityProblems(other.getMaxLpSolveForFeasibilityProblems());
2656 }
2657 this.mergeUnknownFields(other.getUnknownFields());
2658 onChanged();
2659 return this;
2660 }
2661
2662 @java.lang.Override
2663 public final boolean isInitialized() {
2664 return true;
2665 }
2666
2667 @java.lang.Override
2668 public Builder mergeFrom(
2669 com.google.protobuf.CodedInputStream input,
2670 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2671 throws java.io.IOException {
2672 if (extensionRegistry == null) {
2673 throw new java.lang.NullPointerException();
2674 }
2675 try {
2676 boolean done = false;
2677 while (!done) {
2678 int tag = input.readTag();
2679 switch (tag) {
2680 case 0:
2681 done = true;
2682 break;
2683 case 9: {
2684 maxTimeInSeconds_ = input.readDouble();
2685 bitField0_ |= 0x00000001;
2686 break;
2687 } // case 9
2688 case 16: {
2689 maxNumDecisionsInLs_ = input.readInt32();
2690 bitField0_ |= 0x00000020;
2691 break;
2692 } // case 16
2693 case 24: {
2694 computeEstimatedImpact_ = input.readBool();
2695 bitField0_ |= 0x00000100;
2696 break;
2697 } // case 24
2698 case 32: {
2699 pruneSearchTree_ = input.readBool();
2700 bitField0_ |= 0x00000200;
2701 break;
2702 } // case 32
2703 case 40: {
2704 sortConstraintsByNumTerms_ = input.readBool();
2705 bitField0_ |= 0x00000400;
2706 break;
2707 } // case 40
2708 case 48: {
2709 useRandomLns_ = input.readBool();
2710 bitField0_ |= 0x00000800;
2711 break;
2712 } // case 48
2713 case 56: {
2714 randomSeed_ = input.readInt32();
2715 bitField0_ |= 0x00001000;
2716 break;
2717 } // case 56
2718 case 64: {
2719 numRelaxedVars_ = input.readInt32();
2720 bitField0_ |= 0x00002000;
2721 break;
2722 } // case 64
2723 case 72: {
2724 maxNumberOfConflictsInRandomLns_ = input.readInt32();
2725 bitField0_ |= 0x00004000;
2726 break;
2727 } // case 72
2728 case 80: {
2729 numRandomLnsTries_ = input.readInt32();
2730 bitField0_ |= 0x00008000;
2731 break;
2732 } // case 80
2733 case 88: {
2734 maxNumberOfBacktracksInLs_ = input.readInt64();
2735 bitField0_ |= 0x00010000;
2736 break;
2737 } // case 88
2738 case 96: {
2739 useLpLns_ = input.readBool();
2740 bitField0_ |= 0x00020000;
2741 break;
2742 } // case 96
2743 case 112: {
2744 logSearchProgress_ = input.readBool();
2745 bitField0_ |= 0x00000080;
2746 break;
2747 } // case 112
2748 case 120: {
2749 useSatToChooseLnsNeighbourhood_ = input.readBool();
2750 bitField0_ |= 0x00040000;
2751 break;
2752 } // case 120
2753 case 128: {
2754 maxNumberOfConflictsForQuickCheck_ = input.readInt32();
2755 bitField0_ |= 0x00080000;
2756 break;
2757 } // case 128
2758 case 136: {
2759 useSymmetry_ = input.readBool();
2760 bitField0_ |= 0x00100000;
2761 break;
2762 } // case 136
2763 case 160: {
2764 maxNumberOfConflictsInRandomSolutionGeneration_ = input.readInt32();
2765 bitField0_ |= 0x00400000;
2766 break;
2767 } // case 160
2768 case 168: {
2769 maxNumberOfExploredAssignmentsPerTryInLs_ = input.readInt64();
2770 bitField0_ |= 0x00800000;
2771 break;
2772 } // case 168
2773 case 176: {
2774 useTranspositionTableInLs_ = input.readBool();
2775 bitField0_ |= 0x01000000;
2776 break;
2777 } // case 176
2778 case 184: {
2779 useLearnedBinaryClausesInLp_ = input.readBool();
2780 bitField0_ |= 0x04000000;
2781 break;
2782 } // case 184
2783 case 192: {
2784 numberOfSolvers_ = input.readInt32();
2785 bitField0_ |= 0x08000000;
2786 break;
2787 } // case 192
2788 case 200: {
2789 int tmpRaw = input.readEnum();
2791 com.google.ortools.bop.BopParameters.ThreadSynchronizationType.forNumber(tmpRaw);
2792 if (tmpValue == null) {
2793 mergeUnknownVarintField(25, tmpRaw);
2794 } else {
2795 synchronizationType_ = tmpRaw;
2796 bitField0_ |= 0x10000000;
2797 }
2798 break;
2799 } // case 200
2800 case 210: {
2802 input.readMessage(
2803 com.google.ortools.bop.BopSolverOptimizerSet.parser(),
2804 extensionRegistry);
2805 if (solverOptimizerSetsBuilder_ == null) {
2806 ensureSolverOptimizerSetsIsMutable();
2807 solverOptimizerSets_.add(m);
2808 } else {
2809 solverOptimizerSetsBuilder_.addMessage(m);
2810 }
2811 break;
2812 } // case 210
2813 case 217: {
2814 maxDeterministicTime_ = input.readDouble();
2815 bitField0_ |= 0x00000002;
2816 break;
2817 } // case 217
2818 case 225: {
2819 relativeGapLimit_ = input.readDouble();
2820 bitField0_ |= 0x00000010;
2821 break;
2822 } // case 225
2823 case 232: {
2824 useLpStrongBranching_ = input.readBool();
2825 bitField0_ |= 0x80000000;
2826 break;
2827 } // case 232
2828 case 240: {
2829 decomposerNumVariablesThreshold_ = input.readInt32();
2830 bitField1_ |= 0x00000001;
2831 break;
2832 } // case 240
2833 case 248: {
2834 numBopSolversUsedByDecomposition_ = input.readInt32();
2835 bitField1_ |= 0x00000002;
2836 break;
2837 } // case 248
2838 case 266: {
2839 defaultSolverOptimizerSets_ = input.readBytes();
2840 bitField0_ |= 0x40000000;
2841 break;
2842 } // case 266
2843 case 272: {
2844 guidedSatConflictsChunk_ = input.readInt32();
2845 bitField1_ |= 0x00000008;
2846 break;
2847 } // case 272
2848 case 280: {
2849 maxNumberOfConsecutiveFailingOptimizerCalls_ = input.readInt32();
2850 bitField0_ |= 0x00000008;
2851 break;
2852 } // case 280
2853 case 289: {
2854 decomposedProblemMinTimeInSeconds_ = input.readDouble();
2855 bitField1_ |= 0x00000004;
2856 break;
2857 } // case 289
2858 case 297: {
2859 lpMaxDeterministicTime_ = input.readDouble();
2860 bitField0_ |= 0x00000004;
2861 break;
2862 } // case 297
2863 case 304: {
2864 maxNumBrokenConstraintsInLs_ = input.readInt32();
2865 bitField0_ |= 0x00000040;
2866 break;
2867 } // case 304
2868 case 312: {
2869 usePotentialOneFlipRepairsInLs_ = input.readBool();
2870 bitField0_ |= 0x02000000;
2871 break;
2872 } // case 312
2873 case 320: {
2874 exploitSymmetryInSatFirstSolution_ = input.readBool();
2875 bitField0_ |= 0x00200000;
2876 break;
2877 } // case 320
2878 case 328: {
2879 maxLpSolveForFeasibilityProblems_ = input.readInt32();
2880 bitField1_ |= 0x00000010;
2881 break;
2882 } // case 328
2883 default: {
2884 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
2885 done = true; // was an endgroup tag
2886 }
2887 break;
2888 } // default:
2889 } // switch (tag)
2890 } // while (!done)
2891 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2892 throw e.unwrapIOException();
2893 } finally {
2894 onChanged();
2895 } // finally
2896 return this;
2897 }
2898 private int bitField0_;
2899 private int bitField1_;
2900
2901 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
2911 @java.lang.Override
2912 public boolean hasMaxTimeInSeconds() {
2913 return ((bitField0_ & 0x00000001) != 0);
2914 }
2915
2924 @java.lang.Override
2925 public double getMaxTimeInSeconds() {
2926 return maxTimeInSeconds_;
2927 }
2928
2938 public Builder setMaxTimeInSeconds(double value) {
2939
2940 maxTimeInSeconds_ = value;
2941 bitField0_ |= 0x00000001;
2942 onChanged();
2943 return this;
2944 }
2945
2954 public Builder clearMaxTimeInSeconds() {
2955 bitField0_ = (bitField0_ & ~0x00000001);
2956 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
2957 onChanged();
2958 return this;
2959 }
2960
2961 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
2974 @java.lang.Override
2975 public boolean hasMaxDeterministicTime() {
2976 return ((bitField0_ & 0x00000002) != 0);
2977 }
2978
2990 @java.lang.Override
2991 public double getMaxDeterministicTime() {
2992 return maxDeterministicTime_;
2993 }
2994
3007 public Builder setMaxDeterministicTime(double value) {
3008
3009 maxDeterministicTime_ = value;
3010 bitField0_ |= 0x00000002;
3011 onChanged();
3012 return this;
3013 }
3014
3026 public Builder clearMaxDeterministicTime() {
3027 bitField0_ = (bitField0_ & ~0x00000002);
3028 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
3029 onChanged();
3030 return this;
3031 }
3032
3033 private double lpMaxDeterministicTime_ = 1D;
3044 @java.lang.Override
3045 public boolean hasLpMaxDeterministicTime() {
3046 return ((bitField0_ & 0x00000004) != 0);
3047 }
3048
3058 @java.lang.Override
3060 return lpMaxDeterministicTime_;
3061 }
3062
3073 public Builder setLpMaxDeterministicTime(double value) {
3074
3075 lpMaxDeterministicTime_ = value;
3076 bitField0_ |= 0x00000004;
3077 onChanged();
3078 return this;
3079 }
3080
3091 bitField0_ = (bitField0_ & ~0x00000004);
3092 lpMaxDeterministicTime_ = 1D;
3093 onChanged();
3094 return this;
3095 }
3096
3097 private int maxNumberOfConsecutiveFailingOptimizerCalls_ ;
3110 @java.lang.Override
3112 return ((bitField0_ & 0x00000008) != 0);
3113 }
3114
3126 @java.lang.Override
3128 return maxNumberOfConsecutiveFailingOptimizerCalls_;
3129 }
3130
3144
3145 maxNumberOfConsecutiveFailingOptimizerCalls_ = value;
3146 bitField0_ |= 0x00000008;
3147 onChanged();
3148 return this;
3149 }
3150
3163 bitField0_ = (bitField0_ & ~0x00000008);
3164 maxNumberOfConsecutiveFailingOptimizerCalls_ = 0;
3165 onChanged();
3166 return this;
3167 }
3168
3169 private double relativeGapLimit_ = 0.0001D;
3182 @java.lang.Override
3183 public boolean hasRelativeGapLimit() {
3184 return ((bitField0_ & 0x00000010) != 0);
3185 }
3186
3198 @java.lang.Override
3199 public double getRelativeGapLimit() {
3200 return relativeGapLimit_;
3201 }
3202
3215 public Builder setRelativeGapLimit(double value) {
3216
3217 relativeGapLimit_ = value;
3218 bitField0_ |= 0x00000010;
3219 onChanged();
3220 return this;
3221 }
3222
3234 public Builder clearRelativeGapLimit() {
3235 bitField0_ = (bitField0_ & ~0x00000010);
3236 relativeGapLimit_ = 0.0001D;
3237 onChanged();
3238 return this;
3239 }
3240
3241 private int maxNumDecisionsInLs_ = 4;
3251 @java.lang.Override
3252 public boolean hasMaxNumDecisionsInLs() {
3253 return ((bitField0_ & 0x00000020) != 0);
3254 }
3255
3264 @java.lang.Override
3266 return maxNumDecisionsInLs_;
3267 }
3268
3278 public Builder setMaxNumDecisionsInLs(int value) {
3279
3280 maxNumDecisionsInLs_ = value;
3281 bitField0_ |= 0x00000020;
3282 onChanged();
3283 return this;
3284 }
3285
3294 public Builder clearMaxNumDecisionsInLs() {
3295 bitField0_ = (bitField0_ & ~0x00000020);
3296 maxNumDecisionsInLs_ = 4;
3297 onChanged();
3298 return this;
3299 }
3300
3301 private int maxNumBrokenConstraintsInLs_ = 2147483647;
3312 @java.lang.Override
3314 return ((bitField0_ & 0x00000040) != 0);
3315 }
3316
3326 @java.lang.Override
3328 return maxNumBrokenConstraintsInLs_;
3329 }
3330
3341 public Builder setMaxNumBrokenConstraintsInLs(int value) {
3342
3343 maxNumBrokenConstraintsInLs_ = value;
3344 bitField0_ |= 0x00000040;
3345 onChanged();
3346 return this;
3347 }
3348
3359 bitField0_ = (bitField0_ & ~0x00000040);
3360 maxNumBrokenConstraintsInLs_ = 2147483647;
3361 onChanged();
3362 return this;
3363 }
3364
3365 private boolean logSearchProgress_ ;
3374 @java.lang.Override
3375 public boolean hasLogSearchProgress() {
3376 return ((bitField0_ & 0x00000080) != 0);
3377 }
3378
3386 @java.lang.Override
3387 public boolean getLogSearchProgress() {
3388 return logSearchProgress_;
3389 }
3390
3399 public Builder setLogSearchProgress(boolean value) {
3400
3401 logSearchProgress_ = value;
3402 bitField0_ |= 0x00000080;
3403 onChanged();
3404 return this;
3405 }
3406
3414 public Builder clearLogSearchProgress() {
3415 bitField0_ = (bitField0_ & ~0x00000080);
3416 logSearchProgress_ = false;
3417 onChanged();
3418 return this;
3419 }
3420
3421 private boolean computeEstimatedImpact_ = true;
3430 @java.lang.Override
3431 public boolean hasComputeEstimatedImpact() {
3432 return ((bitField0_ & 0x00000100) != 0);
3433 }
3434
3442 @java.lang.Override
3443 public boolean getComputeEstimatedImpact() {
3444 return computeEstimatedImpact_;
3445 }
3446
3455 public Builder setComputeEstimatedImpact(boolean value) {
3456
3457 computeEstimatedImpact_ = value;
3458 bitField0_ |= 0x00000100;
3459 onChanged();
3460 return this;
3461 }
3462
3471 bitField0_ = (bitField0_ & ~0x00000100);
3472 computeEstimatedImpact_ = true;
3473 onChanged();
3474 return this;
3475 }
3476
3477 private boolean pruneSearchTree_ ;
3486 @java.lang.Override
3487 public boolean hasPruneSearchTree() {
3488 return ((bitField0_ & 0x00000200) != 0);
3489 }
3490
3498 @java.lang.Override
3499 public boolean getPruneSearchTree() {
3500 return pruneSearchTree_;
3501 }
3502
3511 public Builder setPruneSearchTree(boolean value) {
3512
3513 pruneSearchTree_ = value;
3514 bitField0_ |= 0x00000200;
3515 onChanged();
3516 return this;
3517 }
3518
3526 public Builder clearPruneSearchTree() {
3527 bitField0_ = (bitField0_ & ~0x00000200);
3528 pruneSearchTree_ = false;
3529 onChanged();
3530 return this;
3531 }
3532
3533 private boolean sortConstraintsByNumTerms_ ;
3543 @java.lang.Override
3545 return ((bitField0_ & 0x00000400) != 0);
3546 }
3547
3556 @java.lang.Override
3558 return sortConstraintsByNumTerms_;
3559 }
3560
3570 public Builder setSortConstraintsByNumTerms(boolean value) {
3571
3572 sortConstraintsByNumTerms_ = value;
3573 bitField0_ |= 0x00000400;
3574 onChanged();
3575 return this;
3576 }
3577
3587 bitField0_ = (bitField0_ & ~0x00000400);
3588 sortConstraintsByNumTerms_ = false;
3589 onChanged();
3590 return this;
3591 }
3592
3593 private boolean useRandomLns_ = true;
3602 @java.lang.Override
3603 public boolean hasUseRandomLns() {
3604 return ((bitField0_ & 0x00000800) != 0);
3605 }
3606
3614 @java.lang.Override
3615 public boolean getUseRandomLns() {
3616 return useRandomLns_;
3617 }
3618
3627 public Builder setUseRandomLns(boolean value) {
3628
3629 useRandomLns_ = value;
3630 bitField0_ |= 0x00000800;
3631 onChanged();
3632 return this;
3633 }
3634
3642 public Builder clearUseRandomLns() {
3643 bitField0_ = (bitField0_ & ~0x00000800);
3644 useRandomLns_ = true;
3645 onChanged();
3646 return this;
3647 }
3648
3649 private int randomSeed_ = 8;
3662 @java.lang.Override
3663 public boolean hasRandomSeed() {
3664 return ((bitField0_ & 0x00001000) != 0);
3665 }
3666
3678 @java.lang.Override
3679 public int getRandomSeed() {
3680 return randomSeed_;
3681 }
3682
3695 public Builder setRandomSeed(int value) {
3696
3697 randomSeed_ = value;
3698 bitField0_ |= 0x00001000;
3699 onChanged();
3700 return this;
3701 }
3702
3714 public Builder clearRandomSeed() {
3715 bitField0_ = (bitField0_ & ~0x00001000);
3716 randomSeed_ = 8;
3717 onChanged();
3718 return this;
3719 }
3720
3721 private int numRelaxedVars_ = 10;
3730 @java.lang.Override
3731 public boolean hasNumRelaxedVars() {
3732 return ((bitField0_ & 0x00002000) != 0);
3733 }
3734
3742 @java.lang.Override
3743 public int getNumRelaxedVars() {
3744 return numRelaxedVars_;
3745 }
3746
3755 public Builder setNumRelaxedVars(int value) {
3756
3757 numRelaxedVars_ = value;
3758 bitField0_ |= 0x00002000;
3759 onChanged();
3760 return this;
3761 }
3762
3770 public Builder clearNumRelaxedVars() {
3771 bitField0_ = (bitField0_ & ~0x00002000);
3772 numRelaxedVars_ = 10;
3773 onChanged();
3774 return this;
3775 }
3776
3777 private int maxNumberOfConflictsInRandomLns_ = 2500;
3787 @java.lang.Override
3789 return ((bitField0_ & 0x00004000) != 0);
3790 }
3791
3800 @java.lang.Override
3802 return maxNumberOfConflictsInRandomLns_;
3803 }
3804
3814 public Builder setMaxNumberOfConflictsInRandomLns(int value) {
3815
3816 maxNumberOfConflictsInRandomLns_ = value;
3817 bitField0_ |= 0x00004000;
3818 onChanged();
3819 return this;
3820 }
3821
3831 bitField0_ = (bitField0_ & ~0x00004000);
3832 maxNumberOfConflictsInRandomLns_ = 2500;
3833 onChanged();
3834 return this;
3835 }
3836
3837 private int numRandomLnsTries_ = 1;
3846 @java.lang.Override
3847 public boolean hasNumRandomLnsTries() {
3848 return ((bitField0_ & 0x00008000) != 0);
3849 }
3850
3858 @java.lang.Override
3860 return numRandomLnsTries_;
3861 }
3862
3871 public Builder setNumRandomLnsTries(int value) {
3872
3873 numRandomLnsTries_ = value;
3874 bitField0_ |= 0x00008000;
3875 onChanged();
3876 return this;
3877 }
3878
3886 public Builder clearNumRandomLnsTries() {
3887 bitField0_ = (bitField0_ & ~0x00008000);
3888 numRandomLnsTries_ = 1;
3889 onChanged();
3890 return this;
3891 }
3892
3893 private long maxNumberOfBacktracksInLs_ = 100000000L;
3903 @java.lang.Override
3905 return ((bitField0_ & 0x00010000) != 0);
3906 }
3907
3916 @java.lang.Override
3918 return maxNumberOfBacktracksInLs_;
3919 }
3920
3930 public Builder setMaxNumberOfBacktracksInLs(long value) {
3931
3932 maxNumberOfBacktracksInLs_ = value;
3933 bitField0_ |= 0x00010000;
3934 onChanged();
3935 return this;
3936 }
3937
3947 bitField0_ = (bitField0_ & ~0x00010000);
3948 maxNumberOfBacktracksInLs_ = 100000000L;
3949 onChanged();
3950 return this;
3951 }
3952
3953 private boolean useLpLns_ = true;
3962 @java.lang.Override
3963 public boolean hasUseLpLns() {
3964 return ((bitField0_ & 0x00020000) != 0);
3965 }
3966
3974 @java.lang.Override
3975 public boolean getUseLpLns() {
3976 return useLpLns_;
3977 }
3978
3987 public Builder setUseLpLns(boolean value) {
3988
3989 useLpLns_ = value;
3990 bitField0_ |= 0x00020000;
3991 onChanged();
3992 return this;
3993 }
3994
4002 public Builder clearUseLpLns() {
4003 bitField0_ = (bitField0_ & ~0x00020000);
4004 useLpLns_ = true;
4005 onChanged();
4006 return this;
4007 }
4008
4009 private boolean useSatToChooseLnsNeighbourhood_ = true;
4018 @java.lang.Override
4020 return ((bitField0_ & 0x00040000) != 0);
4021 }
4022
4030 @java.lang.Override
4032 return useSatToChooseLnsNeighbourhood_;
4033 }
4034
4043 public Builder setUseSatToChooseLnsNeighbourhood(boolean value) {
4044
4045 useSatToChooseLnsNeighbourhood_ = value;
4046 bitField0_ |= 0x00040000;
4047 onChanged();
4048 return this;
4049 }
4050
4059 bitField0_ = (bitField0_ & ~0x00040000);
4060 useSatToChooseLnsNeighbourhood_ = true;
4061 onChanged();
4062 return this;
4063 }
4064
4065 private int maxNumberOfConflictsForQuickCheck_ = 10;
4075 @java.lang.Override
4077 return ((bitField0_ & 0x00080000) != 0);
4078 }
4079
4088 @java.lang.Override
4090 return maxNumberOfConflictsForQuickCheck_;
4091 }
4092
4102 public Builder setMaxNumberOfConflictsForQuickCheck(int value) {
4103
4104 maxNumberOfConflictsForQuickCheck_ = value;
4105 bitField0_ |= 0x00080000;
4106 onChanged();
4107 return this;
4108 }
4109
4119 bitField0_ = (bitField0_ & ~0x00080000);
4120 maxNumberOfConflictsForQuickCheck_ = 10;
4121 onChanged();
4122 return this;
4123 }
4124
4125 private boolean useSymmetry_ ;
4138 @java.lang.Override
4139 public boolean hasUseSymmetry() {
4140 return ((bitField0_ & 0x00100000) != 0);
4141 }
4142
4154 @java.lang.Override
4155 public boolean getUseSymmetry() {
4156 return useSymmetry_;
4157 }
4158
4171 public Builder setUseSymmetry(boolean value) {
4172
4173 useSymmetry_ = value;
4174 bitField0_ |= 0x00100000;
4175 onChanged();
4176 return this;
4177 }
4178
4190 public Builder clearUseSymmetry() {
4191 bitField0_ = (bitField0_ & ~0x00100000);
4192 useSymmetry_ = false;
4193 onChanged();
4194 return this;
4195 }
4196
4197 private boolean exploitSymmetryInSatFirstSolution_ ;
4210 @java.lang.Override
4212 return ((bitField0_ & 0x00200000) != 0);
4213 }
4214
4226 @java.lang.Override
4228 return exploitSymmetryInSatFirstSolution_;
4229 }
4230
4243 public Builder setExploitSymmetryInSatFirstSolution(boolean value) {
4244
4245 exploitSymmetryInSatFirstSolution_ = value;
4246 bitField0_ |= 0x00200000;
4247 onChanged();
4248 return this;
4249 }
4250
4263 bitField0_ = (bitField0_ & ~0x00200000);
4264 exploitSymmetryInSatFirstSolution_ = false;
4265 onChanged();
4266 return this;
4267 }
4268
4269 private int maxNumberOfConflictsInRandomSolutionGeneration_ = 500;
4278 @java.lang.Override
4280 return ((bitField0_ & 0x00400000) != 0);
4281 }
4282
4290 @java.lang.Override
4292 return maxNumberOfConflictsInRandomSolutionGeneration_;
4293 }
4294
4304
4305 maxNumberOfConflictsInRandomSolutionGeneration_ = value;
4306 bitField0_ |= 0x00400000;
4307 onChanged();
4308 return this;
4309 }
4310
4319 bitField0_ = (bitField0_ & ~0x00400000);
4320 maxNumberOfConflictsInRandomSolutionGeneration_ = 500;
4321 onChanged();
4322 return this;
4323 }
4324
4325 private long maxNumberOfExploredAssignmentsPerTryInLs_ = 10000L;
4337 @java.lang.Override
4339 return ((bitField0_ & 0x00800000) != 0);
4340 }
4341
4352 @java.lang.Override
4354 return maxNumberOfExploredAssignmentsPerTryInLs_;
4355 }
4356
4369
4370 maxNumberOfExploredAssignmentsPerTryInLs_ = value;
4371 bitField0_ |= 0x00800000;
4372 onChanged();
4373 return this;
4374 }
4375
4387 bitField0_ = (bitField0_ & ~0x00800000);
4388 maxNumberOfExploredAssignmentsPerTryInLs_ = 10000L;
4389 onChanged();
4390 return this;
4391 }
4392
4393 private boolean useTranspositionTableInLs_ = true;
4405 @java.lang.Override
4407 return ((bitField0_ & 0x01000000) != 0);
4408 }
4409
4420 @java.lang.Override
4422 return useTranspositionTableInLs_;
4423 }
4424
4436 public Builder setUseTranspositionTableInLs(boolean value) {
4437
4438 useTranspositionTableInLs_ = value;
4439 bitField0_ |= 0x01000000;
4440 onChanged();
4441 return this;
4442 }
4443
4455 bitField0_ = (bitField0_ & ~0x01000000);
4456 useTranspositionTableInLs_ = true;
4457 onChanged();
4458 return this;
4459 }
4460
4461 private boolean usePotentialOneFlipRepairsInLs_ ;
4472 @java.lang.Override
4474 return ((bitField0_ & 0x02000000) != 0);
4475 }
4476
4486 @java.lang.Override
4488 return usePotentialOneFlipRepairsInLs_;
4489 }
4490
4501 public Builder setUsePotentialOneFlipRepairsInLs(boolean value) {
4502
4503 usePotentialOneFlipRepairsInLs_ = value;
4504 bitField0_ |= 0x02000000;
4505 onChanged();
4506 return this;
4507 }
4508
4519 bitField0_ = (bitField0_ & ~0x02000000);
4520 usePotentialOneFlipRepairsInLs_ = false;
4521 onChanged();
4522 return this;
4523 }
4524
4525 private boolean useLearnedBinaryClausesInLp_ = true;
4534 @java.lang.Override
4536 return ((bitField0_ & 0x04000000) != 0);
4537 }
4538
4546 @java.lang.Override
4548 return useLearnedBinaryClausesInLp_;
4549 }
4550
4559 public Builder setUseLearnedBinaryClausesInLp(boolean value) {
4560
4561 useLearnedBinaryClausesInLp_ = value;
4562 bitField0_ |= 0x04000000;
4563 onChanged();
4564 return this;
4565 }
4566
4575 bitField0_ = (bitField0_ & ~0x04000000);
4576 useLearnedBinaryClausesInLp_ = true;
4577 onChanged();
4578 return this;
4579 }
4580
4581 private int numberOfSolvers_ = 1;
4592 @java.lang.Override
4593 public boolean hasNumberOfSolvers() {
4594 return ((bitField0_ & 0x08000000) != 0);
4595 }
4596
4606 @java.lang.Override
4607 public int getNumberOfSolvers() {
4608 return numberOfSolvers_;
4609 }
4610
4621 public Builder setNumberOfSolvers(int value) {
4622
4623 numberOfSolvers_ = value;
4624 bitField0_ |= 0x08000000;
4625 onChanged();
4626 return this;
4627 }
4628
4638 public Builder clearNumberOfSolvers() {
4639 bitField0_ = (bitField0_ & ~0x08000000);
4640 numberOfSolvers_ = 1;
4641 onChanged();
4642 return this;
4643 }
4644
4645 private int synchronizationType_ = 0;
4650 @java.lang.Override public boolean hasSynchronizationType() {
4651 return ((bitField0_ & 0x10000000) != 0);
4652 }
4653
4657 @java.lang.Override
4659 com.google.ortools.bop.BopParameters.ThreadSynchronizationType result = com.google.ortools.bop.BopParameters.ThreadSynchronizationType.forNumber(synchronizationType_);
4661 }
4662
4667 public Builder setSynchronizationType(com.google.ortools.bop.BopParameters.ThreadSynchronizationType value) {
4668 if (value == null) { throw new NullPointerException(); }
4669 bitField0_ |= 0x10000000;
4670 synchronizationType_ = value.getNumber();
4671 onChanged();
4672 return this;
4673 }
4674
4678 public Builder clearSynchronizationType() {
4679 bitField0_ = (bitField0_ & ~0x10000000);
4680 synchronizationType_ = 0;
4681 onChanged();
4682 return this;
4683 }
4684
4685 private java.util.List<com.google.ortools.bop.BopSolverOptimizerSet> solverOptimizerSets_ =
4686 java.util.Collections.emptyList();
4687 private void ensureSolverOptimizerSetsIsMutable() {
4688 if (!((bitField0_ & 0x20000000) != 0)) {
4689 solverOptimizerSets_ = new java.util.ArrayList<com.google.ortools.bop.BopSolverOptimizerSet>(solverOptimizerSets_);
4690 bitField0_ |= 0x20000000;
4691 }
4692 }
4693
4694 private com.google.protobuf.RepeatedFieldBuilder<
4695 com.google.ortools.bop.BopSolverOptimizerSet, com.google.ortools.bop.BopSolverOptimizerSet.Builder, com.google.ortools.bop.BopSolverOptimizerSetOrBuilder> solverOptimizerSetsBuilder_;
4696
4707 public java.util.List<com.google.ortools.bop.BopSolverOptimizerSet> getSolverOptimizerSetsList() {
4708 if (solverOptimizerSetsBuilder_ == null) {
4709 return java.util.Collections.unmodifiableList(solverOptimizerSets_);
4710 } else {
4711 return solverOptimizerSetsBuilder_.getMessageList();
4712 }
4713 }
4714
4725 if (solverOptimizerSetsBuilder_ == null) {
4726 return solverOptimizerSets_.size();
4727 } else {
4728 return solverOptimizerSetsBuilder_.getCount();
4729 }
4730 }
4731
4742 if (solverOptimizerSetsBuilder_ == null) {
4743 return solverOptimizerSets_.get(index);
4744 } else {
4745 return solverOptimizerSetsBuilder_.getMessage(index);
4746 }
4747 }
4748
4759 int index, com.google.ortools.bop.BopSolverOptimizerSet value) {
4760 if (solverOptimizerSetsBuilder_ == null) {
4761 if (value == null) {
4762 throw new NullPointerException();
4763 }
4764 ensureSolverOptimizerSetsIsMutable();
4765 solverOptimizerSets_.set(index, value);
4766 onChanged();
4767 } else {
4768 solverOptimizerSetsBuilder_.setMessage(index, value);
4769 }
4770 return this;
4771 }
4772
4783 int index, com.google.ortools.bop.BopSolverOptimizerSet.Builder builderForValue) {
4784 if (solverOptimizerSetsBuilder_ == null) {
4785 ensureSolverOptimizerSetsIsMutable();
4786 solverOptimizerSets_.set(index, builderForValue.build());
4787 onChanged();
4788 } else {
4789 solverOptimizerSetsBuilder_.setMessage(index, builderForValue.build());
4790 }
4791 return this;
4792 }
4793
4803 public Builder addSolverOptimizerSets(com.google.ortools.bop.BopSolverOptimizerSet value) {
4804 if (solverOptimizerSetsBuilder_ == null) {
4805 if (value == null) {
4806 throw new NullPointerException();
4807 }
4808 ensureSolverOptimizerSetsIsMutable();
4809 solverOptimizerSets_.add(value);
4810 onChanged();
4811 } else {
4812 solverOptimizerSetsBuilder_.addMessage(value);
4813 }
4814 return this;
4815 }
4816
4827 int index, com.google.ortools.bop.BopSolverOptimizerSet value) {
4828 if (solverOptimizerSetsBuilder_ == null) {
4829 if (value == null) {
4830 throw new NullPointerException();
4831 }
4832 ensureSolverOptimizerSetsIsMutable();
4833 solverOptimizerSets_.add(index, value);
4834 onChanged();
4835 } else {
4836 solverOptimizerSetsBuilder_.addMessage(index, value);
4837 }
4838 return this;
4839 }
4840
4851 com.google.ortools.bop.BopSolverOptimizerSet.Builder builderForValue) {
4852 if (solverOptimizerSetsBuilder_ == null) {
4853 ensureSolverOptimizerSetsIsMutable();
4854 solverOptimizerSets_.add(builderForValue.build());
4855 onChanged();
4856 } else {
4857 solverOptimizerSetsBuilder_.addMessage(builderForValue.build());
4858 }
4859 return this;
4860 }
4861
4872 int index, com.google.ortools.bop.BopSolverOptimizerSet.Builder builderForValue) {
4873 if (solverOptimizerSetsBuilder_ == null) {
4874 ensureSolverOptimizerSetsIsMutable();
4875 solverOptimizerSets_.add(index, builderForValue.build());
4876 onChanged();
4877 } else {
4878 solverOptimizerSetsBuilder_.addMessage(index, builderForValue.build());
4879 }
4880 return this;
4881 }
4882
4893 java.lang.Iterable<? extends com.google.ortools.bop.BopSolverOptimizerSet> values) {
4894 if (solverOptimizerSetsBuilder_ == null) {
4895 ensureSolverOptimizerSetsIsMutable();
4896 com.google.protobuf.AbstractMessageLite.Builder.addAll(
4897 values, solverOptimizerSets_);
4898 onChanged();
4899 } else {
4900 solverOptimizerSetsBuilder_.addAllMessages(values);
4901 }
4902 return this;
4903 }
4904
4914 public Builder clearSolverOptimizerSets() {
4915 if (solverOptimizerSetsBuilder_ == null) {
4916 solverOptimizerSets_ = java.util.Collections.emptyList();
4917 bitField0_ = (bitField0_ & ~0x20000000);
4918 onChanged();
4919 } else {
4920 solverOptimizerSetsBuilder_.clear();
4921 }
4922 return this;
4923 }
4924
4934 public Builder removeSolverOptimizerSets(int index) {
4935 if (solverOptimizerSetsBuilder_ == null) {
4936 ensureSolverOptimizerSetsIsMutable();
4937 solverOptimizerSets_.remove(index);
4938 onChanged();
4939 } else {
4940 solverOptimizerSetsBuilder_.remove(index);
4941 }
4942 return this;
4943 }
4944
4955 int index) {
4956 return internalGetSolverOptimizerSetsFieldBuilder().getBuilder(index);
4957 }
4958
4969 int index) {
4970 if (solverOptimizerSetsBuilder_ == null) {
4971 return solverOptimizerSets_.get(index); } else {
4972 return solverOptimizerSetsBuilder_.getMessageOrBuilder(index);
4973 }
4974 }
4975
4985 public java.util.List<? extends com.google.ortools.bop.BopSolverOptimizerSetOrBuilder>
4987 if (solverOptimizerSetsBuilder_ != null) {
4988 return solverOptimizerSetsBuilder_.getMessageOrBuilderList();
4989 } else {
4990 return java.util.Collections.unmodifiableList(solverOptimizerSets_);
4991 }
4992 }
4993
5004 return internalGetSolverOptimizerSetsFieldBuilder().addBuilder(
5005 com.google.ortools.bop.BopSolverOptimizerSet.getDefaultInstance());
5006 }
5007
5018 int index) {
5019 return internalGetSolverOptimizerSetsFieldBuilder().addBuilder(
5020 index, com.google.ortools.bop.BopSolverOptimizerSet.getDefaultInstance());
5021 }
5022
5032 public java.util.List<com.google.ortools.bop.BopSolverOptimizerSet.Builder>
5034 return internalGetSolverOptimizerSetsFieldBuilder().getBuilderList();
5035 }
5036 private com.google.protobuf.RepeatedFieldBuilder<
5037 com.google.ortools.bop.BopSolverOptimizerSet, com.google.ortools.bop.BopSolverOptimizerSet.Builder, com.google.ortools.bop.BopSolverOptimizerSetOrBuilder>
5038 internalGetSolverOptimizerSetsFieldBuilder() {
5039 if (solverOptimizerSetsBuilder_ == null) {
5040 solverOptimizerSetsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
5041 com.google.ortools.bop.BopSolverOptimizerSet, com.google.ortools.bop.BopSolverOptimizerSet.Builder, com.google.ortools.bop.BopSolverOptimizerSetOrBuilder>(
5042 solverOptimizerSets_,
5043 ((bitField0_ & 0x20000000) != 0),
5044 getParentForChildren(),
5045 isClean());
5046 solverOptimizerSets_ = null;
5047 }
5048 return solverOptimizerSetsBuilder_;
5049 }
5050
5051 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 } ";
5057 return ((bitField0_ & 0x40000000) != 0);
5058 }
5059
5063 public java.lang.String getDefaultSolverOptimizerSets() {
5064 java.lang.Object ref = defaultSolverOptimizerSets_;
5065 if (!(ref instanceof java.lang.String)) {
5066 com.google.protobuf.ByteString bs =
5067 (com.google.protobuf.ByteString) ref;
5068 java.lang.String s = bs.toStringUtf8();
5069 if (bs.isValidUtf8()) {
5070 defaultSolverOptimizerSets_ = s;
5071 }
5072 return s;
5073 } else {
5074 return (java.lang.String) ref;
5075 }
5076 }
5077
5081 public com.google.protobuf.ByteString
5083 java.lang.Object ref = defaultSolverOptimizerSets_;
5084 if (ref instanceof String) {
5085 com.google.protobuf.ByteString b =
5086 com.google.protobuf.ByteString.copyFromUtf8(
5087 (java.lang.String) ref);
5088 defaultSolverOptimizerSets_ = b;
5089 return b;
5090 } else {
5091 return (com.google.protobuf.ByteString) ref;
5092 }
5093 }
5094
5100 java.lang.String value) {
5101 if (value == null) { throw new NullPointerException(); }
5102 defaultSolverOptimizerSets_ = value;
5103 bitField0_ |= 0x40000000;
5104 onChanged();
5105 return this;
5106 }
5107
5112 defaultSolverOptimizerSets_ = getDefaultInstance().getDefaultSolverOptimizerSets();
5113 bitField0_ = (bitField0_ & ~0x40000000);
5114 onChanged();
5115 return this;
5116 }
5117
5123 com.google.protobuf.ByteString value) {
5124 if (value == null) { throw new NullPointerException(); }
5125 defaultSolverOptimizerSets_ = value;
5126 bitField0_ |= 0x40000000;
5127 onChanged();
5128 return this;
5129 }
5130
5131 private boolean useLpStrongBranching_ ;
5148 @java.lang.Override
5149 public boolean hasUseLpStrongBranching() {
5150 return ((bitField0_ & 0x80000000) != 0);
5151 }
5152
5168 @java.lang.Override
5169 public boolean getUseLpStrongBranching() {
5170 return useLpStrongBranching_;
5171 }
5172
5189 public Builder setUseLpStrongBranching(boolean value) {
5190
5191 useLpStrongBranching_ = value;
5192 bitField0_ |= 0x80000000;
5193 onChanged();
5194 return this;
5195 }
5196
5212 public Builder clearUseLpStrongBranching() {
5213 bitField0_ = (bitField0_ & ~0x80000000);
5214 useLpStrongBranching_ = false;
5215 onChanged();
5216 return this;
5217 }
5218
5219 private int decomposerNumVariablesThreshold_ = 50;
5229 @java.lang.Override
5231 return ((bitField1_ & 0x00000001) != 0);
5232 }
5233
5242 @java.lang.Override
5244 return decomposerNumVariablesThreshold_;
5245 }
5246
5256 public Builder setDecomposerNumVariablesThreshold(int value) {
5257
5258 decomposerNumVariablesThreshold_ = value;
5259 bitField1_ |= 0x00000001;
5260 onChanged();
5261 return this;
5262 }
5263
5273 bitField1_ = (bitField1_ & ~0x00000001);
5274 decomposerNumVariablesThreshold_ = 50;
5275 onChanged();
5276 return this;
5277 }
5278
5279 private int numBopSolversUsedByDecomposition_ = 1;
5290 @java.lang.Override
5292 return ((bitField1_ & 0x00000002) != 0);
5293 }
5294
5304 @java.lang.Override
5306 return numBopSolversUsedByDecomposition_;
5307 }
5308
5319 public Builder setNumBopSolversUsedByDecomposition(int value) {
5320
5321 numBopSolversUsedByDecomposition_ = value;
5322 bitField1_ |= 0x00000002;
5323 onChanged();
5324 return this;
5325 }
5326
5337 bitField1_ = (bitField1_ & ~0x00000002);
5338 numBopSolversUsedByDecomposition_ = 1;
5339 onChanged();
5340 return this;
5341 }
5342
5343 private double decomposedProblemMinTimeInSeconds_ ;
5355 @java.lang.Override
5357 return ((bitField1_ & 0x00000004) != 0);
5358 }
5359
5370 @java.lang.Override
5372 return decomposedProblemMinTimeInSeconds_;
5373 }
5374
5386 public Builder setDecomposedProblemMinTimeInSeconds(double value) {
5387
5388 decomposedProblemMinTimeInSeconds_ = value;
5389 bitField1_ |= 0x00000004;
5390 onChanged();
5391 return this;
5392 }
5393
5405 bitField1_ = (bitField1_ & ~0x00000004);
5406 decomposedProblemMinTimeInSeconds_ = 0D;
5407 onChanged();
5408 return this;
5409 }
5410
5411 private int guidedSatConflictsChunk_ = 1000;
5422 @java.lang.Override
5424 return ((bitField1_ & 0x00000008) != 0);
5425 }
5426
5436 @java.lang.Override
5438 return guidedSatConflictsChunk_;
5439 }
5440
5451 public Builder setGuidedSatConflictsChunk(int value) {
5452
5453 guidedSatConflictsChunk_ = value;
5454 bitField1_ |= 0x00000008;
5455 onChanged();
5456 return this;
5457 }
5458
5469 bitField1_ = (bitField1_ & ~0x00000008);
5470 guidedSatConflictsChunk_ = 1000;
5471 onChanged();
5472 return this;
5473 }
5474
5475 private int maxLpSolveForFeasibilityProblems_ ;
5487 @java.lang.Override
5489 return ((bitField1_ & 0x00000010) != 0);
5490 }
5491
5502 @java.lang.Override
5504 return maxLpSolveForFeasibilityProblems_;
5505 }
5506
5518 public Builder setMaxLpSolveForFeasibilityProblems(int value) {
5519
5520 maxLpSolveForFeasibilityProblems_ = value;
5521 bitField1_ |= 0x00000010;
5522 onChanged();
5523 return this;
5524 }
5525
5537 bitField1_ = (bitField1_ & ~0x00000010);
5538 maxLpSolveForFeasibilityProblems_ = 0;
5539 onChanged();
5540 return this;
5541 }
5542
5543 // @@protoc_insertion_point(builder_scope:operations_research.bop.BopParameters)
5544 }
5545
5546 // @@protoc_insertion_point(class_scope:operations_research.bop.BopParameters)
5547 private static final com.google.ortools.bop.BopParameters DEFAULT_INSTANCE;
5548 static {
5549 DEFAULT_INSTANCE = new com.google.ortools.bop.BopParameters();
5550 }
5551
5553 return DEFAULT_INSTANCE;
5554 }
5555
5556 private static final com.google.protobuf.Parser<BopParameters>
5557 PARSER = new com.google.protobuf.AbstractParser<BopParameters>() {
5558 @java.lang.Override
5559 public BopParameters parsePartialFrom(
5560 com.google.protobuf.CodedInputStream input,
5561 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5562 throws com.google.protobuf.InvalidProtocolBufferException {
5563 Builder builder = newBuilder();
5564 try {
5565 builder.mergeFrom(input, extensionRegistry);
5566 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5567 throw e.setUnfinishedMessage(builder.buildPartial());
5568 } catch (com.google.protobuf.UninitializedMessageException e) {
5569 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
5570 } catch (java.io.IOException e) {
5571 throw new com.google.protobuf.InvalidProtocolBufferException(e)
5572 .setUnfinishedMessage(builder.buildPartial());
5573 }
5574 return builder.buildPartial();
5575 }
5576 };
5577
5578 public static com.google.protobuf.Parser<BopParameters> parser() {
5579 return PARSER;
5580 }
5581
5582 @java.lang.Override
5583 public com.google.protobuf.Parser<BopParameters> getParserForType() {
5584 return PARSER;
5585 }
5586
5587 @java.lang.Override
5589 return DEFAULT_INSTANCE;
5590 }
5591
5592}
5593
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 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)