Java Reference

Java Reference

SatParameters.java
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// source: ortools/sat/sat_parameters.proto
3
4package com.google.ortools.sat;
5
15public final class SatParameters extends
16 com.google.protobuf.GeneratedMessageV3 implements
17 // @@protoc_insertion_point(message_implements:operations_research.sat.SatParameters)
19private static final long serialVersionUID = 0L;
20 // Use SatParameters.newBuilder() to construct.
21 private SatParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
22 super(builder);
23 }
24 private SatParameters() {
25 name_ = "";
26 preferredVariableOrder_ = 0;
27 initialPolarity_ = 1;
28 usePhaseSaving_ = true;
29 polarityRephaseIncrement_ = 1000;
30 minimizationAlgorithm_ = 2;
31 binaryMinimizationAlgorithm_ = 1;
32 subsumptionDuringConflictAnalysis_ = true;
33 clauseCleanupPeriod_ = 10000;
34 clauseCleanupRatio_ = 0.5D;
35 clauseCleanupProtection_ = 0;
36 clauseCleanupLbdBound_ = 5;
37 clauseCleanupOrdering_ = 0;
38 pbCleanupIncrement_ = 200;
39 pbCleanupRatio_ = 0.5D;
40 minimizeWithPropagationRestartPeriod_ = 10;
41 minimizeWithPropagationNumDecisions_ = 1000;
42 variableActivityDecay_ = 0.8D;
43 maxVariableActivityValue_ = 1e+100D;
44 glucoseMaxDecay_ = 0.95D;
45 glucoseDecayIncrement_ = 0.01D;
46 glucoseDecayIncrementPeriod_ = 5000;
47 clauseActivityDecay_ = 0.999D;
48 maxClauseActivityValue_ = 1e+20D;
49 restartAlgorithms_ = java.util.Collections.emptyList();
50 defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
51 restartPeriod_ = 50;
52 restartRunningWindowSize_ = 50;
53 restartDlAverageRatio_ = 1D;
54 restartLbdAverageRatio_ = 1D;
55 blockingRestartWindowSize_ = 5000;
56 blockingRestartMultiplier_ = 1.4D;
57 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
58 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
59 maxNumberOfConflicts_ = 9223372036854775807L;
60 maxMemoryInMb_ = 10000L;
61 treatBinaryClausesSeparately_ = true;
62 randomSeed_ = 1;
63 logSubsolverStatistics_ = true;
64 logPrefix_ = "";
65 logToStdout_ = true;
66 countAssumptionLevelsInLbd_ = true;
67 presolveBveThreshold_ = 500;
68 presolveBveClauseWeight_ = 3;
69 presolveProbingDeterministicTimeLimit_ = 30D;
70 presolveBlockedClause_ = true;
71 presolveUseBva_ = true;
72 presolveBvaThreshold_ = 1;
73 maxPresolveIterations_ = 3;
74 cpModelPresolve_ = true;
75 cpModelProbingLevel_ = 2;
76 cpModelUseSatPresolve_ = true;
77 expandElementConstraints_ = true;
78 expandAutomatonConstraints_ = true;
79 expandTableConstraints_ = true;
80 expandReservoirConstraints_ = true;
81 mergeNoOverlapWorkLimit_ = 1000000000000D;
82 mergeAtMostOneWorkLimit_ = 100000000D;
83 presolveSubstitutionLevel_ = 1;
84 useOptimizationHints_ = true;
85 minimizeCore_ = true;
86 findMultipleCores_ = true;
87 coverOptimization_ = true;
88 maxSatAssumptionOrder_ = 0;
89 maxSatStratification_ = 1;
90 usePrecedencesInDisjunctiveConstraint_ = true;
91 useDisjunctiveConstraintInCumulativeConstraint_ = true;
92 linearizationLevel_ = 1;
93 booleanEncodingLevel_ = 1;
94 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
95 maxNumCuts_ = 10000;
96 addCgCuts_ = true;
97 addMirCuts_ = true;
98 addZeroHalfCuts_ = true;
99 addCliqueCuts_ = true;
100 maxAllDiffCutSize_ = 7;
101 addLinMaxCuts_ = true;
102 maxIntegerRoundingScaling_ = 600;
103 addLpConstraintsLazily_ = true;
104 minOrthogonalityForLpConstraints_ = 0.05D;
105 maxCutRoundsAtLevelZero_ = 1;
106 maxConsecutiveInactiveCount_ = 100;
107 cutMaxActiveCountValue_ = 10000000000D;
108 cutActiveCountDecay_ = 0.8D;
109 cutCleanupTarget_ = 1000;
110 newConstraintsBatchSize_ = 50;
111 searchBranching_ = 0;
112 hintConflictLimit_ = 10;
113 exploitIntegerLpSolution_ = true;
114 exploitAllLpSolution_ = true;
115 exploitObjective_ = true;
116 pseudoCostReliabilityThreshold_ = 100L;
117 binarySearchNumConflicts_ = -1;
118 instantiateAllVariables_ = true;
119 autoDetectGreaterThanAtLeastOneOf_ = true;
120 interleaveBatchSize_ = 1;
121 shareObjectiveBounds_ = true;
122 shareLevelZeroBounds_ = true;
123 lnsExpandIntervalsInConstraintGraph_ = true;
124 solutionPoolSize_ = 3;
125 useRinsLns_ = true;
126 useFeasibilityPump_ = true;
127 fpRounding_ = 2;
128 useOptionalVariables_ = true;
129 useExactLpReason_ = true;
130 catchSigintSignal_ = true;
131 useImpliedBounds_ = true;
132 convertIntervals_ = true;
133 symmetryLevel_ = 2;
134 mipMaxBound_ = 10000000D;
135 mipVarScaling_ = 1D;
136 mipAutomaticallyScaleVariables_ = true;
137 mipWantedPrecision_ = 1e-06D;
138 mipMaxActivityExponent_ = 53;
139 mipCheckPrecision_ = 0.0001D;
140 }
141
142 @java.lang.Override
143 @SuppressWarnings({"unused"})
144 protected java.lang.Object newInstance(
145 UnusedPrivateParameter unused) {
146 return new SatParameters();
147 }
148
149 @java.lang.Override
150 public final com.google.protobuf.UnknownFieldSet
152 return this.unknownFields;
153 }
154 private SatParameters(
155 com.google.protobuf.CodedInputStream input,
156 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
157 throws com.google.protobuf.InvalidProtocolBufferException {
158 this();
159 if (extensionRegistry == null) {
160 throw new java.lang.NullPointerException();
161 }
162 int mutable_bitField0_ = 0;
163 int mutable_bitField1_ = 0;
164 int mutable_bitField2_ = 0;
165 int mutable_bitField3_ = 0;
166 int mutable_bitField4_ = 0;
167 int mutable_bitField5_ = 0;
168 com.google.protobuf.UnknownFieldSet.Builder unknownFields =
169 com.google.protobuf.UnknownFieldSet.newBuilder();
170 try {
171 boolean done = false;
172 while (!done) {
173 int tag = input.readTag();
174 switch (tag) {
175 case 0:
176 done = true;
177 break;
178 case 8: {
179 int rawValue = input.readEnum();
180 @SuppressWarnings("deprecation")
181 com.google.ortools.sat.SatParameters.VariableOrder value = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(rawValue);
182 if (value == null) {
183 unknownFields.mergeVarintField(1, rawValue);
184 } else {
185 bitField0_ |= 0x00000002;
186 preferredVariableOrder_ = rawValue;
187 }
188 break;
189 }
190 case 16: {
191 int rawValue = input.readEnum();
192 @SuppressWarnings("deprecation")
193 com.google.ortools.sat.SatParameters.Polarity value = com.google.ortools.sat.SatParameters.Polarity.valueOf(rawValue);
194 if (value == null) {
195 unknownFields.mergeVarintField(2, rawValue);
196 } else {
197 bitField0_ |= 0x00000004;
198 initialPolarity_ = rawValue;
199 }
200 break;
201 }
202 case 32: {
203 int rawValue = input.readEnum();
204 @SuppressWarnings("deprecation")
205 com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(rawValue);
206 if (value == null) {
207 unknownFields.mergeVarintField(4, rawValue);
208 } else {
209 bitField0_ |= 0x00000400;
210 minimizationAlgorithm_ = rawValue;
211 }
212 break;
213 }
214 case 88: {
215 bitField0_ |= 0x00002000;
216 clauseCleanupPeriod_ = input.readInt32();
217 break;
218 }
219 case 104: {
220 bitField0_ |= 0x00004000;
221 clauseCleanupTarget_ = input.readInt32();
222 break;
223 }
224 case 121: {
225 bitField0_ |= 0x00800000;
226 variableActivityDecay_ = input.readDouble();
227 break;
228 }
229 case 129: {
230 bitField0_ |= 0x01000000;
231 maxVariableActivityValue_ = input.readDouble();
232 break;
233 }
234 case 137: {
235 bitField0_ |= 0x10000000;
236 clauseActivityDecay_ = input.readDouble();
237 break;
238 }
239 case 145: {
240 bitField0_ |= 0x20000000;
241 maxClauseActivityValue_ = input.readDouble();
242 break;
243 }
244 case 177: {
245 bitField0_ |= 0x02000000;
246 glucoseMaxDecay_ = input.readDouble();
247 break;
248 }
249 case 185: {
250 bitField0_ |= 0x04000000;
251 glucoseDecayIncrement_ = input.readDouble();
252 break;
253 }
254 case 192: {
255 bitField0_ |= 0x08000000;
256 glucoseDecayIncrementPeriod_ = input.readInt32();
257 break;
258 }
259 case 240: {
260 bitField0_ |= 0x80000000;
261 restartPeriod_ = input.readInt32();
262 break;
263 }
264 case 248: {
265 bitField1_ |= 0x00008000;
266 randomSeed_ = input.readInt32();
267 break;
268 }
269 case 257: {
270 bitField0_ |= 0x00000040;
271 randomBranchesRatio_ = input.readDouble();
272 break;
273 }
274 case 264: {
275 bitField1_ |= 0x00004000;
276 treatBinaryClausesSeparately_ = input.readBool();
277 break;
278 }
279 case 272: {
280 int rawValue = input.readEnum();
281 @SuppressWarnings("deprecation")
282 com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(rawValue);
283 if (value == null) {
284 unknownFields.mergeVarintField(34, rawValue);
285 } else {
286 bitField0_ |= 0x00000800;
287 binaryMinimizationAlgorithm_ = rawValue;
288 }
289 break;
290 }
291 case 280: {
292 bitField2_ |= 0x00040000;
293 useOptimizationHints_ = input.readBool();
294 break;
295 }
296 case 289: {
297 bitField1_ |= 0x00000100;
298 maxTimeInSeconds_ = input.readDouble();
299 break;
300 }
301 case 296: {
302 bitField1_ |= 0x00000400;
303 maxNumberOfConflicts_ = input.readInt64();
304 break;
305 }
306 case 320: {
307 bitField1_ |= 0x00000800;
308 maxMemoryInMb_ = input.readInt64();
309 break;
310 }
311 case 328: {
312 bitField1_ |= 0x00080000;
313 logSearchProgress_ = input.readBool();
314 break;
315 }
316 case 344: {
317 bitField1_ |= 0x01000000;
318 usePbResolution_ = input.readBool();
319 break;
320 }
321 case 352: {
322 bitField0_ |= 0x00000008;
323 usePhaseSaving_ = input.readBool();
324 break;
325 }
326 case 361: {
327 bitField0_ |= 0x00000020;
328 randomPolarityRatio_ = input.readDouble();
329 break;
330 }
331 case 368: {
332 bitField0_ |= 0x00080000;
333 pbCleanupIncrement_ = input.readInt32();
334 break;
335 }
336 case 377: {
337 bitField0_ |= 0x00100000;
338 pbCleanupRatio_ = input.readDouble();
339 break;
340 }
341 case 384: {
342 bitField1_ |= 0x02000000;
343 minimizeReductionDuringPbResolution_ = input.readBool();
344 break;
345 }
346 case 392: {
347 bitField1_ |= 0x04000000;
348 countAssumptionLevelsInLbd_ = input.readBool();
349 break;
350 }
351 case 400: {
352 bitField2_ |= 0x00080000;
353 minimizeCore_ = input.readBool();
354 break;
355 }
356 case 408: {
357 int rawValue = input.readEnum();
358 @SuppressWarnings("deprecation")
359 com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(rawValue);
360 if (value == null) {
361 unknownFields.mergeVarintField(51, rawValue);
362 } else {
363 bitField2_ |= 0x00400000;
364 maxSatAssumptionOrder_ = rawValue;
365 }
366 break;
367 }
368 case 416: {
369 bitField2_ |= 0x00800000;
370 maxSatReverseAssumptionOrder_ = input.readBool();
371 break;
372 }
373 case 424: {
374 int rawValue = input.readEnum();
375 @SuppressWarnings("deprecation")
376 com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(rawValue);
377 if (value == null) {
378 unknownFields.mergeVarintField(53, rawValue);
379 } else {
380 bitField2_ |= 0x01000000;
381 maxSatStratification_ = rawValue;
382 }
383 break;
384 }
385 case 432: {
386 bitField1_ |= 0x08000000;
387 presolveBveThreshold_ = input.readInt32();
388 break;
389 }
390 case 440: {
391 bitField1_ |= 0x10000000;
392 presolveBveClauseWeight_ = input.readInt32();
393 break;
394 }
395 case 448: {
396 bitField0_ |= 0x00001000;
397 subsumptionDuringConflictAnalysis_ = input.readBool();
398 break;
399 }
400 case 457: {
401 bitField1_ |= 0x20000000;
402 presolveProbingDeterministicTimeLimit_ = input.readDouble();
403 break;
404 }
405 case 464: {
406 int rawValue = input.readEnum();
407 @SuppressWarnings("deprecation")
408 com.google.ortools.sat.SatParameters.ClauseProtection value = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(rawValue);
409 if (value == null) {
410 unknownFields.mergeVarintField(58, rawValue);
411 } else {
412 bitField0_ |= 0x00010000;
413 clauseCleanupProtection_ = rawValue;
414 }
415 break;
416 }
417 case 472: {
418 bitField0_ |= 0x00020000;
419 clauseCleanupLbdBound_ = input.readInt32();
420 break;
421 }
422 case 480: {
423 int rawValue = input.readEnum();
424 @SuppressWarnings("deprecation")
425 com.google.ortools.sat.SatParameters.ClauseOrdering value = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(rawValue);
426 if (value == null) {
427 unknownFields.mergeVarintField(60, rawValue);
428 } else {
429 bitField0_ |= 0x00040000;
430 clauseCleanupOrdering_ = rawValue;
431 }
432 break;
433 }
434 case 488: {
435 int rawValue = input.readEnum();
436 @SuppressWarnings("deprecation")
437 com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
438 if (value == null) {
439 unknownFields.mergeVarintField(61, rawValue);
440 } else {
441 if (!((mutable_bitField0_ & 0x40000000) != 0)) {
442 restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
443 mutable_bitField0_ |= 0x40000000;
444 }
445 restartAlgorithms_.add(rawValue);
446 }
447 break;
448 }
449 case 490: {
450 int length = input.readRawVarint32();
451 int oldLimit = input.pushLimit(length);
452 while(input.getBytesUntilLimit() > 0) {
453 int rawValue = input.readEnum();
454 @SuppressWarnings("deprecation")
455 com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
456 if (value == null) {
457 unknownFields.mergeVarintField(61, rawValue);
458 } else {
459 if (!((mutable_bitField0_ & 0x40000000) != 0)) {
460 restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
461 mutable_bitField0_ |= 0x40000000;
462 }
463 restartAlgorithms_.add(rawValue);
464 }
465 }
466 input.popLimit(oldLimit);
467 break;
468 }
469 case 496: {
470 bitField1_ |= 0x00000001;
471 restartRunningWindowSize_ = input.readInt32();
472 break;
473 }
474 case 505: {
475 bitField1_ |= 0x00000002;
476 restartDlAverageRatio_ = input.readDouble();
477 break;
478 }
479 case 512: {
480 bitField1_ |= 0x00000008;
481 useBlockingRestart_ = input.readBool();
482 break;
483 }
484 case 520: {
485 bitField1_ |= 0x00000010;
486 blockingRestartWindowSize_ = input.readInt32();
487 break;
488 }
489 case 529: {
490 bitField1_ |= 0x00000020;
491 blockingRestartMultiplier_ = input.readDouble();
492 break;
493 }
494 case 537: {
495 bitField1_ |= 0x00000200;
496 maxDeterministicTime_ = input.readDouble();
497 break;
498 }
499 case 544: {
500 bitField1_ |= 0x00000040;
501 numConflictsBeforeStrategyChanges_ = input.readInt32();
502 break;
503 }
504 case 553: {
505 bitField1_ |= 0x00000080;
506 strategyChangeIncreaseRatio_ = input.readDouble();
507 break;
508 }
509 case 562: {
510 com.google.protobuf.ByteString bs = input.readBytes();
511 bitField0_ |= 0x40000000;
512 defaultRestartAlgorithms_ = bs;
513 break;
514 }
515 case 569: {
516 bitField1_ |= 0x00000004;
517 restartLbdAverageRatio_ = input.readDouble();
518 break;
519 }
520 case 576: {
521 bitField1_ |= 0x80000000;
522 presolveUseBva_ = input.readBool();
523 break;
524 }
525 case 584: {
526 bitField2_ |= 0x00000001;
527 presolveBvaThreshold_ = input.readInt32();
528 break;
529 }
530 case 592: {
531 bitField2_ |= 0x02000000;
532 usePrecedencesInDisjunctiveConstraint_ = input.readBool();
533 break;
534 }
535 case 600: {
536 bitField0_ |= 0x00000080;
537 useErwaHeuristic_ = input.readBool();
538 break;
539 }
540 case 609: {
541 bitField0_ |= 0x00000100;
542 initialVariablesActivity_ = input.readDouble();
543 break;
544 }
545 case 616: {
546 bitField0_ |= 0x00000200;
547 alsoBumpVariablesInConflictReasons_ = input.readBool();
548 break;
549 }
550 case 624: {
551 bitField2_ |= 0x04000000;
552 useOverloadCheckerInCumulativeConstraint_ = input.readBool();
553 break;
554 }
555 case 632: {
556 bitField2_ |= 0x08000000;
557 useTimetableEdgeFindingInCumulativeConstraint_ = input.readBool();
558 break;
559 }
560 case 640: {
561 bitField2_ |= 0x10000000;
562 useDisjunctiveConstraintInCumulativeConstraint_ = input.readBool();
563 break;
564 }
565 case 656: {
566 int rawValue = input.readEnum();
567 @SuppressWarnings("deprecation")
568 com.google.ortools.sat.SatParameters.SearchBranching value = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(rawValue);
569 if (value == null) {
570 unknownFields.mergeVarintField(82, rawValue);
571 } else {
572 bitField3_ |= 0x00040000;
573 searchBranching_ = rawValue;
574 }
575 break;
576 }
577 case 664: {
578 bitField3_ |= 0x40000000;
579 optimizeWithCore_ = input.readBool();
580 break;
581 }
582 case 672: {
583 bitField2_ |= 0x00100000;
584 findMultipleCores_ = input.readBool();
585 break;
586 }
587 case 680: {
588 bitField4_ |= 0x00000002;
589 optimizeWithMaxHs_ = input.readBool();
590 break;
591 }
592 case 688: {
593 bitField2_ |= 0x00000004;
594 cpModelPresolve_ = input.readBool();
595 break;
596 }
597 case 696: {
598 bitField4_ |= 0x00000004;
599 enumerateAllSolutions_ = input.readBool();
600 break;
601 }
602 case 704: {
603 bitField1_ |= 0x40000000;
604 presolveBlockedClause_ = input.readBool();
605 break;
606 }
607 case 712: {
608 bitField2_ |= 0x00200000;
609 coverOptimization_ = input.readBool();
610 break;
611 }
612 case 720: {
613 bitField2_ |= 0x20000000;
614 linearizationLevel_ = input.readInt32();
615 break;
616 }
617 case 728: {
618 bitField3_ |= 0x00000001;
619 maxNumCuts_ = input.readInt32();
620 break;
621 }
622 case 736: {
623 bitField3_ |= 0x00000002;
624 onlyAddCutsAtLevelZero_ = input.readBool();
625 break;
626 }
627 case 744: {
628 bitField2_ |= 0x00000040;
629 cpModelUseSatPresolve_ = input.readBool();
630 break;
631 }
632 case 752: {
633 bitField3_ |= 0x00400000;
634 exploitIntegerLpSolution_ = input.readBool();
635 break;
636 }
637 case 760: {
638 bitField4_ |= 0x00000040;
639 autoDetectGreaterThanAtLeastOneOf_ = input.readBool();
640 break;
641 }
642 case 768: {
643 bitField0_ |= 0x00200000;
644 minimizeWithPropagationRestartPeriod_ = input.readInt32();
645 break;
646 }
647 case 776: {
648 bitField0_ |= 0x00400000;
649 minimizeWithPropagationNumDecisions_ = input.readInt32();
650 break;
651 }
652 case 784: {
653 bitField4_ |= 0x00000080;
654 stopAfterFirstSolution_ = input.readBool();
655 break;
656 }
657 case 792: {
658 bitField4_ |= 0x00000001;
659 binarySearchNumConflicts_ = input.readInt32();
660 break;
661 }
662 case 800: {
663 bitField4_ |= 0x00000200;
664 numSearchWorkers_ = input.readInt32();
665 break;
666 }
667 case 808: {
668 bitField4_ |= 0x00008000;
669 useLnsOnly_ = input.readBool();
670 break;
671 }
672 case 824: {
673 bitField4_ |= 0x01000000;
674 randomizeSearch_ = input.readBool();
675 break;
676 }
677 case 832: {
678 bitField4_ |= 0x02000000;
679 searchRandomizationTolerance_ = input.readInt64();
680 break;
681 }
682 case 840: {
683 bitField4_ |= 0x00010000;
684 lnsFocusOnDecisionVariables_ = input.readBool();
685 break;
686 }
687 case 848: {
688 bitField4_ |= 0x00000020;
689 instantiateAllVariables_ = input.readBool();
690 break;
691 }
692 case 856: {
693 bitField2_ |= 0x40000000;
694 booleanEncodingLevel_ = input.readInt32();
695 break;
696 }
697 case 864: {
698 bitField4_ |= 0x04000000;
699 useOptionalVariables_ = input.readBool();
700 break;
701 }
702 case 872: {
703 bitField4_ |= 0x08000000;
704 useExactLpReason_ = input.readBool();
705 break;
706 }
707 case 880: {
708 bitField2_ |= 0x00000020;
709 cpModelProbingLevel_ = input.readInt32();
710 break;
711 }
712 case 888: {
713 bitField3_ |= 0x00000004;
714 addKnapsackCuts_ = input.readBool();
715 break;
716 }
717 case 896: {
718 bitField3_ |= 0x00000400;
719 addLpConstraintsLazily_ = input.readBool();
720 break;
721 }
722 case 904: {
723 bitField4_ |= 0x00002000;
724 shareObjectiveBounds_ = input.readBool();
725 break;
726 }
727 case 912: {
728 bitField4_ |= 0x00004000;
729 shareLevelZeroBounds_ = input.readBool();
730 break;
731 }
732 case 921: {
733 bitField3_ |= 0x00000800;
734 minOrthogonalityForLpConstraints_ = input.readDouble();
735 break;
736 }
737 case 928: {
738 bitField3_ |= 0x00800000;
739 exploitAllLpSolution_ = input.readBool();
740 break;
741 }
742 case 936: {
743 bitField3_ |= 0x00000008;
744 addCgCuts_ = input.readBool();
745 break;
746 }
747 case 952: {
748 bitField3_ |= 0x00000200;
749 maxIntegerRoundingScaling_ = input.readInt32();
750 break;
751 }
752 case 960: {
753 bitField3_ |= 0x00000010;
754 addMirCuts_ = input.readBool();
755 break;
756 }
757 case 968: {
758 bitField3_ |= 0x00002000;
759 maxConsecutiveInactiveCount_ = input.readInt32();
760 break;
761 }
762 case 976: {
763 bitField3_ |= 0x00020000;
764 newConstraintsBatchSize_ = input.readInt32();
765 break;
766 }
767 case 984: {
768 bitField3_ |= 0x20000000;
769 pseudoCostReliabilityThreshold_ = input.readInt64();
770 break;
771 }
772 case 993: {
773 bitField5_ |= 0x00000008;
774 mipMaxBound_ = input.readDouble();
775 break;
776 }
777 case 1001: {
778 bitField5_ |= 0x00000010;
779 mipVarScaling_ = input.readDouble();
780 break;
781 }
782 case 1009: {
783 bitField5_ |= 0x00000040;
784 mipWantedPrecision_ = input.readDouble();
785 break;
786 }
787 case 1016: {
788 bitField5_ |= 0x00000080;
789 mipMaxActivityExponent_ = input.readInt32();
790 break;
791 }
792 case 1025: {
793 bitField5_ |= 0x00000100;
794 mipCheckPrecision_ = input.readDouble();
795 break;
796 }
797 case 1032: {
798 bitField4_ |= 0x00080000;
799 useRinsLns_ = input.readBool();
800 break;
801 }
802 case 1040: {
803 bitField3_ |= 0x01000000;
804 exploitBestSolution_ = input.readBool();
805 break;
806 }
807 case 1048: {
808 bitField3_ |= 0x04000000;
809 exploitObjective_ = input.readBool();
810 break;
811 }
812 case 1056: {
813 bitField4_ |= 0x00000010;
814 fillTightenedDomainsInResponse_ = input.readBool();
815 break;
816 }
817 case 1064: {
818 bitField4_ |= 0x20000000;
819 useCombinedNoOverlap_ = input.readBool();
820 break;
821 }
822 case 1072: {
823 bitField4_ |= 0x00000800;
824 interleaveBatchSize_ = input.readInt32();
825 break;
826 }
827 case 1080: {
828 bitField4_ |= 0x40000000;
829 catchSigintSignal_ = input.readBool();
830 break;
831 }
832 case 1088: {
833 bitField4_ |= 0x00000400;
834 interleaveSearch_ = input.readBool();
835 break;
836 }
837 case 1096: {
838 bitField4_ |= 0x00800000;
839 diversifyLnsParams_ = input.readBool();
840 break;
841 }
842 case 1104: {
843 bitField2_ |= 0x00000002;
844 maxPresolveIterations_ = input.readInt32();
845 break;
846 }
847 case 1112: {
848 bitField4_ |= 0x10000000;
849 useBranchingInLp_ = input.readBool();
850 break;
851 }
852 case 1120: {
853 bitField2_ |= 0x00000100;
854 expandElementConstraints_ = input.readBool();
855 break;
856 }
857 case 1128: {
858 bitField4_ |= 0x00001000;
859 reduceMemoryUsageInInterleaveMode_ = input.readBool();
860 break;
861 }
862 case 1136: {
863 bitField3_ |= 0x08000000;
864 probingPeriodAtRoot_ = input.readInt64();
865 break;
866 }
867 case 1144: {
868 bitField2_ |= 0x00000200;
869 expandAutomatonConstraints_ = input.readBool();
870 break;
871 }
872 case 1152: {
873 bitField4_ |= 0x80000000;
874 useImpliedBounds_ = input.readBool();
875 break;
876 }
877 case 1161: {
878 bitField2_ |= 0x00004000;
879 mergeNoOverlapWorkLimit_ = input.readDouble();
880 break;
881 }
882 case 1169: {
883 bitField2_ |= 0x00008000;
884 mergeAtMostOneWorkLimit_ = input.readDouble();
885 break;
886 }
887 case 1176: {
888 bitField2_ |= 0x00010000;
889 presolveSubstitutionLevel_ = input.readInt32();
890 break;
891 }
892 case 1184: {
893 bitField3_ |= 0x00000080;
894 maxAllDiffCutSize_ = input.readInt32();
895 break;
896 }
897 case 1192: {
898 bitField4_ |= 0x00000100;
899 stopAfterPresolve_ = input.readBool();
900 break;
901 }
902 case 1200: {
903 bitField4_ |= 0x00400000;
904 useRelaxationLns_ = input.readBool();
905 break;
906 }
907 case 1208: {
908 bitField2_ |= 0x00000010;
909 cpModelMaxNumPresolveOperations_ = input.readInt32();
910 break;
911 }
912 case 1216: {
913 bitField3_ |= 0x00000100;
914 addLinMaxCuts_ = input.readBool();
915 break;
916 }
917 case 1224: {
918 bitField3_ |= 0x00080000;
919 hintConflictLimit_ = input.readInt32();
920 break;
921 }
922 case 1232: {
923 bitField3_ |= 0x00001000;
924 maxCutRoundsAtLevelZero_ = input.readInt32();
925 break;
926 }
927 case 1241: {
928 bitField3_ |= 0x00004000;
929 cutMaxActiveCountValue_ = input.readDouble();
930 break;
931 }
932 case 1249: {
933 bitField3_ |= 0x00008000;
934 cutActiveCountDecay_ = input.readDouble();
935 break;
936 }
937 case 1256: {
938 bitField3_ |= 0x00010000;
939 cutCleanupTarget_ = input.readInt32();
940 break;
941 }
942 case 1264: {
943 bitField2_ |= 0x00000400;
944 expandTableConstraints_ = input.readBool();
945 break;
946 }
947 case 1273: {
948 bitField1_ |= 0x00001000;
949 absoluteGapLimit_ = input.readDouble();
950 break;
951 }
952 case 1281: {
953 bitField1_ |= 0x00002000;
954 relativeGapLimit_ = input.readDouble();
955 break;
956 }
957 case 1288: {
958 bitField3_ |= 0x02000000;
959 exploitRelaxationSolution_ = input.readBool();
960 break;
961 }
962 case 1296: {
963 bitField2_ |= 0x00000008;
964 cpModelPostsolveWithFullSolver_ = input.readBool();
965 break;
966 }
967 case 1304: {
968 bitField2_ |= 0x00000080;
969 useSatInprocessing_ = input.readBool();
970 break;
971 }
972 case 1312: {
973 bitField4_ |= 0x00100000;
974 useFeasibilityPump_ = input.readBool();
975 break;
976 }
977 case 1320: {
978 int rawValue = input.readEnum();
979 @SuppressWarnings("deprecation")
980 com.google.ortools.sat.SatParameters.FPRoundingMethod value = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(rawValue);
981 if (value == null) {
982 unknownFields.mergeVarintField(165, rawValue);
983 } else {
984 bitField4_ |= 0x00200000;
985 fpRounding_ = rawValue;
986 }
987 break;
988 }
989 case 1328: {
990 bitField5_ |= 0x00000020;
991 mipAutomaticallyScaleVariables_ = input.readBool();
992 break;
993 }
994 case 1336: {
995 bitField3_ |= 0x00100000;
996 repairHint_ = input.readBool();
997 break;
998 }
999 case 1344: {
1000 bitField0_ |= 0x00000010;
1001 polarityRephaseIncrement_ = input.readInt32();
1002 break;
1003 }
1004 case 1352: {
1005 bitField3_ |= 0x00000020;
1006 addZeroHalfCuts_ = input.readBool();
1007 break;
1008 }
1009 case 1360: {
1010 bitField2_ |= 0x00000800;
1011 expandAlldiffConstraints_ = input.readBool();
1012 break;
1013 }
1014 case 1370: {
1015 com.google.protobuf.ByteString bs = input.readBytes();
1016 bitField0_ |= 0x00000001;
1017 name_ = bs;
1018 break;
1019 }
1020 case 1376: {
1021 bitField3_ |= 0x00000040;
1022 addCliqueCuts_ = input.readBool();
1023 break;
1024 }
1025 case 1384: {
1026 bitField4_ |= 0x00000008;
1027 keepAllFeasibleSolutionsInPresolve_ = input.readBool();
1028 break;
1029 }
1030 case 1392: {
1031 bitField2_ |= 0x00020000;
1032 presolveExtractIntegerEnforcement_ = input.readBool();
1033 break;
1034 }
1035 case 1400: {
1036 bitField5_ |= 0x00000001;
1037 polishLpSolution_ = input.readBool();
1038 break;
1039 }
1040 case 1408: {
1041 bitField3_ |= 0x10000000;
1042 useProbingSearch_ = input.readBool();
1043 break;
1044 }
1045 case 1416: {
1046 bitField5_ |= 0x00000002;
1047 convertIntervals_ = input.readBool();
1048 break;
1049 }
1050 case 1424: {
1051 bitField1_ |= 0x00010000;
1052 permuteVariableRandomly_ = input.readBool();
1053 break;
1054 }
1055 case 1432: {
1056 bitField1_ |= 0x00020000;
1057 permutePresolveConstraintOrder_ = input.readBool();
1058 break;
1059 }
1060 case 1440: {
1061 bitField1_ |= 0x00040000;
1062 useAbslRandom_ = input.readBool();
1063 break;
1064 }
1065 case 1448: {
1066 bitField2_ |= 0x00002000;
1067 disableConstraintExpansion_ = input.readBool();
1068 break;
1069 }
1070 case 1456: {
1071 bitField2_ |= 0x00001000;
1072 expandReservoirConstraints_ = input.readBool();
1073 break;
1074 }
1075 case 1464: {
1076 bitField5_ |= 0x00000004;
1077 symmetryLevel_ = input.readInt32();
1078 break;
1079 }
1080 case 1472: {
1081 bitField4_ |= 0x00020000;
1082 lnsExpandIntervalsInConstraintGraph_ = input.readBool();
1083 break;
1084 }
1085 case 1482: {
1086 com.google.protobuf.ByteString bs = input.readBytes();
1087 bitField1_ |= 0x00200000;
1088 logPrefix_ = bs;
1089 break;
1090 }
1091 case 1488: {
1092 bitField1_ |= 0x00400000;
1093 logToStdout_ = input.readBool();
1094 break;
1095 }
1096 case 1496: {
1097 bitField1_ |= 0x00800000;
1098 logToResponse_ = input.readBool();
1099 break;
1100 }
1101 case 1504: {
1102 bitField3_ |= 0x80000000;
1103 optimizeWithLbTreeSearch_ = input.readBool();
1104 break;
1105 }
1106 case 1512: {
1107 bitField1_ |= 0x00100000;
1108 logSubsolverStatistics_ = input.readBool();
1109 break;
1110 }
1111 case 1521: {
1112 bitField0_ |= 0x00008000;
1113 clauseCleanupRatio_ = input.readDouble();
1114 break;
1115 }
1116 case 1528: {
1117 bitField2_ |= 0x80000000;
1118 maxDomainSizeWhenEncodingEqNeqConstraints_ = input.readInt32();
1119 break;
1120 }
1121 case 1536: {
1122 bitField3_ |= 0x00200000;
1123 fixVariablesToTheirHintedValue_ = input.readBool();
1124 break;
1125 }
1126 case 1544: {
1127 bitField4_ |= 0x00040000;
1128 solutionPoolSize_ = input.readInt32();
1129 break;
1130 }
1131 default: {
1132 if (!parseUnknownField(
1133 input, unknownFields, extensionRegistry, tag)) {
1134 done = true;
1135 }
1136 break;
1137 }
1138 }
1139 }
1140 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1141 throw e.setUnfinishedMessage(this);
1142 } catch (java.io.IOException e) {
1143 throw new com.google.protobuf.InvalidProtocolBufferException(
1144 e).setUnfinishedMessage(this);
1145 } finally {
1146 if (((mutable_bitField0_ & 0x40000000) != 0)) {
1147 restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
1148 }
1149 this.unknownFields = unknownFields.build();
1150 makeExtensionsImmutable();
1151 }
1152 }
1153 public static final com.google.protobuf.Descriptors.Descriptor
1155 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
1156 }
1157
1158 @java.lang.Override
1159 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1161 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
1162 .ensureFieldAccessorsInitialized(
1163 com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
1164 }
1165
1174 public enum VariableOrder
1175 implements com.google.protobuf.ProtocolMessageEnum {
1192 ;
1193
1201 public static final int IN_ORDER_VALUE = 0;
1205 public static final int IN_REVERSE_ORDER_VALUE = 1;
1209 public static final int IN_RANDOM_ORDER_VALUE = 2;
1210
1211
1212 public final int getNumber() {
1213 return value;
1214 }
1215
1221 @java.lang.Deprecated
1222 public static VariableOrder valueOf(int value) {
1223 return forNumber(value);
1224 }
1225
1230 public static VariableOrder forNumber(int value) {
1231 switch (value) {
1232 case 0: return IN_ORDER;
1233 case 1: return IN_REVERSE_ORDER;
1234 case 2: return IN_RANDOM_ORDER;
1235 default: return null;
1236 }
1237 }
1238
1239 public static com.google.protobuf.Internal.EnumLiteMap<VariableOrder>
1241 return internalValueMap;
1242 }
1243 private static final com.google.protobuf.Internal.EnumLiteMap<
1244 VariableOrder> internalValueMap =
1245 new com.google.protobuf.Internal.EnumLiteMap<VariableOrder>() {
1246 public VariableOrder findValueByNumber(int number) {
1247 return VariableOrder.forNumber(number);
1248 }
1249 };
1250
1251 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1253 return getDescriptor().getValues().get(ordinal());
1254 }
1255 public final com.google.protobuf.Descriptors.EnumDescriptor
1257 return getDescriptor();
1258 }
1259 public static final com.google.protobuf.Descriptors.EnumDescriptor
1261 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
1262 }
1263
1264 private static final VariableOrder[] VALUES = values();
1265
1266 public static VariableOrder valueOf(
1267 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1268 if (desc.getType() != getDescriptor()) {
1269 throw new java.lang.IllegalArgumentException(
1270 "EnumValueDescriptor is not for this type.");
1271 }
1272 return VALUES[desc.getIndex()];
1273 }
1274
1275 private final int value;
1276
1277 private VariableOrder(int value) {
1278 this.value = value;
1279 }
1280
1281 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.VariableOrder)
1282 }
1283
1295 public enum Polarity
1296 implements com.google.protobuf.ProtocolMessageEnum {
1328 ;
1329
1333 public static final int POLARITY_TRUE_VALUE = 0;
1337 public static final int POLARITY_FALSE_VALUE = 1;
1341 public static final int POLARITY_RANDOM_VALUE = 2;
1352 public static final int POLARITY_WEIGHTED_SIGN_VALUE = 3;
1360 public static final int POLARITY_REVERSE_WEIGHTED_SIGN_VALUE = 4;
1361
1362
1363 public final int getNumber() {
1364 return value;
1365 }
1366
1372 @java.lang.Deprecated
1373 public static Polarity valueOf(int value) {
1374 return forNumber(value);
1375 }
1376
1381 public static Polarity forNumber(int value) {
1382 switch (value) {
1383 case 0: return POLARITY_TRUE;
1384 case 1: return POLARITY_FALSE;
1385 case 2: return POLARITY_RANDOM;
1386 case 3: return POLARITY_WEIGHTED_SIGN;
1387 case 4: return POLARITY_REVERSE_WEIGHTED_SIGN;
1388 default: return null;
1389 }
1390 }
1391
1392 public static com.google.protobuf.Internal.EnumLiteMap<Polarity>
1394 return internalValueMap;
1395 }
1396 private static final com.google.protobuf.Internal.EnumLiteMap<
1397 Polarity> internalValueMap =
1398 new com.google.protobuf.Internal.EnumLiteMap<Polarity>() {
1399 public Polarity findValueByNumber(int number) {
1400 return Polarity.forNumber(number);
1401 }
1402 };
1403
1404 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1406 return getDescriptor().getValues().get(ordinal());
1407 }
1408 public final com.google.protobuf.Descriptors.EnumDescriptor
1410 return getDescriptor();
1411 }
1412 public static final com.google.protobuf.Descriptors.EnumDescriptor
1414 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
1415 }
1416
1417 private static final Polarity[] VALUES = values();
1418
1419 public static Polarity valueOf(
1420 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1421 if (desc.getType() != getDescriptor()) {
1422 throw new java.lang.IllegalArgumentException(
1423 "EnumValueDescriptor is not for this type.");
1424 }
1425 return VALUES[desc.getIndex()];
1426 }
1427
1428 private final int value;
1429
1430 private Polarity(int value) {
1431 this.value = value;
1432 }
1433
1434 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.Polarity)
1435 }
1436
1445 implements com.google.protobuf.ProtocolMessageEnum {
1462 ;
1463
1467 public static final int NONE_VALUE = 0;
1471 public static final int SIMPLE_VALUE = 1;
1475 public static final int RECURSIVE_VALUE = 2;
1479 public static final int EXPERIMENTAL_VALUE = 3;
1480
1481
1482 public final int getNumber() {
1483 return value;
1484 }
1485
1491 @java.lang.Deprecated
1492 public static ConflictMinimizationAlgorithm valueOf(int value) {
1493 return forNumber(value);
1494 }
1495
1500 public static ConflictMinimizationAlgorithm forNumber(int value) {
1501 switch (value) {
1502 case 0: return NONE;
1503 case 1: return SIMPLE;
1504 case 2: return RECURSIVE;
1505 case 3: return EXPERIMENTAL;
1506 default: return null;
1507 }
1508 }
1509
1510 public static com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>
1512 return internalValueMap;
1513 }
1514 private static final com.google.protobuf.Internal.EnumLiteMap<
1515 ConflictMinimizationAlgorithm> internalValueMap =
1516 new com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>() {
1517 public ConflictMinimizationAlgorithm findValueByNumber(int number) {
1519 }
1520 };
1521
1522 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1524 return getDescriptor().getValues().get(ordinal());
1525 }
1526 public final com.google.protobuf.Descriptors.EnumDescriptor
1528 return getDescriptor();
1529 }
1530 public static final com.google.protobuf.Descriptors.EnumDescriptor
1532 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
1533 }
1534
1535 private static final ConflictMinimizationAlgorithm[] VALUES = values();
1536
1538 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1539 if (desc.getType() != getDescriptor()) {
1540 throw new java.lang.IllegalArgumentException(
1541 "EnumValueDescriptor is not for this type.");
1542 }
1543 return VALUES[desc.getIndex()];
1544 }
1545
1546 private final int value;
1547
1548 private ConflictMinimizationAlgorithm(int value) {
1549 this.value = value;
1550 }
1551
1552 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ConflictMinimizationAlgorithm)
1553 }
1554
1564 implements com.google.protobuf.ProtocolMessageEnum {
1585 ;
1586
1590 public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
1594 public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
1598 public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
1602 public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
1606 public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
1607
1608
1609 public final int getNumber() {
1610 return value;
1611 }
1612
1618 @java.lang.Deprecated
1619 public static BinaryMinizationAlgorithm valueOf(int value) {
1620 return forNumber(value);
1621 }
1622
1627 public static BinaryMinizationAlgorithm forNumber(int value) {
1628 switch (value) {
1629 case 0: return NO_BINARY_MINIMIZATION;
1630 case 1: return BINARY_MINIMIZATION_FIRST;
1631 case 4: return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
1632 case 2: return BINARY_MINIMIZATION_WITH_REACHABILITY;
1633 case 3: return EXPERIMENTAL_BINARY_MINIMIZATION;
1634 default: return null;
1635 }
1636 }
1637
1638 public static com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>
1640 return internalValueMap;
1641 }
1642 private static final com.google.protobuf.Internal.EnumLiteMap<
1643 BinaryMinizationAlgorithm> internalValueMap =
1644 new com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>() {
1645 public BinaryMinizationAlgorithm findValueByNumber(int number) {
1646 return BinaryMinizationAlgorithm.forNumber(number);
1647 }
1648 };
1649
1650 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1652 return getDescriptor().getValues().get(ordinal());
1653 }
1654 public final com.google.protobuf.Descriptors.EnumDescriptor
1656 return getDescriptor();
1657 }
1658 public static final com.google.protobuf.Descriptors.EnumDescriptor
1660 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
1661 }
1662
1663 private static final BinaryMinizationAlgorithm[] VALUES = values();
1664
1666 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1667 if (desc.getType() != getDescriptor()) {
1668 throw new java.lang.IllegalArgumentException(
1669 "EnumValueDescriptor is not for this type.");
1670 }
1671 return VALUES[desc.getIndex()];
1672 }
1673
1674 private final int value;
1675
1676 private BinaryMinizationAlgorithm(int value) {
1677 this.value = value;
1678 }
1679
1680 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.BinaryMinizationAlgorithm)
1681 }
1682
1693 implements com.google.protobuf.ProtocolMessageEnum {
1718 ;
1719
1727 public static final int PROTECTION_NONE_VALUE = 0;
1735 public static final int PROTECTION_ALWAYS_VALUE = 1;
1743 public static final int PROTECTION_LBD_VALUE = 2;
1744
1745
1746 public final int getNumber() {
1747 return value;
1748 }
1749
1755 @java.lang.Deprecated
1756 public static ClauseProtection valueOf(int value) {
1757 return forNumber(value);
1758 }
1759
1764 public static ClauseProtection forNumber(int value) {
1765 switch (value) {
1766 case 0: return PROTECTION_NONE;
1767 case 1: return PROTECTION_ALWAYS;
1768 case 2: return PROTECTION_LBD;
1769 default: return null;
1770 }
1771 }
1772
1773 public static com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>
1775 return internalValueMap;
1776 }
1777 private static final com.google.protobuf.Internal.EnumLiteMap<
1778 ClauseProtection> internalValueMap =
1779 new com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>() {
1780 public ClauseProtection findValueByNumber(int number) {
1781 return ClauseProtection.forNumber(number);
1782 }
1783 };
1784
1785 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1787 return getDescriptor().getValues().get(ordinal());
1788 }
1789 public final com.google.protobuf.Descriptors.EnumDescriptor
1791 return getDescriptor();
1792 }
1793 public static final com.google.protobuf.Descriptors.EnumDescriptor
1795 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
1796 }
1797
1798 private static final ClauseProtection[] VALUES = values();
1799
1801 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1802 if (desc.getType() != getDescriptor()) {
1803 throw new java.lang.IllegalArgumentException(
1804 "EnumValueDescriptor is not for this type.");
1805 }
1806 return VALUES[desc.getIndex()];
1807 }
1808
1809 private final int value;
1810
1811 private ClauseProtection(int value) {
1812 this.value = value;
1813 }
1814
1815 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseProtection)
1816 }
1817
1826 public enum ClauseOrdering
1827 implements com.google.protobuf.ProtocolMessageEnum {
1844 ;
1845
1853 public static final int CLAUSE_ACTIVITY_VALUE = 0;
1861 public static final int CLAUSE_LBD_VALUE = 1;
1862
1863
1864 public final int getNumber() {
1865 return value;
1866 }
1867
1873 @java.lang.Deprecated
1874 public static ClauseOrdering valueOf(int value) {
1875 return forNumber(value);
1876 }
1877
1882 public static ClauseOrdering forNumber(int value) {
1883 switch (value) {
1884 case 0: return CLAUSE_ACTIVITY;
1885 case 1: return CLAUSE_LBD;
1886 default: return null;
1887 }
1888 }
1889
1890 public static com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>
1892 return internalValueMap;
1893 }
1894 private static final com.google.protobuf.Internal.EnumLiteMap<
1895 ClauseOrdering> internalValueMap =
1896 new com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>() {
1897 public ClauseOrdering findValueByNumber(int number) {
1898 return ClauseOrdering.forNumber(number);
1899 }
1900 };
1901
1902 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1904 return getDescriptor().getValues().get(ordinal());
1905 }
1906 public final com.google.protobuf.Descriptors.EnumDescriptor
1908 return getDescriptor();
1909 }
1910 public static final com.google.protobuf.Descriptors.EnumDescriptor
1912 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
1913 }
1914
1915 private static final ClauseOrdering[] VALUES = values();
1916
1918 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1919 if (desc.getType() != getDescriptor()) {
1920 throw new java.lang.IllegalArgumentException(
1921 "EnumValueDescriptor is not for this type.");
1922 }
1923 return VALUES[desc.getIndex()];
1924 }
1925
1926 private final int value;
1927
1928 private ClauseOrdering(int value) {
1929 this.value = value;
1930 }
1931
1932 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseOrdering)
1933 }
1934
1947 implements com.google.protobuf.ProtocolMessageEnum {
1984 ;
1985
1989 public static final int NO_RESTART_VALUE = 0;
1997 public static final int LUBY_RESTART_VALUE = 1;
2005 public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
2013 public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
2021 public static final int FIXED_RESTART_VALUE = 4;
2022
2023
2024 public final int getNumber() {
2025 return value;
2026 }
2027
2033 @java.lang.Deprecated
2034 public static RestartAlgorithm valueOf(int value) {
2035 return forNumber(value);
2036 }
2037
2042 public static RestartAlgorithm forNumber(int value) {
2043 switch (value) {
2044 case 0: return NO_RESTART;
2045 case 1: return LUBY_RESTART;
2046 case 2: return DL_MOVING_AVERAGE_RESTART;
2047 case 3: return LBD_MOVING_AVERAGE_RESTART;
2048 case 4: return FIXED_RESTART;
2049 default: return null;
2050 }
2051 }
2052
2053 public static com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>
2055 return internalValueMap;
2056 }
2057 private static final com.google.protobuf.Internal.EnumLiteMap<
2058 RestartAlgorithm> internalValueMap =
2059 new com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>() {
2060 public RestartAlgorithm findValueByNumber(int number) {
2061 return RestartAlgorithm.forNumber(number);
2062 }
2063 };
2064
2065 public final com.google.protobuf.Descriptors.EnumValueDescriptor
2067 return getDescriptor().getValues().get(ordinal());
2068 }
2069 public final com.google.protobuf.Descriptors.EnumDescriptor
2071 return getDescriptor();
2072 }
2073 public static final com.google.protobuf.Descriptors.EnumDescriptor
2075 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
2076 }
2077
2078 private static final RestartAlgorithm[] VALUES = values();
2079
2081 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2082 if (desc.getType() != getDescriptor()) {
2083 throw new java.lang.IllegalArgumentException(
2084 "EnumValueDescriptor is not for this type.");
2085 }
2086 return VALUES[desc.getIndex()];
2087 }
2088
2089 private final int value;
2090
2091 private RestartAlgorithm(int value) {
2092 this.value = value;
2093 }
2094
2095 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.RestartAlgorithm)
2096 }
2097
2106 implements com.google.protobuf.ProtocolMessageEnum {
2119 ;
2120
2124 public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
2128 public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
2132 public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
2133
2134
2135 public final int getNumber() {
2136 return value;
2137 }
2138
2144 @java.lang.Deprecated
2145 public static MaxSatAssumptionOrder valueOf(int value) {
2146 return forNumber(value);
2147 }
2148
2153 public static MaxSatAssumptionOrder forNumber(int value) {
2154 switch (value) {
2155 case 0: return DEFAULT_ASSUMPTION_ORDER;
2156 case 1: return ORDER_ASSUMPTION_BY_DEPTH;
2157 case 2: return ORDER_ASSUMPTION_BY_WEIGHT;
2158 default: return null;
2159 }
2160 }
2161
2162 public static com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>
2164 return internalValueMap;
2165 }
2166 private static final com.google.protobuf.Internal.EnumLiteMap<
2167 MaxSatAssumptionOrder> internalValueMap =
2168 new com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>() {
2169 public MaxSatAssumptionOrder findValueByNumber(int number) {
2170 return MaxSatAssumptionOrder.forNumber(number);
2171 }
2172 };
2173
2174 public final com.google.protobuf.Descriptors.EnumValueDescriptor
2176 return getDescriptor().getValues().get(ordinal());
2177 }
2178 public final com.google.protobuf.Descriptors.EnumDescriptor
2180 return getDescriptor();
2181 }
2182 public static final com.google.protobuf.Descriptors.EnumDescriptor
2184 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
2185 }
2186
2187 private static final MaxSatAssumptionOrder[] VALUES = values();
2188
2190 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2191 if (desc.getType() != getDescriptor()) {
2192 throw new java.lang.IllegalArgumentException(
2193 "EnumValueDescriptor is not for this type.");
2194 }
2195 return VALUES[desc.getIndex()];
2196 }
2197
2198 private final int value;
2199
2200 private MaxSatAssumptionOrder(int value) {
2201 this.value = value;
2202 }
2203
2204 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatAssumptionOrder)
2205 }
2206
2215 implements com.google.protobuf.ProtocolMessageEnum {
2244 ;
2245
2253 public static final int STRATIFICATION_NONE_VALUE = 0;
2262 public static final int STRATIFICATION_DESCENT_VALUE = 1;
2273 public static final int STRATIFICATION_ASCENT_VALUE = 2;
2274
2275
2276 public final int getNumber() {
2277 return value;
2278 }
2279
2285 @java.lang.Deprecated
2286 public static MaxSatStratificationAlgorithm valueOf(int value) {
2287 return forNumber(value);
2288 }
2289
2294 public static MaxSatStratificationAlgorithm forNumber(int value) {
2295 switch (value) {
2296 case 0: return STRATIFICATION_NONE;
2297 case 1: return STRATIFICATION_DESCENT;
2298 case 2: return STRATIFICATION_ASCENT;
2299 default: return null;
2300 }
2301 }
2302
2303 public static com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>
2305 return internalValueMap;
2306 }
2307 private static final com.google.protobuf.Internal.EnumLiteMap<
2308 MaxSatStratificationAlgorithm> internalValueMap =
2309 new com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>() {
2310 public MaxSatStratificationAlgorithm findValueByNumber(int number) {
2312 }
2313 };
2314
2315 public final com.google.protobuf.Descriptors.EnumValueDescriptor
2317 return getDescriptor().getValues().get(ordinal());
2318 }
2319 public final com.google.protobuf.Descriptors.EnumDescriptor
2321 return getDescriptor();
2322 }
2323 public static final com.google.protobuf.Descriptors.EnumDescriptor
2325 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
2326 }
2327
2328 private static final MaxSatStratificationAlgorithm[] VALUES = values();
2329
2331 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2332 if (desc.getType() != getDescriptor()) {
2333 throw new java.lang.IllegalArgumentException(
2334 "EnumValueDescriptor is not for this type.");
2335 }
2336 return VALUES[desc.getIndex()];
2337 }
2338
2339 private final int value;
2340
2341 private MaxSatStratificationAlgorithm(int value) {
2342 this.value = value;
2343 }
2344
2345 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatStratificationAlgorithm)
2346 }
2347
2356 implements com.google.protobuf.ProtocolMessageEnum {
2424 ;
2425
2434 public static final int AUTOMATIC_SEARCH_VALUE = 0;
2444 public static final int FIXED_SEARCH_VALUE = 1;
2452 public static final int PORTFOLIO_SEARCH_VALUE = 2;
2462 public static final int LP_SEARCH_VALUE = 3;
2472 public static final int PSEUDO_COST_SEARCH_VALUE = 4;
2482 public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
2492 public static final int HINT_SEARCH_VALUE = 6;
2493
2494
2495 public final int getNumber() {
2496 return value;
2497 }
2498
2504 @java.lang.Deprecated
2505 public static SearchBranching valueOf(int value) {
2506 return forNumber(value);
2507 }
2508
2513 public static SearchBranching forNumber(int value) {
2514 switch (value) {
2515 case 0: return AUTOMATIC_SEARCH;
2516 case 1: return FIXED_SEARCH;
2517 case 2: return PORTFOLIO_SEARCH;
2518 case 3: return LP_SEARCH;
2519 case 4: return PSEUDO_COST_SEARCH;
2520 case 5: return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
2521 case 6: return HINT_SEARCH;
2522 default: return null;
2523 }
2524 }
2525
2526 public static com.google.protobuf.Internal.EnumLiteMap<SearchBranching>
2528 return internalValueMap;
2529 }
2530 private static final com.google.protobuf.Internal.EnumLiteMap<
2531 SearchBranching> internalValueMap =
2532 new com.google.protobuf.Internal.EnumLiteMap<SearchBranching>() {
2533 public SearchBranching findValueByNumber(int number) {
2534 return SearchBranching.forNumber(number);
2535 }
2536 };
2537
2538 public final com.google.protobuf.Descriptors.EnumValueDescriptor
2540 return getDescriptor().getValues().get(ordinal());
2541 }
2542 public final com.google.protobuf.Descriptors.EnumDescriptor
2544 return getDescriptor();
2545 }
2546 public static final com.google.protobuf.Descriptors.EnumDescriptor
2548 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
2549 }
2550
2551 private static final SearchBranching[] VALUES = values();
2552
2554 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2555 if (desc.getType() != getDescriptor()) {
2556 throw new java.lang.IllegalArgumentException(
2557 "EnumValueDescriptor is not for this type.");
2558 }
2559 return VALUES[desc.getIndex()];
2560 }
2561
2562 private final int value;
2563
2564 private SearchBranching(int value) {
2565 this.value = value;
2566 }
2567
2568 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.SearchBranching)
2569 }
2570
2579 implements com.google.protobuf.ProtocolMessageEnum {
2620 ;
2621
2629 public static final int NEAREST_INTEGER_VALUE = 0;
2639 public static final int LOCK_BASED_VALUE = 1;
2648 public static final int ACTIVE_LOCK_BASED_VALUE = 3;
2661 public static final int PROPAGATION_ASSISTED_VALUE = 2;
2662
2663
2664 public final int getNumber() {
2665 return value;
2666 }
2667
2673 @java.lang.Deprecated
2674 public static FPRoundingMethod valueOf(int value) {
2675 return forNumber(value);
2676 }
2677
2682 public static FPRoundingMethod forNumber(int value) {
2683 switch (value) {
2684 case 0: return NEAREST_INTEGER;
2685 case 1: return LOCK_BASED;
2686 case 3: return ACTIVE_LOCK_BASED;
2687 case 2: return PROPAGATION_ASSISTED;
2688 default: return null;
2689 }
2690 }
2691
2692 public static com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>
2694 return internalValueMap;
2695 }
2696 private static final com.google.protobuf.Internal.EnumLiteMap<
2697 FPRoundingMethod> internalValueMap =
2698 new com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>() {
2699 public FPRoundingMethod findValueByNumber(int number) {
2700 return FPRoundingMethod.forNumber(number);
2701 }
2702 };
2703
2704 public final com.google.protobuf.Descriptors.EnumValueDescriptor
2706 return getDescriptor().getValues().get(ordinal());
2707 }
2708 public final com.google.protobuf.Descriptors.EnumDescriptor
2710 return getDescriptor();
2711 }
2712 public static final com.google.protobuf.Descriptors.EnumDescriptor
2714 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(10);
2715 }
2716
2717 private static final FPRoundingMethod[] VALUES = values();
2718
2720 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2721 if (desc.getType() != getDescriptor()) {
2722 throw new java.lang.IllegalArgumentException(
2723 "EnumValueDescriptor is not for this type.");
2724 }
2725 return VALUES[desc.getIndex()];
2726 }
2727
2728 private final int value;
2729
2730 private FPRoundingMethod(int value) {
2731 this.value = value;
2732 }
2733
2734 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.FPRoundingMethod)
2735 }
2736
2737 private int bitField0_;
2738 private int bitField1_;
2739 private int bitField2_;
2740 private int bitField3_;
2741 private int bitField4_;
2742 private int bitField5_;
2743 public static final int NAME_FIELD_NUMBER = 171;
2744 private volatile java.lang.Object name_;
2754 @java.lang.Override
2755 public boolean hasName() {
2756 return ((bitField0_ & 0x00000001) != 0);
2757 }
2767 @java.lang.Override
2768 public java.lang.String getName() {
2769 java.lang.Object ref = name_;
2770 if (ref instanceof java.lang.String) {
2771 return (java.lang.String) ref;
2772 } else {
2773 com.google.protobuf.ByteString bs =
2774 (com.google.protobuf.ByteString) ref;
2775 java.lang.String s = bs.toStringUtf8();
2776 if (bs.isValidUtf8()) {
2777 name_ = s;
2778 }
2779 return s;
2780 }
2781 }
2791 @java.lang.Override
2792 public com.google.protobuf.ByteString
2794 java.lang.Object ref = name_;
2795 if (ref instanceof java.lang.String) {
2796 com.google.protobuf.ByteString b =
2797 com.google.protobuf.ByteString.copyFromUtf8(
2798 (java.lang.String) ref);
2799 name_ = b;
2800 return b;
2801 } else {
2802 return (com.google.protobuf.ByteString) ref;
2803 }
2804 }
2805
2806 public static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER = 1;
2807 private int preferredVariableOrder_;
2812 @java.lang.Override public boolean hasPreferredVariableOrder() {
2813 return ((bitField0_ & 0x00000002) != 0);
2814 }
2819 @java.lang.Override public com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder() {
2820 @SuppressWarnings("deprecation")
2821 com.google.ortools.sat.SatParameters.VariableOrder result = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(preferredVariableOrder_);
2822 return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
2823 }
2824
2825 public static final int INITIAL_POLARITY_FIELD_NUMBER = 2;
2826 private int initialPolarity_;
2831 @java.lang.Override public boolean hasInitialPolarity() {
2832 return ((bitField0_ & 0x00000004) != 0);
2833 }
2838 @java.lang.Override public com.google.ortools.sat.SatParameters.Polarity getInitialPolarity() {
2839 @SuppressWarnings("deprecation")
2840 com.google.ortools.sat.SatParameters.Polarity result = com.google.ortools.sat.SatParameters.Polarity.valueOf(initialPolarity_);
2841 return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
2842 }
2843
2844 public static final int USE_PHASE_SAVING_FIELD_NUMBER = 44;
2845 private boolean usePhaseSaving_;
2862 @java.lang.Override
2863 public boolean hasUsePhaseSaving() {
2864 return ((bitField0_ & 0x00000008) != 0);
2865 }
2882 @java.lang.Override
2883 public boolean getUsePhaseSaving() {
2884 return usePhaseSaving_;
2885 }
2886
2887 public static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER = 168;
2888 private int polarityRephaseIncrement_;
2899 @java.lang.Override
2901 return ((bitField0_ & 0x00000010) != 0);
2902 }
2913 @java.lang.Override
2915 return polarityRephaseIncrement_;
2916 }
2917
2918 public static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER = 45;
2919 private double randomPolarityRatio_;
2932 @java.lang.Override
2933 public boolean hasRandomPolarityRatio() {
2934 return ((bitField0_ & 0x00000020) != 0);
2935 }
2948 @java.lang.Override
2949 public double getRandomPolarityRatio() {
2950 return randomPolarityRatio_;
2951 }
2952
2953 public static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER = 32;
2954 private double randomBranchesRatio_;
2965 @java.lang.Override
2966 public boolean hasRandomBranchesRatio() {
2967 return ((bitField0_ & 0x00000040) != 0);
2968 }
2979 @java.lang.Override
2980 public double getRandomBranchesRatio() {
2981 return randomBranchesRatio_;
2982 }
2983
2984 public static final int USE_ERWA_HEURISTIC_FIELD_NUMBER = 75;
2985 private boolean useErwaHeuristic_;
2996 @java.lang.Override
2997 public boolean hasUseErwaHeuristic() {
2998 return ((bitField0_ & 0x00000080) != 0);
2999 }
3010 @java.lang.Override
3011 public boolean getUseErwaHeuristic() {
3012 return useErwaHeuristic_;
3013 }
3014
3015 public static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER = 76;
3016 private double initialVariablesActivity_;
3030 @java.lang.Override
3032 return ((bitField0_ & 0x00000100) != 0);
3033 }
3047 @java.lang.Override
3049 return initialVariablesActivity_;
3050 }
3051
3053 private boolean alsoBumpVariablesInConflictReasons_;
3065 @java.lang.Override
3067 return ((bitField0_ & 0x00000200) != 0);
3068 }
3080 @java.lang.Override
3082 return alsoBumpVariablesInConflictReasons_;
3083 }
3084
3085 public static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER = 4;
3086 private int minimizationAlgorithm_;
3091 @java.lang.Override public boolean hasMinimizationAlgorithm() {
3092 return ((bitField0_ & 0x00000400) != 0);
3093 }
3098 @java.lang.Override public com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm() {
3099 @SuppressWarnings("deprecation")
3100 com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm result = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(minimizationAlgorithm_);
3101 return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
3102 }
3103
3105 private int binaryMinimizationAlgorithm_;
3110 @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
3111 return ((bitField0_ & 0x00000800) != 0);
3112 }
3117 @java.lang.Override public com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm() {
3118 @SuppressWarnings("deprecation")
3119 com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm result = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(binaryMinimizationAlgorithm_);
3120 return result == null ? com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.BINARY_MINIMIZATION_FIRST : result;
3121 }
3122
3124 private boolean subsumptionDuringConflictAnalysis_;
3136 @java.lang.Override
3138 return ((bitField0_ & 0x00001000) != 0);
3139 }
3151 @java.lang.Override
3153 return subsumptionDuringConflictAnalysis_;
3154 }
3155
3156 public static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER = 11;
3157 private int clauseCleanupPeriod_;
3166 @java.lang.Override
3167 public boolean hasClauseCleanupPeriod() {
3168 return ((bitField0_ & 0x00002000) != 0);
3169 }
3178 @java.lang.Override
3180 return clauseCleanupPeriod_;
3181 }
3182
3183 public static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER = 13;
3184 private int clauseCleanupTarget_;
3194 @java.lang.Override
3195 public boolean hasClauseCleanupTarget() {
3196 return ((bitField0_ & 0x00004000) != 0);
3197 }
3207 @java.lang.Override
3209 return clauseCleanupTarget_;
3210 }
3211
3212 public static final int CLAUSE_CLEANUP_RATIO_FIELD_NUMBER = 190;
3213 private double clauseCleanupRatio_;
3224 @java.lang.Override
3225 public boolean hasClauseCleanupRatio() {
3226 return ((bitField0_ & 0x00008000) != 0);
3227 }
3238 @java.lang.Override
3239 public double getClauseCleanupRatio() {
3240 return clauseCleanupRatio_;
3241 }
3242
3243 public static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER = 58;
3244 private int clauseCleanupProtection_;
3249 @java.lang.Override public boolean hasClauseCleanupProtection() {
3250 return ((bitField0_ & 0x00010000) != 0);
3251 }
3256 @java.lang.Override public com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection() {
3257 @SuppressWarnings("deprecation")
3258 com.google.ortools.sat.SatParameters.ClauseProtection result = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(clauseCleanupProtection_);
3259 return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
3260 }
3261
3262 public static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER = 59;
3263 private int clauseCleanupLbdBound_;
3273 @java.lang.Override
3274 public boolean hasClauseCleanupLbdBound() {
3275 return ((bitField0_ & 0x00020000) != 0);
3276 }
3286 @java.lang.Override
3288 return clauseCleanupLbdBound_;
3289 }
3290
3291 public static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER = 60;
3292 private int clauseCleanupOrdering_;
3297 @java.lang.Override public boolean hasClauseCleanupOrdering() {
3298 return ((bitField0_ & 0x00040000) != 0);
3299 }
3304 @java.lang.Override public com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering() {
3305 @SuppressWarnings("deprecation")
3306 com.google.ortools.sat.SatParameters.ClauseOrdering result = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(clauseCleanupOrdering_);
3307 return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
3308 }
3309
3310 public static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER = 46;
3311 private int pbCleanupIncrement_;
3320 @java.lang.Override
3321 public boolean hasPbCleanupIncrement() {
3322 return ((bitField0_ & 0x00080000) != 0);
3323 }
3332 @java.lang.Override
3334 return pbCleanupIncrement_;
3335 }
3336
3337 public static final int PB_CLEANUP_RATIO_FIELD_NUMBER = 47;
3338 private double pbCleanupRatio_;
3343 @java.lang.Override
3344 public boolean hasPbCleanupRatio() {
3345 return ((bitField0_ & 0x00100000) != 0);
3346 }
3351 @java.lang.Override
3352 public double getPbCleanupRatio() {
3353 return pbCleanupRatio_;
3354 }
3355
3357 private int minimizeWithPropagationRestartPeriod_;
3376 @java.lang.Override
3378 return ((bitField0_ & 0x00200000) != 0);
3379 }
3398 @java.lang.Override
3400 return minimizeWithPropagationRestartPeriod_;
3401 }
3402
3404 private int minimizeWithPropagationNumDecisions_;
3409 @java.lang.Override
3411 return ((bitField0_ & 0x00400000) != 0);
3412 }
3417 @java.lang.Override
3419 return minimizeWithPropagationNumDecisions_;
3420 }
3421
3422 public static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER = 15;
3423 private double variableActivityDecay_;
3438 @java.lang.Override
3439 public boolean hasVariableActivityDecay() {
3440 return ((bitField0_ & 0x00800000) != 0);
3441 }
3456 @java.lang.Override
3458 return variableActivityDecay_;
3459 }
3460
3461 public static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER = 16;
3462 private double maxVariableActivityValue_;
3467 @java.lang.Override
3469 return ((bitField0_ & 0x01000000) != 0);
3470 }
3475 @java.lang.Override
3477 return maxVariableActivityValue_;
3478 }
3479
3480 public static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER = 22;
3481 private double glucoseMaxDecay_;
3493 @java.lang.Override
3494 public boolean hasGlucoseMaxDecay() {
3495 return ((bitField0_ & 0x02000000) != 0);
3496 }
3508 @java.lang.Override
3509 public double getGlucoseMaxDecay() {
3510 return glucoseMaxDecay_;
3511 }
3512
3513 public static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER = 23;
3514 private double glucoseDecayIncrement_;
3519 @java.lang.Override
3520 public boolean hasGlucoseDecayIncrement() {
3521 return ((bitField0_ & 0x04000000) != 0);
3522 }
3527 @java.lang.Override
3529 return glucoseDecayIncrement_;
3530 }
3531
3533 private int glucoseDecayIncrementPeriod_;
3538 @java.lang.Override
3540 return ((bitField0_ & 0x08000000) != 0);
3541 }
3546 @java.lang.Override
3548 return glucoseDecayIncrementPeriod_;
3549 }
3550
3551 public static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER = 17;
3552 private double clauseActivityDecay_;
3561 @java.lang.Override
3562 public boolean hasClauseActivityDecay() {
3563 return ((bitField0_ & 0x10000000) != 0);
3564 }
3573 @java.lang.Override
3574 public double getClauseActivityDecay() {
3575 return clauseActivityDecay_;
3576 }
3577
3578 public static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER = 18;
3579 private double maxClauseActivityValue_;
3584 @java.lang.Override
3585 public boolean hasMaxClauseActivityValue() {
3586 return ((bitField0_ & 0x20000000) != 0);
3587 }
3592 @java.lang.Override
3594 return maxClauseActivityValue_;
3595 }
3596
3597 public static final int RESTART_ALGORITHMS_FIELD_NUMBER = 61;
3598 private java.util.List<java.lang.Integer> restartAlgorithms_;
3599 private static final com.google.protobuf.Internal.ListAdapter.Converter<
3600 java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm> restartAlgorithms_converter_ =
3601 new com.google.protobuf.Internal.ListAdapter.Converter<
3602 java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>() {
3603 public com.google.ortools.sat.SatParameters.RestartAlgorithm convert(java.lang.Integer from) {
3604 @SuppressWarnings("deprecation")
3605 com.google.ortools.sat.SatParameters.RestartAlgorithm result = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(from);
3606 return result == null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
3607 }
3608 };
3624 @java.lang.Override
3625 public java.util.List<com.google.ortools.sat.SatParameters.RestartAlgorithm> getRestartAlgorithmsList() {
3626 return new com.google.protobuf.Internal.ListAdapter<
3627 java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
3628 }
3644 @java.lang.Override
3646 return restartAlgorithms_.size();
3647 }
3664 @java.lang.Override
3665 public com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index) {
3666 return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
3667 }
3668
3669 public static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER = 70;
3670 private volatile java.lang.Object defaultRestartAlgorithms_;
3675 @java.lang.Override
3677 return ((bitField0_ & 0x40000000) != 0);
3678 }
3683 @java.lang.Override
3684 public java.lang.String getDefaultRestartAlgorithms() {
3685 java.lang.Object ref = defaultRestartAlgorithms_;
3686 if (ref instanceof java.lang.String) {
3687 return (java.lang.String) ref;
3688 } else {
3689 com.google.protobuf.ByteString bs =
3690 (com.google.protobuf.ByteString) ref;
3691 java.lang.String s = bs.toStringUtf8();
3692 if (bs.isValidUtf8()) {
3693 defaultRestartAlgorithms_ = s;
3694 }
3695 return s;
3696 }
3697 }
3702 @java.lang.Override
3703 public com.google.protobuf.ByteString
3705 java.lang.Object ref = defaultRestartAlgorithms_;
3706 if (ref instanceof java.lang.String) {
3707 com.google.protobuf.ByteString b =
3708 com.google.protobuf.ByteString.copyFromUtf8(
3709 (java.lang.String) ref);
3710 defaultRestartAlgorithms_ = b;
3711 return b;
3712 } else {
3713 return (com.google.protobuf.ByteString) ref;
3714 }
3715 }
3716
3717 public static final int RESTART_PERIOD_FIELD_NUMBER = 30;
3718 private int restartPeriod_;
3728 @java.lang.Override
3729 public boolean hasRestartPeriod() {
3730 return ((bitField0_ & 0x80000000) != 0);
3731 }
3741 @java.lang.Override
3742 public int getRestartPeriod() {
3743 return restartPeriod_;
3744 }
3745
3746 public static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER = 62;
3747 private int restartRunningWindowSize_;
3756 @java.lang.Override
3758 return ((bitField1_ & 0x00000001) != 0);
3759 }
3768 @java.lang.Override
3770 return restartRunningWindowSize_;
3771 }
3772
3773 public static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER = 63;
3774 private double restartDlAverageRatio_;
3784 @java.lang.Override
3785 public boolean hasRestartDlAverageRatio() {
3786 return ((bitField1_ & 0x00000002) != 0);
3787 }
3797 @java.lang.Override
3799 return restartDlAverageRatio_;
3800 }
3801
3802 public static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER = 71;
3803 private double restartLbdAverageRatio_;
3808 @java.lang.Override
3809 public boolean hasRestartLbdAverageRatio() {
3810 return ((bitField1_ & 0x00000004) != 0);
3811 }
3816 @java.lang.Override
3818 return restartLbdAverageRatio_;
3819 }
3820
3821 public static final int USE_BLOCKING_RESTART_FIELD_NUMBER = 64;
3822 private boolean useBlockingRestart_;
3833 @java.lang.Override
3834 public boolean hasUseBlockingRestart() {
3835 return ((bitField1_ & 0x00000008) != 0);
3836 }
3847 @java.lang.Override
3848 public boolean getUseBlockingRestart() {
3849 return useBlockingRestart_;
3850 }
3851
3852 public static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER = 65;
3853 private int blockingRestartWindowSize_;
3858 @java.lang.Override
3860 return ((bitField1_ & 0x00000010) != 0);
3861 }
3866 @java.lang.Override
3868 return blockingRestartWindowSize_;
3869 }
3870
3871 public static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER = 66;
3872 private double blockingRestartMultiplier_;
3877 @java.lang.Override
3879 return ((bitField1_ & 0x00000020) != 0);
3880 }
3885 @java.lang.Override
3887 return blockingRestartMultiplier_;
3888 }
3889
3891 private int numConflictsBeforeStrategyChanges_;
3902 @java.lang.Override
3904 return ((bitField1_ & 0x00000040) != 0);
3905 }
3916 @java.lang.Override
3918 return numConflictsBeforeStrategyChanges_;
3919 }
3920
3922 private double strategyChangeIncreaseRatio_;
3932 @java.lang.Override
3934 return ((bitField1_ & 0x00000080) != 0);
3935 }
3945 @java.lang.Override
3947 return strategyChangeIncreaseRatio_;
3948 }
3949
3950 public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 36;
3951 private double maxTimeInSeconds_;
3961 @java.lang.Override
3962 public boolean hasMaxTimeInSeconds() {
3963 return ((bitField1_ & 0x00000100) != 0);
3964 }
3974 @java.lang.Override
3975 public double getMaxTimeInSeconds() {
3976 return maxTimeInSeconds_;
3977 }
3978
3979 public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 67;
3980 private double maxDeterministicTime_;
3991 @java.lang.Override
3992 public boolean hasMaxDeterministicTime() {
3993 return ((bitField1_ & 0x00000200) != 0);
3994 }
4005 @java.lang.Override
4006 public double getMaxDeterministicTime() {
4007 return maxDeterministicTime_;
4008 }
4009
4010 public static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER = 37;
4011 private long maxNumberOfConflicts_;
4025 @java.lang.Override
4026 public boolean hasMaxNumberOfConflicts() {
4027 return ((bitField1_ & 0x00000400) != 0);
4028 }
4042 @java.lang.Override
4044 return maxNumberOfConflicts_;
4045 }
4046
4047 public static final int MAX_MEMORY_IN_MB_FIELD_NUMBER = 40;
4048 private long maxMemoryInMb_;
4060 @java.lang.Override
4061 public boolean hasMaxMemoryInMb() {
4062 return ((bitField1_ & 0x00000800) != 0);
4063 }
4075 @java.lang.Override
4076 public long getMaxMemoryInMb() {
4077 return maxMemoryInMb_;
4078 }
4079
4080 public static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER = 159;
4081 private double absoluteGapLimit_;
4099 @java.lang.Override
4100 public boolean hasAbsoluteGapLimit() {
4101 return ((bitField1_ & 0x00001000) != 0);
4102 }
4120 @java.lang.Override
4121 public double getAbsoluteGapLimit() {
4122 return absoluteGapLimit_;
4123 }
4124
4125 public static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER = 160;
4126 private double relativeGapLimit_;
4131 @java.lang.Override
4132 public boolean hasRelativeGapLimit() {
4133 return ((bitField1_ & 0x00002000) != 0);
4134 }
4139 @java.lang.Override
4140 public double getRelativeGapLimit() {
4141 return relativeGapLimit_;
4142 }
4143
4145 private boolean treatBinaryClausesSeparately_;
4156 @java.lang.Override
4158 return ((bitField1_ & 0x00004000) != 0);
4159 }
4170 @java.lang.Override
4172 return treatBinaryClausesSeparately_;
4173 }
4174
4175 public static final int RANDOM_SEED_FIELD_NUMBER = 31;
4176 private int randomSeed_;
4190 @java.lang.Override
4191 public boolean hasRandomSeed() {
4192 return ((bitField1_ & 0x00008000) != 0);
4193 }
4207 @java.lang.Override
4208 public int getRandomSeed() {
4209 return randomSeed_;
4210 }
4211
4212 public static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER = 178;
4213 private boolean permuteVariableRandomly_;
4225 @java.lang.Override
4227 return ((bitField1_ & 0x00010000) != 0);
4228 }
4240 @java.lang.Override
4242 return permuteVariableRandomly_;
4243 }
4244
4246 private boolean permutePresolveConstraintOrder_;
4251 @java.lang.Override
4253 return ((bitField1_ & 0x00020000) != 0);
4254 }
4259 @java.lang.Override
4261 return permutePresolveConstraintOrder_;
4262 }
4263
4264 public static final int USE_ABSL_RANDOM_FIELD_NUMBER = 180;
4265 private boolean useAbslRandom_;
4270 @java.lang.Override
4271 public boolean hasUseAbslRandom() {
4272 return ((bitField1_ & 0x00040000) != 0);
4273 }
4278 @java.lang.Override
4279 public boolean getUseAbslRandom() {
4280 return useAbslRandom_;
4281 }
4282
4283 public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 41;
4284 private boolean logSearchProgress_;
4294 @java.lang.Override
4295 public boolean hasLogSearchProgress() {
4296 return ((bitField1_ & 0x00080000) != 0);
4297 }
4307 @java.lang.Override
4308 public boolean getLogSearchProgress() {
4309 return logSearchProgress_;
4310 }
4311
4312 public static final int LOG_SUBSOLVER_STATISTICS_FIELD_NUMBER = 189;
4313 private boolean logSubsolverStatistics_;
4324 @java.lang.Override
4325 public boolean hasLogSubsolverStatistics() {
4326 return ((bitField1_ & 0x00100000) != 0);
4327 }
4338 @java.lang.Override
4339 public boolean getLogSubsolverStatistics() {
4340 return logSubsolverStatistics_;
4341 }
4342
4343 public static final int LOG_PREFIX_FIELD_NUMBER = 185;
4344 private volatile java.lang.Object logPrefix_;
4353 @java.lang.Override
4354 public boolean hasLogPrefix() {
4355 return ((bitField1_ & 0x00200000) != 0);
4356 }
4365 @java.lang.Override
4366 public java.lang.String getLogPrefix() {
4367 java.lang.Object ref = logPrefix_;
4368 if (ref instanceof java.lang.String) {
4369 return (java.lang.String) ref;
4370 } else {
4371 com.google.protobuf.ByteString bs =
4372 (com.google.protobuf.ByteString) ref;
4373 java.lang.String s = bs.toStringUtf8();
4374 if (bs.isValidUtf8()) {
4375 logPrefix_ = s;
4376 }
4377 return s;
4378 }
4379 }
4388 @java.lang.Override
4389 public com.google.protobuf.ByteString
4391 java.lang.Object ref = logPrefix_;
4392 if (ref instanceof java.lang.String) {
4393 com.google.protobuf.ByteString b =
4394 com.google.protobuf.ByteString.copyFromUtf8(
4395 (java.lang.String) ref);
4396 logPrefix_ = b;
4397 return b;
4398 } else {
4399 return (com.google.protobuf.ByteString) ref;
4400 }
4401 }
4402
4403 public static final int LOG_TO_STDOUT_FIELD_NUMBER = 186;
4404 private boolean logToStdout_;
4413 @java.lang.Override
4414 public boolean hasLogToStdout() {
4415 return ((bitField1_ & 0x00400000) != 0);
4416 }
4425 @java.lang.Override
4426 public boolean getLogToStdout() {
4427 return logToStdout_;
4428 }
4429
4430 public static final int LOG_TO_RESPONSE_FIELD_NUMBER = 187;
4431 private boolean logToResponse_;
4440 @java.lang.Override
4441 public boolean hasLogToResponse() {
4442 return ((bitField1_ & 0x00800000) != 0);
4443 }
4452 @java.lang.Override
4453 public boolean getLogToResponse() {
4454 return logToResponse_;
4455 }
4456
4457 public static final int USE_PB_RESOLUTION_FIELD_NUMBER = 43;
4458 private boolean usePbResolution_;
4470 @java.lang.Override
4471 public boolean hasUsePbResolution() {
4472 return ((bitField1_ & 0x01000000) != 0);
4473 }
4485 @java.lang.Override
4486 public boolean getUsePbResolution() {
4487 return usePbResolution_;
4488 }
4489
4491 private boolean minimizeReductionDuringPbResolution_;
4503 @java.lang.Override
4505 return ((bitField1_ & 0x02000000) != 0);
4506 }
4518 @java.lang.Override
4520 return minimizeReductionDuringPbResolution_;
4521 }
4522
4524 private boolean countAssumptionLevelsInLbd_;
4540 @java.lang.Override
4542 return ((bitField1_ & 0x04000000) != 0);
4543 }
4559 @java.lang.Override
4561 return countAssumptionLevelsInLbd_;
4562 }
4563
4564 public static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER = 54;
4565 private int presolveBveThreshold_;
4576 @java.lang.Override
4577 public boolean hasPresolveBveThreshold() {
4578 return ((bitField1_ & 0x08000000) != 0);
4579 }
4590 @java.lang.Override
4592 return presolveBveThreshold_;
4593 }
4594
4595 public static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER = 55;
4596 private int presolveBveClauseWeight_;
4606 @java.lang.Override
4608 return ((bitField1_ & 0x10000000) != 0);
4609 }
4619 @java.lang.Override
4621 return presolveBveClauseWeight_;
4622 }
4623
4625 private double presolveProbingDeterministicTimeLimit_;
4635 @java.lang.Override
4637 return ((bitField1_ & 0x20000000) != 0);
4638 }
4648 @java.lang.Override
4650 return presolveProbingDeterministicTimeLimit_;
4651 }
4652
4653 public static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER = 88;
4654 private boolean presolveBlockedClause_;
4664 @java.lang.Override
4665 public boolean hasPresolveBlockedClause() {
4666 return ((bitField1_ & 0x40000000) != 0);
4667 }
4677 @java.lang.Override
4678 public boolean getPresolveBlockedClause() {
4679 return presolveBlockedClause_;
4680 }
4681
4682 public static final int PRESOLVE_USE_BVA_FIELD_NUMBER = 72;
4683 private boolean presolveUseBva_;
4692 @java.lang.Override
4693 public boolean hasPresolveUseBva() {
4694 return ((bitField1_ & 0x80000000) != 0);
4695 }
4704 @java.lang.Override
4705 public boolean getPresolveUseBva() {
4706 return presolveUseBva_;
4707 }
4708
4709 public static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER = 73;
4710 private int presolveBvaThreshold_;
4722 @java.lang.Override
4723 public boolean hasPresolveBvaThreshold() {
4724 return ((bitField2_ & 0x00000001) != 0);
4725 }
4737 @java.lang.Override
4739 return presolveBvaThreshold_;
4740 }
4741
4742 public static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER = 138;
4743 private int maxPresolveIterations_;
4754 @java.lang.Override
4755 public boolean hasMaxPresolveIterations() {
4756 return ((bitField2_ & 0x00000002) != 0);
4757 }
4768 @java.lang.Override
4770 return maxPresolveIterations_;
4771 }
4772
4773 public static final int CP_MODEL_PRESOLVE_FIELD_NUMBER = 86;
4774 private boolean cpModelPresolve_;
4783 @java.lang.Override
4784 public boolean hasCpModelPresolve() {
4785 return ((bitField2_ & 0x00000004) != 0);
4786 }
4795 @java.lang.Override
4796 public boolean getCpModelPresolve() {
4797 return cpModelPresolve_;
4798 }
4799
4801 private boolean cpModelPostsolveWithFullSolver_;
4813 @java.lang.Override
4815 return ((bitField2_ & 0x00000008) != 0);
4816 }
4828 @java.lang.Override
4830 return cpModelPostsolveWithFullSolver_;
4831 }
4832
4834 private int cpModelMaxNumPresolveOperations_;
4844 @java.lang.Override
4846 return ((bitField2_ & 0x00000010) != 0);
4847 }
4857 @java.lang.Override
4859 return cpModelMaxNumPresolveOperations_;
4860 }
4861
4862 public static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER = 110;
4863 private int cpModelProbingLevel_;
4872 @java.lang.Override
4873 public boolean hasCpModelProbingLevel() {
4874 return ((bitField2_ & 0x00000020) != 0);
4875 }
4884 @java.lang.Override
4886 return cpModelProbingLevel_;
4887 }
4888
4889 public static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER = 93;
4890 private boolean cpModelUseSatPresolve_;
4899 @java.lang.Override
4900 public boolean hasCpModelUseSatPresolve() {
4901 return ((bitField2_ & 0x00000040) != 0);
4902 }
4911 @java.lang.Override
4912 public boolean getCpModelUseSatPresolve() {
4913 return cpModelUseSatPresolve_;
4914 }
4915
4916 public static final int USE_SAT_INPROCESSING_FIELD_NUMBER = 163;
4917 private boolean useSatInprocessing_;
4922 @java.lang.Override
4923 public boolean hasUseSatInprocessing() {
4924 return ((bitField2_ & 0x00000080) != 0);
4925 }
4930 @java.lang.Override
4931 public boolean getUseSatInprocessing() {
4932 return useSatInprocessing_;
4933 }
4934
4935 public static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER = 140;
4936 private boolean expandElementConstraints_;
4946 @java.lang.Override
4948 return ((bitField2_ & 0x00000100) != 0);
4949 }
4959 @java.lang.Override
4961 return expandElementConstraints_;
4962 }
4963
4964 public static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER = 143;
4965 private boolean expandAutomatonConstraints_;
4974 @java.lang.Override
4976 return ((bitField2_ & 0x00000200) != 0);
4977 }
4986 @java.lang.Override
4988 return expandAutomatonConstraints_;
4989 }
4990
4991 public static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER = 158;
4992 private boolean expandTableConstraints_;
5002 @java.lang.Override
5003 public boolean hasExpandTableConstraints() {
5004 return ((bitField2_ & 0x00000400) != 0);
5005 }
5015 @java.lang.Override
5016 public boolean getExpandTableConstraints() {
5017 return expandTableConstraints_;
5018 }
5019
5020 public static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER = 170;
5021 private boolean expandAlldiffConstraints_;
5031 @java.lang.Override
5033 return ((bitField2_ & 0x00000800) != 0);
5034 }
5044 @java.lang.Override
5046 return expandAlldiffConstraints_;
5047 }
5048
5049 public static final int EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER = 182;
5050 private boolean expandReservoirConstraints_;
5060 @java.lang.Override
5062 return ((bitField2_ & 0x00001000) != 0);
5063 }
5073 @java.lang.Override
5075 return expandReservoirConstraints_;
5076 }
5077
5078 public static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER = 181;
5079 private boolean disableConstraintExpansion_;
5089 @java.lang.Override
5091 return ((bitField2_ & 0x00002000) != 0);
5092 }
5102 @java.lang.Override
5104 return disableConstraintExpansion_;
5105 }
5106
5107 public static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER = 145;
5108 private double mergeNoOverlapWorkLimit_;
5121 @java.lang.Override
5123 return ((bitField2_ & 0x00004000) != 0);
5124 }
5137 @java.lang.Override
5139 return mergeNoOverlapWorkLimit_;
5140 }
5141
5142 public static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER = 146;
5143 private double mergeAtMostOneWorkLimit_;
5148 @java.lang.Override
5150 return ((bitField2_ & 0x00008000) != 0);
5151 }
5156 @java.lang.Override
5158 return mergeAtMostOneWorkLimit_;
5159 }
5160
5161 public static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER = 147;
5162 private int presolveSubstitutionLevel_;
5174 @java.lang.Override
5176 return ((bitField2_ & 0x00010000) != 0);
5177 }
5189 @java.lang.Override
5191 return presolveSubstitutionLevel_;
5192 }
5193
5195 private boolean presolveExtractIntegerEnforcement_;
5209 @java.lang.Override
5211 return ((bitField2_ & 0x00020000) != 0);
5212 }
5226 @java.lang.Override
5228 return presolveExtractIntegerEnforcement_;
5229 }
5230
5231 public static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER = 35;
5232 private boolean useOptimizationHints_;
5244 @java.lang.Override
5245 public boolean hasUseOptimizationHints() {
5246 return ((bitField2_ & 0x00040000) != 0);
5247 }
5259 @java.lang.Override
5260 public boolean getUseOptimizationHints() {
5261 return useOptimizationHints_;
5262 }
5263
5264 public static final int MINIMIZE_CORE_FIELD_NUMBER = 50;
5265 private boolean minimizeCore_;
5274 @java.lang.Override
5275 public boolean hasMinimizeCore() {
5276 return ((bitField2_ & 0x00080000) != 0);
5277 }
5286 @java.lang.Override
5287 public boolean getMinimizeCore() {
5288 return minimizeCore_;
5289 }
5290
5291 public static final int FIND_MULTIPLE_CORES_FIELD_NUMBER = 84;
5292 private boolean findMultipleCores_;
5302 @java.lang.Override
5303 public boolean hasFindMultipleCores() {
5304 return ((bitField2_ & 0x00100000) != 0);
5305 }
5315 @java.lang.Override
5316 public boolean getFindMultipleCores() {
5317 return findMultipleCores_;
5318 }
5319
5320 public static final int COVER_OPTIMIZATION_FIELD_NUMBER = 89;
5321 private boolean coverOptimization_;
5331 @java.lang.Override
5332 public boolean hasCoverOptimization() {
5333 return ((bitField2_ & 0x00200000) != 0);
5334 }
5344 @java.lang.Override
5345 public boolean getCoverOptimization() {
5346 return coverOptimization_;
5347 }
5348
5349 public static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER = 51;
5350 private int maxSatAssumptionOrder_;
5355 @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
5356 return ((bitField2_ & 0x00400000) != 0);
5357 }
5362 @java.lang.Override public com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder() {
5363 @SuppressWarnings("deprecation")
5364 com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder result = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(maxSatAssumptionOrder_);
5365 return result == null ? com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.DEFAULT_ASSUMPTION_ORDER : result;
5366 }
5367
5369 private boolean maxSatReverseAssumptionOrder_;
5379 @java.lang.Override
5381 return ((bitField2_ & 0x00800000) != 0);
5382 }
5392 @java.lang.Override
5394 return maxSatReverseAssumptionOrder_;
5395 }
5396
5397 public static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER = 53;
5398 private int maxSatStratification_;
5403 @java.lang.Override public boolean hasMaxSatStratification() {
5404 return ((bitField2_ & 0x01000000) != 0);
5405 }
5410 @java.lang.Override public com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification() {
5411 @SuppressWarnings("deprecation")
5412 com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm result = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(maxSatStratification_);
5413 return result == null ? com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.STRATIFICATION_DESCENT : result;
5414 }
5415
5417 private boolean usePrecedencesInDisjunctiveConstraint_;
5433 @java.lang.Override
5435 return ((bitField2_ & 0x02000000) != 0);
5436 }
5452 @java.lang.Override
5454 return usePrecedencesInDisjunctiveConstraint_;
5455 }
5456
5458 private boolean useOverloadCheckerInCumulativeConstraint_;
5472 @java.lang.Override
5474 return ((bitField2_ & 0x04000000) != 0);
5475 }
5489 @java.lang.Override
5491 return useOverloadCheckerInCumulativeConstraint_;
5492 }
5493
5495 private boolean useTimetableEdgeFindingInCumulativeConstraint_;
5509 @java.lang.Override
5511 return ((bitField2_ & 0x08000000) != 0);
5512 }
5526 @java.lang.Override
5528 return useTimetableEdgeFindingInCumulativeConstraint_;
5529 }
5530
5532 private boolean useDisjunctiveConstraintInCumulativeConstraint_;
5548 @java.lang.Override
5550 return ((bitField2_ & 0x10000000) != 0);
5551 }
5567 @java.lang.Override
5569 return useDisjunctiveConstraintInCumulativeConstraint_;
5570 }
5571
5572 public static final int LINEARIZATION_LEVEL_FIELD_NUMBER = 90;
5573 private int linearizationLevel_;
5585 @java.lang.Override
5586 public boolean hasLinearizationLevel() {
5587 return ((bitField2_ & 0x20000000) != 0);
5588 }
5600 @java.lang.Override
5602 return linearizationLevel_;
5603 }
5604
5605 public static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER = 107;
5606 private int booleanEncodingLevel_;
5616 @java.lang.Override
5617 public boolean hasBooleanEncodingLevel() {
5618 return ((bitField2_ & 0x40000000) != 0);
5619 }
5629 @java.lang.Override
5631 return booleanEncodingLevel_;
5632 }
5633
5635 private int maxDomainSizeWhenEncodingEqNeqConstraints_;
5647 @java.lang.Override
5649 return ((bitField2_ & 0x80000000) != 0);
5650 }
5662 @java.lang.Override
5664 return maxDomainSizeWhenEncodingEqNeqConstraints_;
5665 }
5666
5667 public static final int MAX_NUM_CUTS_FIELD_NUMBER = 91;
5668 private int maxNumCuts_;
5680 @java.lang.Override
5681 public boolean hasMaxNumCuts() {
5682 return ((bitField3_ & 0x00000001) != 0);
5683 }
5695 @java.lang.Override
5696 public int getMaxNumCuts() {
5697 return maxNumCuts_;
5698 }
5699
5700 public static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER = 92;
5701 private boolean onlyAddCutsAtLevelZero_;
5711 @java.lang.Override
5712 public boolean hasOnlyAddCutsAtLevelZero() {
5713 return ((bitField3_ & 0x00000002) != 0);
5714 }
5724 @java.lang.Override
5725 public boolean getOnlyAddCutsAtLevelZero() {
5726 return onlyAddCutsAtLevelZero_;
5727 }
5728
5729 public static final int ADD_KNAPSACK_CUTS_FIELD_NUMBER = 111;
5730 private boolean addKnapsackCuts_;
5741 @java.lang.Override
5742 public boolean hasAddKnapsackCuts() {
5743 return ((bitField3_ & 0x00000004) != 0);
5744 }
5755 @java.lang.Override
5756 public boolean getAddKnapsackCuts() {
5757 return addKnapsackCuts_;
5758 }
5759
5760 public static final int ADD_CG_CUTS_FIELD_NUMBER = 117;
5761 private boolean addCgCuts_;
5771 @java.lang.Override
5772 public boolean hasAddCgCuts() {
5773 return ((bitField3_ & 0x00000008) != 0);
5774 }
5784 @java.lang.Override
5785 public boolean getAddCgCuts() {
5786 return addCgCuts_;
5787 }
5788
5789 public static final int ADD_MIR_CUTS_FIELD_NUMBER = 120;
5790 private boolean addMirCuts_;
5800 @java.lang.Override
5801 public boolean hasAddMirCuts() {
5802 return ((bitField3_ & 0x00000010) != 0);
5803 }
5813 @java.lang.Override
5814 public boolean getAddMirCuts() {
5815 return addMirCuts_;
5816 }
5817
5818 public static final int ADD_ZERO_HALF_CUTS_FIELD_NUMBER = 169;
5819 private boolean addZeroHalfCuts_;
5829 @java.lang.Override
5830 public boolean hasAddZeroHalfCuts() {
5831 return ((bitField3_ & 0x00000020) != 0);
5832 }
5842 @java.lang.Override
5843 public boolean getAddZeroHalfCuts() {
5844 return addZeroHalfCuts_;
5845 }
5846
5847 public static final int ADD_CLIQUE_CUTS_FIELD_NUMBER = 172;
5848 private boolean addCliqueCuts_;
5859 @java.lang.Override
5860 public boolean hasAddCliqueCuts() {
5861 return ((bitField3_ & 0x00000040) != 0);
5862 }
5873 @java.lang.Override
5874 public boolean getAddCliqueCuts() {
5875 return addCliqueCuts_;
5876 }
5877
5878 public static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER = 148;
5879 private int maxAllDiffCutSize_;
5890 @java.lang.Override
5891 public boolean hasMaxAllDiffCutSize() {
5892 return ((bitField3_ & 0x00000080) != 0);
5893 }
5904 @java.lang.Override
5906 return maxAllDiffCutSize_;
5907 }
5908
5909 public static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER = 152;
5910 private boolean addLinMaxCuts_;
5921 @java.lang.Override
5922 public boolean hasAddLinMaxCuts() {
5923 return ((bitField3_ & 0x00000100) != 0);
5924 }
5935 @java.lang.Override
5936 public boolean getAddLinMaxCuts() {
5937 return addLinMaxCuts_;
5938 }
5939
5940 public static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER = 119;
5941 private int maxIntegerRoundingScaling_;
5956 @java.lang.Override
5958 return ((bitField3_ & 0x00000200) != 0);
5959 }
5974 @java.lang.Override
5976 return maxIntegerRoundingScaling_;
5977 }
5978
5979 public static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER = 112;
5980 private boolean addLpConstraintsLazily_;
5992 @java.lang.Override
5993 public boolean hasAddLpConstraintsLazily() {
5994 return ((bitField3_ & 0x00000400) != 0);
5995 }
6007 @java.lang.Override
6008 public boolean getAddLpConstraintsLazily() {
6009 return addLpConstraintsLazily_;
6010 }
6011
6013 private double minOrthogonalityForLpConstraints_;
6026 @java.lang.Override
6028 return ((bitField3_ & 0x00000800) != 0);
6029 }
6042 @java.lang.Override
6044 return minOrthogonalityForLpConstraints_;
6045 }
6046
6047 public static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER = 154;
6048 private int maxCutRoundsAtLevelZero_;
6057 @java.lang.Override
6059 return ((bitField3_ & 0x00001000) != 0);
6060 }
6069 @java.lang.Override
6071 return maxCutRoundsAtLevelZero_;
6072 }
6073
6074 public static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER = 121;
6075 private int maxConsecutiveInactiveCount_;
6086 @java.lang.Override
6088 return ((bitField3_ & 0x00002000) != 0);
6089 }
6100 @java.lang.Override
6102 return maxConsecutiveInactiveCount_;
6103 }
6104
6105 public static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER = 155;
6106 private double cutMaxActiveCountValue_;
6117 @java.lang.Override
6118 public boolean hasCutMaxActiveCountValue() {
6119 return ((bitField3_ & 0x00004000) != 0);
6120 }
6131 @java.lang.Override
6133 return cutMaxActiveCountValue_;
6134 }
6135
6136 public static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER = 156;
6137 private double cutActiveCountDecay_;
6142 @java.lang.Override
6143 public boolean hasCutActiveCountDecay() {
6144 return ((bitField3_ & 0x00008000) != 0);
6145 }
6150 @java.lang.Override
6151 public double getCutActiveCountDecay() {
6152 return cutActiveCountDecay_;
6153 }
6154
6155 public static final int CUT_CLEANUP_TARGET_FIELD_NUMBER = 157;
6156 private int cutCleanupTarget_;
6165 @java.lang.Override
6166 public boolean hasCutCleanupTarget() {
6167 return ((bitField3_ & 0x00010000) != 0);
6168 }
6177 @java.lang.Override
6178 public int getCutCleanupTarget() {
6179 return cutCleanupTarget_;
6180 }
6181
6182 public static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER = 122;
6183 private int newConstraintsBatchSize_;
6193 @java.lang.Override
6195 return ((bitField3_ & 0x00020000) != 0);
6196 }
6206 @java.lang.Override
6208 return newConstraintsBatchSize_;
6209 }
6210
6211 public static final int SEARCH_BRANCHING_FIELD_NUMBER = 82;
6212 private int searchBranching_;
6217 @java.lang.Override public boolean hasSearchBranching() {
6218 return ((bitField3_ & 0x00040000) != 0);
6219 }
6224 @java.lang.Override public com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching() {
6225 @SuppressWarnings("deprecation")
6226 com.google.ortools.sat.SatParameters.SearchBranching result = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(searchBranching_);
6227 return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
6228 }
6229
6230 public static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER = 153;
6231 private int hintConflictLimit_;
6240 @java.lang.Override
6241 public boolean hasHintConflictLimit() {
6242 return ((bitField3_ & 0x00080000) != 0);
6243 }
6252 @java.lang.Override
6254 return hintConflictLimit_;
6255 }
6256
6257 public static final int REPAIR_HINT_FIELD_NUMBER = 167;
6258 private boolean repairHint_;
6270 @java.lang.Override
6271 public boolean hasRepairHint() {
6272 return ((bitField3_ & 0x00100000) != 0);
6273 }
6285 @java.lang.Override
6286 public boolean getRepairHint() {
6287 return repairHint_;
6288 }
6289
6291 private boolean fixVariablesToTheirHintedValue_;
6301 @java.lang.Override
6303 return ((bitField3_ & 0x00200000) != 0);
6304 }
6314 @java.lang.Override
6316 return fixVariablesToTheirHintedValue_;
6317 }
6318
6319 public static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER = 94;
6320 private boolean exploitIntegerLpSolution_;
6332 @java.lang.Override
6334 return ((bitField3_ & 0x00400000) != 0);
6335 }
6347 @java.lang.Override
6349 return exploitIntegerLpSolution_;
6350 }
6351
6352 public static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER = 116;
6353 private boolean exploitAllLpSolution_;
6364 @java.lang.Override
6365 public boolean hasExploitAllLpSolution() {
6366 return ((bitField3_ & 0x00800000) != 0);
6367 }
6378 @java.lang.Override
6379 public boolean getExploitAllLpSolution() {
6380 return exploitAllLpSolution_;
6381 }
6382
6383 public static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER = 130;
6384 private boolean exploitBestSolution_;
6393 @java.lang.Override
6394 public boolean hasExploitBestSolution() {
6395 return ((bitField3_ & 0x01000000) != 0);
6396 }
6405 @java.lang.Override
6406 public boolean getExploitBestSolution() {
6407 return exploitBestSolution_;
6408 }
6409
6410 public static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER = 161;
6411 private boolean exploitRelaxationSolution_;
6422 @java.lang.Override
6424 return ((bitField3_ & 0x02000000) != 0);
6425 }
6436 @java.lang.Override
6438 return exploitRelaxationSolution_;
6439 }
6440
6441 public static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER = 131;
6442 private boolean exploitObjective_;
6452 @java.lang.Override
6453 public boolean hasExploitObjective() {
6454 return ((bitField3_ & 0x04000000) != 0);
6455 }
6465 @java.lang.Override
6466 public boolean getExploitObjective() {
6467 return exploitObjective_;
6468 }
6469
6470 public static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER = 142;
6471 private long probingPeriodAtRoot_;
6482 @java.lang.Override
6483 public boolean hasProbingPeriodAtRoot() {
6484 return ((bitField3_ & 0x08000000) != 0);
6485 }
6496 @java.lang.Override
6498 return probingPeriodAtRoot_;
6499 }
6500
6501 public static final int USE_PROBING_SEARCH_FIELD_NUMBER = 176;
6502 private boolean useProbingSearch_;
6512 @java.lang.Override
6513 public boolean hasUseProbingSearch() {
6514 return ((bitField3_ & 0x10000000) != 0);
6515 }
6525 @java.lang.Override
6526 public boolean getUseProbingSearch() {
6527 return useProbingSearch_;
6528 }
6529
6531 private long pseudoCostReliabilityThreshold_;
6541 @java.lang.Override
6543 return ((bitField3_ & 0x20000000) != 0);
6544 }
6554 @java.lang.Override
6556 return pseudoCostReliabilityThreshold_;
6557 }
6558
6559 public static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER = 83;
6560 private boolean optimizeWithCore_;
6572 @java.lang.Override
6573 public boolean hasOptimizeWithCore() {
6574 return ((bitField3_ & 0x40000000) != 0);
6575 }
6587 @java.lang.Override
6588 public boolean getOptimizeWithCore() {
6589 return optimizeWithCore_;
6590 }
6591
6592 public static final int OPTIMIZE_WITH_LB_TREE_SEARCH_FIELD_NUMBER = 188;
6593 private boolean optimizeWithLbTreeSearch_;
6606 @java.lang.Override
6608 return ((bitField3_ & 0x80000000) != 0);
6609 }
6622 @java.lang.Override
6624 return optimizeWithLbTreeSearch_;
6625 }
6626
6627 public static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER = 99;
6628 private int binarySearchNumConflicts_;
6640 @java.lang.Override
6642 return ((bitField4_ & 0x00000001) != 0);
6643 }
6655 @java.lang.Override
6657 return binarySearchNumConflicts_;
6658 }
6659
6660 public static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER = 85;
6661 private boolean optimizeWithMaxHs_;
6675 @java.lang.Override
6676 public boolean hasOptimizeWithMaxHs() {
6677 return ((bitField4_ & 0x00000002) != 0);
6678 }
6692 @java.lang.Override
6693 public boolean getOptimizeWithMaxHs() {
6694 return optimizeWithMaxHs_;
6695 }
6696
6697 public static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER = 87;
6698 private boolean enumerateAllSolutions_;
6712 @java.lang.Override
6713 public boolean hasEnumerateAllSolutions() {
6714 return ((bitField4_ & 0x00000004) != 0);
6715 }
6729 @java.lang.Override
6730 public boolean getEnumerateAllSolutions() {
6731 return enumerateAllSolutions_;
6732 }
6733
6735 private boolean keepAllFeasibleSolutionsInPresolve_;
6750 @java.lang.Override
6752 return ((bitField4_ & 0x00000008) != 0);
6753 }
6768 @java.lang.Override
6770 return keepAllFeasibleSolutionsInPresolve_;
6771 }
6772
6774 private boolean fillTightenedDomainsInResponse_;
6787 @java.lang.Override
6789 return ((bitField4_ & 0x00000010) != 0);
6790 }
6803 @java.lang.Override
6805 return fillTightenedDomainsInResponse_;
6806 }
6807
6808 public static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER = 106;
6809 private boolean instantiateAllVariables_;
6821 @java.lang.Override
6823 return ((bitField4_ & 0x00000020) != 0);
6824 }
6836 @java.lang.Override
6838 return instantiateAllVariables_;
6839 }
6840
6842 private boolean autoDetectGreaterThanAtLeastOneOf_;
6854 @java.lang.Override
6856 return ((bitField4_ & 0x00000040) != 0);
6857 }
6869 @java.lang.Override
6871 return autoDetectGreaterThanAtLeastOneOf_;
6872 }
6873
6874 public static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER = 98;
6875 private boolean stopAfterFirstSolution_;
6884 @java.lang.Override
6885 public boolean hasStopAfterFirstSolution() {
6886 return ((bitField4_ & 0x00000080) != 0);
6887 }
6896 @java.lang.Override
6897 public boolean getStopAfterFirstSolution() {
6898 return stopAfterFirstSolution_;
6899 }
6900
6901 public static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER = 149;
6902 private boolean stopAfterPresolve_;
6912 @java.lang.Override
6913 public boolean hasStopAfterPresolve() {
6914 return ((bitField4_ & 0x00000100) != 0);
6915 }
6925 @java.lang.Override
6926 public boolean getStopAfterPresolve() {
6927 return stopAfterPresolve_;
6928 }
6929
6930 public static final int NUM_SEARCH_WORKERS_FIELD_NUMBER = 100;
6931 private int numSearchWorkers_;
6946 @java.lang.Override
6947 public boolean hasNumSearchWorkers() {
6948 return ((bitField4_ & 0x00000200) != 0);
6949 }
6964 @java.lang.Override
6965 public int getNumSearchWorkers() {
6966 return numSearchWorkers_;
6967 }
6968
6969 public static final int INTERLEAVE_SEARCH_FIELD_NUMBER = 136;
6970 private boolean interleaveSearch_;
6983 @java.lang.Override
6984 public boolean hasInterleaveSearch() {
6985 return ((bitField4_ & 0x00000400) != 0);
6986 }
6999 @java.lang.Override
7000 public boolean getInterleaveSearch() {
7001 return interleaveSearch_;
7002 }
7003
7004 public static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER = 134;
7005 private int interleaveBatchSize_;
7010 @java.lang.Override
7011 public boolean hasInterleaveBatchSize() {
7012 return ((bitField4_ & 0x00000800) != 0);
7013 }
7018 @java.lang.Override
7020 return interleaveBatchSize_;
7021 }
7022
7024 private boolean reduceMemoryUsageInInterleaveMode_;
7033 @java.lang.Override
7035 return ((bitField4_ & 0x00001000) != 0);
7036 }
7045 @java.lang.Override
7047 return reduceMemoryUsageInInterleaveMode_;
7048 }
7049
7050 public static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER = 113;
7051 private boolean shareObjectiveBounds_;
7060 @java.lang.Override
7061 public boolean hasShareObjectiveBounds() {
7062 return ((bitField4_ & 0x00002000) != 0);
7063 }
7072 @java.lang.Override
7073 public boolean getShareObjectiveBounds() {
7074 return shareObjectiveBounds_;
7075 }
7076
7077 public static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER = 114;
7078 private boolean shareLevelZeroBounds_;
7087 @java.lang.Override
7088 public boolean hasShareLevelZeroBounds() {
7089 return ((bitField4_ & 0x00004000) != 0);
7090 }
7099 @java.lang.Override
7100 public boolean getShareLevelZeroBounds() {
7101 return shareLevelZeroBounds_;
7102 }
7103
7104 public static final int USE_LNS_ONLY_FIELD_NUMBER = 101;
7105 private boolean useLnsOnly_;
7114 @java.lang.Override
7115 public boolean hasUseLnsOnly() {
7116 return ((bitField4_ & 0x00008000) != 0);
7117 }
7126 @java.lang.Override
7127 public boolean getUseLnsOnly() {
7128 return useLnsOnly_;
7129 }
7130
7132 private boolean lnsFocusOnDecisionVariables_;
7137 @java.lang.Override
7139 return ((bitField4_ & 0x00010000) != 0);
7140 }
7145 @java.lang.Override
7147 return lnsFocusOnDecisionVariables_;
7148 }
7149
7151 private boolean lnsExpandIntervalsInConstraintGraph_;
7156 @java.lang.Override
7158 return ((bitField4_ & 0x00020000) != 0);
7159 }
7164 @java.lang.Override
7166 return lnsExpandIntervalsInConstraintGraph_;
7167 }
7168
7169 public static final int SOLUTION_POOL_SIZE_FIELD_NUMBER = 193;
7170 private int solutionPoolSize_;
7180 @java.lang.Override
7181 public boolean hasSolutionPoolSize() {
7182 return ((bitField4_ & 0x00040000) != 0);
7183 }
7193 @java.lang.Override
7194 public int getSolutionPoolSize() {
7195 return solutionPoolSize_;
7196 }
7197
7198 public static final int USE_RINS_LNS_FIELD_NUMBER = 129;
7199 private boolean useRinsLns_;
7208 @java.lang.Override
7209 public boolean hasUseRinsLns() {
7210 return ((bitField4_ & 0x00080000) != 0);
7211 }
7220 @java.lang.Override
7221 public boolean getUseRinsLns() {
7222 return useRinsLns_;
7223 }
7224
7225 public static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER = 164;
7226 private boolean useFeasibilityPump_;
7235 @java.lang.Override
7236 public boolean hasUseFeasibilityPump() {
7237 return ((bitField4_ & 0x00100000) != 0);
7238 }
7247 @java.lang.Override
7248 public boolean getUseFeasibilityPump() {
7249 return useFeasibilityPump_;
7250 }
7251
7252 public static final int FP_ROUNDING_FIELD_NUMBER = 165;
7253 private int fpRounding_;
7258 @java.lang.Override public boolean hasFpRounding() {
7259 return ((bitField4_ & 0x00200000) != 0);
7260 }
7265 @java.lang.Override public com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding() {
7266 @SuppressWarnings("deprecation")
7267 com.google.ortools.sat.SatParameters.FPRoundingMethod result = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(fpRounding_);
7268 return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
7269 }
7270
7271 public static final int USE_RELAXATION_LNS_FIELD_NUMBER = 150;
7272 private boolean useRelaxationLns_;
7282 @java.lang.Override
7283 public boolean hasUseRelaxationLns() {
7284 return ((bitField4_ & 0x00400000) != 0);
7285 }
7295 @java.lang.Override
7296 public boolean getUseRelaxationLns() {
7297 return useRelaxationLns_;
7298 }
7299
7300 public static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER = 137;
7301 private boolean diversifyLnsParams_;
7310 @java.lang.Override
7311 public boolean hasDiversifyLnsParams() {
7312 return ((bitField4_ & 0x00800000) != 0);
7313 }
7322 @java.lang.Override
7323 public boolean getDiversifyLnsParams() {
7324 return diversifyLnsParams_;
7325 }
7326
7327 public static final int RANDOMIZE_SEARCH_FIELD_NUMBER = 103;
7328 private boolean randomizeSearch_;
7337 @java.lang.Override
7338 public boolean hasRandomizeSearch() {
7339 return ((bitField4_ & 0x01000000) != 0);
7340 }
7349 @java.lang.Override
7350 public boolean getRandomizeSearch() {
7351 return randomizeSearch_;
7352 }
7353
7354 public static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER = 104;
7355 private long searchRandomizationTolerance_;
7370 @java.lang.Override
7372 return ((bitField4_ & 0x02000000) != 0);
7373 }
7388 @java.lang.Override
7390 return searchRandomizationTolerance_;
7391 }
7392
7393 public static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER = 108;
7394 private boolean useOptionalVariables_;
7405 @java.lang.Override
7406 public boolean hasUseOptionalVariables() {
7407 return ((bitField4_ & 0x04000000) != 0);
7408 }
7419 @java.lang.Override
7420 public boolean getUseOptionalVariables() {
7421 return useOptionalVariables_;
7422 }
7423
7424 public static final int USE_EXACT_LP_REASON_FIELD_NUMBER = 109;
7425 private boolean useExactLpReason_;
7437 @java.lang.Override
7438 public boolean hasUseExactLpReason() {
7439 return ((bitField4_ & 0x08000000) != 0);
7440 }
7452 @java.lang.Override
7453 public boolean getUseExactLpReason() {
7454 return useExactLpReason_;
7455 }
7456
7457 public static final int USE_BRANCHING_IN_LP_FIELD_NUMBER = 139;
7458 private boolean useBranchingInLp_;
7469 @java.lang.Override
7470 public boolean hasUseBranchingInLp() {
7471 return ((bitField4_ & 0x10000000) != 0);
7472 }
7483 @java.lang.Override
7484 public boolean getUseBranchingInLp() {
7485 return useBranchingInLp_;
7486 }
7487
7488 public static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER = 133;
7489 private boolean useCombinedNoOverlap_;
7500 @java.lang.Override
7501 public boolean hasUseCombinedNoOverlap() {
7502 return ((bitField4_ & 0x20000000) != 0);
7503 }
7514 @java.lang.Override
7515 public boolean getUseCombinedNoOverlap() {
7516 return useCombinedNoOverlap_;
7517 }
7518
7519 public static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER = 135;
7520 private boolean catchSigintSignal_;
7531 @java.lang.Override
7532 public boolean hasCatchSigintSignal() {
7533 return ((bitField4_ & 0x40000000) != 0);
7534 }
7545 @java.lang.Override
7546 public boolean getCatchSigintSignal() {
7547 return catchSigintSignal_;
7548 }
7549
7550 public static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER = 144;
7551 private boolean useImpliedBounds_;
7562 @java.lang.Override
7563 public boolean hasUseImpliedBounds() {
7564 return ((bitField4_ & 0x80000000) != 0);
7565 }
7576 @java.lang.Override
7577 public boolean getUseImpliedBounds() {
7578 return useImpliedBounds_;
7579 }
7580
7581 public static final int POLISH_LP_SOLUTION_FIELD_NUMBER = 175;
7582 private boolean polishLpSolution_;
7594 @java.lang.Override
7595 public boolean hasPolishLpSolution() {
7596 return ((bitField5_ & 0x00000001) != 0);
7597 }
7609 @java.lang.Override
7610 public boolean getPolishLpSolution() {
7611 return polishLpSolution_;
7612 }
7613
7614 public static final int CONVERT_INTERVALS_FIELD_NUMBER = 177;
7615 private boolean convertIntervals_;
7626 @java.lang.Override
7627 public boolean hasConvertIntervals() {
7628 return ((bitField5_ & 0x00000002) != 0);
7629 }
7640 @java.lang.Override
7641 public boolean getConvertIntervals() {
7642 return convertIntervals_;
7643 }
7644
7645 public static final int SYMMETRY_LEVEL_FIELD_NUMBER = 183;
7646 private int symmetryLevel_;
7658 @java.lang.Override
7659 public boolean hasSymmetryLevel() {
7660 return ((bitField5_ & 0x00000004) != 0);
7661 }
7673 @java.lang.Override
7674 public int getSymmetryLevel() {
7675 return symmetryLevel_;
7676 }
7677
7678 public static final int MIP_MAX_BOUND_FIELD_NUMBER = 124;
7679 private double mipMaxBound_;
7690 @java.lang.Override
7691 public boolean hasMipMaxBound() {
7692 return ((bitField5_ & 0x00000008) != 0);
7693 }
7704 @java.lang.Override
7705 public double getMipMaxBound() {
7706 return mipMaxBound_;
7707 }
7708
7709 public static final int MIP_VAR_SCALING_FIELD_NUMBER = 125;
7710 private double mipVarScaling_;
7721 @java.lang.Override
7722 public boolean hasMipVarScaling() {
7723 return ((bitField5_ & 0x00000010) != 0);
7724 }
7735 @java.lang.Override
7736 public double getMipVarScaling() {
7737 return mipVarScaling_;
7738 }
7739
7741 private boolean mipAutomaticallyScaleVariables_;
7754 @java.lang.Override
7756 return ((bitField5_ & 0x00000020) != 0);
7757 }
7770 @java.lang.Override
7772 return mipAutomaticallyScaleVariables_;
7773 }
7774
7775 public static final int MIP_WANTED_PRECISION_FIELD_NUMBER = 126;
7776 private double mipWantedPrecision_;
7794 @java.lang.Override
7795 public boolean hasMipWantedPrecision() {
7796 return ((bitField5_ & 0x00000040) != 0);
7797 }
7815 @java.lang.Override
7816 public double getMipWantedPrecision() {
7817 return mipWantedPrecision_;
7818 }
7819
7820 public static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER = 127;
7821 private int mipMaxActivityExponent_;
7836 @java.lang.Override
7837 public boolean hasMipMaxActivityExponent() {
7838 return ((bitField5_ & 0x00000080) != 0);
7839 }
7854 @java.lang.Override
7856 return mipMaxActivityExponent_;
7857 }
7858
7859 public static final int MIP_CHECK_PRECISION_FIELD_NUMBER = 128;
7860 private double mipCheckPrecision_;
7871 @java.lang.Override
7872 public boolean hasMipCheckPrecision() {
7873 return ((bitField5_ & 0x00000100) != 0);
7874 }
7885 @java.lang.Override
7886 public double getMipCheckPrecision() {
7887 return mipCheckPrecision_;
7888 }
7889
7890 private byte memoizedIsInitialized = -1;
7891 @java.lang.Override
7892 public final boolean isInitialized() {
7893 byte isInitialized = memoizedIsInitialized;
7894 if (isInitialized == 1) return true;
7895 if (isInitialized == 0) return false;
7896
7897 memoizedIsInitialized = 1;
7898 return true;
7899 }
7900
7901 @java.lang.Override
7902 public void writeTo(com.google.protobuf.CodedOutputStream output)
7903 throws java.io.IOException {
7904 if (((bitField0_ & 0x00000002) != 0)) {
7905 output.writeEnum(1, preferredVariableOrder_);
7906 }
7907 if (((bitField0_ & 0x00000004) != 0)) {
7908 output.writeEnum(2, initialPolarity_);
7909 }
7910 if (((bitField0_ & 0x00000400) != 0)) {
7911 output.writeEnum(4, minimizationAlgorithm_);
7912 }
7913 if (((bitField0_ & 0x00002000) != 0)) {
7914 output.writeInt32(11, clauseCleanupPeriod_);
7915 }
7916 if (((bitField0_ & 0x00004000) != 0)) {
7917 output.writeInt32(13, clauseCleanupTarget_);
7918 }
7919 if (((bitField0_ & 0x00800000) != 0)) {
7920 output.writeDouble(15, variableActivityDecay_);
7921 }
7922 if (((bitField0_ & 0x01000000) != 0)) {
7923 output.writeDouble(16, maxVariableActivityValue_);
7924 }
7925 if (((bitField0_ & 0x10000000) != 0)) {
7926 output.writeDouble(17, clauseActivityDecay_);
7927 }
7928 if (((bitField0_ & 0x20000000) != 0)) {
7929 output.writeDouble(18, maxClauseActivityValue_);
7930 }
7931 if (((bitField0_ & 0x02000000) != 0)) {
7932 output.writeDouble(22, glucoseMaxDecay_);
7933 }
7934 if (((bitField0_ & 0x04000000) != 0)) {
7935 output.writeDouble(23, glucoseDecayIncrement_);
7936 }
7937 if (((bitField0_ & 0x08000000) != 0)) {
7938 output.writeInt32(24, glucoseDecayIncrementPeriod_);
7939 }
7940 if (((bitField0_ & 0x80000000) != 0)) {
7941 output.writeInt32(30, restartPeriod_);
7942 }
7943 if (((bitField1_ & 0x00008000) != 0)) {
7944 output.writeInt32(31, randomSeed_);
7945 }
7946 if (((bitField0_ & 0x00000040) != 0)) {
7947 output.writeDouble(32, randomBranchesRatio_);
7948 }
7949 if (((bitField1_ & 0x00004000) != 0)) {
7950 output.writeBool(33, treatBinaryClausesSeparately_);
7951 }
7952 if (((bitField0_ & 0x00000800) != 0)) {
7953 output.writeEnum(34, binaryMinimizationAlgorithm_);
7954 }
7955 if (((bitField2_ & 0x00040000) != 0)) {
7956 output.writeBool(35, useOptimizationHints_);
7957 }
7958 if (((bitField1_ & 0x00000100) != 0)) {
7959 output.writeDouble(36, maxTimeInSeconds_);
7960 }
7961 if (((bitField1_ & 0x00000400) != 0)) {
7962 output.writeInt64(37, maxNumberOfConflicts_);
7963 }
7964 if (((bitField1_ & 0x00000800) != 0)) {
7965 output.writeInt64(40, maxMemoryInMb_);
7966 }
7967 if (((bitField1_ & 0x00080000) != 0)) {
7968 output.writeBool(41, logSearchProgress_);
7969 }
7970 if (((bitField1_ & 0x01000000) != 0)) {
7971 output.writeBool(43, usePbResolution_);
7972 }
7973 if (((bitField0_ & 0x00000008) != 0)) {
7974 output.writeBool(44, usePhaseSaving_);
7975 }
7976 if (((bitField0_ & 0x00000020) != 0)) {
7977 output.writeDouble(45, randomPolarityRatio_);
7978 }
7979 if (((bitField0_ & 0x00080000) != 0)) {
7980 output.writeInt32(46, pbCleanupIncrement_);
7981 }
7982 if (((bitField0_ & 0x00100000) != 0)) {
7983 output.writeDouble(47, pbCleanupRatio_);
7984 }
7985 if (((bitField1_ & 0x02000000) != 0)) {
7986 output.writeBool(48, minimizeReductionDuringPbResolution_);
7987 }
7988 if (((bitField1_ & 0x04000000) != 0)) {
7989 output.writeBool(49, countAssumptionLevelsInLbd_);
7990 }
7991 if (((bitField2_ & 0x00080000) != 0)) {
7992 output.writeBool(50, minimizeCore_);
7993 }
7994 if (((bitField2_ & 0x00400000) != 0)) {
7995 output.writeEnum(51, maxSatAssumptionOrder_);
7996 }
7997 if (((bitField2_ & 0x00800000) != 0)) {
7998 output.writeBool(52, maxSatReverseAssumptionOrder_);
7999 }
8000 if (((bitField2_ & 0x01000000) != 0)) {
8001 output.writeEnum(53, maxSatStratification_);
8002 }
8003 if (((bitField1_ & 0x08000000) != 0)) {
8004 output.writeInt32(54, presolveBveThreshold_);
8005 }
8006 if (((bitField1_ & 0x10000000) != 0)) {
8007 output.writeInt32(55, presolveBveClauseWeight_);
8008 }
8009 if (((bitField0_ & 0x00001000) != 0)) {
8010 output.writeBool(56, subsumptionDuringConflictAnalysis_);
8011 }
8012 if (((bitField1_ & 0x20000000) != 0)) {
8013 output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
8014 }
8015 if (((bitField0_ & 0x00010000) != 0)) {
8016 output.writeEnum(58, clauseCleanupProtection_);
8017 }
8018 if (((bitField0_ & 0x00020000) != 0)) {
8019 output.writeInt32(59, clauseCleanupLbdBound_);
8020 }
8021 if (((bitField0_ & 0x00040000) != 0)) {
8022 output.writeEnum(60, clauseCleanupOrdering_);
8023 }
8024 for (int i = 0; i < restartAlgorithms_.size(); i++) {
8025 output.writeEnum(61, restartAlgorithms_.get(i));
8026 }
8027 if (((bitField1_ & 0x00000001) != 0)) {
8028 output.writeInt32(62, restartRunningWindowSize_);
8029 }
8030 if (((bitField1_ & 0x00000002) != 0)) {
8031 output.writeDouble(63, restartDlAverageRatio_);
8032 }
8033 if (((bitField1_ & 0x00000008) != 0)) {
8034 output.writeBool(64, useBlockingRestart_);
8035 }
8036 if (((bitField1_ & 0x00000010) != 0)) {
8037 output.writeInt32(65, blockingRestartWindowSize_);
8038 }
8039 if (((bitField1_ & 0x00000020) != 0)) {
8040 output.writeDouble(66, blockingRestartMultiplier_);
8041 }
8042 if (((bitField1_ & 0x00000200) != 0)) {
8043 output.writeDouble(67, maxDeterministicTime_);
8044 }
8045 if (((bitField1_ & 0x00000040) != 0)) {
8046 output.writeInt32(68, numConflictsBeforeStrategyChanges_);
8047 }
8048 if (((bitField1_ & 0x00000080) != 0)) {
8049 output.writeDouble(69, strategyChangeIncreaseRatio_);
8050 }
8051 if (((bitField0_ & 0x40000000) != 0)) {
8052 com.google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
8053 }
8054 if (((bitField1_ & 0x00000004) != 0)) {
8055 output.writeDouble(71, restartLbdAverageRatio_);
8056 }
8057 if (((bitField1_ & 0x80000000) != 0)) {
8058 output.writeBool(72, presolveUseBva_);
8059 }
8060 if (((bitField2_ & 0x00000001) != 0)) {
8061 output.writeInt32(73, presolveBvaThreshold_);
8062 }
8063 if (((bitField2_ & 0x02000000) != 0)) {
8064 output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
8065 }
8066 if (((bitField0_ & 0x00000080) != 0)) {
8067 output.writeBool(75, useErwaHeuristic_);
8068 }
8069 if (((bitField0_ & 0x00000100) != 0)) {
8070 output.writeDouble(76, initialVariablesActivity_);
8071 }
8072 if (((bitField0_ & 0x00000200) != 0)) {
8073 output.writeBool(77, alsoBumpVariablesInConflictReasons_);
8074 }
8075 if (((bitField2_ & 0x04000000) != 0)) {
8076 output.writeBool(78, useOverloadCheckerInCumulativeConstraint_);
8077 }
8078 if (((bitField2_ & 0x08000000) != 0)) {
8079 output.writeBool(79, useTimetableEdgeFindingInCumulativeConstraint_);
8080 }
8081 if (((bitField2_ & 0x10000000) != 0)) {
8082 output.writeBool(80, useDisjunctiveConstraintInCumulativeConstraint_);
8083 }
8084 if (((bitField3_ & 0x00040000) != 0)) {
8085 output.writeEnum(82, searchBranching_);
8086 }
8087 if (((bitField3_ & 0x40000000) != 0)) {
8088 output.writeBool(83, optimizeWithCore_);
8089 }
8090 if (((bitField2_ & 0x00100000) != 0)) {
8091 output.writeBool(84, findMultipleCores_);
8092 }
8093 if (((bitField4_ & 0x00000002) != 0)) {
8094 output.writeBool(85, optimizeWithMaxHs_);
8095 }
8096 if (((bitField2_ & 0x00000004) != 0)) {
8097 output.writeBool(86, cpModelPresolve_);
8098 }
8099 if (((bitField4_ & 0x00000004) != 0)) {
8100 output.writeBool(87, enumerateAllSolutions_);
8101 }
8102 if (((bitField1_ & 0x40000000) != 0)) {
8103 output.writeBool(88, presolveBlockedClause_);
8104 }
8105 if (((bitField2_ & 0x00200000) != 0)) {
8106 output.writeBool(89, coverOptimization_);
8107 }
8108 if (((bitField2_ & 0x20000000) != 0)) {
8109 output.writeInt32(90, linearizationLevel_);
8110 }
8111 if (((bitField3_ & 0x00000001) != 0)) {
8112 output.writeInt32(91, maxNumCuts_);
8113 }
8114 if (((bitField3_ & 0x00000002) != 0)) {
8115 output.writeBool(92, onlyAddCutsAtLevelZero_);
8116 }
8117 if (((bitField2_ & 0x00000040) != 0)) {
8118 output.writeBool(93, cpModelUseSatPresolve_);
8119 }
8120 if (((bitField3_ & 0x00400000) != 0)) {
8121 output.writeBool(94, exploitIntegerLpSolution_);
8122 }
8123 if (((bitField4_ & 0x00000040) != 0)) {
8124 output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
8125 }
8126 if (((bitField0_ & 0x00200000) != 0)) {
8127 output.writeInt32(96, minimizeWithPropagationRestartPeriod_);
8128 }
8129 if (((bitField0_ & 0x00400000) != 0)) {
8130 output.writeInt32(97, minimizeWithPropagationNumDecisions_);
8131 }
8132 if (((bitField4_ & 0x00000080) != 0)) {
8133 output.writeBool(98, stopAfterFirstSolution_);
8134 }
8135 if (((bitField4_ & 0x00000001) != 0)) {
8136 output.writeInt32(99, binarySearchNumConflicts_);
8137 }
8138 if (((bitField4_ & 0x00000200) != 0)) {
8139 output.writeInt32(100, numSearchWorkers_);
8140 }
8141 if (((bitField4_ & 0x00008000) != 0)) {
8142 output.writeBool(101, useLnsOnly_);
8143 }
8144 if (((bitField4_ & 0x01000000) != 0)) {
8145 output.writeBool(103, randomizeSearch_);
8146 }
8147 if (((bitField4_ & 0x02000000) != 0)) {
8148 output.writeInt64(104, searchRandomizationTolerance_);
8149 }
8150 if (((bitField4_ & 0x00010000) != 0)) {
8151 output.writeBool(105, lnsFocusOnDecisionVariables_);
8152 }
8153 if (((bitField4_ & 0x00000020) != 0)) {
8154 output.writeBool(106, instantiateAllVariables_);
8155 }
8156 if (((bitField2_ & 0x40000000) != 0)) {
8157 output.writeInt32(107, booleanEncodingLevel_);
8158 }
8159 if (((bitField4_ & 0x04000000) != 0)) {
8160 output.writeBool(108, useOptionalVariables_);
8161 }
8162 if (((bitField4_ & 0x08000000) != 0)) {
8163 output.writeBool(109, useExactLpReason_);
8164 }
8165 if (((bitField2_ & 0x00000020) != 0)) {
8166 output.writeInt32(110, cpModelProbingLevel_);
8167 }
8168 if (((bitField3_ & 0x00000004) != 0)) {
8169 output.writeBool(111, addKnapsackCuts_);
8170 }
8171 if (((bitField3_ & 0x00000400) != 0)) {
8172 output.writeBool(112, addLpConstraintsLazily_);
8173 }
8174 if (((bitField4_ & 0x00002000) != 0)) {
8175 output.writeBool(113, shareObjectiveBounds_);
8176 }
8177 if (((bitField4_ & 0x00004000) != 0)) {
8178 output.writeBool(114, shareLevelZeroBounds_);
8179 }
8180 if (((bitField3_ & 0x00000800) != 0)) {
8181 output.writeDouble(115, minOrthogonalityForLpConstraints_);
8182 }
8183 if (((bitField3_ & 0x00800000) != 0)) {
8184 output.writeBool(116, exploitAllLpSolution_);
8185 }
8186 if (((bitField3_ & 0x00000008) != 0)) {
8187 output.writeBool(117, addCgCuts_);
8188 }
8189 if (((bitField3_ & 0x00000200) != 0)) {
8190 output.writeInt32(119, maxIntegerRoundingScaling_);
8191 }
8192 if (((bitField3_ & 0x00000010) != 0)) {
8193 output.writeBool(120, addMirCuts_);
8194 }
8195 if (((bitField3_ & 0x00002000) != 0)) {
8196 output.writeInt32(121, maxConsecutiveInactiveCount_);
8197 }
8198 if (((bitField3_ & 0x00020000) != 0)) {
8199 output.writeInt32(122, newConstraintsBatchSize_);
8200 }
8201 if (((bitField3_ & 0x20000000) != 0)) {
8202 output.writeInt64(123, pseudoCostReliabilityThreshold_);
8203 }
8204 if (((bitField5_ & 0x00000008) != 0)) {
8205 output.writeDouble(124, mipMaxBound_);
8206 }
8207 if (((bitField5_ & 0x00000010) != 0)) {
8208 output.writeDouble(125, mipVarScaling_);
8209 }
8210 if (((bitField5_ & 0x00000040) != 0)) {
8211 output.writeDouble(126, mipWantedPrecision_);
8212 }
8213 if (((bitField5_ & 0x00000080) != 0)) {
8214 output.writeInt32(127, mipMaxActivityExponent_);
8215 }
8216 if (((bitField5_ & 0x00000100) != 0)) {
8217 output.writeDouble(128, mipCheckPrecision_);
8218 }
8219 if (((bitField4_ & 0x00080000) != 0)) {
8220 output.writeBool(129, useRinsLns_);
8221 }
8222 if (((bitField3_ & 0x01000000) != 0)) {
8223 output.writeBool(130, exploitBestSolution_);
8224 }
8225 if (((bitField3_ & 0x04000000) != 0)) {
8226 output.writeBool(131, exploitObjective_);
8227 }
8228 if (((bitField4_ & 0x00000010) != 0)) {
8229 output.writeBool(132, fillTightenedDomainsInResponse_);
8230 }
8231 if (((bitField4_ & 0x20000000) != 0)) {
8232 output.writeBool(133, useCombinedNoOverlap_);
8233 }
8234 if (((bitField4_ & 0x00000800) != 0)) {
8235 output.writeInt32(134, interleaveBatchSize_);
8236 }
8237 if (((bitField4_ & 0x40000000) != 0)) {
8238 output.writeBool(135, catchSigintSignal_);
8239 }
8240 if (((bitField4_ & 0x00000400) != 0)) {
8241 output.writeBool(136, interleaveSearch_);
8242 }
8243 if (((bitField4_ & 0x00800000) != 0)) {
8244 output.writeBool(137, diversifyLnsParams_);
8245 }
8246 if (((bitField2_ & 0x00000002) != 0)) {
8247 output.writeInt32(138, maxPresolveIterations_);
8248 }
8249 if (((bitField4_ & 0x10000000) != 0)) {
8250 output.writeBool(139, useBranchingInLp_);
8251 }
8252 if (((bitField2_ & 0x00000100) != 0)) {
8253 output.writeBool(140, expandElementConstraints_);
8254 }
8255 if (((bitField4_ & 0x00001000) != 0)) {
8256 output.writeBool(141, reduceMemoryUsageInInterleaveMode_);
8257 }
8258 if (((bitField3_ & 0x08000000) != 0)) {
8259 output.writeInt64(142, probingPeriodAtRoot_);
8260 }
8261 if (((bitField2_ & 0x00000200) != 0)) {
8262 output.writeBool(143, expandAutomatonConstraints_);
8263 }
8264 if (((bitField4_ & 0x80000000) != 0)) {
8265 output.writeBool(144, useImpliedBounds_);
8266 }
8267 if (((bitField2_ & 0x00004000) != 0)) {
8268 output.writeDouble(145, mergeNoOverlapWorkLimit_);
8269 }
8270 if (((bitField2_ & 0x00008000) != 0)) {
8271 output.writeDouble(146, mergeAtMostOneWorkLimit_);
8272 }
8273 if (((bitField2_ & 0x00010000) != 0)) {
8274 output.writeInt32(147, presolveSubstitutionLevel_);
8275 }
8276 if (((bitField3_ & 0x00000080) != 0)) {
8277 output.writeInt32(148, maxAllDiffCutSize_);
8278 }
8279 if (((bitField4_ & 0x00000100) != 0)) {
8280 output.writeBool(149, stopAfterPresolve_);
8281 }
8282 if (((bitField4_ & 0x00400000) != 0)) {
8283 output.writeBool(150, useRelaxationLns_);
8284 }
8285 if (((bitField2_ & 0x00000010) != 0)) {
8286 output.writeInt32(151, cpModelMaxNumPresolveOperations_);
8287 }
8288 if (((bitField3_ & 0x00000100) != 0)) {
8289 output.writeBool(152, addLinMaxCuts_);
8290 }
8291 if (((bitField3_ & 0x00080000) != 0)) {
8292 output.writeInt32(153, hintConflictLimit_);
8293 }
8294 if (((bitField3_ & 0x00001000) != 0)) {
8295 output.writeInt32(154, maxCutRoundsAtLevelZero_);
8296 }
8297 if (((bitField3_ & 0x00004000) != 0)) {
8298 output.writeDouble(155, cutMaxActiveCountValue_);
8299 }
8300 if (((bitField3_ & 0x00008000) != 0)) {
8301 output.writeDouble(156, cutActiveCountDecay_);
8302 }
8303 if (((bitField3_ & 0x00010000) != 0)) {
8304 output.writeInt32(157, cutCleanupTarget_);
8305 }
8306 if (((bitField2_ & 0x00000400) != 0)) {
8307 output.writeBool(158, expandTableConstraints_);
8308 }
8309 if (((bitField1_ & 0x00001000) != 0)) {
8310 output.writeDouble(159, absoluteGapLimit_);
8311 }
8312 if (((bitField1_ & 0x00002000) != 0)) {
8313 output.writeDouble(160, relativeGapLimit_);
8314 }
8315 if (((bitField3_ & 0x02000000) != 0)) {
8316 output.writeBool(161, exploitRelaxationSolution_);
8317 }
8318 if (((bitField2_ & 0x00000008) != 0)) {
8319 output.writeBool(162, cpModelPostsolveWithFullSolver_);
8320 }
8321 if (((bitField2_ & 0x00000080) != 0)) {
8322 output.writeBool(163, useSatInprocessing_);
8323 }
8324 if (((bitField4_ & 0x00100000) != 0)) {
8325 output.writeBool(164, useFeasibilityPump_);
8326 }
8327 if (((bitField4_ & 0x00200000) != 0)) {
8328 output.writeEnum(165, fpRounding_);
8329 }
8330 if (((bitField5_ & 0x00000020) != 0)) {
8331 output.writeBool(166, mipAutomaticallyScaleVariables_);
8332 }
8333 if (((bitField3_ & 0x00100000) != 0)) {
8334 output.writeBool(167, repairHint_);
8335 }
8336 if (((bitField0_ & 0x00000010) != 0)) {
8337 output.writeInt32(168, polarityRephaseIncrement_);
8338 }
8339 if (((bitField3_ & 0x00000020) != 0)) {
8340 output.writeBool(169, addZeroHalfCuts_);
8341 }
8342 if (((bitField2_ & 0x00000800) != 0)) {
8343 output.writeBool(170, expandAlldiffConstraints_);
8344 }
8345 if (((bitField0_ & 0x00000001) != 0)) {
8346 com.google.protobuf.GeneratedMessageV3.writeString(output, 171, name_);
8347 }
8348 if (((bitField3_ & 0x00000040) != 0)) {
8349 output.writeBool(172, addCliqueCuts_);
8350 }
8351 if (((bitField4_ & 0x00000008) != 0)) {
8352 output.writeBool(173, keepAllFeasibleSolutionsInPresolve_);
8353 }
8354 if (((bitField2_ & 0x00020000) != 0)) {
8355 output.writeBool(174, presolveExtractIntegerEnforcement_);
8356 }
8357 if (((bitField5_ & 0x00000001) != 0)) {
8358 output.writeBool(175, polishLpSolution_);
8359 }
8360 if (((bitField3_ & 0x10000000) != 0)) {
8361 output.writeBool(176, useProbingSearch_);
8362 }
8363 if (((bitField5_ & 0x00000002) != 0)) {
8364 output.writeBool(177, convertIntervals_);
8365 }
8366 if (((bitField1_ & 0x00010000) != 0)) {
8367 output.writeBool(178, permuteVariableRandomly_);
8368 }
8369 if (((bitField1_ & 0x00020000) != 0)) {
8370 output.writeBool(179, permutePresolveConstraintOrder_);
8371 }
8372 if (((bitField1_ & 0x00040000) != 0)) {
8373 output.writeBool(180, useAbslRandom_);
8374 }
8375 if (((bitField2_ & 0x00002000) != 0)) {
8376 output.writeBool(181, disableConstraintExpansion_);
8377 }
8378 if (((bitField2_ & 0x00001000) != 0)) {
8379 output.writeBool(182, expandReservoirConstraints_);
8380 }
8381 if (((bitField5_ & 0x00000004) != 0)) {
8382 output.writeInt32(183, symmetryLevel_);
8383 }
8384 if (((bitField4_ & 0x00020000) != 0)) {
8385 output.writeBool(184, lnsExpandIntervalsInConstraintGraph_);
8386 }
8387 if (((bitField1_ & 0x00200000) != 0)) {
8388 com.google.protobuf.GeneratedMessageV3.writeString(output, 185, logPrefix_);
8389 }
8390 if (((bitField1_ & 0x00400000) != 0)) {
8391 output.writeBool(186, logToStdout_);
8392 }
8393 if (((bitField1_ & 0x00800000) != 0)) {
8394 output.writeBool(187, logToResponse_);
8395 }
8396 if (((bitField3_ & 0x80000000) != 0)) {
8397 output.writeBool(188, optimizeWithLbTreeSearch_);
8398 }
8399 if (((bitField1_ & 0x00100000) != 0)) {
8400 output.writeBool(189, logSubsolverStatistics_);
8401 }
8402 if (((bitField0_ & 0x00008000) != 0)) {
8403 output.writeDouble(190, clauseCleanupRatio_);
8404 }
8405 if (((bitField2_ & 0x80000000) != 0)) {
8406 output.writeInt32(191, maxDomainSizeWhenEncodingEqNeqConstraints_);
8407 }
8408 if (((bitField3_ & 0x00200000) != 0)) {
8409 output.writeBool(192, fixVariablesToTheirHintedValue_);
8410 }
8411 if (((bitField4_ & 0x00040000) != 0)) {
8412 output.writeInt32(193, solutionPoolSize_);
8413 }
8414 unknownFields.writeTo(output);
8415 }
8416
8417 @java.lang.Override
8418 public int getSerializedSize() {
8419 int size = memoizedSize;
8420 if (size != -1) return size;
8421
8422 size = 0;
8423 if (((bitField0_ & 0x00000002) != 0)) {
8424 size += com.google.protobuf.CodedOutputStream
8425 .computeEnumSize(1, preferredVariableOrder_);
8426 }
8427 if (((bitField0_ & 0x00000004) != 0)) {
8428 size += com.google.protobuf.CodedOutputStream
8429 .computeEnumSize(2, initialPolarity_);
8430 }
8431 if (((bitField0_ & 0x00000400) != 0)) {
8432 size += com.google.protobuf.CodedOutputStream
8433 .computeEnumSize(4, minimizationAlgorithm_);
8434 }
8435 if (((bitField0_ & 0x00002000) != 0)) {
8436 size += com.google.protobuf.CodedOutputStream
8437 .computeInt32Size(11, clauseCleanupPeriod_);
8438 }
8439 if (((bitField0_ & 0x00004000) != 0)) {
8440 size += com.google.protobuf.CodedOutputStream
8441 .computeInt32Size(13, clauseCleanupTarget_);
8442 }
8443 if (((bitField0_ & 0x00800000) != 0)) {
8444 size += com.google.protobuf.CodedOutputStream
8445 .computeDoubleSize(15, variableActivityDecay_);
8446 }
8447 if (((bitField0_ & 0x01000000) != 0)) {
8448 size += com.google.protobuf.CodedOutputStream
8449 .computeDoubleSize(16, maxVariableActivityValue_);
8450 }
8451 if (((bitField0_ & 0x10000000) != 0)) {
8452 size += com.google.protobuf.CodedOutputStream
8453 .computeDoubleSize(17, clauseActivityDecay_);
8454 }
8455 if (((bitField0_ & 0x20000000) != 0)) {
8456 size += com.google.protobuf.CodedOutputStream
8457 .computeDoubleSize(18, maxClauseActivityValue_);
8458 }
8459 if (((bitField0_ & 0x02000000) != 0)) {
8460 size += com.google.protobuf.CodedOutputStream
8461 .computeDoubleSize(22, glucoseMaxDecay_);
8462 }
8463 if (((bitField0_ & 0x04000000) != 0)) {
8464 size += com.google.protobuf.CodedOutputStream
8465 .computeDoubleSize(23, glucoseDecayIncrement_);
8466 }
8467 if (((bitField0_ & 0x08000000) != 0)) {
8468 size += com.google.protobuf.CodedOutputStream
8469 .computeInt32Size(24, glucoseDecayIncrementPeriod_);
8470 }
8471 if (((bitField0_ & 0x80000000) != 0)) {
8472 size += com.google.protobuf.CodedOutputStream
8473 .computeInt32Size(30, restartPeriod_);
8474 }
8475 if (((bitField1_ & 0x00008000) != 0)) {
8476 size += com.google.protobuf.CodedOutputStream
8477 .computeInt32Size(31, randomSeed_);
8478 }
8479 if (((bitField0_ & 0x00000040) != 0)) {
8480 size += com.google.protobuf.CodedOutputStream
8481 .computeDoubleSize(32, randomBranchesRatio_);
8482 }
8483 if (((bitField1_ & 0x00004000) != 0)) {
8484 size += com.google.protobuf.CodedOutputStream
8485 .computeBoolSize(33, treatBinaryClausesSeparately_);
8486 }
8487 if (((bitField0_ & 0x00000800) != 0)) {
8488 size += com.google.protobuf.CodedOutputStream
8489 .computeEnumSize(34, binaryMinimizationAlgorithm_);
8490 }
8491 if (((bitField2_ & 0x00040000) != 0)) {
8492 size += com.google.protobuf.CodedOutputStream
8493 .computeBoolSize(35, useOptimizationHints_);
8494 }
8495 if (((bitField1_ & 0x00000100) != 0)) {
8496 size += com.google.protobuf.CodedOutputStream
8497 .computeDoubleSize(36, maxTimeInSeconds_);
8498 }
8499 if (((bitField1_ & 0x00000400) != 0)) {
8500 size += com.google.protobuf.CodedOutputStream
8501 .computeInt64Size(37, maxNumberOfConflicts_);
8502 }
8503 if (((bitField1_ & 0x00000800) != 0)) {
8504 size += com.google.protobuf.CodedOutputStream
8505 .computeInt64Size(40, maxMemoryInMb_);
8506 }
8507 if (((bitField1_ & 0x00080000) != 0)) {
8508 size += com.google.protobuf.CodedOutputStream
8509 .computeBoolSize(41, logSearchProgress_);
8510 }
8511 if (((bitField1_ & 0x01000000) != 0)) {
8512 size += com.google.protobuf.CodedOutputStream
8513 .computeBoolSize(43, usePbResolution_);
8514 }
8515 if (((bitField0_ & 0x00000008) != 0)) {
8516 size += com.google.protobuf.CodedOutputStream
8517 .computeBoolSize(44, usePhaseSaving_);
8518 }
8519 if (((bitField0_ & 0x00000020) != 0)) {
8520 size += com.google.protobuf.CodedOutputStream
8521 .computeDoubleSize(45, randomPolarityRatio_);
8522 }
8523 if (((bitField0_ & 0x00080000) != 0)) {
8524 size += com.google.protobuf.CodedOutputStream
8525 .computeInt32Size(46, pbCleanupIncrement_);
8526 }
8527 if (((bitField0_ & 0x00100000) != 0)) {
8528 size += com.google.protobuf.CodedOutputStream
8529 .computeDoubleSize(47, pbCleanupRatio_);
8530 }
8531 if (((bitField1_ & 0x02000000) != 0)) {
8532 size += com.google.protobuf.CodedOutputStream
8533 .computeBoolSize(48, minimizeReductionDuringPbResolution_);
8534 }
8535 if (((bitField1_ & 0x04000000) != 0)) {
8536 size += com.google.protobuf.CodedOutputStream
8537 .computeBoolSize(49, countAssumptionLevelsInLbd_);
8538 }
8539 if (((bitField2_ & 0x00080000) != 0)) {
8540 size += com.google.protobuf.CodedOutputStream
8541 .computeBoolSize(50, minimizeCore_);
8542 }
8543 if (((bitField2_ & 0x00400000) != 0)) {
8544 size += com.google.protobuf.CodedOutputStream
8545 .computeEnumSize(51, maxSatAssumptionOrder_);
8546 }
8547 if (((bitField2_ & 0x00800000) != 0)) {
8548 size += com.google.protobuf.CodedOutputStream
8549 .computeBoolSize(52, maxSatReverseAssumptionOrder_);
8550 }
8551 if (((bitField2_ & 0x01000000) != 0)) {
8552 size += com.google.protobuf.CodedOutputStream
8553 .computeEnumSize(53, maxSatStratification_);
8554 }
8555 if (((bitField1_ & 0x08000000) != 0)) {
8556 size += com.google.protobuf.CodedOutputStream
8557 .computeInt32Size(54, presolveBveThreshold_);
8558 }
8559 if (((bitField1_ & 0x10000000) != 0)) {
8560 size += com.google.protobuf.CodedOutputStream
8561 .computeInt32Size(55, presolveBveClauseWeight_);
8562 }
8563 if (((bitField0_ & 0x00001000) != 0)) {
8564 size += com.google.protobuf.CodedOutputStream
8565 .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
8566 }
8567 if (((bitField1_ & 0x20000000) != 0)) {
8568 size += com.google.protobuf.CodedOutputStream
8569 .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
8570 }
8571 if (((bitField0_ & 0x00010000) != 0)) {
8572 size += com.google.protobuf.CodedOutputStream
8573 .computeEnumSize(58, clauseCleanupProtection_);
8574 }
8575 if (((bitField0_ & 0x00020000) != 0)) {
8576 size += com.google.protobuf.CodedOutputStream
8577 .computeInt32Size(59, clauseCleanupLbdBound_);
8578 }
8579 if (((bitField0_ & 0x00040000) != 0)) {
8580 size += com.google.protobuf.CodedOutputStream
8581 .computeEnumSize(60, clauseCleanupOrdering_);
8582 }
8583 {
8584 int dataSize = 0;
8585 for (int i = 0; i < restartAlgorithms_.size(); i++) {
8586 dataSize += com.google.protobuf.CodedOutputStream
8587 .computeEnumSizeNoTag(restartAlgorithms_.get(i));
8588 }
8589 size += dataSize;
8590 size += 2 * restartAlgorithms_.size();
8591 }
8592 if (((bitField1_ & 0x00000001) != 0)) {
8593 size += com.google.protobuf.CodedOutputStream
8594 .computeInt32Size(62, restartRunningWindowSize_);
8595 }
8596 if (((bitField1_ & 0x00000002) != 0)) {
8597 size += com.google.protobuf.CodedOutputStream
8598 .computeDoubleSize(63, restartDlAverageRatio_);
8599 }
8600 if (((bitField1_ & 0x00000008) != 0)) {
8601 size += com.google.protobuf.CodedOutputStream
8602 .computeBoolSize(64, useBlockingRestart_);
8603 }
8604 if (((bitField1_ & 0x00000010) != 0)) {
8605 size += com.google.protobuf.CodedOutputStream
8606 .computeInt32Size(65, blockingRestartWindowSize_);
8607 }
8608 if (((bitField1_ & 0x00000020) != 0)) {
8609 size += com.google.protobuf.CodedOutputStream
8610 .computeDoubleSize(66, blockingRestartMultiplier_);
8611 }
8612 if (((bitField1_ & 0x00000200) != 0)) {
8613 size += com.google.protobuf.CodedOutputStream
8614 .computeDoubleSize(67, maxDeterministicTime_);
8615 }
8616 if (((bitField1_ & 0x00000040) != 0)) {
8617 size += com.google.protobuf.CodedOutputStream
8618 .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
8619 }
8620 if (((bitField1_ & 0x00000080) != 0)) {
8621 size += com.google.protobuf.CodedOutputStream
8622 .computeDoubleSize(69, strategyChangeIncreaseRatio_);
8623 }
8624 if (((bitField0_ & 0x40000000) != 0)) {
8625 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
8626 }
8627 if (((bitField1_ & 0x00000004) != 0)) {
8628 size += com.google.protobuf.CodedOutputStream
8629 .computeDoubleSize(71, restartLbdAverageRatio_);
8630 }
8631 if (((bitField1_ & 0x80000000) != 0)) {
8632 size += com.google.protobuf.CodedOutputStream
8633 .computeBoolSize(72, presolveUseBva_);
8634 }
8635 if (((bitField2_ & 0x00000001) != 0)) {
8636 size += com.google.protobuf.CodedOutputStream
8637 .computeInt32Size(73, presolveBvaThreshold_);
8638 }
8639 if (((bitField2_ & 0x02000000) != 0)) {
8640 size += com.google.protobuf.CodedOutputStream
8641 .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
8642 }
8643 if (((bitField0_ & 0x00000080) != 0)) {
8644 size += com.google.protobuf.CodedOutputStream
8645 .computeBoolSize(75, useErwaHeuristic_);
8646 }
8647 if (((bitField0_ & 0x00000100) != 0)) {
8648 size += com.google.protobuf.CodedOutputStream
8649 .computeDoubleSize(76, initialVariablesActivity_);
8650 }
8651 if (((bitField0_ & 0x00000200) != 0)) {
8652 size += com.google.protobuf.CodedOutputStream
8653 .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
8654 }
8655 if (((bitField2_ & 0x04000000) != 0)) {
8656 size += com.google.protobuf.CodedOutputStream
8657 .computeBoolSize(78, useOverloadCheckerInCumulativeConstraint_);
8658 }
8659 if (((bitField2_ & 0x08000000) != 0)) {
8660 size += com.google.protobuf.CodedOutputStream
8661 .computeBoolSize(79, useTimetableEdgeFindingInCumulativeConstraint_);
8662 }
8663 if (((bitField2_ & 0x10000000) != 0)) {
8664 size += com.google.protobuf.CodedOutputStream
8665 .computeBoolSize(80, useDisjunctiveConstraintInCumulativeConstraint_);
8666 }
8667 if (((bitField3_ & 0x00040000) != 0)) {
8668 size += com.google.protobuf.CodedOutputStream
8669 .computeEnumSize(82, searchBranching_);
8670 }
8671 if (((bitField3_ & 0x40000000) != 0)) {
8672 size += com.google.protobuf.CodedOutputStream
8673 .computeBoolSize(83, optimizeWithCore_);
8674 }
8675 if (((bitField2_ & 0x00100000) != 0)) {
8676 size += com.google.protobuf.CodedOutputStream
8677 .computeBoolSize(84, findMultipleCores_);
8678 }
8679 if (((bitField4_ & 0x00000002) != 0)) {
8680 size += com.google.protobuf.CodedOutputStream
8681 .computeBoolSize(85, optimizeWithMaxHs_);
8682 }
8683 if (((bitField2_ & 0x00000004) != 0)) {
8684 size += com.google.protobuf.CodedOutputStream
8685 .computeBoolSize(86, cpModelPresolve_);
8686 }
8687 if (((bitField4_ & 0x00000004) != 0)) {
8688 size += com.google.protobuf.CodedOutputStream
8689 .computeBoolSize(87, enumerateAllSolutions_);
8690 }
8691 if (((bitField1_ & 0x40000000) != 0)) {
8692 size += com.google.protobuf.CodedOutputStream
8693 .computeBoolSize(88, presolveBlockedClause_);
8694 }
8695 if (((bitField2_ & 0x00200000) != 0)) {
8696 size += com.google.protobuf.CodedOutputStream
8697 .computeBoolSize(89, coverOptimization_);
8698 }
8699 if (((bitField2_ & 0x20000000) != 0)) {
8700 size += com.google.protobuf.CodedOutputStream
8701 .computeInt32Size(90, linearizationLevel_);
8702 }
8703 if (((bitField3_ & 0x00000001) != 0)) {
8704 size += com.google.protobuf.CodedOutputStream
8705 .computeInt32Size(91, maxNumCuts_);
8706 }
8707 if (((bitField3_ & 0x00000002) != 0)) {
8708 size += com.google.protobuf.CodedOutputStream
8709 .computeBoolSize(92, onlyAddCutsAtLevelZero_);
8710 }
8711 if (((bitField2_ & 0x00000040) != 0)) {
8712 size += com.google.protobuf.CodedOutputStream
8713 .computeBoolSize(93, cpModelUseSatPresolve_);
8714 }
8715 if (((bitField3_ & 0x00400000) != 0)) {
8716 size += com.google.protobuf.CodedOutputStream
8717 .computeBoolSize(94, exploitIntegerLpSolution_);
8718 }
8719 if (((bitField4_ & 0x00000040) != 0)) {
8720 size += com.google.protobuf.CodedOutputStream
8721 .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
8722 }
8723 if (((bitField0_ & 0x00200000) != 0)) {
8724 size += com.google.protobuf.CodedOutputStream
8725 .computeInt32Size(96, minimizeWithPropagationRestartPeriod_);
8726 }
8727 if (((bitField0_ & 0x00400000) != 0)) {
8728 size += com.google.protobuf.CodedOutputStream
8729 .computeInt32Size(97, minimizeWithPropagationNumDecisions_);
8730 }
8731 if (((bitField4_ & 0x00000080) != 0)) {
8732 size += com.google.protobuf.CodedOutputStream
8733 .computeBoolSize(98, stopAfterFirstSolution_);
8734 }
8735 if (((bitField4_ & 0x00000001) != 0)) {
8736 size += com.google.protobuf.CodedOutputStream
8737 .computeInt32Size(99, binarySearchNumConflicts_);
8738 }
8739 if (((bitField4_ & 0x00000200) != 0)) {
8740 size += com.google.protobuf.CodedOutputStream
8741 .computeInt32Size(100, numSearchWorkers_);
8742 }
8743 if (((bitField4_ & 0x00008000) != 0)) {
8744 size += com.google.protobuf.CodedOutputStream
8745 .computeBoolSize(101, useLnsOnly_);
8746 }
8747 if (((bitField4_ & 0x01000000) != 0)) {
8748 size += com.google.protobuf.CodedOutputStream
8749 .computeBoolSize(103, randomizeSearch_);
8750 }
8751 if (((bitField4_ & 0x02000000) != 0)) {
8752 size += com.google.protobuf.CodedOutputStream
8753 .computeInt64Size(104, searchRandomizationTolerance_);
8754 }
8755 if (((bitField4_ & 0x00010000) != 0)) {
8756 size += com.google.protobuf.CodedOutputStream
8757 .computeBoolSize(105, lnsFocusOnDecisionVariables_);
8758 }
8759 if (((bitField4_ & 0x00000020) != 0)) {
8760 size += com.google.protobuf.CodedOutputStream
8761 .computeBoolSize(106, instantiateAllVariables_);
8762 }
8763 if (((bitField2_ & 0x40000000) != 0)) {
8764 size += com.google.protobuf.CodedOutputStream
8765 .computeInt32Size(107, booleanEncodingLevel_);
8766 }
8767 if (((bitField4_ & 0x04000000) != 0)) {
8768 size += com.google.protobuf.CodedOutputStream
8769 .computeBoolSize(108, useOptionalVariables_);
8770 }
8771 if (((bitField4_ & 0x08000000) != 0)) {
8772 size += com.google.protobuf.CodedOutputStream
8773 .computeBoolSize(109, useExactLpReason_);
8774 }
8775 if (((bitField2_ & 0x00000020) != 0)) {
8776 size += com.google.protobuf.CodedOutputStream
8777 .computeInt32Size(110, cpModelProbingLevel_);
8778 }
8779 if (((bitField3_ & 0x00000004) != 0)) {
8780 size += com.google.protobuf.CodedOutputStream
8781 .computeBoolSize(111, addKnapsackCuts_);
8782 }
8783 if (((bitField3_ & 0x00000400) != 0)) {
8784 size += com.google.protobuf.CodedOutputStream
8785 .computeBoolSize(112, addLpConstraintsLazily_);
8786 }
8787 if (((bitField4_ & 0x00002000) != 0)) {
8788 size += com.google.protobuf.CodedOutputStream
8789 .computeBoolSize(113, shareObjectiveBounds_);
8790 }
8791 if (((bitField4_ & 0x00004000) != 0)) {
8792 size += com.google.protobuf.CodedOutputStream
8793 .computeBoolSize(114, shareLevelZeroBounds_);
8794 }
8795 if (((bitField3_ & 0x00000800) != 0)) {
8796 size += com.google.protobuf.CodedOutputStream
8797 .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
8798 }
8799 if (((bitField3_ & 0x00800000) != 0)) {
8800 size += com.google.protobuf.CodedOutputStream
8801 .computeBoolSize(116, exploitAllLpSolution_);
8802 }
8803 if (((bitField3_ & 0x00000008) != 0)) {
8804 size += com.google.protobuf.CodedOutputStream
8805 .computeBoolSize(117, addCgCuts_);
8806 }
8807 if (((bitField3_ & 0x00000200) != 0)) {
8808 size += com.google.protobuf.CodedOutputStream
8809 .computeInt32Size(119, maxIntegerRoundingScaling_);
8810 }
8811 if (((bitField3_ & 0x00000010) != 0)) {
8812 size += com.google.protobuf.CodedOutputStream
8813 .computeBoolSize(120, addMirCuts_);
8814 }
8815 if (((bitField3_ & 0x00002000) != 0)) {
8816 size += com.google.protobuf.CodedOutputStream
8817 .computeInt32Size(121, maxConsecutiveInactiveCount_);
8818 }
8819 if (((bitField3_ & 0x00020000) != 0)) {
8820 size += com.google.protobuf.CodedOutputStream
8821 .computeInt32Size(122, newConstraintsBatchSize_);
8822 }
8823 if (((bitField3_ & 0x20000000) != 0)) {
8824 size += com.google.protobuf.CodedOutputStream
8825 .computeInt64Size(123, pseudoCostReliabilityThreshold_);
8826 }
8827 if (((bitField5_ & 0x00000008) != 0)) {
8828 size += com.google.protobuf.CodedOutputStream
8829 .computeDoubleSize(124, mipMaxBound_);
8830 }
8831 if (((bitField5_ & 0x00000010) != 0)) {
8832 size += com.google.protobuf.CodedOutputStream
8833 .computeDoubleSize(125, mipVarScaling_);
8834 }
8835 if (((bitField5_ & 0x00000040) != 0)) {
8836 size += com.google.protobuf.CodedOutputStream
8837 .computeDoubleSize(126, mipWantedPrecision_);
8838 }
8839 if (((bitField5_ & 0x00000080) != 0)) {
8840 size += com.google.protobuf.CodedOutputStream
8841 .computeInt32Size(127, mipMaxActivityExponent_);
8842 }
8843 if (((bitField5_ & 0x00000100) != 0)) {
8844 size += com.google.protobuf.CodedOutputStream
8845 .computeDoubleSize(128, mipCheckPrecision_);
8846 }
8847 if (((bitField4_ & 0x00080000) != 0)) {
8848 size += com.google.protobuf.CodedOutputStream
8849 .computeBoolSize(129, useRinsLns_);
8850 }
8851 if (((bitField3_ & 0x01000000) != 0)) {
8852 size += com.google.protobuf.CodedOutputStream
8853 .computeBoolSize(130, exploitBestSolution_);
8854 }
8855 if (((bitField3_ & 0x04000000) != 0)) {
8856 size += com.google.protobuf.CodedOutputStream
8857 .computeBoolSize(131, exploitObjective_);
8858 }
8859 if (((bitField4_ & 0x00000010) != 0)) {
8860 size += com.google.protobuf.CodedOutputStream
8861 .computeBoolSize(132, fillTightenedDomainsInResponse_);
8862 }
8863 if (((bitField4_ & 0x20000000) != 0)) {
8864 size += com.google.protobuf.CodedOutputStream
8865 .computeBoolSize(133, useCombinedNoOverlap_);
8866 }
8867 if (((bitField4_ & 0x00000800) != 0)) {
8868 size += com.google.protobuf.CodedOutputStream
8869 .computeInt32Size(134, interleaveBatchSize_);
8870 }
8871 if (((bitField4_ & 0x40000000) != 0)) {
8872 size += com.google.protobuf.CodedOutputStream
8873 .computeBoolSize(135, catchSigintSignal_);
8874 }
8875 if (((bitField4_ & 0x00000400) != 0)) {
8876 size += com.google.protobuf.CodedOutputStream
8877 .computeBoolSize(136, interleaveSearch_);
8878 }
8879 if (((bitField4_ & 0x00800000) != 0)) {
8880 size += com.google.protobuf.CodedOutputStream
8881 .computeBoolSize(137, diversifyLnsParams_);
8882 }
8883 if (((bitField2_ & 0x00000002) != 0)) {
8884 size += com.google.protobuf.CodedOutputStream
8885 .computeInt32Size(138, maxPresolveIterations_);
8886 }
8887 if (((bitField4_ & 0x10000000) != 0)) {
8888 size += com.google.protobuf.CodedOutputStream
8889 .computeBoolSize(139, useBranchingInLp_);
8890 }
8891 if (((bitField2_ & 0x00000100) != 0)) {
8892 size += com.google.protobuf.CodedOutputStream
8893 .computeBoolSize(140, expandElementConstraints_);
8894 }
8895 if (((bitField4_ & 0x00001000) != 0)) {
8896 size += com.google.protobuf.CodedOutputStream
8897 .computeBoolSize(141, reduceMemoryUsageInInterleaveMode_);
8898 }
8899 if (((bitField3_ & 0x08000000) != 0)) {
8900 size += com.google.protobuf.CodedOutputStream
8901 .computeInt64Size(142, probingPeriodAtRoot_);
8902 }
8903 if (((bitField2_ & 0x00000200) != 0)) {
8904 size += com.google.protobuf.CodedOutputStream
8905 .computeBoolSize(143, expandAutomatonConstraints_);
8906 }
8907 if (((bitField4_ & 0x80000000) != 0)) {
8908 size += com.google.protobuf.CodedOutputStream
8909 .computeBoolSize(144, useImpliedBounds_);
8910 }
8911 if (((bitField2_ & 0x00004000) != 0)) {
8912 size += com.google.protobuf.CodedOutputStream
8913 .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
8914 }
8915 if (((bitField2_ & 0x00008000) != 0)) {
8916 size += com.google.protobuf.CodedOutputStream
8917 .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
8918 }
8919 if (((bitField2_ & 0x00010000) != 0)) {
8920 size += com.google.protobuf.CodedOutputStream
8921 .computeInt32Size(147, presolveSubstitutionLevel_);
8922 }
8923 if (((bitField3_ & 0x00000080) != 0)) {
8924 size += com.google.protobuf.CodedOutputStream
8925 .computeInt32Size(148, maxAllDiffCutSize_);
8926 }
8927 if (((bitField4_ & 0x00000100) != 0)) {
8928 size += com.google.protobuf.CodedOutputStream
8929 .computeBoolSize(149, stopAfterPresolve_);
8930 }
8931 if (((bitField4_ & 0x00400000) != 0)) {
8932 size += com.google.protobuf.CodedOutputStream
8933 .computeBoolSize(150, useRelaxationLns_);
8934 }
8935 if (((bitField2_ & 0x00000010) != 0)) {
8936 size += com.google.protobuf.CodedOutputStream
8937 .computeInt32Size(151, cpModelMaxNumPresolveOperations_);
8938 }
8939 if (((bitField3_ & 0x00000100) != 0)) {
8940 size += com.google.protobuf.CodedOutputStream
8941 .computeBoolSize(152, addLinMaxCuts_);
8942 }
8943 if (((bitField3_ & 0x00080000) != 0)) {
8944 size += com.google.protobuf.CodedOutputStream
8945 .computeInt32Size(153, hintConflictLimit_);
8946 }
8947 if (((bitField3_ & 0x00001000) != 0)) {
8948 size += com.google.protobuf.CodedOutputStream
8949 .computeInt32Size(154, maxCutRoundsAtLevelZero_);
8950 }
8951 if (((bitField3_ & 0x00004000) != 0)) {
8952 size += com.google.protobuf.CodedOutputStream
8953 .computeDoubleSize(155, cutMaxActiveCountValue_);
8954 }
8955 if (((bitField3_ & 0x00008000) != 0)) {
8956 size += com.google.protobuf.CodedOutputStream
8957 .computeDoubleSize(156, cutActiveCountDecay_);
8958 }
8959 if (((bitField3_ & 0x00010000) != 0)) {
8960 size += com.google.protobuf.CodedOutputStream
8961 .computeInt32Size(157, cutCleanupTarget_);
8962 }
8963 if (((bitField2_ & 0x00000400) != 0)) {
8964 size += com.google.protobuf.CodedOutputStream
8965 .computeBoolSize(158, expandTableConstraints_);
8966 }
8967 if (((bitField1_ & 0x00001000) != 0)) {
8968 size += com.google.protobuf.CodedOutputStream
8969 .computeDoubleSize(159, absoluteGapLimit_);
8970 }
8971 if (((bitField1_ & 0x00002000) != 0)) {
8972 size += com.google.protobuf.CodedOutputStream
8973 .computeDoubleSize(160, relativeGapLimit_);
8974 }
8975 if (((bitField3_ & 0x02000000) != 0)) {
8976 size += com.google.protobuf.CodedOutputStream
8977 .computeBoolSize(161, exploitRelaxationSolution_);
8978 }
8979 if (((bitField2_ & 0x00000008) != 0)) {
8980 size += com.google.protobuf.CodedOutputStream
8981 .computeBoolSize(162, cpModelPostsolveWithFullSolver_);
8982 }
8983 if (((bitField2_ & 0x00000080) != 0)) {
8984 size += com.google.protobuf.CodedOutputStream
8985 .computeBoolSize(163, useSatInprocessing_);
8986 }
8987 if (((bitField4_ & 0x00100000) != 0)) {
8988 size += com.google.protobuf.CodedOutputStream
8989 .computeBoolSize(164, useFeasibilityPump_);
8990 }
8991 if (((bitField4_ & 0x00200000) != 0)) {
8992 size += com.google.protobuf.CodedOutputStream
8993 .computeEnumSize(165, fpRounding_);
8994 }
8995 if (((bitField5_ & 0x00000020) != 0)) {
8996 size += com.google.protobuf.CodedOutputStream
8997 .computeBoolSize(166, mipAutomaticallyScaleVariables_);
8998 }
8999 if (((bitField3_ & 0x00100000) != 0)) {
9000 size += com.google.protobuf.CodedOutputStream
9001 .computeBoolSize(167, repairHint_);
9002 }
9003 if (((bitField0_ & 0x00000010) != 0)) {
9004 size += com.google.protobuf.CodedOutputStream
9005 .computeInt32Size(168, polarityRephaseIncrement_);
9006 }
9007 if (((bitField3_ & 0x00000020) != 0)) {
9008 size += com.google.protobuf.CodedOutputStream
9009 .computeBoolSize(169, addZeroHalfCuts_);
9010 }
9011 if (((bitField2_ & 0x00000800) != 0)) {
9012 size += com.google.protobuf.CodedOutputStream
9013 .computeBoolSize(170, expandAlldiffConstraints_);
9014 }
9015 if (((bitField0_ & 0x00000001) != 0)) {
9016 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(171, name_);
9017 }
9018 if (((bitField3_ & 0x00000040) != 0)) {
9019 size += com.google.protobuf.CodedOutputStream
9020 .computeBoolSize(172, addCliqueCuts_);
9021 }
9022 if (((bitField4_ & 0x00000008) != 0)) {
9023 size += com.google.protobuf.CodedOutputStream
9024 .computeBoolSize(173, keepAllFeasibleSolutionsInPresolve_);
9025 }
9026 if (((bitField2_ & 0x00020000) != 0)) {
9027 size += com.google.protobuf.CodedOutputStream
9028 .computeBoolSize(174, presolveExtractIntegerEnforcement_);
9029 }
9030 if (((bitField5_ & 0x00000001) != 0)) {
9031 size += com.google.protobuf.CodedOutputStream
9032 .computeBoolSize(175, polishLpSolution_);
9033 }
9034 if (((bitField3_ & 0x10000000) != 0)) {
9035 size += com.google.protobuf.CodedOutputStream
9036 .computeBoolSize(176, useProbingSearch_);
9037 }
9038 if (((bitField5_ & 0x00000002) != 0)) {
9039 size += com.google.protobuf.CodedOutputStream
9040 .computeBoolSize(177, convertIntervals_);
9041 }
9042 if (((bitField1_ & 0x00010000) != 0)) {
9043 size += com.google.protobuf.CodedOutputStream
9044 .computeBoolSize(178, permuteVariableRandomly_);
9045 }
9046 if (((bitField1_ & 0x00020000) != 0)) {
9047 size += com.google.protobuf.CodedOutputStream
9048 .computeBoolSize(179, permutePresolveConstraintOrder_);
9049 }
9050 if (((bitField1_ & 0x00040000) != 0)) {
9051 size += com.google.protobuf.CodedOutputStream
9052 .computeBoolSize(180, useAbslRandom_);
9053 }
9054 if (((bitField2_ & 0x00002000) != 0)) {
9055 size += com.google.protobuf.CodedOutputStream
9056 .computeBoolSize(181, disableConstraintExpansion_);
9057 }
9058 if (((bitField2_ & 0x00001000) != 0)) {
9059 size += com.google.protobuf.CodedOutputStream
9060 .computeBoolSize(182, expandReservoirConstraints_);
9061 }
9062 if (((bitField5_ & 0x00000004) != 0)) {
9063 size += com.google.protobuf.CodedOutputStream
9064 .computeInt32Size(183, symmetryLevel_);
9065 }
9066 if (((bitField4_ & 0x00020000) != 0)) {
9067 size += com.google.protobuf.CodedOutputStream
9068 .computeBoolSize(184, lnsExpandIntervalsInConstraintGraph_);
9069 }
9070 if (((bitField1_ & 0x00200000) != 0)) {
9071 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(185, logPrefix_);
9072 }
9073 if (((bitField1_ & 0x00400000) != 0)) {
9074 size += com.google.protobuf.CodedOutputStream
9075 .computeBoolSize(186, logToStdout_);
9076 }
9077 if (((bitField1_ & 0x00800000) != 0)) {
9078 size += com.google.protobuf.CodedOutputStream
9079 .computeBoolSize(187, logToResponse_);
9080 }
9081 if (((bitField3_ & 0x80000000) != 0)) {
9082 size += com.google.protobuf.CodedOutputStream
9083 .computeBoolSize(188, optimizeWithLbTreeSearch_);
9084 }
9085 if (((bitField1_ & 0x00100000) != 0)) {
9086 size += com.google.protobuf.CodedOutputStream
9087 .computeBoolSize(189, logSubsolverStatistics_);
9088 }
9089 if (((bitField0_ & 0x00008000) != 0)) {
9090 size += com.google.protobuf.CodedOutputStream
9091 .computeDoubleSize(190, clauseCleanupRatio_);
9092 }
9093 if (((bitField2_ & 0x80000000) != 0)) {
9094 size += com.google.protobuf.CodedOutputStream
9095 .computeInt32Size(191, maxDomainSizeWhenEncodingEqNeqConstraints_);
9096 }
9097 if (((bitField3_ & 0x00200000) != 0)) {
9098 size += com.google.protobuf.CodedOutputStream
9099 .computeBoolSize(192, fixVariablesToTheirHintedValue_);
9100 }
9101 if (((bitField4_ & 0x00040000) != 0)) {
9102 size += com.google.protobuf.CodedOutputStream
9103 .computeInt32Size(193, solutionPoolSize_);
9104 }
9105 size += unknownFields.getSerializedSize();
9106 memoizedSize = size;
9107 return size;
9108 }
9109
9110 @java.lang.Override
9111 public boolean equals(final java.lang.Object obj) {
9112 if (obj == this) {
9113 return true;
9114 }
9115 if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
9116 return super.equals(obj);
9117 }
9118 com.google.ortools.sat.SatParameters other = (com.google.ortools.sat.SatParameters) obj;
9119
9120 if (hasName() != other.hasName()) return false;
9121 if (hasName()) {
9122 if (!getName()
9123 .equals(other.getName())) return false;
9124 }
9125 if (hasPreferredVariableOrder() != other.hasPreferredVariableOrder()) return false;
9127 if (preferredVariableOrder_ != other.preferredVariableOrder_) return false;
9128 }
9129 if (hasInitialPolarity() != other.hasInitialPolarity()) return false;
9130 if (hasInitialPolarity()) {
9131 if (initialPolarity_ != other.initialPolarity_) return false;
9132 }
9133 if (hasUsePhaseSaving() != other.hasUsePhaseSaving()) return false;
9134 if (hasUsePhaseSaving()) {
9135 if (getUsePhaseSaving()
9136 != other.getUsePhaseSaving()) return false;
9137 }
9138 if (hasPolarityRephaseIncrement() != other.hasPolarityRephaseIncrement()) return false;
9141 != other.getPolarityRephaseIncrement()) return false;
9142 }
9143 if (hasRandomPolarityRatio() != other.hasRandomPolarityRatio()) return false;
9144 if (hasRandomPolarityRatio()) {
9145 if (java.lang.Double.doubleToLongBits(getRandomPolarityRatio())
9146 != java.lang.Double.doubleToLongBits(
9147 other.getRandomPolarityRatio())) return false;
9148 }
9149 if (hasRandomBranchesRatio() != other.hasRandomBranchesRatio()) return false;
9150 if (hasRandomBranchesRatio()) {
9151 if (java.lang.Double.doubleToLongBits(getRandomBranchesRatio())
9152 != java.lang.Double.doubleToLongBits(
9153 other.getRandomBranchesRatio())) return false;
9154 }
9155 if (hasUseErwaHeuristic() != other.hasUseErwaHeuristic()) return false;
9156 if (hasUseErwaHeuristic()) {
9158 != other.getUseErwaHeuristic()) return false;
9159 }
9160 if (hasInitialVariablesActivity() != other.hasInitialVariablesActivity()) return false;
9162 if (java.lang.Double.doubleToLongBits(getInitialVariablesActivity())
9163 != java.lang.Double.doubleToLongBits(
9164 other.getInitialVariablesActivity())) return false;
9165 }
9166 if (hasAlsoBumpVariablesInConflictReasons() != other.hasAlsoBumpVariablesInConflictReasons()) return false;
9169 != other.getAlsoBumpVariablesInConflictReasons()) return false;
9170 }
9171 if (hasMinimizationAlgorithm() != other.hasMinimizationAlgorithm()) return false;
9173 if (minimizationAlgorithm_ != other.minimizationAlgorithm_) return false;
9174 }
9175 if (hasBinaryMinimizationAlgorithm() != other.hasBinaryMinimizationAlgorithm()) return false;
9177 if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_) return false;
9178 }
9179 if (hasSubsumptionDuringConflictAnalysis() != other.hasSubsumptionDuringConflictAnalysis()) return false;
9182 != other.getSubsumptionDuringConflictAnalysis()) return false;
9183 }
9184 if (hasClauseCleanupPeriod() != other.hasClauseCleanupPeriod()) return false;
9185 if (hasClauseCleanupPeriod()) {
9187 != other.getClauseCleanupPeriod()) return false;
9188 }
9189 if (hasClauseCleanupTarget() != other.hasClauseCleanupTarget()) return false;
9190 if (hasClauseCleanupTarget()) {
9192 != other.getClauseCleanupTarget()) return false;
9193 }
9194 if (hasClauseCleanupRatio() != other.hasClauseCleanupRatio()) return false;
9195 if (hasClauseCleanupRatio()) {
9196 if (java.lang.Double.doubleToLongBits(getClauseCleanupRatio())
9197 != java.lang.Double.doubleToLongBits(
9198 other.getClauseCleanupRatio())) return false;
9199 }
9200 if (hasClauseCleanupProtection() != other.hasClauseCleanupProtection()) return false;
9202 if (clauseCleanupProtection_ != other.clauseCleanupProtection_) return false;
9203 }
9204 if (hasClauseCleanupLbdBound() != other.hasClauseCleanupLbdBound()) return false;
9207 != other.getClauseCleanupLbdBound()) return false;
9208 }
9209 if (hasClauseCleanupOrdering() != other.hasClauseCleanupOrdering()) return false;
9211 if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_) return false;
9212 }
9213 if (hasPbCleanupIncrement() != other.hasPbCleanupIncrement()) return false;
9214 if (hasPbCleanupIncrement()) {
9216 != other.getPbCleanupIncrement()) return false;
9217 }
9218 if (hasPbCleanupRatio() != other.hasPbCleanupRatio()) return false;
9219 if (hasPbCleanupRatio()) {
9220 if (java.lang.Double.doubleToLongBits(getPbCleanupRatio())
9221 != java.lang.Double.doubleToLongBits(
9222 other.getPbCleanupRatio())) return false;
9223 }
9224 if (hasMinimizeWithPropagationRestartPeriod() != other.hasMinimizeWithPropagationRestartPeriod()) return false;
9227 != other.getMinimizeWithPropagationRestartPeriod()) return false;
9228 }
9229 if (hasMinimizeWithPropagationNumDecisions() != other.hasMinimizeWithPropagationNumDecisions()) return false;
9232 != other.getMinimizeWithPropagationNumDecisions()) return false;
9233 }
9234 if (hasVariableActivityDecay() != other.hasVariableActivityDecay()) return false;
9236 if (java.lang.Double.doubleToLongBits(getVariableActivityDecay())
9237 != java.lang.Double.doubleToLongBits(
9238 other.getVariableActivityDecay())) return false;
9239 }
9240 if (hasMaxVariableActivityValue() != other.hasMaxVariableActivityValue()) return false;
9242 if (java.lang.Double.doubleToLongBits(getMaxVariableActivityValue())
9243 != java.lang.Double.doubleToLongBits(
9244 other.getMaxVariableActivityValue())) return false;
9245 }
9246 if (hasGlucoseMaxDecay() != other.hasGlucoseMaxDecay()) return false;
9247 if (hasGlucoseMaxDecay()) {
9248 if (java.lang.Double.doubleToLongBits(getGlucoseMaxDecay())
9249 != java.lang.Double.doubleToLongBits(
9250 other.getGlucoseMaxDecay())) return false;
9251 }
9252 if (hasGlucoseDecayIncrement() != other.hasGlucoseDecayIncrement()) return false;
9254 if (java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement())
9255 != java.lang.Double.doubleToLongBits(
9256 other.getGlucoseDecayIncrement())) return false;
9257 }
9258 if (hasGlucoseDecayIncrementPeriod() != other.hasGlucoseDecayIncrementPeriod()) return false;
9261 != other.getGlucoseDecayIncrementPeriod()) return false;
9262 }
9263 if (hasClauseActivityDecay() != other.hasClauseActivityDecay()) return false;
9264 if (hasClauseActivityDecay()) {
9265 if (java.lang.Double.doubleToLongBits(getClauseActivityDecay())
9266 != java.lang.Double.doubleToLongBits(
9267 other.getClauseActivityDecay())) return false;
9268 }
9269 if (hasMaxClauseActivityValue() != other.hasMaxClauseActivityValue()) return false;
9271 if (java.lang.Double.doubleToLongBits(getMaxClauseActivityValue())
9272 != java.lang.Double.doubleToLongBits(
9273 other.getMaxClauseActivityValue())) return false;
9274 }
9275 if (!restartAlgorithms_.equals(other.restartAlgorithms_)) return false;
9276 if (hasDefaultRestartAlgorithms() != other.hasDefaultRestartAlgorithms()) return false;
9279 .equals(other.getDefaultRestartAlgorithms())) return false;
9280 }
9281 if (hasRestartPeriod() != other.hasRestartPeriod()) return false;
9282 if (hasRestartPeriod()) {
9283 if (getRestartPeriod()
9284 != other.getRestartPeriod()) return false;
9285 }
9286 if (hasRestartRunningWindowSize() != other.hasRestartRunningWindowSize()) return false;
9289 != other.getRestartRunningWindowSize()) return false;
9290 }
9291 if (hasRestartDlAverageRatio() != other.hasRestartDlAverageRatio()) return false;
9293 if (java.lang.Double.doubleToLongBits(getRestartDlAverageRatio())
9294 != java.lang.Double.doubleToLongBits(
9295 other.getRestartDlAverageRatio())) return false;
9296 }
9297 if (hasRestartLbdAverageRatio() != other.hasRestartLbdAverageRatio()) return false;
9299 if (java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio())
9300 != java.lang.Double.doubleToLongBits(
9301 other.getRestartLbdAverageRatio())) return false;
9302 }
9303 if (hasUseBlockingRestart() != other.hasUseBlockingRestart()) return false;
9304 if (hasUseBlockingRestart()) {
9306 != other.getUseBlockingRestart()) return false;
9307 }
9308 if (hasBlockingRestartWindowSize() != other.hasBlockingRestartWindowSize()) return false;
9311 != other.getBlockingRestartWindowSize()) return false;
9312 }
9313 if (hasBlockingRestartMultiplier() != other.hasBlockingRestartMultiplier()) return false;
9315 if (java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier())
9316 != java.lang.Double.doubleToLongBits(
9317 other.getBlockingRestartMultiplier())) return false;
9318 }
9319 if (hasNumConflictsBeforeStrategyChanges() != other.hasNumConflictsBeforeStrategyChanges()) return false;
9322 != other.getNumConflictsBeforeStrategyChanges()) return false;
9323 }
9324 if (hasStrategyChangeIncreaseRatio() != other.hasStrategyChangeIncreaseRatio()) return false;
9326 if (java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio())
9327 != java.lang.Double.doubleToLongBits(
9328 other.getStrategyChangeIncreaseRatio())) return false;
9329 }
9330 if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
9331 if (hasMaxTimeInSeconds()) {
9332 if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
9333 != java.lang.Double.doubleToLongBits(
9334 other.getMaxTimeInSeconds())) return false;
9335 }
9336 if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
9338 if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
9339 != java.lang.Double.doubleToLongBits(
9340 other.getMaxDeterministicTime())) return false;
9341 }
9342 if (hasMaxNumberOfConflicts() != other.hasMaxNumberOfConflicts()) return false;
9345 != other.getMaxNumberOfConflicts()) return false;
9346 }
9347 if (hasMaxMemoryInMb() != other.hasMaxMemoryInMb()) return false;
9348 if (hasMaxMemoryInMb()) {
9349 if (getMaxMemoryInMb()
9350 != other.getMaxMemoryInMb()) return false;
9351 }
9352 if (hasAbsoluteGapLimit() != other.hasAbsoluteGapLimit()) return false;
9353 if (hasAbsoluteGapLimit()) {
9354 if (java.lang.Double.doubleToLongBits(getAbsoluteGapLimit())
9355 != java.lang.Double.doubleToLongBits(
9356 other.getAbsoluteGapLimit())) return false;
9357 }
9358 if (hasRelativeGapLimit() != other.hasRelativeGapLimit()) return false;
9359 if (hasRelativeGapLimit()) {
9360 if (java.lang.Double.doubleToLongBits(getRelativeGapLimit())
9361 != java.lang.Double.doubleToLongBits(
9362 other.getRelativeGapLimit())) return false;
9363 }
9364 if (hasTreatBinaryClausesSeparately() != other.hasTreatBinaryClausesSeparately()) return false;
9367 != other.getTreatBinaryClausesSeparately()) return false;
9368 }
9369 if (hasRandomSeed() != other.hasRandomSeed()) return false;
9370 if (hasRandomSeed()) {
9371 if (getRandomSeed()
9372 != other.getRandomSeed()) return false;
9373 }
9374 if (hasPermuteVariableRandomly() != other.hasPermuteVariableRandomly()) return false;
9377 != other.getPermuteVariableRandomly()) return false;
9378 }
9379 if (hasPermutePresolveConstraintOrder() != other.hasPermutePresolveConstraintOrder()) return false;
9382 != other.getPermutePresolveConstraintOrder()) return false;
9383 }
9384 if (hasUseAbslRandom() != other.hasUseAbslRandom()) return false;
9385 if (hasUseAbslRandom()) {
9386 if (getUseAbslRandom()
9387 != other.getUseAbslRandom()) return false;
9388 }
9389 if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
9390 if (hasLogSearchProgress()) {
9392 != other.getLogSearchProgress()) return false;
9393 }
9394 if (hasLogSubsolverStatistics() != other.hasLogSubsolverStatistics()) return false;
9397 != other.getLogSubsolverStatistics()) return false;
9398 }
9399 if (hasLogPrefix() != other.hasLogPrefix()) return false;
9400 if (hasLogPrefix()) {
9401 if (!getLogPrefix()
9402 .equals(other.getLogPrefix())) return false;
9403 }
9404 if (hasLogToStdout() != other.hasLogToStdout()) return false;
9405 if (hasLogToStdout()) {
9406 if (getLogToStdout()
9407 != other.getLogToStdout()) return false;
9408 }
9409 if (hasLogToResponse() != other.hasLogToResponse()) return false;
9410 if (hasLogToResponse()) {
9411 if (getLogToResponse()
9412 != other.getLogToResponse()) return false;
9413 }
9414 if (hasUsePbResolution() != other.hasUsePbResolution()) return false;
9415 if (hasUsePbResolution()) {
9416 if (getUsePbResolution()
9417 != other.getUsePbResolution()) return false;
9418 }
9419 if (hasMinimizeReductionDuringPbResolution() != other.hasMinimizeReductionDuringPbResolution()) return false;
9422 != other.getMinimizeReductionDuringPbResolution()) return false;
9423 }
9424 if (hasCountAssumptionLevelsInLbd() != other.hasCountAssumptionLevelsInLbd()) return false;
9427 != other.getCountAssumptionLevelsInLbd()) return false;
9428 }
9429 if (hasPresolveBveThreshold() != other.hasPresolveBveThreshold()) return false;
9432 != other.getPresolveBveThreshold()) return false;
9433 }
9434 if (hasPresolveBveClauseWeight() != other.hasPresolveBveClauseWeight()) return false;
9437 != other.getPresolveBveClauseWeight()) return false;
9438 }
9439 if (hasPresolveProbingDeterministicTimeLimit() != other.hasPresolveProbingDeterministicTimeLimit()) return false;
9441 if (java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit())
9442 != java.lang.Double.doubleToLongBits(
9443 other.getPresolveProbingDeterministicTimeLimit())) return false;
9444 }
9445 if (hasPresolveBlockedClause() != other.hasPresolveBlockedClause()) return false;
9448 != other.getPresolveBlockedClause()) return false;
9449 }
9450 if (hasPresolveUseBva() != other.hasPresolveUseBva()) return false;
9451 if (hasPresolveUseBva()) {
9452 if (getPresolveUseBva()
9453 != other.getPresolveUseBva()) return false;
9454 }
9455 if (hasPresolveBvaThreshold() != other.hasPresolveBvaThreshold()) return false;
9458 != other.getPresolveBvaThreshold()) return false;
9459 }
9460 if (hasMaxPresolveIterations() != other.hasMaxPresolveIterations()) return false;
9463 != other.getMaxPresolveIterations()) return false;
9464 }
9465 if (hasCpModelPresolve() != other.hasCpModelPresolve()) return false;
9466 if (hasCpModelPresolve()) {
9467 if (getCpModelPresolve()
9468 != other.getCpModelPresolve()) return false;
9469 }
9470 if (hasCpModelPostsolveWithFullSolver() != other.hasCpModelPostsolveWithFullSolver()) return false;
9473 != other.getCpModelPostsolveWithFullSolver()) return false;
9474 }
9475 if (hasCpModelMaxNumPresolveOperations() != other.hasCpModelMaxNumPresolveOperations()) return false;
9478 != other.getCpModelMaxNumPresolveOperations()) return false;
9479 }
9480 if (hasCpModelProbingLevel() != other.hasCpModelProbingLevel()) return false;
9481 if (hasCpModelProbingLevel()) {
9483 != other.getCpModelProbingLevel()) return false;
9484 }
9485 if (hasCpModelUseSatPresolve() != other.hasCpModelUseSatPresolve()) return false;
9488 != other.getCpModelUseSatPresolve()) return false;
9489 }
9490 if (hasUseSatInprocessing() != other.hasUseSatInprocessing()) return false;
9491 if (hasUseSatInprocessing()) {
9493 != other.getUseSatInprocessing()) return false;
9494 }
9495 if (hasExpandElementConstraints() != other.hasExpandElementConstraints()) return false;
9498 != other.getExpandElementConstraints()) return false;
9499 }
9500 if (hasExpandAutomatonConstraints() != other.hasExpandAutomatonConstraints()) return false;
9503 != other.getExpandAutomatonConstraints()) return false;
9504 }
9505 if (hasExpandTableConstraints() != other.hasExpandTableConstraints()) return false;
9508 != other.getExpandTableConstraints()) return false;
9509 }
9510 if (hasExpandAlldiffConstraints() != other.hasExpandAlldiffConstraints()) return false;
9513 != other.getExpandAlldiffConstraints()) return false;
9514 }
9515 if (hasExpandReservoirConstraints() != other.hasExpandReservoirConstraints()) return false;
9518 != other.getExpandReservoirConstraints()) return false;
9519 }
9520 if (hasDisableConstraintExpansion() != other.hasDisableConstraintExpansion()) return false;
9523 != other.getDisableConstraintExpansion()) return false;
9524 }
9525 if (hasMergeNoOverlapWorkLimit() != other.hasMergeNoOverlapWorkLimit()) return false;
9527 if (java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit())
9528 != java.lang.Double.doubleToLongBits(
9529 other.getMergeNoOverlapWorkLimit())) return false;
9530 }
9531 if (hasMergeAtMostOneWorkLimit() != other.hasMergeAtMostOneWorkLimit()) return false;
9533 if (java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit())
9534 != java.lang.Double.doubleToLongBits(
9535 other.getMergeAtMostOneWorkLimit())) return false;
9536 }
9537 if (hasPresolveSubstitutionLevel() != other.hasPresolveSubstitutionLevel()) return false;
9540 != other.getPresolveSubstitutionLevel()) return false;
9541 }
9542 if (hasPresolveExtractIntegerEnforcement() != other.hasPresolveExtractIntegerEnforcement()) return false;
9545 != other.getPresolveExtractIntegerEnforcement()) return false;
9546 }
9547 if (hasUseOptimizationHints() != other.hasUseOptimizationHints()) return false;
9550 != other.getUseOptimizationHints()) return false;
9551 }
9552 if (hasMinimizeCore() != other.hasMinimizeCore()) return false;
9553 if (hasMinimizeCore()) {
9554 if (getMinimizeCore()
9555 != other.getMinimizeCore()) return false;
9556 }
9557 if (hasFindMultipleCores() != other.hasFindMultipleCores()) return false;
9558 if (hasFindMultipleCores()) {
9560 != other.getFindMultipleCores()) return false;
9561 }
9562 if (hasCoverOptimization() != other.hasCoverOptimization()) return false;
9563 if (hasCoverOptimization()) {
9565 != other.getCoverOptimization()) return false;
9566 }
9567 if (hasMaxSatAssumptionOrder() != other.hasMaxSatAssumptionOrder()) return false;
9569 if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_) return false;
9570 }
9571 if (hasMaxSatReverseAssumptionOrder() != other.hasMaxSatReverseAssumptionOrder()) return false;
9574 != other.getMaxSatReverseAssumptionOrder()) return false;
9575 }
9576 if (hasMaxSatStratification() != other.hasMaxSatStratification()) return false;
9578 if (maxSatStratification_ != other.maxSatStratification_) return false;
9579 }
9580 if (hasUsePrecedencesInDisjunctiveConstraint() != other.hasUsePrecedencesInDisjunctiveConstraint()) return false;
9583 != other.getUsePrecedencesInDisjunctiveConstraint()) return false;
9584 }
9585 if (hasUseOverloadCheckerInCumulativeConstraint() != other.hasUseOverloadCheckerInCumulativeConstraint()) return false;
9588 != other.getUseOverloadCheckerInCumulativeConstraint()) return false;
9589 }
9590 if (hasUseTimetableEdgeFindingInCumulativeConstraint() != other.hasUseTimetableEdgeFindingInCumulativeConstraint()) return false;
9593 != other.getUseTimetableEdgeFindingInCumulativeConstraint()) return false;
9594 }
9595 if (hasUseDisjunctiveConstraintInCumulativeConstraint() != other.hasUseDisjunctiveConstraintInCumulativeConstraint()) return false;
9598 != other.getUseDisjunctiveConstraintInCumulativeConstraint()) return false;
9599 }
9600 if (hasLinearizationLevel() != other.hasLinearizationLevel()) return false;
9601 if (hasLinearizationLevel()) {
9603 != other.getLinearizationLevel()) return false;
9604 }
9605 if (hasBooleanEncodingLevel() != other.hasBooleanEncodingLevel()) return false;
9608 != other.getBooleanEncodingLevel()) return false;
9609 }
9610 if (hasMaxDomainSizeWhenEncodingEqNeqConstraints() != other.hasMaxDomainSizeWhenEncodingEqNeqConstraints()) return false;
9613 != other.getMaxDomainSizeWhenEncodingEqNeqConstraints()) return false;
9614 }
9615 if (hasMaxNumCuts() != other.hasMaxNumCuts()) return false;
9616 if (hasMaxNumCuts()) {
9617 if (getMaxNumCuts()
9618 != other.getMaxNumCuts()) return false;
9619 }
9620 if (hasOnlyAddCutsAtLevelZero() != other.hasOnlyAddCutsAtLevelZero()) return false;
9623 != other.getOnlyAddCutsAtLevelZero()) return false;
9624 }
9625 if (hasAddKnapsackCuts() != other.hasAddKnapsackCuts()) return false;
9626 if (hasAddKnapsackCuts()) {
9627 if (getAddKnapsackCuts()
9628 != other.getAddKnapsackCuts()) return false;
9629 }
9630 if (hasAddCgCuts() != other.hasAddCgCuts()) return false;
9631 if (hasAddCgCuts()) {
9632 if (getAddCgCuts()
9633 != other.getAddCgCuts()) return false;
9634 }
9635 if (hasAddMirCuts() != other.hasAddMirCuts()) return false;
9636 if (hasAddMirCuts()) {
9637 if (getAddMirCuts()
9638 != other.getAddMirCuts()) return false;
9639 }
9640 if (hasAddZeroHalfCuts() != other.hasAddZeroHalfCuts()) return false;
9641 if (hasAddZeroHalfCuts()) {
9642 if (getAddZeroHalfCuts()
9643 != other.getAddZeroHalfCuts()) return false;
9644 }
9645 if (hasAddCliqueCuts() != other.hasAddCliqueCuts()) return false;
9646 if (hasAddCliqueCuts()) {
9647 if (getAddCliqueCuts()
9648 != other.getAddCliqueCuts()) return false;
9649 }
9650 if (hasMaxAllDiffCutSize() != other.hasMaxAllDiffCutSize()) return false;
9651 if (hasMaxAllDiffCutSize()) {
9653 != other.getMaxAllDiffCutSize()) return false;
9654 }
9655 if (hasAddLinMaxCuts() != other.hasAddLinMaxCuts()) return false;
9656 if (hasAddLinMaxCuts()) {
9657 if (getAddLinMaxCuts()
9658 != other.getAddLinMaxCuts()) return false;
9659 }
9660 if (hasMaxIntegerRoundingScaling() != other.hasMaxIntegerRoundingScaling()) return false;
9663 != other.getMaxIntegerRoundingScaling()) return false;
9664 }
9665 if (hasAddLpConstraintsLazily() != other.hasAddLpConstraintsLazily()) return false;
9668 != other.getAddLpConstraintsLazily()) return false;
9669 }
9670 if (hasMinOrthogonalityForLpConstraints() != other.hasMinOrthogonalityForLpConstraints()) return false;
9672 if (java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints())
9673 != java.lang.Double.doubleToLongBits(
9674 other.getMinOrthogonalityForLpConstraints())) return false;
9675 }
9676 if (hasMaxCutRoundsAtLevelZero() != other.hasMaxCutRoundsAtLevelZero()) return false;
9679 != other.getMaxCutRoundsAtLevelZero()) return false;
9680 }
9681 if (hasMaxConsecutiveInactiveCount() != other.hasMaxConsecutiveInactiveCount()) return false;
9684 != other.getMaxConsecutiveInactiveCount()) return false;
9685 }
9686 if (hasCutMaxActiveCountValue() != other.hasCutMaxActiveCountValue()) return false;
9688 if (java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue())
9689 != java.lang.Double.doubleToLongBits(
9690 other.getCutMaxActiveCountValue())) return false;
9691 }
9692 if (hasCutActiveCountDecay() != other.hasCutActiveCountDecay()) return false;
9693 if (hasCutActiveCountDecay()) {
9694 if (java.lang.Double.doubleToLongBits(getCutActiveCountDecay())
9695 != java.lang.Double.doubleToLongBits(
9696 other.getCutActiveCountDecay())) return false;
9697 }
9698 if (hasCutCleanupTarget() != other.hasCutCleanupTarget()) return false;
9699 if (hasCutCleanupTarget()) {
9701 != other.getCutCleanupTarget()) return false;
9702 }
9703 if (hasNewConstraintsBatchSize() != other.hasNewConstraintsBatchSize()) return false;
9706 != other.getNewConstraintsBatchSize()) return false;
9707 }
9708 if (hasSearchBranching() != other.hasSearchBranching()) return false;
9709 if (hasSearchBranching()) {
9710 if (searchBranching_ != other.searchBranching_) return false;
9711 }
9712 if (hasHintConflictLimit() != other.hasHintConflictLimit()) return false;
9713 if (hasHintConflictLimit()) {
9715 != other.getHintConflictLimit()) return false;
9716 }
9717 if (hasRepairHint() != other.hasRepairHint()) return false;
9718 if (hasRepairHint()) {
9719 if (getRepairHint()
9720 != other.getRepairHint()) return false;
9721 }
9722 if (hasFixVariablesToTheirHintedValue() != other.hasFixVariablesToTheirHintedValue()) return false;
9725 != other.getFixVariablesToTheirHintedValue()) return false;
9726 }
9727 if (hasExploitIntegerLpSolution() != other.hasExploitIntegerLpSolution()) return false;
9730 != other.getExploitIntegerLpSolution()) return false;
9731 }
9732 if (hasExploitAllLpSolution() != other.hasExploitAllLpSolution()) return false;
9735 != other.getExploitAllLpSolution()) return false;
9736 }
9737 if (hasExploitBestSolution() != other.hasExploitBestSolution()) return false;
9738 if (hasExploitBestSolution()) {
9740 != other.getExploitBestSolution()) return false;
9741 }
9742 if (hasExploitRelaxationSolution() != other.hasExploitRelaxationSolution()) return false;
9745 != other.getExploitRelaxationSolution()) return false;
9746 }
9747 if (hasExploitObjective() != other.hasExploitObjective()) return false;
9748 if (hasExploitObjective()) {
9750 != other.getExploitObjective()) return false;
9751 }
9752 if (hasProbingPeriodAtRoot() != other.hasProbingPeriodAtRoot()) return false;
9753 if (hasProbingPeriodAtRoot()) {
9755 != other.getProbingPeriodAtRoot()) return false;
9756 }
9757 if (hasUseProbingSearch() != other.hasUseProbingSearch()) return false;
9758 if (hasUseProbingSearch()) {
9760 != other.getUseProbingSearch()) return false;
9761 }
9762 if (hasPseudoCostReliabilityThreshold() != other.hasPseudoCostReliabilityThreshold()) return false;
9765 != other.getPseudoCostReliabilityThreshold()) return false;
9766 }
9767 if (hasOptimizeWithCore() != other.hasOptimizeWithCore()) return false;
9768 if (hasOptimizeWithCore()) {
9770 != other.getOptimizeWithCore()) return false;
9771 }
9772 if (hasOptimizeWithLbTreeSearch() != other.hasOptimizeWithLbTreeSearch()) return false;
9775 != other.getOptimizeWithLbTreeSearch()) return false;
9776 }
9777 if (hasBinarySearchNumConflicts() != other.hasBinarySearchNumConflicts()) return false;
9780 != other.getBinarySearchNumConflicts()) return false;
9781 }
9782 if (hasOptimizeWithMaxHs() != other.hasOptimizeWithMaxHs()) return false;
9783 if (hasOptimizeWithMaxHs()) {
9785 != other.getOptimizeWithMaxHs()) return false;
9786 }
9787 if (hasEnumerateAllSolutions() != other.hasEnumerateAllSolutions()) return false;
9790 != other.getEnumerateAllSolutions()) return false;
9791 }
9792 if (hasKeepAllFeasibleSolutionsInPresolve() != other.hasKeepAllFeasibleSolutionsInPresolve()) return false;
9795 != other.getKeepAllFeasibleSolutionsInPresolve()) return false;
9796 }
9797 if (hasFillTightenedDomainsInResponse() != other.hasFillTightenedDomainsInResponse()) return false;
9800 != other.getFillTightenedDomainsInResponse()) return false;
9801 }
9802 if (hasInstantiateAllVariables() != other.hasInstantiateAllVariables()) return false;
9805 != other.getInstantiateAllVariables()) return false;
9806 }
9807 if (hasAutoDetectGreaterThanAtLeastOneOf() != other.hasAutoDetectGreaterThanAtLeastOneOf()) return false;
9810 != other.getAutoDetectGreaterThanAtLeastOneOf()) return false;
9811 }
9812 if (hasStopAfterFirstSolution() != other.hasStopAfterFirstSolution()) return false;
9815 != other.getStopAfterFirstSolution()) return false;
9816 }
9817 if (hasStopAfterPresolve() != other.hasStopAfterPresolve()) return false;
9818 if (hasStopAfterPresolve()) {
9820 != other.getStopAfterPresolve()) return false;
9821 }
9822 if (hasNumSearchWorkers() != other.hasNumSearchWorkers()) return false;
9823 if (hasNumSearchWorkers()) {
9825 != other.getNumSearchWorkers()) return false;
9826 }
9827 if (hasInterleaveSearch() != other.hasInterleaveSearch()) return false;
9828 if (hasInterleaveSearch()) {
9830 != other.getInterleaveSearch()) return false;
9831 }
9832 if (hasInterleaveBatchSize() != other.hasInterleaveBatchSize()) return false;
9833 if (hasInterleaveBatchSize()) {
9835 != other.getInterleaveBatchSize()) return false;
9836 }
9837 if (hasReduceMemoryUsageInInterleaveMode() != other.hasReduceMemoryUsageInInterleaveMode()) return false;
9840 != other.getReduceMemoryUsageInInterleaveMode()) return false;
9841 }
9842 if (hasShareObjectiveBounds() != other.hasShareObjectiveBounds()) return false;
9845 != other.getShareObjectiveBounds()) return false;
9846 }
9847 if (hasShareLevelZeroBounds() != other.hasShareLevelZeroBounds()) return false;
9850 != other.getShareLevelZeroBounds()) return false;
9851 }
9852 if (hasUseLnsOnly() != other.hasUseLnsOnly()) return false;
9853 if (hasUseLnsOnly()) {
9854 if (getUseLnsOnly()
9855 != other.getUseLnsOnly()) return false;
9856 }
9857 if (hasLnsFocusOnDecisionVariables() != other.hasLnsFocusOnDecisionVariables()) return false;
9860 != other.getLnsFocusOnDecisionVariables()) return false;
9861 }
9862 if (hasLnsExpandIntervalsInConstraintGraph() != other.hasLnsExpandIntervalsInConstraintGraph()) return false;
9865 != other.getLnsExpandIntervalsInConstraintGraph()) return false;
9866 }
9867 if (hasSolutionPoolSize() != other.hasSolutionPoolSize()) return false;
9868 if (hasSolutionPoolSize()) {
9870 != other.getSolutionPoolSize()) return false;
9871 }
9872 if (hasUseRinsLns() != other.hasUseRinsLns()) return false;
9873 if (hasUseRinsLns()) {
9874 if (getUseRinsLns()
9875 != other.getUseRinsLns()) return false;
9876 }
9877 if (hasUseFeasibilityPump() != other.hasUseFeasibilityPump()) return false;
9878 if (hasUseFeasibilityPump()) {
9880 != other.getUseFeasibilityPump()) return false;
9881 }
9882 if (hasFpRounding() != other.hasFpRounding()) return false;
9883 if (hasFpRounding()) {
9884 if (fpRounding_ != other.fpRounding_) return false;
9885 }
9886 if (hasUseRelaxationLns() != other.hasUseRelaxationLns()) return false;
9887 if (hasUseRelaxationLns()) {
9889 != other.getUseRelaxationLns()) return false;
9890 }
9891 if (hasDiversifyLnsParams() != other.hasDiversifyLnsParams()) return false;
9892 if (hasDiversifyLnsParams()) {
9894 != other.getDiversifyLnsParams()) return false;
9895 }
9896 if (hasRandomizeSearch() != other.hasRandomizeSearch()) return false;
9897 if (hasRandomizeSearch()) {
9898 if (getRandomizeSearch()
9899 != other.getRandomizeSearch()) return false;
9900 }
9901 if (hasSearchRandomizationTolerance() != other.hasSearchRandomizationTolerance()) return false;
9904 != other.getSearchRandomizationTolerance()) return false;
9905 }
9906 if (hasUseOptionalVariables() != other.hasUseOptionalVariables()) return false;
9909 != other.getUseOptionalVariables()) return false;
9910 }
9911 if (hasUseExactLpReason() != other.hasUseExactLpReason()) return false;
9912 if (hasUseExactLpReason()) {
9914 != other.getUseExactLpReason()) return false;
9915 }
9916 if (hasUseBranchingInLp() != other.hasUseBranchingInLp()) return false;
9917 if (hasUseBranchingInLp()) {
9919 != other.getUseBranchingInLp()) return false;
9920 }
9921 if (hasUseCombinedNoOverlap() != other.hasUseCombinedNoOverlap()) return false;
9924 != other.getUseCombinedNoOverlap()) return false;
9925 }
9926 if (hasCatchSigintSignal() != other.hasCatchSigintSignal()) return false;
9927 if (hasCatchSigintSignal()) {
9929 != other.getCatchSigintSignal()) return false;
9930 }
9931 if (hasUseImpliedBounds() != other.hasUseImpliedBounds()) return false;
9932 if (hasUseImpliedBounds()) {
9934 != other.getUseImpliedBounds()) return false;
9935 }
9936 if (hasPolishLpSolution() != other.hasPolishLpSolution()) return false;
9937 if (hasPolishLpSolution()) {
9939 != other.getPolishLpSolution()) return false;
9940 }
9941 if (hasConvertIntervals() != other.hasConvertIntervals()) return false;
9942 if (hasConvertIntervals()) {
9944 != other.getConvertIntervals()) return false;
9945 }
9946 if (hasSymmetryLevel() != other.hasSymmetryLevel()) return false;
9947 if (hasSymmetryLevel()) {
9948 if (getSymmetryLevel()
9949 != other.getSymmetryLevel()) return false;
9950 }
9951 if (hasMipMaxBound() != other.hasMipMaxBound()) return false;
9952 if (hasMipMaxBound()) {
9953 if (java.lang.Double.doubleToLongBits(getMipMaxBound())
9954 != java.lang.Double.doubleToLongBits(
9955 other.getMipMaxBound())) return false;
9956 }
9957 if (hasMipVarScaling() != other.hasMipVarScaling()) return false;
9958 if (hasMipVarScaling()) {
9959 if (java.lang.Double.doubleToLongBits(getMipVarScaling())
9960 != java.lang.Double.doubleToLongBits(
9961 other.getMipVarScaling())) return false;
9962 }
9963 if (hasMipAutomaticallyScaleVariables() != other.hasMipAutomaticallyScaleVariables()) return false;
9966 != other.getMipAutomaticallyScaleVariables()) return false;
9967 }
9968 if (hasMipWantedPrecision() != other.hasMipWantedPrecision()) return false;
9969 if (hasMipWantedPrecision()) {
9970 if (java.lang.Double.doubleToLongBits(getMipWantedPrecision())
9971 != java.lang.Double.doubleToLongBits(
9972 other.getMipWantedPrecision())) return false;
9973 }
9974 if (hasMipMaxActivityExponent() != other.hasMipMaxActivityExponent()) return false;
9977 != other.getMipMaxActivityExponent()) return false;
9978 }
9979 if (hasMipCheckPrecision() != other.hasMipCheckPrecision()) return false;
9980 if (hasMipCheckPrecision()) {
9981 if (java.lang.Double.doubleToLongBits(getMipCheckPrecision())
9982 != java.lang.Double.doubleToLongBits(
9983 other.getMipCheckPrecision())) return false;
9984 }
9985 if (!unknownFields.equals(other.unknownFields)) return false;
9986 return true;
9987 }
9988
9989 @java.lang.Override
9990 public int hashCode() {
9991 if (memoizedHashCode != 0) {
9992 return memoizedHashCode;
9993 }
9994 int hash = 41;
9995 hash = (19 * hash) + getDescriptor().hashCode();
9996 if (hasName()) {
9997 hash = (37 * hash) + NAME_FIELD_NUMBER;
9998 hash = (53 * hash) + getName().hashCode();
9999 }
10001 hash = (37 * hash) + PREFERRED_VARIABLE_ORDER_FIELD_NUMBER;
10002 hash = (53 * hash) + preferredVariableOrder_;
10003 }
10004 if (hasInitialPolarity()) {
10005 hash = (37 * hash) + INITIAL_POLARITY_FIELD_NUMBER;
10006 hash = (53 * hash) + initialPolarity_;
10007 }
10008 if (hasUsePhaseSaving()) {
10009 hash = (37 * hash) + USE_PHASE_SAVING_FIELD_NUMBER;
10010 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10012 }
10014 hash = (37 * hash) + POLARITY_REPHASE_INCREMENT_FIELD_NUMBER;
10015 hash = (53 * hash) + getPolarityRephaseIncrement();
10016 }
10017 if (hasRandomPolarityRatio()) {
10018 hash = (37 * hash) + RANDOM_POLARITY_RATIO_FIELD_NUMBER;
10019 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10020 java.lang.Double.doubleToLongBits(getRandomPolarityRatio()));
10021 }
10022 if (hasRandomBranchesRatio()) {
10023 hash = (37 * hash) + RANDOM_BRANCHES_RATIO_FIELD_NUMBER;
10024 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10025 java.lang.Double.doubleToLongBits(getRandomBranchesRatio()));
10026 }
10027 if (hasUseErwaHeuristic()) {
10028 hash = (37 * hash) + USE_ERWA_HEURISTIC_FIELD_NUMBER;
10029 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10031 }
10033 hash = (37 * hash) + INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER;
10034 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10035 java.lang.Double.doubleToLongBits(getInitialVariablesActivity()));
10036 }
10039 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10041 }
10043 hash = (37 * hash) + MINIMIZATION_ALGORITHM_FIELD_NUMBER;
10044 hash = (53 * hash) + minimizationAlgorithm_;
10045 }
10047 hash = (37 * hash) + BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER;
10048 hash = (53 * hash) + binaryMinimizationAlgorithm_;
10049 }
10052 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10054 }
10055 if (hasClauseCleanupPeriod()) {
10056 hash = (37 * hash) + CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER;
10057 hash = (53 * hash) + getClauseCleanupPeriod();
10058 }
10059 if (hasClauseCleanupTarget()) {
10060 hash = (37 * hash) + CLAUSE_CLEANUP_TARGET_FIELD_NUMBER;
10061 hash = (53 * hash) + getClauseCleanupTarget();
10062 }
10063 if (hasClauseCleanupRatio()) {
10064 hash = (37 * hash) + CLAUSE_CLEANUP_RATIO_FIELD_NUMBER;
10065 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10066 java.lang.Double.doubleToLongBits(getClauseCleanupRatio()));
10067 }
10069 hash = (37 * hash) + CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER;
10070 hash = (53 * hash) + clauseCleanupProtection_;
10071 }
10073 hash = (37 * hash) + CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER;
10074 hash = (53 * hash) + getClauseCleanupLbdBound();
10075 }
10077 hash = (37 * hash) + CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER;
10078 hash = (53 * hash) + clauseCleanupOrdering_;
10079 }
10080 if (hasPbCleanupIncrement()) {
10081 hash = (37 * hash) + PB_CLEANUP_INCREMENT_FIELD_NUMBER;
10082 hash = (53 * hash) + getPbCleanupIncrement();
10083 }
10084 if (hasPbCleanupRatio()) {
10085 hash = (37 * hash) + PB_CLEANUP_RATIO_FIELD_NUMBER;
10086 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10087 java.lang.Double.doubleToLongBits(getPbCleanupRatio()));
10088 }
10091 hash = (53 * hash) + getMinimizeWithPropagationRestartPeriod();
10092 }
10095 hash = (53 * hash) + getMinimizeWithPropagationNumDecisions();
10096 }
10098 hash = (37 * hash) + VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER;
10099 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10100 java.lang.Double.doubleToLongBits(getVariableActivityDecay()));
10101 }
10103 hash = (37 * hash) + MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER;
10104 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10105 java.lang.Double.doubleToLongBits(getMaxVariableActivityValue()));
10106 }
10107 if (hasGlucoseMaxDecay()) {
10108 hash = (37 * hash) + GLUCOSE_MAX_DECAY_FIELD_NUMBER;
10109 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10110 java.lang.Double.doubleToLongBits(getGlucoseMaxDecay()));
10111 }
10113 hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER;
10114 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10115 java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement()));
10116 }
10119 hash = (53 * hash) + getGlucoseDecayIncrementPeriod();
10120 }
10121 if (hasClauseActivityDecay()) {
10122 hash = (37 * hash) + CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER;
10123 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10124 java.lang.Double.doubleToLongBits(getClauseActivityDecay()));
10125 }
10127 hash = (37 * hash) + MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER;
10128 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10129 java.lang.Double.doubleToLongBits(getMaxClauseActivityValue()));
10130 }
10131 if (getRestartAlgorithmsCount() > 0) {
10132 hash = (37 * hash) + RESTART_ALGORITHMS_FIELD_NUMBER;
10133 hash = (53 * hash) + restartAlgorithms_.hashCode();
10134 }
10136 hash = (37 * hash) + DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER;
10137 hash = (53 * hash) + getDefaultRestartAlgorithms().hashCode();
10138 }
10139 if (hasRestartPeriod()) {
10140 hash = (37 * hash) + RESTART_PERIOD_FIELD_NUMBER;
10141 hash = (53 * hash) + getRestartPeriod();
10142 }
10144 hash = (37 * hash) + RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER;
10145 hash = (53 * hash) + getRestartRunningWindowSize();
10146 }
10148 hash = (37 * hash) + RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER;
10149 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10150 java.lang.Double.doubleToLongBits(getRestartDlAverageRatio()));
10151 }
10153 hash = (37 * hash) + RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER;
10154 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10155 java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio()));
10156 }
10157 if (hasUseBlockingRestart()) {
10158 hash = (37 * hash) + USE_BLOCKING_RESTART_FIELD_NUMBER;
10159 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10161 }
10163 hash = (37 * hash) + BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER;
10164 hash = (53 * hash) + getBlockingRestartWindowSize();
10165 }
10167 hash = (37 * hash) + BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER;
10168 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10169 java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier()));
10170 }
10173 hash = (53 * hash) + getNumConflictsBeforeStrategyChanges();
10174 }
10177 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10178 java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio()));
10179 }
10180 if (hasMaxTimeInSeconds()) {
10181 hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
10182 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10183 java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
10184 }
10186 hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
10187 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10188 java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
10189 }
10191 hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER;
10192 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10194 }
10195 if (hasMaxMemoryInMb()) {
10196 hash = (37 * hash) + MAX_MEMORY_IN_MB_FIELD_NUMBER;
10197 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10199 }
10200 if (hasAbsoluteGapLimit()) {
10201 hash = (37 * hash) + ABSOLUTE_GAP_LIMIT_FIELD_NUMBER;
10202 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10203 java.lang.Double.doubleToLongBits(getAbsoluteGapLimit()));
10204 }
10205 if (hasRelativeGapLimit()) {
10206 hash = (37 * hash) + RELATIVE_GAP_LIMIT_FIELD_NUMBER;
10207 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10208 java.lang.Double.doubleToLongBits(getRelativeGapLimit()));
10209 }
10212 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10214 }
10215 if (hasRandomSeed()) {
10216 hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
10217 hash = (53 * hash) + getRandomSeed();
10218 }
10220 hash = (37 * hash) + PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER;
10221 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10223 }
10226 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10228 }
10229 if (hasUseAbslRandom()) {
10230 hash = (37 * hash) + USE_ABSL_RANDOM_FIELD_NUMBER;
10231 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10233 }
10234 if (hasLogSearchProgress()) {
10235 hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
10236 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10238 }
10240 hash = (37 * hash) + LOG_SUBSOLVER_STATISTICS_FIELD_NUMBER;
10241 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10243 }
10244 if (hasLogPrefix()) {
10245 hash = (37 * hash) + LOG_PREFIX_FIELD_NUMBER;
10246 hash = (53 * hash) + getLogPrefix().hashCode();
10247 }
10248 if (hasLogToStdout()) {
10249 hash = (37 * hash) + LOG_TO_STDOUT_FIELD_NUMBER;
10250 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10251 getLogToStdout());
10252 }
10253 if (hasLogToResponse()) {
10254 hash = (37 * hash) + LOG_TO_RESPONSE_FIELD_NUMBER;
10255 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10257 }
10258 if (hasUsePbResolution()) {
10259 hash = (37 * hash) + USE_PB_RESOLUTION_FIELD_NUMBER;
10260 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10262 }
10265 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10267 }
10270 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10272 }
10274 hash = (37 * hash) + PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER;
10275 hash = (53 * hash) + getPresolveBveThreshold();
10276 }
10278 hash = (37 * hash) + PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER;
10279 hash = (53 * hash) + getPresolveBveClauseWeight();
10280 }
10283 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10284 java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit()));
10285 }
10287 hash = (37 * hash) + PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER;
10288 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10290 }
10291 if (hasPresolveUseBva()) {
10292 hash = (37 * hash) + PRESOLVE_USE_BVA_FIELD_NUMBER;
10293 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10295 }
10297 hash = (37 * hash) + PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER;
10298 hash = (53 * hash) + getPresolveBvaThreshold();
10299 }
10301 hash = (37 * hash) + MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER;
10302 hash = (53 * hash) + getMaxPresolveIterations();
10303 }
10304 if (hasCpModelPresolve()) {
10305 hash = (37 * hash) + CP_MODEL_PRESOLVE_FIELD_NUMBER;
10306 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10308 }
10311 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10313 }
10316 hash = (53 * hash) + getCpModelMaxNumPresolveOperations();
10317 }
10318 if (hasCpModelProbingLevel()) {
10319 hash = (37 * hash) + CP_MODEL_PROBING_LEVEL_FIELD_NUMBER;
10320 hash = (53 * hash) + getCpModelProbingLevel();
10321 }
10323 hash = (37 * hash) + CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER;
10324 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10326 }
10327 if (hasUseSatInprocessing()) {
10328 hash = (37 * hash) + USE_SAT_INPROCESSING_FIELD_NUMBER;
10329 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10331 }
10333 hash = (37 * hash) + EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER;
10334 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10336 }
10338 hash = (37 * hash) + EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER;
10339 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10341 }
10343 hash = (37 * hash) + EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER;
10344 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10346 }
10348 hash = (37 * hash) + EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER;
10349 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10351 }
10353 hash = (37 * hash) + EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER;
10354 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10356 }
10358 hash = (37 * hash) + DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER;
10359 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10361 }
10363 hash = (37 * hash) + MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER;
10364 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10365 java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit()));
10366 }
10368 hash = (37 * hash) + MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER;
10369 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10370 java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit()));
10371 }
10373 hash = (37 * hash) + PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER;
10374 hash = (53 * hash) + getPresolveSubstitutionLevel();
10375 }
10378 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10380 }
10382 hash = (37 * hash) + USE_OPTIMIZATION_HINTS_FIELD_NUMBER;
10383 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10385 }
10386 if (hasMinimizeCore()) {
10387 hash = (37 * hash) + MINIMIZE_CORE_FIELD_NUMBER;
10388 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10389 getMinimizeCore());
10390 }
10391 if (hasFindMultipleCores()) {
10392 hash = (37 * hash) + FIND_MULTIPLE_CORES_FIELD_NUMBER;
10393 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10395 }
10396 if (hasCoverOptimization()) {
10397 hash = (37 * hash) + COVER_OPTIMIZATION_FIELD_NUMBER;
10398 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10400 }
10402 hash = (37 * hash) + MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER;
10403 hash = (53 * hash) + maxSatAssumptionOrder_;
10404 }
10407 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10409 }
10411 hash = (37 * hash) + MAX_SAT_STRATIFICATION_FIELD_NUMBER;
10412 hash = (53 * hash) + maxSatStratification_;
10413 }
10416 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10418 }
10421 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10423 }
10426 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10428 }
10431 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10433 }
10434 if (hasLinearizationLevel()) {
10435 hash = (37 * hash) + LINEARIZATION_LEVEL_FIELD_NUMBER;
10436 hash = (53 * hash) + getLinearizationLevel();
10437 }
10439 hash = (37 * hash) + BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER;
10440 hash = (53 * hash) + getBooleanEncodingLevel();
10441 }
10444 hash = (53 * hash) + getMaxDomainSizeWhenEncodingEqNeqConstraints();
10445 }
10446 if (hasMaxNumCuts()) {
10447 hash = (37 * hash) + MAX_NUM_CUTS_FIELD_NUMBER;
10448 hash = (53 * hash) + getMaxNumCuts();
10449 }
10451 hash = (37 * hash) + ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER;
10452 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10454 }
10455 if (hasAddKnapsackCuts()) {
10456 hash = (37 * hash) + ADD_KNAPSACK_CUTS_FIELD_NUMBER;
10457 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10459 }
10460 if (hasAddCgCuts()) {
10461 hash = (37 * hash) + ADD_CG_CUTS_FIELD_NUMBER;
10462 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10463 getAddCgCuts());
10464 }
10465 if (hasAddMirCuts()) {
10466 hash = (37 * hash) + ADD_MIR_CUTS_FIELD_NUMBER;
10467 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10468 getAddMirCuts());
10469 }
10470 if (hasAddZeroHalfCuts()) {
10471 hash = (37 * hash) + ADD_ZERO_HALF_CUTS_FIELD_NUMBER;
10472 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10474 }
10475 if (hasAddCliqueCuts()) {
10476 hash = (37 * hash) + ADD_CLIQUE_CUTS_FIELD_NUMBER;
10477 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10479 }
10480 if (hasMaxAllDiffCutSize()) {
10481 hash = (37 * hash) + MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER;
10482 hash = (53 * hash) + getMaxAllDiffCutSize();
10483 }
10484 if (hasAddLinMaxCuts()) {
10485 hash = (37 * hash) + ADD_LIN_MAX_CUTS_FIELD_NUMBER;
10486 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10488 }
10490 hash = (37 * hash) + MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER;
10491 hash = (53 * hash) + getMaxIntegerRoundingScaling();
10492 }
10494 hash = (37 * hash) + ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER;
10495 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10497 }
10500 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10501 java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints()));
10502 }
10504 hash = (37 * hash) + MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER;
10505 hash = (53 * hash) + getMaxCutRoundsAtLevelZero();
10506 }
10509 hash = (53 * hash) + getMaxConsecutiveInactiveCount();
10510 }
10512 hash = (37 * hash) + CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER;
10513 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10514 java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue()));
10515 }
10516 if (hasCutActiveCountDecay()) {
10517 hash = (37 * hash) + CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER;
10518 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10519 java.lang.Double.doubleToLongBits(getCutActiveCountDecay()));
10520 }
10521 if (hasCutCleanupTarget()) {
10522 hash = (37 * hash) + CUT_CLEANUP_TARGET_FIELD_NUMBER;
10523 hash = (53 * hash) + getCutCleanupTarget();
10524 }
10526 hash = (37 * hash) + NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER;
10527 hash = (53 * hash) + getNewConstraintsBatchSize();
10528 }
10529 if (hasSearchBranching()) {
10530 hash = (37 * hash) + SEARCH_BRANCHING_FIELD_NUMBER;
10531 hash = (53 * hash) + searchBranching_;
10532 }
10533 if (hasHintConflictLimit()) {
10534 hash = (37 * hash) + HINT_CONFLICT_LIMIT_FIELD_NUMBER;
10535 hash = (53 * hash) + getHintConflictLimit();
10536 }
10537 if (hasRepairHint()) {
10538 hash = (37 * hash) + REPAIR_HINT_FIELD_NUMBER;
10539 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10540 getRepairHint());
10541 }
10544 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10546 }
10548 hash = (37 * hash) + EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER;
10549 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10551 }
10553 hash = (37 * hash) + EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER;
10554 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10556 }
10557 if (hasExploitBestSolution()) {
10558 hash = (37 * hash) + EXPLOIT_BEST_SOLUTION_FIELD_NUMBER;
10559 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10561 }
10563 hash = (37 * hash) + EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER;
10564 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10566 }
10567 if (hasExploitObjective()) {
10568 hash = (37 * hash) + EXPLOIT_OBJECTIVE_FIELD_NUMBER;
10569 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10571 }
10572 if (hasProbingPeriodAtRoot()) {
10573 hash = (37 * hash) + PROBING_PERIOD_AT_ROOT_FIELD_NUMBER;
10574 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10576 }
10577 if (hasUseProbingSearch()) {
10578 hash = (37 * hash) + USE_PROBING_SEARCH_FIELD_NUMBER;
10579 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10581 }
10584 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10586 }
10587 if (hasOptimizeWithCore()) {
10588 hash = (37 * hash) + OPTIMIZE_WITH_CORE_FIELD_NUMBER;
10589 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10591 }
10593 hash = (37 * hash) + OPTIMIZE_WITH_LB_TREE_SEARCH_FIELD_NUMBER;
10594 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10596 }
10598 hash = (37 * hash) + BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER;
10599 hash = (53 * hash) + getBinarySearchNumConflicts();
10600 }
10601 if (hasOptimizeWithMaxHs()) {
10602 hash = (37 * hash) + OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER;
10603 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10605 }
10607 hash = (37 * hash) + ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER;
10608 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10610 }
10613 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10615 }
10618 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10620 }
10622 hash = (37 * hash) + INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER;
10623 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10625 }
10628 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10630 }
10632 hash = (37 * hash) + STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER;
10633 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10635 }
10636 if (hasStopAfterPresolve()) {
10637 hash = (37 * hash) + STOP_AFTER_PRESOLVE_FIELD_NUMBER;
10638 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10640 }
10641 if (hasNumSearchWorkers()) {
10642 hash = (37 * hash) + NUM_SEARCH_WORKERS_FIELD_NUMBER;
10643 hash = (53 * hash) + getNumSearchWorkers();
10644 }
10645 if (hasInterleaveSearch()) {
10646 hash = (37 * hash) + INTERLEAVE_SEARCH_FIELD_NUMBER;
10647 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10649 }
10650 if (hasInterleaveBatchSize()) {
10651 hash = (37 * hash) + INTERLEAVE_BATCH_SIZE_FIELD_NUMBER;
10652 hash = (53 * hash) + getInterleaveBatchSize();
10653 }
10656 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10658 }
10660 hash = (37 * hash) + SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER;
10661 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10663 }
10665 hash = (37 * hash) + SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER;
10666 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10668 }
10669 if (hasUseLnsOnly()) {
10670 hash = (37 * hash) + USE_LNS_ONLY_FIELD_NUMBER;
10671 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10672 getUseLnsOnly());
10673 }
10676 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10678 }
10681 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10683 }
10684 if (hasSolutionPoolSize()) {
10685 hash = (37 * hash) + SOLUTION_POOL_SIZE_FIELD_NUMBER;
10686 hash = (53 * hash) + getSolutionPoolSize();
10687 }
10688 if (hasUseRinsLns()) {
10689 hash = (37 * hash) + USE_RINS_LNS_FIELD_NUMBER;
10690 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10691 getUseRinsLns());
10692 }
10693 if (hasUseFeasibilityPump()) {
10694 hash = (37 * hash) + USE_FEASIBILITY_PUMP_FIELD_NUMBER;
10695 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10697 }
10698 if (hasFpRounding()) {
10699 hash = (37 * hash) + FP_ROUNDING_FIELD_NUMBER;
10700 hash = (53 * hash) + fpRounding_;
10701 }
10702 if (hasUseRelaxationLns()) {
10703 hash = (37 * hash) + USE_RELAXATION_LNS_FIELD_NUMBER;
10704 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10706 }
10707 if (hasDiversifyLnsParams()) {
10708 hash = (37 * hash) + DIVERSIFY_LNS_PARAMS_FIELD_NUMBER;
10709 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10711 }
10712 if (hasRandomizeSearch()) {
10713 hash = (37 * hash) + RANDOMIZE_SEARCH_FIELD_NUMBER;
10714 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10716 }
10719 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10721 }
10723 hash = (37 * hash) + USE_OPTIONAL_VARIABLES_FIELD_NUMBER;
10724 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10726 }
10727 if (hasUseExactLpReason()) {
10728 hash = (37 * hash) + USE_EXACT_LP_REASON_FIELD_NUMBER;
10729 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10731 }
10732 if (hasUseBranchingInLp()) {
10733 hash = (37 * hash) + USE_BRANCHING_IN_LP_FIELD_NUMBER;
10734 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10736 }
10738 hash = (37 * hash) + USE_COMBINED_NO_OVERLAP_FIELD_NUMBER;
10739 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10741 }
10742 if (hasCatchSigintSignal()) {
10743 hash = (37 * hash) + CATCH_SIGINT_SIGNAL_FIELD_NUMBER;
10744 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10746 }
10747 if (hasUseImpliedBounds()) {
10748 hash = (37 * hash) + USE_IMPLIED_BOUNDS_FIELD_NUMBER;
10749 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10751 }
10752 if (hasPolishLpSolution()) {
10753 hash = (37 * hash) + POLISH_LP_SOLUTION_FIELD_NUMBER;
10754 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10756 }
10757 if (hasConvertIntervals()) {
10758 hash = (37 * hash) + CONVERT_INTERVALS_FIELD_NUMBER;
10759 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10761 }
10762 if (hasSymmetryLevel()) {
10763 hash = (37 * hash) + SYMMETRY_LEVEL_FIELD_NUMBER;
10764 hash = (53 * hash) + getSymmetryLevel();
10765 }
10766 if (hasMipMaxBound()) {
10767 hash = (37 * hash) + MIP_MAX_BOUND_FIELD_NUMBER;
10768 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10769 java.lang.Double.doubleToLongBits(getMipMaxBound()));
10770 }
10771 if (hasMipVarScaling()) {
10772 hash = (37 * hash) + MIP_VAR_SCALING_FIELD_NUMBER;
10773 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10774 java.lang.Double.doubleToLongBits(getMipVarScaling()));
10775 }
10778 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10780 }
10781 if (hasMipWantedPrecision()) {
10782 hash = (37 * hash) + MIP_WANTED_PRECISION_FIELD_NUMBER;
10783 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10784 java.lang.Double.doubleToLongBits(getMipWantedPrecision()));
10785 }
10787 hash = (37 * hash) + MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER;
10788 hash = (53 * hash) + getMipMaxActivityExponent();
10789 }
10790 if (hasMipCheckPrecision()) {
10791 hash = (37 * hash) + MIP_CHECK_PRECISION_FIELD_NUMBER;
10792 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10793 java.lang.Double.doubleToLongBits(getMipCheckPrecision()));
10794 }
10795 hash = (29 * hash) + unknownFields.hashCode();
10796 memoizedHashCode = hash;
10797 return hash;
10798 }
10799
10800 public static com.google.ortools.sat.SatParameters parseFrom(
10801 java.nio.ByteBuffer data)
10802 throws com.google.protobuf.InvalidProtocolBufferException {
10803 return PARSER.parseFrom(data);
10804 }
10805 public static com.google.ortools.sat.SatParameters parseFrom(
10806 java.nio.ByteBuffer data,
10807 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10808 throws com.google.protobuf.InvalidProtocolBufferException {
10809 return PARSER.parseFrom(data, extensionRegistry);
10810 }
10811 public static com.google.ortools.sat.SatParameters parseFrom(
10812 com.google.protobuf.ByteString data)
10813 throws com.google.protobuf.InvalidProtocolBufferException {
10814 return PARSER.parseFrom(data);
10815 }
10816 public static com.google.ortools.sat.SatParameters parseFrom(
10817 com.google.protobuf.ByteString data,
10818 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10819 throws com.google.protobuf.InvalidProtocolBufferException {
10820 return PARSER.parseFrom(data, extensionRegistry);
10821 }
10822 public static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
10823 throws com.google.protobuf.InvalidProtocolBufferException {
10824 return PARSER.parseFrom(data);
10825 }
10826 public static com.google.ortools.sat.SatParameters parseFrom(
10827 byte[] data,
10828 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10829 throws com.google.protobuf.InvalidProtocolBufferException {
10830 return PARSER.parseFrom(data, extensionRegistry);
10831 }
10832 public static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
10833 throws java.io.IOException {
10834 return com.google.protobuf.GeneratedMessageV3
10835 .parseWithIOException(PARSER, input);
10836 }
10837 public static com.google.ortools.sat.SatParameters parseFrom(
10838 java.io.InputStream input,
10839 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10840 throws java.io.IOException {
10841 return com.google.protobuf.GeneratedMessageV3
10842 .parseWithIOException(PARSER, input, extensionRegistry);
10843 }
10844 public static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
10845 throws java.io.IOException {
10846 return com.google.protobuf.GeneratedMessageV3
10847 .parseDelimitedWithIOException(PARSER, input);
10848 }
10849 public static com.google.ortools.sat.SatParameters parseDelimitedFrom(
10850 java.io.InputStream input,
10851 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10852 throws java.io.IOException {
10853 return com.google.protobuf.GeneratedMessageV3
10854 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
10855 }
10856 public static com.google.ortools.sat.SatParameters parseFrom(
10857 com.google.protobuf.CodedInputStream input)
10858 throws java.io.IOException {
10859 return com.google.protobuf.GeneratedMessageV3
10860 .parseWithIOException(PARSER, input);
10861 }
10862 public static com.google.ortools.sat.SatParameters parseFrom(
10863 com.google.protobuf.CodedInputStream input,
10864 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10865 throws java.io.IOException {
10866 return com.google.protobuf.GeneratedMessageV3
10867 .parseWithIOException(PARSER, input, extensionRegistry);
10868 }
10869
10870 @java.lang.Override
10871 public Builder newBuilderForType() { return newBuilder(); }
10872 public static Builder newBuilder() {
10873 return DEFAULT_INSTANCE.toBuilder();
10874 }
10875 public static Builder newBuilder(com.google.ortools.sat.SatParameters prototype) {
10876 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
10877 }
10878 @java.lang.Override
10880 return this == DEFAULT_INSTANCE
10881 ? new Builder() : new Builder().mergeFrom(this);
10882 }
10883
10884 @java.lang.Override
10886 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
10887 Builder builder = new Builder(parent);
10888 return builder;
10889 }
10899 public static final class Builder extends
10900 com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
10901 // @@protoc_insertion_point(builder_implements:operations_research.sat.SatParameters)
10902 com.google.ortools.sat.SatParametersOrBuilder {
10903 public static final com.google.protobuf.Descriptors.Descriptor
10905 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
10906 }
10907
10908 @java.lang.Override
10909 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
10911 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
10912 .ensureFieldAccessorsInitialized(
10913 com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
10914 }
10915
10916 // Construct using com.google.ortools.sat.SatParameters.newBuilder()
10917 private Builder() {
10918 maybeForceBuilderInitialization();
10919 }
10920
10921 private Builder(
10922 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
10923 super(parent);
10924 maybeForceBuilderInitialization();
10925 }
10926 private void maybeForceBuilderInitialization() {
10927 if (com.google.protobuf.GeneratedMessageV3
10928 .alwaysUseFieldBuilders) {
10929 }
10930 }
10931 @java.lang.Override
10932 public Builder clear() {
10933 super.clear();
10934 name_ = "";
10935 bitField0_ = (bitField0_ & ~0x00000001);
10936 preferredVariableOrder_ = 0;
10937 bitField0_ = (bitField0_ & ~0x00000002);
10938 initialPolarity_ = 1;
10939 bitField0_ = (bitField0_ & ~0x00000004);
10940 usePhaseSaving_ = true;
10941 bitField0_ = (bitField0_ & ~0x00000008);
10942 polarityRephaseIncrement_ = 1000;
10943 bitField0_ = (bitField0_ & ~0x00000010);
10944 randomPolarityRatio_ = 0D;
10945 bitField0_ = (bitField0_ & ~0x00000020);
10946 randomBranchesRatio_ = 0D;
10947 bitField0_ = (bitField0_ & ~0x00000040);
10948 useErwaHeuristic_ = false;
10949 bitField0_ = (bitField0_ & ~0x00000080);
10950 initialVariablesActivity_ = 0D;
10951 bitField0_ = (bitField0_ & ~0x00000100);
10952 alsoBumpVariablesInConflictReasons_ = false;
10953 bitField0_ = (bitField0_ & ~0x00000200);
10954 minimizationAlgorithm_ = 2;
10955 bitField0_ = (bitField0_ & ~0x00000400);
10956 binaryMinimizationAlgorithm_ = 1;
10957 bitField0_ = (bitField0_ & ~0x00000800);
10958 subsumptionDuringConflictAnalysis_ = true;
10959 bitField0_ = (bitField0_ & ~0x00001000);
10960 clauseCleanupPeriod_ = 10000;
10961 bitField0_ = (bitField0_ & ~0x00002000);
10962 clauseCleanupTarget_ = 0;
10963 bitField0_ = (bitField0_ & ~0x00004000);
10964 clauseCleanupRatio_ = 0.5D;
10965 bitField0_ = (bitField0_ & ~0x00008000);
10966 clauseCleanupProtection_ = 0;
10967 bitField0_ = (bitField0_ & ~0x00010000);
10968 clauseCleanupLbdBound_ = 5;
10969 bitField0_ = (bitField0_ & ~0x00020000);
10970 clauseCleanupOrdering_ = 0;
10971 bitField0_ = (bitField0_ & ~0x00040000);
10972 pbCleanupIncrement_ = 200;
10973 bitField0_ = (bitField0_ & ~0x00080000);
10974 pbCleanupRatio_ = 0.5D;
10975 bitField0_ = (bitField0_ & ~0x00100000);
10976 minimizeWithPropagationRestartPeriod_ = 10;
10977 bitField0_ = (bitField0_ & ~0x00200000);
10978 minimizeWithPropagationNumDecisions_ = 1000;
10979 bitField0_ = (bitField0_ & ~0x00400000);
10980 variableActivityDecay_ = 0.8D;
10981 bitField0_ = (bitField0_ & ~0x00800000);
10982 maxVariableActivityValue_ = 1e+100D;
10983 bitField0_ = (bitField0_ & ~0x01000000);
10984 glucoseMaxDecay_ = 0.95D;
10985 bitField0_ = (bitField0_ & ~0x02000000);
10986 glucoseDecayIncrement_ = 0.01D;
10987 bitField0_ = (bitField0_ & ~0x04000000);
10988 glucoseDecayIncrementPeriod_ = 5000;
10989 bitField0_ = (bitField0_ & ~0x08000000);
10990 clauseActivityDecay_ = 0.999D;
10991 bitField0_ = (bitField0_ & ~0x10000000);
10992 maxClauseActivityValue_ = 1e+20D;
10993 bitField0_ = (bitField0_ & ~0x20000000);
10994 restartAlgorithms_ = java.util.Collections.emptyList();
10995 bitField0_ = (bitField0_ & ~0x40000000);
10996 defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
10997 bitField0_ = (bitField0_ & ~0x80000000);
10998 restartPeriod_ = 50;
10999 bitField1_ = (bitField1_ & ~0x00000001);
11000 restartRunningWindowSize_ = 50;
11001 bitField1_ = (bitField1_ & ~0x00000002);
11002 restartDlAverageRatio_ = 1D;
11003 bitField1_ = (bitField1_ & ~0x00000004);
11004 restartLbdAverageRatio_ = 1D;
11005 bitField1_ = (bitField1_ & ~0x00000008);
11006 useBlockingRestart_ = false;
11007 bitField1_ = (bitField1_ & ~0x00000010);
11008 blockingRestartWindowSize_ = 5000;
11009 bitField1_ = (bitField1_ & ~0x00000020);
11010 blockingRestartMultiplier_ = 1.4D;
11011 bitField1_ = (bitField1_ & ~0x00000040);
11012 numConflictsBeforeStrategyChanges_ = 0;
11013 bitField1_ = (bitField1_ & ~0x00000080);
11014 strategyChangeIncreaseRatio_ = 0D;
11015 bitField1_ = (bitField1_ & ~0x00000100);
11016 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
11017 bitField1_ = (bitField1_ & ~0x00000200);
11018 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
11019 bitField1_ = (bitField1_ & ~0x00000400);
11020 maxNumberOfConflicts_ = 9223372036854775807L;
11021 bitField1_ = (bitField1_ & ~0x00000800);
11022 maxMemoryInMb_ = 10000L;
11023 bitField1_ = (bitField1_ & ~0x00001000);
11024 absoluteGapLimit_ = 0D;
11025 bitField1_ = (bitField1_ & ~0x00002000);
11026 relativeGapLimit_ = 0D;
11027 bitField1_ = (bitField1_ & ~0x00004000);
11028 treatBinaryClausesSeparately_ = true;
11029 bitField1_ = (bitField1_ & ~0x00008000);
11030 randomSeed_ = 1;
11031 bitField1_ = (bitField1_ & ~0x00010000);
11032 permuteVariableRandomly_ = false;
11033 bitField1_ = (bitField1_ & ~0x00020000);
11034 permutePresolveConstraintOrder_ = false;
11035 bitField1_ = (bitField1_ & ~0x00040000);
11036 useAbslRandom_ = false;
11037 bitField1_ = (bitField1_ & ~0x00080000);
11038 logSearchProgress_ = false;
11039 bitField1_ = (bitField1_ & ~0x00100000);
11040 logSubsolverStatistics_ = true;
11041 bitField1_ = (bitField1_ & ~0x00200000);
11042 logPrefix_ = "";
11043 bitField1_ = (bitField1_ & ~0x00400000);
11044 logToStdout_ = true;
11045 bitField1_ = (bitField1_ & ~0x00800000);
11046 logToResponse_ = false;
11047 bitField1_ = (bitField1_ & ~0x01000000);
11048 usePbResolution_ = false;
11049 bitField1_ = (bitField1_ & ~0x02000000);
11050 minimizeReductionDuringPbResolution_ = false;
11051 bitField1_ = (bitField1_ & ~0x04000000);
11052 countAssumptionLevelsInLbd_ = true;
11053 bitField1_ = (bitField1_ & ~0x08000000);
11054 presolveBveThreshold_ = 500;
11055 bitField1_ = (bitField1_ & ~0x10000000);
11056 presolveBveClauseWeight_ = 3;
11057 bitField1_ = (bitField1_ & ~0x20000000);
11058 presolveProbingDeterministicTimeLimit_ = 30D;
11059 bitField1_ = (bitField1_ & ~0x40000000);
11060 presolveBlockedClause_ = true;
11061 bitField1_ = (bitField1_ & ~0x80000000);
11062 presolveUseBva_ = true;
11063 bitField2_ = (bitField2_ & ~0x00000001);
11064 presolveBvaThreshold_ = 1;
11065 bitField2_ = (bitField2_ & ~0x00000002);
11066 maxPresolveIterations_ = 3;
11067 bitField2_ = (bitField2_ & ~0x00000004);
11068 cpModelPresolve_ = true;
11069 bitField2_ = (bitField2_ & ~0x00000008);
11070 cpModelPostsolveWithFullSolver_ = false;
11071 bitField2_ = (bitField2_ & ~0x00000010);
11072 cpModelMaxNumPresolveOperations_ = 0;
11073 bitField2_ = (bitField2_ & ~0x00000020);
11074 cpModelProbingLevel_ = 2;
11075 bitField2_ = (bitField2_ & ~0x00000040);
11076 cpModelUseSatPresolve_ = true;
11077 bitField2_ = (bitField2_ & ~0x00000080);
11078 useSatInprocessing_ = false;
11079 bitField2_ = (bitField2_ & ~0x00000100);
11080 expandElementConstraints_ = true;
11081 bitField2_ = (bitField2_ & ~0x00000200);
11082 expandAutomatonConstraints_ = true;
11083 bitField2_ = (bitField2_ & ~0x00000400);
11084 expandTableConstraints_ = true;
11085 bitField2_ = (bitField2_ & ~0x00000800);
11086 expandAlldiffConstraints_ = false;
11087 bitField2_ = (bitField2_ & ~0x00001000);
11088 expandReservoirConstraints_ = true;
11089 bitField2_ = (bitField2_ & ~0x00002000);
11090 disableConstraintExpansion_ = false;
11091 bitField2_ = (bitField2_ & ~0x00004000);
11092 mergeNoOverlapWorkLimit_ = 1000000000000D;
11093 bitField2_ = (bitField2_ & ~0x00008000);
11094 mergeAtMostOneWorkLimit_ = 100000000D;
11095 bitField2_ = (bitField2_ & ~0x00010000);
11096 presolveSubstitutionLevel_ = 1;
11097 bitField2_ = (bitField2_ & ~0x00020000);
11098 presolveExtractIntegerEnforcement_ = false;
11099 bitField2_ = (bitField2_ & ~0x00040000);
11100 useOptimizationHints_ = true;
11101 bitField2_ = (bitField2_ & ~0x00080000);
11102 minimizeCore_ = true;
11103 bitField2_ = (bitField2_ & ~0x00100000);
11104 findMultipleCores_ = true;
11105 bitField2_ = (bitField2_ & ~0x00200000);
11106 coverOptimization_ = true;
11107 bitField2_ = (bitField2_ & ~0x00400000);
11108 maxSatAssumptionOrder_ = 0;
11109 bitField2_ = (bitField2_ & ~0x00800000);
11110 maxSatReverseAssumptionOrder_ = false;
11111 bitField2_ = (bitField2_ & ~0x01000000);
11112 maxSatStratification_ = 1;
11113 bitField2_ = (bitField2_ & ~0x02000000);
11114 usePrecedencesInDisjunctiveConstraint_ = true;
11115 bitField2_ = (bitField2_ & ~0x04000000);
11116 useOverloadCheckerInCumulativeConstraint_ = false;
11117 bitField2_ = (bitField2_ & ~0x08000000);
11118 useTimetableEdgeFindingInCumulativeConstraint_ = false;
11119 bitField2_ = (bitField2_ & ~0x10000000);
11120 useDisjunctiveConstraintInCumulativeConstraint_ = true;
11121 bitField2_ = (bitField2_ & ~0x20000000);
11122 linearizationLevel_ = 1;
11123 bitField2_ = (bitField2_ & ~0x40000000);
11124 booleanEncodingLevel_ = 1;
11125 bitField2_ = (bitField2_ & ~0x80000000);
11126 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
11127 bitField3_ = (bitField3_ & ~0x00000001);
11128 maxNumCuts_ = 10000;
11129 bitField3_ = (bitField3_ & ~0x00000002);
11130 onlyAddCutsAtLevelZero_ = false;
11131 bitField3_ = (bitField3_ & ~0x00000004);
11132 addKnapsackCuts_ = false;
11133 bitField3_ = (bitField3_ & ~0x00000008);
11134 addCgCuts_ = true;
11135 bitField3_ = (bitField3_ & ~0x00000010);
11136 addMirCuts_ = true;
11137 bitField3_ = (bitField3_ & ~0x00000020);
11138 addZeroHalfCuts_ = true;
11139 bitField3_ = (bitField3_ & ~0x00000040);
11140 addCliqueCuts_ = true;
11141 bitField3_ = (bitField3_ & ~0x00000080);
11142 maxAllDiffCutSize_ = 7;
11143 bitField3_ = (bitField3_ & ~0x00000100);
11144 addLinMaxCuts_ = true;
11145 bitField3_ = (bitField3_ & ~0x00000200);
11146 maxIntegerRoundingScaling_ = 600;
11147 bitField3_ = (bitField3_ & ~0x00000400);
11148 addLpConstraintsLazily_ = true;
11149 bitField3_ = (bitField3_ & ~0x00000800);
11150 minOrthogonalityForLpConstraints_ = 0.05D;
11151 bitField3_ = (bitField3_ & ~0x00001000);
11152 maxCutRoundsAtLevelZero_ = 1;
11153 bitField3_ = (bitField3_ & ~0x00002000);
11154 maxConsecutiveInactiveCount_ = 100;
11155 bitField3_ = (bitField3_ & ~0x00004000);
11156 cutMaxActiveCountValue_ = 10000000000D;
11157 bitField3_ = (bitField3_ & ~0x00008000);
11158 cutActiveCountDecay_ = 0.8D;
11159 bitField3_ = (bitField3_ & ~0x00010000);
11160 cutCleanupTarget_ = 1000;
11161 bitField3_ = (bitField3_ & ~0x00020000);
11162 newConstraintsBatchSize_ = 50;
11163 bitField3_ = (bitField3_ & ~0x00040000);
11164 searchBranching_ = 0;
11165 bitField3_ = (bitField3_ & ~0x00080000);
11166 hintConflictLimit_ = 10;
11167 bitField3_ = (bitField3_ & ~0x00100000);
11168 repairHint_ = false;
11169 bitField3_ = (bitField3_ & ~0x00200000);
11170 fixVariablesToTheirHintedValue_ = false;
11171 bitField3_ = (bitField3_ & ~0x00400000);
11172 exploitIntegerLpSolution_ = true;
11173 bitField3_ = (bitField3_ & ~0x00800000);
11174 exploitAllLpSolution_ = true;
11175 bitField3_ = (bitField3_ & ~0x01000000);
11176 exploitBestSolution_ = false;
11177 bitField3_ = (bitField3_ & ~0x02000000);
11178 exploitRelaxationSolution_ = false;
11179 bitField3_ = (bitField3_ & ~0x04000000);
11180 exploitObjective_ = true;
11181 bitField3_ = (bitField3_ & ~0x08000000);
11182 probingPeriodAtRoot_ = 0L;
11183 bitField3_ = (bitField3_ & ~0x10000000);
11184 useProbingSearch_ = false;
11185 bitField3_ = (bitField3_ & ~0x20000000);
11186 pseudoCostReliabilityThreshold_ = 100L;
11187 bitField3_ = (bitField3_ & ~0x40000000);
11188 optimizeWithCore_ = false;
11189 bitField3_ = (bitField3_ & ~0x80000000);
11190 optimizeWithLbTreeSearch_ = false;
11191 bitField4_ = (bitField4_ & ~0x00000001);
11192 binarySearchNumConflicts_ = -1;
11193 bitField4_ = (bitField4_ & ~0x00000002);
11194 optimizeWithMaxHs_ = false;
11195 bitField4_ = (bitField4_ & ~0x00000004);
11196 enumerateAllSolutions_ = false;
11197 bitField4_ = (bitField4_ & ~0x00000008);
11198 keepAllFeasibleSolutionsInPresolve_ = false;
11199 bitField4_ = (bitField4_ & ~0x00000010);
11200 fillTightenedDomainsInResponse_ = false;
11201 bitField4_ = (bitField4_ & ~0x00000020);
11202 instantiateAllVariables_ = true;
11203 bitField4_ = (bitField4_ & ~0x00000040);
11204 autoDetectGreaterThanAtLeastOneOf_ = true;
11205 bitField4_ = (bitField4_ & ~0x00000080);
11206 stopAfterFirstSolution_ = false;
11207 bitField4_ = (bitField4_ & ~0x00000100);
11208 stopAfterPresolve_ = false;
11209 bitField4_ = (bitField4_ & ~0x00000200);
11210 numSearchWorkers_ = 0;
11211 bitField4_ = (bitField4_ & ~0x00000400);
11212 interleaveSearch_ = false;
11213 bitField4_ = (bitField4_ & ~0x00000800);
11214 interleaveBatchSize_ = 1;
11215 bitField4_ = (bitField4_ & ~0x00001000);
11216 reduceMemoryUsageInInterleaveMode_ = false;
11217 bitField4_ = (bitField4_ & ~0x00002000);
11218 shareObjectiveBounds_ = true;
11219 bitField4_ = (bitField4_ & ~0x00004000);
11220 shareLevelZeroBounds_ = true;
11221 bitField4_ = (bitField4_ & ~0x00008000);
11222 useLnsOnly_ = false;
11223 bitField4_ = (bitField4_ & ~0x00010000);
11224 lnsFocusOnDecisionVariables_ = false;
11225 bitField4_ = (bitField4_ & ~0x00020000);
11226 lnsExpandIntervalsInConstraintGraph_ = true;
11227 bitField4_ = (bitField4_ & ~0x00040000);
11228 solutionPoolSize_ = 3;
11229 bitField4_ = (bitField4_ & ~0x00080000);
11230 useRinsLns_ = true;
11231 bitField4_ = (bitField4_ & ~0x00100000);
11232 useFeasibilityPump_ = true;
11233 bitField4_ = (bitField4_ & ~0x00200000);
11234 fpRounding_ = 2;
11235 bitField4_ = (bitField4_ & ~0x00400000);
11236 useRelaxationLns_ = false;
11237 bitField4_ = (bitField4_ & ~0x00800000);
11238 diversifyLnsParams_ = false;
11239 bitField4_ = (bitField4_ & ~0x01000000);
11240 randomizeSearch_ = false;
11241 bitField4_ = (bitField4_ & ~0x02000000);
11242 searchRandomizationTolerance_ = 0L;
11243 bitField4_ = (bitField4_ & ~0x04000000);
11244 useOptionalVariables_ = true;
11245 bitField4_ = (bitField4_ & ~0x08000000);
11246 useExactLpReason_ = true;
11247 bitField4_ = (bitField4_ & ~0x10000000);
11248 useBranchingInLp_ = false;
11249 bitField4_ = (bitField4_ & ~0x20000000);
11250 useCombinedNoOverlap_ = false;
11251 bitField4_ = (bitField4_ & ~0x40000000);
11252 catchSigintSignal_ = true;
11253 bitField4_ = (bitField4_ & ~0x80000000);
11254 useImpliedBounds_ = true;
11255 bitField5_ = (bitField5_ & ~0x00000001);
11256 polishLpSolution_ = false;
11257 bitField5_ = (bitField5_ & ~0x00000002);
11258 convertIntervals_ = true;
11259 bitField5_ = (bitField5_ & ~0x00000004);
11260 symmetryLevel_ = 2;
11261 bitField5_ = (bitField5_ & ~0x00000008);
11262 mipMaxBound_ = 10000000D;
11263 bitField5_ = (bitField5_ & ~0x00000010);
11264 mipVarScaling_ = 1D;
11265 bitField5_ = (bitField5_ & ~0x00000020);
11266 mipAutomaticallyScaleVariables_ = true;
11267 bitField5_ = (bitField5_ & ~0x00000040);
11268 mipWantedPrecision_ = 1e-06D;
11269 bitField5_ = (bitField5_ & ~0x00000080);
11270 mipMaxActivityExponent_ = 53;
11271 bitField5_ = (bitField5_ & ~0x00000100);
11272 mipCheckPrecision_ = 0.0001D;
11273 bitField5_ = (bitField5_ & ~0x00000200);
11274 return this;
11275 }
11276
11277 @java.lang.Override
11278 public com.google.protobuf.Descriptors.Descriptor
11280 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
11281 }
11282
11283 @java.lang.Override
11284 public com.google.ortools.sat.SatParameters getDefaultInstanceForType() {
11285 return com.google.ortools.sat.SatParameters.getDefaultInstance();
11286 }
11287
11288 @java.lang.Override
11289 public com.google.ortools.sat.SatParameters build() {
11290 com.google.ortools.sat.SatParameters result = buildPartial();
11291 if (!result.isInitialized()) {
11292 throw newUninitializedMessageException(result);
11293 }
11294 return result;
11295 }
11296
11297 @java.lang.Override
11298 public com.google.ortools.sat.SatParameters buildPartial() {
11299 com.google.ortools.sat.SatParameters result = new com.google.ortools.sat.SatParameters(this);
11300 int from_bitField0_ = bitField0_;
11301 int from_bitField1_ = bitField1_;
11302 int from_bitField2_ = bitField2_;
11303 int from_bitField3_ = bitField3_;
11304 int from_bitField4_ = bitField4_;
11305 int from_bitField5_ = bitField5_;
11306 int to_bitField0_ = 0;
11307 int to_bitField1_ = 0;
11308 int to_bitField2_ = 0;
11309 int to_bitField3_ = 0;
11310 int to_bitField4_ = 0;
11311 int to_bitField5_ = 0;
11312 if (((from_bitField0_ & 0x00000001) != 0)) {
11313 to_bitField0_ |= 0x00000001;
11314 }
11315 result.name_ = name_;
11316 if (((from_bitField0_ & 0x00000002) != 0)) {
11317 to_bitField0_ |= 0x00000002;
11318 }
11319 result.preferredVariableOrder_ = preferredVariableOrder_;
11320 if (((from_bitField0_ & 0x00000004) != 0)) {
11321 to_bitField0_ |= 0x00000004;
11322 }
11323 result.initialPolarity_ = initialPolarity_;
11324 if (((from_bitField0_ & 0x00000008) != 0)) {
11325 to_bitField0_ |= 0x00000008;
11326 }
11327 result.usePhaseSaving_ = usePhaseSaving_;
11328 if (((from_bitField0_ & 0x00000010) != 0)) {
11329 to_bitField0_ |= 0x00000010;
11330 }
11331 result.polarityRephaseIncrement_ = polarityRephaseIncrement_;
11332 if (((from_bitField0_ & 0x00000020) != 0)) {
11333 result.randomPolarityRatio_ = randomPolarityRatio_;
11334 to_bitField0_ |= 0x00000020;
11335 }
11336 if (((from_bitField0_ & 0x00000040) != 0)) {
11337 result.randomBranchesRatio_ = randomBranchesRatio_;
11338 to_bitField0_ |= 0x00000040;
11339 }
11340 if (((from_bitField0_ & 0x00000080) != 0)) {
11341 result.useErwaHeuristic_ = useErwaHeuristic_;
11342 to_bitField0_ |= 0x00000080;
11343 }
11344 if (((from_bitField0_ & 0x00000100) != 0)) {
11345 result.initialVariablesActivity_ = initialVariablesActivity_;
11346 to_bitField0_ |= 0x00000100;
11347 }
11348 if (((from_bitField0_ & 0x00000200) != 0)) {
11349 result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
11350 to_bitField0_ |= 0x00000200;
11351 }
11352 if (((from_bitField0_ & 0x00000400) != 0)) {
11353 to_bitField0_ |= 0x00000400;
11354 }
11355 result.minimizationAlgorithm_ = minimizationAlgorithm_;
11356 if (((from_bitField0_ & 0x00000800) != 0)) {
11357 to_bitField0_ |= 0x00000800;
11358 }
11359 result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
11360 if (((from_bitField0_ & 0x00001000) != 0)) {
11361 to_bitField0_ |= 0x00001000;
11362 }
11363 result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
11364 if (((from_bitField0_ & 0x00002000) != 0)) {
11365 to_bitField0_ |= 0x00002000;
11366 }
11367 result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
11368 if (((from_bitField0_ & 0x00004000) != 0)) {
11369 result.clauseCleanupTarget_ = clauseCleanupTarget_;
11370 to_bitField0_ |= 0x00004000;
11371 }
11372 if (((from_bitField0_ & 0x00008000) != 0)) {
11373 to_bitField0_ |= 0x00008000;
11374 }
11375 result.clauseCleanupRatio_ = clauseCleanupRatio_;
11376 if (((from_bitField0_ & 0x00010000) != 0)) {
11377 to_bitField0_ |= 0x00010000;
11378 }
11379 result.clauseCleanupProtection_ = clauseCleanupProtection_;
11380 if (((from_bitField0_ & 0x00020000) != 0)) {
11381 to_bitField0_ |= 0x00020000;
11382 }
11383 result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
11384 if (((from_bitField0_ & 0x00040000) != 0)) {
11385 to_bitField0_ |= 0x00040000;
11386 }
11387 result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
11388 if (((from_bitField0_ & 0x00080000) != 0)) {
11389 to_bitField0_ |= 0x00080000;
11390 }
11391 result.pbCleanupIncrement_ = pbCleanupIncrement_;
11392 if (((from_bitField0_ & 0x00100000) != 0)) {
11393 to_bitField0_ |= 0x00100000;
11394 }
11395 result.pbCleanupRatio_ = pbCleanupRatio_;
11396 if (((from_bitField0_ & 0x00200000) != 0)) {
11397 to_bitField0_ |= 0x00200000;
11398 }
11399 result.minimizeWithPropagationRestartPeriod_ = minimizeWithPropagationRestartPeriod_;
11400 if (((from_bitField0_ & 0x00400000) != 0)) {
11401 to_bitField0_ |= 0x00400000;
11402 }
11403 result.minimizeWithPropagationNumDecisions_ = minimizeWithPropagationNumDecisions_;
11404 if (((from_bitField0_ & 0x00800000) != 0)) {
11405 to_bitField0_ |= 0x00800000;
11406 }
11407 result.variableActivityDecay_ = variableActivityDecay_;
11408 if (((from_bitField0_ & 0x01000000) != 0)) {
11409 to_bitField0_ |= 0x01000000;
11410 }
11411 result.maxVariableActivityValue_ = maxVariableActivityValue_;
11412 if (((from_bitField0_ & 0x02000000) != 0)) {
11413 to_bitField0_ |= 0x02000000;
11414 }
11415 result.glucoseMaxDecay_ = glucoseMaxDecay_;
11416 if (((from_bitField0_ & 0x04000000) != 0)) {
11417 to_bitField0_ |= 0x04000000;
11418 }
11419 result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
11420 if (((from_bitField0_ & 0x08000000) != 0)) {
11421 to_bitField0_ |= 0x08000000;
11422 }
11423 result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
11424 if (((from_bitField0_ & 0x10000000) != 0)) {
11425 to_bitField0_ |= 0x10000000;
11426 }
11427 result.clauseActivityDecay_ = clauseActivityDecay_;
11428 if (((from_bitField0_ & 0x20000000) != 0)) {
11429 to_bitField0_ |= 0x20000000;
11430 }
11431 result.maxClauseActivityValue_ = maxClauseActivityValue_;
11432 if (((bitField0_ & 0x40000000) != 0)) {
11433 restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
11434 bitField0_ = (bitField0_ & ~0x40000000);
11435 }
11436 result.restartAlgorithms_ = restartAlgorithms_;
11437 if (((from_bitField0_ & 0x80000000) != 0)) {
11438 to_bitField0_ |= 0x40000000;
11439 }
11440 result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
11441 if (((from_bitField1_ & 0x00000001) != 0)) {
11442 to_bitField0_ |= 0x80000000;
11443 }
11444 result.restartPeriod_ = restartPeriod_;
11445 if (((from_bitField1_ & 0x00000002) != 0)) {
11446 to_bitField1_ |= 0x00000001;
11447 }
11448 result.restartRunningWindowSize_ = restartRunningWindowSize_;
11449 if (((from_bitField1_ & 0x00000004) != 0)) {
11450 to_bitField1_ |= 0x00000002;
11451 }
11452 result.restartDlAverageRatio_ = restartDlAverageRatio_;
11453 if (((from_bitField1_ & 0x00000008) != 0)) {
11454 to_bitField1_ |= 0x00000004;
11455 }
11456 result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
11457 if (((from_bitField1_ & 0x00000010) != 0)) {
11458 result.useBlockingRestart_ = useBlockingRestart_;
11459 to_bitField1_ |= 0x00000008;
11460 }
11461 if (((from_bitField1_ & 0x00000020) != 0)) {
11462 to_bitField1_ |= 0x00000010;
11463 }
11464 result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
11465 if (((from_bitField1_ & 0x00000040) != 0)) {
11466 to_bitField1_ |= 0x00000020;
11467 }
11468 result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
11469 if (((from_bitField1_ & 0x00000080) != 0)) {
11470 result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
11471 to_bitField1_ |= 0x00000040;
11472 }
11473 if (((from_bitField1_ & 0x00000100) != 0)) {
11474 result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
11475 to_bitField1_ |= 0x00000080;
11476 }
11477 if (((from_bitField1_ & 0x00000200) != 0)) {
11478 to_bitField1_ |= 0x00000100;
11479 }
11480 result.maxTimeInSeconds_ = maxTimeInSeconds_;
11481 if (((from_bitField1_ & 0x00000400) != 0)) {
11482 to_bitField1_ |= 0x00000200;
11483 }
11484 result.maxDeterministicTime_ = maxDeterministicTime_;
11485 if (((from_bitField1_ & 0x00000800) != 0)) {
11486 to_bitField1_ |= 0x00000400;
11487 }
11488 result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
11489 if (((from_bitField1_ & 0x00001000) != 0)) {
11490 to_bitField1_ |= 0x00000800;
11491 }
11492 result.maxMemoryInMb_ = maxMemoryInMb_;
11493 if (((from_bitField1_ & 0x00002000) != 0)) {
11494 result.absoluteGapLimit_ = absoluteGapLimit_;
11495 to_bitField1_ |= 0x00001000;
11496 }
11497 if (((from_bitField1_ & 0x00004000) != 0)) {
11498 result.relativeGapLimit_ = relativeGapLimit_;
11499 to_bitField1_ |= 0x00002000;
11500 }
11501 if (((from_bitField1_ & 0x00008000) != 0)) {
11502 to_bitField1_ |= 0x00004000;
11503 }
11504 result.treatBinaryClausesSeparately_ = treatBinaryClausesSeparately_;
11505 if (((from_bitField1_ & 0x00010000) != 0)) {
11506 to_bitField1_ |= 0x00008000;
11507 }
11508 result.randomSeed_ = randomSeed_;
11509 if (((from_bitField1_ & 0x00020000) != 0)) {
11510 result.permuteVariableRandomly_ = permuteVariableRandomly_;
11511 to_bitField1_ |= 0x00010000;
11512 }
11513 if (((from_bitField1_ & 0x00040000) != 0)) {
11514 result.permutePresolveConstraintOrder_ = permutePresolveConstraintOrder_;
11515 to_bitField1_ |= 0x00020000;
11516 }
11517 if (((from_bitField1_ & 0x00080000) != 0)) {
11518 result.useAbslRandom_ = useAbslRandom_;
11519 to_bitField1_ |= 0x00040000;
11520 }
11521 if (((from_bitField1_ & 0x00100000) != 0)) {
11522 result.logSearchProgress_ = logSearchProgress_;
11523 to_bitField1_ |= 0x00080000;
11524 }
11525 if (((from_bitField1_ & 0x00200000) != 0)) {
11526 to_bitField1_ |= 0x00100000;
11527 }
11528 result.logSubsolverStatistics_ = logSubsolverStatistics_;
11529 if (((from_bitField1_ & 0x00400000) != 0)) {
11530 to_bitField1_ |= 0x00200000;
11531 }
11532 result.logPrefix_ = logPrefix_;
11533 if (((from_bitField1_ & 0x00800000) != 0)) {
11534 to_bitField1_ |= 0x00400000;
11535 }
11536 result.logToStdout_ = logToStdout_;
11537 if (((from_bitField1_ & 0x01000000) != 0)) {
11538 result.logToResponse_ = logToResponse_;
11539 to_bitField1_ |= 0x00800000;
11540 }
11541 if (((from_bitField1_ & 0x02000000) != 0)) {
11542 result.usePbResolution_ = usePbResolution_;
11543 to_bitField1_ |= 0x01000000;
11544 }
11545 if (((from_bitField1_ & 0x04000000) != 0)) {
11546 result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
11547 to_bitField1_ |= 0x02000000;
11548 }
11549 if (((from_bitField1_ & 0x08000000) != 0)) {
11550 to_bitField1_ |= 0x04000000;
11551 }
11552 result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
11553 if (((from_bitField1_ & 0x10000000) != 0)) {
11554 to_bitField1_ |= 0x08000000;
11555 }
11556 result.presolveBveThreshold_ = presolveBveThreshold_;
11557 if (((from_bitField1_ & 0x20000000) != 0)) {
11558 to_bitField1_ |= 0x10000000;
11559 }
11560 result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
11561 if (((from_bitField1_ & 0x40000000) != 0)) {
11562 to_bitField1_ |= 0x20000000;
11563 }
11564 result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
11565 if (((from_bitField1_ & 0x80000000) != 0)) {
11566 to_bitField1_ |= 0x40000000;
11567 }
11568 result.presolveBlockedClause_ = presolveBlockedClause_;
11569 if (((from_bitField2_ & 0x00000001) != 0)) {
11570 to_bitField1_ |= 0x80000000;
11571 }
11572 result.presolveUseBva_ = presolveUseBva_;
11573 if (((from_bitField2_ & 0x00000002) != 0)) {
11574 to_bitField2_ |= 0x00000001;
11575 }
11576 result.presolveBvaThreshold_ = presolveBvaThreshold_;
11577 if (((from_bitField2_ & 0x00000004) != 0)) {
11578 to_bitField2_ |= 0x00000002;
11579 }
11580 result.maxPresolveIterations_ = maxPresolveIterations_;
11581 if (((from_bitField2_ & 0x00000008) != 0)) {
11582 to_bitField2_ |= 0x00000004;
11583 }
11584 result.cpModelPresolve_ = cpModelPresolve_;
11585 if (((from_bitField2_ & 0x00000010) != 0)) {
11586 result.cpModelPostsolveWithFullSolver_ = cpModelPostsolveWithFullSolver_;
11587 to_bitField2_ |= 0x00000008;
11588 }
11589 if (((from_bitField2_ & 0x00000020) != 0)) {
11590 result.cpModelMaxNumPresolveOperations_ = cpModelMaxNumPresolveOperations_;
11591 to_bitField2_ |= 0x00000010;
11592 }
11593 if (((from_bitField2_ & 0x00000040) != 0)) {
11594 to_bitField2_ |= 0x00000020;
11595 }
11596 result.cpModelProbingLevel_ = cpModelProbingLevel_;
11597 if (((from_bitField2_ & 0x00000080) != 0)) {
11598 to_bitField2_ |= 0x00000040;
11599 }
11600 result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
11601 if (((from_bitField2_ & 0x00000100) != 0)) {
11602 result.useSatInprocessing_ = useSatInprocessing_;
11603 to_bitField2_ |= 0x00000080;
11604 }
11605 if (((from_bitField2_ & 0x00000200) != 0)) {
11606 to_bitField2_ |= 0x00000100;
11607 }
11608 result.expandElementConstraints_ = expandElementConstraints_;
11609 if (((from_bitField2_ & 0x00000400) != 0)) {
11610 to_bitField2_ |= 0x00000200;
11611 }
11612 result.expandAutomatonConstraints_ = expandAutomatonConstraints_;
11613 if (((from_bitField2_ & 0x00000800) != 0)) {
11614 to_bitField2_ |= 0x00000400;
11615 }
11616 result.expandTableConstraints_ = expandTableConstraints_;
11617 if (((from_bitField2_ & 0x00001000) != 0)) {
11618 result.expandAlldiffConstraints_ = expandAlldiffConstraints_;
11619 to_bitField2_ |= 0x00000800;
11620 }
11621 if (((from_bitField2_ & 0x00002000) != 0)) {
11622 to_bitField2_ |= 0x00001000;
11623 }
11624 result.expandReservoirConstraints_ = expandReservoirConstraints_;
11625 if (((from_bitField2_ & 0x00004000) != 0)) {
11626 result.disableConstraintExpansion_ = disableConstraintExpansion_;
11627 to_bitField2_ |= 0x00002000;
11628 }
11629 if (((from_bitField2_ & 0x00008000) != 0)) {
11630 to_bitField2_ |= 0x00004000;
11631 }
11632 result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
11633 if (((from_bitField2_ & 0x00010000) != 0)) {
11634 to_bitField2_ |= 0x00008000;
11635 }
11636 result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
11637 if (((from_bitField2_ & 0x00020000) != 0)) {
11638 to_bitField2_ |= 0x00010000;
11639 }
11640 result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
11641 if (((from_bitField2_ & 0x00040000) != 0)) {
11642 result.presolveExtractIntegerEnforcement_ = presolveExtractIntegerEnforcement_;
11643 to_bitField2_ |= 0x00020000;
11644 }
11645 if (((from_bitField2_ & 0x00080000) != 0)) {
11646 to_bitField2_ |= 0x00040000;
11647 }
11648 result.useOptimizationHints_ = useOptimizationHints_;
11649 if (((from_bitField2_ & 0x00100000) != 0)) {
11650 to_bitField2_ |= 0x00080000;
11651 }
11652 result.minimizeCore_ = minimizeCore_;
11653 if (((from_bitField2_ & 0x00200000) != 0)) {
11654 to_bitField2_ |= 0x00100000;
11655 }
11656 result.findMultipleCores_ = findMultipleCores_;
11657 if (((from_bitField2_ & 0x00400000) != 0)) {
11658 to_bitField2_ |= 0x00200000;
11659 }
11660 result.coverOptimization_ = coverOptimization_;
11661 if (((from_bitField2_ & 0x00800000) != 0)) {
11662 to_bitField2_ |= 0x00400000;
11663 }
11664 result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
11665 if (((from_bitField2_ & 0x01000000) != 0)) {
11666 result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
11667 to_bitField2_ |= 0x00800000;
11668 }
11669 if (((from_bitField2_ & 0x02000000) != 0)) {
11670 to_bitField2_ |= 0x01000000;
11671 }
11672 result.maxSatStratification_ = maxSatStratification_;
11673 if (((from_bitField2_ & 0x04000000) != 0)) {
11674 to_bitField2_ |= 0x02000000;
11675 }
11676 result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
11677 if (((from_bitField2_ & 0x08000000) != 0)) {
11678 result.useOverloadCheckerInCumulativeConstraint_ = useOverloadCheckerInCumulativeConstraint_;
11679 to_bitField2_ |= 0x04000000;
11680 }
11681 if (((from_bitField2_ & 0x10000000) != 0)) {
11682 result.useTimetableEdgeFindingInCumulativeConstraint_ = useTimetableEdgeFindingInCumulativeConstraint_;
11683 to_bitField2_ |= 0x08000000;
11684 }
11685 if (((from_bitField2_ & 0x20000000) != 0)) {
11686 to_bitField2_ |= 0x10000000;
11687 }
11688 result.useDisjunctiveConstraintInCumulativeConstraint_ = useDisjunctiveConstraintInCumulativeConstraint_;
11689 if (((from_bitField2_ & 0x40000000) != 0)) {
11690 to_bitField2_ |= 0x20000000;
11691 }
11692 result.linearizationLevel_ = linearizationLevel_;
11693 if (((from_bitField2_ & 0x80000000) != 0)) {
11694 to_bitField2_ |= 0x40000000;
11695 }
11696 result.booleanEncodingLevel_ = booleanEncodingLevel_;
11697 if (((from_bitField3_ & 0x00000001) != 0)) {
11698 to_bitField2_ |= 0x80000000;
11699 }
11700 result.maxDomainSizeWhenEncodingEqNeqConstraints_ = maxDomainSizeWhenEncodingEqNeqConstraints_;
11701 if (((from_bitField3_ & 0x00000002) != 0)) {
11702 to_bitField3_ |= 0x00000001;
11703 }
11704 result.maxNumCuts_ = maxNumCuts_;
11705 if (((from_bitField3_ & 0x00000004) != 0)) {
11706 result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
11707 to_bitField3_ |= 0x00000002;
11708 }
11709 if (((from_bitField3_ & 0x00000008) != 0)) {
11710 result.addKnapsackCuts_ = addKnapsackCuts_;
11711 to_bitField3_ |= 0x00000004;
11712 }
11713 if (((from_bitField3_ & 0x00000010) != 0)) {
11714 to_bitField3_ |= 0x00000008;
11715 }
11716 result.addCgCuts_ = addCgCuts_;
11717 if (((from_bitField3_ & 0x00000020) != 0)) {
11718 to_bitField3_ |= 0x00000010;
11719 }
11720 result.addMirCuts_ = addMirCuts_;
11721 if (((from_bitField3_ & 0x00000040) != 0)) {
11722 to_bitField3_ |= 0x00000020;
11723 }
11724 result.addZeroHalfCuts_ = addZeroHalfCuts_;
11725 if (((from_bitField3_ & 0x00000080) != 0)) {
11726 to_bitField3_ |= 0x00000040;
11727 }
11728 result.addCliqueCuts_ = addCliqueCuts_;
11729 if (((from_bitField3_ & 0x00000100) != 0)) {
11730 to_bitField3_ |= 0x00000080;
11731 }
11732 result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
11733 if (((from_bitField3_ & 0x00000200) != 0)) {
11734 to_bitField3_ |= 0x00000100;
11735 }
11736 result.addLinMaxCuts_ = addLinMaxCuts_;
11737 if (((from_bitField3_ & 0x00000400) != 0)) {
11738 to_bitField3_ |= 0x00000200;
11739 }
11740 result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
11741 if (((from_bitField3_ & 0x00000800) != 0)) {
11742 to_bitField3_ |= 0x00000400;
11743 }
11744 result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
11745 if (((from_bitField3_ & 0x00001000) != 0)) {
11746 to_bitField3_ |= 0x00000800;
11747 }
11748 result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
11749 if (((from_bitField3_ & 0x00002000) != 0)) {
11750 to_bitField3_ |= 0x00001000;
11751 }
11752 result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
11753 if (((from_bitField3_ & 0x00004000) != 0)) {
11754 to_bitField3_ |= 0x00002000;
11755 }
11756 result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
11757 if (((from_bitField3_ & 0x00008000) != 0)) {
11758 to_bitField3_ |= 0x00004000;
11759 }
11760 result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
11761 if (((from_bitField3_ & 0x00010000) != 0)) {
11762 to_bitField3_ |= 0x00008000;
11763 }
11764 result.cutActiveCountDecay_ = cutActiveCountDecay_;
11765 if (((from_bitField3_ & 0x00020000) != 0)) {
11766 to_bitField3_ |= 0x00010000;
11767 }
11768 result.cutCleanupTarget_ = cutCleanupTarget_;
11769 if (((from_bitField3_ & 0x00040000) != 0)) {
11770 to_bitField3_ |= 0x00020000;
11771 }
11772 result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
11773 if (((from_bitField3_ & 0x00080000) != 0)) {
11774 to_bitField3_ |= 0x00040000;
11775 }
11776 result.searchBranching_ = searchBranching_;
11777 if (((from_bitField3_ & 0x00100000) != 0)) {
11778 to_bitField3_ |= 0x00080000;
11779 }
11780 result.hintConflictLimit_ = hintConflictLimit_;
11781 if (((from_bitField3_ & 0x00200000) != 0)) {
11782 result.repairHint_ = repairHint_;
11783 to_bitField3_ |= 0x00100000;
11784 }
11785 if (((from_bitField3_ & 0x00400000) != 0)) {
11786 result.fixVariablesToTheirHintedValue_ = fixVariablesToTheirHintedValue_;
11787 to_bitField3_ |= 0x00200000;
11788 }
11789 if (((from_bitField3_ & 0x00800000) != 0)) {
11790 to_bitField3_ |= 0x00400000;
11791 }
11792 result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
11793 if (((from_bitField3_ & 0x01000000) != 0)) {
11794 to_bitField3_ |= 0x00800000;
11795 }
11796 result.exploitAllLpSolution_ = exploitAllLpSolution_;
11797 if (((from_bitField3_ & 0x02000000) != 0)) {
11798 result.exploitBestSolution_ = exploitBestSolution_;
11799 to_bitField3_ |= 0x01000000;
11800 }
11801 if (((from_bitField3_ & 0x04000000) != 0)) {
11802 result.exploitRelaxationSolution_ = exploitRelaxationSolution_;
11803 to_bitField3_ |= 0x02000000;
11804 }
11805 if (((from_bitField3_ & 0x08000000) != 0)) {
11806 to_bitField3_ |= 0x04000000;
11807 }
11808 result.exploitObjective_ = exploitObjective_;
11809 if (((from_bitField3_ & 0x10000000) != 0)) {
11810 result.probingPeriodAtRoot_ = probingPeriodAtRoot_;
11811 to_bitField3_ |= 0x08000000;
11812 }
11813 if (((from_bitField3_ & 0x20000000) != 0)) {
11814 result.useProbingSearch_ = useProbingSearch_;
11815 to_bitField3_ |= 0x10000000;
11816 }
11817 if (((from_bitField3_ & 0x40000000) != 0)) {
11818 to_bitField3_ |= 0x20000000;
11819 }
11820 result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
11821 if (((from_bitField3_ & 0x80000000) != 0)) {
11822 result.optimizeWithCore_ = optimizeWithCore_;
11823 to_bitField3_ |= 0x40000000;
11824 }
11825 if (((from_bitField4_ & 0x00000001) != 0)) {
11826 result.optimizeWithLbTreeSearch_ = optimizeWithLbTreeSearch_;
11827 to_bitField3_ |= 0x80000000;
11828 }
11829 if (((from_bitField4_ & 0x00000002) != 0)) {
11830 to_bitField4_ |= 0x00000001;
11831 }
11832 result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
11833 if (((from_bitField4_ & 0x00000004) != 0)) {
11834 result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
11835 to_bitField4_ |= 0x00000002;
11836 }
11837 if (((from_bitField4_ & 0x00000008) != 0)) {
11838 result.enumerateAllSolutions_ = enumerateAllSolutions_;
11839 to_bitField4_ |= 0x00000004;
11840 }
11841 if (((from_bitField4_ & 0x00000010) != 0)) {
11842 result.keepAllFeasibleSolutionsInPresolve_ = keepAllFeasibleSolutionsInPresolve_;
11843 to_bitField4_ |= 0x00000008;
11844 }
11845 if (((from_bitField4_ & 0x00000020) != 0)) {
11846 result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
11847 to_bitField4_ |= 0x00000010;
11848 }
11849 if (((from_bitField4_ & 0x00000040) != 0)) {
11850 to_bitField4_ |= 0x00000020;
11851 }
11852 result.instantiateAllVariables_ = instantiateAllVariables_;
11853 if (((from_bitField4_ & 0x00000080) != 0)) {
11854 to_bitField4_ |= 0x00000040;
11855 }
11856 result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
11857 if (((from_bitField4_ & 0x00000100) != 0)) {
11858 result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
11859 to_bitField4_ |= 0x00000080;
11860 }
11861 if (((from_bitField4_ & 0x00000200) != 0)) {
11862 result.stopAfterPresolve_ = stopAfterPresolve_;
11863 to_bitField4_ |= 0x00000100;
11864 }
11865 if (((from_bitField4_ & 0x00000400) != 0)) {
11866 result.numSearchWorkers_ = numSearchWorkers_;
11867 to_bitField4_ |= 0x00000200;
11868 }
11869 if (((from_bitField4_ & 0x00000800) != 0)) {
11870 result.interleaveSearch_ = interleaveSearch_;
11871 to_bitField4_ |= 0x00000400;
11872 }
11873 if (((from_bitField4_ & 0x00001000) != 0)) {
11874 to_bitField4_ |= 0x00000800;
11875 }
11876 result.interleaveBatchSize_ = interleaveBatchSize_;
11877 if (((from_bitField4_ & 0x00002000) != 0)) {
11878 result.reduceMemoryUsageInInterleaveMode_ = reduceMemoryUsageInInterleaveMode_;
11879 to_bitField4_ |= 0x00001000;
11880 }
11881 if (((from_bitField4_ & 0x00004000) != 0)) {
11882 to_bitField4_ |= 0x00002000;
11883 }
11884 result.shareObjectiveBounds_ = shareObjectiveBounds_;
11885 if (((from_bitField4_ & 0x00008000) != 0)) {
11886 to_bitField4_ |= 0x00004000;
11887 }
11888 result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
11889 if (((from_bitField4_ & 0x00010000) != 0)) {
11890 result.useLnsOnly_ = useLnsOnly_;
11891 to_bitField4_ |= 0x00008000;
11892 }
11893 if (((from_bitField4_ & 0x00020000) != 0)) {
11894 result.lnsFocusOnDecisionVariables_ = lnsFocusOnDecisionVariables_;
11895 to_bitField4_ |= 0x00010000;
11896 }
11897 if (((from_bitField4_ & 0x00040000) != 0)) {
11898 to_bitField4_ |= 0x00020000;
11899 }
11900 result.lnsExpandIntervalsInConstraintGraph_ = lnsExpandIntervalsInConstraintGraph_;
11901 if (((from_bitField4_ & 0x00080000) != 0)) {
11902 to_bitField4_ |= 0x00040000;
11903 }
11904 result.solutionPoolSize_ = solutionPoolSize_;
11905 if (((from_bitField4_ & 0x00100000) != 0)) {
11906 to_bitField4_ |= 0x00080000;
11907 }
11908 result.useRinsLns_ = useRinsLns_;
11909 if (((from_bitField4_ & 0x00200000) != 0)) {
11910 to_bitField4_ |= 0x00100000;
11911 }
11912 result.useFeasibilityPump_ = useFeasibilityPump_;
11913 if (((from_bitField4_ & 0x00400000) != 0)) {
11914 to_bitField4_ |= 0x00200000;
11915 }
11916 result.fpRounding_ = fpRounding_;
11917 if (((from_bitField4_ & 0x00800000) != 0)) {
11918 result.useRelaxationLns_ = useRelaxationLns_;
11919 to_bitField4_ |= 0x00400000;
11920 }
11921 if (((from_bitField4_ & 0x01000000) != 0)) {
11922 result.diversifyLnsParams_ = diversifyLnsParams_;
11923 to_bitField4_ |= 0x00800000;
11924 }
11925 if (((from_bitField4_ & 0x02000000) != 0)) {
11926 result.randomizeSearch_ = randomizeSearch_;
11927 to_bitField4_ |= 0x01000000;
11928 }
11929 if (((from_bitField4_ & 0x04000000) != 0)) {
11930 result.searchRandomizationTolerance_ = searchRandomizationTolerance_;
11931 to_bitField4_ |= 0x02000000;
11932 }
11933 if (((from_bitField4_ & 0x08000000) != 0)) {
11934 to_bitField4_ |= 0x04000000;
11935 }
11936 result.useOptionalVariables_ = useOptionalVariables_;
11937 if (((from_bitField4_ & 0x10000000) != 0)) {
11938 to_bitField4_ |= 0x08000000;
11939 }
11940 result.useExactLpReason_ = useExactLpReason_;
11941 if (((from_bitField4_ & 0x20000000) != 0)) {
11942 result.useBranchingInLp_ = useBranchingInLp_;
11943 to_bitField4_ |= 0x10000000;
11944 }
11945 if (((from_bitField4_ & 0x40000000) != 0)) {
11946 result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
11947 to_bitField4_ |= 0x20000000;
11948 }
11949 if (((from_bitField4_ & 0x80000000) != 0)) {
11950 to_bitField4_ |= 0x40000000;
11951 }
11952 result.catchSigintSignal_ = catchSigintSignal_;
11953 if (((from_bitField5_ & 0x00000001) != 0)) {
11954 to_bitField4_ |= 0x80000000;
11955 }
11956 result.useImpliedBounds_ = useImpliedBounds_;
11957 if (((from_bitField5_ & 0x00000002) != 0)) {
11958 result.polishLpSolution_ = polishLpSolution_;
11959 to_bitField5_ |= 0x00000001;
11960 }
11961 if (((from_bitField5_ & 0x00000004) != 0)) {
11962 to_bitField5_ |= 0x00000002;
11963 }
11964 result.convertIntervals_ = convertIntervals_;
11965 if (((from_bitField5_ & 0x00000008) != 0)) {
11966 to_bitField5_ |= 0x00000004;
11967 }
11968 result.symmetryLevel_ = symmetryLevel_;
11969 if (((from_bitField5_ & 0x00000010) != 0)) {
11970 to_bitField5_ |= 0x00000008;
11971 }
11972 result.mipMaxBound_ = mipMaxBound_;
11973 if (((from_bitField5_ & 0x00000020) != 0)) {
11974 to_bitField5_ |= 0x00000010;
11975 }
11976 result.mipVarScaling_ = mipVarScaling_;
11977 if (((from_bitField5_ & 0x00000040) != 0)) {
11978 to_bitField5_ |= 0x00000020;
11979 }
11980 result.mipAutomaticallyScaleVariables_ = mipAutomaticallyScaleVariables_;
11981 if (((from_bitField5_ & 0x00000080) != 0)) {
11982 to_bitField5_ |= 0x00000040;
11983 }
11984 result.mipWantedPrecision_ = mipWantedPrecision_;
11985 if (((from_bitField5_ & 0x00000100) != 0)) {
11986 to_bitField5_ |= 0x00000080;
11987 }
11988 result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
11989 if (((from_bitField5_ & 0x00000200) != 0)) {
11990 to_bitField5_ |= 0x00000100;
11991 }
11992 result.mipCheckPrecision_ = mipCheckPrecision_;
11993 result.bitField0_ = to_bitField0_;
11994 result.bitField1_ = to_bitField1_;
11995 result.bitField2_ = to_bitField2_;
11996 result.bitField3_ = to_bitField3_;
11997 result.bitField4_ = to_bitField4_;
11998 result.bitField5_ = to_bitField5_;
11999 onBuilt();
12000 return result;
12001 }
12002
12003 @java.lang.Override
12004 public Builder clone() {
12005 return super.clone();
12006 }
12007 @java.lang.Override
12009 com.google.protobuf.Descriptors.FieldDescriptor field,
12010 java.lang.Object value) {
12011 return super.setField(field, value);
12012 }
12013 @java.lang.Override
12015 com.google.protobuf.Descriptors.FieldDescriptor field) {
12016 return super.clearField(field);
12017 }
12018 @java.lang.Override
12020 com.google.protobuf.Descriptors.OneofDescriptor oneof) {
12021 return super.clearOneof(oneof);
12022 }
12023 @java.lang.Override
12025 com.google.protobuf.Descriptors.FieldDescriptor field,
12026 int index, java.lang.Object value) {
12027 return super.setRepeatedField(field, index, value);
12028 }
12029 @java.lang.Override
12031 com.google.protobuf.Descriptors.FieldDescriptor field,
12032 java.lang.Object value) {
12033 return super.addRepeatedField(field, value);
12034 }
12035 @java.lang.Override
12036 public Builder mergeFrom(com.google.protobuf.Message other) {
12037 if (other instanceof com.google.ortools.sat.SatParameters) {
12038 return mergeFrom((com.google.ortools.sat.SatParameters)other);
12039 } else {
12040 super.mergeFrom(other);
12041 return this;
12042 }
12043 }
12044
12045 public Builder mergeFrom(com.google.ortools.sat.SatParameters other) {
12046 if (other == com.google.ortools.sat.SatParameters.getDefaultInstance()) return this;
12047 if (other.hasName()) {
12048 bitField0_ |= 0x00000001;
12049 name_ = other.name_;
12050 onChanged();
12051 }
12052 if (other.hasPreferredVariableOrder()) {
12053 setPreferredVariableOrder(other.getPreferredVariableOrder());
12054 }
12055 if (other.hasInitialPolarity()) {
12056 setInitialPolarity(other.getInitialPolarity());
12057 }
12058 if (other.hasUsePhaseSaving()) {
12059 setUsePhaseSaving(other.getUsePhaseSaving());
12060 }
12061 if (other.hasPolarityRephaseIncrement()) {
12062 setPolarityRephaseIncrement(other.getPolarityRephaseIncrement());
12063 }
12064 if (other.hasRandomPolarityRatio()) {
12065 setRandomPolarityRatio(other.getRandomPolarityRatio());
12066 }
12067 if (other.hasRandomBranchesRatio()) {
12068 setRandomBranchesRatio(other.getRandomBranchesRatio());
12069 }
12070 if (other.hasUseErwaHeuristic()) {
12071 setUseErwaHeuristic(other.getUseErwaHeuristic());
12072 }
12073 if (other.hasInitialVariablesActivity()) {
12074 setInitialVariablesActivity(other.getInitialVariablesActivity());
12075 }
12076 if (other.hasAlsoBumpVariablesInConflictReasons()) {
12077 setAlsoBumpVariablesInConflictReasons(other.getAlsoBumpVariablesInConflictReasons());
12078 }
12079 if (other.hasMinimizationAlgorithm()) {
12080 setMinimizationAlgorithm(other.getMinimizationAlgorithm());
12081 }
12082 if (other.hasBinaryMinimizationAlgorithm()) {
12083 setBinaryMinimizationAlgorithm(other.getBinaryMinimizationAlgorithm());
12084 }
12085 if (other.hasSubsumptionDuringConflictAnalysis()) {
12086 setSubsumptionDuringConflictAnalysis(other.getSubsumptionDuringConflictAnalysis());
12087 }
12088 if (other.hasClauseCleanupPeriod()) {
12089 setClauseCleanupPeriod(other.getClauseCleanupPeriod());
12090 }
12091 if (other.hasClauseCleanupTarget()) {
12092 setClauseCleanupTarget(other.getClauseCleanupTarget());
12093 }
12094 if (other.hasClauseCleanupRatio()) {
12095 setClauseCleanupRatio(other.getClauseCleanupRatio());
12096 }
12097 if (other.hasClauseCleanupProtection()) {
12098 setClauseCleanupProtection(other.getClauseCleanupProtection());
12099 }
12100 if (other.hasClauseCleanupLbdBound()) {
12101 setClauseCleanupLbdBound(other.getClauseCleanupLbdBound());
12102 }
12103 if (other.hasClauseCleanupOrdering()) {
12104 setClauseCleanupOrdering(other.getClauseCleanupOrdering());
12105 }
12106 if (other.hasPbCleanupIncrement()) {
12107 setPbCleanupIncrement(other.getPbCleanupIncrement());
12108 }
12109 if (other.hasPbCleanupRatio()) {
12110 setPbCleanupRatio(other.getPbCleanupRatio());
12111 }
12112 if (other.hasMinimizeWithPropagationRestartPeriod()) {
12113 setMinimizeWithPropagationRestartPeriod(other.getMinimizeWithPropagationRestartPeriod());
12114 }
12115 if (other.hasMinimizeWithPropagationNumDecisions()) {
12116 setMinimizeWithPropagationNumDecisions(other.getMinimizeWithPropagationNumDecisions());
12117 }
12118 if (other.hasVariableActivityDecay()) {
12119 setVariableActivityDecay(other.getVariableActivityDecay());
12120 }
12121 if (other.hasMaxVariableActivityValue()) {
12122 setMaxVariableActivityValue(other.getMaxVariableActivityValue());
12123 }
12124 if (other.hasGlucoseMaxDecay()) {
12125 setGlucoseMaxDecay(other.getGlucoseMaxDecay());
12126 }
12127 if (other.hasGlucoseDecayIncrement()) {
12128 setGlucoseDecayIncrement(other.getGlucoseDecayIncrement());
12129 }
12130 if (other.hasGlucoseDecayIncrementPeriod()) {
12131 setGlucoseDecayIncrementPeriod(other.getGlucoseDecayIncrementPeriod());
12132 }
12133 if (other.hasClauseActivityDecay()) {
12134 setClauseActivityDecay(other.getClauseActivityDecay());
12135 }
12136 if (other.hasMaxClauseActivityValue()) {
12137 setMaxClauseActivityValue(other.getMaxClauseActivityValue());
12138 }
12139 if (!other.restartAlgorithms_.isEmpty()) {
12140 if (restartAlgorithms_.isEmpty()) {
12141 restartAlgorithms_ = other.restartAlgorithms_;
12142 bitField0_ = (bitField0_ & ~0x40000000);
12143 } else {
12144 ensureRestartAlgorithmsIsMutable();
12145 restartAlgorithms_.addAll(other.restartAlgorithms_);
12146 }
12147 onChanged();
12148 }
12149 if (other.hasDefaultRestartAlgorithms()) {
12150 bitField0_ |= 0x80000000;
12151 defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
12152 onChanged();
12153 }
12154 if (other.hasRestartPeriod()) {
12155 setRestartPeriod(other.getRestartPeriod());
12156 }
12157 if (other.hasRestartRunningWindowSize()) {
12158 setRestartRunningWindowSize(other.getRestartRunningWindowSize());
12159 }
12160 if (other.hasRestartDlAverageRatio()) {
12161 setRestartDlAverageRatio(other.getRestartDlAverageRatio());
12162 }
12163 if (other.hasRestartLbdAverageRatio()) {
12164 setRestartLbdAverageRatio(other.getRestartLbdAverageRatio());
12165 }
12166 if (other.hasUseBlockingRestart()) {
12167 setUseBlockingRestart(other.getUseBlockingRestart());
12168 }
12169 if (other.hasBlockingRestartWindowSize()) {
12170 setBlockingRestartWindowSize(other.getBlockingRestartWindowSize());
12171 }
12172 if (other.hasBlockingRestartMultiplier()) {
12173 setBlockingRestartMultiplier(other.getBlockingRestartMultiplier());
12174 }
12175 if (other.hasNumConflictsBeforeStrategyChanges()) {
12176 setNumConflictsBeforeStrategyChanges(other.getNumConflictsBeforeStrategyChanges());
12177 }
12178 if (other.hasStrategyChangeIncreaseRatio()) {
12179 setStrategyChangeIncreaseRatio(other.getStrategyChangeIncreaseRatio());
12180 }
12181 if (other.hasMaxTimeInSeconds()) {
12182 setMaxTimeInSeconds(other.getMaxTimeInSeconds());
12183 }
12184 if (other.hasMaxDeterministicTime()) {
12185 setMaxDeterministicTime(other.getMaxDeterministicTime());
12186 }
12187 if (other.hasMaxNumberOfConflicts()) {
12188 setMaxNumberOfConflicts(other.getMaxNumberOfConflicts());
12189 }
12190 if (other.hasMaxMemoryInMb()) {
12191 setMaxMemoryInMb(other.getMaxMemoryInMb());
12192 }
12193 if (other.hasAbsoluteGapLimit()) {
12194 setAbsoluteGapLimit(other.getAbsoluteGapLimit());
12195 }
12196 if (other.hasRelativeGapLimit()) {
12197 setRelativeGapLimit(other.getRelativeGapLimit());
12198 }
12199 if (other.hasTreatBinaryClausesSeparately()) {
12200 setTreatBinaryClausesSeparately(other.getTreatBinaryClausesSeparately());
12201 }
12202 if (other.hasRandomSeed()) {
12203 setRandomSeed(other.getRandomSeed());
12204 }
12205 if (other.hasPermuteVariableRandomly()) {
12206 setPermuteVariableRandomly(other.getPermuteVariableRandomly());
12207 }
12208 if (other.hasPermutePresolveConstraintOrder()) {
12209 setPermutePresolveConstraintOrder(other.getPermutePresolveConstraintOrder());
12210 }
12211 if (other.hasUseAbslRandom()) {
12212 setUseAbslRandom(other.getUseAbslRandom());
12213 }
12214 if (other.hasLogSearchProgress()) {
12215 setLogSearchProgress(other.getLogSearchProgress());
12216 }
12217 if (other.hasLogSubsolverStatistics()) {
12218 setLogSubsolverStatistics(other.getLogSubsolverStatistics());
12219 }
12220 if (other.hasLogPrefix()) {
12221 bitField1_ |= 0x00400000;
12222 logPrefix_ = other.logPrefix_;
12223 onChanged();
12224 }
12225 if (other.hasLogToStdout()) {
12226 setLogToStdout(other.getLogToStdout());
12227 }
12228 if (other.hasLogToResponse()) {
12229 setLogToResponse(other.getLogToResponse());
12230 }
12231 if (other.hasUsePbResolution()) {
12232 setUsePbResolution(other.getUsePbResolution());
12233 }
12234 if (other.hasMinimizeReductionDuringPbResolution()) {
12235 setMinimizeReductionDuringPbResolution(other.getMinimizeReductionDuringPbResolution());
12236 }
12237 if (other.hasCountAssumptionLevelsInLbd()) {
12238 setCountAssumptionLevelsInLbd(other.getCountAssumptionLevelsInLbd());
12239 }
12240 if (other.hasPresolveBveThreshold()) {
12241 setPresolveBveThreshold(other.getPresolveBveThreshold());
12242 }
12243 if (other.hasPresolveBveClauseWeight()) {
12244 setPresolveBveClauseWeight(other.getPresolveBveClauseWeight());
12245 }
12246 if (other.hasPresolveProbingDeterministicTimeLimit()) {
12247 setPresolveProbingDeterministicTimeLimit(other.getPresolveProbingDeterministicTimeLimit());
12248 }
12249 if (other.hasPresolveBlockedClause()) {
12250 setPresolveBlockedClause(other.getPresolveBlockedClause());
12251 }
12252 if (other.hasPresolveUseBva()) {
12253 setPresolveUseBva(other.getPresolveUseBva());
12254 }
12255 if (other.hasPresolveBvaThreshold()) {
12256 setPresolveBvaThreshold(other.getPresolveBvaThreshold());
12257 }
12258 if (other.hasMaxPresolveIterations()) {
12259 setMaxPresolveIterations(other.getMaxPresolveIterations());
12260 }
12261 if (other.hasCpModelPresolve()) {
12262 setCpModelPresolve(other.getCpModelPresolve());
12263 }
12264 if (other.hasCpModelPostsolveWithFullSolver()) {
12265 setCpModelPostsolveWithFullSolver(other.getCpModelPostsolveWithFullSolver());
12266 }
12267 if (other.hasCpModelMaxNumPresolveOperations()) {
12268 setCpModelMaxNumPresolveOperations(other.getCpModelMaxNumPresolveOperations());
12269 }
12270 if (other.hasCpModelProbingLevel()) {
12271 setCpModelProbingLevel(other.getCpModelProbingLevel());
12272 }
12273 if (other.hasCpModelUseSatPresolve()) {
12274 setCpModelUseSatPresolve(other.getCpModelUseSatPresolve());
12275 }
12276 if (other.hasUseSatInprocessing()) {
12277 setUseSatInprocessing(other.getUseSatInprocessing());
12278 }
12279 if (other.hasExpandElementConstraints()) {
12280 setExpandElementConstraints(other.getExpandElementConstraints());
12281 }
12282 if (other.hasExpandAutomatonConstraints()) {
12283 setExpandAutomatonConstraints(other.getExpandAutomatonConstraints());
12284 }
12285 if (other.hasExpandTableConstraints()) {
12286 setExpandTableConstraints(other.getExpandTableConstraints());
12287 }
12288 if (other.hasExpandAlldiffConstraints()) {
12289 setExpandAlldiffConstraints(other.getExpandAlldiffConstraints());
12290 }
12291 if (other.hasExpandReservoirConstraints()) {
12292 setExpandReservoirConstraints(other.getExpandReservoirConstraints());
12293 }
12294 if (other.hasDisableConstraintExpansion()) {
12295 setDisableConstraintExpansion(other.getDisableConstraintExpansion());
12296 }
12297 if (other.hasMergeNoOverlapWorkLimit()) {
12298 setMergeNoOverlapWorkLimit(other.getMergeNoOverlapWorkLimit());
12299 }
12300 if (other.hasMergeAtMostOneWorkLimit()) {
12301 setMergeAtMostOneWorkLimit(other.getMergeAtMostOneWorkLimit());
12302 }
12303 if (other.hasPresolveSubstitutionLevel()) {
12304 setPresolveSubstitutionLevel(other.getPresolveSubstitutionLevel());
12305 }
12306 if (other.hasPresolveExtractIntegerEnforcement()) {
12307 setPresolveExtractIntegerEnforcement(other.getPresolveExtractIntegerEnforcement());
12308 }
12309 if (other.hasUseOptimizationHints()) {
12310 setUseOptimizationHints(other.getUseOptimizationHints());
12311 }
12312 if (other.hasMinimizeCore()) {
12313 setMinimizeCore(other.getMinimizeCore());
12314 }
12315 if (other.hasFindMultipleCores()) {
12316 setFindMultipleCores(other.getFindMultipleCores());
12317 }
12318 if (other.hasCoverOptimization()) {
12319 setCoverOptimization(other.getCoverOptimization());
12320 }
12321 if (other.hasMaxSatAssumptionOrder()) {
12322 setMaxSatAssumptionOrder(other.getMaxSatAssumptionOrder());
12323 }
12324 if (other.hasMaxSatReverseAssumptionOrder()) {
12325 setMaxSatReverseAssumptionOrder(other.getMaxSatReverseAssumptionOrder());
12326 }
12327 if (other.hasMaxSatStratification()) {
12328 setMaxSatStratification(other.getMaxSatStratification());
12329 }
12330 if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
12331 setUsePrecedencesInDisjunctiveConstraint(other.getUsePrecedencesInDisjunctiveConstraint());
12332 }
12333 if (other.hasUseOverloadCheckerInCumulativeConstraint()) {
12334 setUseOverloadCheckerInCumulativeConstraint(other.getUseOverloadCheckerInCumulativeConstraint());
12335 }
12336 if (other.hasUseTimetableEdgeFindingInCumulativeConstraint()) {
12337 setUseTimetableEdgeFindingInCumulativeConstraint(other.getUseTimetableEdgeFindingInCumulativeConstraint());
12338 }
12339 if (other.hasUseDisjunctiveConstraintInCumulativeConstraint()) {
12340 setUseDisjunctiveConstraintInCumulativeConstraint(other.getUseDisjunctiveConstraintInCumulativeConstraint());
12341 }
12342 if (other.hasLinearizationLevel()) {
12343 setLinearizationLevel(other.getLinearizationLevel());
12344 }
12345 if (other.hasBooleanEncodingLevel()) {
12346 setBooleanEncodingLevel(other.getBooleanEncodingLevel());
12347 }
12348 if (other.hasMaxDomainSizeWhenEncodingEqNeqConstraints()) {
12349 setMaxDomainSizeWhenEncodingEqNeqConstraints(other.getMaxDomainSizeWhenEncodingEqNeqConstraints());
12350 }
12351 if (other.hasMaxNumCuts()) {
12352 setMaxNumCuts(other.getMaxNumCuts());
12353 }
12354 if (other.hasOnlyAddCutsAtLevelZero()) {
12355 setOnlyAddCutsAtLevelZero(other.getOnlyAddCutsAtLevelZero());
12356 }
12357 if (other.hasAddKnapsackCuts()) {
12358 setAddKnapsackCuts(other.getAddKnapsackCuts());
12359 }
12360 if (other.hasAddCgCuts()) {
12361 setAddCgCuts(other.getAddCgCuts());
12362 }
12363 if (other.hasAddMirCuts()) {
12364 setAddMirCuts(other.getAddMirCuts());
12365 }
12366 if (other.hasAddZeroHalfCuts()) {
12367 setAddZeroHalfCuts(other.getAddZeroHalfCuts());
12368 }
12369 if (other.hasAddCliqueCuts()) {
12370 setAddCliqueCuts(other.getAddCliqueCuts());
12371 }
12372 if (other.hasMaxAllDiffCutSize()) {
12373 setMaxAllDiffCutSize(other.getMaxAllDiffCutSize());
12374 }
12375 if (other.hasAddLinMaxCuts()) {
12376 setAddLinMaxCuts(other.getAddLinMaxCuts());
12377 }
12378 if (other.hasMaxIntegerRoundingScaling()) {
12379 setMaxIntegerRoundingScaling(other.getMaxIntegerRoundingScaling());
12380 }
12381 if (other.hasAddLpConstraintsLazily()) {
12382 setAddLpConstraintsLazily(other.getAddLpConstraintsLazily());
12383 }
12384 if (other.hasMinOrthogonalityForLpConstraints()) {
12385 setMinOrthogonalityForLpConstraints(other.getMinOrthogonalityForLpConstraints());
12386 }
12387 if (other.hasMaxCutRoundsAtLevelZero()) {
12388 setMaxCutRoundsAtLevelZero(other.getMaxCutRoundsAtLevelZero());
12389 }
12390 if (other.hasMaxConsecutiveInactiveCount()) {
12391 setMaxConsecutiveInactiveCount(other.getMaxConsecutiveInactiveCount());
12392 }
12393 if (other.hasCutMaxActiveCountValue()) {
12394 setCutMaxActiveCountValue(other.getCutMaxActiveCountValue());
12395 }
12396 if (other.hasCutActiveCountDecay()) {
12397 setCutActiveCountDecay(other.getCutActiveCountDecay());
12398 }
12399 if (other.hasCutCleanupTarget()) {
12400 setCutCleanupTarget(other.getCutCleanupTarget());
12401 }
12402 if (other.hasNewConstraintsBatchSize()) {
12403 setNewConstraintsBatchSize(other.getNewConstraintsBatchSize());
12404 }
12405 if (other.hasSearchBranching()) {
12406 setSearchBranching(other.getSearchBranching());
12407 }
12408 if (other.hasHintConflictLimit()) {
12409 setHintConflictLimit(other.getHintConflictLimit());
12410 }
12411 if (other.hasRepairHint()) {
12412 setRepairHint(other.getRepairHint());
12413 }
12414 if (other.hasFixVariablesToTheirHintedValue()) {
12415 setFixVariablesToTheirHintedValue(other.getFixVariablesToTheirHintedValue());
12416 }
12417 if (other.hasExploitIntegerLpSolution()) {
12418 setExploitIntegerLpSolution(other.getExploitIntegerLpSolution());
12419 }
12420 if (other.hasExploitAllLpSolution()) {
12421 setExploitAllLpSolution(other.getExploitAllLpSolution());
12422 }
12423 if (other.hasExploitBestSolution()) {
12424 setExploitBestSolution(other.getExploitBestSolution());
12425 }
12426 if (other.hasExploitRelaxationSolution()) {
12427 setExploitRelaxationSolution(other.getExploitRelaxationSolution());
12428 }
12429 if (other.hasExploitObjective()) {
12430 setExploitObjective(other.getExploitObjective());
12431 }
12432 if (other.hasProbingPeriodAtRoot()) {
12433 setProbingPeriodAtRoot(other.getProbingPeriodAtRoot());
12434 }
12435 if (other.hasUseProbingSearch()) {
12436 setUseProbingSearch(other.getUseProbingSearch());
12437 }
12438 if (other.hasPseudoCostReliabilityThreshold()) {
12439 setPseudoCostReliabilityThreshold(other.getPseudoCostReliabilityThreshold());
12440 }
12441 if (other.hasOptimizeWithCore()) {
12442 setOptimizeWithCore(other.getOptimizeWithCore());
12443 }
12444 if (other.hasOptimizeWithLbTreeSearch()) {
12445 setOptimizeWithLbTreeSearch(other.getOptimizeWithLbTreeSearch());
12446 }
12447 if (other.hasBinarySearchNumConflicts()) {
12448 setBinarySearchNumConflicts(other.getBinarySearchNumConflicts());
12449 }
12450 if (other.hasOptimizeWithMaxHs()) {
12451 setOptimizeWithMaxHs(other.getOptimizeWithMaxHs());
12452 }
12453 if (other.hasEnumerateAllSolutions()) {
12454 setEnumerateAllSolutions(other.getEnumerateAllSolutions());
12455 }
12456 if (other.hasKeepAllFeasibleSolutionsInPresolve()) {
12457 setKeepAllFeasibleSolutionsInPresolve(other.getKeepAllFeasibleSolutionsInPresolve());
12458 }
12459 if (other.hasFillTightenedDomainsInResponse()) {
12460 setFillTightenedDomainsInResponse(other.getFillTightenedDomainsInResponse());
12461 }
12462 if (other.hasInstantiateAllVariables()) {
12463 setInstantiateAllVariables(other.getInstantiateAllVariables());
12464 }
12465 if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
12466 setAutoDetectGreaterThanAtLeastOneOf(other.getAutoDetectGreaterThanAtLeastOneOf());
12467 }
12468 if (other.hasStopAfterFirstSolution()) {
12469 setStopAfterFirstSolution(other.getStopAfterFirstSolution());
12470 }
12471 if (other.hasStopAfterPresolve()) {
12472 setStopAfterPresolve(other.getStopAfterPresolve());
12473 }
12474 if (other.hasNumSearchWorkers()) {
12475 setNumSearchWorkers(other.getNumSearchWorkers());
12476 }
12477 if (other.hasInterleaveSearch()) {
12478 setInterleaveSearch(other.getInterleaveSearch());
12479 }
12480 if (other.hasInterleaveBatchSize()) {
12481 setInterleaveBatchSize(other.getInterleaveBatchSize());
12482 }
12483 if (other.hasReduceMemoryUsageInInterleaveMode()) {
12484 setReduceMemoryUsageInInterleaveMode(other.getReduceMemoryUsageInInterleaveMode());
12485 }
12486 if (other.hasShareObjectiveBounds()) {
12487 setShareObjectiveBounds(other.getShareObjectiveBounds());
12488 }
12489 if (other.hasShareLevelZeroBounds()) {
12490 setShareLevelZeroBounds(other.getShareLevelZeroBounds());
12491 }
12492 if (other.hasUseLnsOnly()) {
12493 setUseLnsOnly(other.getUseLnsOnly());
12494 }
12495 if (other.hasLnsFocusOnDecisionVariables()) {
12496 setLnsFocusOnDecisionVariables(other.getLnsFocusOnDecisionVariables());
12497 }
12498 if (other.hasLnsExpandIntervalsInConstraintGraph()) {
12499 setLnsExpandIntervalsInConstraintGraph(other.getLnsExpandIntervalsInConstraintGraph());
12500 }
12501 if (other.hasSolutionPoolSize()) {
12502 setSolutionPoolSize(other.getSolutionPoolSize());
12503 }
12504 if (other.hasUseRinsLns()) {
12505 setUseRinsLns(other.getUseRinsLns());
12506 }
12507 if (other.hasUseFeasibilityPump()) {
12508 setUseFeasibilityPump(other.getUseFeasibilityPump());
12509 }
12510 if (other.hasFpRounding()) {
12511 setFpRounding(other.getFpRounding());
12512 }
12513 if (other.hasUseRelaxationLns()) {
12514 setUseRelaxationLns(other.getUseRelaxationLns());
12515 }
12516 if (other.hasDiversifyLnsParams()) {
12517 setDiversifyLnsParams(other.getDiversifyLnsParams());
12518 }
12519 if (other.hasRandomizeSearch()) {
12520 setRandomizeSearch(other.getRandomizeSearch());
12521 }
12522 if (other.hasSearchRandomizationTolerance()) {
12523 setSearchRandomizationTolerance(other.getSearchRandomizationTolerance());
12524 }
12525 if (other.hasUseOptionalVariables()) {
12526 setUseOptionalVariables(other.getUseOptionalVariables());
12527 }
12528 if (other.hasUseExactLpReason()) {
12529 setUseExactLpReason(other.getUseExactLpReason());
12530 }
12531 if (other.hasUseBranchingInLp()) {
12532 setUseBranchingInLp(other.getUseBranchingInLp());
12533 }
12534 if (other.hasUseCombinedNoOverlap()) {
12535 setUseCombinedNoOverlap(other.getUseCombinedNoOverlap());
12536 }
12537 if (other.hasCatchSigintSignal()) {
12538 setCatchSigintSignal(other.getCatchSigintSignal());
12539 }
12540 if (other.hasUseImpliedBounds()) {
12541 setUseImpliedBounds(other.getUseImpliedBounds());
12542 }
12543 if (other.hasPolishLpSolution()) {
12544 setPolishLpSolution(other.getPolishLpSolution());
12545 }
12546 if (other.hasConvertIntervals()) {
12547 setConvertIntervals(other.getConvertIntervals());
12548 }
12549 if (other.hasSymmetryLevel()) {
12550 setSymmetryLevel(other.getSymmetryLevel());
12551 }
12552 if (other.hasMipMaxBound()) {
12553 setMipMaxBound(other.getMipMaxBound());
12554 }
12555 if (other.hasMipVarScaling()) {
12556 setMipVarScaling(other.getMipVarScaling());
12557 }
12558 if (other.hasMipAutomaticallyScaleVariables()) {
12559 setMipAutomaticallyScaleVariables(other.getMipAutomaticallyScaleVariables());
12560 }
12561 if (other.hasMipWantedPrecision()) {
12562 setMipWantedPrecision(other.getMipWantedPrecision());
12563 }
12564 if (other.hasMipMaxActivityExponent()) {
12565 setMipMaxActivityExponent(other.getMipMaxActivityExponent());
12566 }
12567 if (other.hasMipCheckPrecision()) {
12568 setMipCheckPrecision(other.getMipCheckPrecision());
12569 }
12570 this.mergeUnknownFields(other.unknownFields);
12571 onChanged();
12572 return this;
12573 }
12574
12575 @java.lang.Override
12576 public final boolean isInitialized() {
12577 return true;
12578 }
12579
12580 @java.lang.Override
12582 com.google.protobuf.CodedInputStream input,
12583 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12584 throws java.io.IOException {
12585 com.google.ortools.sat.SatParameters parsedMessage = null;
12586 try {
12587 parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
12588 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12589 parsedMessage = (com.google.ortools.sat.SatParameters) e.getUnfinishedMessage();
12590 throw e.unwrapIOException();
12591 } finally {
12592 if (parsedMessage != null) {
12593 mergeFrom(parsedMessage);
12594 }
12595 }
12596 return this;
12597 }
12598 private int bitField0_;
12599 private int bitField1_;
12600 private int bitField2_;
12601 private int bitField3_;
12602 private int bitField4_;
12603 private int bitField5_;
12604
12605 private java.lang.Object name_ = "";
12615 public boolean hasName() {
12616 return ((bitField0_ & 0x00000001) != 0);
12617 }
12627 public java.lang.String getName() {
12628 java.lang.Object ref = name_;
12629 if (!(ref instanceof java.lang.String)) {
12630 com.google.protobuf.ByteString bs =
12631 (com.google.protobuf.ByteString) ref;
12632 java.lang.String s = bs.toStringUtf8();
12633 if (bs.isValidUtf8()) {
12634 name_ = s;
12635 }
12636 return s;
12637 } else {
12638 return (java.lang.String) ref;
12639 }
12640 }
12650 public com.google.protobuf.ByteString
12652 java.lang.Object ref = name_;
12653 if (ref instanceof String) {
12654 com.google.protobuf.ByteString b =
12655 com.google.protobuf.ByteString.copyFromUtf8(
12656 (java.lang.String) ref);
12657 name_ = b;
12658 return b;
12659 } else {
12660 return (com.google.protobuf.ByteString) ref;
12661 }
12662 }
12674 java.lang.String value) {
12675 if (value == null) {
12676 throw new NullPointerException();
12677 }
12678 bitField0_ |= 0x00000001;
12679 name_ = value;
12680 onChanged();
12681 return this;
12682 }
12693 bitField0_ = (bitField0_ & ~0x00000001);
12694 name_ = getDefaultInstance().getName();
12695 onChanged();
12696 return this;
12697 }
12709 com.google.protobuf.ByteString value) {
12710 if (value == null) {
12711 throw new NullPointerException();
12712 }
12713 bitField0_ |= 0x00000001;
12714 name_ = value;
12715 onChanged();
12716 return this;
12717 }
12718
12719 private int preferredVariableOrder_ = 0;
12724 @java.lang.Override public boolean hasPreferredVariableOrder() {
12725 return ((bitField0_ & 0x00000002) != 0);
12726 }
12731 @java.lang.Override
12732 public com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder() {
12733 @SuppressWarnings("deprecation")
12734 com.google.ortools.sat.SatParameters.VariableOrder result = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(preferredVariableOrder_);
12735 return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
12736 }
12742 public Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value) {
12743 if (value == null) {
12744 throw new NullPointerException();
12745 }
12746 bitField0_ |= 0x00000002;
12747 preferredVariableOrder_ = value.getNumber();
12748 onChanged();
12749 return this;
12750 }
12756 bitField0_ = (bitField0_ & ~0x00000002);
12757 preferredVariableOrder_ = 0;
12758 onChanged();
12759 return this;
12760 }
12761
12762 private int initialPolarity_ = 1;
12767 @java.lang.Override public boolean hasInitialPolarity() {
12768 return ((bitField0_ & 0x00000004) != 0);
12769 }
12774 @java.lang.Override
12775 public com.google.ortools.sat.SatParameters.Polarity getInitialPolarity() {
12776 @SuppressWarnings("deprecation")
12777 com.google.ortools.sat.SatParameters.Polarity result = com.google.ortools.sat.SatParameters.Polarity.valueOf(initialPolarity_);
12778 return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
12779 }
12785 public Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value) {
12786 if (value == null) {
12787 throw new NullPointerException();
12788 }
12789 bitField0_ |= 0x00000004;
12790 initialPolarity_ = value.getNumber();
12791 onChanged();
12792 return this;
12793 }
12799 bitField0_ = (bitField0_ & ~0x00000004);
12800 initialPolarity_ = 1;
12801 onChanged();
12802 return this;
12803 }
12804
12805 private boolean usePhaseSaving_ = true;
12822 @java.lang.Override
12823 public boolean hasUsePhaseSaving() {
12824 return ((bitField0_ & 0x00000008) != 0);
12825 }
12842 @java.lang.Override
12843 public boolean getUsePhaseSaving() {
12844 return usePhaseSaving_;
12845 }
12863 public Builder setUsePhaseSaving(boolean value) {
12864 bitField0_ |= 0x00000008;
12865 usePhaseSaving_ = value;
12866 onChanged();
12867 return this;
12868 }
12886 bitField0_ = (bitField0_ & ~0x00000008);
12887 usePhaseSaving_ = true;
12888 onChanged();
12889 return this;
12890 }
12891
12892 private int polarityRephaseIncrement_ = 1000;
12903 @java.lang.Override
12905 return ((bitField0_ & 0x00000010) != 0);
12906 }
12917 @java.lang.Override
12919 return polarityRephaseIncrement_;
12920 }
12933 bitField0_ |= 0x00000010;
12934 polarityRephaseIncrement_ = value;
12935 onChanged();
12936 return this;
12937 }
12949 bitField0_ = (bitField0_ & ~0x00000010);
12950 polarityRephaseIncrement_ = 1000;
12951 onChanged();
12952 return this;
12953 }
12954
12955 private double randomPolarityRatio_ ;
12968 @java.lang.Override
12969 public boolean hasRandomPolarityRatio() {
12970 return ((bitField0_ & 0x00000020) != 0);
12971 }
12984 @java.lang.Override
12985 public double getRandomPolarityRatio() {
12986 return randomPolarityRatio_;
12987 }
13001 public Builder setRandomPolarityRatio(double value) {
13002 bitField0_ |= 0x00000020;
13003 randomPolarityRatio_ = value;
13004 onChanged();
13005 return this;
13006 }
13020 bitField0_ = (bitField0_ & ~0x00000020);
13021 randomPolarityRatio_ = 0D;
13022 onChanged();
13023 return this;
13024 }
13025
13026 private double randomBranchesRatio_ ;
13037 @java.lang.Override
13038 public boolean hasRandomBranchesRatio() {
13039 return ((bitField0_ & 0x00000040) != 0);
13040 }
13051 @java.lang.Override
13052 public double getRandomBranchesRatio() {
13053 return randomBranchesRatio_;
13054 }
13066 public Builder setRandomBranchesRatio(double value) {
13067 bitField0_ |= 0x00000040;
13068 randomBranchesRatio_ = value;
13069 onChanged();
13070 return this;
13071 }
13083 bitField0_ = (bitField0_ & ~0x00000040);
13084 randomBranchesRatio_ = 0D;
13085 onChanged();
13086 return this;
13087 }
13088
13089 private boolean useErwaHeuristic_ ;
13100 @java.lang.Override
13101 public boolean hasUseErwaHeuristic() {
13102 return ((bitField0_ & 0x00000080) != 0);
13103 }
13114 @java.lang.Override
13115 public boolean getUseErwaHeuristic() {
13116 return useErwaHeuristic_;
13117 }
13129 public Builder setUseErwaHeuristic(boolean value) {
13130 bitField0_ |= 0x00000080;
13131 useErwaHeuristic_ = value;
13132 onChanged();
13133 return this;
13134 }
13146 bitField0_ = (bitField0_ & ~0x00000080);
13147 useErwaHeuristic_ = false;
13148 onChanged();
13149 return this;
13150 }
13151
13152 private double initialVariablesActivity_ ;
13166 @java.lang.Override
13168 return ((bitField0_ & 0x00000100) != 0);
13169 }
13183 @java.lang.Override
13185 return initialVariablesActivity_;
13186 }
13202 bitField0_ |= 0x00000100;
13203 initialVariablesActivity_ = value;
13204 onChanged();
13205 return this;
13206 }
13221 bitField0_ = (bitField0_ & ~0x00000100);
13222 initialVariablesActivity_ = 0D;
13223 onChanged();
13224 return this;
13225 }
13226
13227 private boolean alsoBumpVariablesInConflictReasons_ ;
13239 @java.lang.Override
13241 return ((bitField0_ & 0x00000200) != 0);
13242 }
13254 @java.lang.Override
13256 return alsoBumpVariablesInConflictReasons_;
13257 }
13271 bitField0_ |= 0x00000200;
13272 alsoBumpVariablesInConflictReasons_ = value;
13273 onChanged();
13274 return this;
13275 }
13288 bitField0_ = (bitField0_ & ~0x00000200);
13289 alsoBumpVariablesInConflictReasons_ = false;
13290 onChanged();
13291 return this;
13292 }
13293
13294 private int minimizationAlgorithm_ = 2;
13299 @java.lang.Override public boolean hasMinimizationAlgorithm() {
13300 return ((bitField0_ & 0x00000400) != 0);
13301 }
13306 @java.lang.Override
13307 public com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm() {
13308 @SuppressWarnings("deprecation")
13309 com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm result = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(minimizationAlgorithm_);
13310 return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
13311 }
13317 public Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value) {
13318 if (value == null) {
13319 throw new NullPointerException();
13320 }
13321 bitField0_ |= 0x00000400;
13322 minimizationAlgorithm_ = value.getNumber();
13323 onChanged();
13324 return this;
13325 }
13331 bitField0_ = (bitField0_ & ~0x00000400);
13332 minimizationAlgorithm_ = 2;
13333 onChanged();
13334 return this;
13335 }
13336
13337 private int binaryMinimizationAlgorithm_ = 1;
13342 @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
13343 return ((bitField0_ & 0x00000800) != 0);
13344 }
13349 @java.lang.Override
13350 public com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm() {
13351 @SuppressWarnings("deprecation")
13352 com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm result = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(binaryMinimizationAlgorithm_);
13353 return result == null ? com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.BINARY_MINIMIZATION_FIRST : result;
13354 }
13360 public Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value) {
13361 if (value == null) {
13362 throw new NullPointerException();
13363 }
13364 bitField0_ |= 0x00000800;
13365 binaryMinimizationAlgorithm_ = value.getNumber();
13366 onChanged();
13367 return this;
13368 }
13374 bitField0_ = (bitField0_ & ~0x00000800);
13375 binaryMinimizationAlgorithm_ = 1;
13376 onChanged();
13377 return this;
13378 }
13379
13380 private boolean subsumptionDuringConflictAnalysis_ = true;
13392 @java.lang.Override
13394 return ((bitField0_ & 0x00001000) != 0);
13395 }
13407 @java.lang.Override
13409 return subsumptionDuringConflictAnalysis_;
13410 }
13424 bitField0_ |= 0x00001000;
13425 subsumptionDuringConflictAnalysis_ = value;
13426 onChanged();
13427 return this;
13428 }
13441 bitField0_ = (bitField0_ & ~0x00001000);
13442 subsumptionDuringConflictAnalysis_ = true;
13443 onChanged();
13444 return this;
13445 }
13446
13447 private int clauseCleanupPeriod_ = 10000;
13456 @java.lang.Override
13457 public boolean hasClauseCleanupPeriod() {
13458 return ((bitField0_ & 0x00002000) != 0);
13459 }
13468 @java.lang.Override
13470 return clauseCleanupPeriod_;
13471 }
13482 bitField0_ |= 0x00002000;
13483 clauseCleanupPeriod_ = value;
13484 onChanged();
13485 return this;
13486 }
13496 bitField0_ = (bitField0_ & ~0x00002000);
13497 clauseCleanupPeriod_ = 10000;
13498 onChanged();
13499 return this;
13500 }
13501
13502 private int clauseCleanupTarget_ ;
13512 @java.lang.Override
13513 public boolean hasClauseCleanupTarget() {
13514 return ((bitField0_ & 0x00004000) != 0);
13515 }
13525 @java.lang.Override
13527 return clauseCleanupTarget_;
13528 }
13540 bitField0_ |= 0x00004000;
13541 clauseCleanupTarget_ = value;
13542 onChanged();
13543 return this;
13544 }
13555 bitField0_ = (bitField0_ & ~0x00004000);
13556 clauseCleanupTarget_ = 0;
13557 onChanged();
13558 return this;
13559 }
13560
13561 private double clauseCleanupRatio_ = 0.5D;
13572 @java.lang.Override
13573 public boolean hasClauseCleanupRatio() {
13574 return ((bitField0_ & 0x00008000) != 0);
13575 }
13586 @java.lang.Override
13587 public double getClauseCleanupRatio() {
13588 return clauseCleanupRatio_;
13589 }
13601 public Builder setClauseCleanupRatio(double value) {
13602 bitField0_ |= 0x00008000;
13603 clauseCleanupRatio_ = value;
13604 onChanged();
13605 return this;
13606 }
13618 bitField0_ = (bitField0_ & ~0x00008000);
13619 clauseCleanupRatio_ = 0.5D;
13620 onChanged();
13621 return this;
13622 }
13623
13624 private int clauseCleanupProtection_ = 0;
13629 @java.lang.Override public boolean hasClauseCleanupProtection() {
13630 return ((bitField0_ & 0x00010000) != 0);
13631 }
13636 @java.lang.Override
13637 public com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection() {
13638 @SuppressWarnings("deprecation")
13639 com.google.ortools.sat.SatParameters.ClauseProtection result = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(clauseCleanupProtection_);
13640 return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
13641 }
13647 public Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value) {
13648 if (value == null) {
13649 throw new NullPointerException();
13650 }
13651 bitField0_ |= 0x00010000;
13652 clauseCleanupProtection_ = value.getNumber();
13653 onChanged();
13654 return this;
13655 }
13661 bitField0_ = (bitField0_ & ~0x00010000);
13662 clauseCleanupProtection_ = 0;
13663 onChanged();
13664 return this;
13665 }
13666
13667 private int clauseCleanupLbdBound_ = 5;
13677 @java.lang.Override
13678 public boolean hasClauseCleanupLbdBound() {
13679 return ((bitField0_ & 0x00020000) != 0);
13680 }
13690 @java.lang.Override
13692 return clauseCleanupLbdBound_;
13693 }
13705 bitField0_ |= 0x00020000;
13706 clauseCleanupLbdBound_ = value;
13707 onChanged();
13708 return this;
13709 }
13720 bitField0_ = (bitField0_ & ~0x00020000);
13721 clauseCleanupLbdBound_ = 5;
13722 onChanged();
13723 return this;
13724 }
13725
13726 private int clauseCleanupOrdering_ = 0;
13731 @java.lang.Override public boolean hasClauseCleanupOrdering() {
13732 return ((bitField0_ & 0x00040000) != 0);
13733 }
13738 @java.lang.Override
13739 public com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering() {
13740 @SuppressWarnings("deprecation")
13741 com.google.ortools.sat.SatParameters.ClauseOrdering result = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(clauseCleanupOrdering_);
13742 return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
13743 }
13749 public Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value) {
13750 if (value == null) {
13751 throw new NullPointerException();
13752 }
13753 bitField0_ |= 0x00040000;
13754 clauseCleanupOrdering_ = value.getNumber();
13755 onChanged();
13756 return this;
13757 }
13763 bitField0_ = (bitField0_ & ~0x00040000);
13764 clauseCleanupOrdering_ = 0;
13765 onChanged();
13766 return this;
13767 }
13768
13769 private int pbCleanupIncrement_ = 200;
13778 @java.lang.Override
13779 public boolean hasPbCleanupIncrement() {
13780 return ((bitField0_ & 0x00080000) != 0);
13781 }
13790 @java.lang.Override
13792 return pbCleanupIncrement_;
13793 }
13803 public Builder setPbCleanupIncrement(int value) {
13804 bitField0_ |= 0x00080000;
13805 pbCleanupIncrement_ = value;
13806 onChanged();
13807 return this;
13808 }
13818 bitField0_ = (bitField0_ & ~0x00080000);
13819 pbCleanupIncrement_ = 200;
13820 onChanged();
13821 return this;
13822 }
13823
13824 private double pbCleanupRatio_ = 0.5D;
13829 @java.lang.Override
13830 public boolean hasPbCleanupRatio() {
13831 return ((bitField0_ & 0x00100000) != 0);
13832 }
13837 @java.lang.Override
13838 public double getPbCleanupRatio() {
13839 return pbCleanupRatio_;
13840 }
13846 public Builder setPbCleanupRatio(double value) {
13847 bitField0_ |= 0x00100000;
13848 pbCleanupRatio_ = value;
13849 onChanged();
13850 return this;
13851 }
13857 bitField0_ = (bitField0_ & ~0x00100000);
13858 pbCleanupRatio_ = 0.5D;
13859 onChanged();
13860 return this;
13861 }
13862
13863 private int minimizeWithPropagationRestartPeriod_ = 10;
13882 @java.lang.Override
13884 return ((bitField0_ & 0x00200000) != 0);
13885 }
13904 @java.lang.Override
13906 return minimizeWithPropagationRestartPeriod_;
13907 }
13928 bitField0_ |= 0x00200000;
13929 minimizeWithPropagationRestartPeriod_ = value;
13930 onChanged();
13931 return this;
13932 }
13952 bitField0_ = (bitField0_ & ~0x00200000);
13953 minimizeWithPropagationRestartPeriod_ = 10;
13954 onChanged();
13955 return this;
13956 }
13957
13958 private int minimizeWithPropagationNumDecisions_ = 1000;
13963 @java.lang.Override
13965 return ((bitField0_ & 0x00400000) != 0);
13966 }
13971 @java.lang.Override
13973 return minimizeWithPropagationNumDecisions_;
13974 }
13981 bitField0_ |= 0x00400000;
13982 minimizeWithPropagationNumDecisions_ = value;
13983 onChanged();
13984 return this;
13985 }
13991 bitField0_ = (bitField0_ & ~0x00400000);
13992 minimizeWithPropagationNumDecisions_ = 1000;
13993 onChanged();
13994 return this;
13995 }
13996
13997 private double variableActivityDecay_ = 0.8D;
14012 @java.lang.Override
14013 public boolean hasVariableActivityDecay() {
14014 return ((bitField0_ & 0x00800000) != 0);
14015 }
14030 @java.lang.Override
14032 return variableActivityDecay_;
14033 }
14049 public Builder setVariableActivityDecay(double value) {
14050 bitField0_ |= 0x00800000;
14051 variableActivityDecay_ = value;
14052 onChanged();
14053 return this;
14054 }
14070 bitField0_ = (bitField0_ & ~0x00800000);
14071 variableActivityDecay_ = 0.8D;
14072 onChanged();
14073 return this;
14074 }
14075
14076 private double maxVariableActivityValue_ = 1e+100D;
14081 @java.lang.Override
14083 return ((bitField0_ & 0x01000000) != 0);
14084 }
14089 @java.lang.Override
14091 return maxVariableActivityValue_;
14092 }
14099 bitField0_ |= 0x01000000;
14100 maxVariableActivityValue_ = value;
14101 onChanged();
14102 return this;
14103 }
14109 bitField0_ = (bitField0_ & ~0x01000000);
14110 maxVariableActivityValue_ = 1e+100D;
14111 onChanged();
14112 return this;
14113 }
14114
14115 private double glucoseMaxDecay_ = 0.95D;
14127 @java.lang.Override
14128 public boolean hasGlucoseMaxDecay() {
14129 return ((bitField0_ & 0x02000000) != 0);
14130 }
14142 @java.lang.Override
14143 public double getGlucoseMaxDecay() {
14144 return glucoseMaxDecay_;
14145 }
14158 public Builder setGlucoseMaxDecay(double value) {
14159 bitField0_ |= 0x02000000;
14160 glucoseMaxDecay_ = value;
14161 onChanged();
14162 return this;
14163 }
14176 bitField0_ = (bitField0_ & ~0x02000000);
14177 glucoseMaxDecay_ = 0.95D;
14178 onChanged();
14179 return this;
14180 }
14181
14182 private double glucoseDecayIncrement_ = 0.01D;
14187 @java.lang.Override
14188 public boolean hasGlucoseDecayIncrement() {
14189 return ((bitField0_ & 0x04000000) != 0);
14190 }
14195 @java.lang.Override
14197 return glucoseDecayIncrement_;
14198 }
14204 public Builder setGlucoseDecayIncrement(double value) {
14205 bitField0_ |= 0x04000000;
14206 glucoseDecayIncrement_ = value;
14207 onChanged();
14208 return this;
14209 }
14215 bitField0_ = (bitField0_ & ~0x04000000);
14216 glucoseDecayIncrement_ = 0.01D;
14217 onChanged();
14218 return this;
14219 }
14220
14221 private int glucoseDecayIncrementPeriod_ = 5000;
14226 @java.lang.Override
14228 return ((bitField0_ & 0x08000000) != 0);
14229 }
14234 @java.lang.Override
14236 return glucoseDecayIncrementPeriod_;
14237 }
14244 bitField0_ |= 0x08000000;
14245 glucoseDecayIncrementPeriod_ = value;
14246 onChanged();
14247 return this;
14248 }
14254 bitField0_ = (bitField0_ & ~0x08000000);
14255 glucoseDecayIncrementPeriod_ = 5000;
14256 onChanged();
14257 return this;
14258 }
14259
14260 private double clauseActivityDecay_ = 0.999D;
14269 @java.lang.Override
14270 public boolean hasClauseActivityDecay() {
14271 return ((bitField0_ & 0x10000000) != 0);
14272 }
14281 @java.lang.Override
14282 public double getClauseActivityDecay() {
14283 return clauseActivityDecay_;
14284 }
14294 public Builder setClauseActivityDecay(double value) {
14295 bitField0_ |= 0x10000000;
14296 clauseActivityDecay_ = value;
14297 onChanged();
14298 return this;
14299 }
14309 bitField0_ = (bitField0_ & ~0x10000000);
14310 clauseActivityDecay_ = 0.999D;
14311 onChanged();
14312 return this;
14313 }
14314
14315 private double maxClauseActivityValue_ = 1e+20D;
14320 @java.lang.Override
14321 public boolean hasMaxClauseActivityValue() {
14322 return ((bitField0_ & 0x20000000) != 0);
14323 }
14328 @java.lang.Override
14330 return maxClauseActivityValue_;
14331 }
14337 public Builder setMaxClauseActivityValue(double value) {
14338 bitField0_ |= 0x20000000;
14339 maxClauseActivityValue_ = value;
14340 onChanged();
14341 return this;
14342 }
14348 bitField0_ = (bitField0_ & ~0x20000000);
14349 maxClauseActivityValue_ = 1e+20D;
14350 onChanged();
14351 return this;
14352 }
14353
14354 private java.util.List<java.lang.Integer> restartAlgorithms_ =
14355 java.util.Collections.emptyList();
14356 private void ensureRestartAlgorithmsIsMutable() {
14357 if (!((bitField0_ & 0x40000000) != 0)) {
14358 restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
14359 bitField0_ |= 0x40000000;
14360 }
14361 }
14377 public java.util.List<com.google.ortools.sat.SatParameters.RestartAlgorithm> getRestartAlgorithmsList() {
14378 return new com.google.protobuf.Internal.ListAdapter<
14379 java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
14380 }
14397 return restartAlgorithms_.size();
14398 }
14415 public com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index) {
14416 return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
14417 }
14436 int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
14437 if (value == null) {
14438 throw new NullPointerException();
14439 }
14440 ensureRestartAlgorithmsIsMutable();
14441 restartAlgorithms_.set(index, value.getNumber());
14442 onChanged();
14443 return this;
14444 }
14461 public Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
14462 if (value == null) {
14463 throw new NullPointerException();
14464 }
14465 ensureRestartAlgorithmsIsMutable();
14466 restartAlgorithms_.add(value.getNumber());
14467 onChanged();
14468 return this;
14469 }
14487 java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
14488 ensureRestartAlgorithmsIsMutable();
14489 for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
14490 restartAlgorithms_.add(value.getNumber());
14491 }
14492 onChanged();
14493 return this;
14494 }
14511 restartAlgorithms_ = java.util.Collections.emptyList();
14512 bitField0_ = (bitField0_ & ~0x40000000);
14513 onChanged();
14514 return this;
14515 }
14516
14517 private java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
14523 return ((bitField0_ & 0x80000000) != 0);
14524 }
14529 public java.lang.String getDefaultRestartAlgorithms() {
14530 java.lang.Object ref = defaultRestartAlgorithms_;
14531 if (!(ref instanceof java.lang.String)) {
14532 com.google.protobuf.ByteString bs =
14533 (com.google.protobuf.ByteString) ref;
14534 java.lang.String s = bs.toStringUtf8();
14535 if (bs.isValidUtf8()) {
14536 defaultRestartAlgorithms_ = s;
14537 }
14538 return s;
14539 } else {
14540 return (java.lang.String) ref;
14541 }
14542 }
14547 public com.google.protobuf.ByteString
14549 java.lang.Object ref = defaultRestartAlgorithms_;
14550 if (ref instanceof String) {
14551 com.google.protobuf.ByteString b =
14552 com.google.protobuf.ByteString.copyFromUtf8(
14553 (java.lang.String) ref);
14554 defaultRestartAlgorithms_ = b;
14555 return b;
14556 } else {
14557 return (com.google.protobuf.ByteString) ref;
14558 }
14559 }
14566 java.lang.String value) {
14567 if (value == null) {
14568 throw new NullPointerException();
14569 }
14570 bitField0_ |= 0x80000000;
14571 defaultRestartAlgorithms_ = value;
14572 onChanged();
14573 return this;
14574 }
14580 bitField0_ = (bitField0_ & ~0x80000000);
14581 defaultRestartAlgorithms_ = getDefaultInstance().getDefaultRestartAlgorithms();
14582 onChanged();
14583 return this;
14584 }
14591 com.google.protobuf.ByteString value) {
14592 if (value == null) {
14593 throw new NullPointerException();
14594 }
14595 bitField0_ |= 0x80000000;
14596 defaultRestartAlgorithms_ = value;
14597 onChanged();
14598 return this;
14599 }
14600
14601 private int restartPeriod_ = 50;
14611 @java.lang.Override
14612 public boolean hasRestartPeriod() {
14613 return ((bitField1_ & 0x00000001) != 0);
14614 }
14624 @java.lang.Override
14625 public int getRestartPeriod() {
14626 return restartPeriod_;
14627 }
14638 public Builder setRestartPeriod(int value) {
14639 bitField1_ |= 0x00000001;
14640 restartPeriod_ = value;
14641 onChanged();
14642 return this;
14643 }
14654 bitField1_ = (bitField1_ & ~0x00000001);
14655 restartPeriod_ = 50;
14656 onChanged();
14657 return this;
14658 }
14659
14660 private int restartRunningWindowSize_ = 50;
14669 @java.lang.Override
14671 return ((bitField1_ & 0x00000002) != 0);
14672 }
14681 @java.lang.Override
14683 return restartRunningWindowSize_;
14684 }
14695 bitField1_ |= 0x00000002;
14696 restartRunningWindowSize_ = value;
14697 onChanged();
14698 return this;
14699 }
14709 bitField1_ = (bitField1_ & ~0x00000002);
14710 restartRunningWindowSize_ = 50;
14711 onChanged();
14712 return this;
14713 }
14714
14715 private double restartDlAverageRatio_ = 1D;
14725 @java.lang.Override
14726 public boolean hasRestartDlAverageRatio() {
14727 return ((bitField1_ & 0x00000004) != 0);
14728 }
14738 @java.lang.Override
14740 return restartDlAverageRatio_;
14741 }
14752 public Builder setRestartDlAverageRatio(double value) {
14753 bitField1_ |= 0x00000004;
14754 restartDlAverageRatio_ = value;
14755 onChanged();
14756 return this;
14757 }
14768 bitField1_ = (bitField1_ & ~0x00000004);
14769 restartDlAverageRatio_ = 1D;
14770 onChanged();
14771 return this;
14772 }
14773
14774 private double restartLbdAverageRatio_ = 1D;
14779 @java.lang.Override
14780 public boolean hasRestartLbdAverageRatio() {
14781 return ((bitField1_ & 0x00000008) != 0);
14782 }
14787 @java.lang.Override
14789 return restartLbdAverageRatio_;
14790 }
14796 public Builder setRestartLbdAverageRatio(double value) {
14797 bitField1_ |= 0x00000008;
14798 restartLbdAverageRatio_ = value;
14799 onChanged();
14800 return this;
14801 }
14807 bitField1_ = (bitField1_ & ~0x00000008);
14808 restartLbdAverageRatio_ = 1D;
14809 onChanged();
14810 return this;
14811 }
14812
14813 private boolean useBlockingRestart_ ;
14824 @java.lang.Override
14825 public boolean hasUseBlockingRestart() {
14826 return ((bitField1_ & 0x00000010) != 0);
14827 }
14838 @java.lang.Override
14839 public boolean getUseBlockingRestart() {
14840 return useBlockingRestart_;
14841 }
14853 public Builder setUseBlockingRestart(boolean value) {
14854 bitField1_ |= 0x00000010;
14855 useBlockingRestart_ = value;
14856 onChanged();
14857 return this;
14858 }
14870 bitField1_ = (bitField1_ & ~0x00000010);
14871 useBlockingRestart_ = false;
14872 onChanged();
14873 return this;
14874 }
14875
14876 private int blockingRestartWindowSize_ = 5000;
14881 @java.lang.Override
14883 return ((bitField1_ & 0x00000020) != 0);
14884 }
14889 @java.lang.Override
14891 return blockingRestartWindowSize_;
14892 }
14899 bitField1_ |= 0x00000020;
14900 blockingRestartWindowSize_ = value;
14901 onChanged();
14902 return this;
14903 }
14909 bitField1_ = (bitField1_ & ~0x00000020);
14910 blockingRestartWindowSize_ = 5000;
14911 onChanged();
14912 return this;
14913 }
14914
14915 private double blockingRestartMultiplier_ = 1.4D;
14920 @java.lang.Override
14922 return ((bitField1_ & 0x00000040) != 0);
14923 }
14928 @java.lang.Override
14930 return blockingRestartMultiplier_;
14931 }
14938 bitField1_ |= 0x00000040;
14939 blockingRestartMultiplier_ = value;
14940 onChanged();
14941 return this;
14942 }
14948 bitField1_ = (bitField1_ & ~0x00000040);
14949 blockingRestartMultiplier_ = 1.4D;
14950 onChanged();
14951 return this;
14952 }
14953
14954 private int numConflictsBeforeStrategyChanges_ ;
14965 @java.lang.Override
14967 return ((bitField1_ & 0x00000080) != 0);
14968 }
14979 @java.lang.Override
14981 return numConflictsBeforeStrategyChanges_;
14982 }
14995 bitField1_ |= 0x00000080;
14996 numConflictsBeforeStrategyChanges_ = value;
14997 onChanged();
14998 return this;
14999 }
15011 bitField1_ = (bitField1_ & ~0x00000080);
15012 numConflictsBeforeStrategyChanges_ = 0;
15013 onChanged();
15014 return this;
15015 }
15016
15017 private double strategyChangeIncreaseRatio_ ;
15027 @java.lang.Override
15029 return ((bitField1_ & 0x00000100) != 0);
15030 }
15040 @java.lang.Override
15042 return strategyChangeIncreaseRatio_;
15043 }
15055 bitField1_ |= 0x00000100;
15056 strategyChangeIncreaseRatio_ = value;
15057 onChanged();
15058 return this;
15059 }
15070 bitField1_ = (bitField1_ & ~0x00000100);
15071 strategyChangeIncreaseRatio_ = 0D;
15072 onChanged();
15073 return this;
15074 }
15075
15076 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
15086 @java.lang.Override
15087 public boolean hasMaxTimeInSeconds() {
15088 return ((bitField1_ & 0x00000200) != 0);
15089 }
15099 @java.lang.Override
15100 public double getMaxTimeInSeconds() {
15101 return maxTimeInSeconds_;
15102 }
15113 public Builder setMaxTimeInSeconds(double value) {
15114 bitField1_ |= 0x00000200;
15115 maxTimeInSeconds_ = value;
15116 onChanged();
15117 return this;
15118 }
15129 bitField1_ = (bitField1_ & ~0x00000200);
15130 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
15131 onChanged();
15132 return this;
15133 }
15134
15135 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
15146 @java.lang.Override
15147 public boolean hasMaxDeterministicTime() {
15148 return ((bitField1_ & 0x00000400) != 0);
15149 }
15160 @java.lang.Override
15161 public double getMaxDeterministicTime() {
15162 return maxDeterministicTime_;
15163 }
15175 public Builder setMaxDeterministicTime(double value) {
15176 bitField1_ |= 0x00000400;
15177 maxDeterministicTime_ = value;
15178 onChanged();
15179 return this;
15180 }
15192 bitField1_ = (bitField1_ & ~0x00000400);
15193 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
15194 onChanged();
15195 return this;
15196 }
15197
15198 private long maxNumberOfConflicts_ = 9223372036854775807L;
15212 @java.lang.Override
15213 public boolean hasMaxNumberOfConflicts() {
15214 return ((bitField1_ & 0x00000800) != 0);
15215 }
15229 @java.lang.Override
15231 return maxNumberOfConflicts_;
15232 }
15248 bitField1_ |= 0x00000800;
15249 maxNumberOfConflicts_ = value;
15250 onChanged();
15251 return this;
15252 }
15267 bitField1_ = (bitField1_ & ~0x00000800);
15268 maxNumberOfConflicts_ = 9223372036854775807L;
15269 onChanged();
15270 return this;
15271 }
15272
15273 private long maxMemoryInMb_ = 10000L;
15285 @java.lang.Override
15286 public boolean hasMaxMemoryInMb() {
15287 return ((bitField1_ & 0x00001000) != 0);
15288 }
15300 @java.lang.Override
15301 public long getMaxMemoryInMb() {
15302 return maxMemoryInMb_;
15303 }
15316 public Builder setMaxMemoryInMb(long value) {
15317 bitField1_ |= 0x00001000;
15318 maxMemoryInMb_ = value;
15319 onChanged();
15320 return this;
15321 }
15334 bitField1_ = (bitField1_ & ~0x00001000);
15335 maxMemoryInMb_ = 10000L;
15336 onChanged();
15337 return this;
15338 }
15339
15340 private double absoluteGapLimit_ ;
15358 @java.lang.Override
15359 public boolean hasAbsoluteGapLimit() {
15360 return ((bitField1_ & 0x00002000) != 0);
15361 }
15379 @java.lang.Override
15380 public double getAbsoluteGapLimit() {
15381 return absoluteGapLimit_;
15382 }
15401 public Builder setAbsoluteGapLimit(double value) {
15402 bitField1_ |= 0x00002000;
15403 absoluteGapLimit_ = value;
15404 onChanged();
15405 return this;
15406 }
15425 bitField1_ = (bitField1_ & ~0x00002000);
15426 absoluteGapLimit_ = 0D;
15427 onChanged();
15428 return this;
15429 }
15430
15431 private double relativeGapLimit_ ;
15436 @java.lang.Override
15437 public boolean hasRelativeGapLimit() {
15438 return ((bitField1_ & 0x00004000) != 0);
15439 }
15444 @java.lang.Override
15445 public double getRelativeGapLimit() {
15446 return relativeGapLimit_;
15447 }
15453 public Builder setRelativeGapLimit(double value) {
15454 bitField1_ |= 0x00004000;
15455 relativeGapLimit_ = value;
15456 onChanged();
15457 return this;
15458 }
15464 bitField1_ = (bitField1_ & ~0x00004000);
15465 relativeGapLimit_ = 0D;
15466 onChanged();
15467 return this;
15468 }
15469
15470 private boolean treatBinaryClausesSeparately_ = true;
15481 @java.lang.Override
15483 return ((bitField1_ & 0x00008000) != 0);
15484 }
15495 @java.lang.Override
15497 return treatBinaryClausesSeparately_;
15498 }
15511 bitField1_ |= 0x00008000;
15512 treatBinaryClausesSeparately_ = value;
15513 onChanged();
15514 return this;
15515 }
15527 bitField1_ = (bitField1_ & ~0x00008000);
15528 treatBinaryClausesSeparately_ = true;
15529 onChanged();
15530 return this;
15531 }
15532
15533 private int randomSeed_ = 1;
15547 @java.lang.Override
15548 public boolean hasRandomSeed() {
15549 return ((bitField1_ & 0x00010000) != 0);
15550 }
15564 @java.lang.Override
15565 public int getRandomSeed() {
15566 return randomSeed_;
15567 }
15582 public Builder setRandomSeed(int value) {
15583 bitField1_ |= 0x00010000;
15584 randomSeed_ = value;
15585 onChanged();
15586 return this;
15587 }
15602 bitField1_ = (bitField1_ & ~0x00010000);
15603 randomSeed_ = 1;
15604 onChanged();
15605 return this;
15606 }
15607
15608 private boolean permuteVariableRandomly_ ;
15620 @java.lang.Override
15622 return ((bitField1_ & 0x00020000) != 0);
15623 }
15635 @java.lang.Override
15637 return permuteVariableRandomly_;
15638 }
15651 public Builder setPermuteVariableRandomly(boolean value) {
15652 bitField1_ |= 0x00020000;
15653 permuteVariableRandomly_ = value;
15654 onChanged();
15655 return this;
15656 }
15669 bitField1_ = (bitField1_ & ~0x00020000);
15670 permuteVariableRandomly_ = false;
15671 onChanged();
15672 return this;
15673 }
15674
15675 private boolean permutePresolveConstraintOrder_ ;
15680 @java.lang.Override
15682 return ((bitField1_ & 0x00040000) != 0);
15683 }
15688 @java.lang.Override
15690 return permutePresolveConstraintOrder_;
15691 }
15698 bitField1_ |= 0x00040000;
15699 permutePresolveConstraintOrder_ = value;
15700 onChanged();
15701 return this;
15702 }
15708 bitField1_ = (bitField1_ & ~0x00040000);
15709 permutePresolveConstraintOrder_ = false;
15710 onChanged();
15711 return this;
15712 }
15713
15714 private boolean useAbslRandom_ ;
15719 @java.lang.Override
15720 public boolean hasUseAbslRandom() {
15721 return ((bitField1_ & 0x00080000) != 0);
15722 }
15727 @java.lang.Override
15728 public boolean getUseAbslRandom() {
15729 return useAbslRandom_;
15730 }
15736 public Builder setUseAbslRandom(boolean value) {
15737 bitField1_ |= 0x00080000;
15738 useAbslRandom_ = value;
15739 onChanged();
15740 return this;
15741 }
15747 bitField1_ = (bitField1_ & ~0x00080000);
15748 useAbslRandom_ = false;
15749 onChanged();
15750 return this;
15751 }
15752
15753 private boolean logSearchProgress_ ;
15763 @java.lang.Override
15764 public boolean hasLogSearchProgress() {
15765 return ((bitField1_ & 0x00100000) != 0);
15766 }
15776 @java.lang.Override
15777 public boolean getLogSearchProgress() {
15778 return logSearchProgress_;
15779 }
15790 public Builder setLogSearchProgress(boolean value) {
15791 bitField1_ |= 0x00100000;
15792 logSearchProgress_ = value;
15793 onChanged();
15794 return this;
15795 }
15806 bitField1_ = (bitField1_ & ~0x00100000);
15807 logSearchProgress_ = false;
15808 onChanged();
15809 return this;
15810 }
15811
15812 private boolean logSubsolverStatistics_ = true;
15823 @java.lang.Override
15824 public boolean hasLogSubsolverStatistics() {
15825 return ((bitField1_ & 0x00200000) != 0);
15826 }
15837 @java.lang.Override
15838 public boolean getLogSubsolverStatistics() {
15839 return logSubsolverStatistics_;
15840 }
15852 public Builder setLogSubsolverStatistics(boolean value) {
15853 bitField1_ |= 0x00200000;
15854 logSubsolverStatistics_ = value;
15855 onChanged();
15856 return this;
15857 }
15869 bitField1_ = (bitField1_ & ~0x00200000);
15870 logSubsolverStatistics_ = true;
15871 onChanged();
15872 return this;
15873 }
15874
15875 private java.lang.Object logPrefix_ = "";
15884 public boolean hasLogPrefix() {
15885 return ((bitField1_ & 0x00400000) != 0);
15886 }
15895 public java.lang.String getLogPrefix() {
15896 java.lang.Object ref = logPrefix_;
15897 if (!(ref instanceof java.lang.String)) {
15898 com.google.protobuf.ByteString bs =
15899 (com.google.protobuf.ByteString) ref;
15900 java.lang.String s = bs.toStringUtf8();
15901 if (bs.isValidUtf8()) {
15902 logPrefix_ = s;
15903 }
15904 return s;
15905 } else {
15906 return (java.lang.String) ref;
15907 }
15908 }
15917 public com.google.protobuf.ByteString
15919 java.lang.Object ref = logPrefix_;
15920 if (ref instanceof String) {
15921 com.google.protobuf.ByteString b =
15922 com.google.protobuf.ByteString.copyFromUtf8(
15923 (java.lang.String) ref);
15924 logPrefix_ = b;
15925 return b;
15926 } else {
15927 return (com.google.protobuf.ByteString) ref;
15928 }
15929 }
15940 java.lang.String value) {
15941 if (value == null) {
15942 throw new NullPointerException();
15943 }
15944 bitField1_ |= 0x00400000;
15945 logPrefix_ = value;
15946 onChanged();
15947 return this;
15948 }
15958 bitField1_ = (bitField1_ & ~0x00400000);
15959 logPrefix_ = getDefaultInstance().getLogPrefix();
15960 onChanged();
15961 return this;
15962 }
15973 com.google.protobuf.ByteString value) {
15974 if (value == null) {
15975 throw new NullPointerException();
15976 }
15977 bitField1_ |= 0x00400000;
15978 logPrefix_ = value;
15979 onChanged();
15980 return this;
15981 }
15982
15983 private boolean logToStdout_ = true;
15992 @java.lang.Override
15993 public boolean hasLogToStdout() {
15994 return ((bitField1_ & 0x00800000) != 0);
15995 }
16004 @java.lang.Override
16005 public boolean getLogToStdout() {
16006 return logToStdout_;
16007 }
16017 public Builder setLogToStdout(boolean value) {
16018 bitField1_ |= 0x00800000;
16019 logToStdout_ = value;
16020 onChanged();
16021 return this;
16022 }
16032 bitField1_ = (bitField1_ & ~0x00800000);
16033 logToStdout_ = true;
16034 onChanged();
16035 return this;
16036 }
16037
16038 private boolean logToResponse_ ;
16047 @java.lang.Override
16048 public boolean hasLogToResponse() {
16049 return ((bitField1_ & 0x01000000) != 0);
16050 }
16059 @java.lang.Override
16060 public boolean getLogToResponse() {
16061 return logToResponse_;
16062 }
16072 public Builder setLogToResponse(boolean value) {
16073 bitField1_ |= 0x01000000;
16074 logToResponse_ = value;
16075 onChanged();
16076 return this;
16077 }
16087 bitField1_ = (bitField1_ & ~0x01000000);
16088 logToResponse_ = false;
16089 onChanged();
16090 return this;
16091 }
16092
16093 private boolean usePbResolution_ ;
16105 @java.lang.Override
16106 public boolean hasUsePbResolution() {
16107 return ((bitField1_ & 0x02000000) != 0);
16108 }
16120 @java.lang.Override
16121 public boolean getUsePbResolution() {
16122 return usePbResolution_;
16123 }
16136 public Builder setUsePbResolution(boolean value) {
16137 bitField1_ |= 0x02000000;
16138 usePbResolution_ = value;
16139 onChanged();
16140 return this;
16141 }
16154 bitField1_ = (bitField1_ & ~0x02000000);
16155 usePbResolution_ = false;
16156 onChanged();
16157 return this;
16158 }
16159
16160 private boolean minimizeReductionDuringPbResolution_ ;
16172 @java.lang.Override
16174 return ((bitField1_ & 0x04000000) != 0);
16175 }
16187 @java.lang.Override
16189 return minimizeReductionDuringPbResolution_;
16190 }
16204 bitField1_ |= 0x04000000;
16205 minimizeReductionDuringPbResolution_ = value;
16206 onChanged();
16207 return this;
16208 }
16221 bitField1_ = (bitField1_ & ~0x04000000);
16222 minimizeReductionDuringPbResolution_ = false;
16223 onChanged();
16224 return this;
16225 }
16226
16227 private boolean countAssumptionLevelsInLbd_ = true;
16243 @java.lang.Override
16245 return ((bitField1_ & 0x08000000) != 0);
16246 }
16262 @java.lang.Override
16264 return countAssumptionLevelsInLbd_;
16265 }
16283 bitField1_ |= 0x08000000;
16284 countAssumptionLevelsInLbd_ = value;
16285 onChanged();
16286 return this;
16287 }
16304 bitField1_ = (bitField1_ & ~0x08000000);
16305 countAssumptionLevelsInLbd_ = true;
16306 onChanged();
16307 return this;
16308 }
16309
16310 private int presolveBveThreshold_ = 500;
16321 @java.lang.Override
16322 public boolean hasPresolveBveThreshold() {
16323 return ((bitField1_ & 0x10000000) != 0);
16324 }
16335 @java.lang.Override
16337 return presolveBveThreshold_;
16338 }
16351 bitField1_ |= 0x10000000;
16352 presolveBveThreshold_ = value;
16353 onChanged();
16354 return this;
16355 }
16367 bitField1_ = (bitField1_ & ~0x10000000);
16368 presolveBveThreshold_ = 500;
16369 onChanged();
16370 return this;
16371 }
16372
16373 private int presolveBveClauseWeight_ = 3;
16383 @java.lang.Override
16385 return ((bitField1_ & 0x20000000) != 0);
16386 }
16396 @java.lang.Override
16398 return presolveBveClauseWeight_;
16399 }
16411 bitField1_ |= 0x20000000;
16412 presolveBveClauseWeight_ = value;
16413 onChanged();
16414 return this;
16415 }
16426 bitField1_ = (bitField1_ & ~0x20000000);
16427 presolveBveClauseWeight_ = 3;
16428 onChanged();
16429 return this;
16430 }
16431
16432 private double presolveProbingDeterministicTimeLimit_ = 30D;
16442 @java.lang.Override
16444 return ((bitField1_ & 0x40000000) != 0);
16445 }
16455 @java.lang.Override
16457 return presolveProbingDeterministicTimeLimit_;
16458 }
16470 bitField1_ |= 0x40000000;
16471 presolveProbingDeterministicTimeLimit_ = value;
16472 onChanged();
16473 return this;
16474 }
16485 bitField1_ = (bitField1_ & ~0x40000000);
16486 presolveProbingDeterministicTimeLimit_ = 30D;
16487 onChanged();
16488 return this;
16489 }
16490
16491 private boolean presolveBlockedClause_ = true;
16501 @java.lang.Override
16502 public boolean hasPresolveBlockedClause() {
16503 return ((bitField1_ & 0x80000000) != 0);
16504 }
16514 @java.lang.Override
16515 public boolean getPresolveBlockedClause() {
16516 return presolveBlockedClause_;
16517 }
16528 public Builder setPresolveBlockedClause(boolean value) {
16529 bitField1_ |= 0x80000000;
16530 presolveBlockedClause_ = value;
16531 onChanged();
16532 return this;
16533 }
16544 bitField1_ = (bitField1_ & ~0x80000000);
16545 presolveBlockedClause_ = true;
16546 onChanged();
16547 return this;
16548 }
16549
16550 private boolean presolveUseBva_ = true;
16559 @java.lang.Override
16560 public boolean hasPresolveUseBva() {
16561 return ((bitField2_ & 0x00000001) != 0);
16562 }
16571 @java.lang.Override
16572 public boolean getPresolveUseBva() {
16573 return presolveUseBva_;
16574 }
16584 public Builder setPresolveUseBva(boolean value) {
16585 bitField2_ |= 0x00000001;
16586 presolveUseBva_ = value;
16587 onChanged();
16588 return this;
16589 }
16599 bitField2_ = (bitField2_ & ~0x00000001);
16600 presolveUseBva_ = true;
16601 onChanged();
16602 return this;
16603 }
16604
16605 private int presolveBvaThreshold_ = 1;
16617 @java.lang.Override
16618 public boolean hasPresolveBvaThreshold() {
16619 return ((bitField2_ & 0x00000002) != 0);
16620 }
16632 @java.lang.Override
16634 return presolveBvaThreshold_;
16635 }
16649 bitField2_ |= 0x00000002;
16650 presolveBvaThreshold_ = value;
16651 onChanged();
16652 return this;
16653 }
16666 bitField2_ = (bitField2_ & ~0x00000002);
16667 presolveBvaThreshold_ = 1;
16668 onChanged();
16669 return this;
16670 }
16671
16672 private int maxPresolveIterations_ = 3;
16683 @java.lang.Override
16684 public boolean hasMaxPresolveIterations() {
16685 return ((bitField2_ & 0x00000004) != 0);
16686 }
16697 @java.lang.Override
16699 return maxPresolveIterations_;
16700 }
16713 bitField2_ |= 0x00000004;
16714 maxPresolveIterations_ = value;
16715 onChanged();
16716 return this;
16717 }
16729 bitField2_ = (bitField2_ & ~0x00000004);
16730 maxPresolveIterations_ = 3;
16731 onChanged();
16732 return this;
16733 }
16734
16735 private boolean cpModelPresolve_ = true;
16744 @java.lang.Override
16745 public boolean hasCpModelPresolve() {
16746 return ((bitField2_ & 0x00000008) != 0);
16747 }
16756 @java.lang.Override
16757 public boolean getCpModelPresolve() {
16758 return cpModelPresolve_;
16759 }
16769 public Builder setCpModelPresolve(boolean value) {
16770 bitField2_ |= 0x00000008;
16771 cpModelPresolve_ = value;
16772 onChanged();
16773 return this;
16774 }
16784 bitField2_ = (bitField2_ & ~0x00000008);
16785 cpModelPresolve_ = true;
16786 onChanged();
16787 return this;
16788 }
16789
16790 private boolean cpModelPostsolveWithFullSolver_ ;
16802 @java.lang.Override
16804 return ((bitField2_ & 0x00000010) != 0);
16805 }
16817 @java.lang.Override
16819 return cpModelPostsolveWithFullSolver_;
16820 }
16834 bitField2_ |= 0x00000010;
16835 cpModelPostsolveWithFullSolver_ = value;
16836 onChanged();
16837 return this;
16838 }
16851 bitField2_ = (bitField2_ & ~0x00000010);
16852 cpModelPostsolveWithFullSolver_ = false;
16853 onChanged();
16854 return this;
16855 }
16856
16857 private int cpModelMaxNumPresolveOperations_ ;
16867 @java.lang.Override
16869 return ((bitField2_ & 0x00000020) != 0);
16870 }
16880 @java.lang.Override
16882 return cpModelMaxNumPresolveOperations_;
16883 }
16895 bitField2_ |= 0x00000020;
16896 cpModelMaxNumPresolveOperations_ = value;
16897 onChanged();
16898 return this;
16899 }
16910 bitField2_ = (bitField2_ & ~0x00000020);
16911 cpModelMaxNumPresolveOperations_ = 0;
16912 onChanged();
16913 return this;
16914 }
16915
16916 private int cpModelProbingLevel_ = 2;
16925 @java.lang.Override
16926 public boolean hasCpModelProbingLevel() {
16927 return ((bitField2_ & 0x00000040) != 0);
16928 }
16937 @java.lang.Override
16939 return cpModelProbingLevel_;
16940 }
16951 bitField2_ |= 0x00000040;
16952 cpModelProbingLevel_ = value;
16953 onChanged();
16954 return this;
16955 }
16965 bitField2_ = (bitField2_ & ~0x00000040);
16966 cpModelProbingLevel_ = 2;
16967 onChanged();
16968 return this;
16969 }
16970
16971 private boolean cpModelUseSatPresolve_ = true;
16980 @java.lang.Override
16981 public boolean hasCpModelUseSatPresolve() {
16982 return ((bitField2_ & 0x00000080) != 0);
16983 }
16992 @java.lang.Override
16993 public boolean getCpModelUseSatPresolve() {
16994 return cpModelUseSatPresolve_;
16995 }
17005 public Builder setCpModelUseSatPresolve(boolean value) {
17006 bitField2_ |= 0x00000080;
17007 cpModelUseSatPresolve_ = value;
17008 onChanged();
17009 return this;
17010 }
17020 bitField2_ = (bitField2_ & ~0x00000080);
17021 cpModelUseSatPresolve_ = true;
17022 onChanged();
17023 return this;
17024 }
17025
17026 private boolean useSatInprocessing_ ;
17031 @java.lang.Override
17032 public boolean hasUseSatInprocessing() {
17033 return ((bitField2_ & 0x00000100) != 0);
17034 }
17039 @java.lang.Override
17040 public boolean getUseSatInprocessing() {
17041 return useSatInprocessing_;
17042 }
17048 public Builder setUseSatInprocessing(boolean value) {
17049 bitField2_ |= 0x00000100;
17050 useSatInprocessing_ = value;
17051 onChanged();
17052 return this;
17053 }
17059 bitField2_ = (bitField2_ & ~0x00000100);
17060 useSatInprocessing_ = false;
17061 onChanged();
17062 return this;
17063 }
17064
17065 private boolean expandElementConstraints_ = true;
17075 @java.lang.Override
17077 return ((bitField2_ & 0x00000200) != 0);
17078 }
17088 @java.lang.Override
17090 return expandElementConstraints_;
17091 }
17102 public Builder setExpandElementConstraints(boolean value) {
17103 bitField2_ |= 0x00000200;
17104 expandElementConstraints_ = value;
17105 onChanged();
17106 return this;
17107 }
17118 bitField2_ = (bitField2_ & ~0x00000200);
17119 expandElementConstraints_ = true;
17120 onChanged();
17121 return this;
17122 }
17123
17124 private boolean expandAutomatonConstraints_ = true;
17133 @java.lang.Override
17135 return ((bitField2_ & 0x00000400) != 0);
17136 }
17145 @java.lang.Override
17147 return expandAutomatonConstraints_;
17148 }
17159 bitField2_ |= 0x00000400;
17160 expandAutomatonConstraints_ = value;
17161 onChanged();
17162 return this;
17163 }
17173 bitField2_ = (bitField2_ & ~0x00000400);
17174 expandAutomatonConstraints_ = true;
17175 onChanged();
17176 return this;
17177 }
17178
17179 private boolean expandTableConstraints_ = true;
17189 @java.lang.Override
17190 public boolean hasExpandTableConstraints() {
17191 return ((bitField2_ & 0x00000800) != 0);
17192 }
17202 @java.lang.Override
17203 public boolean getExpandTableConstraints() {
17204 return expandTableConstraints_;
17205 }
17216 public Builder setExpandTableConstraints(boolean value) {
17217 bitField2_ |= 0x00000800;
17218 expandTableConstraints_ = value;
17219 onChanged();
17220 return this;
17221 }
17232 bitField2_ = (bitField2_ & ~0x00000800);
17233 expandTableConstraints_ = true;
17234 onChanged();
17235 return this;
17236 }
17237
17238 private boolean expandAlldiffConstraints_ ;
17248 @java.lang.Override
17250 return ((bitField2_ & 0x00001000) != 0);
17251 }
17261 @java.lang.Override
17263 return expandAlldiffConstraints_;
17264 }
17275 public Builder setExpandAlldiffConstraints(boolean value) {
17276 bitField2_ |= 0x00001000;
17277 expandAlldiffConstraints_ = value;
17278 onChanged();
17279 return this;
17280 }
17291 bitField2_ = (bitField2_ & ~0x00001000);
17292 expandAlldiffConstraints_ = false;
17293 onChanged();
17294 return this;
17295 }
17296
17297 private boolean expandReservoirConstraints_ = true;
17307 @java.lang.Override
17309 return ((bitField2_ & 0x00002000) != 0);
17310 }
17320 @java.lang.Override
17322 return expandReservoirConstraints_;
17323 }
17335 bitField2_ |= 0x00002000;
17336 expandReservoirConstraints_ = value;
17337 onChanged();
17338 return this;
17339 }
17350 bitField2_ = (bitField2_ & ~0x00002000);
17351 expandReservoirConstraints_ = true;
17352 onChanged();
17353 return this;
17354 }
17355
17356 private boolean disableConstraintExpansion_ ;
17366 @java.lang.Override
17368 return ((bitField2_ & 0x00004000) != 0);
17369 }
17379 @java.lang.Override
17381 return disableConstraintExpansion_;
17382 }
17394 bitField2_ |= 0x00004000;
17395 disableConstraintExpansion_ = value;
17396 onChanged();
17397 return this;
17398 }
17409 bitField2_ = (bitField2_ & ~0x00004000);
17410 disableConstraintExpansion_ = false;
17411 onChanged();
17412 return this;
17413 }
17414
17415 private double mergeNoOverlapWorkLimit_ = 1000000000000D;
17428 @java.lang.Override
17430 return ((bitField2_ & 0x00008000) != 0);
17431 }
17444 @java.lang.Override
17446 return mergeNoOverlapWorkLimit_;
17447 }
17462 bitField2_ |= 0x00008000;
17463 mergeNoOverlapWorkLimit_ = value;
17464 onChanged();
17465 return this;
17466 }
17480 bitField2_ = (bitField2_ & ~0x00008000);
17481 mergeNoOverlapWorkLimit_ = 1000000000000D;
17482 onChanged();
17483 return this;
17484 }
17485
17486 private double mergeAtMostOneWorkLimit_ = 100000000D;
17491 @java.lang.Override
17493 return ((bitField2_ & 0x00010000) != 0);
17494 }
17499 @java.lang.Override
17501 return mergeAtMostOneWorkLimit_;
17502 }
17509 bitField2_ |= 0x00010000;
17510 mergeAtMostOneWorkLimit_ = value;
17511 onChanged();
17512 return this;
17513 }
17519 bitField2_ = (bitField2_ & ~0x00010000);
17520 mergeAtMostOneWorkLimit_ = 100000000D;
17521 onChanged();
17522 return this;
17523 }
17524
17525 private int presolveSubstitutionLevel_ = 1;
17537 @java.lang.Override
17539 return ((bitField2_ & 0x00020000) != 0);
17540 }
17552 @java.lang.Override
17554 return presolveSubstitutionLevel_;
17555 }
17569 bitField2_ |= 0x00020000;
17570 presolveSubstitutionLevel_ = value;
17571 onChanged();
17572 return this;
17573 }
17586 bitField2_ = (bitField2_ & ~0x00020000);
17587 presolveSubstitutionLevel_ = 1;
17588 onChanged();
17589 return this;
17590 }
17591
17592 private boolean presolveExtractIntegerEnforcement_ ;
17606 @java.lang.Override
17608 return ((bitField2_ & 0x00040000) != 0);
17609 }
17623 @java.lang.Override
17625 return presolveExtractIntegerEnforcement_;
17626 }
17642 bitField2_ |= 0x00040000;
17643 presolveExtractIntegerEnforcement_ = value;
17644 onChanged();
17645 return this;
17646 }
17661 bitField2_ = (bitField2_ & ~0x00040000);
17662 presolveExtractIntegerEnforcement_ = false;
17663 onChanged();
17664 return this;
17665 }
17666
17667 private boolean useOptimizationHints_ = true;
17679 @java.lang.Override
17680 public boolean hasUseOptimizationHints() {
17681 return ((bitField2_ & 0x00080000) != 0);
17682 }
17694 @java.lang.Override
17695 public boolean getUseOptimizationHints() {
17696 return useOptimizationHints_;
17697 }
17710 public Builder setUseOptimizationHints(boolean value) {
17711 bitField2_ |= 0x00080000;
17712 useOptimizationHints_ = value;
17713 onChanged();
17714 return this;
17715 }
17728 bitField2_ = (bitField2_ & ~0x00080000);
17729 useOptimizationHints_ = true;
17730 onChanged();
17731 return this;
17732 }
17733
17734 private boolean minimizeCore_ = true;
17743 @java.lang.Override
17744 public boolean hasMinimizeCore() {
17745 return ((bitField2_ & 0x00100000) != 0);
17746 }
17755 @java.lang.Override
17756 public boolean getMinimizeCore() {
17757 return minimizeCore_;
17758 }
17768 public Builder setMinimizeCore(boolean value) {
17769 bitField2_ |= 0x00100000;
17770 minimizeCore_ = value;
17771 onChanged();
17772 return this;
17773 }
17783 bitField2_ = (bitField2_ & ~0x00100000);
17784 minimizeCore_ = true;
17785 onChanged();
17786 return this;
17787 }
17788
17789 private boolean findMultipleCores_ = true;
17799 @java.lang.Override
17800 public boolean hasFindMultipleCores() {
17801 return ((bitField2_ & 0x00200000) != 0);
17802 }
17812 @java.lang.Override
17813 public boolean getFindMultipleCores() {
17814 return findMultipleCores_;
17815 }
17826 public Builder setFindMultipleCores(boolean value) {
17827 bitField2_ |= 0x00200000;
17828 findMultipleCores_ = value;
17829 onChanged();
17830 return this;
17831 }
17842 bitField2_ = (bitField2_ & ~0x00200000);
17843 findMultipleCores_ = true;
17844 onChanged();
17845 return this;
17846 }
17847
17848 private boolean coverOptimization_ = true;
17858 @java.lang.Override
17859 public boolean hasCoverOptimization() {
17860 return ((bitField2_ & 0x00400000) != 0);
17861 }
17871 @java.lang.Override
17872 public boolean getCoverOptimization() {
17873 return coverOptimization_;
17874 }
17885 public Builder setCoverOptimization(boolean value) {
17886 bitField2_ |= 0x00400000;
17887 coverOptimization_ = value;
17888 onChanged();
17889 return this;
17890 }
17901 bitField2_ = (bitField2_ & ~0x00400000);
17902 coverOptimization_ = true;
17903 onChanged();
17904 return this;
17905 }
17906
17907 private int maxSatAssumptionOrder_ = 0;
17912 @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
17913 return ((bitField2_ & 0x00800000) != 0);
17914 }
17919 @java.lang.Override
17920 public com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder() {
17921 @SuppressWarnings("deprecation")
17922 com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder result = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(maxSatAssumptionOrder_);
17923 return result == null ? com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.DEFAULT_ASSUMPTION_ORDER : result;
17924 }
17930 public Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value) {
17931 if (value == null) {
17932 throw new NullPointerException();
17933 }
17934 bitField2_ |= 0x00800000;
17935 maxSatAssumptionOrder_ = value.getNumber();
17936 onChanged();
17937 return this;
17938 }
17944 bitField2_ = (bitField2_ & ~0x00800000);
17945 maxSatAssumptionOrder_ = 0;
17946 onChanged();
17947 return this;
17948 }
17949
17950 private boolean maxSatReverseAssumptionOrder_ ;
17960 @java.lang.Override
17962 return ((bitField2_ & 0x01000000) != 0);
17963 }
17973 @java.lang.Override
17975 return maxSatReverseAssumptionOrder_;
17976 }
17988 bitField2_ |= 0x01000000;
17989 maxSatReverseAssumptionOrder_ = value;
17990 onChanged();
17991 return this;
17992 }
18003 bitField2_ = (bitField2_ & ~0x01000000);
18004 maxSatReverseAssumptionOrder_ = false;
18005 onChanged();
18006 return this;
18007 }
18008
18009 private int maxSatStratification_ = 1;
18014 @java.lang.Override public boolean hasMaxSatStratification() {
18015 return ((bitField2_ & 0x02000000) != 0);
18016 }
18021 @java.lang.Override
18022 public com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification() {
18023 @SuppressWarnings("deprecation")
18024 com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm result = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(maxSatStratification_);
18025 return result == null ? com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.STRATIFICATION_DESCENT : result;
18026 }
18032 public Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value) {
18033 if (value == null) {
18034 throw new NullPointerException();
18035 }
18036 bitField2_ |= 0x02000000;
18037 maxSatStratification_ = value.getNumber();
18038 onChanged();
18039 return this;
18040 }
18046 bitField2_ = (bitField2_ & ~0x02000000);
18047 maxSatStratification_ = 1;
18048 onChanged();
18049 return this;
18050 }
18051
18052 private boolean usePrecedencesInDisjunctiveConstraint_ = true;
18068 @java.lang.Override
18070 return ((bitField2_ & 0x04000000) != 0);
18071 }
18087 @java.lang.Override
18089 return usePrecedencesInDisjunctiveConstraint_;
18090 }
18108 bitField2_ |= 0x04000000;
18109 usePrecedencesInDisjunctiveConstraint_ = value;
18110 onChanged();
18111 return this;
18112 }
18129 bitField2_ = (bitField2_ & ~0x04000000);
18130 usePrecedencesInDisjunctiveConstraint_ = true;
18131 onChanged();
18132 return this;
18133 }
18134
18135 private boolean useOverloadCheckerInCumulativeConstraint_ ;
18149 @java.lang.Override
18151 return ((bitField2_ & 0x08000000) != 0);
18152 }
18166 @java.lang.Override
18168 return useOverloadCheckerInCumulativeConstraint_;
18169 }
18185 bitField2_ |= 0x08000000;
18186 useOverloadCheckerInCumulativeConstraint_ = value;
18187 onChanged();
18188 return this;
18189 }
18204 bitField2_ = (bitField2_ & ~0x08000000);
18205 useOverloadCheckerInCumulativeConstraint_ = false;
18206 onChanged();
18207 return this;
18208 }
18209
18210 private boolean useTimetableEdgeFindingInCumulativeConstraint_ ;
18224 @java.lang.Override
18226 return ((bitField2_ & 0x10000000) != 0);
18227 }
18241 @java.lang.Override
18243 return useTimetableEdgeFindingInCumulativeConstraint_;
18244 }
18260 bitField2_ |= 0x10000000;
18261 useTimetableEdgeFindingInCumulativeConstraint_ = value;
18262 onChanged();
18263 return this;
18264 }
18279 bitField2_ = (bitField2_ & ~0x10000000);
18280 useTimetableEdgeFindingInCumulativeConstraint_ = false;
18281 onChanged();
18282 return this;
18283 }
18284
18285 private boolean useDisjunctiveConstraintInCumulativeConstraint_ = true;
18301 @java.lang.Override
18303 return ((bitField2_ & 0x20000000) != 0);
18304 }
18320 @java.lang.Override
18322 return useDisjunctiveConstraintInCumulativeConstraint_;
18323 }
18341 bitField2_ |= 0x20000000;
18342 useDisjunctiveConstraintInCumulativeConstraint_ = value;
18343 onChanged();
18344 return this;
18345 }
18362 bitField2_ = (bitField2_ & ~0x20000000);
18363 useDisjunctiveConstraintInCumulativeConstraint_ = true;
18364 onChanged();
18365 return this;
18366 }
18367
18368 private int linearizationLevel_ = 1;
18380 @java.lang.Override
18381 public boolean hasLinearizationLevel() {
18382 return ((bitField2_ & 0x40000000) != 0);
18383 }
18395 @java.lang.Override
18397 return linearizationLevel_;
18398 }
18411 public Builder setLinearizationLevel(int value) {
18412 bitField2_ |= 0x40000000;
18413 linearizationLevel_ = value;
18414 onChanged();
18415 return this;
18416 }
18429 bitField2_ = (bitField2_ & ~0x40000000);
18430 linearizationLevel_ = 1;
18431 onChanged();
18432 return this;
18433 }
18434
18435 private int booleanEncodingLevel_ = 1;
18445 @java.lang.Override
18446 public boolean hasBooleanEncodingLevel() {
18447 return ((bitField2_ & 0x80000000) != 0);
18448 }
18458 @java.lang.Override
18460 return booleanEncodingLevel_;
18461 }
18473 bitField2_ |= 0x80000000;
18474 booleanEncodingLevel_ = value;
18475 onChanged();
18476 return this;
18477 }
18488 bitField2_ = (bitField2_ & ~0x80000000);
18489 booleanEncodingLevel_ = 1;
18490 onChanged();
18491 return this;
18492 }
18493
18494 private int maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
18506 @java.lang.Override
18508 return ((bitField3_ & 0x00000001) != 0);
18509 }
18521 @java.lang.Override
18523 return maxDomainSizeWhenEncodingEqNeqConstraints_;
18524 }
18538 bitField3_ |= 0x00000001;
18539 maxDomainSizeWhenEncodingEqNeqConstraints_ = value;
18540 onChanged();
18541 return this;
18542 }
18555 bitField3_ = (bitField3_ & ~0x00000001);
18556 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
18557 onChanged();
18558 return this;
18559 }
18560
18561 private int maxNumCuts_ = 10000;
18573 @java.lang.Override
18574 public boolean hasMaxNumCuts() {
18575 return ((bitField3_ & 0x00000002) != 0);
18576 }
18588 @java.lang.Override
18589 public int getMaxNumCuts() {
18590 return maxNumCuts_;
18591 }
18604 public Builder setMaxNumCuts(int value) {
18605 bitField3_ |= 0x00000002;
18606 maxNumCuts_ = value;
18607 onChanged();
18608 return this;
18609 }
18622 bitField3_ = (bitField3_ & ~0x00000002);
18623 maxNumCuts_ = 10000;
18624 onChanged();
18625 return this;
18626 }
18627
18628 private boolean onlyAddCutsAtLevelZero_ ;
18638 @java.lang.Override
18639 public boolean hasOnlyAddCutsAtLevelZero() {
18640 return ((bitField3_ & 0x00000004) != 0);
18641 }
18651 @java.lang.Override
18652 public boolean getOnlyAddCutsAtLevelZero() {
18653 return onlyAddCutsAtLevelZero_;
18654 }
18665 public Builder setOnlyAddCutsAtLevelZero(boolean value) {
18666 bitField3_ |= 0x00000004;
18667 onlyAddCutsAtLevelZero_ = value;
18668 onChanged();
18669 return this;
18670 }
18681 bitField3_ = (bitField3_ & ~0x00000004);
18682 onlyAddCutsAtLevelZero_ = false;
18683 onChanged();
18684 return this;
18685 }
18686
18687 private boolean addKnapsackCuts_ ;
18698 @java.lang.Override
18699 public boolean hasAddKnapsackCuts() {
18700 return ((bitField3_ & 0x00000008) != 0);
18701 }
18712 @java.lang.Override
18713 public boolean getAddKnapsackCuts() {
18714 return addKnapsackCuts_;
18715 }
18727 public Builder setAddKnapsackCuts(boolean value) {
18728 bitField3_ |= 0x00000008;
18729 addKnapsackCuts_ = value;
18730 onChanged();
18731 return this;
18732 }
18744 bitField3_ = (bitField3_ & ~0x00000008);
18745 addKnapsackCuts_ = false;
18746 onChanged();
18747 return this;
18748 }
18749
18750 private boolean addCgCuts_ = true;
18760 @java.lang.Override
18761 public boolean hasAddCgCuts() {
18762 return ((bitField3_ & 0x00000010) != 0);
18763 }
18773 @java.lang.Override
18774 public boolean getAddCgCuts() {
18775 return addCgCuts_;
18776 }
18787 public Builder setAddCgCuts(boolean value) {
18788 bitField3_ |= 0x00000010;
18789 addCgCuts_ = value;
18790 onChanged();
18791 return this;
18792 }
18803 bitField3_ = (bitField3_ & ~0x00000010);
18804 addCgCuts_ = true;
18805 onChanged();
18806 return this;
18807 }
18808
18809 private boolean addMirCuts_ = true;
18819 @java.lang.Override
18820 public boolean hasAddMirCuts() {
18821 return ((bitField3_ & 0x00000020) != 0);
18822 }
18832 @java.lang.Override
18833 public boolean getAddMirCuts() {
18834 return addMirCuts_;
18835 }
18846 public Builder setAddMirCuts(boolean value) {
18847 bitField3_ |= 0x00000020;
18848 addMirCuts_ = value;
18849 onChanged();
18850 return this;
18851 }
18862 bitField3_ = (bitField3_ & ~0x00000020);
18863 addMirCuts_ = true;
18864 onChanged();
18865 return this;
18866 }
18867
18868 private boolean addZeroHalfCuts_ = true;
18878 @java.lang.Override
18879 public boolean hasAddZeroHalfCuts() {
18880 return ((bitField3_ & 0x00000040) != 0);
18881 }
18891 @java.lang.Override
18892 public boolean getAddZeroHalfCuts() {
18893 return addZeroHalfCuts_;
18894 }
18905 public Builder setAddZeroHalfCuts(boolean value) {
18906 bitField3_ |= 0x00000040;
18907 addZeroHalfCuts_ = value;
18908 onChanged();
18909 return this;
18910 }
18921 bitField3_ = (bitField3_ & ~0x00000040);
18922 addZeroHalfCuts_ = true;
18923 onChanged();
18924 return this;
18925 }
18926
18927 private boolean addCliqueCuts_ = true;
18938 @java.lang.Override
18939 public boolean hasAddCliqueCuts() {
18940 return ((bitField3_ & 0x00000080) != 0);
18941 }
18952 @java.lang.Override
18953 public boolean getAddCliqueCuts() {
18954 return addCliqueCuts_;
18955 }
18967 public Builder setAddCliqueCuts(boolean value) {
18968 bitField3_ |= 0x00000080;
18969 addCliqueCuts_ = value;
18970 onChanged();
18971 return this;
18972 }
18984 bitField3_ = (bitField3_ & ~0x00000080);
18985 addCliqueCuts_ = true;
18986 onChanged();
18987 return this;
18988 }
18989
18990 private int maxAllDiffCutSize_ = 7;
19001 @java.lang.Override
19002 public boolean hasMaxAllDiffCutSize() {
19003 return ((bitField3_ & 0x00000100) != 0);
19004 }
19015 @java.lang.Override
19017 return maxAllDiffCutSize_;
19018 }
19030 public Builder setMaxAllDiffCutSize(int value) {
19031 bitField3_ |= 0x00000100;
19032 maxAllDiffCutSize_ = value;
19033 onChanged();
19034 return this;
19035 }
19047 bitField3_ = (bitField3_ & ~0x00000100);
19048 maxAllDiffCutSize_ = 7;
19049 onChanged();
19050 return this;
19051 }
19052
19053 private boolean addLinMaxCuts_ = true;
19064 @java.lang.Override
19065 public boolean hasAddLinMaxCuts() {
19066 return ((bitField3_ & 0x00000200) != 0);
19067 }
19078 @java.lang.Override
19079 public boolean getAddLinMaxCuts() {
19080 return addLinMaxCuts_;
19081 }
19093 public Builder setAddLinMaxCuts(boolean value) {
19094 bitField3_ |= 0x00000200;
19095 addLinMaxCuts_ = value;
19096 onChanged();
19097 return this;
19098 }
19110 bitField3_ = (bitField3_ & ~0x00000200);
19111 addLinMaxCuts_ = true;
19112 onChanged();
19113 return this;
19114 }
19115
19116 private int maxIntegerRoundingScaling_ = 600;
19131 @java.lang.Override
19133 return ((bitField3_ & 0x00000400) != 0);
19134 }
19149 @java.lang.Override
19151 return maxIntegerRoundingScaling_;
19152 }
19169 bitField3_ |= 0x00000400;
19170 maxIntegerRoundingScaling_ = value;
19171 onChanged();
19172 return this;
19173 }
19189 bitField3_ = (bitField3_ & ~0x00000400);
19190 maxIntegerRoundingScaling_ = 600;
19191 onChanged();
19192 return this;
19193 }
19194
19195 private boolean addLpConstraintsLazily_ = true;
19207 @java.lang.Override
19208 public boolean hasAddLpConstraintsLazily() {
19209 return ((bitField3_ & 0x00000800) != 0);
19210 }
19222 @java.lang.Override
19223 public boolean getAddLpConstraintsLazily() {
19224 return addLpConstraintsLazily_;
19225 }
19238 public Builder setAddLpConstraintsLazily(boolean value) {
19239 bitField3_ |= 0x00000800;
19240 addLpConstraintsLazily_ = value;
19241 onChanged();
19242 return this;
19243 }
19256 bitField3_ = (bitField3_ & ~0x00000800);
19257 addLpConstraintsLazily_ = true;
19258 onChanged();
19259 return this;
19260 }
19261
19262 private double minOrthogonalityForLpConstraints_ = 0.05D;
19275 @java.lang.Override
19277 return ((bitField3_ & 0x00001000) != 0);
19278 }
19291 @java.lang.Override
19293 return minOrthogonalityForLpConstraints_;
19294 }
19309 bitField3_ |= 0x00001000;
19310 minOrthogonalityForLpConstraints_ = value;
19311 onChanged();
19312 return this;
19313 }
19327 bitField3_ = (bitField3_ & ~0x00001000);
19328 minOrthogonalityForLpConstraints_ = 0.05D;
19329 onChanged();
19330 return this;
19331 }
19332
19333 private int maxCutRoundsAtLevelZero_ = 1;
19342 @java.lang.Override
19344 return ((bitField3_ & 0x00002000) != 0);
19345 }
19354 @java.lang.Override
19356 return maxCutRoundsAtLevelZero_;
19357 }
19368 bitField3_ |= 0x00002000;
19369 maxCutRoundsAtLevelZero_ = value;
19370 onChanged();
19371 return this;
19372 }
19382 bitField3_ = (bitField3_ & ~0x00002000);
19383 maxCutRoundsAtLevelZero_ = 1;
19384 onChanged();
19385 return this;
19386 }
19387
19388 private int maxConsecutiveInactiveCount_ = 100;
19399 @java.lang.Override
19401 return ((bitField3_ & 0x00004000) != 0);
19402 }
19413 @java.lang.Override
19415 return maxConsecutiveInactiveCount_;
19416 }
19429 bitField3_ |= 0x00004000;
19430 maxConsecutiveInactiveCount_ = value;
19431 onChanged();
19432 return this;
19433 }
19445 bitField3_ = (bitField3_ & ~0x00004000);
19446 maxConsecutiveInactiveCount_ = 100;
19447 onChanged();
19448 return this;
19449 }
19450
19451 private double cutMaxActiveCountValue_ = 10000000000D;
19462 @java.lang.Override
19463 public boolean hasCutMaxActiveCountValue() {
19464 return ((bitField3_ & 0x00008000) != 0);
19465 }
19476 @java.lang.Override
19478 return cutMaxActiveCountValue_;
19479 }
19491 public Builder setCutMaxActiveCountValue(double value) {
19492 bitField3_ |= 0x00008000;
19493 cutMaxActiveCountValue_ = value;
19494 onChanged();
19495 return this;
19496 }
19508 bitField3_ = (bitField3_ & ~0x00008000);
19509 cutMaxActiveCountValue_ = 10000000000D;
19510 onChanged();
19511 return this;
19512 }
19513
19514 private double cutActiveCountDecay_ = 0.8D;
19519 @java.lang.Override
19520 public boolean hasCutActiveCountDecay() {
19521 return ((bitField3_ & 0x00010000) != 0);
19522 }
19527 @java.lang.Override
19528 public double getCutActiveCountDecay() {
19529 return cutActiveCountDecay_;
19530 }
19536 public Builder setCutActiveCountDecay(double value) {
19537 bitField3_ |= 0x00010000;
19538 cutActiveCountDecay_ = value;
19539 onChanged();
19540 return this;
19541 }
19547 bitField3_ = (bitField3_ & ~0x00010000);
19548 cutActiveCountDecay_ = 0.8D;
19549 onChanged();
19550 return this;
19551 }
19552
19553 private int cutCleanupTarget_ = 1000;
19562 @java.lang.Override
19563 public boolean hasCutCleanupTarget() {
19564 return ((bitField3_ & 0x00020000) != 0);
19565 }
19574 @java.lang.Override
19575 public int getCutCleanupTarget() {
19576 return cutCleanupTarget_;
19577 }
19587 public Builder setCutCleanupTarget(int value) {
19588 bitField3_ |= 0x00020000;
19589 cutCleanupTarget_ = value;
19590 onChanged();
19591 return this;
19592 }
19602 bitField3_ = (bitField3_ & ~0x00020000);
19603 cutCleanupTarget_ = 1000;
19604 onChanged();
19605 return this;
19606 }
19607
19608 private int newConstraintsBatchSize_ = 50;
19618 @java.lang.Override
19620 return ((bitField3_ & 0x00040000) != 0);
19621 }
19631 @java.lang.Override
19633 return newConstraintsBatchSize_;
19634 }
19646 bitField3_ |= 0x00040000;
19647 newConstraintsBatchSize_ = value;
19648 onChanged();
19649 return this;
19650 }
19661 bitField3_ = (bitField3_ & ~0x00040000);
19662 newConstraintsBatchSize_ = 50;
19663 onChanged();
19664 return this;
19665 }
19666
19667 private int searchBranching_ = 0;
19672 @java.lang.Override public boolean hasSearchBranching() {
19673 return ((bitField3_ & 0x00080000) != 0);
19674 }
19679 @java.lang.Override
19680 public com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching() {
19681 @SuppressWarnings("deprecation")
19682 com.google.ortools.sat.SatParameters.SearchBranching result = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(searchBranching_);
19683 return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
19684 }
19690 public Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value) {
19691 if (value == null) {
19692 throw new NullPointerException();
19693 }
19694 bitField3_ |= 0x00080000;
19695 searchBranching_ = value.getNumber();
19696 onChanged();
19697 return this;
19698 }
19704 bitField3_ = (bitField3_ & ~0x00080000);
19705 searchBranching_ = 0;
19706 onChanged();
19707 return this;
19708 }
19709
19710 private int hintConflictLimit_ = 10;
19719 @java.lang.Override
19720 public boolean hasHintConflictLimit() {
19721 return ((bitField3_ & 0x00100000) != 0);
19722 }
19731 @java.lang.Override
19733 return hintConflictLimit_;
19734 }
19744 public Builder setHintConflictLimit(int value) {
19745 bitField3_ |= 0x00100000;
19746 hintConflictLimit_ = value;
19747 onChanged();
19748 return this;
19749 }
19759 bitField3_ = (bitField3_ & ~0x00100000);
19760 hintConflictLimit_ = 10;
19761 onChanged();
19762 return this;
19763 }
19764
19765 private boolean repairHint_ ;
19777 @java.lang.Override
19778 public boolean hasRepairHint() {
19779 return ((bitField3_ & 0x00200000) != 0);
19780 }
19792 @java.lang.Override
19793 public boolean getRepairHint() {
19794 return repairHint_;
19795 }
19808 public Builder setRepairHint(boolean value) {
19809 bitField3_ |= 0x00200000;
19810 repairHint_ = value;
19811 onChanged();
19812 return this;
19813 }
19826 bitField3_ = (bitField3_ & ~0x00200000);
19827 repairHint_ = false;
19828 onChanged();
19829 return this;
19830 }
19831
19832 private boolean fixVariablesToTheirHintedValue_ ;
19842 @java.lang.Override
19844 return ((bitField3_ & 0x00400000) != 0);
19845 }
19855 @java.lang.Override
19857 return fixVariablesToTheirHintedValue_;
19858 }
19870 bitField3_ |= 0x00400000;
19871 fixVariablesToTheirHintedValue_ = value;
19872 onChanged();
19873 return this;
19874 }
19885 bitField3_ = (bitField3_ & ~0x00400000);
19886 fixVariablesToTheirHintedValue_ = false;
19887 onChanged();
19888 return this;
19889 }
19890
19891 private boolean exploitIntegerLpSolution_ = true;
19903 @java.lang.Override
19905 return ((bitField3_ & 0x00800000) != 0);
19906 }
19918 @java.lang.Override
19920 return exploitIntegerLpSolution_;
19921 }
19934 public Builder setExploitIntegerLpSolution(boolean value) {
19935 bitField3_ |= 0x00800000;
19936 exploitIntegerLpSolution_ = value;
19937 onChanged();
19938 return this;
19939 }
19952 bitField3_ = (bitField3_ & ~0x00800000);
19953 exploitIntegerLpSolution_ = true;
19954 onChanged();
19955 return this;
19956 }
19957
19958 private boolean exploitAllLpSolution_ = true;
19969 @java.lang.Override
19970 public boolean hasExploitAllLpSolution() {
19971 return ((bitField3_ & 0x01000000) != 0);
19972 }
19983 @java.lang.Override
19984 public boolean getExploitAllLpSolution() {
19985 return exploitAllLpSolution_;
19986 }
19998 public Builder setExploitAllLpSolution(boolean value) {
19999 bitField3_ |= 0x01000000;
20000 exploitAllLpSolution_ = value;
20001 onChanged();
20002 return this;
20003 }
20015 bitField3_ = (bitField3_ & ~0x01000000);
20016 exploitAllLpSolution_ = true;
20017 onChanged();
20018 return this;
20019 }
20020
20021 private boolean exploitBestSolution_ ;
20030 @java.lang.Override
20031 public boolean hasExploitBestSolution() {
20032 return ((bitField3_ & 0x02000000) != 0);
20033 }
20042 @java.lang.Override
20043 public boolean getExploitBestSolution() {
20044 return exploitBestSolution_;
20045 }
20055 public Builder setExploitBestSolution(boolean value) {
20056 bitField3_ |= 0x02000000;
20057 exploitBestSolution_ = value;
20058 onChanged();
20059 return this;
20060 }
20070 bitField3_ = (bitField3_ & ~0x02000000);
20071 exploitBestSolution_ = false;
20072 onChanged();
20073 return this;
20074 }
20075
20076 private boolean exploitRelaxationSolution_ ;
20087 @java.lang.Override
20089 return ((bitField3_ & 0x04000000) != 0);
20090 }
20101 @java.lang.Override
20103 return exploitRelaxationSolution_;
20104 }
20117 bitField3_ |= 0x04000000;
20118 exploitRelaxationSolution_ = value;
20119 onChanged();
20120 return this;
20121 }
20133 bitField3_ = (bitField3_ & ~0x04000000);
20134 exploitRelaxationSolution_ = false;
20135 onChanged();
20136 return this;
20137 }
20138
20139 private boolean exploitObjective_ = true;
20149 @java.lang.Override
20150 public boolean hasExploitObjective() {
20151 return ((bitField3_ & 0x08000000) != 0);
20152 }
20162 @java.lang.Override
20163 public boolean getExploitObjective() {
20164 return exploitObjective_;
20165 }
20176 public Builder setExploitObjective(boolean value) {
20177 bitField3_ |= 0x08000000;
20178 exploitObjective_ = value;
20179 onChanged();
20180 return this;
20181 }
20192 bitField3_ = (bitField3_ & ~0x08000000);
20193 exploitObjective_ = true;
20194 onChanged();
20195 return this;
20196 }
20197
20198 private long probingPeriodAtRoot_ ;
20209 @java.lang.Override
20210 public boolean hasProbingPeriodAtRoot() {
20211 return ((bitField3_ & 0x10000000) != 0);
20212 }
20223 @java.lang.Override
20225 return probingPeriodAtRoot_;
20226 }
20238 public Builder setProbingPeriodAtRoot(long value) {
20239 bitField3_ |= 0x10000000;
20240 probingPeriodAtRoot_ = value;
20241 onChanged();
20242 return this;
20243 }
20255 bitField3_ = (bitField3_ & ~0x10000000);
20256 probingPeriodAtRoot_ = 0L;
20257 onChanged();
20258 return this;
20259 }
20260
20261 private boolean useProbingSearch_ ;
20271 @java.lang.Override
20272 public boolean hasUseProbingSearch() {
20273 return ((bitField3_ & 0x20000000) != 0);
20274 }
20284 @java.lang.Override
20285 public boolean getUseProbingSearch() {
20286 return useProbingSearch_;
20287 }
20298 public Builder setUseProbingSearch(boolean value) {
20299 bitField3_ |= 0x20000000;
20300 useProbingSearch_ = value;
20301 onChanged();
20302 return this;
20303 }
20314 bitField3_ = (bitField3_ & ~0x20000000);
20315 useProbingSearch_ = false;
20316 onChanged();
20317 return this;
20318 }
20319
20320 private long pseudoCostReliabilityThreshold_ = 100L;
20330 @java.lang.Override
20332 return ((bitField3_ & 0x40000000) != 0);
20333 }
20343 @java.lang.Override
20345 return pseudoCostReliabilityThreshold_;
20346 }
20358 bitField3_ |= 0x40000000;
20359 pseudoCostReliabilityThreshold_ = value;
20360 onChanged();
20361 return this;
20362 }
20373 bitField3_ = (bitField3_ & ~0x40000000);
20374 pseudoCostReliabilityThreshold_ = 100L;
20375 onChanged();
20376 return this;
20377 }
20378
20379 private boolean optimizeWithCore_ ;
20391 @java.lang.Override
20392 public boolean hasOptimizeWithCore() {
20393 return ((bitField3_ & 0x80000000) != 0);
20394 }
20406 @java.lang.Override
20407 public boolean getOptimizeWithCore() {
20408 return optimizeWithCore_;
20409 }
20422 public Builder setOptimizeWithCore(boolean value) {
20423 bitField3_ |= 0x80000000;
20424 optimizeWithCore_ = value;
20425 onChanged();
20426 return this;
20427 }
20440 bitField3_ = (bitField3_ & ~0x80000000);
20441 optimizeWithCore_ = false;
20442 onChanged();
20443 return this;
20444 }
20445
20446 private boolean optimizeWithLbTreeSearch_ ;
20459 @java.lang.Override
20461 return ((bitField4_ & 0x00000001) != 0);
20462 }
20475 @java.lang.Override
20477 return optimizeWithLbTreeSearch_;
20478 }
20492 public Builder setOptimizeWithLbTreeSearch(boolean value) {
20493 bitField4_ |= 0x00000001;
20494 optimizeWithLbTreeSearch_ = value;
20495 onChanged();
20496 return this;
20497 }
20511 bitField4_ = (bitField4_ & ~0x00000001);
20512 optimizeWithLbTreeSearch_ = false;
20513 onChanged();
20514 return this;
20515 }
20516
20517 private int binarySearchNumConflicts_ = -1;
20529 @java.lang.Override
20531 return ((bitField4_ & 0x00000002) != 0);
20532 }
20544 @java.lang.Override
20546 return binarySearchNumConflicts_;
20547 }
20561 bitField4_ |= 0x00000002;
20562 binarySearchNumConflicts_ = value;
20563 onChanged();
20564 return this;
20565 }
20578 bitField4_ = (bitField4_ & ~0x00000002);
20579 binarySearchNumConflicts_ = -1;
20580 onChanged();
20581 return this;
20582 }
20583
20584 private boolean optimizeWithMaxHs_ ;
20598 @java.lang.Override
20599 public boolean hasOptimizeWithMaxHs() {
20600 return ((bitField4_ & 0x00000004) != 0);
20601 }
20615 @java.lang.Override
20616 public boolean getOptimizeWithMaxHs() {
20617 return optimizeWithMaxHs_;
20618 }
20633 public Builder setOptimizeWithMaxHs(boolean value) {
20634 bitField4_ |= 0x00000004;
20635 optimizeWithMaxHs_ = value;
20636 onChanged();
20637 return this;
20638 }
20653 bitField4_ = (bitField4_ & ~0x00000004);
20654 optimizeWithMaxHs_ = false;
20655 onChanged();
20656 return this;
20657 }
20658
20659 private boolean enumerateAllSolutions_ ;
20673 @java.lang.Override
20674 public boolean hasEnumerateAllSolutions() {
20675 return ((bitField4_ & 0x00000008) != 0);
20676 }
20690 @java.lang.Override
20691 public boolean getEnumerateAllSolutions() {
20692 return enumerateAllSolutions_;
20693 }
20708 public Builder setEnumerateAllSolutions(boolean value) {
20709 bitField4_ |= 0x00000008;
20710 enumerateAllSolutions_ = value;
20711 onChanged();
20712 return this;
20713 }
20728 bitField4_ = (bitField4_ & ~0x00000008);
20729 enumerateAllSolutions_ = false;
20730 onChanged();
20731 return this;
20732 }
20733
20734 private boolean keepAllFeasibleSolutionsInPresolve_ ;
20749 @java.lang.Override
20751 return ((bitField4_ & 0x00000010) != 0);
20752 }
20767 @java.lang.Override
20769 return keepAllFeasibleSolutionsInPresolve_;
20770 }
20787 bitField4_ |= 0x00000010;
20788 keepAllFeasibleSolutionsInPresolve_ = value;
20789 onChanged();
20790 return this;
20791 }
20807 bitField4_ = (bitField4_ & ~0x00000010);
20808 keepAllFeasibleSolutionsInPresolve_ = false;
20809 onChanged();
20810 return this;
20811 }
20812
20813 private boolean fillTightenedDomainsInResponse_ ;
20826 @java.lang.Override
20828 return ((bitField4_ & 0x00000020) != 0);
20829 }
20842 @java.lang.Override
20844 return fillTightenedDomainsInResponse_;
20845 }
20860 bitField4_ |= 0x00000020;
20861 fillTightenedDomainsInResponse_ = value;
20862 onChanged();
20863 return this;
20864 }
20878 bitField4_ = (bitField4_ & ~0x00000020);
20879 fillTightenedDomainsInResponse_ = false;
20880 onChanged();
20881 return this;
20882 }
20883
20884 private boolean instantiateAllVariables_ = true;
20896 @java.lang.Override
20898 return ((bitField4_ & 0x00000040) != 0);
20899 }
20911 @java.lang.Override
20913 return instantiateAllVariables_;
20914 }
20927 public Builder setInstantiateAllVariables(boolean value) {
20928 bitField4_ |= 0x00000040;
20929 instantiateAllVariables_ = value;
20930 onChanged();
20931 return this;
20932 }
20945 bitField4_ = (bitField4_ & ~0x00000040);
20946 instantiateAllVariables_ = true;
20947 onChanged();
20948 return this;
20949 }
20950
20951 private boolean autoDetectGreaterThanAtLeastOneOf_ = true;
20963 @java.lang.Override
20965 return ((bitField4_ & 0x00000080) != 0);
20966 }
20978 @java.lang.Override
20980 return autoDetectGreaterThanAtLeastOneOf_;
20981 }
20995 bitField4_ |= 0x00000080;
20996 autoDetectGreaterThanAtLeastOneOf_ = value;
20997 onChanged();
20998 return this;
20999 }
21012 bitField4_ = (bitField4_ & ~0x00000080);
21013 autoDetectGreaterThanAtLeastOneOf_ = true;
21014 onChanged();
21015 return this;
21016 }
21017
21018 private boolean stopAfterFirstSolution_ ;
21027 @java.lang.Override
21028 public boolean hasStopAfterFirstSolution() {
21029 return ((bitField4_ & 0x00000100) != 0);
21030 }
21039 @java.lang.Override
21040 public boolean getStopAfterFirstSolution() {
21041 return stopAfterFirstSolution_;
21042 }
21052 public Builder setStopAfterFirstSolution(boolean value) {
21053 bitField4_ |= 0x00000100;
21054 stopAfterFirstSolution_ = value;
21055 onChanged();
21056 return this;
21057 }
21067 bitField4_ = (bitField4_ & ~0x00000100);
21068 stopAfterFirstSolution_ = false;
21069 onChanged();
21070 return this;
21071 }
21072
21073 private boolean stopAfterPresolve_ ;
21083 @java.lang.Override
21084 public boolean hasStopAfterPresolve() {
21085 return ((bitField4_ & 0x00000200) != 0);
21086 }
21096 @java.lang.Override
21097 public boolean getStopAfterPresolve() {
21098 return stopAfterPresolve_;
21099 }
21110 public Builder setStopAfterPresolve(boolean value) {
21111 bitField4_ |= 0x00000200;
21112 stopAfterPresolve_ = value;
21113 onChanged();
21114 return this;
21115 }
21126 bitField4_ = (bitField4_ & ~0x00000200);
21127 stopAfterPresolve_ = false;
21128 onChanged();
21129 return this;
21130 }
21131
21132 private int numSearchWorkers_ ;
21147 @java.lang.Override
21148 public boolean hasNumSearchWorkers() {
21149 return ((bitField4_ & 0x00000400) != 0);
21150 }
21165 @java.lang.Override
21166 public int getNumSearchWorkers() {
21167 return numSearchWorkers_;
21168 }
21184 public Builder setNumSearchWorkers(int value) {
21185 bitField4_ |= 0x00000400;
21186 numSearchWorkers_ = value;
21187 onChanged();
21188 return this;
21189 }
21205 bitField4_ = (bitField4_ & ~0x00000400);
21206 numSearchWorkers_ = 0;
21207 onChanged();
21208 return this;
21209 }
21210
21211 private boolean interleaveSearch_ ;
21224 @java.lang.Override
21225 public boolean hasInterleaveSearch() {
21226 return ((bitField4_ & 0x00000800) != 0);
21227 }
21240 @java.lang.Override
21241 public boolean getInterleaveSearch() {
21242 return interleaveSearch_;
21243 }
21257 public Builder setInterleaveSearch(boolean value) {
21258 bitField4_ |= 0x00000800;
21259 interleaveSearch_ = value;
21260 onChanged();
21261 return this;
21262 }
21276 bitField4_ = (bitField4_ & ~0x00000800);
21277 interleaveSearch_ = false;
21278 onChanged();
21279 return this;
21280 }
21281
21282 private int interleaveBatchSize_ = 1;
21287 @java.lang.Override
21288 public boolean hasInterleaveBatchSize() {
21289 return ((bitField4_ & 0x00001000) != 0);
21290 }
21295 @java.lang.Override
21297 return interleaveBatchSize_;
21298 }
21305 bitField4_ |= 0x00001000;
21306 interleaveBatchSize_ = value;
21307 onChanged();
21308 return this;
21309 }
21315 bitField4_ = (bitField4_ & ~0x00001000);
21316 interleaveBatchSize_ = 1;
21317 onChanged();
21318 return this;
21319 }
21320
21321 private boolean reduceMemoryUsageInInterleaveMode_ ;
21330 @java.lang.Override
21332 return ((bitField4_ & 0x00002000) != 0);
21333 }
21342 @java.lang.Override
21344 return reduceMemoryUsageInInterleaveMode_;
21345 }
21356 bitField4_ |= 0x00002000;
21357 reduceMemoryUsageInInterleaveMode_ = value;
21358 onChanged();
21359 return this;
21360 }
21370 bitField4_ = (bitField4_ & ~0x00002000);
21371 reduceMemoryUsageInInterleaveMode_ = false;
21372 onChanged();
21373 return this;
21374 }
21375
21376 private boolean shareObjectiveBounds_ = true;
21385 @java.lang.Override
21386 public boolean hasShareObjectiveBounds() {
21387 return ((bitField4_ & 0x00004000) != 0);
21388 }
21397 @java.lang.Override
21398 public boolean getShareObjectiveBounds() {
21399 return shareObjectiveBounds_;
21400 }
21410 public Builder setShareObjectiveBounds(boolean value) {
21411 bitField4_ |= 0x00004000;
21412 shareObjectiveBounds_ = value;
21413 onChanged();
21414 return this;
21415 }
21425 bitField4_ = (bitField4_ & ~0x00004000);
21426 shareObjectiveBounds_ = true;
21427 onChanged();
21428 return this;
21429 }
21430
21431 private boolean shareLevelZeroBounds_ = true;
21440 @java.lang.Override
21441 public boolean hasShareLevelZeroBounds() {
21442 return ((bitField4_ & 0x00008000) != 0);
21443 }
21452 @java.lang.Override
21453 public boolean getShareLevelZeroBounds() {
21454 return shareLevelZeroBounds_;
21455 }
21465 public Builder setShareLevelZeroBounds(boolean value) {
21466 bitField4_ |= 0x00008000;
21467 shareLevelZeroBounds_ = value;
21468 onChanged();
21469 return this;
21470 }
21480 bitField4_ = (bitField4_ & ~0x00008000);
21481 shareLevelZeroBounds_ = true;
21482 onChanged();
21483 return this;
21484 }
21485
21486 private boolean useLnsOnly_ ;
21495 @java.lang.Override
21496 public boolean hasUseLnsOnly() {
21497 return ((bitField4_ & 0x00010000) != 0);
21498 }
21507 @java.lang.Override
21508 public boolean getUseLnsOnly() {
21509 return useLnsOnly_;
21510 }
21520 public Builder setUseLnsOnly(boolean value) {
21521 bitField4_ |= 0x00010000;
21522 useLnsOnly_ = value;
21523 onChanged();
21524 return this;
21525 }
21535 bitField4_ = (bitField4_ & ~0x00010000);
21536 useLnsOnly_ = false;
21537 onChanged();
21538 return this;
21539 }
21540
21541 private boolean lnsFocusOnDecisionVariables_ ;
21546 @java.lang.Override
21548 return ((bitField4_ & 0x00020000) != 0);
21549 }
21554 @java.lang.Override
21556 return lnsFocusOnDecisionVariables_;
21557 }
21564 bitField4_ |= 0x00020000;
21565 lnsFocusOnDecisionVariables_ = value;
21566 onChanged();
21567 return this;
21568 }
21574 bitField4_ = (bitField4_ & ~0x00020000);
21575 lnsFocusOnDecisionVariables_ = false;
21576 onChanged();
21577 return this;
21578 }
21579
21580 private boolean lnsExpandIntervalsInConstraintGraph_ = true;
21585 @java.lang.Override
21587 return ((bitField4_ & 0x00040000) != 0);
21588 }
21593 @java.lang.Override
21595 return lnsExpandIntervalsInConstraintGraph_;
21596 }
21603 bitField4_ |= 0x00040000;
21604 lnsExpandIntervalsInConstraintGraph_ = value;
21605 onChanged();
21606 return this;
21607 }
21613 bitField4_ = (bitField4_ & ~0x00040000);
21614 lnsExpandIntervalsInConstraintGraph_ = true;
21615 onChanged();
21616 return this;
21617 }
21618
21619 private int solutionPoolSize_ = 3;
21629 @java.lang.Override
21630 public boolean hasSolutionPoolSize() {
21631 return ((bitField4_ & 0x00080000) != 0);
21632 }
21642 @java.lang.Override
21643 public int getSolutionPoolSize() {
21644 return solutionPoolSize_;
21645 }
21656 public Builder setSolutionPoolSize(int value) {
21657 bitField4_ |= 0x00080000;
21658 solutionPoolSize_ = value;
21659 onChanged();
21660 return this;
21661 }
21672 bitField4_ = (bitField4_ & ~0x00080000);
21673 solutionPoolSize_ = 3;
21674 onChanged();
21675 return this;
21676 }
21677
21678 private boolean useRinsLns_ = true;
21687 @java.lang.Override
21688 public boolean hasUseRinsLns() {
21689 return ((bitField4_ & 0x00100000) != 0);
21690 }
21699 @java.lang.Override
21700 public boolean getUseRinsLns() {
21701 return useRinsLns_;
21702 }
21712 public Builder setUseRinsLns(boolean value) {
21713 bitField4_ |= 0x00100000;
21714 useRinsLns_ = value;
21715 onChanged();
21716 return this;
21717 }
21727 bitField4_ = (bitField4_ & ~0x00100000);
21728 useRinsLns_ = true;
21729 onChanged();
21730 return this;
21731 }
21732
21733 private boolean useFeasibilityPump_ = true;
21742 @java.lang.Override
21743 public boolean hasUseFeasibilityPump() {
21744 return ((bitField4_ & 0x00200000) != 0);
21745 }
21754 @java.lang.Override
21755 public boolean getUseFeasibilityPump() {
21756 return useFeasibilityPump_;
21757 }
21767 public Builder setUseFeasibilityPump(boolean value) {
21768 bitField4_ |= 0x00200000;
21769 useFeasibilityPump_ = value;
21770 onChanged();
21771 return this;
21772 }
21782 bitField4_ = (bitField4_ & ~0x00200000);
21783 useFeasibilityPump_ = true;
21784 onChanged();
21785 return this;
21786 }
21787
21788 private int fpRounding_ = 2;
21793 @java.lang.Override public boolean hasFpRounding() {
21794 return ((bitField4_ & 0x00400000) != 0);
21795 }
21800 @java.lang.Override
21801 public com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding() {
21802 @SuppressWarnings("deprecation")
21803 com.google.ortools.sat.SatParameters.FPRoundingMethod result = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(fpRounding_);
21804 return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
21805 }
21811 public Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value) {
21812 if (value == null) {
21813 throw new NullPointerException();
21814 }
21815 bitField4_ |= 0x00400000;
21816 fpRounding_ = value.getNumber();
21817 onChanged();
21818 return this;
21819 }
21825 bitField4_ = (bitField4_ & ~0x00400000);
21826 fpRounding_ = 2;
21827 onChanged();
21828 return this;
21829 }
21830
21831 private boolean useRelaxationLns_ ;
21841 @java.lang.Override
21842 public boolean hasUseRelaxationLns() {
21843 return ((bitField4_ & 0x00800000) != 0);
21844 }
21854 @java.lang.Override
21855 public boolean getUseRelaxationLns() {
21856 return useRelaxationLns_;
21857 }
21868 public Builder setUseRelaxationLns(boolean value) {
21869 bitField4_ |= 0x00800000;
21870 useRelaxationLns_ = value;
21871 onChanged();
21872 return this;
21873 }
21884 bitField4_ = (bitField4_ & ~0x00800000);
21885 useRelaxationLns_ = false;
21886 onChanged();
21887 return this;
21888 }
21889
21890 private boolean diversifyLnsParams_ ;
21899 @java.lang.Override
21900 public boolean hasDiversifyLnsParams() {
21901 return ((bitField4_ & 0x01000000) != 0);
21902 }
21911 @java.lang.Override
21912 public boolean getDiversifyLnsParams() {
21913 return diversifyLnsParams_;
21914 }
21924 public Builder setDiversifyLnsParams(boolean value) {
21925 bitField4_ |= 0x01000000;
21926 diversifyLnsParams_ = value;
21927 onChanged();
21928 return this;
21929 }
21939 bitField4_ = (bitField4_ & ~0x01000000);
21940 diversifyLnsParams_ = false;
21941 onChanged();
21942 return this;
21943 }
21944
21945 private boolean randomizeSearch_ ;
21954 @java.lang.Override
21955 public boolean hasRandomizeSearch() {
21956 return ((bitField4_ & 0x02000000) != 0);
21957 }
21966 @java.lang.Override
21967 public boolean getRandomizeSearch() {
21968 return randomizeSearch_;
21969 }
21979 public Builder setRandomizeSearch(boolean value) {
21980 bitField4_ |= 0x02000000;
21981 randomizeSearch_ = value;
21982 onChanged();
21983 return this;
21984 }
21994 bitField4_ = (bitField4_ & ~0x02000000);
21995 randomizeSearch_ = false;
21996 onChanged();
21997 return this;
21998 }
21999
22000 private long searchRandomizationTolerance_ ;
22015 @java.lang.Override
22017 return ((bitField4_ & 0x04000000) != 0);
22018 }
22033 @java.lang.Override
22035 return searchRandomizationTolerance_;
22036 }
22053 bitField4_ |= 0x04000000;
22054 searchRandomizationTolerance_ = value;
22055 onChanged();
22056 return this;
22057 }
22073 bitField4_ = (bitField4_ & ~0x04000000);
22074 searchRandomizationTolerance_ = 0L;
22075 onChanged();
22076 return this;
22077 }
22078
22079 private boolean useOptionalVariables_ = true;
22090 @java.lang.Override
22091 public boolean hasUseOptionalVariables() {
22092 return ((bitField4_ & 0x08000000) != 0);
22093 }
22104 @java.lang.Override
22105 public boolean getUseOptionalVariables() {
22106 return useOptionalVariables_;
22107 }
22119 public Builder setUseOptionalVariables(boolean value) {
22120 bitField4_ |= 0x08000000;
22121 useOptionalVariables_ = value;
22122 onChanged();
22123 return this;
22124 }
22136 bitField4_ = (bitField4_ & ~0x08000000);
22137 useOptionalVariables_ = true;
22138 onChanged();
22139 return this;
22140 }
22141
22142 private boolean useExactLpReason_ = true;
22154 @java.lang.Override
22155 public boolean hasUseExactLpReason() {
22156 return ((bitField4_ & 0x10000000) != 0);
22157 }
22169 @java.lang.Override
22170 public boolean getUseExactLpReason() {
22171 return useExactLpReason_;
22172 }
22185 public Builder setUseExactLpReason(boolean value) {
22186 bitField4_ |= 0x10000000;
22187 useExactLpReason_ = value;
22188 onChanged();
22189 return this;
22190 }
22203 bitField4_ = (bitField4_ & ~0x10000000);
22204 useExactLpReason_ = true;
22205 onChanged();
22206 return this;
22207 }
22208
22209 private boolean useBranchingInLp_ ;
22220 @java.lang.Override
22221 public boolean hasUseBranchingInLp() {
22222 return ((bitField4_ & 0x20000000) != 0);
22223 }
22234 @java.lang.Override
22235 public boolean getUseBranchingInLp() {
22236 return useBranchingInLp_;
22237 }
22249 public Builder setUseBranchingInLp(boolean value) {
22250 bitField4_ |= 0x20000000;
22251 useBranchingInLp_ = value;
22252 onChanged();
22253 return this;
22254 }
22266 bitField4_ = (bitField4_ & ~0x20000000);
22267 useBranchingInLp_ = false;
22268 onChanged();
22269 return this;
22270 }
22271
22272 private boolean useCombinedNoOverlap_ ;
22283 @java.lang.Override
22284 public boolean hasUseCombinedNoOverlap() {
22285 return ((bitField4_ & 0x40000000) != 0);
22286 }
22297 @java.lang.Override
22298 public boolean getUseCombinedNoOverlap() {
22299 return useCombinedNoOverlap_;
22300 }
22312 public Builder setUseCombinedNoOverlap(boolean value) {
22313 bitField4_ |= 0x40000000;
22314 useCombinedNoOverlap_ = value;
22315 onChanged();
22316 return this;
22317 }
22329 bitField4_ = (bitField4_ & ~0x40000000);
22330 useCombinedNoOverlap_ = false;
22331 onChanged();
22332 return this;
22333 }
22334
22335 private boolean catchSigintSignal_ = true;
22346 @java.lang.Override
22347 public boolean hasCatchSigintSignal() {
22348 return ((bitField4_ & 0x80000000) != 0);
22349 }
22360 @java.lang.Override
22361 public boolean getCatchSigintSignal() {
22362 return catchSigintSignal_;
22363 }
22375 public Builder setCatchSigintSignal(boolean value) {
22376 bitField4_ |= 0x80000000;
22377 catchSigintSignal_ = value;
22378 onChanged();
22379 return this;
22380 }
22392 bitField4_ = (bitField4_ & ~0x80000000);
22393 catchSigintSignal_ = true;
22394 onChanged();
22395 return this;
22396 }
22397
22398 private boolean useImpliedBounds_ = true;
22409 @java.lang.Override
22410 public boolean hasUseImpliedBounds() {
22411 return ((bitField5_ & 0x00000001) != 0);
22412 }
22423 @java.lang.Override
22424 public boolean getUseImpliedBounds() {
22425 return useImpliedBounds_;
22426 }
22438 public Builder setUseImpliedBounds(boolean value) {
22439 bitField5_ |= 0x00000001;
22440 useImpliedBounds_ = value;
22441 onChanged();
22442 return this;
22443 }
22455 bitField5_ = (bitField5_ & ~0x00000001);
22456 useImpliedBounds_ = true;
22457 onChanged();
22458 return this;
22459 }
22460
22461 private boolean polishLpSolution_ ;
22473 @java.lang.Override
22474 public boolean hasPolishLpSolution() {
22475 return ((bitField5_ & 0x00000002) != 0);
22476 }
22488 @java.lang.Override
22489 public boolean getPolishLpSolution() {
22490 return polishLpSolution_;
22491 }
22504 public Builder setPolishLpSolution(boolean value) {
22505 bitField5_ |= 0x00000002;
22506 polishLpSolution_ = value;
22507 onChanged();
22508 return this;
22509 }
22522 bitField5_ = (bitField5_ & ~0x00000002);
22523 polishLpSolution_ = false;
22524 onChanged();
22525 return this;
22526 }
22527
22528 private boolean convertIntervals_ = true;
22539 @java.lang.Override
22540 public boolean hasConvertIntervals() {
22541 return ((bitField5_ & 0x00000004) != 0);
22542 }
22553 @java.lang.Override
22554 public boolean getConvertIntervals() {
22555 return convertIntervals_;
22556 }
22568 public Builder setConvertIntervals(boolean value) {
22569 bitField5_ |= 0x00000004;
22570 convertIntervals_ = value;
22571 onChanged();
22572 return this;
22573 }
22585 bitField5_ = (bitField5_ & ~0x00000004);
22586 convertIntervals_ = true;
22587 onChanged();
22588 return this;
22589 }
22590
22591 private int symmetryLevel_ = 2;
22603 @java.lang.Override
22604 public boolean hasSymmetryLevel() {
22605 return ((bitField5_ & 0x00000008) != 0);
22606 }
22618 @java.lang.Override
22619 public int getSymmetryLevel() {
22620 return symmetryLevel_;
22621 }
22634 public Builder setSymmetryLevel(int value) {
22635 bitField5_ |= 0x00000008;
22636 symmetryLevel_ = value;
22637 onChanged();
22638 return this;
22639 }
22652 bitField5_ = (bitField5_ & ~0x00000008);
22653 symmetryLevel_ = 2;
22654 onChanged();
22655 return this;
22656 }
22657
22658 private double mipMaxBound_ = 10000000D;
22669 @java.lang.Override
22670 public boolean hasMipMaxBound() {
22671 return ((bitField5_ & 0x00000010) != 0);
22672 }
22683 @java.lang.Override
22684 public double getMipMaxBound() {
22685 return mipMaxBound_;
22686 }
22698 public Builder setMipMaxBound(double value) {
22699 bitField5_ |= 0x00000010;
22700 mipMaxBound_ = value;
22701 onChanged();
22702 return this;
22703 }
22715 bitField5_ = (bitField5_ & ~0x00000010);
22716 mipMaxBound_ = 10000000D;
22717 onChanged();
22718 return this;
22719 }
22720
22721 private double mipVarScaling_ = 1D;
22732 @java.lang.Override
22733 public boolean hasMipVarScaling() {
22734 return ((bitField5_ & 0x00000020) != 0);
22735 }
22746 @java.lang.Override
22747 public double getMipVarScaling() {
22748 return mipVarScaling_;
22749 }
22761 public Builder setMipVarScaling(double value) {
22762 bitField5_ |= 0x00000020;
22763 mipVarScaling_ = value;
22764 onChanged();
22765 return this;
22766 }
22778 bitField5_ = (bitField5_ & ~0x00000020);
22779 mipVarScaling_ = 1D;
22780 onChanged();
22781 return this;
22782 }
22783
22784 private boolean mipAutomaticallyScaleVariables_ = true;
22797 @java.lang.Override
22799 return ((bitField5_ & 0x00000040) != 0);
22800 }
22813 @java.lang.Override
22815 return mipAutomaticallyScaleVariables_;
22816 }
22831 bitField5_ |= 0x00000040;
22832 mipAutomaticallyScaleVariables_ = value;
22833 onChanged();
22834 return this;
22835 }
22849 bitField5_ = (bitField5_ & ~0x00000040);
22850 mipAutomaticallyScaleVariables_ = true;
22851 onChanged();
22852 return this;
22853 }
22854
22855 private double mipWantedPrecision_ = 1e-06D;
22873 @java.lang.Override
22874 public boolean hasMipWantedPrecision() {
22875 return ((bitField5_ & 0x00000080) != 0);
22876 }
22894 @java.lang.Override
22895 public double getMipWantedPrecision() {
22896 return mipWantedPrecision_;
22897 }
22916 public Builder setMipWantedPrecision(double value) {
22917 bitField5_ |= 0x00000080;
22918 mipWantedPrecision_ = value;
22919 onChanged();
22920 return this;
22921 }
22940 bitField5_ = (bitField5_ & ~0x00000080);
22941 mipWantedPrecision_ = 1e-06D;
22942 onChanged();
22943 return this;
22944 }
22945
22946 private int mipMaxActivityExponent_ = 53;
22961 @java.lang.Override
22962 public boolean hasMipMaxActivityExponent() {
22963 return ((bitField5_ & 0x00000100) != 0);
22964 }
22979 @java.lang.Override
22981 return mipMaxActivityExponent_;
22982 }
22999 bitField5_ |= 0x00000100;
23000 mipMaxActivityExponent_ = value;
23001 onChanged();
23002 return this;
23003 }
23019 bitField5_ = (bitField5_ & ~0x00000100);
23020 mipMaxActivityExponent_ = 53;
23021 onChanged();
23022 return this;
23023 }
23024
23025 private double mipCheckPrecision_ = 0.0001D;
23036 @java.lang.Override
23037 public boolean hasMipCheckPrecision() {
23038 return ((bitField5_ & 0x00000200) != 0);
23039 }
23050 @java.lang.Override
23051 public double getMipCheckPrecision() {
23052 return mipCheckPrecision_;
23053 }
23065 public Builder setMipCheckPrecision(double value) {
23066 bitField5_ |= 0x00000200;
23067 mipCheckPrecision_ = value;
23068 onChanged();
23069 return this;
23070 }
23082 bitField5_ = (bitField5_ & ~0x00000200);
23083 mipCheckPrecision_ = 0.0001D;
23084 onChanged();
23085 return this;
23086 }
23087 @java.lang.Override
23089 final com.google.protobuf.UnknownFieldSet unknownFields) {
23090 return super.setUnknownFields(unknownFields);
23091 }
23092
23093 @java.lang.Override
23095 final com.google.protobuf.UnknownFieldSet unknownFields) {
23096 return super.mergeUnknownFields(unknownFields);
23097 }
23098
23099
23100 // @@protoc_insertion_point(builder_scope:operations_research.sat.SatParameters)
23101 }
23102
23103 // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
23104 private static final com.google.ortools.sat.SatParameters DEFAULT_INSTANCE;
23105 static {
23106 DEFAULT_INSTANCE = new com.google.ortools.sat.SatParameters();
23107 }
23108
23109 public static com.google.ortools.sat.SatParameters getDefaultInstance() {
23110 return DEFAULT_INSTANCE;
23111 }
23112
23113 @java.lang.Deprecated public static final com.google.protobuf.Parser<SatParameters>
23114 PARSER = new com.google.protobuf.AbstractParser<SatParameters>() {
23115 @java.lang.Override
23116 public SatParameters parsePartialFrom(
23117 com.google.protobuf.CodedInputStream input,
23118 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
23119 throws com.google.protobuf.InvalidProtocolBufferException {
23120 return new SatParameters(input, extensionRegistry);
23121 }
23122 };
23123
23124 public static com.google.protobuf.Parser<SatParameters> parser() {
23125 return PARSER;
23126 }
23127
23128 @java.lang.Override
23129 public com.google.protobuf.Parser<SatParameters> getParserForType() {
23130 return PARSER;
23131 }
23132
23133 @java.lang.Override
23134 public com.google.ortools.sat.SatParameters getDefaultInstanceForType() {
23135 return DEFAULT_INSTANCE;
23136 }
23137
23138}
23139
Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value)
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder setSubsumptionDuringConflictAnalysis(boolean value)
Builder setRelativeGapLimit(double value)
optional double relative_gap_limit = 160 [default = 0];
Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value)
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean getCountAssumptionLevelsInLbd()
Builder setRestartLbdAverageRatio(double value)
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
.lang.Override boolean hasExpandAlldiffConstraints()
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
Builder setBlockingRestartMultiplier(double value)
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder setLnsFocusOnDecisionVariables(boolean value)
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasExpandElementConstraints()
Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value)
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder addAllRestartAlgorithms(java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm > values)
.lang.Override com.google.ortools.sat.SatParameters buildPartial()
Builder clearPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
Builder setRestartAlgorithms(int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value)
.lang.Override boolean hasSearchRandomizationTolerance()
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasMaxConsecutiveInactiveCount()
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
.lang.Override boolean hasExpandAutomatonConstraints()
Builder clearUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean getMinimizeReductionDuringPbResolution()
.lang.Override double getStrategyChangeIncreaseRatio()
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean getDisableConstraintExpansion()
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override boolean hasFixVariablesToTheirHintedValue()
.lang.Override boolean hasOptimizeWithLbTreeSearch()
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
Builder setGlucoseDecayIncrement(double value)
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
Builder setUseTimetableEdgeFindingInCumulativeConstraint(boolean value)
Builder setLnsExpandIntervalsInConstraintGraph(boolean value)
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasMaxIntegerRoundingScaling()
Builder clearSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
Builder clearBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
Builder setName(java.lang.String value)
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
Builder clearLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
Builder setPermutePresolveConstraintOrder(boolean value)
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean getOptimizeWithLbTreeSearch()
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean getLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
Builder setMinimizeWithPropagationNumDecisions(int value)
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setMergeAtMostOneWorkLimit(double value)
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setNameBytes(com.google.protobuf.ByteString value)
.lang.Override boolean getExpandAlldiffConstraints()
Builder clearMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasExploitIntegerLpSolution()
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
com.google.protobuf.ByteString getLogPrefixBytes()
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
Builder setFixVariablesToTheirHintedValue(boolean value)
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasExploitRelaxationSolution()
Builder setAutoDetectGreaterThanAtLeastOneOf(boolean value)
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
Builder clearMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setInterleaveBatchSize(int value)
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasPolarityRephaseIncrement()
Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value)
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean hasBinarySearchNumConflicts()
.lang.Override boolean getExpandAutomatonConstraints()
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
Builder setPbCleanupRatio(double value)
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getExpandReservoirConstraints()
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder setUseSatInprocessing(boolean value)
optional bool use_sat_inprocessing = 163 [default = false];
Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value)
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder setBlockingRestartWindowSize(int value)
optional int32 blocking_restart_window_size = 65 [default = 5000];
com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder clearClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder clearLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder mergeFrom(com.google.ortools.sat.SatParameters other)
Builder setUseOverloadCheckerInCumulativeConstraint(boolean value)
.lang.Override boolean hasPseudoCostReliabilityThreshold()
java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasInitialVariablesActivity()
Builder clearMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override int getMaxDomainSizeWhenEncodingEqNeqConstraints()
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder setUseDisjunctiveConstraintInCumulativeConstraint(boolean value)
.lang.Override boolean getCpModelPostsolveWithFullSolver()
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getMipAutomaticallyScaleVariables()
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
.lang.Override boolean getExpandElementConstraints()
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
Builder clearMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasCountAssumptionLevelsInLbd()
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder clearFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder setGlucoseDecayIncrementPeriod(int value)
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override final boolean isInitialized()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
Builder clearGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder setMinimizeReductionDuringPbResolution(boolean value)
.lang.Override double getPresolveProbingDeterministicTimeLimit()
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
Builder setDefaultRestartAlgorithmsBytes(com.google.protobuf.ByteString value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder clearPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasDisableConstraintExpansion()
Builder clearMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder clearGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
Builder setUseAbslRandom(boolean value)
optional bool use_absl_random = 180 [default = false];
Builder setUsePrecedencesInDisjunctiveConstraint(boolean value)
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getPresolveExtractIntegerEnforcement()
Builder setMaxClauseActivityValue(double value)
optional double max_clause_activity_value = 18 [default = 1e+20];
Builder setFillTightenedDomainsInResponse(boolean value)
Builder clearClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder setPresolveProbingDeterministicTimeLimit(double value)
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
Builder clearRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override boolean hasPresolveSubstitutionLevel()
Builder clearBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
Builder clearDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder clearUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override double getMinOrthogonalityForLpConstraints()
.lang.Override boolean hasRestartRunningWindowSize()
.lang.Override boolean hasExpandReservoirConstraints()
.lang.Override boolean hasStrategyChangeIncreaseRatio()
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override boolean hasMaxDomainSizeWhenEncodingEqNeqConstraints()
.lang.Override boolean getFillTightenedDomainsInResponse()
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setKeepAllFeasibleSolutionsInPresolve(boolean value)
Builder clearInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder setLogPrefix(java.lang.String value)
Builder setCpModelPostsolveWithFullSolver(boolean value)
Builder clearPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setMaxVariableActivityValue(double value)
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
.lang.Override boolean getFixVariablesToTheirHintedValue()
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override com.google.ortools.sat.SatParameters build()
Builder clearMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value)
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value)
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value)
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder setDefaultRestartAlgorithms(java.lang.String value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value)
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value)
Builder setCutActiveCountDecay(double value)
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override int getMinimizeWithPropagationRestartPeriod()
boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder setLogPrefixBytes(com.google.protobuf.ByteString value)
Builder clearRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value)
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder setReduceMemoryUsageInInterleaveMode(boolean value)
com.google.protobuf.ByteString getNameBytes()
.lang.Override boolean getMaxSatReverseAssumptionOrder()
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder clearMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
Builder setMipAutomaticallyScaleVariables(boolean value)
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
Builder setAlsoBumpVariablesInConflictReasons(boolean value)
.lang.Override boolean hasMipAutomaticallyScaleVariables()
Builder setPresolveExtractIntegerEnforcement(boolean value)
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder clearBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER
static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER
static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER
.lang.Override int getNumConflictsBeforeStrategyChanges()
.lang.Override boolean hasExploitAllLpSolution()
.lang.Override boolean getCountAssumptionLevelsInLbd()
static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER
static final int CLAUSE_CLEANUP_RATIO_FIELD_NUMBER
.lang.Override boolean hasMipCheckPrecision()
static final int USE_TIMETABLE_EDGE_FINDING_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER
.lang.Override boolean hasRepairHint()
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override boolean getAddCliqueCuts()
static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasCatchSigintSignal()
static final int LNS_EXPAND_INTERVALS_IN_CONSTRAINT_GRAPH_FIELD_NUMBER
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
.lang.Override boolean hasUseProbingSearch()
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean hasRandomPolarityRatio()
static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER
static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER
.lang.Override boolean getPresolveUseBva()
static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER
.lang.Override boolean hasExpandAlldiffConstraints()
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER
.lang.Override boolean hasExpandElementConstraints()
static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasPresolveBveClauseWeight()
.lang.Override boolean hasPresolveBlockedClause()
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasSearchRandomizationTolerance()
.lang.Override boolean hasAddLpConstraintsLazily()
.lang.Override boolean hasMipVarScaling()
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasMaxConsecutiveInactiveCount()
.lang.Override boolean hasExpandAutomatonConstraints()
.lang.Override boolean hasMaxDeterministicTime()
.lang.Override boolean hasFindMultipleCores()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasUseCombinedNoOverlap()
.lang.Override boolean hasRandomSeed()
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean getMinimizeReductionDuringPbResolution()
.lang.Override int getCpModelProbingLevel()
.lang.Override double getRandomPolarityRatio()
.lang.Override double getStrategyChangeIncreaseRatio()
.lang.Override boolean hasClauseCleanupRatio()
.lang.Override boolean hasCoverOptimization()
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean getDisableConstraintExpansion()
.lang.Override boolean getUseRelaxationLns()
static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER
.lang.Override boolean hasUseLnsOnly()
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override boolean hasRestartPeriod()
.lang.Override boolean hasExploitObjective()
.lang.Override boolean hasPermuteVariableRandomly()
.lang.Override boolean hasFixVariablesToTheirHintedValue()
.lang.Override com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
.lang.Override boolean hasOptimizeWithLbTreeSearch()
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean hasInstantiateAllVariables()
static final int MINIMIZE_WITH_PROPAGATION_RESTART_PERIOD_FIELD_NUMBER
.lang.Override boolean hasUseFeasibilityPump()
static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER
.lang.Override int getMipMaxActivityExponent()
.lang.Override boolean getEnumerateAllSolutions()
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override int getRestartAlgorithmsCount()
.lang.Override boolean hasCutCleanupTarget()
.lang.Override boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override int getMaxPresolveIterations()
.lang.Override boolean hasRandomizeSearch()
.lang.Override boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasExploitBestSolution()
static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
.lang.Override int getLinearizationLevel()
static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER
static final int SUBSUMPTION_DURING_CONFLICT_ANALYSIS_FIELD_NUMBER
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasMaxIntegerRoundingScaling()
.lang.Override java.lang.String getLogPrefix()
.lang.Override boolean getUseRinsLns()
.lang.Override boolean hasClauseActivityDecay()
static final int MIP_WANTED_PRECISION_FIELD_NUMBER
.lang.Override boolean hasMipMaxActivityExponent()
.lang.Override boolean hasShareObjectiveBounds()
.lang.Override boolean getCpModelUseSatPresolve()
.lang.Override boolean hasLogPrefix()
.lang.Override boolean hasSymmetryLevel()
.lang.Override double getMipWantedPrecision()
.lang.Override boolean hasMaxPresolveIterations()
.lang.Override boolean hasMaxNumberOfConflicts()
.lang.Override boolean hasClauseCleanupTarget()
.lang.Override boolean hasAddMirCuts()
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
static final int ALSO_BUMP_VARIABLES_IN_CONFLICT_REASONS_FIELD_NUMBER
static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean getMinimizeCore()
.lang.Override double getMergeNoOverlapWorkLimit()
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER
.lang.Override boolean hasConvertIntervals()
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasMergeNoOverlapWorkLimit()
.lang.Override boolean getOptimizeWithLbTreeSearch()
.lang.Override boolean getLogSearchProgress()
static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override int getNewConstraintsBatchSize()
static Builder newBuilder(com.google.ortools.sat.SatParameters prototype)
.lang.Override boolean hasLogToStdout()
.lang.Override boolean getLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override boolean hasPbCleanupIncrement()
.lang.Override boolean hasOptimizeWithMaxHs()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input)
.lang.Override boolean hasVariableActivityDecay()
static final int AUTO_DETECT_GREATER_THAN_AT_LEAST_ONE_OF_FIELD_NUMBER
.lang.Override boolean hasMipWantedPrecision()
.lang.Override boolean hasClauseCleanupLbdBound()
static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean getLogToResponse()
.lang.Override boolean getInstantiateAllVariables()
.lang.Override boolean getUseProbingSearch()
.lang.Override double getMaxDeterministicTime()
.lang.Override boolean getExpandAlldiffConstraints()
.lang.Override boolean hasExploitIntegerLpSolution()
static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER
.lang.Override java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
.lang.Override boolean getShareLevelZeroBounds()
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER
.lang.Override boolean getOptimizeWithCore()
static final int FIX_VARIABLES_TO_THEIR_HINTED_VALUE_FIELD_NUMBER
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasClauseCleanupPeriod()
.lang.Override boolean getLogSubsolverStatistics()
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
.lang.Override boolean hasAddZeroHalfCuts()
static final int LOG_SUBSOLVER_STATISTICS_FIELD_NUMBER
static com.google.ortools.sat.SatParameters getDefaultInstance()
static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasExploitRelaxationSolution()
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
static final int USE_DISJUNCTIVE_CONSTRAINT_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override java.lang.String getName()
static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER
.lang.Override boolean getShareObjectiveBounds()
static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER
.lang.Override boolean hasUsePbResolution()
static final int NUM_CONFLICTS_BEFORE_STRATEGY_CHANGES_FIELD_NUMBER
static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER
.lang.Override boolean hasUseOptionalVariables()
static final int PRESOLVE_PROBING_DETERMINISTIC_TIME_LIMIT_FIELD_NUMBER
static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasAddCliqueCuts()
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasPolarityRephaseIncrement()
.lang.Override boolean hasUseErwaHeuristic()
static final int PRESOLVE_EXTRACT_INTEGER_ENFORCEMENT_FIELD_NUMBER
static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER
.lang.Override int getPolarityRephaseIncrement()
.lang.Override boolean hasNewConstraintsBatchSize()
static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER
static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER
.lang.Override boolean getInterleaveSearch()
.lang.Override boolean hasOnlyAddCutsAtLevelZero()
.lang.Override double getRandomBranchesRatio()
.lang.Override boolean hasBinarySearchNumConflicts()
.lang.Override boolean getExpandAutomatonConstraints()
.lang.Override boolean hasShareLevelZeroBounds()
static final int MIN_ORTHOGONALITY_FOR_LP_CONSTRAINTS_FIELD_NUMBER
static final int PERMUTE_PRESOLVE_CONSTRAINT_ORDER_FIELD_NUMBER
.lang.Override boolean getOnlyAddCutsAtLevelZero()
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean getRepairHint()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
static final int USE_SAT_INPROCESSING_FIELD_NUMBER
.lang.Override boolean getExpandReservoirConstraints()
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override double getCutMaxActiveCountValue()
.lang.Override double getRestartDlAverageRatio()
static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER
static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER
.lang.Override int getRestartRunningWindowSize()
.lang.Override boolean hasMaxAllDiffCutSize()
.lang.Override boolean hasMaxNumCuts()
static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER
.lang.Override boolean hasUsePhaseSaving()
static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER
.lang.Override boolean hasOptimizeWithCore()
.lang.Override boolean getExploitAllLpSolution()
.lang.Override boolean hasAddCgCuts()
.lang.Override long getPseudoCostReliabilityThreshold()
static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER
.lang.Override boolean getPermuteVariableRandomly()
.lang.Override double getMaxTimeInSeconds()
.lang.Override int getPresolveSubstitutionLevel()
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasPseudoCostReliabilityThreshold()
.lang.Override boolean getAddKnapsackCuts()
.lang.Override boolean hasCpModelProbingLevel()
.lang.Override boolean hasMaxMemoryInMb()
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean getOptimizeWithMaxHs()
static final int USE_PRECEDENCES_IN_DISJUNCTIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override Builder newBuilderForType()
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER
.lang.Override int getClauseCleanupTarget()
static final int CP_MODEL_POSTSOLVE_WITH_FULL_SOLVER_FIELD_NUMBER
.lang.Override boolean hasInitialVariablesActivity()
.lang.Override boolean hasMinimizeCore()
.lang.Override boolean hasEnumerateAllSolutions()
.lang.Override double getClauseActivityDecay()
.lang.Override int getMaxDomainSizeWhenEncodingEqNeqConstraints()
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER
static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER
static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER
.lang.Override boolean getCpModelPostsolveWithFullSolver()
static final int KEEP_ALL_FEASIBLE_SOLUTIONS_IN_PRESOLVE_FIELD_NUMBER
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getUseBranchingInLp()
.lang.Override boolean getMipAutomaticallyScaleVariables()
static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER
static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER
.lang.Override int getMaxConsecutiveInactiveCount()
.lang.Override boolean getExpandElementConstraints()
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override double getMipVarScaling()
static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER
.lang.Override double getClauseCleanupRatio()
.lang.Override int getBooleanEncodingLevel()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean getPolishLpSolution()
.lang.Override boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER
.lang.Override boolean hasAbsoluteGapLimit()
.lang.Override int getCpModelMaxNumPresolveOperations()
.lang.Override long getProbingPeriodAtRoot()
.lang.Override boolean hasUseExactLpReason()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasCountAssumptionLevelsInLbd()
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
static final int CP_MODEL_MAX_NUM_PRESOLVE_OPERATIONS_FIELD_NUMBER
.lang.Override final boolean isInitialized()
.lang.Override boolean hasInterleaveSearch()
.lang.Override boolean getStopAfterFirstSolution()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override double getPresolveProbingDeterministicTimeLimit()
.lang.Override double getInitialVariablesActivity()
static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
.lang.Override boolean getCatchSigintSignal()
.lang.Override boolean hasBooleanEncodingLevel()
.lang.Override boolean hasMaxTimeInSeconds()
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean hasHintConflictLimit()
.lang.Override int getPresolveBvaThreshold()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER
static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getExpandTableConstraints()
.lang.Override int getPresolveBveClauseWeight()
.lang.Override boolean getLogToStdout()
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override double getMipCheckPrecision()
.lang.Override boolean hasSolutionPoolSize()
.lang.Override boolean hasPresolveUseBva()
.lang.Override boolean getUseOptimizationHints()
.lang.Override int getClauseCleanupPeriod()
.lang.Override long getSearchRandomizationTolerance()
.lang.Override boolean hasDisableConstraintExpansion()
.lang.Override boolean hasMaxCutRoundsAtLevelZero()
.lang.Override boolean hasGlucoseMaxDecay()
.lang.Override boolean hasLogToResponse()
.lang.Override boolean hasUseImpliedBounds()
.lang.Override boolean hasCutMaxActiveCountValue()
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
static final int FILL_TIGHTENED_DOMAINS_IN_RESPONSE_FIELD_NUMBER
static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasAddKnapsackCuts()
.lang.Override boolean hasUseRelaxationLns()
static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER
.lang.Override boolean getUseCombinedNoOverlap()
.lang.Deprecated static final com.google.protobuf.Parser< SatParameters > PARSER
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getPresolveExtractIntegerEnforcement()
static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data)
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Override double getGlucoseMaxDecay()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
.lang.Override boolean hasProbingPeriodAtRoot()
.lang.Override boolean hasCpModelUseSatPresolve()
.lang.Override boolean getConvertIntervals()
.lang.Override boolean hasRestartDlAverageRatio()
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
.lang.Override com.google.protobuf.Parser< SatParameters > getParserForType()
.lang.Override boolean hasLinearizationLevel()
static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER
static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override boolean hasPresolveSubstitutionLevel()
.lang.Override boolean getAddCgCuts()
.lang.Override boolean hasPresolveBvaThreshold()
.lang.Override boolean getExploitBestSolution()
static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER
.lang.Override com.google.protobuf.ByteString getNameBytes()
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override double getMinOrthogonalityForLpConstraints()
.lang.Override boolean hasLogSubsolverStatistics()
.lang.Override boolean hasRestartRunningWindowSize()
.lang.Override boolean hasExpandReservoirConstraints()
static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER
.lang.Override boolean hasStrategyChangeIncreaseRatio()
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean getDiversifyLnsParams()
static com.google.protobuf.Parser< SatParameters > parser()
.lang.Override boolean hasMipMaxBound()
static final int USE_BLOCKING_RESTART_FIELD_NUMBER
static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override boolean hasMaxDomainSizeWhenEncodingEqNeqConstraints()
.lang.Override boolean getFillTightenedDomainsInResponse()
static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasUseRinsLns()
.lang.Override boolean getExploitObjective()
static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
.lang.Override boolean hasUseBlockingRestart()
static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean hasStopAfterFirstSolution()
static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER
static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER
static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER
.lang.Override boolean hasPresolveBveThreshold()
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER
.lang.Override boolean getCpModelPresolve()
.lang.Override boolean getFixVariablesToTheirHintedValue()
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getCoverOptimization()
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Override double getAbsoluteGapLimit()
.lang.Override boolean equals(final java.lang.Object obj)
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override int getPresolveBveThreshold()
.lang.Override boolean getUseImpliedBounds()
static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER
.lang.Override double getVariableActivityDecay()
.lang.Override boolean getUseLnsOnly()
.lang.Override int getPbCleanupIncrement()
.lang.Override boolean getPresolveBlockedClause()
static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
.lang.Override boolean hasStopAfterPresolve()
.lang.Override boolean hasDiversifyLnsParams()
.lang.Override int getClauseCleanupLbdBound()
static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER
.lang.Override boolean hasLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override int getMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasCpModelPresolve()
.lang.Override boolean getFindMultipleCores()
.lang.Override int getMaxIntegerRoundingScaling()
.lang.Override boolean hasRandomBranchesRatio()
static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER
.lang.Override boolean hasPolishLpSolution()
.lang.Override com.google.protobuf.ByteString getLogPrefixBytes()
.lang.Override boolean getUsePhaseSaving()
static final int MINIMIZE_WITH_PROPAGATION_NUM_DECISIONS_FIELD_NUMBER
.lang.Override boolean getAddLinMaxCuts()
static final int REDUCE_MEMORY_USAGE_IN_INTERLEAVE_MODE_FIELD_NUMBER
.lang.Override boolean getAddMirCuts()
.lang.Override boolean getMaxSatReverseAssumptionOrder()
.lang.Override long getMaxNumberOfConflicts()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean hasExpandTableConstraints()
.lang.Override boolean getUseOptionalVariables()
.lang.Override boolean getUsePbResolution()
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER
.lang.Override boolean getAddZeroHalfCuts()
.lang.Override boolean getAddLpConstraintsLazily()
.lang.Override boolean getUseErwaHeuristic()
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean hasUseOptimizationHints()
static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER
.lang.Override boolean hasMipAutomaticallyScaleVariables()
static final int MAX_DOMAIN_SIZE_WHEN_ENCODING_EQ_NEQ_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean hasLogSearchProgress()
.lang.Override boolean hasUseBranchingInLp()
.lang.Override boolean getRandomizeSearch()
.lang.Override boolean hasNumSearchWorkers()
.lang.Override boolean hasAddLinMaxCuts()
.lang.Override boolean getUseFeasibilityPump()
.lang.Override double getMipMaxBound()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data)
static final int MINIMIZE_REDUCTION_DURING_PB_RESOLUTION_FIELD_NUMBER
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER
static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER
.lang.Override boolean getUseBlockingRestart()
.lang.Override int getBinarySearchNumConflicts()
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean getUseExactLpReason()
static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER
.lang.Override int getMaxCutRoundsAtLevelZero()
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER
static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER
static final int OPTIMIZE_WITH_LB_TREE_SEARCH_FIELD_NUMBER
static final int MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER
static final int EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER
static final int USE_OVERLOAD_CHECKER_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean getStopAfterPresolve()
static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION = 4;
static BinaryMinizationAlgorithm forNumber(int value)
.lang.Deprecated static BinaryMinizationAlgorithm valueOf(int value)
BINARY_MINIMIZATION_WITH_REACHABILITY
BINARY_MINIMIZATION_WITH_REACHABILITY = 2;
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
EXPERIMENTAL_BINARY_MINIMIZATION
EXPERIMENTAL_BINARY_MINIMIZATION = 3;
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static BinaryMinizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< BinaryMinizationAlgorithm > internalGetValueMap()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static ClauseOrdering valueOf(int value)
static com.google.protobuf.Internal.EnumLiteMap< ClauseOrdering > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static ClauseOrdering valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static ClauseProtection valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< ClauseProtection > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Deprecated static ClauseProtection valueOf(int value)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static ConflictMinimizationAlgorithm valueOf(int value)
static com.google.protobuf.Internal.EnumLiteMap< ConflictMinimizationAlgorithm > internalGetValueMap()
static ConflictMinimizationAlgorithm forNumber(int value)
static ConflictMinimizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Internal.EnumLiteMap< FPRoundingMethod > internalGetValueMap()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static FPRoundingMethod valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Deprecated static FPRoundingMethod valueOf(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static MaxSatAssumptionOrder forNumber(int value)
.lang.Deprecated static MaxSatAssumptionOrder valueOf(int value)
static MaxSatAssumptionOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< MaxSatAssumptionOrder > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< MaxSatStratificationAlgorithm > internalGetValueMap()
static MaxSatStratificationAlgorithm forNumber(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Deprecated static MaxSatStratificationAlgorithm valueOf(int value)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static MaxSatStratificationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< Polarity > internalGetValueMap()
.lang.Deprecated static Polarity valueOf(int value)
static Polarity valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Deprecated static RestartAlgorithm valueOf(int value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< RestartAlgorithm > internalGetValueMap()
static RestartAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static SearchBranching valueOf(int value)
static com.google.protobuf.Internal.EnumLiteMap< SearchBranching > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static SearchBranching valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< VariableOrder > internalGetValueMap()
.lang.Deprecated static VariableOrder valueOf(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static VariableOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()