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 absoluteGapLimit_ = 0.0001D;
62 treatBinaryClausesSeparately_ = true;
63 randomSeed_ = 1;
64 logSubsolverStatistics_ = true;
65 logPrefix_ = "";
66 logToStdout_ = true;
67 countAssumptionLevelsInLbd_ = true;
68 presolveBveThreshold_ = 500;
69 presolveBveClauseWeight_ = 3;
70 presolveProbingDeterministicTimeLimit_ = 30D;
71 presolveBlockedClause_ = true;
72 presolveUseBva_ = true;
73 presolveBvaThreshold_ = 1;
74 maxPresolveIterations_ = 3;
75 cpModelPresolve_ = true;
76 cpModelProbingLevel_ = 2;
77 cpModelUseSatPresolve_ = true;
78 mergeNoOverlapWorkLimit_ = 1000000000000D;
79 mergeAtMostOneWorkLimit_ = 100000000D;
80 presolveSubstitutionLevel_ = 1;
81 useOptimizationHints_ = true;
82 minimizeCore_ = true;
83 findMultipleCores_ = true;
84 coverOptimization_ = true;
85 maxSatAssumptionOrder_ = 0;
86 maxSatStratification_ = 1;
87 usePrecedencesInDisjunctiveConstraint_ = true;
88 useDisjunctiveConstraintInCumulativeConstraint_ = true;
89 linearizationLevel_ = 1;
90 booleanEncodingLevel_ = 1;
91 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
92 maxNumCuts_ = 10000;
93 cutLevel_ = 1;
94 addCgCuts_ = true;
95 addMirCuts_ = true;
96 addZeroHalfCuts_ = true;
97 addCliqueCuts_ = true;
98 maxAllDiffCutSize_ = 7;
99 addLinMaxCuts_ = true;
100 maxIntegerRoundingScaling_ = 600;
101 addLpConstraintsLazily_ = true;
102 minOrthogonalityForLpConstraints_ = 0.05D;
103 maxCutRoundsAtLevelZero_ = 1;
104 maxConsecutiveInactiveCount_ = 100;
105 cutMaxActiveCountValue_ = 10000000000D;
106 cutActiveCountDecay_ = 0.8D;
107 cutCleanupTarget_ = 1000;
108 newConstraintsBatchSize_ = 50;
109 searchBranching_ = 0;
110 hintConflictLimit_ = 10;
111 exploitIntegerLpSolution_ = true;
112 exploitAllLpSolution_ = true;
113 exploitObjective_ = true;
114 pseudoCostReliabilityThreshold_ = 100L;
115 binarySearchNumConflicts_ = -1;
116 instantiateAllVariables_ = true;
117 autoDetectGreaterThanAtLeastOneOf_ = true;
118 interleaveBatchSize_ = 1;
119 shareObjectiveBounds_ = true;
120 shareLevelZeroBounds_ = true;
121 solutionPoolSize_ = 3;
122 useRinsLns_ = true;
123 useFeasibilityPump_ = true;
124 fpRounding_ = 2;
125 useOptionalVariables_ = true;
126 useExactLpReason_ = true;
127 catchSigintSignal_ = true;
128 useImpliedBounds_ = true;
129 convertIntervals_ = true;
130 symmetryLevel_ = 2;
131 mipMaxBound_ = 10000000D;
132 mipVarScaling_ = 1D;
133 mipAutomaticallyScaleVariables_ = true;
134 mipWantedPrecision_ = 1e-06D;
135 mipMaxActivityExponent_ = 53;
136 mipCheckPrecision_ = 0.0001D;
137 mipComputeTrueObjectiveBound_ = true;
138 mipMaxValidMagnitude_ = 1e+30D;
139 }
140
141 @java.lang.Override
142 @SuppressWarnings({"unused"})
143 protected java.lang.Object newInstance(
144 UnusedPrivateParameter unused) {
145 return new SatParameters();
146 }
147
148 @java.lang.Override
149 public final com.google.protobuf.UnknownFieldSet
151 return this.unknownFields;
152 }
153 private SatParameters(
154 com.google.protobuf.CodedInputStream input,
155 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
156 throws com.google.protobuf.InvalidProtocolBufferException {
157 this();
158 if (extensionRegistry == null) {
159 throw new java.lang.NullPointerException();
160 }
161 int mutable_bitField0_ = 0;
162 int mutable_bitField1_ = 0;
163 int mutable_bitField2_ = 0;
164 int mutable_bitField3_ = 0;
165 int mutable_bitField4_ = 0;
166 int mutable_bitField5_ = 0;
167 com.google.protobuf.UnknownFieldSet.Builder unknownFields =
168 com.google.protobuf.UnknownFieldSet.newBuilder();
169 try {
170 boolean done = false;
171 while (!done) {
172 int tag = input.readTag();
173 switch (tag) {
174 case 0:
175 done = true;
176 break;
177 case 8: {
178 int rawValue = input.readEnum();
179 @SuppressWarnings("deprecation")
180 com.google.ortools.sat.SatParameters.VariableOrder value = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(rawValue);
181 if (value == null) {
182 unknownFields.mergeVarintField(1, rawValue);
183 } else {
184 bitField0_ |= 0x00000002;
185 preferredVariableOrder_ = rawValue;
186 }
187 break;
188 }
189 case 16: {
190 int rawValue = input.readEnum();
191 @SuppressWarnings("deprecation")
192 com.google.ortools.sat.SatParameters.Polarity value = com.google.ortools.sat.SatParameters.Polarity.valueOf(rawValue);
193 if (value == null) {
194 unknownFields.mergeVarintField(2, rawValue);
195 } else {
196 bitField0_ |= 0x00000004;
197 initialPolarity_ = rawValue;
198 }
199 break;
200 }
201 case 32: {
202 int rawValue = input.readEnum();
203 @SuppressWarnings("deprecation")
204 com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(rawValue);
205 if (value == null) {
206 unknownFields.mergeVarintField(4, rawValue);
207 } else {
208 bitField0_ |= 0x00000400;
209 minimizationAlgorithm_ = rawValue;
210 }
211 break;
212 }
213 case 88: {
214 bitField0_ |= 0x00002000;
215 clauseCleanupPeriod_ = input.readInt32();
216 break;
217 }
218 case 104: {
219 bitField0_ |= 0x00004000;
220 clauseCleanupTarget_ = input.readInt32();
221 break;
222 }
223 case 121: {
224 bitField0_ |= 0x00800000;
225 variableActivityDecay_ = input.readDouble();
226 break;
227 }
228 case 129: {
229 bitField0_ |= 0x01000000;
230 maxVariableActivityValue_ = input.readDouble();
231 break;
232 }
233 case 137: {
234 bitField0_ |= 0x10000000;
235 clauseActivityDecay_ = input.readDouble();
236 break;
237 }
238 case 145: {
239 bitField0_ |= 0x20000000;
240 maxClauseActivityValue_ = input.readDouble();
241 break;
242 }
243 case 177: {
244 bitField0_ |= 0x02000000;
245 glucoseMaxDecay_ = input.readDouble();
246 break;
247 }
248 case 185: {
249 bitField0_ |= 0x04000000;
250 glucoseDecayIncrement_ = input.readDouble();
251 break;
252 }
253 case 192: {
254 bitField0_ |= 0x08000000;
255 glucoseDecayIncrementPeriod_ = input.readInt32();
256 break;
257 }
258 case 240: {
259 bitField0_ |= 0x80000000;
260 restartPeriod_ = input.readInt32();
261 break;
262 }
263 case 248: {
264 bitField1_ |= 0x00008000;
265 randomSeed_ = input.readInt32();
266 break;
267 }
268 case 257: {
269 bitField0_ |= 0x00000040;
270 randomBranchesRatio_ = input.readDouble();
271 break;
272 }
273 case 264: {
274 bitField1_ |= 0x00004000;
275 treatBinaryClausesSeparately_ = input.readBool();
276 break;
277 }
278 case 272: {
279 int rawValue = input.readEnum();
280 @SuppressWarnings("deprecation")
281 com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(rawValue);
282 if (value == null) {
283 unknownFields.mergeVarintField(34, rawValue);
284 } else {
285 bitField0_ |= 0x00000800;
286 binaryMinimizationAlgorithm_ = rawValue;
287 }
288 break;
289 }
290 case 280: {
291 bitField2_ |= 0x00008000;
292 useOptimizationHints_ = input.readBool();
293 break;
294 }
295 case 289: {
296 bitField1_ |= 0x00000100;
297 maxTimeInSeconds_ = input.readDouble();
298 break;
299 }
300 case 296: {
301 bitField1_ |= 0x00000400;
302 maxNumberOfConflicts_ = input.readInt64();
303 break;
304 }
305 case 320: {
306 bitField1_ |= 0x00000800;
307 maxMemoryInMb_ = input.readInt64();
308 break;
309 }
310 case 328: {
311 bitField1_ |= 0x00080000;
312 logSearchProgress_ = input.readBool();
313 break;
314 }
315 case 344: {
316 bitField1_ |= 0x01000000;
317 usePbResolution_ = input.readBool();
318 break;
319 }
320 case 352: {
321 bitField0_ |= 0x00000008;
322 usePhaseSaving_ = input.readBool();
323 break;
324 }
325 case 361: {
326 bitField0_ |= 0x00000020;
327 randomPolarityRatio_ = input.readDouble();
328 break;
329 }
330 case 368: {
331 bitField0_ |= 0x00080000;
332 pbCleanupIncrement_ = input.readInt32();
333 break;
334 }
335 case 377: {
336 bitField0_ |= 0x00100000;
337 pbCleanupRatio_ = input.readDouble();
338 break;
339 }
340 case 384: {
341 bitField1_ |= 0x02000000;
342 minimizeReductionDuringPbResolution_ = input.readBool();
343 break;
344 }
345 case 392: {
346 bitField1_ |= 0x04000000;
347 countAssumptionLevelsInLbd_ = input.readBool();
348 break;
349 }
350 case 400: {
351 bitField2_ |= 0x00010000;
352 minimizeCore_ = input.readBool();
353 break;
354 }
355 case 408: {
356 int rawValue = input.readEnum();
357 @SuppressWarnings("deprecation")
358 com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(rawValue);
359 if (value == null) {
360 unknownFields.mergeVarintField(51, rawValue);
361 } else {
362 bitField2_ |= 0x00080000;
363 maxSatAssumptionOrder_ = rawValue;
364 }
365 break;
366 }
367 case 416: {
368 bitField2_ |= 0x00100000;
369 maxSatReverseAssumptionOrder_ = input.readBool();
370 break;
371 }
372 case 424: {
373 int rawValue = input.readEnum();
374 @SuppressWarnings("deprecation")
375 com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(rawValue);
376 if (value == null) {
377 unknownFields.mergeVarintField(53, rawValue);
378 } else {
379 bitField2_ |= 0x00200000;
380 maxSatStratification_ = rawValue;
381 }
382 break;
383 }
384 case 432: {
385 bitField1_ |= 0x08000000;
386 presolveBveThreshold_ = input.readInt32();
387 break;
388 }
389 case 440: {
390 bitField1_ |= 0x10000000;
391 presolveBveClauseWeight_ = input.readInt32();
392 break;
393 }
394 case 448: {
395 bitField0_ |= 0x00001000;
396 subsumptionDuringConflictAnalysis_ = input.readBool();
397 break;
398 }
399 case 457: {
400 bitField1_ |= 0x20000000;
401 presolveProbingDeterministicTimeLimit_ = input.readDouble();
402 break;
403 }
404 case 464: {
405 int rawValue = input.readEnum();
406 @SuppressWarnings("deprecation")
407 com.google.ortools.sat.SatParameters.ClauseProtection value = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(rawValue);
408 if (value == null) {
409 unknownFields.mergeVarintField(58, rawValue);
410 } else {
411 bitField0_ |= 0x00010000;
412 clauseCleanupProtection_ = rawValue;
413 }
414 break;
415 }
416 case 472: {
417 bitField0_ |= 0x00020000;
418 clauseCleanupLbdBound_ = input.readInt32();
419 break;
420 }
421 case 480: {
422 int rawValue = input.readEnum();
423 @SuppressWarnings("deprecation")
424 com.google.ortools.sat.SatParameters.ClauseOrdering value = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(rawValue);
425 if (value == null) {
426 unknownFields.mergeVarintField(60, rawValue);
427 } else {
428 bitField0_ |= 0x00040000;
429 clauseCleanupOrdering_ = rawValue;
430 }
431 break;
432 }
433 case 488: {
434 int rawValue = input.readEnum();
435 @SuppressWarnings("deprecation")
436 com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
437 if (value == null) {
438 unknownFields.mergeVarintField(61, rawValue);
439 } else {
440 if (!((mutable_bitField0_ & 0x40000000) != 0)) {
441 restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
442 mutable_bitField0_ |= 0x40000000;
443 }
444 restartAlgorithms_.add(rawValue);
445 }
446 break;
447 }
448 case 490: {
449 int length = input.readRawVarint32();
450 int oldLimit = input.pushLimit(length);
451 while(input.getBytesUntilLimit() > 0) {
452 int rawValue = input.readEnum();
453 @SuppressWarnings("deprecation")
454 com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
455 if (value == null) {
456 unknownFields.mergeVarintField(61, rawValue);
457 } else {
458 if (!((mutable_bitField0_ & 0x40000000) != 0)) {
459 restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
460 mutable_bitField0_ |= 0x40000000;
461 }
462 restartAlgorithms_.add(rawValue);
463 }
464 }
465 input.popLimit(oldLimit);
466 break;
467 }
468 case 496: {
469 bitField1_ |= 0x00000001;
470 restartRunningWindowSize_ = input.readInt32();
471 break;
472 }
473 case 505: {
474 bitField1_ |= 0x00000002;
475 restartDlAverageRatio_ = input.readDouble();
476 break;
477 }
478 case 512: {
479 bitField1_ |= 0x00000008;
480 useBlockingRestart_ = input.readBool();
481 break;
482 }
483 case 520: {
484 bitField1_ |= 0x00000010;
485 blockingRestartWindowSize_ = input.readInt32();
486 break;
487 }
488 case 529: {
489 bitField1_ |= 0x00000020;
490 blockingRestartMultiplier_ = input.readDouble();
491 break;
492 }
493 case 537: {
494 bitField1_ |= 0x00000200;
495 maxDeterministicTime_ = input.readDouble();
496 break;
497 }
498 case 544: {
499 bitField1_ |= 0x00000040;
500 numConflictsBeforeStrategyChanges_ = input.readInt32();
501 break;
502 }
503 case 553: {
504 bitField1_ |= 0x00000080;
505 strategyChangeIncreaseRatio_ = input.readDouble();
506 break;
507 }
508 case 562: {
509 com.google.protobuf.ByteString bs = input.readBytes();
510 bitField0_ |= 0x40000000;
511 defaultRestartAlgorithms_ = bs;
512 break;
513 }
514 case 569: {
515 bitField1_ |= 0x00000004;
516 restartLbdAverageRatio_ = input.readDouble();
517 break;
518 }
519 case 576: {
520 bitField1_ |= 0x80000000;
521 presolveUseBva_ = input.readBool();
522 break;
523 }
524 case 584: {
525 bitField2_ |= 0x00000001;
526 presolveBvaThreshold_ = input.readInt32();
527 break;
528 }
529 case 592: {
530 bitField2_ |= 0x00400000;
531 usePrecedencesInDisjunctiveConstraint_ = input.readBool();
532 break;
533 }
534 case 600: {
535 bitField0_ |= 0x00000080;
536 useErwaHeuristic_ = input.readBool();
537 break;
538 }
539 case 609: {
540 bitField0_ |= 0x00000100;
541 initialVariablesActivity_ = input.readDouble();
542 break;
543 }
544 case 616: {
545 bitField0_ |= 0x00000200;
546 alsoBumpVariablesInConflictReasons_ = input.readBool();
547 break;
548 }
549 case 624: {
550 bitField2_ |= 0x00800000;
551 useOverloadCheckerInCumulativeConstraint_ = input.readBool();
552 break;
553 }
554 case 632: {
555 bitField2_ |= 0x01000000;
556 useTimetableEdgeFindingInCumulativeConstraint_ = input.readBool();
557 break;
558 }
559 case 640: {
560 bitField2_ |= 0x02000000;
561 useDisjunctiveConstraintInCumulativeConstraint_ = input.readBool();
562 break;
563 }
564 case 656: {
565 int rawValue = input.readEnum();
566 @SuppressWarnings("deprecation")
567 com.google.ortools.sat.SatParameters.SearchBranching value = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(rawValue);
568 if (value == null) {
569 unknownFields.mergeVarintField(82, rawValue);
570 } else {
571 bitField3_ |= 0x00020000;
572 searchBranching_ = rawValue;
573 }
574 break;
575 }
576 case 664: {
577 bitField3_ |= 0x20000000;
578 optimizeWithCore_ = input.readBool();
579 break;
580 }
581 case 672: {
582 bitField2_ |= 0x00020000;
583 findMultipleCores_ = input.readBool();
584 break;
585 }
586 case 680: {
587 bitField4_ |= 0x00000001;
588 optimizeWithMaxHs_ = input.readBool();
589 break;
590 }
591 case 688: {
592 bitField2_ |= 0x00000004;
593 cpModelPresolve_ = input.readBool();
594 break;
595 }
596 case 696: {
597 bitField4_ |= 0x00000002;
598 enumerateAllSolutions_ = input.readBool();
599 break;
600 }
601 case 704: {
602 bitField1_ |= 0x40000000;
603 presolveBlockedClause_ = input.readBool();
604 break;
605 }
606 case 712: {
607 bitField2_ |= 0x00040000;
608 coverOptimization_ = input.readBool();
609 break;
610 }
611 case 720: {
612 bitField2_ |= 0x08000000;
613 linearizationLevel_ = input.readInt32();
614 break;
615 }
616 case 728: {
617 bitField2_ |= 0x40000000;
618 maxNumCuts_ = input.readInt32();
619 break;
620 }
621 case 736: {
622 bitField3_ |= 0x00000001;
623 onlyAddCutsAtLevelZero_ = input.readBool();
624 break;
625 }
626 case 744: {
627 bitField2_ |= 0x00000010;
628 cpModelUseSatPresolve_ = input.readBool();
629 break;
630 }
631 case 752: {
632 bitField3_ |= 0x00200000;
633 exploitIntegerLpSolution_ = input.readBool();
634 break;
635 }
636 case 760: {
637 bitField4_ |= 0x00000040;
638 autoDetectGreaterThanAtLeastOneOf_ = input.readBool();
639 break;
640 }
641 case 768: {
642 bitField0_ |= 0x00200000;
643 minimizeWithPropagationRestartPeriod_ = input.readInt32();
644 break;
645 }
646 case 776: {
647 bitField0_ |= 0x00400000;
648 minimizeWithPropagationNumDecisions_ = input.readInt32();
649 break;
650 }
651 case 784: {
652 bitField4_ |= 0x00000080;
653 stopAfterFirstSolution_ = input.readBool();
654 break;
655 }
656 case 792: {
657 bitField3_ |= 0x80000000;
658 binarySearchNumConflicts_ = input.readInt32();
659 break;
660 }
661 case 800: {
662 bitField4_ |= 0x00000200;
663 numSearchWorkers_ = input.readInt32();
664 break;
665 }
666 case 808: {
667 bitField4_ |= 0x00008000;
668 useLnsOnly_ = input.readBool();
669 break;
670 }
671 case 824: {
672 bitField4_ |= 0x00400000;
673 randomizeSearch_ = input.readBool();
674 break;
675 }
676 case 832: {
677 bitField4_ |= 0x00800000;
678 searchRandomizationTolerance_ = input.readInt64();
679 break;
680 }
681 case 848: {
682 bitField4_ |= 0x00000020;
683 instantiateAllVariables_ = input.readBool();
684 break;
685 }
686 case 856: {
687 bitField2_ |= 0x10000000;
688 booleanEncodingLevel_ = input.readInt32();
689 break;
690 }
691 case 864: {
692 bitField4_ |= 0x01000000;
693 useOptionalVariables_ = input.readBool();
694 break;
695 }
696 case 872: {
697 bitField4_ |= 0x02000000;
698 useExactLpReason_ = input.readBool();
699 break;
700 }
701 case 880: {
702 bitField2_ |= 0x00000008;
703 cpModelProbingLevel_ = input.readInt32();
704 break;
705 }
706 case 896: {
707 bitField3_ |= 0x00000200;
708 addLpConstraintsLazily_ = input.readBool();
709 break;
710 }
711 case 904: {
712 bitField4_ |= 0x00002000;
713 shareObjectiveBounds_ = input.readBool();
714 break;
715 }
716 case 912: {
717 bitField4_ |= 0x00004000;
718 shareLevelZeroBounds_ = input.readBool();
719 break;
720 }
721 case 921: {
722 bitField3_ |= 0x00000400;
723 minOrthogonalityForLpConstraints_ = input.readDouble();
724 break;
725 }
726 case 928: {
727 bitField3_ |= 0x00400000;
728 exploitAllLpSolution_ = input.readBool();
729 break;
730 }
731 case 936: {
732 bitField3_ |= 0x00000004;
733 addCgCuts_ = input.readBool();
734 break;
735 }
736 case 952: {
737 bitField3_ |= 0x00000100;
738 maxIntegerRoundingScaling_ = input.readInt32();
739 break;
740 }
741 case 960: {
742 bitField3_ |= 0x00000008;
743 addMirCuts_ = input.readBool();
744 break;
745 }
746 case 968: {
747 bitField3_ |= 0x00001000;
748 maxConsecutiveInactiveCount_ = input.readInt32();
749 break;
750 }
751 case 976: {
752 bitField3_ |= 0x00010000;
753 newConstraintsBatchSize_ = input.readInt32();
754 break;
755 }
756 case 984: {
757 bitField3_ |= 0x10000000;
758 pseudoCostReliabilityThreshold_ = input.readInt64();
759 break;
760 }
761 case 993: {
762 bitField5_ |= 0x00000002;
763 mipMaxBound_ = input.readDouble();
764 break;
765 }
766 case 1001: {
767 bitField5_ |= 0x00000004;
768 mipVarScaling_ = input.readDouble();
769 break;
770 }
771 case 1009: {
772 bitField5_ |= 0x00000010;
773 mipWantedPrecision_ = input.readDouble();
774 break;
775 }
776 case 1016: {
777 bitField5_ |= 0x00000020;
778 mipMaxActivityExponent_ = input.readInt32();
779 break;
780 }
781 case 1025: {
782 bitField5_ |= 0x00000040;
783 mipCheckPrecision_ = input.readDouble();
784 break;
785 }
786 case 1032: {
787 bitField4_ |= 0x00020000;
788 useRinsLns_ = input.readBool();
789 break;
790 }
791 case 1040: {
792 bitField3_ |= 0x00800000;
793 exploitBestSolution_ = input.readBool();
794 break;
795 }
796 case 1048: {
797 bitField3_ |= 0x02000000;
798 exploitObjective_ = input.readBool();
799 break;
800 }
801 case 1056: {
802 bitField4_ |= 0x00000008;
803 fillTightenedDomainsInResponse_ = input.readBool();
804 break;
805 }
806 case 1064: {
807 bitField4_ |= 0x08000000;
808 useCombinedNoOverlap_ = input.readBool();
809 break;
810 }
811 case 1072: {
812 bitField4_ |= 0x00000800;
813 interleaveBatchSize_ = input.readInt32();
814 break;
815 }
816 case 1080: {
817 bitField4_ |= 0x10000000;
818 catchSigintSignal_ = input.readBool();
819 break;
820 }
821 case 1088: {
822 bitField4_ |= 0x00000400;
823 interleaveSearch_ = input.readBool();
824 break;
825 }
826 case 1096: {
827 bitField4_ |= 0x00200000;
828 diversifyLnsParams_ = input.readBool();
829 break;
830 }
831 case 1104: {
832 bitField2_ |= 0x00000002;
833 maxPresolveIterations_ = input.readInt32();
834 break;
835 }
836 case 1112: {
837 bitField4_ |= 0x04000000;
838 useBranchingInLp_ = input.readBool();
839 break;
840 }
841 case 1128: {
842 bitField4_ |= 0x00001000;
843 reduceMemoryUsageInInterleaveMode_ = input.readBool();
844 break;
845 }
846 case 1136: {
847 bitField3_ |= 0x04000000;
848 probingPeriodAtRoot_ = input.readInt64();
849 break;
850 }
851 case 1152: {
852 bitField4_ |= 0x20000000;
853 useImpliedBounds_ = input.readBool();
854 break;
855 }
856 case 1161: {
857 bitField2_ |= 0x00000100;
858 mergeNoOverlapWorkLimit_ = input.readDouble();
859 break;
860 }
861 case 1169: {
862 bitField2_ |= 0x00000200;
863 mergeAtMostOneWorkLimit_ = input.readDouble();
864 break;
865 }
866 case 1176: {
867 bitField2_ |= 0x00000400;
868 presolveSubstitutionLevel_ = input.readInt32();
869 break;
870 }
871 case 1184: {
872 bitField3_ |= 0x00000040;
873 maxAllDiffCutSize_ = input.readInt32();
874 break;
875 }
876 case 1192: {
877 bitField4_ |= 0x00000100;
878 stopAfterPresolve_ = input.readBool();
879 break;
880 }
881 case 1200: {
882 bitField4_ |= 0x00100000;
883 useRelaxationLns_ = input.readBool();
884 break;
885 }
886 case 1208: {
887 bitField2_ |= 0x00002000;
888 debugMaxNumPresolveOperations_ = input.readInt32();
889 break;
890 }
891 case 1216: {
892 bitField3_ |= 0x00000080;
893 addLinMaxCuts_ = input.readBool();
894 break;
895 }
896 case 1224: {
897 bitField3_ |= 0x00040000;
898 hintConflictLimit_ = input.readInt32();
899 break;
900 }
901 case 1232: {
902 bitField3_ |= 0x00000800;
903 maxCutRoundsAtLevelZero_ = input.readInt32();
904 break;
905 }
906 case 1241: {
907 bitField3_ |= 0x00002000;
908 cutMaxActiveCountValue_ = input.readDouble();
909 break;
910 }
911 case 1249: {
912 bitField3_ |= 0x00004000;
913 cutActiveCountDecay_ = input.readDouble();
914 break;
915 }
916 case 1256: {
917 bitField3_ |= 0x00008000;
918 cutCleanupTarget_ = input.readInt32();
919 break;
920 }
921 case 1273: {
922 bitField1_ |= 0x00001000;
923 absoluteGapLimit_ = input.readDouble();
924 break;
925 }
926 case 1281: {
927 bitField1_ |= 0x00002000;
928 relativeGapLimit_ = input.readDouble();
929 break;
930 }
931 case 1288: {
932 bitField3_ |= 0x01000000;
933 exploitRelaxationSolution_ = input.readBool();
934 break;
935 }
936 case 1296: {
937 bitField2_ |= 0x00001000;
938 debugPostsolveWithFullSolver_ = input.readBool();
939 break;
940 }
941 case 1304: {
942 bitField2_ |= 0x00000020;
943 useSatInprocessing_ = input.readBool();
944 break;
945 }
946 case 1312: {
947 bitField4_ |= 0x00040000;
948 useFeasibilityPump_ = input.readBool();
949 break;
950 }
951 case 1320: {
952 int rawValue = input.readEnum();
953 @SuppressWarnings("deprecation")
954 com.google.ortools.sat.SatParameters.FPRoundingMethod value = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(rawValue);
955 if (value == null) {
956 unknownFields.mergeVarintField(165, rawValue);
957 } else {
958 bitField4_ |= 0x00080000;
959 fpRounding_ = rawValue;
960 }
961 break;
962 }
963 case 1328: {
964 bitField5_ |= 0x00000008;
965 mipAutomaticallyScaleVariables_ = input.readBool();
966 break;
967 }
968 case 1336: {
969 bitField3_ |= 0x00080000;
970 repairHint_ = input.readBool();
971 break;
972 }
973 case 1344: {
974 bitField0_ |= 0x00000010;
975 polarityRephaseIncrement_ = input.readInt32();
976 break;
977 }
978 case 1352: {
979 bitField3_ |= 0x00000010;
980 addZeroHalfCuts_ = input.readBool();
981 break;
982 }
983 case 1360: {
984 bitField2_ |= 0x00000040;
985 expandAlldiffConstraints_ = input.readBool();
986 break;
987 }
988 case 1370: {
989 com.google.protobuf.ByteString bs = input.readBytes();
990 bitField0_ |= 0x00000001;
991 name_ = bs;
992 break;
993 }
994 case 1376: {
995 bitField3_ |= 0x00000020;
996 addCliqueCuts_ = input.readBool();
997 break;
998 }
999 case 1384: {
1000 bitField4_ |= 0x00000004;
1001 keepAllFeasibleSolutionsInPresolve_ = input.readBool();
1002 break;
1003 }
1004 case 1392: {
1005 bitField2_ |= 0x00000800;
1006 presolveExtractIntegerEnforcement_ = input.readBool();
1007 break;
1008 }
1009 case 1400: {
1010 bitField4_ |= 0x40000000;
1011 polishLpSolution_ = input.readBool();
1012 break;
1013 }
1014 case 1408: {
1015 bitField3_ |= 0x08000000;
1016 useProbingSearch_ = input.readBool();
1017 break;
1018 }
1019 case 1416: {
1020 bitField4_ |= 0x80000000;
1021 convertIntervals_ = input.readBool();
1022 break;
1023 }
1024 case 1424: {
1025 bitField1_ |= 0x00010000;
1026 permuteVariableRandomly_ = input.readBool();
1027 break;
1028 }
1029 case 1432: {
1030 bitField1_ |= 0x00020000;
1031 permutePresolveConstraintOrder_ = input.readBool();
1032 break;
1033 }
1034 case 1440: {
1035 bitField1_ |= 0x00040000;
1036 useAbslRandom_ = input.readBool();
1037 break;
1038 }
1039 case 1448: {
1040 bitField2_ |= 0x00000080;
1041 disableConstraintExpansion_ = input.readBool();
1042 break;
1043 }
1044 case 1464: {
1045 bitField5_ |= 0x00000001;
1046 symmetryLevel_ = input.readInt32();
1047 break;
1048 }
1049 case 1482: {
1050 com.google.protobuf.ByteString bs = input.readBytes();
1051 bitField1_ |= 0x00200000;
1052 logPrefix_ = bs;
1053 break;
1054 }
1055 case 1488: {
1056 bitField1_ |= 0x00400000;
1057 logToStdout_ = input.readBool();
1058 break;
1059 }
1060 case 1496: {
1061 bitField1_ |= 0x00800000;
1062 logToResponse_ = input.readBool();
1063 break;
1064 }
1065 case 1504: {
1066 bitField3_ |= 0x40000000;
1067 optimizeWithLbTreeSearch_ = input.readBool();
1068 break;
1069 }
1070 case 1512: {
1071 bitField1_ |= 0x00100000;
1072 logSubsolverStatistics_ = input.readBool();
1073 break;
1074 }
1075 case 1521: {
1076 bitField0_ |= 0x00008000;
1077 clauseCleanupRatio_ = input.readDouble();
1078 break;
1079 }
1080 case 1528: {
1081 bitField2_ |= 0x20000000;
1082 maxDomainSizeWhenEncodingEqNeqConstraints_ = input.readInt32();
1083 break;
1084 }
1085 case 1536: {
1086 bitField3_ |= 0x00100000;
1087 fixVariablesToTheirHintedValue_ = input.readBool();
1088 break;
1089 }
1090 case 1544: {
1091 bitField4_ |= 0x00010000;
1092 solutionPoolSize_ = input.readInt32();
1093 break;
1094 }
1095 case 1552: {
1096 bitField4_ |= 0x00000010;
1097 fillAdditionalSolutionsInResponse_ = input.readBool();
1098 break;
1099 }
1100 case 1560: {
1101 bitField2_ |= 0x00004000;
1102 debugCrashOnBadHint_ = input.readBool();
1103 break;
1104 }
1105 case 1568: {
1106 bitField2_ |= 0x80000000;
1107 cutLevel_ = input.readInt32();
1108 break;
1109 }
1110 case 1576: {
1111 bitField3_ |= 0x00000002;
1112 addObjectiveCut_ = input.readBool();
1113 break;
1114 }
1115 case 1584: {
1116 bitField5_ |= 0x00000080;
1117 mipComputeTrueObjectiveBound_ = input.readBool();
1118 break;
1119 }
1120 case 1593: {
1121 bitField5_ |= 0x00000100;
1122 mipMaxValidMagnitude_ = input.readDouble();
1123 break;
1124 }
1125 case 1600: {
1126 bitField2_ |= 0x04000000;
1127 useCumulativeInNoOverlap2D_ = input.readBool();
1128 break;
1129 }
1130 default: {
1131 if (!parseUnknownField(
1132 input, unknownFields, extensionRegistry, tag)) {
1133 done = true;
1134 }
1135 break;
1136 }
1137 }
1138 }
1139 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1140 throw e.setUnfinishedMessage(this);
1141 } catch (java.io.IOException e) {
1142 throw new com.google.protobuf.InvalidProtocolBufferException(
1143 e).setUnfinishedMessage(this);
1144 } finally {
1145 if (((mutable_bitField0_ & 0x40000000) != 0)) {
1146 restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
1147 }
1148 this.unknownFields = unknownFields.build();
1149 makeExtensionsImmutable();
1150 }
1151 }
1152 public static final com.google.protobuf.Descriptors.Descriptor
1154 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
1155 }
1156
1157 @java.lang.Override
1158 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1160 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
1161 .ensureFieldAccessorsInitialized(
1162 com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
1163 }
1164
1173 public enum VariableOrder
1174 implements com.google.protobuf.ProtocolMessageEnum {
1191 ;
1192
1200 public static final int IN_ORDER_VALUE = 0;
1204 public static final int IN_REVERSE_ORDER_VALUE = 1;
1208 public static final int IN_RANDOM_ORDER_VALUE = 2;
1209
1210
1211 public final int getNumber() {
1212 return value;
1213 }
1214
1220 @java.lang.Deprecated
1221 public static VariableOrder valueOf(int value) {
1222 return forNumber(value);
1223 }
1224
1229 public static VariableOrder forNumber(int value) {
1230 switch (value) {
1231 case 0: return IN_ORDER;
1232 case 1: return IN_REVERSE_ORDER;
1233 case 2: return IN_RANDOM_ORDER;
1234 default: return null;
1235 }
1236 }
1237
1238 public static com.google.protobuf.Internal.EnumLiteMap<VariableOrder>
1240 return internalValueMap;
1241 }
1242 private static final com.google.protobuf.Internal.EnumLiteMap<
1243 VariableOrder> internalValueMap =
1244 new com.google.protobuf.Internal.EnumLiteMap<VariableOrder>() {
1245 public VariableOrder findValueByNumber(int number) {
1246 return VariableOrder.forNumber(number);
1247 }
1248 };
1249
1250 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1252 return getDescriptor().getValues().get(ordinal());
1253 }
1254 public final com.google.protobuf.Descriptors.EnumDescriptor
1256 return getDescriptor();
1257 }
1258 public static final com.google.protobuf.Descriptors.EnumDescriptor
1260 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
1261 }
1262
1263 private static final VariableOrder[] VALUES = values();
1264
1265 public static VariableOrder valueOf(
1266 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1267 if (desc.getType() != getDescriptor()) {
1268 throw new java.lang.IllegalArgumentException(
1269 "EnumValueDescriptor is not for this type.");
1270 }
1271 return VALUES[desc.getIndex()];
1272 }
1273
1274 private final int value;
1275
1276 private VariableOrder(int value) {
1277 this.value = value;
1278 }
1279
1280 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.VariableOrder)
1281 }
1282
1294 public enum Polarity
1295 implements com.google.protobuf.ProtocolMessageEnum {
1327 ;
1328
1332 public static final int POLARITY_TRUE_VALUE = 0;
1336 public static final int POLARITY_FALSE_VALUE = 1;
1340 public static final int POLARITY_RANDOM_VALUE = 2;
1351 public static final int POLARITY_WEIGHTED_SIGN_VALUE = 3;
1359 public static final int POLARITY_REVERSE_WEIGHTED_SIGN_VALUE = 4;
1360
1361
1362 public final int getNumber() {
1363 return value;
1364 }
1365
1371 @java.lang.Deprecated
1372 public static Polarity valueOf(int value) {
1373 return forNumber(value);
1374 }
1375
1380 public static Polarity forNumber(int value) {
1381 switch (value) {
1382 case 0: return POLARITY_TRUE;
1383 case 1: return POLARITY_FALSE;
1384 case 2: return POLARITY_RANDOM;
1385 case 3: return POLARITY_WEIGHTED_SIGN;
1386 case 4: return POLARITY_REVERSE_WEIGHTED_SIGN;
1387 default: return null;
1388 }
1389 }
1390
1391 public static com.google.protobuf.Internal.EnumLiteMap<Polarity>
1393 return internalValueMap;
1394 }
1395 private static final com.google.protobuf.Internal.EnumLiteMap<
1396 Polarity> internalValueMap =
1397 new com.google.protobuf.Internal.EnumLiteMap<Polarity>() {
1398 public Polarity findValueByNumber(int number) {
1399 return Polarity.forNumber(number);
1400 }
1401 };
1402
1403 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1405 return getDescriptor().getValues().get(ordinal());
1406 }
1407 public final com.google.protobuf.Descriptors.EnumDescriptor
1409 return getDescriptor();
1410 }
1411 public static final com.google.protobuf.Descriptors.EnumDescriptor
1413 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
1414 }
1415
1416 private static final Polarity[] VALUES = values();
1417
1418 public static Polarity valueOf(
1419 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1420 if (desc.getType() != getDescriptor()) {
1421 throw new java.lang.IllegalArgumentException(
1422 "EnumValueDescriptor is not for this type.");
1423 }
1424 return VALUES[desc.getIndex()];
1425 }
1426
1427 private final int value;
1428
1429 private Polarity(int value) {
1430 this.value = value;
1431 }
1432
1433 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.Polarity)
1434 }
1435
1444 implements com.google.protobuf.ProtocolMessageEnum {
1461 ;
1462
1466 public static final int NONE_VALUE = 0;
1470 public static final int SIMPLE_VALUE = 1;
1474 public static final int RECURSIVE_VALUE = 2;
1478 public static final int EXPERIMENTAL_VALUE = 3;
1479
1480
1481 public final int getNumber() {
1482 return value;
1483 }
1484
1490 @java.lang.Deprecated
1491 public static ConflictMinimizationAlgorithm valueOf(int value) {
1492 return forNumber(value);
1493 }
1494
1499 public static ConflictMinimizationAlgorithm forNumber(int value) {
1500 switch (value) {
1501 case 0: return NONE;
1502 case 1: return SIMPLE;
1503 case 2: return RECURSIVE;
1504 case 3: return EXPERIMENTAL;
1505 default: return null;
1506 }
1507 }
1508
1509 public static com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>
1511 return internalValueMap;
1512 }
1513 private static final com.google.protobuf.Internal.EnumLiteMap<
1514 ConflictMinimizationAlgorithm> internalValueMap =
1515 new com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>() {
1516 public ConflictMinimizationAlgorithm findValueByNumber(int number) {
1518 }
1519 };
1520
1521 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1523 return getDescriptor().getValues().get(ordinal());
1524 }
1525 public final com.google.protobuf.Descriptors.EnumDescriptor
1527 return getDescriptor();
1528 }
1529 public static final com.google.protobuf.Descriptors.EnumDescriptor
1531 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
1532 }
1533
1534 private static final ConflictMinimizationAlgorithm[] VALUES = values();
1535
1537 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1538 if (desc.getType() != getDescriptor()) {
1539 throw new java.lang.IllegalArgumentException(
1540 "EnumValueDescriptor is not for this type.");
1541 }
1542 return VALUES[desc.getIndex()];
1543 }
1544
1545 private final int value;
1546
1547 private ConflictMinimizationAlgorithm(int value) {
1548 this.value = value;
1549 }
1550
1551 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ConflictMinimizationAlgorithm)
1552 }
1553
1563 implements com.google.protobuf.ProtocolMessageEnum {
1584 ;
1585
1589 public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
1593 public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
1597 public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
1601 public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
1605 public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
1606
1607
1608 public final int getNumber() {
1609 return value;
1610 }
1611
1617 @java.lang.Deprecated
1618 public static BinaryMinizationAlgorithm valueOf(int value) {
1619 return forNumber(value);
1620 }
1621
1626 public static BinaryMinizationAlgorithm forNumber(int value) {
1627 switch (value) {
1628 case 0: return NO_BINARY_MINIMIZATION;
1629 case 1: return BINARY_MINIMIZATION_FIRST;
1630 case 4: return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
1631 case 2: return BINARY_MINIMIZATION_WITH_REACHABILITY;
1632 case 3: return EXPERIMENTAL_BINARY_MINIMIZATION;
1633 default: return null;
1634 }
1635 }
1636
1637 public static com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>
1639 return internalValueMap;
1640 }
1641 private static final com.google.protobuf.Internal.EnumLiteMap<
1642 BinaryMinizationAlgorithm> internalValueMap =
1643 new com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>() {
1644 public BinaryMinizationAlgorithm findValueByNumber(int number) {
1645 return BinaryMinizationAlgorithm.forNumber(number);
1646 }
1647 };
1648
1649 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1651 return getDescriptor().getValues().get(ordinal());
1652 }
1653 public final com.google.protobuf.Descriptors.EnumDescriptor
1655 return getDescriptor();
1656 }
1657 public static final com.google.protobuf.Descriptors.EnumDescriptor
1659 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
1660 }
1661
1662 private static final BinaryMinizationAlgorithm[] VALUES = values();
1663
1665 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1666 if (desc.getType() != getDescriptor()) {
1667 throw new java.lang.IllegalArgumentException(
1668 "EnumValueDescriptor is not for this type.");
1669 }
1670 return VALUES[desc.getIndex()];
1671 }
1672
1673 private final int value;
1674
1675 private BinaryMinizationAlgorithm(int value) {
1676 this.value = value;
1677 }
1678
1679 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.BinaryMinizationAlgorithm)
1680 }
1681
1692 implements com.google.protobuf.ProtocolMessageEnum {
1717 ;
1718
1726 public static final int PROTECTION_NONE_VALUE = 0;
1734 public static final int PROTECTION_ALWAYS_VALUE = 1;
1742 public static final int PROTECTION_LBD_VALUE = 2;
1743
1744
1745 public final int getNumber() {
1746 return value;
1747 }
1748
1754 @java.lang.Deprecated
1755 public static ClauseProtection valueOf(int value) {
1756 return forNumber(value);
1757 }
1758
1763 public static ClauseProtection forNumber(int value) {
1764 switch (value) {
1765 case 0: return PROTECTION_NONE;
1766 case 1: return PROTECTION_ALWAYS;
1767 case 2: return PROTECTION_LBD;
1768 default: return null;
1769 }
1770 }
1771
1772 public static com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>
1774 return internalValueMap;
1775 }
1776 private static final com.google.protobuf.Internal.EnumLiteMap<
1777 ClauseProtection> internalValueMap =
1778 new com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>() {
1779 public ClauseProtection findValueByNumber(int number) {
1780 return ClauseProtection.forNumber(number);
1781 }
1782 };
1783
1784 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1786 return getDescriptor().getValues().get(ordinal());
1787 }
1788 public final com.google.protobuf.Descriptors.EnumDescriptor
1790 return getDescriptor();
1791 }
1792 public static final com.google.protobuf.Descriptors.EnumDescriptor
1794 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
1795 }
1796
1797 private static final ClauseProtection[] VALUES = values();
1798
1800 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1801 if (desc.getType() != getDescriptor()) {
1802 throw new java.lang.IllegalArgumentException(
1803 "EnumValueDescriptor is not for this type.");
1804 }
1805 return VALUES[desc.getIndex()];
1806 }
1807
1808 private final int value;
1809
1810 private ClauseProtection(int value) {
1811 this.value = value;
1812 }
1813
1814 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseProtection)
1815 }
1816
1825 public enum ClauseOrdering
1826 implements com.google.protobuf.ProtocolMessageEnum {
1843 ;
1844
1852 public static final int CLAUSE_ACTIVITY_VALUE = 0;
1860 public static final int CLAUSE_LBD_VALUE = 1;
1861
1862
1863 public final int getNumber() {
1864 return value;
1865 }
1866
1872 @java.lang.Deprecated
1873 public static ClauseOrdering valueOf(int value) {
1874 return forNumber(value);
1875 }
1876
1881 public static ClauseOrdering forNumber(int value) {
1882 switch (value) {
1883 case 0: return CLAUSE_ACTIVITY;
1884 case 1: return CLAUSE_LBD;
1885 default: return null;
1886 }
1887 }
1888
1889 public static com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>
1891 return internalValueMap;
1892 }
1893 private static final com.google.protobuf.Internal.EnumLiteMap<
1894 ClauseOrdering> internalValueMap =
1895 new com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>() {
1896 public ClauseOrdering findValueByNumber(int number) {
1897 return ClauseOrdering.forNumber(number);
1898 }
1899 };
1900
1901 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1903 return getDescriptor().getValues().get(ordinal());
1904 }
1905 public final com.google.protobuf.Descriptors.EnumDescriptor
1907 return getDescriptor();
1908 }
1909 public static final com.google.protobuf.Descriptors.EnumDescriptor
1911 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
1912 }
1913
1914 private static final ClauseOrdering[] VALUES = values();
1915
1917 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1918 if (desc.getType() != getDescriptor()) {
1919 throw new java.lang.IllegalArgumentException(
1920 "EnumValueDescriptor is not for this type.");
1921 }
1922 return VALUES[desc.getIndex()];
1923 }
1924
1925 private final int value;
1926
1927 private ClauseOrdering(int value) {
1928 this.value = value;
1929 }
1930
1931 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseOrdering)
1932 }
1933
1946 implements com.google.protobuf.ProtocolMessageEnum {
1983 ;
1984
1988 public static final int NO_RESTART_VALUE = 0;
1996 public static final int LUBY_RESTART_VALUE = 1;
2004 public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
2012 public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
2020 public static final int FIXED_RESTART_VALUE = 4;
2021
2022
2023 public final int getNumber() {
2024 return value;
2025 }
2026
2032 @java.lang.Deprecated
2033 public static RestartAlgorithm valueOf(int value) {
2034 return forNumber(value);
2035 }
2036
2041 public static RestartAlgorithm forNumber(int value) {
2042 switch (value) {
2043 case 0: return NO_RESTART;
2044 case 1: return LUBY_RESTART;
2045 case 2: return DL_MOVING_AVERAGE_RESTART;
2046 case 3: return LBD_MOVING_AVERAGE_RESTART;
2047 case 4: return FIXED_RESTART;
2048 default: return null;
2049 }
2050 }
2051
2052 public static com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>
2054 return internalValueMap;
2055 }
2056 private static final com.google.protobuf.Internal.EnumLiteMap<
2057 RestartAlgorithm> internalValueMap =
2058 new com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>() {
2059 public RestartAlgorithm findValueByNumber(int number) {
2060 return RestartAlgorithm.forNumber(number);
2061 }
2062 };
2063
2064 public final com.google.protobuf.Descriptors.EnumValueDescriptor
2066 return getDescriptor().getValues().get(ordinal());
2067 }
2068 public final com.google.protobuf.Descriptors.EnumDescriptor
2070 return getDescriptor();
2071 }
2072 public static final com.google.protobuf.Descriptors.EnumDescriptor
2074 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
2075 }
2076
2077 private static final RestartAlgorithm[] VALUES = values();
2078
2080 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2081 if (desc.getType() != getDescriptor()) {
2082 throw new java.lang.IllegalArgumentException(
2083 "EnumValueDescriptor is not for this type.");
2084 }
2085 return VALUES[desc.getIndex()];
2086 }
2087
2088 private final int value;
2089
2090 private RestartAlgorithm(int value) {
2091 this.value = value;
2092 }
2093
2094 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.RestartAlgorithm)
2095 }
2096
2105 implements com.google.protobuf.ProtocolMessageEnum {
2118 ;
2119
2123 public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
2127 public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
2131 public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
2132
2133
2134 public final int getNumber() {
2135 return value;
2136 }
2137
2143 @java.lang.Deprecated
2144 public static MaxSatAssumptionOrder valueOf(int value) {
2145 return forNumber(value);
2146 }
2147
2152 public static MaxSatAssumptionOrder forNumber(int value) {
2153 switch (value) {
2154 case 0: return DEFAULT_ASSUMPTION_ORDER;
2155 case 1: return ORDER_ASSUMPTION_BY_DEPTH;
2156 case 2: return ORDER_ASSUMPTION_BY_WEIGHT;
2157 default: return null;
2158 }
2159 }
2160
2161 public static com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>
2163 return internalValueMap;
2164 }
2165 private static final com.google.protobuf.Internal.EnumLiteMap<
2166 MaxSatAssumptionOrder> internalValueMap =
2167 new com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>() {
2168 public MaxSatAssumptionOrder findValueByNumber(int number) {
2169 return MaxSatAssumptionOrder.forNumber(number);
2170 }
2171 };
2172
2173 public final com.google.protobuf.Descriptors.EnumValueDescriptor
2175 return getDescriptor().getValues().get(ordinal());
2176 }
2177 public final com.google.protobuf.Descriptors.EnumDescriptor
2179 return getDescriptor();
2180 }
2181 public static final com.google.protobuf.Descriptors.EnumDescriptor
2183 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
2184 }
2185
2186 private static final MaxSatAssumptionOrder[] VALUES = values();
2187
2189 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2190 if (desc.getType() != getDescriptor()) {
2191 throw new java.lang.IllegalArgumentException(
2192 "EnumValueDescriptor is not for this type.");
2193 }
2194 return VALUES[desc.getIndex()];
2195 }
2196
2197 private final int value;
2198
2199 private MaxSatAssumptionOrder(int value) {
2200 this.value = value;
2201 }
2202
2203 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatAssumptionOrder)
2204 }
2205
2214 implements com.google.protobuf.ProtocolMessageEnum {
2243 ;
2244
2252 public static final int STRATIFICATION_NONE_VALUE = 0;
2261 public static final int STRATIFICATION_DESCENT_VALUE = 1;
2272 public static final int STRATIFICATION_ASCENT_VALUE = 2;
2273
2274
2275 public final int getNumber() {
2276 return value;
2277 }
2278
2284 @java.lang.Deprecated
2285 public static MaxSatStratificationAlgorithm valueOf(int value) {
2286 return forNumber(value);
2287 }
2288
2293 public static MaxSatStratificationAlgorithm forNumber(int value) {
2294 switch (value) {
2295 case 0: return STRATIFICATION_NONE;
2296 case 1: return STRATIFICATION_DESCENT;
2297 case 2: return STRATIFICATION_ASCENT;
2298 default: return null;
2299 }
2300 }
2301
2302 public static com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>
2304 return internalValueMap;
2305 }
2306 private static final com.google.protobuf.Internal.EnumLiteMap<
2307 MaxSatStratificationAlgorithm> internalValueMap =
2308 new com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>() {
2309 public MaxSatStratificationAlgorithm findValueByNumber(int number) {
2311 }
2312 };
2313
2314 public final com.google.protobuf.Descriptors.EnumValueDescriptor
2316 return getDescriptor().getValues().get(ordinal());
2317 }
2318 public final com.google.protobuf.Descriptors.EnumDescriptor
2320 return getDescriptor();
2321 }
2322 public static final com.google.protobuf.Descriptors.EnumDescriptor
2324 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
2325 }
2326
2327 private static final MaxSatStratificationAlgorithm[] VALUES = values();
2328
2330 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2331 if (desc.getType() != getDescriptor()) {
2332 throw new java.lang.IllegalArgumentException(
2333 "EnumValueDescriptor is not for this type.");
2334 }
2335 return VALUES[desc.getIndex()];
2336 }
2337
2338 private final int value;
2339
2340 private MaxSatStratificationAlgorithm(int value) {
2341 this.value = value;
2342 }
2343
2344 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatStratificationAlgorithm)
2345 }
2346
2355 implements com.google.protobuf.ProtocolMessageEnum {
2423 ;
2424
2433 public static final int AUTOMATIC_SEARCH_VALUE = 0;
2443 public static final int FIXED_SEARCH_VALUE = 1;
2451 public static final int PORTFOLIO_SEARCH_VALUE = 2;
2461 public static final int LP_SEARCH_VALUE = 3;
2471 public static final int PSEUDO_COST_SEARCH_VALUE = 4;
2481 public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
2491 public static final int HINT_SEARCH_VALUE = 6;
2492
2493
2494 public final int getNumber() {
2495 return value;
2496 }
2497
2503 @java.lang.Deprecated
2504 public static SearchBranching valueOf(int value) {
2505 return forNumber(value);
2506 }
2507
2512 public static SearchBranching forNumber(int value) {
2513 switch (value) {
2514 case 0: return AUTOMATIC_SEARCH;
2515 case 1: return FIXED_SEARCH;
2516 case 2: return PORTFOLIO_SEARCH;
2517 case 3: return LP_SEARCH;
2518 case 4: return PSEUDO_COST_SEARCH;
2519 case 5: return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
2520 case 6: return HINT_SEARCH;
2521 default: return null;
2522 }
2523 }
2524
2525 public static com.google.protobuf.Internal.EnumLiteMap<SearchBranching>
2527 return internalValueMap;
2528 }
2529 private static final com.google.protobuf.Internal.EnumLiteMap<
2530 SearchBranching> internalValueMap =
2531 new com.google.protobuf.Internal.EnumLiteMap<SearchBranching>() {
2532 public SearchBranching findValueByNumber(int number) {
2533 return SearchBranching.forNumber(number);
2534 }
2535 };
2536
2537 public final com.google.protobuf.Descriptors.EnumValueDescriptor
2539 return getDescriptor().getValues().get(ordinal());
2540 }
2541 public final com.google.protobuf.Descriptors.EnumDescriptor
2543 return getDescriptor();
2544 }
2545 public static final com.google.protobuf.Descriptors.EnumDescriptor
2547 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
2548 }
2549
2550 private static final SearchBranching[] VALUES = values();
2551
2553 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2554 if (desc.getType() != getDescriptor()) {
2555 throw new java.lang.IllegalArgumentException(
2556 "EnumValueDescriptor is not for this type.");
2557 }
2558 return VALUES[desc.getIndex()];
2559 }
2560
2561 private final int value;
2562
2563 private SearchBranching(int value) {
2564 this.value = value;
2565 }
2566
2567 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.SearchBranching)
2568 }
2569
2578 implements com.google.protobuf.ProtocolMessageEnum {
2619 ;
2620
2628 public static final int NEAREST_INTEGER_VALUE = 0;
2638 public static final int LOCK_BASED_VALUE = 1;
2647 public static final int ACTIVE_LOCK_BASED_VALUE = 3;
2660 public static final int PROPAGATION_ASSISTED_VALUE = 2;
2661
2662
2663 public final int getNumber() {
2664 return value;
2665 }
2666
2672 @java.lang.Deprecated
2673 public static FPRoundingMethod valueOf(int value) {
2674 return forNumber(value);
2675 }
2676
2681 public static FPRoundingMethod forNumber(int value) {
2682 switch (value) {
2683 case 0: return NEAREST_INTEGER;
2684 case 1: return LOCK_BASED;
2685 case 3: return ACTIVE_LOCK_BASED;
2686 case 2: return PROPAGATION_ASSISTED;
2687 default: return null;
2688 }
2689 }
2690
2691 public static com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>
2693 return internalValueMap;
2694 }
2695 private static final com.google.protobuf.Internal.EnumLiteMap<
2696 FPRoundingMethod> internalValueMap =
2697 new com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>() {
2698 public FPRoundingMethod findValueByNumber(int number) {
2699 return FPRoundingMethod.forNumber(number);
2700 }
2701 };
2702
2703 public final com.google.protobuf.Descriptors.EnumValueDescriptor
2705 return getDescriptor().getValues().get(ordinal());
2706 }
2707 public final com.google.protobuf.Descriptors.EnumDescriptor
2709 return getDescriptor();
2710 }
2711 public static final com.google.protobuf.Descriptors.EnumDescriptor
2713 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(10);
2714 }
2715
2716 private static final FPRoundingMethod[] VALUES = values();
2717
2719 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2720 if (desc.getType() != getDescriptor()) {
2721 throw new java.lang.IllegalArgumentException(
2722 "EnumValueDescriptor is not for this type.");
2723 }
2724 return VALUES[desc.getIndex()];
2725 }
2726
2727 private final int value;
2728
2729 private FPRoundingMethod(int value) {
2730 this.value = value;
2731 }
2732
2733 // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.FPRoundingMethod)
2734 }
2735
2736 private int bitField0_;
2737 private int bitField1_;
2738 private int bitField2_;
2739 private int bitField3_;
2740 private int bitField4_;
2741 private int bitField5_;
2742 public static final int NAME_FIELD_NUMBER = 171;
2743 private volatile java.lang.Object name_;
2753 @java.lang.Override
2754 public boolean hasName() {
2755 return ((bitField0_ & 0x00000001) != 0);
2756 }
2766 @java.lang.Override
2767 public java.lang.String getName() {
2768 java.lang.Object ref = name_;
2769 if (ref instanceof java.lang.String) {
2770 return (java.lang.String) ref;
2771 } else {
2772 com.google.protobuf.ByteString bs =
2773 (com.google.protobuf.ByteString) ref;
2774 java.lang.String s = bs.toStringUtf8();
2775 if (bs.isValidUtf8()) {
2776 name_ = s;
2777 }
2778 return s;
2779 }
2780 }
2790 @java.lang.Override
2791 public com.google.protobuf.ByteString
2793 java.lang.Object ref = name_;
2794 if (ref instanceof java.lang.String) {
2795 com.google.protobuf.ByteString b =
2796 com.google.protobuf.ByteString.copyFromUtf8(
2797 (java.lang.String) ref);
2798 name_ = b;
2799 return b;
2800 } else {
2801 return (com.google.protobuf.ByteString) ref;
2802 }
2803 }
2804
2805 public static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER = 1;
2806 private int preferredVariableOrder_;
2811 @java.lang.Override public boolean hasPreferredVariableOrder() {
2812 return ((bitField0_ & 0x00000002) != 0);
2813 }
2818 @java.lang.Override public com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder() {
2819 @SuppressWarnings("deprecation")
2820 com.google.ortools.sat.SatParameters.VariableOrder result = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(preferredVariableOrder_);
2821 return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
2822 }
2823
2824 public static final int INITIAL_POLARITY_FIELD_NUMBER = 2;
2825 private int initialPolarity_;
2830 @java.lang.Override public boolean hasInitialPolarity() {
2831 return ((bitField0_ & 0x00000004) != 0);
2832 }
2837 @java.lang.Override public com.google.ortools.sat.SatParameters.Polarity getInitialPolarity() {
2838 @SuppressWarnings("deprecation")
2839 com.google.ortools.sat.SatParameters.Polarity result = com.google.ortools.sat.SatParameters.Polarity.valueOf(initialPolarity_);
2840 return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
2841 }
2842
2843 public static final int USE_PHASE_SAVING_FIELD_NUMBER = 44;
2844 private boolean usePhaseSaving_;
2861 @java.lang.Override
2862 public boolean hasUsePhaseSaving() {
2863 return ((bitField0_ & 0x00000008) != 0);
2864 }
2881 @java.lang.Override
2882 public boolean getUsePhaseSaving() {
2883 return usePhaseSaving_;
2884 }
2885
2886 public static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER = 168;
2887 private int polarityRephaseIncrement_;
2898 @java.lang.Override
2900 return ((bitField0_ & 0x00000010) != 0);
2901 }
2912 @java.lang.Override
2914 return polarityRephaseIncrement_;
2915 }
2916
2917 public static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER = 45;
2918 private double randomPolarityRatio_;
2931 @java.lang.Override
2932 public boolean hasRandomPolarityRatio() {
2933 return ((bitField0_ & 0x00000020) != 0);
2934 }
2947 @java.lang.Override
2948 public double getRandomPolarityRatio() {
2949 return randomPolarityRatio_;
2950 }
2951
2952 public static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER = 32;
2953 private double randomBranchesRatio_;
2964 @java.lang.Override
2965 public boolean hasRandomBranchesRatio() {
2966 return ((bitField0_ & 0x00000040) != 0);
2967 }
2978 @java.lang.Override
2979 public double getRandomBranchesRatio() {
2980 return randomBranchesRatio_;
2981 }
2982
2983 public static final int USE_ERWA_HEURISTIC_FIELD_NUMBER = 75;
2984 private boolean useErwaHeuristic_;
2995 @java.lang.Override
2996 public boolean hasUseErwaHeuristic() {
2997 return ((bitField0_ & 0x00000080) != 0);
2998 }
3009 @java.lang.Override
3010 public boolean getUseErwaHeuristic() {
3011 return useErwaHeuristic_;
3012 }
3013
3014 public static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER = 76;
3015 private double initialVariablesActivity_;
3029 @java.lang.Override
3031 return ((bitField0_ & 0x00000100) != 0);
3032 }
3046 @java.lang.Override
3048 return initialVariablesActivity_;
3049 }
3050
3052 private boolean alsoBumpVariablesInConflictReasons_;
3064 @java.lang.Override
3066 return ((bitField0_ & 0x00000200) != 0);
3067 }
3079 @java.lang.Override
3081 return alsoBumpVariablesInConflictReasons_;
3082 }
3083
3084 public static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER = 4;
3085 private int minimizationAlgorithm_;
3090 @java.lang.Override public boolean hasMinimizationAlgorithm() {
3091 return ((bitField0_ & 0x00000400) != 0);
3092 }
3097 @java.lang.Override public com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm() {
3098 @SuppressWarnings("deprecation")
3099 com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm result = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(minimizationAlgorithm_);
3100 return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
3101 }
3102
3104 private int binaryMinimizationAlgorithm_;
3109 @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
3110 return ((bitField0_ & 0x00000800) != 0);
3111 }
3116 @java.lang.Override public com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm() {
3117 @SuppressWarnings("deprecation")
3118 com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm result = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(binaryMinimizationAlgorithm_);
3119 return result == null ? com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.BINARY_MINIMIZATION_FIRST : result;
3120 }
3121
3123 private boolean subsumptionDuringConflictAnalysis_;
3135 @java.lang.Override
3137 return ((bitField0_ & 0x00001000) != 0);
3138 }
3150 @java.lang.Override
3152 return subsumptionDuringConflictAnalysis_;
3153 }
3154
3155 public static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER = 11;
3156 private int clauseCleanupPeriod_;
3165 @java.lang.Override
3166 public boolean hasClauseCleanupPeriod() {
3167 return ((bitField0_ & 0x00002000) != 0);
3168 }
3177 @java.lang.Override
3179 return clauseCleanupPeriod_;
3180 }
3181
3182 public static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER = 13;
3183 private int clauseCleanupTarget_;
3193 @java.lang.Override
3194 public boolean hasClauseCleanupTarget() {
3195 return ((bitField0_ & 0x00004000) != 0);
3196 }
3206 @java.lang.Override
3208 return clauseCleanupTarget_;
3209 }
3210
3211 public static final int CLAUSE_CLEANUP_RATIO_FIELD_NUMBER = 190;
3212 private double clauseCleanupRatio_;
3223 @java.lang.Override
3224 public boolean hasClauseCleanupRatio() {
3225 return ((bitField0_ & 0x00008000) != 0);
3226 }
3237 @java.lang.Override
3238 public double getClauseCleanupRatio() {
3239 return clauseCleanupRatio_;
3240 }
3241
3242 public static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER = 58;
3243 private int clauseCleanupProtection_;
3248 @java.lang.Override public boolean hasClauseCleanupProtection() {
3249 return ((bitField0_ & 0x00010000) != 0);
3250 }
3255 @java.lang.Override public com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection() {
3256 @SuppressWarnings("deprecation")
3257 com.google.ortools.sat.SatParameters.ClauseProtection result = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(clauseCleanupProtection_);
3258 return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
3259 }
3260
3261 public static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER = 59;
3262 private int clauseCleanupLbdBound_;
3272 @java.lang.Override
3273 public boolean hasClauseCleanupLbdBound() {
3274 return ((bitField0_ & 0x00020000) != 0);
3275 }
3285 @java.lang.Override
3287 return clauseCleanupLbdBound_;
3288 }
3289
3290 public static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER = 60;
3291 private int clauseCleanupOrdering_;
3296 @java.lang.Override public boolean hasClauseCleanupOrdering() {
3297 return ((bitField0_ & 0x00040000) != 0);
3298 }
3303 @java.lang.Override public com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering() {
3304 @SuppressWarnings("deprecation")
3305 com.google.ortools.sat.SatParameters.ClauseOrdering result = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(clauseCleanupOrdering_);
3306 return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
3307 }
3308
3309 public static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER = 46;
3310 private int pbCleanupIncrement_;
3319 @java.lang.Override
3320 public boolean hasPbCleanupIncrement() {
3321 return ((bitField0_ & 0x00080000) != 0);
3322 }
3331 @java.lang.Override
3333 return pbCleanupIncrement_;
3334 }
3335
3336 public static final int PB_CLEANUP_RATIO_FIELD_NUMBER = 47;
3337 private double pbCleanupRatio_;
3342 @java.lang.Override
3343 public boolean hasPbCleanupRatio() {
3344 return ((bitField0_ & 0x00100000) != 0);
3345 }
3350 @java.lang.Override
3351 public double getPbCleanupRatio() {
3352 return pbCleanupRatio_;
3353 }
3354
3356 private int minimizeWithPropagationRestartPeriod_;
3375 @java.lang.Override
3377 return ((bitField0_ & 0x00200000) != 0);
3378 }
3397 @java.lang.Override
3399 return minimizeWithPropagationRestartPeriod_;
3400 }
3401
3403 private int minimizeWithPropagationNumDecisions_;
3408 @java.lang.Override
3410 return ((bitField0_ & 0x00400000) != 0);
3411 }
3416 @java.lang.Override
3418 return minimizeWithPropagationNumDecisions_;
3419 }
3420
3421 public static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER = 15;
3422 private double variableActivityDecay_;
3437 @java.lang.Override
3438 public boolean hasVariableActivityDecay() {
3439 return ((bitField0_ & 0x00800000) != 0);
3440 }
3455 @java.lang.Override
3457 return variableActivityDecay_;
3458 }
3459
3460 public static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER = 16;
3461 private double maxVariableActivityValue_;
3466 @java.lang.Override
3468 return ((bitField0_ & 0x01000000) != 0);
3469 }
3474 @java.lang.Override
3476 return maxVariableActivityValue_;
3477 }
3478
3479 public static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER = 22;
3480 private double glucoseMaxDecay_;
3492 @java.lang.Override
3493 public boolean hasGlucoseMaxDecay() {
3494 return ((bitField0_ & 0x02000000) != 0);
3495 }
3507 @java.lang.Override
3508 public double getGlucoseMaxDecay() {
3509 return glucoseMaxDecay_;
3510 }
3511
3512 public static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER = 23;
3513 private double glucoseDecayIncrement_;
3518 @java.lang.Override
3519 public boolean hasGlucoseDecayIncrement() {
3520 return ((bitField0_ & 0x04000000) != 0);
3521 }
3526 @java.lang.Override
3528 return glucoseDecayIncrement_;
3529 }
3530
3532 private int glucoseDecayIncrementPeriod_;
3537 @java.lang.Override
3539 return ((bitField0_ & 0x08000000) != 0);
3540 }
3545 @java.lang.Override
3547 return glucoseDecayIncrementPeriod_;
3548 }
3549
3550 public static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER = 17;
3551 private double clauseActivityDecay_;
3560 @java.lang.Override
3561 public boolean hasClauseActivityDecay() {
3562 return ((bitField0_ & 0x10000000) != 0);
3563 }
3572 @java.lang.Override
3573 public double getClauseActivityDecay() {
3574 return clauseActivityDecay_;
3575 }
3576
3577 public static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER = 18;
3578 private double maxClauseActivityValue_;
3583 @java.lang.Override
3584 public boolean hasMaxClauseActivityValue() {
3585 return ((bitField0_ & 0x20000000) != 0);
3586 }
3591 @java.lang.Override
3593 return maxClauseActivityValue_;
3594 }
3595
3596 public static final int RESTART_ALGORITHMS_FIELD_NUMBER = 61;
3597 private java.util.List<java.lang.Integer> restartAlgorithms_;
3598 private static final com.google.protobuf.Internal.ListAdapter.Converter<
3599 java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm> restartAlgorithms_converter_ =
3600 new com.google.protobuf.Internal.ListAdapter.Converter<
3601 java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>() {
3602 public com.google.ortools.sat.SatParameters.RestartAlgorithm convert(java.lang.Integer from) {
3603 @SuppressWarnings("deprecation")
3604 com.google.ortools.sat.SatParameters.RestartAlgorithm result = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(from);
3605 return result == null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
3606 }
3607 };
3623 @java.lang.Override
3624 public java.util.List<com.google.ortools.sat.SatParameters.RestartAlgorithm> getRestartAlgorithmsList() {
3625 return new com.google.protobuf.Internal.ListAdapter<
3626 java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
3627 }
3643 @java.lang.Override
3645 return restartAlgorithms_.size();
3646 }
3663 @java.lang.Override
3664 public com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index) {
3665 return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
3666 }
3667
3668 public static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER = 70;
3669 private volatile java.lang.Object defaultRestartAlgorithms_;
3674 @java.lang.Override
3676 return ((bitField0_ & 0x40000000) != 0);
3677 }
3682 @java.lang.Override
3683 public java.lang.String getDefaultRestartAlgorithms() {
3684 java.lang.Object ref = defaultRestartAlgorithms_;
3685 if (ref instanceof java.lang.String) {
3686 return (java.lang.String) ref;
3687 } else {
3688 com.google.protobuf.ByteString bs =
3689 (com.google.protobuf.ByteString) ref;
3690 java.lang.String s = bs.toStringUtf8();
3691 if (bs.isValidUtf8()) {
3692 defaultRestartAlgorithms_ = s;
3693 }
3694 return s;
3695 }
3696 }
3701 @java.lang.Override
3702 public com.google.protobuf.ByteString
3704 java.lang.Object ref = defaultRestartAlgorithms_;
3705 if (ref instanceof java.lang.String) {
3706 com.google.protobuf.ByteString b =
3707 com.google.protobuf.ByteString.copyFromUtf8(
3708 (java.lang.String) ref);
3709 defaultRestartAlgorithms_ = b;
3710 return b;
3711 } else {
3712 return (com.google.protobuf.ByteString) ref;
3713 }
3714 }
3715
3716 public static final int RESTART_PERIOD_FIELD_NUMBER = 30;
3717 private int restartPeriod_;
3727 @java.lang.Override
3728 public boolean hasRestartPeriod() {
3729 return ((bitField0_ & 0x80000000) != 0);
3730 }
3740 @java.lang.Override
3741 public int getRestartPeriod() {
3742 return restartPeriod_;
3743 }
3744
3745 public static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER = 62;
3746 private int restartRunningWindowSize_;
3755 @java.lang.Override
3757 return ((bitField1_ & 0x00000001) != 0);
3758 }
3767 @java.lang.Override
3769 return restartRunningWindowSize_;
3770 }
3771
3772 public static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER = 63;
3773 private double restartDlAverageRatio_;
3783 @java.lang.Override
3784 public boolean hasRestartDlAverageRatio() {
3785 return ((bitField1_ & 0x00000002) != 0);
3786 }
3796 @java.lang.Override
3798 return restartDlAverageRatio_;
3799 }
3800
3801 public static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER = 71;
3802 private double restartLbdAverageRatio_;
3807 @java.lang.Override
3808 public boolean hasRestartLbdAverageRatio() {
3809 return ((bitField1_ & 0x00000004) != 0);
3810 }
3815 @java.lang.Override
3817 return restartLbdAverageRatio_;
3818 }
3819
3820 public static final int USE_BLOCKING_RESTART_FIELD_NUMBER = 64;
3821 private boolean useBlockingRestart_;
3832 @java.lang.Override
3833 public boolean hasUseBlockingRestart() {
3834 return ((bitField1_ & 0x00000008) != 0);
3835 }
3846 @java.lang.Override
3847 public boolean getUseBlockingRestart() {
3848 return useBlockingRestart_;
3849 }
3850
3851 public static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER = 65;
3852 private int blockingRestartWindowSize_;
3857 @java.lang.Override
3859 return ((bitField1_ & 0x00000010) != 0);
3860 }
3865 @java.lang.Override
3867 return blockingRestartWindowSize_;
3868 }
3869
3870 public static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER = 66;
3871 private double blockingRestartMultiplier_;
3876 @java.lang.Override
3878 return ((bitField1_ & 0x00000020) != 0);
3879 }
3884 @java.lang.Override
3886 return blockingRestartMultiplier_;
3887 }
3888
3890 private int numConflictsBeforeStrategyChanges_;
3901 @java.lang.Override
3903 return ((bitField1_ & 0x00000040) != 0);
3904 }
3915 @java.lang.Override
3917 return numConflictsBeforeStrategyChanges_;
3918 }
3919
3921 private double strategyChangeIncreaseRatio_;
3931 @java.lang.Override
3933 return ((bitField1_ & 0x00000080) != 0);
3934 }
3944 @java.lang.Override
3946 return strategyChangeIncreaseRatio_;
3947 }
3948
3949 public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 36;
3950 private double maxTimeInSeconds_;
3960 @java.lang.Override
3961 public boolean hasMaxTimeInSeconds() {
3962 return ((bitField1_ & 0x00000100) != 0);
3963 }
3973 @java.lang.Override
3974 public double getMaxTimeInSeconds() {
3975 return maxTimeInSeconds_;
3976 }
3977
3978 public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 67;
3979 private double maxDeterministicTime_;
3990 @java.lang.Override
3991 public boolean hasMaxDeterministicTime() {
3992 return ((bitField1_ & 0x00000200) != 0);
3993 }
4004 @java.lang.Override
4005 public double getMaxDeterministicTime() {
4006 return maxDeterministicTime_;
4007 }
4008
4009 public static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER = 37;
4010 private long maxNumberOfConflicts_;
4024 @java.lang.Override
4025 public boolean hasMaxNumberOfConflicts() {
4026 return ((bitField1_ & 0x00000400) != 0);
4027 }
4041 @java.lang.Override
4043 return maxNumberOfConflicts_;
4044 }
4045
4046 public static final int MAX_MEMORY_IN_MB_FIELD_NUMBER = 40;
4047 private long maxMemoryInMb_;
4060 @java.lang.Override
4061 public boolean hasMaxMemoryInMb() {
4062 return ((bitField1_ & 0x00000800) != 0);
4063 }
4076 @java.lang.Override
4077 public long getMaxMemoryInMb() {
4078 return maxMemoryInMb_;
4079 }
4080
4081 public static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER = 159;
4082 private double absoluteGapLimit_;
4105 @java.lang.Override
4106 public boolean hasAbsoluteGapLimit() {
4107 return ((bitField1_ & 0x00001000) != 0);
4108 }
4131 @java.lang.Override
4132 public double getAbsoluteGapLimit() {
4133 return absoluteGapLimit_;
4134 }
4135
4136 public static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER = 160;
4137 private double relativeGapLimit_;
4142 @java.lang.Override
4143 public boolean hasRelativeGapLimit() {
4144 return ((bitField1_ & 0x00002000) != 0);
4145 }
4150 @java.lang.Override
4151 public double getRelativeGapLimit() {
4152 return relativeGapLimit_;
4153 }
4154
4156 private boolean treatBinaryClausesSeparately_;
4167 @java.lang.Override
4169 return ((bitField1_ & 0x00004000) != 0);
4170 }
4181 @java.lang.Override
4183 return treatBinaryClausesSeparately_;
4184 }
4185
4186 public static final int RANDOM_SEED_FIELD_NUMBER = 31;
4187 private int randomSeed_;
4201 @java.lang.Override
4202 public boolean hasRandomSeed() {
4203 return ((bitField1_ & 0x00008000) != 0);
4204 }
4218 @java.lang.Override
4219 public int getRandomSeed() {
4220 return randomSeed_;
4221 }
4222
4223 public static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER = 178;
4224 private boolean permuteVariableRandomly_;
4236 @java.lang.Override
4238 return ((bitField1_ & 0x00010000) != 0);
4239 }
4251 @java.lang.Override
4253 return permuteVariableRandomly_;
4254 }
4255
4257 private boolean permutePresolveConstraintOrder_;
4262 @java.lang.Override
4264 return ((bitField1_ & 0x00020000) != 0);
4265 }
4270 @java.lang.Override
4272 return permutePresolveConstraintOrder_;
4273 }
4274
4275 public static final int USE_ABSL_RANDOM_FIELD_NUMBER = 180;
4276 private boolean useAbslRandom_;
4281 @java.lang.Override
4282 public boolean hasUseAbslRandom() {
4283 return ((bitField1_ & 0x00040000) != 0);
4284 }
4289 @java.lang.Override
4290 public boolean getUseAbslRandom() {
4291 return useAbslRandom_;
4292 }
4293
4294 public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 41;
4295 private boolean logSearchProgress_;
4305 @java.lang.Override
4306 public boolean hasLogSearchProgress() {
4307 return ((bitField1_ & 0x00080000) != 0);
4308 }
4318 @java.lang.Override
4319 public boolean getLogSearchProgress() {
4320 return logSearchProgress_;
4321 }
4322
4323 public static final int LOG_SUBSOLVER_STATISTICS_FIELD_NUMBER = 189;
4324 private boolean logSubsolverStatistics_;
4335 @java.lang.Override
4336 public boolean hasLogSubsolverStatistics() {
4337 return ((bitField1_ & 0x00100000) != 0);
4338 }
4349 @java.lang.Override
4350 public boolean getLogSubsolverStatistics() {
4351 return logSubsolverStatistics_;
4352 }
4353
4354 public static final int LOG_PREFIX_FIELD_NUMBER = 185;
4355 private volatile java.lang.Object logPrefix_;
4364 @java.lang.Override
4365 public boolean hasLogPrefix() {
4366 return ((bitField1_ & 0x00200000) != 0);
4367 }
4376 @java.lang.Override
4377 public java.lang.String getLogPrefix() {
4378 java.lang.Object ref = logPrefix_;
4379 if (ref instanceof java.lang.String) {
4380 return (java.lang.String) ref;
4381 } else {
4382 com.google.protobuf.ByteString bs =
4383 (com.google.protobuf.ByteString) ref;
4384 java.lang.String s = bs.toStringUtf8();
4385 if (bs.isValidUtf8()) {
4386 logPrefix_ = s;
4387 }
4388 return s;
4389 }
4390 }
4399 @java.lang.Override
4400 public com.google.protobuf.ByteString
4402 java.lang.Object ref = logPrefix_;
4403 if (ref instanceof java.lang.String) {
4404 com.google.protobuf.ByteString b =
4405 com.google.protobuf.ByteString.copyFromUtf8(
4406 (java.lang.String) ref);
4407 logPrefix_ = b;
4408 return b;
4409 } else {
4410 return (com.google.protobuf.ByteString) ref;
4411 }
4412 }
4413
4414 public static final int LOG_TO_STDOUT_FIELD_NUMBER = 186;
4415 private boolean logToStdout_;
4424 @java.lang.Override
4425 public boolean hasLogToStdout() {
4426 return ((bitField1_ & 0x00400000) != 0);
4427 }
4436 @java.lang.Override
4437 public boolean getLogToStdout() {
4438 return logToStdout_;
4439 }
4440
4441 public static final int LOG_TO_RESPONSE_FIELD_NUMBER = 187;
4442 private boolean logToResponse_;
4451 @java.lang.Override
4452 public boolean hasLogToResponse() {
4453 return ((bitField1_ & 0x00800000) != 0);
4454 }
4463 @java.lang.Override
4464 public boolean getLogToResponse() {
4465 return logToResponse_;
4466 }
4467
4468 public static final int USE_PB_RESOLUTION_FIELD_NUMBER = 43;
4469 private boolean usePbResolution_;
4481 @java.lang.Override
4482 public boolean hasUsePbResolution() {
4483 return ((bitField1_ & 0x01000000) != 0);
4484 }
4496 @java.lang.Override
4497 public boolean getUsePbResolution() {
4498 return usePbResolution_;
4499 }
4500
4502 private boolean minimizeReductionDuringPbResolution_;
4514 @java.lang.Override
4516 return ((bitField1_ & 0x02000000) != 0);
4517 }
4529 @java.lang.Override
4531 return minimizeReductionDuringPbResolution_;
4532 }
4533
4535 private boolean countAssumptionLevelsInLbd_;
4551 @java.lang.Override
4553 return ((bitField1_ & 0x04000000) != 0);
4554 }
4570 @java.lang.Override
4572 return countAssumptionLevelsInLbd_;
4573 }
4574
4575 public static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER = 54;
4576 private int presolveBveThreshold_;
4587 @java.lang.Override
4588 public boolean hasPresolveBveThreshold() {
4589 return ((bitField1_ & 0x08000000) != 0);
4590 }
4601 @java.lang.Override
4603 return presolveBveThreshold_;
4604 }
4605
4606 public static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER = 55;
4607 private int presolveBveClauseWeight_;
4617 @java.lang.Override
4619 return ((bitField1_ & 0x10000000) != 0);
4620 }
4630 @java.lang.Override
4632 return presolveBveClauseWeight_;
4633 }
4634
4636 private double presolveProbingDeterministicTimeLimit_;
4646 @java.lang.Override
4648 return ((bitField1_ & 0x20000000) != 0);
4649 }
4659 @java.lang.Override
4661 return presolveProbingDeterministicTimeLimit_;
4662 }
4663
4664 public static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER = 88;
4665 private boolean presolveBlockedClause_;
4675 @java.lang.Override
4676 public boolean hasPresolveBlockedClause() {
4677 return ((bitField1_ & 0x40000000) != 0);
4678 }
4688 @java.lang.Override
4689 public boolean getPresolveBlockedClause() {
4690 return presolveBlockedClause_;
4691 }
4692
4693 public static final int PRESOLVE_USE_BVA_FIELD_NUMBER = 72;
4694 private boolean presolveUseBva_;
4703 @java.lang.Override
4704 public boolean hasPresolveUseBva() {
4705 return ((bitField1_ & 0x80000000) != 0);
4706 }
4715 @java.lang.Override
4716 public boolean getPresolveUseBva() {
4717 return presolveUseBva_;
4718 }
4719
4720 public static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER = 73;
4721 private int presolveBvaThreshold_;
4733 @java.lang.Override
4734 public boolean hasPresolveBvaThreshold() {
4735 return ((bitField2_ & 0x00000001) != 0);
4736 }
4748 @java.lang.Override
4750 return presolveBvaThreshold_;
4751 }
4752
4753 public static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER = 138;
4754 private int maxPresolveIterations_;
4765 @java.lang.Override
4766 public boolean hasMaxPresolveIterations() {
4767 return ((bitField2_ & 0x00000002) != 0);
4768 }
4779 @java.lang.Override
4781 return maxPresolveIterations_;
4782 }
4783
4784 public static final int CP_MODEL_PRESOLVE_FIELD_NUMBER = 86;
4785 private boolean cpModelPresolve_;
4794 @java.lang.Override
4795 public boolean hasCpModelPresolve() {
4796 return ((bitField2_ & 0x00000004) != 0);
4797 }
4806 @java.lang.Override
4807 public boolean getCpModelPresolve() {
4808 return cpModelPresolve_;
4809 }
4810
4811 public static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER = 110;
4812 private int cpModelProbingLevel_;
4821 @java.lang.Override
4822 public boolean hasCpModelProbingLevel() {
4823 return ((bitField2_ & 0x00000008) != 0);
4824 }
4833 @java.lang.Override
4835 return cpModelProbingLevel_;
4836 }
4837
4838 public static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER = 93;
4839 private boolean cpModelUseSatPresolve_;
4848 @java.lang.Override
4849 public boolean hasCpModelUseSatPresolve() {
4850 return ((bitField2_ & 0x00000010) != 0);
4851 }
4860 @java.lang.Override
4861 public boolean getCpModelUseSatPresolve() {
4862 return cpModelUseSatPresolve_;
4863 }
4864
4865 public static final int USE_SAT_INPROCESSING_FIELD_NUMBER = 163;
4866 private boolean useSatInprocessing_;
4871 @java.lang.Override
4872 public boolean hasUseSatInprocessing() {
4873 return ((bitField2_ & 0x00000020) != 0);
4874 }
4879 @java.lang.Override
4880 public boolean getUseSatInprocessing() {
4881 return useSatInprocessing_;
4882 }
4883
4884 public static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER = 170;
4885 private boolean expandAlldiffConstraints_;
4895 @java.lang.Override
4897 return ((bitField2_ & 0x00000040) != 0);
4898 }
4908 @java.lang.Override
4910 return expandAlldiffConstraints_;
4911 }
4912
4913 public static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER = 181;
4914 private boolean disableConstraintExpansion_;
4924 @java.lang.Override
4926 return ((bitField2_ & 0x00000080) != 0);
4927 }
4937 @java.lang.Override
4939 return disableConstraintExpansion_;
4940 }
4941
4942 public static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER = 145;
4943 private double mergeNoOverlapWorkLimit_;
4956 @java.lang.Override
4958 return ((bitField2_ & 0x00000100) != 0);
4959 }
4972 @java.lang.Override
4974 return mergeNoOverlapWorkLimit_;
4975 }
4976
4977 public static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER = 146;
4978 private double mergeAtMostOneWorkLimit_;
4983 @java.lang.Override
4985 return ((bitField2_ & 0x00000200) != 0);
4986 }
4991 @java.lang.Override
4993 return mergeAtMostOneWorkLimit_;
4994 }
4995
4996 public static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER = 147;
4997 private int presolveSubstitutionLevel_;
5009 @java.lang.Override
5011 return ((bitField2_ & 0x00000400) != 0);
5012 }
5024 @java.lang.Override
5026 return presolveSubstitutionLevel_;
5027 }
5028
5030 private boolean presolveExtractIntegerEnforcement_;
5044 @java.lang.Override
5046 return ((bitField2_ & 0x00000800) != 0);
5047 }
5061 @java.lang.Override
5063 return presolveExtractIntegerEnforcement_;
5064 }
5065
5067 private boolean debugPostsolveWithFullSolver_;
5078 @java.lang.Override
5080 return ((bitField2_ & 0x00001000) != 0);
5081 }
5092 @java.lang.Override
5094 return debugPostsolveWithFullSolver_;
5095 }
5096
5098 private int debugMaxNumPresolveOperations_;
5108 @java.lang.Override
5110 return ((bitField2_ & 0x00002000) != 0);
5111 }
5121 @java.lang.Override
5123 return debugMaxNumPresolveOperations_;
5124 }
5125
5126 public static final int DEBUG_CRASH_ON_BAD_HINT_FIELD_NUMBER = 195;
5127 private boolean debugCrashOnBadHint_;
5136 @java.lang.Override
5137 public boolean hasDebugCrashOnBadHint() {
5138 return ((bitField2_ & 0x00004000) != 0);
5139 }
5148 @java.lang.Override
5149 public boolean getDebugCrashOnBadHint() {
5150 return debugCrashOnBadHint_;
5151 }
5152
5153 public static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER = 35;
5154 private boolean useOptimizationHints_;
5166 @java.lang.Override
5167 public boolean hasUseOptimizationHints() {
5168 return ((bitField2_ & 0x00008000) != 0);
5169 }
5181 @java.lang.Override
5182 public boolean getUseOptimizationHints() {
5183 return useOptimizationHints_;
5184 }
5185
5186 public static final int MINIMIZE_CORE_FIELD_NUMBER = 50;
5187 private boolean minimizeCore_;
5196 @java.lang.Override
5197 public boolean hasMinimizeCore() {
5198 return ((bitField2_ & 0x00010000) != 0);
5199 }
5208 @java.lang.Override
5209 public boolean getMinimizeCore() {
5210 return minimizeCore_;
5211 }
5212
5213 public static final int FIND_MULTIPLE_CORES_FIELD_NUMBER = 84;
5214 private boolean findMultipleCores_;
5224 @java.lang.Override
5225 public boolean hasFindMultipleCores() {
5226 return ((bitField2_ & 0x00020000) != 0);
5227 }
5237 @java.lang.Override
5238 public boolean getFindMultipleCores() {
5239 return findMultipleCores_;
5240 }
5241
5242 public static final int COVER_OPTIMIZATION_FIELD_NUMBER = 89;
5243 private boolean coverOptimization_;
5253 @java.lang.Override
5254 public boolean hasCoverOptimization() {
5255 return ((bitField2_ & 0x00040000) != 0);
5256 }
5266 @java.lang.Override
5267 public boolean getCoverOptimization() {
5268 return coverOptimization_;
5269 }
5270
5271 public static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER = 51;
5272 private int maxSatAssumptionOrder_;
5277 @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
5278 return ((bitField2_ & 0x00080000) != 0);
5279 }
5284 @java.lang.Override public com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder() {
5285 @SuppressWarnings("deprecation")
5286 com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder result = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(maxSatAssumptionOrder_);
5287 return result == null ? com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.DEFAULT_ASSUMPTION_ORDER : result;
5288 }
5289
5291 private boolean maxSatReverseAssumptionOrder_;
5301 @java.lang.Override
5303 return ((bitField2_ & 0x00100000) != 0);
5304 }
5314 @java.lang.Override
5316 return maxSatReverseAssumptionOrder_;
5317 }
5318
5319 public static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER = 53;
5320 private int maxSatStratification_;
5325 @java.lang.Override public boolean hasMaxSatStratification() {
5326 return ((bitField2_ & 0x00200000) != 0);
5327 }
5332 @java.lang.Override public com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification() {
5333 @SuppressWarnings("deprecation")
5334 com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm result = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(maxSatStratification_);
5335 return result == null ? com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.STRATIFICATION_DESCENT : result;
5336 }
5337
5339 private boolean usePrecedencesInDisjunctiveConstraint_;
5355 @java.lang.Override
5357 return ((bitField2_ & 0x00400000) != 0);
5358 }
5374 @java.lang.Override
5376 return usePrecedencesInDisjunctiveConstraint_;
5377 }
5378
5380 private boolean useOverloadCheckerInCumulativeConstraint_;
5394 @java.lang.Override
5396 return ((bitField2_ & 0x00800000) != 0);
5397 }
5411 @java.lang.Override
5413 return useOverloadCheckerInCumulativeConstraint_;
5414 }
5415
5417 private boolean useTimetableEdgeFindingInCumulativeConstraint_;
5431 @java.lang.Override
5433 return ((bitField2_ & 0x01000000) != 0);
5434 }
5448 @java.lang.Override
5450 return useTimetableEdgeFindingInCumulativeConstraint_;
5451 }
5452
5454 private boolean useDisjunctiveConstraintInCumulativeConstraint_;
5470 @java.lang.Override
5472 return ((bitField2_ & 0x02000000) != 0);
5473 }
5489 @java.lang.Override
5491 return useDisjunctiveConstraintInCumulativeConstraint_;
5492 }
5493
5495 private boolean useCumulativeInNoOverlap2D_;
5508 @java.lang.Override
5510 return ((bitField2_ & 0x04000000) != 0);
5511 }
5524 @java.lang.Override
5526 return useCumulativeInNoOverlap2D_;
5527 }
5528
5529 public static final int LINEARIZATION_LEVEL_FIELD_NUMBER = 90;
5530 private int linearizationLevel_;
5542 @java.lang.Override
5543 public boolean hasLinearizationLevel() {
5544 return ((bitField2_ & 0x08000000) != 0);
5545 }
5557 @java.lang.Override
5559 return linearizationLevel_;
5560 }
5561
5562 public static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER = 107;
5563 private int booleanEncodingLevel_;
5573 @java.lang.Override
5574 public boolean hasBooleanEncodingLevel() {
5575 return ((bitField2_ & 0x10000000) != 0);
5576 }
5586 @java.lang.Override
5588 return booleanEncodingLevel_;
5589 }
5590
5592 private int maxDomainSizeWhenEncodingEqNeqConstraints_;
5604 @java.lang.Override
5606 return ((bitField2_ & 0x20000000) != 0);
5607 }
5619 @java.lang.Override
5621 return maxDomainSizeWhenEncodingEqNeqConstraints_;
5622 }
5623
5624 public static final int MAX_NUM_CUTS_FIELD_NUMBER = 91;
5625 private int maxNumCuts_;
5637 @java.lang.Override
5638 public boolean hasMaxNumCuts() {
5639 return ((bitField2_ & 0x40000000) != 0);
5640 }
5652 @java.lang.Override
5653 public int getMaxNumCuts() {
5654 return maxNumCuts_;
5655 }
5656
5657 public static final int CUT_LEVEL_FIELD_NUMBER = 196;
5658 private int cutLevel_;
5669 @java.lang.Override
5670 public boolean hasCutLevel() {
5671 return ((bitField2_ & 0x80000000) != 0);
5672 }
5683 @java.lang.Override
5684 public int getCutLevel() {
5685 return cutLevel_;
5686 }
5687
5688 public static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER = 92;
5689 private boolean onlyAddCutsAtLevelZero_;
5699 @java.lang.Override
5700 public boolean hasOnlyAddCutsAtLevelZero() {
5701 return ((bitField3_ & 0x00000001) != 0);
5702 }
5712 @java.lang.Override
5713 public boolean getOnlyAddCutsAtLevelZero() {
5714 return onlyAddCutsAtLevelZero_;
5715 }
5716
5717 public static final int ADD_OBJECTIVE_CUT_FIELD_NUMBER = 197;
5718 private boolean addObjectiveCut_;
5731 @java.lang.Override
5732 public boolean hasAddObjectiveCut() {
5733 return ((bitField3_ & 0x00000002) != 0);
5734 }
5747 @java.lang.Override
5748 public boolean getAddObjectiveCut() {
5749 return addObjectiveCut_;
5750 }
5751
5752 public static final int ADD_CG_CUTS_FIELD_NUMBER = 117;
5753 private boolean addCgCuts_;
5763 @java.lang.Override
5764 public boolean hasAddCgCuts() {
5765 return ((bitField3_ & 0x00000004) != 0);
5766 }
5776 @java.lang.Override
5777 public boolean getAddCgCuts() {
5778 return addCgCuts_;
5779 }
5780
5781 public static final int ADD_MIR_CUTS_FIELD_NUMBER = 120;
5782 private boolean addMirCuts_;
5792 @java.lang.Override
5793 public boolean hasAddMirCuts() {
5794 return ((bitField3_ & 0x00000008) != 0);
5795 }
5805 @java.lang.Override
5806 public boolean getAddMirCuts() {
5807 return addMirCuts_;
5808 }
5809
5810 public static final int ADD_ZERO_HALF_CUTS_FIELD_NUMBER = 169;
5811 private boolean addZeroHalfCuts_;
5821 @java.lang.Override
5822 public boolean hasAddZeroHalfCuts() {
5823 return ((bitField3_ & 0x00000010) != 0);
5824 }
5834 @java.lang.Override
5835 public boolean getAddZeroHalfCuts() {
5836 return addZeroHalfCuts_;
5837 }
5838
5839 public static final int ADD_CLIQUE_CUTS_FIELD_NUMBER = 172;
5840 private boolean addCliqueCuts_;
5851 @java.lang.Override
5852 public boolean hasAddCliqueCuts() {
5853 return ((bitField3_ & 0x00000020) != 0);
5854 }
5865 @java.lang.Override
5866 public boolean getAddCliqueCuts() {
5867 return addCliqueCuts_;
5868 }
5869
5870 public static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER = 148;
5871 private int maxAllDiffCutSize_;
5882 @java.lang.Override
5883 public boolean hasMaxAllDiffCutSize() {
5884 return ((bitField3_ & 0x00000040) != 0);
5885 }
5896 @java.lang.Override
5898 return maxAllDiffCutSize_;
5899 }
5900
5901 public static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER = 152;
5902 private boolean addLinMaxCuts_;
5913 @java.lang.Override
5914 public boolean hasAddLinMaxCuts() {
5915 return ((bitField3_ & 0x00000080) != 0);
5916 }
5927 @java.lang.Override
5928 public boolean getAddLinMaxCuts() {
5929 return addLinMaxCuts_;
5930 }
5931
5932 public static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER = 119;
5933 private int maxIntegerRoundingScaling_;
5948 @java.lang.Override
5950 return ((bitField3_ & 0x00000100) != 0);
5951 }
5966 @java.lang.Override
5968 return maxIntegerRoundingScaling_;
5969 }
5970
5971 public static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER = 112;
5972 private boolean addLpConstraintsLazily_;
5984 @java.lang.Override
5985 public boolean hasAddLpConstraintsLazily() {
5986 return ((bitField3_ & 0x00000200) != 0);
5987 }
5999 @java.lang.Override
6000 public boolean getAddLpConstraintsLazily() {
6001 return addLpConstraintsLazily_;
6002 }
6003
6005 private double minOrthogonalityForLpConstraints_;
6018 @java.lang.Override
6020 return ((bitField3_ & 0x00000400) != 0);
6021 }
6034 @java.lang.Override
6036 return minOrthogonalityForLpConstraints_;
6037 }
6038
6039 public static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER = 154;
6040 private int maxCutRoundsAtLevelZero_;
6049 @java.lang.Override
6051 return ((bitField3_ & 0x00000800) != 0);
6052 }
6061 @java.lang.Override
6063 return maxCutRoundsAtLevelZero_;
6064 }
6065
6066 public static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER = 121;
6067 private int maxConsecutiveInactiveCount_;
6078 @java.lang.Override
6080 return ((bitField3_ & 0x00001000) != 0);
6081 }
6092 @java.lang.Override
6094 return maxConsecutiveInactiveCount_;
6095 }
6096
6097 public static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER = 155;
6098 private double cutMaxActiveCountValue_;
6109 @java.lang.Override
6110 public boolean hasCutMaxActiveCountValue() {
6111 return ((bitField3_ & 0x00002000) != 0);
6112 }
6123 @java.lang.Override
6125 return cutMaxActiveCountValue_;
6126 }
6127
6128 public static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER = 156;
6129 private double cutActiveCountDecay_;
6134 @java.lang.Override
6135 public boolean hasCutActiveCountDecay() {
6136 return ((bitField3_ & 0x00004000) != 0);
6137 }
6142 @java.lang.Override
6143 public double getCutActiveCountDecay() {
6144 return cutActiveCountDecay_;
6145 }
6146
6147 public static final int CUT_CLEANUP_TARGET_FIELD_NUMBER = 157;
6148 private int cutCleanupTarget_;
6157 @java.lang.Override
6158 public boolean hasCutCleanupTarget() {
6159 return ((bitField3_ & 0x00008000) != 0);
6160 }
6169 @java.lang.Override
6170 public int getCutCleanupTarget() {
6171 return cutCleanupTarget_;
6172 }
6173
6174 public static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER = 122;
6175 private int newConstraintsBatchSize_;
6185 @java.lang.Override
6187 return ((bitField3_ & 0x00010000) != 0);
6188 }
6198 @java.lang.Override
6200 return newConstraintsBatchSize_;
6201 }
6202
6203 public static final int SEARCH_BRANCHING_FIELD_NUMBER = 82;
6204 private int searchBranching_;
6209 @java.lang.Override public boolean hasSearchBranching() {
6210 return ((bitField3_ & 0x00020000) != 0);
6211 }
6216 @java.lang.Override public com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching() {
6217 @SuppressWarnings("deprecation")
6218 com.google.ortools.sat.SatParameters.SearchBranching result = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(searchBranching_);
6219 return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
6220 }
6221
6222 public static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER = 153;
6223 private int hintConflictLimit_;
6232 @java.lang.Override
6233 public boolean hasHintConflictLimit() {
6234 return ((bitField3_ & 0x00040000) != 0);
6235 }
6244 @java.lang.Override
6246 return hintConflictLimit_;
6247 }
6248
6249 public static final int REPAIR_HINT_FIELD_NUMBER = 167;
6250 private boolean repairHint_;
6262 @java.lang.Override
6263 public boolean hasRepairHint() {
6264 return ((bitField3_ & 0x00080000) != 0);
6265 }
6277 @java.lang.Override
6278 public boolean getRepairHint() {
6279 return repairHint_;
6280 }
6281
6283 private boolean fixVariablesToTheirHintedValue_;
6293 @java.lang.Override
6295 return ((bitField3_ & 0x00100000) != 0);
6296 }
6306 @java.lang.Override
6308 return fixVariablesToTheirHintedValue_;
6309 }
6310
6311 public static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER = 94;
6312 private boolean exploitIntegerLpSolution_;
6324 @java.lang.Override
6326 return ((bitField3_ & 0x00200000) != 0);
6327 }
6339 @java.lang.Override
6341 return exploitIntegerLpSolution_;
6342 }
6343
6344 public static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER = 116;
6345 private boolean exploitAllLpSolution_;
6356 @java.lang.Override
6357 public boolean hasExploitAllLpSolution() {
6358 return ((bitField3_ & 0x00400000) != 0);
6359 }
6370 @java.lang.Override
6371 public boolean getExploitAllLpSolution() {
6372 return exploitAllLpSolution_;
6373 }
6374
6375 public static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER = 130;
6376 private boolean exploitBestSolution_;
6385 @java.lang.Override
6386 public boolean hasExploitBestSolution() {
6387 return ((bitField3_ & 0x00800000) != 0);
6388 }
6397 @java.lang.Override
6398 public boolean getExploitBestSolution() {
6399 return exploitBestSolution_;
6400 }
6401
6402 public static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER = 161;
6403 private boolean exploitRelaxationSolution_;
6414 @java.lang.Override
6416 return ((bitField3_ & 0x01000000) != 0);
6417 }
6428 @java.lang.Override
6430 return exploitRelaxationSolution_;
6431 }
6432
6433 public static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER = 131;
6434 private boolean exploitObjective_;
6444 @java.lang.Override
6445 public boolean hasExploitObjective() {
6446 return ((bitField3_ & 0x02000000) != 0);
6447 }
6457 @java.lang.Override
6458 public boolean getExploitObjective() {
6459 return exploitObjective_;
6460 }
6461
6462 public static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER = 142;
6463 private long probingPeriodAtRoot_;
6474 @java.lang.Override
6475 public boolean hasProbingPeriodAtRoot() {
6476 return ((bitField3_ & 0x04000000) != 0);
6477 }
6488 @java.lang.Override
6490 return probingPeriodAtRoot_;
6491 }
6492
6493 public static final int USE_PROBING_SEARCH_FIELD_NUMBER = 176;
6494 private boolean useProbingSearch_;
6504 @java.lang.Override
6505 public boolean hasUseProbingSearch() {
6506 return ((bitField3_ & 0x08000000) != 0);
6507 }
6517 @java.lang.Override
6518 public boolean getUseProbingSearch() {
6519 return useProbingSearch_;
6520 }
6521
6523 private long pseudoCostReliabilityThreshold_;
6533 @java.lang.Override
6535 return ((bitField3_ & 0x10000000) != 0);
6536 }
6546 @java.lang.Override
6548 return pseudoCostReliabilityThreshold_;
6549 }
6550
6551 public static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER = 83;
6552 private boolean optimizeWithCore_;
6564 @java.lang.Override
6565 public boolean hasOptimizeWithCore() {
6566 return ((bitField3_ & 0x20000000) != 0);
6567 }
6579 @java.lang.Override
6580 public boolean getOptimizeWithCore() {
6581 return optimizeWithCore_;
6582 }
6583
6584 public static final int OPTIMIZE_WITH_LB_TREE_SEARCH_FIELD_NUMBER = 188;
6585 private boolean optimizeWithLbTreeSearch_;
6598 @java.lang.Override
6600 return ((bitField3_ & 0x40000000) != 0);
6601 }
6614 @java.lang.Override
6616 return optimizeWithLbTreeSearch_;
6617 }
6618
6619 public static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER = 99;
6620 private int binarySearchNumConflicts_;
6632 @java.lang.Override
6634 return ((bitField3_ & 0x80000000) != 0);
6635 }
6647 @java.lang.Override
6649 return binarySearchNumConflicts_;
6650 }
6651
6652 public static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER = 85;
6653 private boolean optimizeWithMaxHs_;
6667 @java.lang.Override
6668 public boolean hasOptimizeWithMaxHs() {
6669 return ((bitField4_ & 0x00000001) != 0);
6670 }
6684 @java.lang.Override
6685 public boolean getOptimizeWithMaxHs() {
6686 return optimizeWithMaxHs_;
6687 }
6688
6689 public static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER = 87;
6690 private boolean enumerateAllSolutions_;
6704 @java.lang.Override
6705 public boolean hasEnumerateAllSolutions() {
6706 return ((bitField4_ & 0x00000002) != 0);
6707 }
6721 @java.lang.Override
6722 public boolean getEnumerateAllSolutions() {
6723 return enumerateAllSolutions_;
6724 }
6725
6727 private boolean keepAllFeasibleSolutionsInPresolve_;
6742 @java.lang.Override
6744 return ((bitField4_ & 0x00000004) != 0);
6745 }
6760 @java.lang.Override
6762 return keepAllFeasibleSolutionsInPresolve_;
6763 }
6764
6766 private boolean fillTightenedDomainsInResponse_;
6779 @java.lang.Override
6781 return ((bitField4_ & 0x00000008) != 0);
6782 }
6795 @java.lang.Override
6797 return fillTightenedDomainsInResponse_;
6798 }
6799
6801 private boolean fillAdditionalSolutionsInResponse_;
6817 @java.lang.Override
6819 return ((bitField4_ & 0x00000010) != 0);
6820 }
6836 @java.lang.Override
6838 return fillAdditionalSolutionsInResponse_;
6839 }
6840
6841 public static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER = 106;
6842 private boolean instantiateAllVariables_;
6854 @java.lang.Override
6856 return ((bitField4_ & 0x00000020) != 0);
6857 }
6869 @java.lang.Override
6871 return instantiateAllVariables_;
6872 }
6873
6875 private boolean autoDetectGreaterThanAtLeastOneOf_;
6887 @java.lang.Override
6889 return ((bitField4_ & 0x00000040) != 0);
6890 }
6902 @java.lang.Override
6904 return autoDetectGreaterThanAtLeastOneOf_;
6905 }
6906
6907 public static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER = 98;
6908 private boolean stopAfterFirstSolution_;
6917 @java.lang.Override
6918 public boolean hasStopAfterFirstSolution() {
6919 return ((bitField4_ & 0x00000080) != 0);
6920 }
6929 @java.lang.Override
6930 public boolean getStopAfterFirstSolution() {
6931 return stopAfterFirstSolution_;
6932 }
6933
6934 public static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER = 149;
6935 private boolean stopAfterPresolve_;
6945 @java.lang.Override
6946 public boolean hasStopAfterPresolve() {
6947 return ((bitField4_ & 0x00000100) != 0);
6948 }
6958 @java.lang.Override
6959 public boolean getStopAfterPresolve() {
6960 return stopAfterPresolve_;
6961 }
6962
6963 public static final int NUM_SEARCH_WORKERS_FIELD_NUMBER = 100;
6964 private int numSearchWorkers_;
6979 @java.lang.Override
6980 public boolean hasNumSearchWorkers() {
6981 return ((bitField4_ & 0x00000200) != 0);
6982 }
6997 @java.lang.Override
6998 public int getNumSearchWorkers() {
6999 return numSearchWorkers_;
7000 }
7001
7002 public static final int INTERLEAVE_SEARCH_FIELD_NUMBER = 136;
7003 private boolean interleaveSearch_;
7016 @java.lang.Override
7017 public boolean hasInterleaveSearch() {
7018 return ((bitField4_ & 0x00000400) != 0);
7019 }
7032 @java.lang.Override
7033 public boolean getInterleaveSearch() {
7034 return interleaveSearch_;
7035 }
7036
7037 public static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER = 134;
7038 private int interleaveBatchSize_;
7043 @java.lang.Override
7044 public boolean hasInterleaveBatchSize() {
7045 return ((bitField4_ & 0x00000800) != 0);
7046 }
7051 @java.lang.Override
7053 return interleaveBatchSize_;
7054 }
7055
7057 private boolean reduceMemoryUsageInInterleaveMode_;
7066 @java.lang.Override
7068 return ((bitField4_ & 0x00001000) != 0);
7069 }
7078 @java.lang.Override
7080 return reduceMemoryUsageInInterleaveMode_;
7081 }
7082
7083 public static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER = 113;
7084 private boolean shareObjectiveBounds_;
7093 @java.lang.Override
7094 public boolean hasShareObjectiveBounds() {
7095 return ((bitField4_ & 0x00002000) != 0);
7096 }
7105 @java.lang.Override
7106 public boolean getShareObjectiveBounds() {
7107 return shareObjectiveBounds_;
7108 }
7109
7110 public static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER = 114;
7111 private boolean shareLevelZeroBounds_;
7120 @java.lang.Override
7121 public boolean hasShareLevelZeroBounds() {
7122 return ((bitField4_ & 0x00004000) != 0);
7123 }
7132 @java.lang.Override
7133 public boolean getShareLevelZeroBounds() {
7134 return shareLevelZeroBounds_;
7135 }
7136
7137 public static final int USE_LNS_ONLY_FIELD_NUMBER = 101;
7138 private boolean useLnsOnly_;
7147 @java.lang.Override
7148 public boolean hasUseLnsOnly() {
7149 return ((bitField4_ & 0x00008000) != 0);
7150 }
7159 @java.lang.Override
7160 public boolean getUseLnsOnly() {
7161 return useLnsOnly_;
7162 }
7163
7164 public static final int SOLUTION_POOL_SIZE_FIELD_NUMBER = 193;
7165 private int solutionPoolSize_;
7175 @java.lang.Override
7176 public boolean hasSolutionPoolSize() {
7177 return ((bitField4_ & 0x00010000) != 0);
7178 }
7188 @java.lang.Override
7189 public int getSolutionPoolSize() {
7190 return solutionPoolSize_;
7191 }
7192
7193 public static final int USE_RINS_LNS_FIELD_NUMBER = 129;
7194 private boolean useRinsLns_;
7203 @java.lang.Override
7204 public boolean hasUseRinsLns() {
7205 return ((bitField4_ & 0x00020000) != 0);
7206 }
7215 @java.lang.Override
7216 public boolean getUseRinsLns() {
7217 return useRinsLns_;
7218 }
7219
7220 public static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER = 164;
7221 private boolean useFeasibilityPump_;
7230 @java.lang.Override
7231 public boolean hasUseFeasibilityPump() {
7232 return ((bitField4_ & 0x00040000) != 0);
7233 }
7242 @java.lang.Override
7243 public boolean getUseFeasibilityPump() {
7244 return useFeasibilityPump_;
7245 }
7246
7247 public static final int FP_ROUNDING_FIELD_NUMBER = 165;
7248 private int fpRounding_;
7253 @java.lang.Override public boolean hasFpRounding() {
7254 return ((bitField4_ & 0x00080000) != 0);
7255 }
7260 @java.lang.Override public com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding() {
7261 @SuppressWarnings("deprecation")
7262 com.google.ortools.sat.SatParameters.FPRoundingMethod result = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(fpRounding_);
7263 return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
7264 }
7265
7266 public static final int USE_RELAXATION_LNS_FIELD_NUMBER = 150;
7267 private boolean useRelaxationLns_;
7277 @java.lang.Override
7278 public boolean hasUseRelaxationLns() {
7279 return ((bitField4_ & 0x00100000) != 0);
7280 }
7290 @java.lang.Override
7291 public boolean getUseRelaxationLns() {
7292 return useRelaxationLns_;
7293 }
7294
7295 public static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER = 137;
7296 private boolean diversifyLnsParams_;
7305 @java.lang.Override
7306 public boolean hasDiversifyLnsParams() {
7307 return ((bitField4_ & 0x00200000) != 0);
7308 }
7317 @java.lang.Override
7318 public boolean getDiversifyLnsParams() {
7319 return diversifyLnsParams_;
7320 }
7321
7322 public static final int RANDOMIZE_SEARCH_FIELD_NUMBER = 103;
7323 private boolean randomizeSearch_;
7332 @java.lang.Override
7333 public boolean hasRandomizeSearch() {
7334 return ((bitField4_ & 0x00400000) != 0);
7335 }
7344 @java.lang.Override
7345 public boolean getRandomizeSearch() {
7346 return randomizeSearch_;
7347 }
7348
7349 public static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER = 104;
7350 private long searchRandomizationTolerance_;
7365 @java.lang.Override
7367 return ((bitField4_ & 0x00800000) != 0);
7368 }
7383 @java.lang.Override
7385 return searchRandomizationTolerance_;
7386 }
7387
7388 public static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER = 108;
7389 private boolean useOptionalVariables_;
7400 @java.lang.Override
7401 public boolean hasUseOptionalVariables() {
7402 return ((bitField4_ & 0x01000000) != 0);
7403 }
7414 @java.lang.Override
7415 public boolean getUseOptionalVariables() {
7416 return useOptionalVariables_;
7417 }
7418
7419 public static final int USE_EXACT_LP_REASON_FIELD_NUMBER = 109;
7420 private boolean useExactLpReason_;
7432 @java.lang.Override
7433 public boolean hasUseExactLpReason() {
7434 return ((bitField4_ & 0x02000000) != 0);
7435 }
7447 @java.lang.Override
7448 public boolean getUseExactLpReason() {
7449 return useExactLpReason_;
7450 }
7451
7452 public static final int USE_BRANCHING_IN_LP_FIELD_NUMBER = 139;
7453 private boolean useBranchingInLp_;
7464 @java.lang.Override
7465 public boolean hasUseBranchingInLp() {
7466 return ((bitField4_ & 0x04000000) != 0);
7467 }
7478 @java.lang.Override
7479 public boolean getUseBranchingInLp() {
7480 return useBranchingInLp_;
7481 }
7482
7483 public static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER = 133;
7484 private boolean useCombinedNoOverlap_;
7495 @java.lang.Override
7496 public boolean hasUseCombinedNoOverlap() {
7497 return ((bitField4_ & 0x08000000) != 0);
7498 }
7509 @java.lang.Override
7510 public boolean getUseCombinedNoOverlap() {
7511 return useCombinedNoOverlap_;
7512 }
7513
7514 public static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER = 135;
7515 private boolean catchSigintSignal_;
7526 @java.lang.Override
7527 public boolean hasCatchSigintSignal() {
7528 return ((bitField4_ & 0x10000000) != 0);
7529 }
7540 @java.lang.Override
7541 public boolean getCatchSigintSignal() {
7542 return catchSigintSignal_;
7543 }
7544
7545 public static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER = 144;
7546 private boolean useImpliedBounds_;
7557 @java.lang.Override
7558 public boolean hasUseImpliedBounds() {
7559 return ((bitField4_ & 0x20000000) != 0);
7560 }
7571 @java.lang.Override
7572 public boolean getUseImpliedBounds() {
7573 return useImpliedBounds_;
7574 }
7575
7576 public static final int POLISH_LP_SOLUTION_FIELD_NUMBER = 175;
7577 private boolean polishLpSolution_;
7589 @java.lang.Override
7590 public boolean hasPolishLpSolution() {
7591 return ((bitField4_ & 0x40000000) != 0);
7592 }
7604 @java.lang.Override
7605 public boolean getPolishLpSolution() {
7606 return polishLpSolution_;
7607 }
7608
7609 public static final int CONVERT_INTERVALS_FIELD_NUMBER = 177;
7610 private boolean convertIntervals_;
7621 @java.lang.Override
7622 public boolean hasConvertIntervals() {
7623 return ((bitField4_ & 0x80000000) != 0);
7624 }
7635 @java.lang.Override
7636 public boolean getConvertIntervals() {
7637 return convertIntervals_;
7638 }
7639
7640 public static final int SYMMETRY_LEVEL_FIELD_NUMBER = 183;
7641 private int symmetryLevel_;
7653 @java.lang.Override
7654 public boolean hasSymmetryLevel() {
7655 return ((bitField5_ & 0x00000001) != 0);
7656 }
7668 @java.lang.Override
7669 public int getSymmetryLevel() {
7670 return symmetryLevel_;
7671 }
7672
7673 public static final int MIP_MAX_BOUND_FIELD_NUMBER = 124;
7674 private double mipMaxBound_;
7685 @java.lang.Override
7686 public boolean hasMipMaxBound() {
7687 return ((bitField5_ & 0x00000002) != 0);
7688 }
7699 @java.lang.Override
7700 public double getMipMaxBound() {
7701 return mipMaxBound_;
7702 }
7703
7704 public static final int MIP_VAR_SCALING_FIELD_NUMBER = 125;
7705 private double mipVarScaling_;
7716 @java.lang.Override
7717 public boolean hasMipVarScaling() {
7718 return ((bitField5_ & 0x00000004) != 0);
7719 }
7730 @java.lang.Override
7731 public double getMipVarScaling() {
7732 return mipVarScaling_;
7733 }
7734
7736 private boolean mipAutomaticallyScaleVariables_;
7749 @java.lang.Override
7751 return ((bitField5_ & 0x00000008) != 0);
7752 }
7765 @java.lang.Override
7767 return mipAutomaticallyScaleVariables_;
7768 }
7769
7770 public static final int MIP_WANTED_PRECISION_FIELD_NUMBER = 126;
7771 private double mipWantedPrecision_;
7789 @java.lang.Override
7790 public boolean hasMipWantedPrecision() {
7791 return ((bitField5_ & 0x00000010) != 0);
7792 }
7810 @java.lang.Override
7811 public double getMipWantedPrecision() {
7812 return mipWantedPrecision_;
7813 }
7814
7815 public static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER = 127;
7816 private int mipMaxActivityExponent_;
7831 @java.lang.Override
7832 public boolean hasMipMaxActivityExponent() {
7833 return ((bitField5_ & 0x00000020) != 0);
7834 }
7849 @java.lang.Override
7851 return mipMaxActivityExponent_;
7852 }
7853
7854 public static final int MIP_CHECK_PRECISION_FIELD_NUMBER = 128;
7855 private double mipCheckPrecision_;
7866 @java.lang.Override
7867 public boolean hasMipCheckPrecision() {
7868 return ((bitField5_ & 0x00000040) != 0);
7869 }
7880 @java.lang.Override
7881 public double getMipCheckPrecision() {
7882 return mipCheckPrecision_;
7883 }
7884
7886 private boolean mipComputeTrueObjectiveBound_;
7899 @java.lang.Override
7901 return ((bitField5_ & 0x00000080) != 0);
7902 }
7915 @java.lang.Override
7917 return mipComputeTrueObjectiveBound_;
7918 }
7919
7920 public static final int MIP_MAX_VALID_MAGNITUDE_FIELD_NUMBER = 199;
7921 private double mipMaxValidMagnitude_;
7934 @java.lang.Override
7935 public boolean hasMipMaxValidMagnitude() {
7936 return ((bitField5_ & 0x00000100) != 0);
7937 }
7950 @java.lang.Override
7951 public double getMipMaxValidMagnitude() {
7952 return mipMaxValidMagnitude_;
7953 }
7954
7955 private byte memoizedIsInitialized = -1;
7956 @java.lang.Override
7957 public final boolean isInitialized() {
7958 byte isInitialized = memoizedIsInitialized;
7959 if (isInitialized == 1) return true;
7960 if (isInitialized == 0) return false;
7961
7962 memoizedIsInitialized = 1;
7963 return true;
7964 }
7965
7966 @java.lang.Override
7967 public void writeTo(com.google.protobuf.CodedOutputStream output)
7968 throws java.io.IOException {
7969 if (((bitField0_ & 0x00000002) != 0)) {
7970 output.writeEnum(1, preferredVariableOrder_);
7971 }
7972 if (((bitField0_ & 0x00000004) != 0)) {
7973 output.writeEnum(2, initialPolarity_);
7974 }
7975 if (((bitField0_ & 0x00000400) != 0)) {
7976 output.writeEnum(4, minimizationAlgorithm_);
7977 }
7978 if (((bitField0_ & 0x00002000) != 0)) {
7979 output.writeInt32(11, clauseCleanupPeriod_);
7980 }
7981 if (((bitField0_ & 0x00004000) != 0)) {
7982 output.writeInt32(13, clauseCleanupTarget_);
7983 }
7984 if (((bitField0_ & 0x00800000) != 0)) {
7985 output.writeDouble(15, variableActivityDecay_);
7986 }
7987 if (((bitField0_ & 0x01000000) != 0)) {
7988 output.writeDouble(16, maxVariableActivityValue_);
7989 }
7990 if (((bitField0_ & 0x10000000) != 0)) {
7991 output.writeDouble(17, clauseActivityDecay_);
7992 }
7993 if (((bitField0_ & 0x20000000) != 0)) {
7994 output.writeDouble(18, maxClauseActivityValue_);
7995 }
7996 if (((bitField0_ & 0x02000000) != 0)) {
7997 output.writeDouble(22, glucoseMaxDecay_);
7998 }
7999 if (((bitField0_ & 0x04000000) != 0)) {
8000 output.writeDouble(23, glucoseDecayIncrement_);
8001 }
8002 if (((bitField0_ & 0x08000000) != 0)) {
8003 output.writeInt32(24, glucoseDecayIncrementPeriod_);
8004 }
8005 if (((bitField0_ & 0x80000000) != 0)) {
8006 output.writeInt32(30, restartPeriod_);
8007 }
8008 if (((bitField1_ & 0x00008000) != 0)) {
8009 output.writeInt32(31, randomSeed_);
8010 }
8011 if (((bitField0_ & 0x00000040) != 0)) {
8012 output.writeDouble(32, randomBranchesRatio_);
8013 }
8014 if (((bitField1_ & 0x00004000) != 0)) {
8015 output.writeBool(33, treatBinaryClausesSeparately_);
8016 }
8017 if (((bitField0_ & 0x00000800) != 0)) {
8018 output.writeEnum(34, binaryMinimizationAlgorithm_);
8019 }
8020 if (((bitField2_ & 0x00008000) != 0)) {
8021 output.writeBool(35, useOptimizationHints_);
8022 }
8023 if (((bitField1_ & 0x00000100) != 0)) {
8024 output.writeDouble(36, maxTimeInSeconds_);
8025 }
8026 if (((bitField1_ & 0x00000400) != 0)) {
8027 output.writeInt64(37, maxNumberOfConflicts_);
8028 }
8029 if (((bitField1_ & 0x00000800) != 0)) {
8030 output.writeInt64(40, maxMemoryInMb_);
8031 }
8032 if (((bitField1_ & 0x00080000) != 0)) {
8033 output.writeBool(41, logSearchProgress_);
8034 }
8035 if (((bitField1_ & 0x01000000) != 0)) {
8036 output.writeBool(43, usePbResolution_);
8037 }
8038 if (((bitField0_ & 0x00000008) != 0)) {
8039 output.writeBool(44, usePhaseSaving_);
8040 }
8041 if (((bitField0_ & 0x00000020) != 0)) {
8042 output.writeDouble(45, randomPolarityRatio_);
8043 }
8044 if (((bitField0_ & 0x00080000) != 0)) {
8045 output.writeInt32(46, pbCleanupIncrement_);
8046 }
8047 if (((bitField0_ & 0x00100000) != 0)) {
8048 output.writeDouble(47, pbCleanupRatio_);
8049 }
8050 if (((bitField1_ & 0x02000000) != 0)) {
8051 output.writeBool(48, minimizeReductionDuringPbResolution_);
8052 }
8053 if (((bitField1_ & 0x04000000) != 0)) {
8054 output.writeBool(49, countAssumptionLevelsInLbd_);
8055 }
8056 if (((bitField2_ & 0x00010000) != 0)) {
8057 output.writeBool(50, minimizeCore_);
8058 }
8059 if (((bitField2_ & 0x00080000) != 0)) {
8060 output.writeEnum(51, maxSatAssumptionOrder_);
8061 }
8062 if (((bitField2_ & 0x00100000) != 0)) {
8063 output.writeBool(52, maxSatReverseAssumptionOrder_);
8064 }
8065 if (((bitField2_ & 0x00200000) != 0)) {
8066 output.writeEnum(53, maxSatStratification_);
8067 }
8068 if (((bitField1_ & 0x08000000) != 0)) {
8069 output.writeInt32(54, presolveBveThreshold_);
8070 }
8071 if (((bitField1_ & 0x10000000) != 0)) {
8072 output.writeInt32(55, presolveBveClauseWeight_);
8073 }
8074 if (((bitField0_ & 0x00001000) != 0)) {
8075 output.writeBool(56, subsumptionDuringConflictAnalysis_);
8076 }
8077 if (((bitField1_ & 0x20000000) != 0)) {
8078 output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
8079 }
8080 if (((bitField0_ & 0x00010000) != 0)) {
8081 output.writeEnum(58, clauseCleanupProtection_);
8082 }
8083 if (((bitField0_ & 0x00020000) != 0)) {
8084 output.writeInt32(59, clauseCleanupLbdBound_);
8085 }
8086 if (((bitField0_ & 0x00040000) != 0)) {
8087 output.writeEnum(60, clauseCleanupOrdering_);
8088 }
8089 for (int i = 0; i < restartAlgorithms_.size(); i++) {
8090 output.writeEnum(61, restartAlgorithms_.get(i));
8091 }
8092 if (((bitField1_ & 0x00000001) != 0)) {
8093 output.writeInt32(62, restartRunningWindowSize_);
8094 }
8095 if (((bitField1_ & 0x00000002) != 0)) {
8096 output.writeDouble(63, restartDlAverageRatio_);
8097 }
8098 if (((bitField1_ & 0x00000008) != 0)) {
8099 output.writeBool(64, useBlockingRestart_);
8100 }
8101 if (((bitField1_ & 0x00000010) != 0)) {
8102 output.writeInt32(65, blockingRestartWindowSize_);
8103 }
8104 if (((bitField1_ & 0x00000020) != 0)) {
8105 output.writeDouble(66, blockingRestartMultiplier_);
8106 }
8107 if (((bitField1_ & 0x00000200) != 0)) {
8108 output.writeDouble(67, maxDeterministicTime_);
8109 }
8110 if (((bitField1_ & 0x00000040) != 0)) {
8111 output.writeInt32(68, numConflictsBeforeStrategyChanges_);
8112 }
8113 if (((bitField1_ & 0x00000080) != 0)) {
8114 output.writeDouble(69, strategyChangeIncreaseRatio_);
8115 }
8116 if (((bitField0_ & 0x40000000) != 0)) {
8117 com.google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
8118 }
8119 if (((bitField1_ & 0x00000004) != 0)) {
8120 output.writeDouble(71, restartLbdAverageRatio_);
8121 }
8122 if (((bitField1_ & 0x80000000) != 0)) {
8123 output.writeBool(72, presolveUseBva_);
8124 }
8125 if (((bitField2_ & 0x00000001) != 0)) {
8126 output.writeInt32(73, presolveBvaThreshold_);
8127 }
8128 if (((bitField2_ & 0x00400000) != 0)) {
8129 output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
8130 }
8131 if (((bitField0_ & 0x00000080) != 0)) {
8132 output.writeBool(75, useErwaHeuristic_);
8133 }
8134 if (((bitField0_ & 0x00000100) != 0)) {
8135 output.writeDouble(76, initialVariablesActivity_);
8136 }
8137 if (((bitField0_ & 0x00000200) != 0)) {
8138 output.writeBool(77, alsoBumpVariablesInConflictReasons_);
8139 }
8140 if (((bitField2_ & 0x00800000) != 0)) {
8141 output.writeBool(78, useOverloadCheckerInCumulativeConstraint_);
8142 }
8143 if (((bitField2_ & 0x01000000) != 0)) {
8144 output.writeBool(79, useTimetableEdgeFindingInCumulativeConstraint_);
8145 }
8146 if (((bitField2_ & 0x02000000) != 0)) {
8147 output.writeBool(80, useDisjunctiveConstraintInCumulativeConstraint_);
8148 }
8149 if (((bitField3_ & 0x00020000) != 0)) {
8150 output.writeEnum(82, searchBranching_);
8151 }
8152 if (((bitField3_ & 0x20000000) != 0)) {
8153 output.writeBool(83, optimizeWithCore_);
8154 }
8155 if (((bitField2_ & 0x00020000) != 0)) {
8156 output.writeBool(84, findMultipleCores_);
8157 }
8158 if (((bitField4_ & 0x00000001) != 0)) {
8159 output.writeBool(85, optimizeWithMaxHs_);
8160 }
8161 if (((bitField2_ & 0x00000004) != 0)) {
8162 output.writeBool(86, cpModelPresolve_);
8163 }
8164 if (((bitField4_ & 0x00000002) != 0)) {
8165 output.writeBool(87, enumerateAllSolutions_);
8166 }
8167 if (((bitField1_ & 0x40000000) != 0)) {
8168 output.writeBool(88, presolveBlockedClause_);
8169 }
8170 if (((bitField2_ & 0x00040000) != 0)) {
8171 output.writeBool(89, coverOptimization_);
8172 }
8173 if (((bitField2_ & 0x08000000) != 0)) {
8174 output.writeInt32(90, linearizationLevel_);
8175 }
8176 if (((bitField2_ & 0x40000000) != 0)) {
8177 output.writeInt32(91, maxNumCuts_);
8178 }
8179 if (((bitField3_ & 0x00000001) != 0)) {
8180 output.writeBool(92, onlyAddCutsAtLevelZero_);
8181 }
8182 if (((bitField2_ & 0x00000010) != 0)) {
8183 output.writeBool(93, cpModelUseSatPresolve_);
8184 }
8185 if (((bitField3_ & 0x00200000) != 0)) {
8186 output.writeBool(94, exploitIntegerLpSolution_);
8187 }
8188 if (((bitField4_ & 0x00000040) != 0)) {
8189 output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
8190 }
8191 if (((bitField0_ & 0x00200000) != 0)) {
8192 output.writeInt32(96, minimizeWithPropagationRestartPeriod_);
8193 }
8194 if (((bitField0_ & 0x00400000) != 0)) {
8195 output.writeInt32(97, minimizeWithPropagationNumDecisions_);
8196 }
8197 if (((bitField4_ & 0x00000080) != 0)) {
8198 output.writeBool(98, stopAfterFirstSolution_);
8199 }
8200 if (((bitField3_ & 0x80000000) != 0)) {
8201 output.writeInt32(99, binarySearchNumConflicts_);
8202 }
8203 if (((bitField4_ & 0x00000200) != 0)) {
8204 output.writeInt32(100, numSearchWorkers_);
8205 }
8206 if (((bitField4_ & 0x00008000) != 0)) {
8207 output.writeBool(101, useLnsOnly_);
8208 }
8209 if (((bitField4_ & 0x00400000) != 0)) {
8210 output.writeBool(103, randomizeSearch_);
8211 }
8212 if (((bitField4_ & 0x00800000) != 0)) {
8213 output.writeInt64(104, searchRandomizationTolerance_);
8214 }
8215 if (((bitField4_ & 0x00000020) != 0)) {
8216 output.writeBool(106, instantiateAllVariables_);
8217 }
8218 if (((bitField2_ & 0x10000000) != 0)) {
8219 output.writeInt32(107, booleanEncodingLevel_);
8220 }
8221 if (((bitField4_ & 0x01000000) != 0)) {
8222 output.writeBool(108, useOptionalVariables_);
8223 }
8224 if (((bitField4_ & 0x02000000) != 0)) {
8225 output.writeBool(109, useExactLpReason_);
8226 }
8227 if (((bitField2_ & 0x00000008) != 0)) {
8228 output.writeInt32(110, cpModelProbingLevel_);
8229 }
8230 if (((bitField3_ & 0x00000200) != 0)) {
8231 output.writeBool(112, addLpConstraintsLazily_);
8232 }
8233 if (((bitField4_ & 0x00002000) != 0)) {
8234 output.writeBool(113, shareObjectiveBounds_);
8235 }
8236 if (((bitField4_ & 0x00004000) != 0)) {
8237 output.writeBool(114, shareLevelZeroBounds_);
8238 }
8239 if (((bitField3_ & 0x00000400) != 0)) {
8240 output.writeDouble(115, minOrthogonalityForLpConstraints_);
8241 }
8242 if (((bitField3_ & 0x00400000) != 0)) {
8243 output.writeBool(116, exploitAllLpSolution_);
8244 }
8245 if (((bitField3_ & 0x00000004) != 0)) {
8246 output.writeBool(117, addCgCuts_);
8247 }
8248 if (((bitField3_ & 0x00000100) != 0)) {
8249 output.writeInt32(119, maxIntegerRoundingScaling_);
8250 }
8251 if (((bitField3_ & 0x00000008) != 0)) {
8252 output.writeBool(120, addMirCuts_);
8253 }
8254 if (((bitField3_ & 0x00001000) != 0)) {
8255 output.writeInt32(121, maxConsecutiveInactiveCount_);
8256 }
8257 if (((bitField3_ & 0x00010000) != 0)) {
8258 output.writeInt32(122, newConstraintsBatchSize_);
8259 }
8260 if (((bitField3_ & 0x10000000) != 0)) {
8261 output.writeInt64(123, pseudoCostReliabilityThreshold_);
8262 }
8263 if (((bitField5_ & 0x00000002) != 0)) {
8264 output.writeDouble(124, mipMaxBound_);
8265 }
8266 if (((bitField5_ & 0x00000004) != 0)) {
8267 output.writeDouble(125, mipVarScaling_);
8268 }
8269 if (((bitField5_ & 0x00000010) != 0)) {
8270 output.writeDouble(126, mipWantedPrecision_);
8271 }
8272 if (((bitField5_ & 0x00000020) != 0)) {
8273 output.writeInt32(127, mipMaxActivityExponent_);
8274 }
8275 if (((bitField5_ & 0x00000040) != 0)) {
8276 output.writeDouble(128, mipCheckPrecision_);
8277 }
8278 if (((bitField4_ & 0x00020000) != 0)) {
8279 output.writeBool(129, useRinsLns_);
8280 }
8281 if (((bitField3_ & 0x00800000) != 0)) {
8282 output.writeBool(130, exploitBestSolution_);
8283 }
8284 if (((bitField3_ & 0x02000000) != 0)) {
8285 output.writeBool(131, exploitObjective_);
8286 }
8287 if (((bitField4_ & 0x00000008) != 0)) {
8288 output.writeBool(132, fillTightenedDomainsInResponse_);
8289 }
8290 if (((bitField4_ & 0x08000000) != 0)) {
8291 output.writeBool(133, useCombinedNoOverlap_);
8292 }
8293 if (((bitField4_ & 0x00000800) != 0)) {
8294 output.writeInt32(134, interleaveBatchSize_);
8295 }
8296 if (((bitField4_ & 0x10000000) != 0)) {
8297 output.writeBool(135, catchSigintSignal_);
8298 }
8299 if (((bitField4_ & 0x00000400) != 0)) {
8300 output.writeBool(136, interleaveSearch_);
8301 }
8302 if (((bitField4_ & 0x00200000) != 0)) {
8303 output.writeBool(137, diversifyLnsParams_);
8304 }
8305 if (((bitField2_ & 0x00000002) != 0)) {
8306 output.writeInt32(138, maxPresolveIterations_);
8307 }
8308 if (((bitField4_ & 0x04000000) != 0)) {
8309 output.writeBool(139, useBranchingInLp_);
8310 }
8311 if (((bitField4_ & 0x00001000) != 0)) {
8312 output.writeBool(141, reduceMemoryUsageInInterleaveMode_);
8313 }
8314 if (((bitField3_ & 0x04000000) != 0)) {
8315 output.writeInt64(142, probingPeriodAtRoot_);
8316 }
8317 if (((bitField4_ & 0x20000000) != 0)) {
8318 output.writeBool(144, useImpliedBounds_);
8319 }
8320 if (((bitField2_ & 0x00000100) != 0)) {
8321 output.writeDouble(145, mergeNoOverlapWorkLimit_);
8322 }
8323 if (((bitField2_ & 0x00000200) != 0)) {
8324 output.writeDouble(146, mergeAtMostOneWorkLimit_);
8325 }
8326 if (((bitField2_ & 0x00000400) != 0)) {
8327 output.writeInt32(147, presolveSubstitutionLevel_);
8328 }
8329 if (((bitField3_ & 0x00000040) != 0)) {
8330 output.writeInt32(148, maxAllDiffCutSize_);
8331 }
8332 if (((bitField4_ & 0x00000100) != 0)) {
8333 output.writeBool(149, stopAfterPresolve_);
8334 }
8335 if (((bitField4_ & 0x00100000) != 0)) {
8336 output.writeBool(150, useRelaxationLns_);
8337 }
8338 if (((bitField2_ & 0x00002000) != 0)) {
8339 output.writeInt32(151, debugMaxNumPresolveOperations_);
8340 }
8341 if (((bitField3_ & 0x00000080) != 0)) {
8342 output.writeBool(152, addLinMaxCuts_);
8343 }
8344 if (((bitField3_ & 0x00040000) != 0)) {
8345 output.writeInt32(153, hintConflictLimit_);
8346 }
8347 if (((bitField3_ & 0x00000800) != 0)) {
8348 output.writeInt32(154, maxCutRoundsAtLevelZero_);
8349 }
8350 if (((bitField3_ & 0x00002000) != 0)) {
8351 output.writeDouble(155, cutMaxActiveCountValue_);
8352 }
8353 if (((bitField3_ & 0x00004000) != 0)) {
8354 output.writeDouble(156, cutActiveCountDecay_);
8355 }
8356 if (((bitField3_ & 0x00008000) != 0)) {
8357 output.writeInt32(157, cutCleanupTarget_);
8358 }
8359 if (((bitField1_ & 0x00001000) != 0)) {
8360 output.writeDouble(159, absoluteGapLimit_);
8361 }
8362 if (((bitField1_ & 0x00002000) != 0)) {
8363 output.writeDouble(160, relativeGapLimit_);
8364 }
8365 if (((bitField3_ & 0x01000000) != 0)) {
8366 output.writeBool(161, exploitRelaxationSolution_);
8367 }
8368 if (((bitField2_ & 0x00001000) != 0)) {
8369 output.writeBool(162, debugPostsolveWithFullSolver_);
8370 }
8371 if (((bitField2_ & 0x00000020) != 0)) {
8372 output.writeBool(163, useSatInprocessing_);
8373 }
8374 if (((bitField4_ & 0x00040000) != 0)) {
8375 output.writeBool(164, useFeasibilityPump_);
8376 }
8377 if (((bitField4_ & 0x00080000) != 0)) {
8378 output.writeEnum(165, fpRounding_);
8379 }
8380 if (((bitField5_ & 0x00000008) != 0)) {
8381 output.writeBool(166, mipAutomaticallyScaleVariables_);
8382 }
8383 if (((bitField3_ & 0x00080000) != 0)) {
8384 output.writeBool(167, repairHint_);
8385 }
8386 if (((bitField0_ & 0x00000010) != 0)) {
8387 output.writeInt32(168, polarityRephaseIncrement_);
8388 }
8389 if (((bitField3_ & 0x00000010) != 0)) {
8390 output.writeBool(169, addZeroHalfCuts_);
8391 }
8392 if (((bitField2_ & 0x00000040) != 0)) {
8393 output.writeBool(170, expandAlldiffConstraints_);
8394 }
8395 if (((bitField0_ & 0x00000001) != 0)) {
8396 com.google.protobuf.GeneratedMessageV3.writeString(output, 171, name_);
8397 }
8398 if (((bitField3_ & 0x00000020) != 0)) {
8399 output.writeBool(172, addCliqueCuts_);
8400 }
8401 if (((bitField4_ & 0x00000004) != 0)) {
8402 output.writeBool(173, keepAllFeasibleSolutionsInPresolve_);
8403 }
8404 if (((bitField2_ & 0x00000800) != 0)) {
8405 output.writeBool(174, presolveExtractIntegerEnforcement_);
8406 }
8407 if (((bitField4_ & 0x40000000) != 0)) {
8408 output.writeBool(175, polishLpSolution_);
8409 }
8410 if (((bitField3_ & 0x08000000) != 0)) {
8411 output.writeBool(176, useProbingSearch_);
8412 }
8413 if (((bitField4_ & 0x80000000) != 0)) {
8414 output.writeBool(177, convertIntervals_);
8415 }
8416 if (((bitField1_ & 0x00010000) != 0)) {
8417 output.writeBool(178, permuteVariableRandomly_);
8418 }
8419 if (((bitField1_ & 0x00020000) != 0)) {
8420 output.writeBool(179, permutePresolveConstraintOrder_);
8421 }
8422 if (((bitField1_ & 0x00040000) != 0)) {
8423 output.writeBool(180, useAbslRandom_);
8424 }
8425 if (((bitField2_ & 0x00000080) != 0)) {
8426 output.writeBool(181, disableConstraintExpansion_);
8427 }
8428 if (((bitField5_ & 0x00000001) != 0)) {
8429 output.writeInt32(183, symmetryLevel_);
8430 }
8431 if (((bitField1_ & 0x00200000) != 0)) {
8432 com.google.protobuf.GeneratedMessageV3.writeString(output, 185, logPrefix_);
8433 }
8434 if (((bitField1_ & 0x00400000) != 0)) {
8435 output.writeBool(186, logToStdout_);
8436 }
8437 if (((bitField1_ & 0x00800000) != 0)) {
8438 output.writeBool(187, logToResponse_);
8439 }
8440 if (((bitField3_ & 0x40000000) != 0)) {
8441 output.writeBool(188, optimizeWithLbTreeSearch_);
8442 }
8443 if (((bitField1_ & 0x00100000) != 0)) {
8444 output.writeBool(189, logSubsolverStatistics_);
8445 }
8446 if (((bitField0_ & 0x00008000) != 0)) {
8447 output.writeDouble(190, clauseCleanupRatio_);
8448 }
8449 if (((bitField2_ & 0x20000000) != 0)) {
8450 output.writeInt32(191, maxDomainSizeWhenEncodingEqNeqConstraints_);
8451 }
8452 if (((bitField3_ & 0x00100000) != 0)) {
8453 output.writeBool(192, fixVariablesToTheirHintedValue_);
8454 }
8455 if (((bitField4_ & 0x00010000) != 0)) {
8456 output.writeInt32(193, solutionPoolSize_);
8457 }
8458 if (((bitField4_ & 0x00000010) != 0)) {
8459 output.writeBool(194, fillAdditionalSolutionsInResponse_);
8460 }
8461 if (((bitField2_ & 0x00004000) != 0)) {
8462 output.writeBool(195, debugCrashOnBadHint_);
8463 }
8464 if (((bitField2_ & 0x80000000) != 0)) {
8465 output.writeInt32(196, cutLevel_);
8466 }
8467 if (((bitField3_ & 0x00000002) != 0)) {
8468 output.writeBool(197, addObjectiveCut_);
8469 }
8470 if (((bitField5_ & 0x00000080) != 0)) {
8471 output.writeBool(198, mipComputeTrueObjectiveBound_);
8472 }
8473 if (((bitField5_ & 0x00000100) != 0)) {
8474 output.writeDouble(199, mipMaxValidMagnitude_);
8475 }
8476 if (((bitField2_ & 0x04000000) != 0)) {
8477 output.writeBool(200, useCumulativeInNoOverlap2D_);
8478 }
8479 unknownFields.writeTo(output);
8480 }
8481
8482 @java.lang.Override
8483 public int getSerializedSize() {
8484 int size = memoizedSize;
8485 if (size != -1) return size;
8486
8487 size = 0;
8488 if (((bitField0_ & 0x00000002) != 0)) {
8489 size += com.google.protobuf.CodedOutputStream
8490 .computeEnumSize(1, preferredVariableOrder_);
8491 }
8492 if (((bitField0_ & 0x00000004) != 0)) {
8493 size += com.google.protobuf.CodedOutputStream
8494 .computeEnumSize(2, initialPolarity_);
8495 }
8496 if (((bitField0_ & 0x00000400) != 0)) {
8497 size += com.google.protobuf.CodedOutputStream
8498 .computeEnumSize(4, minimizationAlgorithm_);
8499 }
8500 if (((bitField0_ & 0x00002000) != 0)) {
8501 size += com.google.protobuf.CodedOutputStream
8502 .computeInt32Size(11, clauseCleanupPeriod_);
8503 }
8504 if (((bitField0_ & 0x00004000) != 0)) {
8505 size += com.google.protobuf.CodedOutputStream
8506 .computeInt32Size(13, clauseCleanupTarget_);
8507 }
8508 if (((bitField0_ & 0x00800000) != 0)) {
8509 size += com.google.protobuf.CodedOutputStream
8510 .computeDoubleSize(15, variableActivityDecay_);
8511 }
8512 if (((bitField0_ & 0x01000000) != 0)) {
8513 size += com.google.protobuf.CodedOutputStream
8514 .computeDoubleSize(16, maxVariableActivityValue_);
8515 }
8516 if (((bitField0_ & 0x10000000) != 0)) {
8517 size += com.google.protobuf.CodedOutputStream
8518 .computeDoubleSize(17, clauseActivityDecay_);
8519 }
8520 if (((bitField0_ & 0x20000000) != 0)) {
8521 size += com.google.protobuf.CodedOutputStream
8522 .computeDoubleSize(18, maxClauseActivityValue_);
8523 }
8524 if (((bitField0_ & 0x02000000) != 0)) {
8525 size += com.google.protobuf.CodedOutputStream
8526 .computeDoubleSize(22, glucoseMaxDecay_);
8527 }
8528 if (((bitField0_ & 0x04000000) != 0)) {
8529 size += com.google.protobuf.CodedOutputStream
8530 .computeDoubleSize(23, glucoseDecayIncrement_);
8531 }
8532 if (((bitField0_ & 0x08000000) != 0)) {
8533 size += com.google.protobuf.CodedOutputStream
8534 .computeInt32Size(24, glucoseDecayIncrementPeriod_);
8535 }
8536 if (((bitField0_ & 0x80000000) != 0)) {
8537 size += com.google.protobuf.CodedOutputStream
8538 .computeInt32Size(30, restartPeriod_);
8539 }
8540 if (((bitField1_ & 0x00008000) != 0)) {
8541 size += com.google.protobuf.CodedOutputStream
8542 .computeInt32Size(31, randomSeed_);
8543 }
8544 if (((bitField0_ & 0x00000040) != 0)) {
8545 size += com.google.protobuf.CodedOutputStream
8546 .computeDoubleSize(32, randomBranchesRatio_);
8547 }
8548 if (((bitField1_ & 0x00004000) != 0)) {
8549 size += com.google.protobuf.CodedOutputStream
8550 .computeBoolSize(33, treatBinaryClausesSeparately_);
8551 }
8552 if (((bitField0_ & 0x00000800) != 0)) {
8553 size += com.google.protobuf.CodedOutputStream
8554 .computeEnumSize(34, binaryMinimizationAlgorithm_);
8555 }
8556 if (((bitField2_ & 0x00008000) != 0)) {
8557 size += com.google.protobuf.CodedOutputStream
8558 .computeBoolSize(35, useOptimizationHints_);
8559 }
8560 if (((bitField1_ & 0x00000100) != 0)) {
8561 size += com.google.protobuf.CodedOutputStream
8562 .computeDoubleSize(36, maxTimeInSeconds_);
8563 }
8564 if (((bitField1_ & 0x00000400) != 0)) {
8565 size += com.google.protobuf.CodedOutputStream
8566 .computeInt64Size(37, maxNumberOfConflicts_);
8567 }
8568 if (((bitField1_ & 0x00000800) != 0)) {
8569 size += com.google.protobuf.CodedOutputStream
8570 .computeInt64Size(40, maxMemoryInMb_);
8571 }
8572 if (((bitField1_ & 0x00080000) != 0)) {
8573 size += com.google.protobuf.CodedOutputStream
8574 .computeBoolSize(41, logSearchProgress_);
8575 }
8576 if (((bitField1_ & 0x01000000) != 0)) {
8577 size += com.google.protobuf.CodedOutputStream
8578 .computeBoolSize(43, usePbResolution_);
8579 }
8580 if (((bitField0_ & 0x00000008) != 0)) {
8581 size += com.google.protobuf.CodedOutputStream
8582 .computeBoolSize(44, usePhaseSaving_);
8583 }
8584 if (((bitField0_ & 0x00000020) != 0)) {
8585 size += com.google.protobuf.CodedOutputStream
8586 .computeDoubleSize(45, randomPolarityRatio_);
8587 }
8588 if (((bitField0_ & 0x00080000) != 0)) {
8589 size += com.google.protobuf.CodedOutputStream
8590 .computeInt32Size(46, pbCleanupIncrement_);
8591 }
8592 if (((bitField0_ & 0x00100000) != 0)) {
8593 size += com.google.protobuf.CodedOutputStream
8594 .computeDoubleSize(47, pbCleanupRatio_);
8595 }
8596 if (((bitField1_ & 0x02000000) != 0)) {
8597 size += com.google.protobuf.CodedOutputStream
8598 .computeBoolSize(48, minimizeReductionDuringPbResolution_);
8599 }
8600 if (((bitField1_ & 0x04000000) != 0)) {
8601 size += com.google.protobuf.CodedOutputStream
8602 .computeBoolSize(49, countAssumptionLevelsInLbd_);
8603 }
8604 if (((bitField2_ & 0x00010000) != 0)) {
8605 size += com.google.protobuf.CodedOutputStream
8606 .computeBoolSize(50, minimizeCore_);
8607 }
8608 if (((bitField2_ & 0x00080000) != 0)) {
8609 size += com.google.protobuf.CodedOutputStream
8610 .computeEnumSize(51, maxSatAssumptionOrder_);
8611 }
8612 if (((bitField2_ & 0x00100000) != 0)) {
8613 size += com.google.protobuf.CodedOutputStream
8614 .computeBoolSize(52, maxSatReverseAssumptionOrder_);
8615 }
8616 if (((bitField2_ & 0x00200000) != 0)) {
8617 size += com.google.protobuf.CodedOutputStream
8618 .computeEnumSize(53, maxSatStratification_);
8619 }
8620 if (((bitField1_ & 0x08000000) != 0)) {
8621 size += com.google.protobuf.CodedOutputStream
8622 .computeInt32Size(54, presolveBveThreshold_);
8623 }
8624 if (((bitField1_ & 0x10000000) != 0)) {
8625 size += com.google.protobuf.CodedOutputStream
8626 .computeInt32Size(55, presolveBveClauseWeight_);
8627 }
8628 if (((bitField0_ & 0x00001000) != 0)) {
8629 size += com.google.protobuf.CodedOutputStream
8630 .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
8631 }
8632 if (((bitField1_ & 0x20000000) != 0)) {
8633 size += com.google.protobuf.CodedOutputStream
8634 .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
8635 }
8636 if (((bitField0_ & 0x00010000) != 0)) {
8637 size += com.google.protobuf.CodedOutputStream
8638 .computeEnumSize(58, clauseCleanupProtection_);
8639 }
8640 if (((bitField0_ & 0x00020000) != 0)) {
8641 size += com.google.protobuf.CodedOutputStream
8642 .computeInt32Size(59, clauseCleanupLbdBound_);
8643 }
8644 if (((bitField0_ & 0x00040000) != 0)) {
8645 size += com.google.protobuf.CodedOutputStream
8646 .computeEnumSize(60, clauseCleanupOrdering_);
8647 }
8648 {
8649 int dataSize = 0;
8650 for (int i = 0; i < restartAlgorithms_.size(); i++) {
8651 dataSize += com.google.protobuf.CodedOutputStream
8652 .computeEnumSizeNoTag(restartAlgorithms_.get(i));
8653 }
8654 size += dataSize;
8655 size += 2 * restartAlgorithms_.size();
8656 }
8657 if (((bitField1_ & 0x00000001) != 0)) {
8658 size += com.google.protobuf.CodedOutputStream
8659 .computeInt32Size(62, restartRunningWindowSize_);
8660 }
8661 if (((bitField1_ & 0x00000002) != 0)) {
8662 size += com.google.protobuf.CodedOutputStream
8663 .computeDoubleSize(63, restartDlAverageRatio_);
8664 }
8665 if (((bitField1_ & 0x00000008) != 0)) {
8666 size += com.google.protobuf.CodedOutputStream
8667 .computeBoolSize(64, useBlockingRestart_);
8668 }
8669 if (((bitField1_ & 0x00000010) != 0)) {
8670 size += com.google.protobuf.CodedOutputStream
8671 .computeInt32Size(65, blockingRestartWindowSize_);
8672 }
8673 if (((bitField1_ & 0x00000020) != 0)) {
8674 size += com.google.protobuf.CodedOutputStream
8675 .computeDoubleSize(66, blockingRestartMultiplier_);
8676 }
8677 if (((bitField1_ & 0x00000200) != 0)) {
8678 size += com.google.protobuf.CodedOutputStream
8679 .computeDoubleSize(67, maxDeterministicTime_);
8680 }
8681 if (((bitField1_ & 0x00000040) != 0)) {
8682 size += com.google.protobuf.CodedOutputStream
8683 .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
8684 }
8685 if (((bitField1_ & 0x00000080) != 0)) {
8686 size += com.google.protobuf.CodedOutputStream
8687 .computeDoubleSize(69, strategyChangeIncreaseRatio_);
8688 }
8689 if (((bitField0_ & 0x40000000) != 0)) {
8690 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
8691 }
8692 if (((bitField1_ & 0x00000004) != 0)) {
8693 size += com.google.protobuf.CodedOutputStream
8694 .computeDoubleSize(71, restartLbdAverageRatio_);
8695 }
8696 if (((bitField1_ & 0x80000000) != 0)) {
8697 size += com.google.protobuf.CodedOutputStream
8698 .computeBoolSize(72, presolveUseBva_);
8699 }
8700 if (((bitField2_ & 0x00000001) != 0)) {
8701 size += com.google.protobuf.CodedOutputStream
8702 .computeInt32Size(73, presolveBvaThreshold_);
8703 }
8704 if (((bitField2_ & 0x00400000) != 0)) {
8705 size += com.google.protobuf.CodedOutputStream
8706 .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
8707 }
8708 if (((bitField0_ & 0x00000080) != 0)) {
8709 size += com.google.protobuf.CodedOutputStream
8710 .computeBoolSize(75, useErwaHeuristic_);
8711 }
8712 if (((bitField0_ & 0x00000100) != 0)) {
8713 size += com.google.protobuf.CodedOutputStream
8714 .computeDoubleSize(76, initialVariablesActivity_);
8715 }
8716 if (((bitField0_ & 0x00000200) != 0)) {
8717 size += com.google.protobuf.CodedOutputStream
8718 .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
8719 }
8720 if (((bitField2_ & 0x00800000) != 0)) {
8721 size += com.google.protobuf.CodedOutputStream
8722 .computeBoolSize(78, useOverloadCheckerInCumulativeConstraint_);
8723 }
8724 if (((bitField2_ & 0x01000000) != 0)) {
8725 size += com.google.protobuf.CodedOutputStream
8726 .computeBoolSize(79, useTimetableEdgeFindingInCumulativeConstraint_);
8727 }
8728 if (((bitField2_ & 0x02000000) != 0)) {
8729 size += com.google.protobuf.CodedOutputStream
8730 .computeBoolSize(80, useDisjunctiveConstraintInCumulativeConstraint_);
8731 }
8732 if (((bitField3_ & 0x00020000) != 0)) {
8733 size += com.google.protobuf.CodedOutputStream
8734 .computeEnumSize(82, searchBranching_);
8735 }
8736 if (((bitField3_ & 0x20000000) != 0)) {
8737 size += com.google.protobuf.CodedOutputStream
8738 .computeBoolSize(83, optimizeWithCore_);
8739 }
8740 if (((bitField2_ & 0x00020000) != 0)) {
8741 size += com.google.protobuf.CodedOutputStream
8742 .computeBoolSize(84, findMultipleCores_);
8743 }
8744 if (((bitField4_ & 0x00000001) != 0)) {
8745 size += com.google.protobuf.CodedOutputStream
8746 .computeBoolSize(85, optimizeWithMaxHs_);
8747 }
8748 if (((bitField2_ & 0x00000004) != 0)) {
8749 size += com.google.protobuf.CodedOutputStream
8750 .computeBoolSize(86, cpModelPresolve_);
8751 }
8752 if (((bitField4_ & 0x00000002) != 0)) {
8753 size += com.google.protobuf.CodedOutputStream
8754 .computeBoolSize(87, enumerateAllSolutions_);
8755 }
8756 if (((bitField1_ & 0x40000000) != 0)) {
8757 size += com.google.protobuf.CodedOutputStream
8758 .computeBoolSize(88, presolveBlockedClause_);
8759 }
8760 if (((bitField2_ & 0x00040000) != 0)) {
8761 size += com.google.protobuf.CodedOutputStream
8762 .computeBoolSize(89, coverOptimization_);
8763 }
8764 if (((bitField2_ & 0x08000000) != 0)) {
8765 size += com.google.protobuf.CodedOutputStream
8766 .computeInt32Size(90, linearizationLevel_);
8767 }
8768 if (((bitField2_ & 0x40000000) != 0)) {
8769 size += com.google.protobuf.CodedOutputStream
8770 .computeInt32Size(91, maxNumCuts_);
8771 }
8772 if (((bitField3_ & 0x00000001) != 0)) {
8773 size += com.google.protobuf.CodedOutputStream
8774 .computeBoolSize(92, onlyAddCutsAtLevelZero_);
8775 }
8776 if (((bitField2_ & 0x00000010) != 0)) {
8777 size += com.google.protobuf.CodedOutputStream
8778 .computeBoolSize(93, cpModelUseSatPresolve_);
8779 }
8780 if (((bitField3_ & 0x00200000) != 0)) {
8781 size += com.google.protobuf.CodedOutputStream
8782 .computeBoolSize(94, exploitIntegerLpSolution_);
8783 }
8784 if (((bitField4_ & 0x00000040) != 0)) {
8785 size += com.google.protobuf.CodedOutputStream
8786 .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
8787 }
8788 if (((bitField0_ & 0x00200000) != 0)) {
8789 size += com.google.protobuf.CodedOutputStream
8790 .computeInt32Size(96, minimizeWithPropagationRestartPeriod_);
8791 }
8792 if (((bitField0_ & 0x00400000) != 0)) {
8793 size += com.google.protobuf.CodedOutputStream
8794 .computeInt32Size(97, minimizeWithPropagationNumDecisions_);
8795 }
8796 if (((bitField4_ & 0x00000080) != 0)) {
8797 size += com.google.protobuf.CodedOutputStream
8798 .computeBoolSize(98, stopAfterFirstSolution_);
8799 }
8800 if (((bitField3_ & 0x80000000) != 0)) {
8801 size += com.google.protobuf.CodedOutputStream
8802 .computeInt32Size(99, binarySearchNumConflicts_);
8803 }
8804 if (((bitField4_ & 0x00000200) != 0)) {
8805 size += com.google.protobuf.CodedOutputStream
8806 .computeInt32Size(100, numSearchWorkers_);
8807 }
8808 if (((bitField4_ & 0x00008000) != 0)) {
8809 size += com.google.protobuf.CodedOutputStream
8810 .computeBoolSize(101, useLnsOnly_);
8811 }
8812 if (((bitField4_ & 0x00400000) != 0)) {
8813 size += com.google.protobuf.CodedOutputStream
8814 .computeBoolSize(103, randomizeSearch_);
8815 }
8816 if (((bitField4_ & 0x00800000) != 0)) {
8817 size += com.google.protobuf.CodedOutputStream
8818 .computeInt64Size(104, searchRandomizationTolerance_);
8819 }
8820 if (((bitField4_ & 0x00000020) != 0)) {
8821 size += com.google.protobuf.CodedOutputStream
8822 .computeBoolSize(106, instantiateAllVariables_);
8823 }
8824 if (((bitField2_ & 0x10000000) != 0)) {
8825 size += com.google.protobuf.CodedOutputStream
8826 .computeInt32Size(107, booleanEncodingLevel_);
8827 }
8828 if (((bitField4_ & 0x01000000) != 0)) {
8829 size += com.google.protobuf.CodedOutputStream
8830 .computeBoolSize(108, useOptionalVariables_);
8831 }
8832 if (((bitField4_ & 0x02000000) != 0)) {
8833 size += com.google.protobuf.CodedOutputStream
8834 .computeBoolSize(109, useExactLpReason_);
8835 }
8836 if (((bitField2_ & 0x00000008) != 0)) {
8837 size += com.google.protobuf.CodedOutputStream
8838 .computeInt32Size(110, cpModelProbingLevel_);
8839 }
8840 if (((bitField3_ & 0x00000200) != 0)) {
8841 size += com.google.protobuf.CodedOutputStream
8842 .computeBoolSize(112, addLpConstraintsLazily_);
8843 }
8844 if (((bitField4_ & 0x00002000) != 0)) {
8845 size += com.google.protobuf.CodedOutputStream
8846 .computeBoolSize(113, shareObjectiveBounds_);
8847 }
8848 if (((bitField4_ & 0x00004000) != 0)) {
8849 size += com.google.protobuf.CodedOutputStream
8850 .computeBoolSize(114, shareLevelZeroBounds_);
8851 }
8852 if (((bitField3_ & 0x00000400) != 0)) {
8853 size += com.google.protobuf.CodedOutputStream
8854 .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
8855 }
8856 if (((bitField3_ & 0x00400000) != 0)) {
8857 size += com.google.protobuf.CodedOutputStream
8858 .computeBoolSize(116, exploitAllLpSolution_);
8859 }
8860 if (((bitField3_ & 0x00000004) != 0)) {
8861 size += com.google.protobuf.CodedOutputStream
8862 .computeBoolSize(117, addCgCuts_);
8863 }
8864 if (((bitField3_ & 0x00000100) != 0)) {
8865 size += com.google.protobuf.CodedOutputStream
8866 .computeInt32Size(119, maxIntegerRoundingScaling_);
8867 }
8868 if (((bitField3_ & 0x00000008) != 0)) {
8869 size += com.google.protobuf.CodedOutputStream
8870 .computeBoolSize(120, addMirCuts_);
8871 }
8872 if (((bitField3_ & 0x00001000) != 0)) {
8873 size += com.google.protobuf.CodedOutputStream
8874 .computeInt32Size(121, maxConsecutiveInactiveCount_);
8875 }
8876 if (((bitField3_ & 0x00010000) != 0)) {
8877 size += com.google.protobuf.CodedOutputStream
8878 .computeInt32Size(122, newConstraintsBatchSize_);
8879 }
8880 if (((bitField3_ & 0x10000000) != 0)) {
8881 size += com.google.protobuf.CodedOutputStream
8882 .computeInt64Size(123, pseudoCostReliabilityThreshold_);
8883 }
8884 if (((bitField5_ & 0x00000002) != 0)) {
8885 size += com.google.protobuf.CodedOutputStream
8886 .computeDoubleSize(124, mipMaxBound_);
8887 }
8888 if (((bitField5_ & 0x00000004) != 0)) {
8889 size += com.google.protobuf.CodedOutputStream
8890 .computeDoubleSize(125, mipVarScaling_);
8891 }
8892 if (((bitField5_ & 0x00000010) != 0)) {
8893 size += com.google.protobuf.CodedOutputStream
8894 .computeDoubleSize(126, mipWantedPrecision_);
8895 }
8896 if (((bitField5_ & 0x00000020) != 0)) {
8897 size += com.google.protobuf.CodedOutputStream
8898 .computeInt32Size(127, mipMaxActivityExponent_);
8899 }
8900 if (((bitField5_ & 0x00000040) != 0)) {
8901 size += com.google.protobuf.CodedOutputStream
8902 .computeDoubleSize(128, mipCheckPrecision_);
8903 }
8904 if (((bitField4_ & 0x00020000) != 0)) {
8905 size += com.google.protobuf.CodedOutputStream
8906 .computeBoolSize(129, useRinsLns_);
8907 }
8908 if (((bitField3_ & 0x00800000) != 0)) {
8909 size += com.google.protobuf.CodedOutputStream
8910 .computeBoolSize(130, exploitBestSolution_);
8911 }
8912 if (((bitField3_ & 0x02000000) != 0)) {
8913 size += com.google.protobuf.CodedOutputStream
8914 .computeBoolSize(131, exploitObjective_);
8915 }
8916 if (((bitField4_ & 0x00000008) != 0)) {
8917 size += com.google.protobuf.CodedOutputStream
8918 .computeBoolSize(132, fillTightenedDomainsInResponse_);
8919 }
8920 if (((bitField4_ & 0x08000000) != 0)) {
8921 size += com.google.protobuf.CodedOutputStream
8922 .computeBoolSize(133, useCombinedNoOverlap_);
8923 }
8924 if (((bitField4_ & 0x00000800) != 0)) {
8925 size += com.google.protobuf.CodedOutputStream
8926 .computeInt32Size(134, interleaveBatchSize_);
8927 }
8928 if (((bitField4_ & 0x10000000) != 0)) {
8929 size += com.google.protobuf.CodedOutputStream
8930 .computeBoolSize(135, catchSigintSignal_);
8931 }
8932 if (((bitField4_ & 0x00000400) != 0)) {
8933 size += com.google.protobuf.CodedOutputStream
8934 .computeBoolSize(136, interleaveSearch_);
8935 }
8936 if (((bitField4_ & 0x00200000) != 0)) {
8937 size += com.google.protobuf.CodedOutputStream
8938 .computeBoolSize(137, diversifyLnsParams_);
8939 }
8940 if (((bitField2_ & 0x00000002) != 0)) {
8941 size += com.google.protobuf.CodedOutputStream
8942 .computeInt32Size(138, maxPresolveIterations_);
8943 }
8944 if (((bitField4_ & 0x04000000) != 0)) {
8945 size += com.google.protobuf.CodedOutputStream
8946 .computeBoolSize(139, useBranchingInLp_);
8947 }
8948 if (((bitField4_ & 0x00001000) != 0)) {
8949 size += com.google.protobuf.CodedOutputStream
8950 .computeBoolSize(141, reduceMemoryUsageInInterleaveMode_);
8951 }
8952 if (((bitField3_ & 0x04000000) != 0)) {
8953 size += com.google.protobuf.CodedOutputStream
8954 .computeInt64Size(142, probingPeriodAtRoot_);
8955 }
8956 if (((bitField4_ & 0x20000000) != 0)) {
8957 size += com.google.protobuf.CodedOutputStream
8958 .computeBoolSize(144, useImpliedBounds_);
8959 }
8960 if (((bitField2_ & 0x00000100) != 0)) {
8961 size += com.google.protobuf.CodedOutputStream
8962 .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
8963 }
8964 if (((bitField2_ & 0x00000200) != 0)) {
8965 size += com.google.protobuf.CodedOutputStream
8966 .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
8967 }
8968 if (((bitField2_ & 0x00000400) != 0)) {
8969 size += com.google.protobuf.CodedOutputStream
8970 .computeInt32Size(147, presolveSubstitutionLevel_);
8971 }
8972 if (((bitField3_ & 0x00000040) != 0)) {
8973 size += com.google.protobuf.CodedOutputStream
8974 .computeInt32Size(148, maxAllDiffCutSize_);
8975 }
8976 if (((bitField4_ & 0x00000100) != 0)) {
8977 size += com.google.protobuf.CodedOutputStream
8978 .computeBoolSize(149, stopAfterPresolve_);
8979 }
8980 if (((bitField4_ & 0x00100000) != 0)) {
8981 size += com.google.protobuf.CodedOutputStream
8982 .computeBoolSize(150, useRelaxationLns_);
8983 }
8984 if (((bitField2_ & 0x00002000) != 0)) {
8985 size += com.google.protobuf.CodedOutputStream
8986 .computeInt32Size(151, debugMaxNumPresolveOperations_);
8987 }
8988 if (((bitField3_ & 0x00000080) != 0)) {
8989 size += com.google.protobuf.CodedOutputStream
8990 .computeBoolSize(152, addLinMaxCuts_);
8991 }
8992 if (((bitField3_ & 0x00040000) != 0)) {
8993 size += com.google.protobuf.CodedOutputStream
8994 .computeInt32Size(153, hintConflictLimit_);
8995 }
8996 if (((bitField3_ & 0x00000800) != 0)) {
8997 size += com.google.protobuf.CodedOutputStream
8998 .computeInt32Size(154, maxCutRoundsAtLevelZero_);
8999 }
9000 if (((bitField3_ & 0x00002000) != 0)) {
9001 size += com.google.protobuf.CodedOutputStream
9002 .computeDoubleSize(155, cutMaxActiveCountValue_);
9003 }
9004 if (((bitField3_ & 0x00004000) != 0)) {
9005 size += com.google.protobuf.CodedOutputStream
9006 .computeDoubleSize(156, cutActiveCountDecay_);
9007 }
9008 if (((bitField3_ & 0x00008000) != 0)) {
9009 size += com.google.protobuf.CodedOutputStream
9010 .computeInt32Size(157, cutCleanupTarget_);
9011 }
9012 if (((bitField1_ & 0x00001000) != 0)) {
9013 size += com.google.protobuf.CodedOutputStream
9014 .computeDoubleSize(159, absoluteGapLimit_);
9015 }
9016 if (((bitField1_ & 0x00002000) != 0)) {
9017 size += com.google.protobuf.CodedOutputStream
9018 .computeDoubleSize(160, relativeGapLimit_);
9019 }
9020 if (((bitField3_ & 0x01000000) != 0)) {
9021 size += com.google.protobuf.CodedOutputStream
9022 .computeBoolSize(161, exploitRelaxationSolution_);
9023 }
9024 if (((bitField2_ & 0x00001000) != 0)) {
9025 size += com.google.protobuf.CodedOutputStream
9026 .computeBoolSize(162, debugPostsolveWithFullSolver_);
9027 }
9028 if (((bitField2_ & 0x00000020) != 0)) {
9029 size += com.google.protobuf.CodedOutputStream
9030 .computeBoolSize(163, useSatInprocessing_);
9031 }
9032 if (((bitField4_ & 0x00040000) != 0)) {
9033 size += com.google.protobuf.CodedOutputStream
9034 .computeBoolSize(164, useFeasibilityPump_);
9035 }
9036 if (((bitField4_ & 0x00080000) != 0)) {
9037 size += com.google.protobuf.CodedOutputStream
9038 .computeEnumSize(165, fpRounding_);
9039 }
9040 if (((bitField5_ & 0x00000008) != 0)) {
9041 size += com.google.protobuf.CodedOutputStream
9042 .computeBoolSize(166, mipAutomaticallyScaleVariables_);
9043 }
9044 if (((bitField3_ & 0x00080000) != 0)) {
9045 size += com.google.protobuf.CodedOutputStream
9046 .computeBoolSize(167, repairHint_);
9047 }
9048 if (((bitField0_ & 0x00000010) != 0)) {
9049 size += com.google.protobuf.CodedOutputStream
9050 .computeInt32Size(168, polarityRephaseIncrement_);
9051 }
9052 if (((bitField3_ & 0x00000010) != 0)) {
9053 size += com.google.protobuf.CodedOutputStream
9054 .computeBoolSize(169, addZeroHalfCuts_);
9055 }
9056 if (((bitField2_ & 0x00000040) != 0)) {
9057 size += com.google.protobuf.CodedOutputStream
9058 .computeBoolSize(170, expandAlldiffConstraints_);
9059 }
9060 if (((bitField0_ & 0x00000001) != 0)) {
9061 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(171, name_);
9062 }
9063 if (((bitField3_ & 0x00000020) != 0)) {
9064 size += com.google.protobuf.CodedOutputStream
9065 .computeBoolSize(172, addCliqueCuts_);
9066 }
9067 if (((bitField4_ & 0x00000004) != 0)) {
9068 size += com.google.protobuf.CodedOutputStream
9069 .computeBoolSize(173, keepAllFeasibleSolutionsInPresolve_);
9070 }
9071 if (((bitField2_ & 0x00000800) != 0)) {
9072 size += com.google.protobuf.CodedOutputStream
9073 .computeBoolSize(174, presolveExtractIntegerEnforcement_);
9074 }
9075 if (((bitField4_ & 0x40000000) != 0)) {
9076 size += com.google.protobuf.CodedOutputStream
9077 .computeBoolSize(175, polishLpSolution_);
9078 }
9079 if (((bitField3_ & 0x08000000) != 0)) {
9080 size += com.google.protobuf.CodedOutputStream
9081 .computeBoolSize(176, useProbingSearch_);
9082 }
9083 if (((bitField4_ & 0x80000000) != 0)) {
9084 size += com.google.protobuf.CodedOutputStream
9085 .computeBoolSize(177, convertIntervals_);
9086 }
9087 if (((bitField1_ & 0x00010000) != 0)) {
9088 size += com.google.protobuf.CodedOutputStream
9089 .computeBoolSize(178, permuteVariableRandomly_);
9090 }
9091 if (((bitField1_ & 0x00020000) != 0)) {
9092 size += com.google.protobuf.CodedOutputStream
9093 .computeBoolSize(179, permutePresolveConstraintOrder_);
9094 }
9095 if (((bitField1_ & 0x00040000) != 0)) {
9096 size += com.google.protobuf.CodedOutputStream
9097 .computeBoolSize(180, useAbslRandom_);
9098 }
9099 if (((bitField2_ & 0x00000080) != 0)) {
9100 size += com.google.protobuf.CodedOutputStream
9101 .computeBoolSize(181, disableConstraintExpansion_);
9102 }
9103 if (((bitField5_ & 0x00000001) != 0)) {
9104 size += com.google.protobuf.CodedOutputStream
9105 .computeInt32Size(183, symmetryLevel_);
9106 }
9107 if (((bitField1_ & 0x00200000) != 0)) {
9108 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(185, logPrefix_);
9109 }
9110 if (((bitField1_ & 0x00400000) != 0)) {
9111 size += com.google.protobuf.CodedOutputStream
9112 .computeBoolSize(186, logToStdout_);
9113 }
9114 if (((bitField1_ & 0x00800000) != 0)) {
9115 size += com.google.protobuf.CodedOutputStream
9116 .computeBoolSize(187, logToResponse_);
9117 }
9118 if (((bitField3_ & 0x40000000) != 0)) {
9119 size += com.google.protobuf.CodedOutputStream
9120 .computeBoolSize(188, optimizeWithLbTreeSearch_);
9121 }
9122 if (((bitField1_ & 0x00100000) != 0)) {
9123 size += com.google.protobuf.CodedOutputStream
9124 .computeBoolSize(189, logSubsolverStatistics_);
9125 }
9126 if (((bitField0_ & 0x00008000) != 0)) {
9127 size += com.google.protobuf.CodedOutputStream
9128 .computeDoubleSize(190, clauseCleanupRatio_);
9129 }
9130 if (((bitField2_ & 0x20000000) != 0)) {
9131 size += com.google.protobuf.CodedOutputStream
9132 .computeInt32Size(191, maxDomainSizeWhenEncodingEqNeqConstraints_);
9133 }
9134 if (((bitField3_ & 0x00100000) != 0)) {
9135 size += com.google.protobuf.CodedOutputStream
9136 .computeBoolSize(192, fixVariablesToTheirHintedValue_);
9137 }
9138 if (((bitField4_ & 0x00010000) != 0)) {
9139 size += com.google.protobuf.CodedOutputStream
9140 .computeInt32Size(193, solutionPoolSize_);
9141 }
9142 if (((bitField4_ & 0x00000010) != 0)) {
9143 size += com.google.protobuf.CodedOutputStream
9144 .computeBoolSize(194, fillAdditionalSolutionsInResponse_);
9145 }
9146 if (((bitField2_ & 0x00004000) != 0)) {
9147 size += com.google.protobuf.CodedOutputStream
9148 .computeBoolSize(195, debugCrashOnBadHint_);
9149 }
9150 if (((bitField2_ & 0x80000000) != 0)) {
9151 size += com.google.protobuf.CodedOutputStream
9152 .computeInt32Size(196, cutLevel_);
9153 }
9154 if (((bitField3_ & 0x00000002) != 0)) {
9155 size += com.google.protobuf.CodedOutputStream
9156 .computeBoolSize(197, addObjectiveCut_);
9157 }
9158 if (((bitField5_ & 0x00000080) != 0)) {
9159 size += com.google.protobuf.CodedOutputStream
9160 .computeBoolSize(198, mipComputeTrueObjectiveBound_);
9161 }
9162 if (((bitField5_ & 0x00000100) != 0)) {
9163 size += com.google.protobuf.CodedOutputStream
9164 .computeDoubleSize(199, mipMaxValidMagnitude_);
9165 }
9166 if (((bitField2_ & 0x04000000) != 0)) {
9167 size += com.google.protobuf.CodedOutputStream
9168 .computeBoolSize(200, useCumulativeInNoOverlap2D_);
9169 }
9170 size += unknownFields.getSerializedSize();
9171 memoizedSize = size;
9172 return size;
9173 }
9174
9175 @java.lang.Override
9176 public boolean equals(final java.lang.Object obj) {
9177 if (obj == this) {
9178 return true;
9179 }
9180 if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
9181 return super.equals(obj);
9182 }
9183 com.google.ortools.sat.SatParameters other = (com.google.ortools.sat.SatParameters) obj;
9184
9185 if (hasName() != other.hasName()) return false;
9186 if (hasName()) {
9187 if (!getName()
9188 .equals(other.getName())) return false;
9189 }
9190 if (hasPreferredVariableOrder() != other.hasPreferredVariableOrder()) return false;
9192 if (preferredVariableOrder_ != other.preferredVariableOrder_) return false;
9193 }
9194 if (hasInitialPolarity() != other.hasInitialPolarity()) return false;
9195 if (hasInitialPolarity()) {
9196 if (initialPolarity_ != other.initialPolarity_) return false;
9197 }
9198 if (hasUsePhaseSaving() != other.hasUsePhaseSaving()) return false;
9199 if (hasUsePhaseSaving()) {
9200 if (getUsePhaseSaving()
9201 != other.getUsePhaseSaving()) return false;
9202 }
9203 if (hasPolarityRephaseIncrement() != other.hasPolarityRephaseIncrement()) return false;
9206 != other.getPolarityRephaseIncrement()) return false;
9207 }
9208 if (hasRandomPolarityRatio() != other.hasRandomPolarityRatio()) return false;
9209 if (hasRandomPolarityRatio()) {
9210 if (java.lang.Double.doubleToLongBits(getRandomPolarityRatio())
9211 != java.lang.Double.doubleToLongBits(
9212 other.getRandomPolarityRatio())) return false;
9213 }
9214 if (hasRandomBranchesRatio() != other.hasRandomBranchesRatio()) return false;
9215 if (hasRandomBranchesRatio()) {
9216 if (java.lang.Double.doubleToLongBits(getRandomBranchesRatio())
9217 != java.lang.Double.doubleToLongBits(
9218 other.getRandomBranchesRatio())) return false;
9219 }
9220 if (hasUseErwaHeuristic() != other.hasUseErwaHeuristic()) return false;
9221 if (hasUseErwaHeuristic()) {
9223 != other.getUseErwaHeuristic()) return false;
9224 }
9225 if (hasInitialVariablesActivity() != other.hasInitialVariablesActivity()) return false;
9227 if (java.lang.Double.doubleToLongBits(getInitialVariablesActivity())
9228 != java.lang.Double.doubleToLongBits(
9229 other.getInitialVariablesActivity())) return false;
9230 }
9231 if (hasAlsoBumpVariablesInConflictReasons() != other.hasAlsoBumpVariablesInConflictReasons()) return false;
9234 != other.getAlsoBumpVariablesInConflictReasons()) return false;
9235 }
9236 if (hasMinimizationAlgorithm() != other.hasMinimizationAlgorithm()) return false;
9238 if (minimizationAlgorithm_ != other.minimizationAlgorithm_) return false;
9239 }
9240 if (hasBinaryMinimizationAlgorithm() != other.hasBinaryMinimizationAlgorithm()) return false;
9242 if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_) return false;
9243 }
9244 if (hasSubsumptionDuringConflictAnalysis() != other.hasSubsumptionDuringConflictAnalysis()) return false;
9247 != other.getSubsumptionDuringConflictAnalysis()) return false;
9248 }
9249 if (hasClauseCleanupPeriod() != other.hasClauseCleanupPeriod()) return false;
9250 if (hasClauseCleanupPeriod()) {
9252 != other.getClauseCleanupPeriod()) return false;
9253 }
9254 if (hasClauseCleanupTarget() != other.hasClauseCleanupTarget()) return false;
9255 if (hasClauseCleanupTarget()) {
9257 != other.getClauseCleanupTarget()) return false;
9258 }
9259 if (hasClauseCleanupRatio() != other.hasClauseCleanupRatio()) return false;
9260 if (hasClauseCleanupRatio()) {
9261 if (java.lang.Double.doubleToLongBits(getClauseCleanupRatio())
9262 != java.lang.Double.doubleToLongBits(
9263 other.getClauseCleanupRatio())) return false;
9264 }
9265 if (hasClauseCleanupProtection() != other.hasClauseCleanupProtection()) return false;
9267 if (clauseCleanupProtection_ != other.clauseCleanupProtection_) return false;
9268 }
9269 if (hasClauseCleanupLbdBound() != other.hasClauseCleanupLbdBound()) return false;
9272 != other.getClauseCleanupLbdBound()) return false;
9273 }
9274 if (hasClauseCleanupOrdering() != other.hasClauseCleanupOrdering()) return false;
9276 if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_) return false;
9277 }
9278 if (hasPbCleanupIncrement() != other.hasPbCleanupIncrement()) return false;
9279 if (hasPbCleanupIncrement()) {
9281 != other.getPbCleanupIncrement()) return false;
9282 }
9283 if (hasPbCleanupRatio() != other.hasPbCleanupRatio()) return false;
9284 if (hasPbCleanupRatio()) {
9285 if (java.lang.Double.doubleToLongBits(getPbCleanupRatio())
9286 != java.lang.Double.doubleToLongBits(
9287 other.getPbCleanupRatio())) return false;
9288 }
9289 if (hasMinimizeWithPropagationRestartPeriod() != other.hasMinimizeWithPropagationRestartPeriod()) return false;
9292 != other.getMinimizeWithPropagationRestartPeriod()) return false;
9293 }
9294 if (hasMinimizeWithPropagationNumDecisions() != other.hasMinimizeWithPropagationNumDecisions()) return false;
9297 != other.getMinimizeWithPropagationNumDecisions()) return false;
9298 }
9299 if (hasVariableActivityDecay() != other.hasVariableActivityDecay()) return false;
9301 if (java.lang.Double.doubleToLongBits(getVariableActivityDecay())
9302 != java.lang.Double.doubleToLongBits(
9303 other.getVariableActivityDecay())) return false;
9304 }
9305 if (hasMaxVariableActivityValue() != other.hasMaxVariableActivityValue()) return false;
9307 if (java.lang.Double.doubleToLongBits(getMaxVariableActivityValue())
9308 != java.lang.Double.doubleToLongBits(
9309 other.getMaxVariableActivityValue())) return false;
9310 }
9311 if (hasGlucoseMaxDecay() != other.hasGlucoseMaxDecay()) return false;
9312 if (hasGlucoseMaxDecay()) {
9313 if (java.lang.Double.doubleToLongBits(getGlucoseMaxDecay())
9314 != java.lang.Double.doubleToLongBits(
9315 other.getGlucoseMaxDecay())) return false;
9316 }
9317 if (hasGlucoseDecayIncrement() != other.hasGlucoseDecayIncrement()) return false;
9319 if (java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement())
9320 != java.lang.Double.doubleToLongBits(
9321 other.getGlucoseDecayIncrement())) return false;
9322 }
9323 if (hasGlucoseDecayIncrementPeriod() != other.hasGlucoseDecayIncrementPeriod()) return false;
9326 != other.getGlucoseDecayIncrementPeriod()) return false;
9327 }
9328 if (hasClauseActivityDecay() != other.hasClauseActivityDecay()) return false;
9329 if (hasClauseActivityDecay()) {
9330 if (java.lang.Double.doubleToLongBits(getClauseActivityDecay())
9331 != java.lang.Double.doubleToLongBits(
9332 other.getClauseActivityDecay())) return false;
9333 }
9334 if (hasMaxClauseActivityValue() != other.hasMaxClauseActivityValue()) return false;
9336 if (java.lang.Double.doubleToLongBits(getMaxClauseActivityValue())
9337 != java.lang.Double.doubleToLongBits(
9338 other.getMaxClauseActivityValue())) return false;
9339 }
9340 if (!restartAlgorithms_.equals(other.restartAlgorithms_)) return false;
9341 if (hasDefaultRestartAlgorithms() != other.hasDefaultRestartAlgorithms()) return false;
9344 .equals(other.getDefaultRestartAlgorithms())) return false;
9345 }
9346 if (hasRestartPeriod() != other.hasRestartPeriod()) return false;
9347 if (hasRestartPeriod()) {
9348 if (getRestartPeriod()
9349 != other.getRestartPeriod()) return false;
9350 }
9351 if (hasRestartRunningWindowSize() != other.hasRestartRunningWindowSize()) return false;
9354 != other.getRestartRunningWindowSize()) return false;
9355 }
9356 if (hasRestartDlAverageRatio() != other.hasRestartDlAverageRatio()) return false;
9358 if (java.lang.Double.doubleToLongBits(getRestartDlAverageRatio())
9359 != java.lang.Double.doubleToLongBits(
9360 other.getRestartDlAverageRatio())) return false;
9361 }
9362 if (hasRestartLbdAverageRatio() != other.hasRestartLbdAverageRatio()) return false;
9364 if (java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio())
9365 != java.lang.Double.doubleToLongBits(
9366 other.getRestartLbdAverageRatio())) return false;
9367 }
9368 if (hasUseBlockingRestart() != other.hasUseBlockingRestart()) return false;
9369 if (hasUseBlockingRestart()) {
9371 != other.getUseBlockingRestart()) return false;
9372 }
9373 if (hasBlockingRestartWindowSize() != other.hasBlockingRestartWindowSize()) return false;
9376 != other.getBlockingRestartWindowSize()) return false;
9377 }
9378 if (hasBlockingRestartMultiplier() != other.hasBlockingRestartMultiplier()) return false;
9380 if (java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier())
9381 != java.lang.Double.doubleToLongBits(
9382 other.getBlockingRestartMultiplier())) return false;
9383 }
9384 if (hasNumConflictsBeforeStrategyChanges() != other.hasNumConflictsBeforeStrategyChanges()) return false;
9387 != other.getNumConflictsBeforeStrategyChanges()) return false;
9388 }
9389 if (hasStrategyChangeIncreaseRatio() != other.hasStrategyChangeIncreaseRatio()) return false;
9391 if (java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio())
9392 != java.lang.Double.doubleToLongBits(
9393 other.getStrategyChangeIncreaseRatio())) return false;
9394 }
9395 if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
9396 if (hasMaxTimeInSeconds()) {
9397 if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
9398 != java.lang.Double.doubleToLongBits(
9399 other.getMaxTimeInSeconds())) return false;
9400 }
9401 if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
9403 if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
9404 != java.lang.Double.doubleToLongBits(
9405 other.getMaxDeterministicTime())) return false;
9406 }
9407 if (hasMaxNumberOfConflicts() != other.hasMaxNumberOfConflicts()) return false;
9410 != other.getMaxNumberOfConflicts()) return false;
9411 }
9412 if (hasMaxMemoryInMb() != other.hasMaxMemoryInMb()) return false;
9413 if (hasMaxMemoryInMb()) {
9414 if (getMaxMemoryInMb()
9415 != other.getMaxMemoryInMb()) return false;
9416 }
9417 if (hasAbsoluteGapLimit() != other.hasAbsoluteGapLimit()) return false;
9418 if (hasAbsoluteGapLimit()) {
9419 if (java.lang.Double.doubleToLongBits(getAbsoluteGapLimit())
9420 != java.lang.Double.doubleToLongBits(
9421 other.getAbsoluteGapLimit())) return false;
9422 }
9423 if (hasRelativeGapLimit() != other.hasRelativeGapLimit()) return false;
9424 if (hasRelativeGapLimit()) {
9425 if (java.lang.Double.doubleToLongBits(getRelativeGapLimit())
9426 != java.lang.Double.doubleToLongBits(
9427 other.getRelativeGapLimit())) return false;
9428 }
9429 if (hasTreatBinaryClausesSeparately() != other.hasTreatBinaryClausesSeparately()) return false;
9432 != other.getTreatBinaryClausesSeparately()) return false;
9433 }
9434 if (hasRandomSeed() != other.hasRandomSeed()) return false;
9435 if (hasRandomSeed()) {
9436 if (getRandomSeed()
9437 != other.getRandomSeed()) return false;
9438 }
9439 if (hasPermuteVariableRandomly() != other.hasPermuteVariableRandomly()) return false;
9442 != other.getPermuteVariableRandomly()) return false;
9443 }
9444 if (hasPermutePresolveConstraintOrder() != other.hasPermutePresolveConstraintOrder()) return false;
9447 != other.getPermutePresolveConstraintOrder()) return false;
9448 }
9449 if (hasUseAbslRandom() != other.hasUseAbslRandom()) return false;
9450 if (hasUseAbslRandom()) {
9451 if (getUseAbslRandom()
9452 != other.getUseAbslRandom()) return false;
9453 }
9454 if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
9455 if (hasLogSearchProgress()) {
9457 != other.getLogSearchProgress()) return false;
9458 }
9459 if (hasLogSubsolverStatistics() != other.hasLogSubsolverStatistics()) return false;
9462 != other.getLogSubsolverStatistics()) return false;
9463 }
9464 if (hasLogPrefix() != other.hasLogPrefix()) return false;
9465 if (hasLogPrefix()) {
9466 if (!getLogPrefix()
9467 .equals(other.getLogPrefix())) return false;
9468 }
9469 if (hasLogToStdout() != other.hasLogToStdout()) return false;
9470 if (hasLogToStdout()) {
9471 if (getLogToStdout()
9472 != other.getLogToStdout()) return false;
9473 }
9474 if (hasLogToResponse() != other.hasLogToResponse()) return false;
9475 if (hasLogToResponse()) {
9476 if (getLogToResponse()
9477 != other.getLogToResponse()) return false;
9478 }
9479 if (hasUsePbResolution() != other.hasUsePbResolution()) return false;
9480 if (hasUsePbResolution()) {
9481 if (getUsePbResolution()
9482 != other.getUsePbResolution()) return false;
9483 }
9484 if (hasMinimizeReductionDuringPbResolution() != other.hasMinimizeReductionDuringPbResolution()) return false;
9487 != other.getMinimizeReductionDuringPbResolution()) return false;
9488 }
9489 if (hasCountAssumptionLevelsInLbd() != other.hasCountAssumptionLevelsInLbd()) return false;
9492 != other.getCountAssumptionLevelsInLbd()) return false;
9493 }
9494 if (hasPresolveBveThreshold() != other.hasPresolveBveThreshold()) return false;
9497 != other.getPresolveBveThreshold()) return false;
9498 }
9499 if (hasPresolveBveClauseWeight() != other.hasPresolveBveClauseWeight()) return false;
9502 != other.getPresolveBveClauseWeight()) return false;
9503 }
9504 if (hasPresolveProbingDeterministicTimeLimit() != other.hasPresolveProbingDeterministicTimeLimit()) return false;
9506 if (java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit())
9507 != java.lang.Double.doubleToLongBits(
9508 other.getPresolveProbingDeterministicTimeLimit())) return false;
9509 }
9510 if (hasPresolveBlockedClause() != other.hasPresolveBlockedClause()) return false;
9513 != other.getPresolveBlockedClause()) return false;
9514 }
9515 if (hasPresolveUseBva() != other.hasPresolveUseBva()) return false;
9516 if (hasPresolveUseBva()) {
9517 if (getPresolveUseBva()
9518 != other.getPresolveUseBva()) return false;
9519 }
9520 if (hasPresolveBvaThreshold() != other.hasPresolveBvaThreshold()) return false;
9523 != other.getPresolveBvaThreshold()) return false;
9524 }
9525 if (hasMaxPresolveIterations() != other.hasMaxPresolveIterations()) return false;
9528 != other.getMaxPresolveIterations()) return false;
9529 }
9530 if (hasCpModelPresolve() != other.hasCpModelPresolve()) return false;
9531 if (hasCpModelPresolve()) {
9532 if (getCpModelPresolve()
9533 != other.getCpModelPresolve()) return false;
9534 }
9535 if (hasCpModelProbingLevel() != other.hasCpModelProbingLevel()) return false;
9536 if (hasCpModelProbingLevel()) {
9538 != other.getCpModelProbingLevel()) return false;
9539 }
9540 if (hasCpModelUseSatPresolve() != other.hasCpModelUseSatPresolve()) return false;
9543 != other.getCpModelUseSatPresolve()) return false;
9544 }
9545 if (hasUseSatInprocessing() != other.hasUseSatInprocessing()) return false;
9546 if (hasUseSatInprocessing()) {
9548 != other.getUseSatInprocessing()) return false;
9549 }
9550 if (hasExpandAlldiffConstraints() != other.hasExpandAlldiffConstraints()) return false;
9553 != other.getExpandAlldiffConstraints()) return false;
9554 }
9555 if (hasDisableConstraintExpansion() != other.hasDisableConstraintExpansion()) return false;
9558 != other.getDisableConstraintExpansion()) return false;
9559 }
9560 if (hasMergeNoOverlapWorkLimit() != other.hasMergeNoOverlapWorkLimit()) return false;
9562 if (java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit())
9563 != java.lang.Double.doubleToLongBits(
9564 other.getMergeNoOverlapWorkLimit())) return false;
9565 }
9566 if (hasMergeAtMostOneWorkLimit() != other.hasMergeAtMostOneWorkLimit()) return false;
9568 if (java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit())
9569 != java.lang.Double.doubleToLongBits(
9570 other.getMergeAtMostOneWorkLimit())) return false;
9571 }
9572 if (hasPresolveSubstitutionLevel() != other.hasPresolveSubstitutionLevel()) return false;
9575 != other.getPresolveSubstitutionLevel()) return false;
9576 }
9577 if (hasPresolveExtractIntegerEnforcement() != other.hasPresolveExtractIntegerEnforcement()) return false;
9580 != other.getPresolveExtractIntegerEnforcement()) return false;
9581 }
9582 if (hasDebugPostsolveWithFullSolver() != other.hasDebugPostsolveWithFullSolver()) return false;
9585 != other.getDebugPostsolveWithFullSolver()) return false;
9586 }
9587 if (hasDebugMaxNumPresolveOperations() != other.hasDebugMaxNumPresolveOperations()) return false;
9590 != other.getDebugMaxNumPresolveOperations()) return false;
9591 }
9592 if (hasDebugCrashOnBadHint() != other.hasDebugCrashOnBadHint()) return false;
9593 if (hasDebugCrashOnBadHint()) {
9595 != other.getDebugCrashOnBadHint()) return false;
9596 }
9597 if (hasUseOptimizationHints() != other.hasUseOptimizationHints()) return false;
9600 != other.getUseOptimizationHints()) return false;
9601 }
9602 if (hasMinimizeCore() != other.hasMinimizeCore()) return false;
9603 if (hasMinimizeCore()) {
9604 if (getMinimizeCore()
9605 != other.getMinimizeCore()) return false;
9606 }
9607 if (hasFindMultipleCores() != other.hasFindMultipleCores()) return false;
9608 if (hasFindMultipleCores()) {
9610 != other.getFindMultipleCores()) return false;
9611 }
9612 if (hasCoverOptimization() != other.hasCoverOptimization()) return false;
9613 if (hasCoverOptimization()) {
9615 != other.getCoverOptimization()) return false;
9616 }
9617 if (hasMaxSatAssumptionOrder() != other.hasMaxSatAssumptionOrder()) return false;
9619 if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_) return false;
9620 }
9621 if (hasMaxSatReverseAssumptionOrder() != other.hasMaxSatReverseAssumptionOrder()) return false;
9624 != other.getMaxSatReverseAssumptionOrder()) return false;
9625 }
9626 if (hasMaxSatStratification() != other.hasMaxSatStratification()) return false;
9628 if (maxSatStratification_ != other.maxSatStratification_) return false;
9629 }
9630 if (hasUsePrecedencesInDisjunctiveConstraint() != other.hasUsePrecedencesInDisjunctiveConstraint()) return false;
9633 != other.getUsePrecedencesInDisjunctiveConstraint()) return false;
9634 }
9635 if (hasUseOverloadCheckerInCumulativeConstraint() != other.hasUseOverloadCheckerInCumulativeConstraint()) return false;
9638 != other.getUseOverloadCheckerInCumulativeConstraint()) return false;
9639 }
9640 if (hasUseTimetableEdgeFindingInCumulativeConstraint() != other.hasUseTimetableEdgeFindingInCumulativeConstraint()) return false;
9643 != other.getUseTimetableEdgeFindingInCumulativeConstraint()) return false;
9644 }
9645 if (hasUseDisjunctiveConstraintInCumulativeConstraint() != other.hasUseDisjunctiveConstraintInCumulativeConstraint()) return false;
9648 != other.getUseDisjunctiveConstraintInCumulativeConstraint()) return false;
9649 }
9650 if (hasUseCumulativeInNoOverlap2D() != other.hasUseCumulativeInNoOverlap2D()) return false;
9653 != other.getUseCumulativeInNoOverlap2D()) return false;
9654 }
9655 if (hasLinearizationLevel() != other.hasLinearizationLevel()) return false;
9656 if (hasLinearizationLevel()) {
9658 != other.getLinearizationLevel()) return false;
9659 }
9660 if (hasBooleanEncodingLevel() != other.hasBooleanEncodingLevel()) return false;
9663 != other.getBooleanEncodingLevel()) return false;
9664 }
9665 if (hasMaxDomainSizeWhenEncodingEqNeqConstraints() != other.hasMaxDomainSizeWhenEncodingEqNeqConstraints()) return false;
9668 != other.getMaxDomainSizeWhenEncodingEqNeqConstraints()) return false;
9669 }
9670 if (hasMaxNumCuts() != other.hasMaxNumCuts()) return false;
9671 if (hasMaxNumCuts()) {
9672 if (getMaxNumCuts()
9673 != other.getMaxNumCuts()) return false;
9674 }
9675 if (hasCutLevel() != other.hasCutLevel()) return false;
9676 if (hasCutLevel()) {
9677 if (getCutLevel()
9678 != other.getCutLevel()) return false;
9679 }
9680 if (hasOnlyAddCutsAtLevelZero() != other.hasOnlyAddCutsAtLevelZero()) return false;
9683 != other.getOnlyAddCutsAtLevelZero()) return false;
9684 }
9685 if (hasAddObjectiveCut() != other.hasAddObjectiveCut()) return false;
9686 if (hasAddObjectiveCut()) {
9687 if (getAddObjectiveCut()
9688 != other.getAddObjectiveCut()) return false;
9689 }
9690 if (hasAddCgCuts() != other.hasAddCgCuts()) return false;
9691 if (hasAddCgCuts()) {
9692 if (getAddCgCuts()
9693 != other.getAddCgCuts()) return false;
9694 }
9695 if (hasAddMirCuts() != other.hasAddMirCuts()) return false;
9696 if (hasAddMirCuts()) {
9697 if (getAddMirCuts()
9698 != other.getAddMirCuts()) return false;
9699 }
9700 if (hasAddZeroHalfCuts() != other.hasAddZeroHalfCuts()) return false;
9701 if (hasAddZeroHalfCuts()) {
9702 if (getAddZeroHalfCuts()
9703 != other.getAddZeroHalfCuts()) return false;
9704 }
9705 if (hasAddCliqueCuts() != other.hasAddCliqueCuts()) return false;
9706 if (hasAddCliqueCuts()) {
9707 if (getAddCliqueCuts()
9708 != other.getAddCliqueCuts()) return false;
9709 }
9710 if (hasMaxAllDiffCutSize() != other.hasMaxAllDiffCutSize()) return false;
9711 if (hasMaxAllDiffCutSize()) {
9713 != other.getMaxAllDiffCutSize()) return false;
9714 }
9715 if (hasAddLinMaxCuts() != other.hasAddLinMaxCuts()) return false;
9716 if (hasAddLinMaxCuts()) {
9717 if (getAddLinMaxCuts()
9718 != other.getAddLinMaxCuts()) return false;
9719 }
9720 if (hasMaxIntegerRoundingScaling() != other.hasMaxIntegerRoundingScaling()) return false;
9723 != other.getMaxIntegerRoundingScaling()) return false;
9724 }
9725 if (hasAddLpConstraintsLazily() != other.hasAddLpConstraintsLazily()) return false;
9728 != other.getAddLpConstraintsLazily()) return false;
9729 }
9730 if (hasMinOrthogonalityForLpConstraints() != other.hasMinOrthogonalityForLpConstraints()) return false;
9732 if (java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints())
9733 != java.lang.Double.doubleToLongBits(
9734 other.getMinOrthogonalityForLpConstraints())) return false;
9735 }
9736 if (hasMaxCutRoundsAtLevelZero() != other.hasMaxCutRoundsAtLevelZero()) return false;
9739 != other.getMaxCutRoundsAtLevelZero()) return false;
9740 }
9741 if (hasMaxConsecutiveInactiveCount() != other.hasMaxConsecutiveInactiveCount()) return false;
9744 != other.getMaxConsecutiveInactiveCount()) return false;
9745 }
9746 if (hasCutMaxActiveCountValue() != other.hasCutMaxActiveCountValue()) return false;
9748 if (java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue())
9749 != java.lang.Double.doubleToLongBits(
9750 other.getCutMaxActiveCountValue())) return false;
9751 }
9752 if (hasCutActiveCountDecay() != other.hasCutActiveCountDecay()) return false;
9753 if (hasCutActiveCountDecay()) {
9754 if (java.lang.Double.doubleToLongBits(getCutActiveCountDecay())
9755 != java.lang.Double.doubleToLongBits(
9756 other.getCutActiveCountDecay())) return false;
9757 }
9758 if (hasCutCleanupTarget() != other.hasCutCleanupTarget()) return false;
9759 if (hasCutCleanupTarget()) {
9761 != other.getCutCleanupTarget()) return false;
9762 }
9763 if (hasNewConstraintsBatchSize() != other.hasNewConstraintsBatchSize()) return false;
9766 != other.getNewConstraintsBatchSize()) return false;
9767 }
9768 if (hasSearchBranching() != other.hasSearchBranching()) return false;
9769 if (hasSearchBranching()) {
9770 if (searchBranching_ != other.searchBranching_) return false;
9771 }
9772 if (hasHintConflictLimit() != other.hasHintConflictLimit()) return false;
9773 if (hasHintConflictLimit()) {
9775 != other.getHintConflictLimit()) return false;
9776 }
9777 if (hasRepairHint() != other.hasRepairHint()) return false;
9778 if (hasRepairHint()) {
9779 if (getRepairHint()
9780 != other.getRepairHint()) return false;
9781 }
9782 if (hasFixVariablesToTheirHintedValue() != other.hasFixVariablesToTheirHintedValue()) return false;
9785 != other.getFixVariablesToTheirHintedValue()) return false;
9786 }
9787 if (hasExploitIntegerLpSolution() != other.hasExploitIntegerLpSolution()) return false;
9790 != other.getExploitIntegerLpSolution()) return false;
9791 }
9792 if (hasExploitAllLpSolution() != other.hasExploitAllLpSolution()) return false;
9795 != other.getExploitAllLpSolution()) return false;
9796 }
9797 if (hasExploitBestSolution() != other.hasExploitBestSolution()) return false;
9798 if (hasExploitBestSolution()) {
9800 != other.getExploitBestSolution()) return false;
9801 }
9802 if (hasExploitRelaxationSolution() != other.hasExploitRelaxationSolution()) return false;
9805 != other.getExploitRelaxationSolution()) return false;
9806 }
9807 if (hasExploitObjective() != other.hasExploitObjective()) return false;
9808 if (hasExploitObjective()) {
9810 != other.getExploitObjective()) return false;
9811 }
9812 if (hasProbingPeriodAtRoot() != other.hasProbingPeriodAtRoot()) return false;
9813 if (hasProbingPeriodAtRoot()) {
9815 != other.getProbingPeriodAtRoot()) return false;
9816 }
9817 if (hasUseProbingSearch() != other.hasUseProbingSearch()) return false;
9818 if (hasUseProbingSearch()) {
9820 != other.getUseProbingSearch()) return false;
9821 }
9822 if (hasPseudoCostReliabilityThreshold() != other.hasPseudoCostReliabilityThreshold()) return false;
9825 != other.getPseudoCostReliabilityThreshold()) return false;
9826 }
9827 if (hasOptimizeWithCore() != other.hasOptimizeWithCore()) return false;
9828 if (hasOptimizeWithCore()) {
9830 != other.getOptimizeWithCore()) return false;
9831 }
9832 if (hasOptimizeWithLbTreeSearch() != other.hasOptimizeWithLbTreeSearch()) return false;
9835 != other.getOptimizeWithLbTreeSearch()) return false;
9836 }
9837 if (hasBinarySearchNumConflicts() != other.hasBinarySearchNumConflicts()) return false;
9840 != other.getBinarySearchNumConflicts()) return false;
9841 }
9842 if (hasOptimizeWithMaxHs() != other.hasOptimizeWithMaxHs()) return false;
9843 if (hasOptimizeWithMaxHs()) {
9845 != other.getOptimizeWithMaxHs()) return false;
9846 }
9847 if (hasEnumerateAllSolutions() != other.hasEnumerateAllSolutions()) return false;
9850 != other.getEnumerateAllSolutions()) return false;
9851 }
9852 if (hasKeepAllFeasibleSolutionsInPresolve() != other.hasKeepAllFeasibleSolutionsInPresolve()) return false;
9855 != other.getKeepAllFeasibleSolutionsInPresolve()) return false;
9856 }
9857 if (hasFillTightenedDomainsInResponse() != other.hasFillTightenedDomainsInResponse()) return false;
9860 != other.getFillTightenedDomainsInResponse()) return false;
9861 }
9862 if (hasFillAdditionalSolutionsInResponse() != other.hasFillAdditionalSolutionsInResponse()) return false;
9865 != other.getFillAdditionalSolutionsInResponse()) return false;
9866 }
9867 if (hasInstantiateAllVariables() != other.hasInstantiateAllVariables()) return false;
9870 != other.getInstantiateAllVariables()) return false;
9871 }
9872 if (hasAutoDetectGreaterThanAtLeastOneOf() != other.hasAutoDetectGreaterThanAtLeastOneOf()) return false;
9875 != other.getAutoDetectGreaterThanAtLeastOneOf()) return false;
9876 }
9877 if (hasStopAfterFirstSolution() != other.hasStopAfterFirstSolution()) return false;
9880 != other.getStopAfterFirstSolution()) return false;
9881 }
9882 if (hasStopAfterPresolve() != other.hasStopAfterPresolve()) return false;
9883 if (hasStopAfterPresolve()) {
9885 != other.getStopAfterPresolve()) return false;
9886 }
9887 if (hasNumSearchWorkers() != other.hasNumSearchWorkers()) return false;
9888 if (hasNumSearchWorkers()) {
9890 != other.getNumSearchWorkers()) return false;
9891 }
9892 if (hasInterleaveSearch() != other.hasInterleaveSearch()) return false;
9893 if (hasInterleaveSearch()) {
9895 != other.getInterleaveSearch()) return false;
9896 }
9897 if (hasInterleaveBatchSize() != other.hasInterleaveBatchSize()) return false;
9898 if (hasInterleaveBatchSize()) {
9900 != other.getInterleaveBatchSize()) return false;
9901 }
9902 if (hasReduceMemoryUsageInInterleaveMode() != other.hasReduceMemoryUsageInInterleaveMode()) return false;
9905 != other.getReduceMemoryUsageInInterleaveMode()) return false;
9906 }
9907 if (hasShareObjectiveBounds() != other.hasShareObjectiveBounds()) return false;
9910 != other.getShareObjectiveBounds()) return false;
9911 }
9912 if (hasShareLevelZeroBounds() != other.hasShareLevelZeroBounds()) return false;
9915 != other.getShareLevelZeroBounds()) return false;
9916 }
9917 if (hasUseLnsOnly() != other.hasUseLnsOnly()) return false;
9918 if (hasUseLnsOnly()) {
9919 if (getUseLnsOnly()
9920 != other.getUseLnsOnly()) return false;
9921 }
9922 if (hasSolutionPoolSize() != other.hasSolutionPoolSize()) return false;
9923 if (hasSolutionPoolSize()) {
9925 != other.getSolutionPoolSize()) return false;
9926 }
9927 if (hasUseRinsLns() != other.hasUseRinsLns()) return false;
9928 if (hasUseRinsLns()) {
9929 if (getUseRinsLns()
9930 != other.getUseRinsLns()) return false;
9931 }
9932 if (hasUseFeasibilityPump() != other.hasUseFeasibilityPump()) return false;
9933 if (hasUseFeasibilityPump()) {
9935 != other.getUseFeasibilityPump()) return false;
9936 }
9937 if (hasFpRounding() != other.hasFpRounding()) return false;
9938 if (hasFpRounding()) {
9939 if (fpRounding_ != other.fpRounding_) return false;
9940 }
9941 if (hasUseRelaxationLns() != other.hasUseRelaxationLns()) return false;
9942 if (hasUseRelaxationLns()) {
9944 != other.getUseRelaxationLns()) return false;
9945 }
9946 if (hasDiversifyLnsParams() != other.hasDiversifyLnsParams()) return false;
9947 if (hasDiversifyLnsParams()) {
9949 != other.getDiversifyLnsParams()) return false;
9950 }
9951 if (hasRandomizeSearch() != other.hasRandomizeSearch()) return false;
9952 if (hasRandomizeSearch()) {
9953 if (getRandomizeSearch()
9954 != other.getRandomizeSearch()) return false;
9955 }
9956 if (hasSearchRandomizationTolerance() != other.hasSearchRandomizationTolerance()) return false;
9959 != other.getSearchRandomizationTolerance()) return false;
9960 }
9961 if (hasUseOptionalVariables() != other.hasUseOptionalVariables()) return false;
9964 != other.getUseOptionalVariables()) return false;
9965 }
9966 if (hasUseExactLpReason() != other.hasUseExactLpReason()) return false;
9967 if (hasUseExactLpReason()) {
9969 != other.getUseExactLpReason()) return false;
9970 }
9971 if (hasUseBranchingInLp() != other.hasUseBranchingInLp()) return false;
9972 if (hasUseBranchingInLp()) {
9974 != other.getUseBranchingInLp()) return false;
9975 }
9976 if (hasUseCombinedNoOverlap() != other.hasUseCombinedNoOverlap()) return false;
9979 != other.getUseCombinedNoOverlap()) return false;
9980 }
9981 if (hasCatchSigintSignal() != other.hasCatchSigintSignal()) return false;
9982 if (hasCatchSigintSignal()) {
9984 != other.getCatchSigintSignal()) return false;
9985 }
9986 if (hasUseImpliedBounds() != other.hasUseImpliedBounds()) return false;
9987 if (hasUseImpliedBounds()) {
9989 != other.getUseImpliedBounds()) return false;
9990 }
9991 if (hasPolishLpSolution() != other.hasPolishLpSolution()) return false;
9992 if (hasPolishLpSolution()) {
9994 != other.getPolishLpSolution()) return false;
9995 }
9996 if (hasConvertIntervals() != other.hasConvertIntervals()) return false;
9997 if (hasConvertIntervals()) {
9999 != other.getConvertIntervals()) return false;
10000 }
10001 if (hasSymmetryLevel() != other.hasSymmetryLevel()) return false;
10002 if (hasSymmetryLevel()) {
10003 if (getSymmetryLevel()
10004 != other.getSymmetryLevel()) return false;
10005 }
10006 if (hasMipMaxBound() != other.hasMipMaxBound()) return false;
10007 if (hasMipMaxBound()) {
10008 if (java.lang.Double.doubleToLongBits(getMipMaxBound())
10009 != java.lang.Double.doubleToLongBits(
10010 other.getMipMaxBound())) return false;
10011 }
10012 if (hasMipVarScaling() != other.hasMipVarScaling()) return false;
10013 if (hasMipVarScaling()) {
10014 if (java.lang.Double.doubleToLongBits(getMipVarScaling())
10015 != java.lang.Double.doubleToLongBits(
10016 other.getMipVarScaling())) return false;
10017 }
10018 if (hasMipAutomaticallyScaleVariables() != other.hasMipAutomaticallyScaleVariables()) return false;
10021 != other.getMipAutomaticallyScaleVariables()) return false;
10022 }
10023 if (hasMipWantedPrecision() != other.hasMipWantedPrecision()) return false;
10024 if (hasMipWantedPrecision()) {
10025 if (java.lang.Double.doubleToLongBits(getMipWantedPrecision())
10026 != java.lang.Double.doubleToLongBits(
10027 other.getMipWantedPrecision())) return false;
10028 }
10029 if (hasMipMaxActivityExponent() != other.hasMipMaxActivityExponent()) return false;
10032 != other.getMipMaxActivityExponent()) return false;
10033 }
10034 if (hasMipCheckPrecision() != other.hasMipCheckPrecision()) return false;
10035 if (hasMipCheckPrecision()) {
10036 if (java.lang.Double.doubleToLongBits(getMipCheckPrecision())
10037 != java.lang.Double.doubleToLongBits(
10038 other.getMipCheckPrecision())) return false;
10039 }
10040 if (hasMipComputeTrueObjectiveBound() != other.hasMipComputeTrueObjectiveBound()) return false;
10043 != other.getMipComputeTrueObjectiveBound()) return false;
10044 }
10045 if (hasMipMaxValidMagnitude() != other.hasMipMaxValidMagnitude()) return false;
10047 if (java.lang.Double.doubleToLongBits(getMipMaxValidMagnitude())
10048 != java.lang.Double.doubleToLongBits(
10049 other.getMipMaxValidMagnitude())) return false;
10050 }
10051 if (!unknownFields.equals(other.unknownFields)) return false;
10052 return true;
10053 }
10054
10055 @java.lang.Override
10056 public int hashCode() {
10057 if (memoizedHashCode != 0) {
10058 return memoizedHashCode;
10059 }
10060 int hash = 41;
10061 hash = (19 * hash) + getDescriptor().hashCode();
10062 if (hasName()) {
10063 hash = (37 * hash) + NAME_FIELD_NUMBER;
10064 hash = (53 * hash) + getName().hashCode();
10065 }
10067 hash = (37 * hash) + PREFERRED_VARIABLE_ORDER_FIELD_NUMBER;
10068 hash = (53 * hash) + preferredVariableOrder_;
10069 }
10070 if (hasInitialPolarity()) {
10071 hash = (37 * hash) + INITIAL_POLARITY_FIELD_NUMBER;
10072 hash = (53 * hash) + initialPolarity_;
10073 }
10074 if (hasUsePhaseSaving()) {
10075 hash = (37 * hash) + USE_PHASE_SAVING_FIELD_NUMBER;
10076 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10078 }
10080 hash = (37 * hash) + POLARITY_REPHASE_INCREMENT_FIELD_NUMBER;
10081 hash = (53 * hash) + getPolarityRephaseIncrement();
10082 }
10083 if (hasRandomPolarityRatio()) {
10084 hash = (37 * hash) + RANDOM_POLARITY_RATIO_FIELD_NUMBER;
10085 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10086 java.lang.Double.doubleToLongBits(getRandomPolarityRatio()));
10087 }
10088 if (hasRandomBranchesRatio()) {
10089 hash = (37 * hash) + RANDOM_BRANCHES_RATIO_FIELD_NUMBER;
10090 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10091 java.lang.Double.doubleToLongBits(getRandomBranchesRatio()));
10092 }
10093 if (hasUseErwaHeuristic()) {
10094 hash = (37 * hash) + USE_ERWA_HEURISTIC_FIELD_NUMBER;
10095 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10097 }
10099 hash = (37 * hash) + INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER;
10100 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10101 java.lang.Double.doubleToLongBits(getInitialVariablesActivity()));
10102 }
10105 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10107 }
10109 hash = (37 * hash) + MINIMIZATION_ALGORITHM_FIELD_NUMBER;
10110 hash = (53 * hash) + minimizationAlgorithm_;
10111 }
10113 hash = (37 * hash) + BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER;
10114 hash = (53 * hash) + binaryMinimizationAlgorithm_;
10115 }
10118 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10120 }
10121 if (hasClauseCleanupPeriod()) {
10122 hash = (37 * hash) + CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER;
10123 hash = (53 * hash) + getClauseCleanupPeriod();
10124 }
10125 if (hasClauseCleanupTarget()) {
10126 hash = (37 * hash) + CLAUSE_CLEANUP_TARGET_FIELD_NUMBER;
10127 hash = (53 * hash) + getClauseCleanupTarget();
10128 }
10129 if (hasClauseCleanupRatio()) {
10130 hash = (37 * hash) + CLAUSE_CLEANUP_RATIO_FIELD_NUMBER;
10131 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10132 java.lang.Double.doubleToLongBits(getClauseCleanupRatio()));
10133 }
10135 hash = (37 * hash) + CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER;
10136 hash = (53 * hash) + clauseCleanupProtection_;
10137 }
10139 hash = (37 * hash) + CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER;
10140 hash = (53 * hash) + getClauseCleanupLbdBound();
10141 }
10143 hash = (37 * hash) + CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER;
10144 hash = (53 * hash) + clauseCleanupOrdering_;
10145 }
10146 if (hasPbCleanupIncrement()) {
10147 hash = (37 * hash) + PB_CLEANUP_INCREMENT_FIELD_NUMBER;
10148 hash = (53 * hash) + getPbCleanupIncrement();
10149 }
10150 if (hasPbCleanupRatio()) {
10151 hash = (37 * hash) + PB_CLEANUP_RATIO_FIELD_NUMBER;
10152 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10153 java.lang.Double.doubleToLongBits(getPbCleanupRatio()));
10154 }
10157 hash = (53 * hash) + getMinimizeWithPropagationRestartPeriod();
10158 }
10161 hash = (53 * hash) + getMinimizeWithPropagationNumDecisions();
10162 }
10164 hash = (37 * hash) + VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER;
10165 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10166 java.lang.Double.doubleToLongBits(getVariableActivityDecay()));
10167 }
10169 hash = (37 * hash) + MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER;
10170 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10171 java.lang.Double.doubleToLongBits(getMaxVariableActivityValue()));
10172 }
10173 if (hasGlucoseMaxDecay()) {
10174 hash = (37 * hash) + GLUCOSE_MAX_DECAY_FIELD_NUMBER;
10175 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10176 java.lang.Double.doubleToLongBits(getGlucoseMaxDecay()));
10177 }
10179 hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER;
10180 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10181 java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement()));
10182 }
10185 hash = (53 * hash) + getGlucoseDecayIncrementPeriod();
10186 }
10187 if (hasClauseActivityDecay()) {
10188 hash = (37 * hash) + CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER;
10189 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10190 java.lang.Double.doubleToLongBits(getClauseActivityDecay()));
10191 }
10193 hash = (37 * hash) + MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER;
10194 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10195 java.lang.Double.doubleToLongBits(getMaxClauseActivityValue()));
10196 }
10197 if (getRestartAlgorithmsCount() > 0) {
10198 hash = (37 * hash) + RESTART_ALGORITHMS_FIELD_NUMBER;
10199 hash = (53 * hash) + restartAlgorithms_.hashCode();
10200 }
10202 hash = (37 * hash) + DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER;
10203 hash = (53 * hash) + getDefaultRestartAlgorithms().hashCode();
10204 }
10205 if (hasRestartPeriod()) {
10206 hash = (37 * hash) + RESTART_PERIOD_FIELD_NUMBER;
10207 hash = (53 * hash) + getRestartPeriod();
10208 }
10210 hash = (37 * hash) + RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER;
10211 hash = (53 * hash) + getRestartRunningWindowSize();
10212 }
10214 hash = (37 * hash) + RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER;
10215 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10216 java.lang.Double.doubleToLongBits(getRestartDlAverageRatio()));
10217 }
10219 hash = (37 * hash) + RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER;
10220 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10221 java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio()));
10222 }
10223 if (hasUseBlockingRestart()) {
10224 hash = (37 * hash) + USE_BLOCKING_RESTART_FIELD_NUMBER;
10225 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10227 }
10229 hash = (37 * hash) + BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER;
10230 hash = (53 * hash) + getBlockingRestartWindowSize();
10231 }
10233 hash = (37 * hash) + BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER;
10234 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10235 java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier()));
10236 }
10239 hash = (53 * hash) + getNumConflictsBeforeStrategyChanges();
10240 }
10243 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10244 java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio()));
10245 }
10246 if (hasMaxTimeInSeconds()) {
10247 hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
10248 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10249 java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
10250 }
10252 hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
10253 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10254 java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
10255 }
10257 hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER;
10258 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10260 }
10261 if (hasMaxMemoryInMb()) {
10262 hash = (37 * hash) + MAX_MEMORY_IN_MB_FIELD_NUMBER;
10263 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10265 }
10266 if (hasAbsoluteGapLimit()) {
10267 hash = (37 * hash) + ABSOLUTE_GAP_LIMIT_FIELD_NUMBER;
10268 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10269 java.lang.Double.doubleToLongBits(getAbsoluteGapLimit()));
10270 }
10271 if (hasRelativeGapLimit()) {
10272 hash = (37 * hash) + RELATIVE_GAP_LIMIT_FIELD_NUMBER;
10273 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10274 java.lang.Double.doubleToLongBits(getRelativeGapLimit()));
10275 }
10278 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10280 }
10281 if (hasRandomSeed()) {
10282 hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
10283 hash = (53 * hash) + getRandomSeed();
10284 }
10286 hash = (37 * hash) + PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER;
10287 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10289 }
10292 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10294 }
10295 if (hasUseAbslRandom()) {
10296 hash = (37 * hash) + USE_ABSL_RANDOM_FIELD_NUMBER;
10297 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10299 }
10300 if (hasLogSearchProgress()) {
10301 hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
10302 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10304 }
10306 hash = (37 * hash) + LOG_SUBSOLVER_STATISTICS_FIELD_NUMBER;
10307 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10309 }
10310 if (hasLogPrefix()) {
10311 hash = (37 * hash) + LOG_PREFIX_FIELD_NUMBER;
10312 hash = (53 * hash) + getLogPrefix().hashCode();
10313 }
10314 if (hasLogToStdout()) {
10315 hash = (37 * hash) + LOG_TO_STDOUT_FIELD_NUMBER;
10316 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10317 getLogToStdout());
10318 }
10319 if (hasLogToResponse()) {
10320 hash = (37 * hash) + LOG_TO_RESPONSE_FIELD_NUMBER;
10321 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10323 }
10324 if (hasUsePbResolution()) {
10325 hash = (37 * hash) + USE_PB_RESOLUTION_FIELD_NUMBER;
10326 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10328 }
10331 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10333 }
10336 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10338 }
10340 hash = (37 * hash) + PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER;
10341 hash = (53 * hash) + getPresolveBveThreshold();
10342 }
10344 hash = (37 * hash) + PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER;
10345 hash = (53 * hash) + getPresolveBveClauseWeight();
10346 }
10349 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10350 java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit()));
10351 }
10353 hash = (37 * hash) + PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER;
10354 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10356 }
10357 if (hasPresolveUseBva()) {
10358 hash = (37 * hash) + PRESOLVE_USE_BVA_FIELD_NUMBER;
10359 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10361 }
10363 hash = (37 * hash) + PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER;
10364 hash = (53 * hash) + getPresolveBvaThreshold();
10365 }
10367 hash = (37 * hash) + MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER;
10368 hash = (53 * hash) + getMaxPresolveIterations();
10369 }
10370 if (hasCpModelPresolve()) {
10371 hash = (37 * hash) + CP_MODEL_PRESOLVE_FIELD_NUMBER;
10372 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10374 }
10375 if (hasCpModelProbingLevel()) {
10376 hash = (37 * hash) + CP_MODEL_PROBING_LEVEL_FIELD_NUMBER;
10377 hash = (53 * hash) + getCpModelProbingLevel();
10378 }
10380 hash = (37 * hash) + CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER;
10381 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10383 }
10384 if (hasUseSatInprocessing()) {
10385 hash = (37 * hash) + USE_SAT_INPROCESSING_FIELD_NUMBER;
10386 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10388 }
10390 hash = (37 * hash) + EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER;
10391 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10393 }
10395 hash = (37 * hash) + DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER;
10396 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10398 }
10400 hash = (37 * hash) + MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER;
10401 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10402 java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit()));
10403 }
10405 hash = (37 * hash) + MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER;
10406 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10407 java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit()));
10408 }
10410 hash = (37 * hash) + PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER;
10411 hash = (53 * hash) + getPresolveSubstitutionLevel();
10412 }
10415 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10417 }
10420 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10422 }
10425 hash = (53 * hash) + getDebugMaxNumPresolveOperations();
10426 }
10427 if (hasDebugCrashOnBadHint()) {
10428 hash = (37 * hash) + DEBUG_CRASH_ON_BAD_HINT_FIELD_NUMBER;
10429 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10431 }
10433 hash = (37 * hash) + USE_OPTIMIZATION_HINTS_FIELD_NUMBER;
10434 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10436 }
10437 if (hasMinimizeCore()) {
10438 hash = (37 * hash) + MINIMIZE_CORE_FIELD_NUMBER;
10439 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10440 getMinimizeCore());
10441 }
10442 if (hasFindMultipleCores()) {
10443 hash = (37 * hash) + FIND_MULTIPLE_CORES_FIELD_NUMBER;
10444 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10446 }
10447 if (hasCoverOptimization()) {
10448 hash = (37 * hash) + COVER_OPTIMIZATION_FIELD_NUMBER;
10449 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10451 }
10453 hash = (37 * hash) + MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER;
10454 hash = (53 * hash) + maxSatAssumptionOrder_;
10455 }
10458 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10460 }
10462 hash = (37 * hash) + MAX_SAT_STRATIFICATION_FIELD_NUMBER;
10463 hash = (53 * hash) + maxSatStratification_;
10464 }
10467 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10469 }
10472 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10474 }
10477 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10479 }
10482 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10484 }
10487 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10489 }
10490 if (hasLinearizationLevel()) {
10491 hash = (37 * hash) + LINEARIZATION_LEVEL_FIELD_NUMBER;
10492 hash = (53 * hash) + getLinearizationLevel();
10493 }
10495 hash = (37 * hash) + BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER;
10496 hash = (53 * hash) + getBooleanEncodingLevel();
10497 }
10500 hash = (53 * hash) + getMaxDomainSizeWhenEncodingEqNeqConstraints();
10501 }
10502 if (hasMaxNumCuts()) {
10503 hash = (37 * hash) + MAX_NUM_CUTS_FIELD_NUMBER;
10504 hash = (53 * hash) + getMaxNumCuts();
10505 }
10506 if (hasCutLevel()) {
10507 hash = (37 * hash) + CUT_LEVEL_FIELD_NUMBER;
10508 hash = (53 * hash) + getCutLevel();
10509 }
10511 hash = (37 * hash) + ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER;
10512 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10514 }
10515 if (hasAddObjectiveCut()) {
10516 hash = (37 * hash) + ADD_OBJECTIVE_CUT_FIELD_NUMBER;
10517 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10519 }
10520 if (hasAddCgCuts()) {
10521 hash = (37 * hash) + ADD_CG_CUTS_FIELD_NUMBER;
10522 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10523 getAddCgCuts());
10524 }
10525 if (hasAddMirCuts()) {
10526 hash = (37 * hash) + ADD_MIR_CUTS_FIELD_NUMBER;
10527 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10528 getAddMirCuts());
10529 }
10530 if (hasAddZeroHalfCuts()) {
10531 hash = (37 * hash) + ADD_ZERO_HALF_CUTS_FIELD_NUMBER;
10532 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10534 }
10535 if (hasAddCliqueCuts()) {
10536 hash = (37 * hash) + ADD_CLIQUE_CUTS_FIELD_NUMBER;
10537 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10539 }
10540 if (hasMaxAllDiffCutSize()) {
10541 hash = (37 * hash) + MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER;
10542 hash = (53 * hash) + getMaxAllDiffCutSize();
10543 }
10544 if (hasAddLinMaxCuts()) {
10545 hash = (37 * hash) + ADD_LIN_MAX_CUTS_FIELD_NUMBER;
10546 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10548 }
10550 hash = (37 * hash) + MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER;
10551 hash = (53 * hash) + getMaxIntegerRoundingScaling();
10552 }
10554 hash = (37 * hash) + ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER;
10555 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10557 }
10560 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10561 java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints()));
10562 }
10564 hash = (37 * hash) + MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER;
10565 hash = (53 * hash) + getMaxCutRoundsAtLevelZero();
10566 }
10569 hash = (53 * hash) + getMaxConsecutiveInactiveCount();
10570 }
10572 hash = (37 * hash) + CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER;
10573 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10574 java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue()));
10575 }
10576 if (hasCutActiveCountDecay()) {
10577 hash = (37 * hash) + CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER;
10578 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10579 java.lang.Double.doubleToLongBits(getCutActiveCountDecay()));
10580 }
10581 if (hasCutCleanupTarget()) {
10582 hash = (37 * hash) + CUT_CLEANUP_TARGET_FIELD_NUMBER;
10583 hash = (53 * hash) + getCutCleanupTarget();
10584 }
10586 hash = (37 * hash) + NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER;
10587 hash = (53 * hash) + getNewConstraintsBatchSize();
10588 }
10589 if (hasSearchBranching()) {
10590 hash = (37 * hash) + SEARCH_BRANCHING_FIELD_NUMBER;
10591 hash = (53 * hash) + searchBranching_;
10592 }
10593 if (hasHintConflictLimit()) {
10594 hash = (37 * hash) + HINT_CONFLICT_LIMIT_FIELD_NUMBER;
10595 hash = (53 * hash) + getHintConflictLimit();
10596 }
10597 if (hasRepairHint()) {
10598 hash = (37 * hash) + REPAIR_HINT_FIELD_NUMBER;
10599 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10600 getRepairHint());
10601 }
10604 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10606 }
10608 hash = (37 * hash) + EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER;
10609 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10611 }
10613 hash = (37 * hash) + EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER;
10614 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10616 }
10617 if (hasExploitBestSolution()) {
10618 hash = (37 * hash) + EXPLOIT_BEST_SOLUTION_FIELD_NUMBER;
10619 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10621 }
10623 hash = (37 * hash) + EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER;
10624 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10626 }
10627 if (hasExploitObjective()) {
10628 hash = (37 * hash) + EXPLOIT_OBJECTIVE_FIELD_NUMBER;
10629 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10631 }
10632 if (hasProbingPeriodAtRoot()) {
10633 hash = (37 * hash) + PROBING_PERIOD_AT_ROOT_FIELD_NUMBER;
10634 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10636 }
10637 if (hasUseProbingSearch()) {
10638 hash = (37 * hash) + USE_PROBING_SEARCH_FIELD_NUMBER;
10639 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10641 }
10644 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10646 }
10647 if (hasOptimizeWithCore()) {
10648 hash = (37 * hash) + OPTIMIZE_WITH_CORE_FIELD_NUMBER;
10649 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10651 }
10653 hash = (37 * hash) + OPTIMIZE_WITH_LB_TREE_SEARCH_FIELD_NUMBER;
10654 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10656 }
10658 hash = (37 * hash) + BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER;
10659 hash = (53 * hash) + getBinarySearchNumConflicts();
10660 }
10661 if (hasOptimizeWithMaxHs()) {
10662 hash = (37 * hash) + OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER;
10663 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10665 }
10667 hash = (37 * hash) + ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER;
10668 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10670 }
10673 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10675 }
10678 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10680 }
10683 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10685 }
10687 hash = (37 * hash) + INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER;
10688 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10690 }
10693 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10695 }
10697 hash = (37 * hash) + STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER;
10698 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10700 }
10701 if (hasStopAfterPresolve()) {
10702 hash = (37 * hash) + STOP_AFTER_PRESOLVE_FIELD_NUMBER;
10703 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10705 }
10706 if (hasNumSearchWorkers()) {
10707 hash = (37 * hash) + NUM_SEARCH_WORKERS_FIELD_NUMBER;
10708 hash = (53 * hash) + getNumSearchWorkers();
10709 }
10710 if (hasInterleaveSearch()) {
10711 hash = (37 * hash) + INTERLEAVE_SEARCH_FIELD_NUMBER;
10712 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10714 }
10715 if (hasInterleaveBatchSize()) {
10716 hash = (37 * hash) + INTERLEAVE_BATCH_SIZE_FIELD_NUMBER;
10717 hash = (53 * hash) + getInterleaveBatchSize();
10718 }
10721 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10723 }
10725 hash = (37 * hash) + SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER;
10726 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10728 }
10730 hash = (37 * hash) + SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER;
10731 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10733 }
10734 if (hasUseLnsOnly()) {
10735 hash = (37 * hash) + USE_LNS_ONLY_FIELD_NUMBER;
10736 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10737 getUseLnsOnly());
10738 }
10739 if (hasSolutionPoolSize()) {
10740 hash = (37 * hash) + SOLUTION_POOL_SIZE_FIELD_NUMBER;
10741 hash = (53 * hash) + getSolutionPoolSize();
10742 }
10743 if (hasUseRinsLns()) {
10744 hash = (37 * hash) + USE_RINS_LNS_FIELD_NUMBER;
10745 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10746 getUseRinsLns());
10747 }
10748 if (hasUseFeasibilityPump()) {
10749 hash = (37 * hash) + USE_FEASIBILITY_PUMP_FIELD_NUMBER;
10750 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10752 }
10753 if (hasFpRounding()) {
10754 hash = (37 * hash) + FP_ROUNDING_FIELD_NUMBER;
10755 hash = (53 * hash) + fpRounding_;
10756 }
10757 if (hasUseRelaxationLns()) {
10758 hash = (37 * hash) + USE_RELAXATION_LNS_FIELD_NUMBER;
10759 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10761 }
10762 if (hasDiversifyLnsParams()) {
10763 hash = (37 * hash) + DIVERSIFY_LNS_PARAMS_FIELD_NUMBER;
10764 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10766 }
10767 if (hasRandomizeSearch()) {
10768 hash = (37 * hash) + RANDOMIZE_SEARCH_FIELD_NUMBER;
10769 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10771 }
10774 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10776 }
10778 hash = (37 * hash) + USE_OPTIONAL_VARIABLES_FIELD_NUMBER;
10779 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10781 }
10782 if (hasUseExactLpReason()) {
10783 hash = (37 * hash) + USE_EXACT_LP_REASON_FIELD_NUMBER;
10784 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10786 }
10787 if (hasUseBranchingInLp()) {
10788 hash = (37 * hash) + USE_BRANCHING_IN_LP_FIELD_NUMBER;
10789 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10791 }
10793 hash = (37 * hash) + USE_COMBINED_NO_OVERLAP_FIELD_NUMBER;
10794 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10796 }
10797 if (hasCatchSigintSignal()) {
10798 hash = (37 * hash) + CATCH_SIGINT_SIGNAL_FIELD_NUMBER;
10799 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10801 }
10802 if (hasUseImpliedBounds()) {
10803 hash = (37 * hash) + USE_IMPLIED_BOUNDS_FIELD_NUMBER;
10804 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10806 }
10807 if (hasPolishLpSolution()) {
10808 hash = (37 * hash) + POLISH_LP_SOLUTION_FIELD_NUMBER;
10809 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10811 }
10812 if (hasConvertIntervals()) {
10813 hash = (37 * hash) + CONVERT_INTERVALS_FIELD_NUMBER;
10814 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10816 }
10817 if (hasSymmetryLevel()) {
10818 hash = (37 * hash) + SYMMETRY_LEVEL_FIELD_NUMBER;
10819 hash = (53 * hash) + getSymmetryLevel();
10820 }
10821 if (hasMipMaxBound()) {
10822 hash = (37 * hash) + MIP_MAX_BOUND_FIELD_NUMBER;
10823 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10824 java.lang.Double.doubleToLongBits(getMipMaxBound()));
10825 }
10826 if (hasMipVarScaling()) {
10827 hash = (37 * hash) + MIP_VAR_SCALING_FIELD_NUMBER;
10828 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10829 java.lang.Double.doubleToLongBits(getMipVarScaling()));
10830 }
10833 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10835 }
10836 if (hasMipWantedPrecision()) {
10837 hash = (37 * hash) + MIP_WANTED_PRECISION_FIELD_NUMBER;
10838 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10839 java.lang.Double.doubleToLongBits(getMipWantedPrecision()));
10840 }
10842 hash = (37 * hash) + MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER;
10843 hash = (53 * hash) + getMipMaxActivityExponent();
10844 }
10845 if (hasMipCheckPrecision()) {
10846 hash = (37 * hash) + MIP_CHECK_PRECISION_FIELD_NUMBER;
10847 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10848 java.lang.Double.doubleToLongBits(getMipCheckPrecision()));
10849 }
10852 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10854 }
10856 hash = (37 * hash) + MIP_MAX_VALID_MAGNITUDE_FIELD_NUMBER;
10857 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10858 java.lang.Double.doubleToLongBits(getMipMaxValidMagnitude()));
10859 }
10860 hash = (29 * hash) + unknownFields.hashCode();
10861 memoizedHashCode = hash;
10862 return hash;
10863 }
10864
10865 public static com.google.ortools.sat.SatParameters parseFrom(
10866 java.nio.ByteBuffer data)
10867 throws com.google.protobuf.InvalidProtocolBufferException {
10868 return PARSER.parseFrom(data);
10869 }
10870 public static com.google.ortools.sat.SatParameters parseFrom(
10871 java.nio.ByteBuffer data,
10872 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10873 throws com.google.protobuf.InvalidProtocolBufferException {
10874 return PARSER.parseFrom(data, extensionRegistry);
10875 }
10876 public static com.google.ortools.sat.SatParameters parseFrom(
10877 com.google.protobuf.ByteString data)
10878 throws com.google.protobuf.InvalidProtocolBufferException {
10879 return PARSER.parseFrom(data);
10880 }
10881 public static com.google.ortools.sat.SatParameters parseFrom(
10882 com.google.protobuf.ByteString data,
10883 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10884 throws com.google.protobuf.InvalidProtocolBufferException {
10885 return PARSER.parseFrom(data, extensionRegistry);
10886 }
10887 public static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
10888 throws com.google.protobuf.InvalidProtocolBufferException {
10889 return PARSER.parseFrom(data);
10890 }
10891 public static com.google.ortools.sat.SatParameters parseFrom(
10892 byte[] data,
10893 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10894 throws com.google.protobuf.InvalidProtocolBufferException {
10895 return PARSER.parseFrom(data, extensionRegistry);
10896 }
10897 public static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
10898 throws java.io.IOException {
10899 return com.google.protobuf.GeneratedMessageV3
10900 .parseWithIOException(PARSER, input);
10901 }
10902 public static com.google.ortools.sat.SatParameters parseFrom(
10903 java.io.InputStream input,
10904 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10905 throws java.io.IOException {
10906 return com.google.protobuf.GeneratedMessageV3
10907 .parseWithIOException(PARSER, input, extensionRegistry);
10908 }
10909 public static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
10910 throws java.io.IOException {
10911 return com.google.protobuf.GeneratedMessageV3
10912 .parseDelimitedWithIOException(PARSER, input);
10913 }
10914 public static com.google.ortools.sat.SatParameters parseDelimitedFrom(
10915 java.io.InputStream input,
10916 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10917 throws java.io.IOException {
10918 return com.google.protobuf.GeneratedMessageV3
10919 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
10920 }
10921 public static com.google.ortools.sat.SatParameters parseFrom(
10922 com.google.protobuf.CodedInputStream input)
10923 throws java.io.IOException {
10924 return com.google.protobuf.GeneratedMessageV3
10925 .parseWithIOException(PARSER, input);
10926 }
10927 public static com.google.ortools.sat.SatParameters parseFrom(
10928 com.google.protobuf.CodedInputStream input,
10929 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10930 throws java.io.IOException {
10931 return com.google.protobuf.GeneratedMessageV3
10932 .parseWithIOException(PARSER, input, extensionRegistry);
10933 }
10934
10935 @java.lang.Override
10936 public Builder newBuilderForType() { return newBuilder(); }
10937 public static Builder newBuilder() {
10938 return DEFAULT_INSTANCE.toBuilder();
10939 }
10940 public static Builder newBuilder(com.google.ortools.sat.SatParameters prototype) {
10941 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
10942 }
10943 @java.lang.Override
10945 return this == DEFAULT_INSTANCE
10946 ? new Builder() : new Builder().mergeFrom(this);
10947 }
10948
10949 @java.lang.Override
10951 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
10952 Builder builder = new Builder(parent);
10953 return builder;
10954 }
10964 public static final class Builder extends
10965 com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
10966 // @@protoc_insertion_point(builder_implements:operations_research.sat.SatParameters)
10967 com.google.ortools.sat.SatParametersOrBuilder {
10968 public static final com.google.protobuf.Descriptors.Descriptor
10970 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
10971 }
10972
10973 @java.lang.Override
10974 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
10976 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
10977 .ensureFieldAccessorsInitialized(
10978 com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
10979 }
10980
10981 // Construct using com.google.ortools.sat.SatParameters.newBuilder()
10982 private Builder() {
10983 maybeForceBuilderInitialization();
10984 }
10985
10986 private Builder(
10987 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
10988 super(parent);
10989 maybeForceBuilderInitialization();
10990 }
10991 private void maybeForceBuilderInitialization() {
10992 if (com.google.protobuf.GeneratedMessageV3
10993 .alwaysUseFieldBuilders) {
10994 }
10995 }
10996 @java.lang.Override
10997 public Builder clear() {
10998 super.clear();
10999 name_ = "";
11000 bitField0_ = (bitField0_ & ~0x00000001);
11001 preferredVariableOrder_ = 0;
11002 bitField0_ = (bitField0_ & ~0x00000002);
11003 initialPolarity_ = 1;
11004 bitField0_ = (bitField0_ & ~0x00000004);
11005 usePhaseSaving_ = true;
11006 bitField0_ = (bitField0_ & ~0x00000008);
11007 polarityRephaseIncrement_ = 1000;
11008 bitField0_ = (bitField0_ & ~0x00000010);
11009 randomPolarityRatio_ = 0D;
11010 bitField0_ = (bitField0_ & ~0x00000020);
11011 randomBranchesRatio_ = 0D;
11012 bitField0_ = (bitField0_ & ~0x00000040);
11013 useErwaHeuristic_ = false;
11014 bitField0_ = (bitField0_ & ~0x00000080);
11015 initialVariablesActivity_ = 0D;
11016 bitField0_ = (bitField0_ & ~0x00000100);
11017 alsoBumpVariablesInConflictReasons_ = false;
11018 bitField0_ = (bitField0_ & ~0x00000200);
11019 minimizationAlgorithm_ = 2;
11020 bitField0_ = (bitField0_ & ~0x00000400);
11021 binaryMinimizationAlgorithm_ = 1;
11022 bitField0_ = (bitField0_ & ~0x00000800);
11023 subsumptionDuringConflictAnalysis_ = true;
11024 bitField0_ = (bitField0_ & ~0x00001000);
11025 clauseCleanupPeriod_ = 10000;
11026 bitField0_ = (bitField0_ & ~0x00002000);
11027 clauseCleanupTarget_ = 0;
11028 bitField0_ = (bitField0_ & ~0x00004000);
11029 clauseCleanupRatio_ = 0.5D;
11030 bitField0_ = (bitField0_ & ~0x00008000);
11031 clauseCleanupProtection_ = 0;
11032 bitField0_ = (bitField0_ & ~0x00010000);
11033 clauseCleanupLbdBound_ = 5;
11034 bitField0_ = (bitField0_ & ~0x00020000);
11035 clauseCleanupOrdering_ = 0;
11036 bitField0_ = (bitField0_ & ~0x00040000);
11037 pbCleanupIncrement_ = 200;
11038 bitField0_ = (bitField0_ & ~0x00080000);
11039 pbCleanupRatio_ = 0.5D;
11040 bitField0_ = (bitField0_ & ~0x00100000);
11041 minimizeWithPropagationRestartPeriod_ = 10;
11042 bitField0_ = (bitField0_ & ~0x00200000);
11043 minimizeWithPropagationNumDecisions_ = 1000;
11044 bitField0_ = (bitField0_ & ~0x00400000);
11045 variableActivityDecay_ = 0.8D;
11046 bitField0_ = (bitField0_ & ~0x00800000);
11047 maxVariableActivityValue_ = 1e+100D;
11048 bitField0_ = (bitField0_ & ~0x01000000);
11049 glucoseMaxDecay_ = 0.95D;
11050 bitField0_ = (bitField0_ & ~0x02000000);
11051 glucoseDecayIncrement_ = 0.01D;
11052 bitField0_ = (bitField0_ & ~0x04000000);
11053 glucoseDecayIncrementPeriod_ = 5000;
11054 bitField0_ = (bitField0_ & ~0x08000000);
11055 clauseActivityDecay_ = 0.999D;
11056 bitField0_ = (bitField0_ & ~0x10000000);
11057 maxClauseActivityValue_ = 1e+20D;
11058 bitField0_ = (bitField0_ & ~0x20000000);
11059 restartAlgorithms_ = java.util.Collections.emptyList();
11060 bitField0_ = (bitField0_ & ~0x40000000);
11061 defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
11062 bitField0_ = (bitField0_ & ~0x80000000);
11063 restartPeriod_ = 50;
11064 bitField1_ = (bitField1_ & ~0x00000001);
11065 restartRunningWindowSize_ = 50;
11066 bitField1_ = (bitField1_ & ~0x00000002);
11067 restartDlAverageRatio_ = 1D;
11068 bitField1_ = (bitField1_ & ~0x00000004);
11069 restartLbdAverageRatio_ = 1D;
11070 bitField1_ = (bitField1_ & ~0x00000008);
11071 useBlockingRestart_ = false;
11072 bitField1_ = (bitField1_ & ~0x00000010);
11073 blockingRestartWindowSize_ = 5000;
11074 bitField1_ = (bitField1_ & ~0x00000020);
11075 blockingRestartMultiplier_ = 1.4D;
11076 bitField1_ = (bitField1_ & ~0x00000040);
11077 numConflictsBeforeStrategyChanges_ = 0;
11078 bitField1_ = (bitField1_ & ~0x00000080);
11079 strategyChangeIncreaseRatio_ = 0D;
11080 bitField1_ = (bitField1_ & ~0x00000100);
11081 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
11082 bitField1_ = (bitField1_ & ~0x00000200);
11083 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
11084 bitField1_ = (bitField1_ & ~0x00000400);
11085 maxNumberOfConflicts_ = 9223372036854775807L;
11086 bitField1_ = (bitField1_ & ~0x00000800);
11087 maxMemoryInMb_ = 10000L;
11088 bitField1_ = (bitField1_ & ~0x00001000);
11089 absoluteGapLimit_ = 0.0001D;
11090 bitField1_ = (bitField1_ & ~0x00002000);
11091 relativeGapLimit_ = 0D;
11092 bitField1_ = (bitField1_ & ~0x00004000);
11093 treatBinaryClausesSeparately_ = true;
11094 bitField1_ = (bitField1_ & ~0x00008000);
11095 randomSeed_ = 1;
11096 bitField1_ = (bitField1_ & ~0x00010000);
11097 permuteVariableRandomly_ = false;
11098 bitField1_ = (bitField1_ & ~0x00020000);
11099 permutePresolveConstraintOrder_ = false;
11100 bitField1_ = (bitField1_ & ~0x00040000);
11101 useAbslRandom_ = false;
11102 bitField1_ = (bitField1_ & ~0x00080000);
11103 logSearchProgress_ = false;
11104 bitField1_ = (bitField1_ & ~0x00100000);
11105 logSubsolverStatistics_ = true;
11106 bitField1_ = (bitField1_ & ~0x00200000);
11107 logPrefix_ = "";
11108 bitField1_ = (bitField1_ & ~0x00400000);
11109 logToStdout_ = true;
11110 bitField1_ = (bitField1_ & ~0x00800000);
11111 logToResponse_ = false;
11112 bitField1_ = (bitField1_ & ~0x01000000);
11113 usePbResolution_ = false;
11114 bitField1_ = (bitField1_ & ~0x02000000);
11115 minimizeReductionDuringPbResolution_ = false;
11116 bitField1_ = (bitField1_ & ~0x04000000);
11117 countAssumptionLevelsInLbd_ = true;
11118 bitField1_ = (bitField1_ & ~0x08000000);
11119 presolveBveThreshold_ = 500;
11120 bitField1_ = (bitField1_ & ~0x10000000);
11121 presolveBveClauseWeight_ = 3;
11122 bitField1_ = (bitField1_ & ~0x20000000);
11123 presolveProbingDeterministicTimeLimit_ = 30D;
11124 bitField1_ = (bitField1_ & ~0x40000000);
11125 presolveBlockedClause_ = true;
11126 bitField1_ = (bitField1_ & ~0x80000000);
11127 presolveUseBva_ = true;
11128 bitField2_ = (bitField2_ & ~0x00000001);
11129 presolveBvaThreshold_ = 1;
11130 bitField2_ = (bitField2_ & ~0x00000002);
11131 maxPresolveIterations_ = 3;
11132 bitField2_ = (bitField2_ & ~0x00000004);
11133 cpModelPresolve_ = true;
11134 bitField2_ = (bitField2_ & ~0x00000008);
11135 cpModelProbingLevel_ = 2;
11136 bitField2_ = (bitField2_ & ~0x00000010);
11137 cpModelUseSatPresolve_ = true;
11138 bitField2_ = (bitField2_ & ~0x00000020);
11139 useSatInprocessing_ = false;
11140 bitField2_ = (bitField2_ & ~0x00000040);
11141 expandAlldiffConstraints_ = false;
11142 bitField2_ = (bitField2_ & ~0x00000080);
11143 disableConstraintExpansion_ = false;
11144 bitField2_ = (bitField2_ & ~0x00000100);
11145 mergeNoOverlapWorkLimit_ = 1000000000000D;
11146 bitField2_ = (bitField2_ & ~0x00000200);
11147 mergeAtMostOneWorkLimit_ = 100000000D;
11148 bitField2_ = (bitField2_ & ~0x00000400);
11149 presolveSubstitutionLevel_ = 1;
11150 bitField2_ = (bitField2_ & ~0x00000800);
11151 presolveExtractIntegerEnforcement_ = false;
11152 bitField2_ = (bitField2_ & ~0x00001000);
11153 debugPostsolveWithFullSolver_ = false;
11154 bitField2_ = (bitField2_ & ~0x00002000);
11155 debugMaxNumPresolveOperations_ = 0;
11156 bitField2_ = (bitField2_ & ~0x00004000);
11157 debugCrashOnBadHint_ = false;
11158 bitField2_ = (bitField2_ & ~0x00008000);
11159 useOptimizationHints_ = true;
11160 bitField2_ = (bitField2_ & ~0x00010000);
11161 minimizeCore_ = true;
11162 bitField2_ = (bitField2_ & ~0x00020000);
11163 findMultipleCores_ = true;
11164 bitField2_ = (bitField2_ & ~0x00040000);
11165 coverOptimization_ = true;
11166 bitField2_ = (bitField2_ & ~0x00080000);
11167 maxSatAssumptionOrder_ = 0;
11168 bitField2_ = (bitField2_ & ~0x00100000);
11169 maxSatReverseAssumptionOrder_ = false;
11170 bitField2_ = (bitField2_ & ~0x00200000);
11171 maxSatStratification_ = 1;
11172 bitField2_ = (bitField2_ & ~0x00400000);
11173 usePrecedencesInDisjunctiveConstraint_ = true;
11174 bitField2_ = (bitField2_ & ~0x00800000);
11175 useOverloadCheckerInCumulativeConstraint_ = false;
11176 bitField2_ = (bitField2_ & ~0x01000000);
11177 useTimetableEdgeFindingInCumulativeConstraint_ = false;
11178 bitField2_ = (bitField2_ & ~0x02000000);
11179 useDisjunctiveConstraintInCumulativeConstraint_ = true;
11180 bitField2_ = (bitField2_ & ~0x04000000);
11181 useCumulativeInNoOverlap2D_ = false;
11182 bitField2_ = (bitField2_ & ~0x08000000);
11183 linearizationLevel_ = 1;
11184 bitField2_ = (bitField2_ & ~0x10000000);
11185 booleanEncodingLevel_ = 1;
11186 bitField2_ = (bitField2_ & ~0x20000000);
11187 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
11188 bitField2_ = (bitField2_ & ~0x40000000);
11189 maxNumCuts_ = 10000;
11190 bitField2_ = (bitField2_ & ~0x80000000);
11191 cutLevel_ = 1;
11192 bitField3_ = (bitField3_ & ~0x00000001);
11193 onlyAddCutsAtLevelZero_ = false;
11194 bitField3_ = (bitField3_ & ~0x00000002);
11195 addObjectiveCut_ = false;
11196 bitField3_ = (bitField3_ & ~0x00000004);
11197 addCgCuts_ = true;
11198 bitField3_ = (bitField3_ & ~0x00000008);
11199 addMirCuts_ = true;
11200 bitField3_ = (bitField3_ & ~0x00000010);
11201 addZeroHalfCuts_ = true;
11202 bitField3_ = (bitField3_ & ~0x00000020);
11203 addCliqueCuts_ = true;
11204 bitField3_ = (bitField3_ & ~0x00000040);
11205 maxAllDiffCutSize_ = 7;
11206 bitField3_ = (bitField3_ & ~0x00000080);
11207 addLinMaxCuts_ = true;
11208 bitField3_ = (bitField3_ & ~0x00000100);
11209 maxIntegerRoundingScaling_ = 600;
11210 bitField3_ = (bitField3_ & ~0x00000200);
11211 addLpConstraintsLazily_ = true;
11212 bitField3_ = (bitField3_ & ~0x00000400);
11213 minOrthogonalityForLpConstraints_ = 0.05D;
11214 bitField3_ = (bitField3_ & ~0x00000800);
11215 maxCutRoundsAtLevelZero_ = 1;
11216 bitField3_ = (bitField3_ & ~0x00001000);
11217 maxConsecutiveInactiveCount_ = 100;
11218 bitField3_ = (bitField3_ & ~0x00002000);
11219 cutMaxActiveCountValue_ = 10000000000D;
11220 bitField3_ = (bitField3_ & ~0x00004000);
11221 cutActiveCountDecay_ = 0.8D;
11222 bitField3_ = (bitField3_ & ~0x00008000);
11223 cutCleanupTarget_ = 1000;
11224 bitField3_ = (bitField3_ & ~0x00010000);
11225 newConstraintsBatchSize_ = 50;
11226 bitField3_ = (bitField3_ & ~0x00020000);
11227 searchBranching_ = 0;
11228 bitField3_ = (bitField3_ & ~0x00040000);
11229 hintConflictLimit_ = 10;
11230 bitField3_ = (bitField3_ & ~0x00080000);
11231 repairHint_ = false;
11232 bitField3_ = (bitField3_ & ~0x00100000);
11233 fixVariablesToTheirHintedValue_ = false;
11234 bitField3_ = (bitField3_ & ~0x00200000);
11235 exploitIntegerLpSolution_ = true;
11236 bitField3_ = (bitField3_ & ~0x00400000);
11237 exploitAllLpSolution_ = true;
11238 bitField3_ = (bitField3_ & ~0x00800000);
11239 exploitBestSolution_ = false;
11240 bitField3_ = (bitField3_ & ~0x01000000);
11241 exploitRelaxationSolution_ = false;
11242 bitField3_ = (bitField3_ & ~0x02000000);
11243 exploitObjective_ = true;
11244 bitField3_ = (bitField3_ & ~0x04000000);
11245 probingPeriodAtRoot_ = 0L;
11246 bitField3_ = (bitField3_ & ~0x08000000);
11247 useProbingSearch_ = false;
11248 bitField3_ = (bitField3_ & ~0x10000000);
11249 pseudoCostReliabilityThreshold_ = 100L;
11250 bitField3_ = (bitField3_ & ~0x20000000);
11251 optimizeWithCore_ = false;
11252 bitField3_ = (bitField3_ & ~0x40000000);
11253 optimizeWithLbTreeSearch_ = false;
11254 bitField3_ = (bitField3_ & ~0x80000000);
11255 binarySearchNumConflicts_ = -1;
11256 bitField4_ = (bitField4_ & ~0x00000001);
11257 optimizeWithMaxHs_ = false;
11258 bitField4_ = (bitField4_ & ~0x00000002);
11259 enumerateAllSolutions_ = false;
11260 bitField4_ = (bitField4_ & ~0x00000004);
11261 keepAllFeasibleSolutionsInPresolve_ = false;
11262 bitField4_ = (bitField4_ & ~0x00000008);
11263 fillTightenedDomainsInResponse_ = false;
11264 bitField4_ = (bitField4_ & ~0x00000010);
11265 fillAdditionalSolutionsInResponse_ = false;
11266 bitField4_ = (bitField4_ & ~0x00000020);
11267 instantiateAllVariables_ = true;
11268 bitField4_ = (bitField4_ & ~0x00000040);
11269 autoDetectGreaterThanAtLeastOneOf_ = true;
11270 bitField4_ = (bitField4_ & ~0x00000080);
11271 stopAfterFirstSolution_ = false;
11272 bitField4_ = (bitField4_ & ~0x00000100);
11273 stopAfterPresolve_ = false;
11274 bitField4_ = (bitField4_ & ~0x00000200);
11275 numSearchWorkers_ = 0;
11276 bitField4_ = (bitField4_ & ~0x00000400);
11277 interleaveSearch_ = false;
11278 bitField4_ = (bitField4_ & ~0x00000800);
11279 interleaveBatchSize_ = 1;
11280 bitField4_ = (bitField4_ & ~0x00001000);
11281 reduceMemoryUsageInInterleaveMode_ = false;
11282 bitField4_ = (bitField4_ & ~0x00002000);
11283 shareObjectiveBounds_ = true;
11284 bitField4_ = (bitField4_ & ~0x00004000);
11285 shareLevelZeroBounds_ = true;
11286 bitField4_ = (bitField4_ & ~0x00008000);
11287 useLnsOnly_ = false;
11288 bitField4_ = (bitField4_ & ~0x00010000);
11289 solutionPoolSize_ = 3;
11290 bitField4_ = (bitField4_ & ~0x00020000);
11291 useRinsLns_ = true;
11292 bitField4_ = (bitField4_ & ~0x00040000);
11293 useFeasibilityPump_ = true;
11294 bitField4_ = (bitField4_ & ~0x00080000);
11295 fpRounding_ = 2;
11296 bitField4_ = (bitField4_ & ~0x00100000);
11297 useRelaxationLns_ = false;
11298 bitField4_ = (bitField4_ & ~0x00200000);
11299 diversifyLnsParams_ = false;
11300 bitField4_ = (bitField4_ & ~0x00400000);
11301 randomizeSearch_ = false;
11302 bitField4_ = (bitField4_ & ~0x00800000);
11303 searchRandomizationTolerance_ = 0L;
11304 bitField4_ = (bitField4_ & ~0x01000000);
11305 useOptionalVariables_ = true;
11306 bitField4_ = (bitField4_ & ~0x02000000);
11307 useExactLpReason_ = true;
11308 bitField4_ = (bitField4_ & ~0x04000000);
11309 useBranchingInLp_ = false;
11310 bitField4_ = (bitField4_ & ~0x08000000);
11311 useCombinedNoOverlap_ = false;
11312 bitField4_ = (bitField4_ & ~0x10000000);
11313 catchSigintSignal_ = true;
11314 bitField4_ = (bitField4_ & ~0x20000000);
11315 useImpliedBounds_ = true;
11316 bitField4_ = (bitField4_ & ~0x40000000);
11317 polishLpSolution_ = false;
11318 bitField4_ = (bitField4_ & ~0x80000000);
11319 convertIntervals_ = true;
11320 bitField5_ = (bitField5_ & ~0x00000001);
11321 symmetryLevel_ = 2;
11322 bitField5_ = (bitField5_ & ~0x00000002);
11323 mipMaxBound_ = 10000000D;
11324 bitField5_ = (bitField5_ & ~0x00000004);
11325 mipVarScaling_ = 1D;
11326 bitField5_ = (bitField5_ & ~0x00000008);
11327 mipAutomaticallyScaleVariables_ = true;
11328 bitField5_ = (bitField5_ & ~0x00000010);
11329 mipWantedPrecision_ = 1e-06D;
11330 bitField5_ = (bitField5_ & ~0x00000020);
11331 mipMaxActivityExponent_ = 53;
11332 bitField5_ = (bitField5_ & ~0x00000040);
11333 mipCheckPrecision_ = 0.0001D;
11334 bitField5_ = (bitField5_ & ~0x00000080);
11335 mipComputeTrueObjectiveBound_ = true;
11336 bitField5_ = (bitField5_ & ~0x00000100);
11337 mipMaxValidMagnitude_ = 1e+30D;
11338 bitField5_ = (bitField5_ & ~0x00000200);
11339 return this;
11340 }
11341
11342 @java.lang.Override
11343 public com.google.protobuf.Descriptors.Descriptor
11345 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
11346 }
11347
11348 @java.lang.Override
11349 public com.google.ortools.sat.SatParameters getDefaultInstanceForType() {
11350 return com.google.ortools.sat.SatParameters.getDefaultInstance();
11351 }
11352
11353 @java.lang.Override
11354 public com.google.ortools.sat.SatParameters build() {
11355 com.google.ortools.sat.SatParameters result = buildPartial();
11356 if (!result.isInitialized()) {
11357 throw newUninitializedMessageException(result);
11358 }
11359 return result;
11360 }
11361
11362 @java.lang.Override
11363 public com.google.ortools.sat.SatParameters buildPartial() {
11364 com.google.ortools.sat.SatParameters result = new com.google.ortools.sat.SatParameters(this);
11365 int from_bitField0_ = bitField0_;
11366 int from_bitField1_ = bitField1_;
11367 int from_bitField2_ = bitField2_;
11368 int from_bitField3_ = bitField3_;
11369 int from_bitField4_ = bitField4_;
11370 int from_bitField5_ = bitField5_;
11371 int to_bitField0_ = 0;
11372 int to_bitField1_ = 0;
11373 int to_bitField2_ = 0;
11374 int to_bitField3_ = 0;
11375 int to_bitField4_ = 0;
11376 int to_bitField5_ = 0;
11377 if (((from_bitField0_ & 0x00000001) != 0)) {
11378 to_bitField0_ |= 0x00000001;
11379 }
11380 result.name_ = name_;
11381 if (((from_bitField0_ & 0x00000002) != 0)) {
11382 to_bitField0_ |= 0x00000002;
11383 }
11384 result.preferredVariableOrder_ = preferredVariableOrder_;
11385 if (((from_bitField0_ & 0x00000004) != 0)) {
11386 to_bitField0_ |= 0x00000004;
11387 }
11388 result.initialPolarity_ = initialPolarity_;
11389 if (((from_bitField0_ & 0x00000008) != 0)) {
11390 to_bitField0_ |= 0x00000008;
11391 }
11392 result.usePhaseSaving_ = usePhaseSaving_;
11393 if (((from_bitField0_ & 0x00000010) != 0)) {
11394 to_bitField0_ |= 0x00000010;
11395 }
11396 result.polarityRephaseIncrement_ = polarityRephaseIncrement_;
11397 if (((from_bitField0_ & 0x00000020) != 0)) {
11398 result.randomPolarityRatio_ = randomPolarityRatio_;
11399 to_bitField0_ |= 0x00000020;
11400 }
11401 if (((from_bitField0_ & 0x00000040) != 0)) {
11402 result.randomBranchesRatio_ = randomBranchesRatio_;
11403 to_bitField0_ |= 0x00000040;
11404 }
11405 if (((from_bitField0_ & 0x00000080) != 0)) {
11406 result.useErwaHeuristic_ = useErwaHeuristic_;
11407 to_bitField0_ |= 0x00000080;
11408 }
11409 if (((from_bitField0_ & 0x00000100) != 0)) {
11410 result.initialVariablesActivity_ = initialVariablesActivity_;
11411 to_bitField0_ |= 0x00000100;
11412 }
11413 if (((from_bitField0_ & 0x00000200) != 0)) {
11414 result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
11415 to_bitField0_ |= 0x00000200;
11416 }
11417 if (((from_bitField0_ & 0x00000400) != 0)) {
11418 to_bitField0_ |= 0x00000400;
11419 }
11420 result.minimizationAlgorithm_ = minimizationAlgorithm_;
11421 if (((from_bitField0_ & 0x00000800) != 0)) {
11422 to_bitField0_ |= 0x00000800;
11423 }
11424 result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
11425 if (((from_bitField0_ & 0x00001000) != 0)) {
11426 to_bitField0_ |= 0x00001000;
11427 }
11428 result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
11429 if (((from_bitField0_ & 0x00002000) != 0)) {
11430 to_bitField0_ |= 0x00002000;
11431 }
11432 result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
11433 if (((from_bitField0_ & 0x00004000) != 0)) {
11434 result.clauseCleanupTarget_ = clauseCleanupTarget_;
11435 to_bitField0_ |= 0x00004000;
11436 }
11437 if (((from_bitField0_ & 0x00008000) != 0)) {
11438 to_bitField0_ |= 0x00008000;
11439 }
11440 result.clauseCleanupRatio_ = clauseCleanupRatio_;
11441 if (((from_bitField0_ & 0x00010000) != 0)) {
11442 to_bitField0_ |= 0x00010000;
11443 }
11444 result.clauseCleanupProtection_ = clauseCleanupProtection_;
11445 if (((from_bitField0_ & 0x00020000) != 0)) {
11446 to_bitField0_ |= 0x00020000;
11447 }
11448 result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
11449 if (((from_bitField0_ & 0x00040000) != 0)) {
11450 to_bitField0_ |= 0x00040000;
11451 }
11452 result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
11453 if (((from_bitField0_ & 0x00080000) != 0)) {
11454 to_bitField0_ |= 0x00080000;
11455 }
11456 result.pbCleanupIncrement_ = pbCleanupIncrement_;
11457 if (((from_bitField0_ & 0x00100000) != 0)) {
11458 to_bitField0_ |= 0x00100000;
11459 }
11460 result.pbCleanupRatio_ = pbCleanupRatio_;
11461 if (((from_bitField0_ & 0x00200000) != 0)) {
11462 to_bitField0_ |= 0x00200000;
11463 }
11464 result.minimizeWithPropagationRestartPeriod_ = minimizeWithPropagationRestartPeriod_;
11465 if (((from_bitField0_ & 0x00400000) != 0)) {
11466 to_bitField0_ |= 0x00400000;
11467 }
11468 result.minimizeWithPropagationNumDecisions_ = minimizeWithPropagationNumDecisions_;
11469 if (((from_bitField0_ & 0x00800000) != 0)) {
11470 to_bitField0_ |= 0x00800000;
11471 }
11472 result.variableActivityDecay_ = variableActivityDecay_;
11473 if (((from_bitField0_ & 0x01000000) != 0)) {
11474 to_bitField0_ |= 0x01000000;
11475 }
11476 result.maxVariableActivityValue_ = maxVariableActivityValue_;
11477 if (((from_bitField0_ & 0x02000000) != 0)) {
11478 to_bitField0_ |= 0x02000000;
11479 }
11480 result.glucoseMaxDecay_ = glucoseMaxDecay_;
11481 if (((from_bitField0_ & 0x04000000) != 0)) {
11482 to_bitField0_ |= 0x04000000;
11483 }
11484 result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
11485 if (((from_bitField0_ & 0x08000000) != 0)) {
11486 to_bitField0_ |= 0x08000000;
11487 }
11488 result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
11489 if (((from_bitField0_ & 0x10000000) != 0)) {
11490 to_bitField0_ |= 0x10000000;
11491 }
11492 result.clauseActivityDecay_ = clauseActivityDecay_;
11493 if (((from_bitField0_ & 0x20000000) != 0)) {
11494 to_bitField0_ |= 0x20000000;
11495 }
11496 result.maxClauseActivityValue_ = maxClauseActivityValue_;
11497 if (((bitField0_ & 0x40000000) != 0)) {
11498 restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
11499 bitField0_ = (bitField0_ & ~0x40000000);
11500 }
11501 result.restartAlgorithms_ = restartAlgorithms_;
11502 if (((from_bitField0_ & 0x80000000) != 0)) {
11503 to_bitField0_ |= 0x40000000;
11504 }
11505 result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
11506 if (((from_bitField1_ & 0x00000001) != 0)) {
11507 to_bitField0_ |= 0x80000000;
11508 }
11509 result.restartPeriod_ = restartPeriod_;
11510 if (((from_bitField1_ & 0x00000002) != 0)) {
11511 to_bitField1_ |= 0x00000001;
11512 }
11513 result.restartRunningWindowSize_ = restartRunningWindowSize_;
11514 if (((from_bitField1_ & 0x00000004) != 0)) {
11515 to_bitField1_ |= 0x00000002;
11516 }
11517 result.restartDlAverageRatio_ = restartDlAverageRatio_;
11518 if (((from_bitField1_ & 0x00000008) != 0)) {
11519 to_bitField1_ |= 0x00000004;
11520 }
11521 result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
11522 if (((from_bitField1_ & 0x00000010) != 0)) {
11523 result.useBlockingRestart_ = useBlockingRestart_;
11524 to_bitField1_ |= 0x00000008;
11525 }
11526 if (((from_bitField1_ & 0x00000020) != 0)) {
11527 to_bitField1_ |= 0x00000010;
11528 }
11529 result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
11530 if (((from_bitField1_ & 0x00000040) != 0)) {
11531 to_bitField1_ |= 0x00000020;
11532 }
11533 result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
11534 if (((from_bitField1_ & 0x00000080) != 0)) {
11535 result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
11536 to_bitField1_ |= 0x00000040;
11537 }
11538 if (((from_bitField1_ & 0x00000100) != 0)) {
11539 result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
11540 to_bitField1_ |= 0x00000080;
11541 }
11542 if (((from_bitField1_ & 0x00000200) != 0)) {
11543 to_bitField1_ |= 0x00000100;
11544 }
11545 result.maxTimeInSeconds_ = maxTimeInSeconds_;
11546 if (((from_bitField1_ & 0x00000400) != 0)) {
11547 to_bitField1_ |= 0x00000200;
11548 }
11549 result.maxDeterministicTime_ = maxDeterministicTime_;
11550 if (((from_bitField1_ & 0x00000800) != 0)) {
11551 to_bitField1_ |= 0x00000400;
11552 }
11553 result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
11554 if (((from_bitField1_ & 0x00001000) != 0)) {
11555 to_bitField1_ |= 0x00000800;
11556 }
11557 result.maxMemoryInMb_ = maxMemoryInMb_;
11558 if (((from_bitField1_ & 0x00002000) != 0)) {
11559 to_bitField1_ |= 0x00001000;
11560 }
11561 result.absoluteGapLimit_ = absoluteGapLimit_;
11562 if (((from_bitField1_ & 0x00004000) != 0)) {
11563 result.relativeGapLimit_ = relativeGapLimit_;
11564 to_bitField1_ |= 0x00002000;
11565 }
11566 if (((from_bitField1_ & 0x00008000) != 0)) {
11567 to_bitField1_ |= 0x00004000;
11568 }
11569 result.treatBinaryClausesSeparately_ = treatBinaryClausesSeparately_;
11570 if (((from_bitField1_ & 0x00010000) != 0)) {
11571 to_bitField1_ |= 0x00008000;
11572 }
11573 result.randomSeed_ = randomSeed_;
11574 if (((from_bitField1_ & 0x00020000) != 0)) {
11575 result.permuteVariableRandomly_ = permuteVariableRandomly_;
11576 to_bitField1_ |= 0x00010000;
11577 }
11578 if (((from_bitField1_ & 0x00040000) != 0)) {
11579 result.permutePresolveConstraintOrder_ = permutePresolveConstraintOrder_;
11580 to_bitField1_ |= 0x00020000;
11581 }
11582 if (((from_bitField1_ & 0x00080000) != 0)) {
11583 result.useAbslRandom_ = useAbslRandom_;
11584 to_bitField1_ |= 0x00040000;
11585 }
11586 if (((from_bitField1_ & 0x00100000) != 0)) {
11587 result.logSearchProgress_ = logSearchProgress_;
11588 to_bitField1_ |= 0x00080000;
11589 }
11590 if (((from_bitField1_ & 0x00200000) != 0)) {
11591 to_bitField1_ |= 0x00100000;
11592 }
11593 result.logSubsolverStatistics_ = logSubsolverStatistics_;
11594 if (((from_bitField1_ & 0x00400000) != 0)) {
11595 to_bitField1_ |= 0x00200000;
11596 }
11597 result.logPrefix_ = logPrefix_;
11598 if (((from_bitField1_ & 0x00800000) != 0)) {
11599 to_bitField1_ |= 0x00400000;
11600 }
11601 result.logToStdout_ = logToStdout_;
11602 if (((from_bitField1_ & 0x01000000) != 0)) {
11603 result.logToResponse_ = logToResponse_;
11604 to_bitField1_ |= 0x00800000;
11605 }
11606 if (((from_bitField1_ & 0x02000000) != 0)) {
11607 result.usePbResolution_ = usePbResolution_;
11608 to_bitField1_ |= 0x01000000;
11609 }
11610 if (((from_bitField1_ & 0x04000000) != 0)) {
11611 result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
11612 to_bitField1_ |= 0x02000000;
11613 }
11614 if (((from_bitField1_ & 0x08000000) != 0)) {
11615 to_bitField1_ |= 0x04000000;
11616 }
11617 result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
11618 if (((from_bitField1_ & 0x10000000) != 0)) {
11619 to_bitField1_ |= 0x08000000;
11620 }
11621 result.presolveBveThreshold_ = presolveBveThreshold_;
11622 if (((from_bitField1_ & 0x20000000) != 0)) {
11623 to_bitField1_ |= 0x10000000;
11624 }
11625 result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
11626 if (((from_bitField1_ & 0x40000000) != 0)) {
11627 to_bitField1_ |= 0x20000000;
11628 }
11629 result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
11630 if (((from_bitField1_ & 0x80000000) != 0)) {
11631 to_bitField1_ |= 0x40000000;
11632 }
11633 result.presolveBlockedClause_ = presolveBlockedClause_;
11634 if (((from_bitField2_ & 0x00000001) != 0)) {
11635 to_bitField1_ |= 0x80000000;
11636 }
11637 result.presolveUseBva_ = presolveUseBva_;
11638 if (((from_bitField2_ & 0x00000002) != 0)) {
11639 to_bitField2_ |= 0x00000001;
11640 }
11641 result.presolveBvaThreshold_ = presolveBvaThreshold_;
11642 if (((from_bitField2_ & 0x00000004) != 0)) {
11643 to_bitField2_ |= 0x00000002;
11644 }
11645 result.maxPresolveIterations_ = maxPresolveIterations_;
11646 if (((from_bitField2_ & 0x00000008) != 0)) {
11647 to_bitField2_ |= 0x00000004;
11648 }
11649 result.cpModelPresolve_ = cpModelPresolve_;
11650 if (((from_bitField2_ & 0x00000010) != 0)) {
11651 to_bitField2_ |= 0x00000008;
11652 }
11653 result.cpModelProbingLevel_ = cpModelProbingLevel_;
11654 if (((from_bitField2_ & 0x00000020) != 0)) {
11655 to_bitField2_ |= 0x00000010;
11656 }
11657 result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
11658 if (((from_bitField2_ & 0x00000040) != 0)) {
11659 result.useSatInprocessing_ = useSatInprocessing_;
11660 to_bitField2_ |= 0x00000020;
11661 }
11662 if (((from_bitField2_ & 0x00000080) != 0)) {
11663 result.expandAlldiffConstraints_ = expandAlldiffConstraints_;
11664 to_bitField2_ |= 0x00000040;
11665 }
11666 if (((from_bitField2_ & 0x00000100) != 0)) {
11667 result.disableConstraintExpansion_ = disableConstraintExpansion_;
11668 to_bitField2_ |= 0x00000080;
11669 }
11670 if (((from_bitField2_ & 0x00000200) != 0)) {
11671 to_bitField2_ |= 0x00000100;
11672 }
11673 result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
11674 if (((from_bitField2_ & 0x00000400) != 0)) {
11675 to_bitField2_ |= 0x00000200;
11676 }
11677 result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
11678 if (((from_bitField2_ & 0x00000800) != 0)) {
11679 to_bitField2_ |= 0x00000400;
11680 }
11681 result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
11682 if (((from_bitField2_ & 0x00001000) != 0)) {
11683 result.presolveExtractIntegerEnforcement_ = presolveExtractIntegerEnforcement_;
11684 to_bitField2_ |= 0x00000800;
11685 }
11686 if (((from_bitField2_ & 0x00002000) != 0)) {
11687 result.debugPostsolveWithFullSolver_ = debugPostsolveWithFullSolver_;
11688 to_bitField2_ |= 0x00001000;
11689 }
11690 if (((from_bitField2_ & 0x00004000) != 0)) {
11691 result.debugMaxNumPresolveOperations_ = debugMaxNumPresolveOperations_;
11692 to_bitField2_ |= 0x00002000;
11693 }
11694 if (((from_bitField2_ & 0x00008000) != 0)) {
11695 result.debugCrashOnBadHint_ = debugCrashOnBadHint_;
11696 to_bitField2_ |= 0x00004000;
11697 }
11698 if (((from_bitField2_ & 0x00010000) != 0)) {
11699 to_bitField2_ |= 0x00008000;
11700 }
11701 result.useOptimizationHints_ = useOptimizationHints_;
11702 if (((from_bitField2_ & 0x00020000) != 0)) {
11703 to_bitField2_ |= 0x00010000;
11704 }
11705 result.minimizeCore_ = minimizeCore_;
11706 if (((from_bitField2_ & 0x00040000) != 0)) {
11707 to_bitField2_ |= 0x00020000;
11708 }
11709 result.findMultipleCores_ = findMultipleCores_;
11710 if (((from_bitField2_ & 0x00080000) != 0)) {
11711 to_bitField2_ |= 0x00040000;
11712 }
11713 result.coverOptimization_ = coverOptimization_;
11714 if (((from_bitField2_ & 0x00100000) != 0)) {
11715 to_bitField2_ |= 0x00080000;
11716 }
11717 result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
11718 if (((from_bitField2_ & 0x00200000) != 0)) {
11719 result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
11720 to_bitField2_ |= 0x00100000;
11721 }
11722 if (((from_bitField2_ & 0x00400000) != 0)) {
11723 to_bitField2_ |= 0x00200000;
11724 }
11725 result.maxSatStratification_ = maxSatStratification_;
11726 if (((from_bitField2_ & 0x00800000) != 0)) {
11727 to_bitField2_ |= 0x00400000;
11728 }
11729 result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
11730 if (((from_bitField2_ & 0x01000000) != 0)) {
11731 result.useOverloadCheckerInCumulativeConstraint_ = useOverloadCheckerInCumulativeConstraint_;
11732 to_bitField2_ |= 0x00800000;
11733 }
11734 if (((from_bitField2_ & 0x02000000) != 0)) {
11735 result.useTimetableEdgeFindingInCumulativeConstraint_ = useTimetableEdgeFindingInCumulativeConstraint_;
11736 to_bitField2_ |= 0x01000000;
11737 }
11738 if (((from_bitField2_ & 0x04000000) != 0)) {
11739 to_bitField2_ |= 0x02000000;
11740 }
11741 result.useDisjunctiveConstraintInCumulativeConstraint_ = useDisjunctiveConstraintInCumulativeConstraint_;
11742 if (((from_bitField2_ & 0x08000000) != 0)) {
11743 result.useCumulativeInNoOverlap2D_ = useCumulativeInNoOverlap2D_;
11744 to_bitField2_ |= 0x04000000;
11745 }
11746 if (((from_bitField2_ & 0x10000000) != 0)) {
11747 to_bitField2_ |= 0x08000000;
11748 }
11749 result.linearizationLevel_ = linearizationLevel_;
11750 if (((from_bitField2_ & 0x20000000) != 0)) {
11751 to_bitField2_ |= 0x10000000;
11752 }
11753 result.booleanEncodingLevel_ = booleanEncodingLevel_;
11754 if (((from_bitField2_ & 0x40000000) != 0)) {
11755 to_bitField2_ |= 0x20000000;
11756 }
11757 result.maxDomainSizeWhenEncodingEqNeqConstraints_ = maxDomainSizeWhenEncodingEqNeqConstraints_;
11758 if (((from_bitField2_ & 0x80000000) != 0)) {
11759 to_bitField2_ |= 0x40000000;
11760 }
11761 result.maxNumCuts_ = maxNumCuts_;
11762 if (((from_bitField3_ & 0x00000001) != 0)) {
11763 to_bitField2_ |= 0x80000000;
11764 }
11765 result.cutLevel_ = cutLevel_;
11766 if (((from_bitField3_ & 0x00000002) != 0)) {
11767 result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
11768 to_bitField3_ |= 0x00000001;
11769 }
11770 if (((from_bitField3_ & 0x00000004) != 0)) {
11771 result.addObjectiveCut_ = addObjectiveCut_;
11772 to_bitField3_ |= 0x00000002;
11773 }
11774 if (((from_bitField3_ & 0x00000008) != 0)) {
11775 to_bitField3_ |= 0x00000004;
11776 }
11777 result.addCgCuts_ = addCgCuts_;
11778 if (((from_bitField3_ & 0x00000010) != 0)) {
11779 to_bitField3_ |= 0x00000008;
11780 }
11781 result.addMirCuts_ = addMirCuts_;
11782 if (((from_bitField3_ & 0x00000020) != 0)) {
11783 to_bitField3_ |= 0x00000010;
11784 }
11785 result.addZeroHalfCuts_ = addZeroHalfCuts_;
11786 if (((from_bitField3_ & 0x00000040) != 0)) {
11787 to_bitField3_ |= 0x00000020;
11788 }
11789 result.addCliqueCuts_ = addCliqueCuts_;
11790 if (((from_bitField3_ & 0x00000080) != 0)) {
11791 to_bitField3_ |= 0x00000040;
11792 }
11793 result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
11794 if (((from_bitField3_ & 0x00000100) != 0)) {
11795 to_bitField3_ |= 0x00000080;
11796 }
11797 result.addLinMaxCuts_ = addLinMaxCuts_;
11798 if (((from_bitField3_ & 0x00000200) != 0)) {
11799 to_bitField3_ |= 0x00000100;
11800 }
11801 result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
11802 if (((from_bitField3_ & 0x00000400) != 0)) {
11803 to_bitField3_ |= 0x00000200;
11804 }
11805 result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
11806 if (((from_bitField3_ & 0x00000800) != 0)) {
11807 to_bitField3_ |= 0x00000400;
11808 }
11809 result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
11810 if (((from_bitField3_ & 0x00001000) != 0)) {
11811 to_bitField3_ |= 0x00000800;
11812 }
11813 result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
11814 if (((from_bitField3_ & 0x00002000) != 0)) {
11815 to_bitField3_ |= 0x00001000;
11816 }
11817 result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
11818 if (((from_bitField3_ & 0x00004000) != 0)) {
11819 to_bitField3_ |= 0x00002000;
11820 }
11821 result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
11822 if (((from_bitField3_ & 0x00008000) != 0)) {
11823 to_bitField3_ |= 0x00004000;
11824 }
11825 result.cutActiveCountDecay_ = cutActiveCountDecay_;
11826 if (((from_bitField3_ & 0x00010000) != 0)) {
11827 to_bitField3_ |= 0x00008000;
11828 }
11829 result.cutCleanupTarget_ = cutCleanupTarget_;
11830 if (((from_bitField3_ & 0x00020000) != 0)) {
11831 to_bitField3_ |= 0x00010000;
11832 }
11833 result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
11834 if (((from_bitField3_ & 0x00040000) != 0)) {
11835 to_bitField3_ |= 0x00020000;
11836 }
11837 result.searchBranching_ = searchBranching_;
11838 if (((from_bitField3_ & 0x00080000) != 0)) {
11839 to_bitField3_ |= 0x00040000;
11840 }
11841 result.hintConflictLimit_ = hintConflictLimit_;
11842 if (((from_bitField3_ & 0x00100000) != 0)) {
11843 result.repairHint_ = repairHint_;
11844 to_bitField3_ |= 0x00080000;
11845 }
11846 if (((from_bitField3_ & 0x00200000) != 0)) {
11847 result.fixVariablesToTheirHintedValue_ = fixVariablesToTheirHintedValue_;
11848 to_bitField3_ |= 0x00100000;
11849 }
11850 if (((from_bitField3_ & 0x00400000) != 0)) {
11851 to_bitField3_ |= 0x00200000;
11852 }
11853 result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
11854 if (((from_bitField3_ & 0x00800000) != 0)) {
11855 to_bitField3_ |= 0x00400000;
11856 }
11857 result.exploitAllLpSolution_ = exploitAllLpSolution_;
11858 if (((from_bitField3_ & 0x01000000) != 0)) {
11859 result.exploitBestSolution_ = exploitBestSolution_;
11860 to_bitField3_ |= 0x00800000;
11861 }
11862 if (((from_bitField3_ & 0x02000000) != 0)) {
11863 result.exploitRelaxationSolution_ = exploitRelaxationSolution_;
11864 to_bitField3_ |= 0x01000000;
11865 }
11866 if (((from_bitField3_ & 0x04000000) != 0)) {
11867 to_bitField3_ |= 0x02000000;
11868 }
11869 result.exploitObjective_ = exploitObjective_;
11870 if (((from_bitField3_ & 0x08000000) != 0)) {
11871 result.probingPeriodAtRoot_ = probingPeriodAtRoot_;
11872 to_bitField3_ |= 0x04000000;
11873 }
11874 if (((from_bitField3_ & 0x10000000) != 0)) {
11875 result.useProbingSearch_ = useProbingSearch_;
11876 to_bitField3_ |= 0x08000000;
11877 }
11878 if (((from_bitField3_ & 0x20000000) != 0)) {
11879 to_bitField3_ |= 0x10000000;
11880 }
11881 result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
11882 if (((from_bitField3_ & 0x40000000) != 0)) {
11883 result.optimizeWithCore_ = optimizeWithCore_;
11884 to_bitField3_ |= 0x20000000;
11885 }
11886 if (((from_bitField3_ & 0x80000000) != 0)) {
11887 result.optimizeWithLbTreeSearch_ = optimizeWithLbTreeSearch_;
11888 to_bitField3_ |= 0x40000000;
11889 }
11890 if (((from_bitField4_ & 0x00000001) != 0)) {
11891 to_bitField3_ |= 0x80000000;
11892 }
11893 result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
11894 if (((from_bitField4_ & 0x00000002) != 0)) {
11895 result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
11896 to_bitField4_ |= 0x00000001;
11897 }
11898 if (((from_bitField4_ & 0x00000004) != 0)) {
11899 result.enumerateAllSolutions_ = enumerateAllSolutions_;
11900 to_bitField4_ |= 0x00000002;
11901 }
11902 if (((from_bitField4_ & 0x00000008) != 0)) {
11903 result.keepAllFeasibleSolutionsInPresolve_ = keepAllFeasibleSolutionsInPresolve_;
11904 to_bitField4_ |= 0x00000004;
11905 }
11906 if (((from_bitField4_ & 0x00000010) != 0)) {
11907 result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
11908 to_bitField4_ |= 0x00000008;
11909 }
11910 if (((from_bitField4_ & 0x00000020) != 0)) {
11911 result.fillAdditionalSolutionsInResponse_ = fillAdditionalSolutionsInResponse_;
11912 to_bitField4_ |= 0x00000010;
11913 }
11914 if (((from_bitField4_ & 0x00000040) != 0)) {
11915 to_bitField4_ |= 0x00000020;
11916 }
11917 result.instantiateAllVariables_ = instantiateAllVariables_;
11918 if (((from_bitField4_ & 0x00000080) != 0)) {
11919 to_bitField4_ |= 0x00000040;
11920 }
11921 result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
11922 if (((from_bitField4_ & 0x00000100) != 0)) {
11923 result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
11924 to_bitField4_ |= 0x00000080;
11925 }
11926 if (((from_bitField4_ & 0x00000200) != 0)) {
11927 result.stopAfterPresolve_ = stopAfterPresolve_;
11928 to_bitField4_ |= 0x00000100;
11929 }
11930 if (((from_bitField4_ & 0x00000400) != 0)) {
11931 result.numSearchWorkers_ = numSearchWorkers_;
11932 to_bitField4_ |= 0x00000200;
11933 }
11934 if (((from_bitField4_ & 0x00000800) != 0)) {
11935 result.interleaveSearch_ = interleaveSearch_;
11936 to_bitField4_ |= 0x00000400;
11937 }
11938 if (((from_bitField4_ & 0x00001000) != 0)) {
11939 to_bitField4_ |= 0x00000800;
11940 }
11941 result.interleaveBatchSize_ = interleaveBatchSize_;
11942 if (((from_bitField4_ & 0x00002000) != 0)) {
11943 result.reduceMemoryUsageInInterleaveMode_ = reduceMemoryUsageInInterleaveMode_;
11944 to_bitField4_ |= 0x00001000;
11945 }
11946 if (((from_bitField4_ & 0x00004000) != 0)) {
11947 to_bitField4_ |= 0x00002000;
11948 }
11949 result.shareObjectiveBounds_ = shareObjectiveBounds_;
11950 if (((from_bitField4_ & 0x00008000) != 0)) {
11951 to_bitField4_ |= 0x00004000;
11952 }
11953 result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
11954 if (((from_bitField4_ & 0x00010000) != 0)) {
11955 result.useLnsOnly_ = useLnsOnly_;
11956 to_bitField4_ |= 0x00008000;
11957 }
11958 if (((from_bitField4_ & 0x00020000) != 0)) {
11959 to_bitField4_ |= 0x00010000;
11960 }
11961 result.solutionPoolSize_ = solutionPoolSize_;
11962 if (((from_bitField4_ & 0x00040000) != 0)) {
11963 to_bitField4_ |= 0x00020000;
11964 }
11965 result.useRinsLns_ = useRinsLns_;
11966 if (((from_bitField4_ & 0x00080000) != 0)) {
11967 to_bitField4_ |= 0x00040000;
11968 }
11969 result.useFeasibilityPump_ = useFeasibilityPump_;
11970 if (((from_bitField4_ & 0x00100000) != 0)) {
11971 to_bitField4_ |= 0x00080000;
11972 }
11973 result.fpRounding_ = fpRounding_;
11974 if (((from_bitField4_ & 0x00200000) != 0)) {
11975 result.useRelaxationLns_ = useRelaxationLns_;
11976 to_bitField4_ |= 0x00100000;
11977 }
11978 if (((from_bitField4_ & 0x00400000) != 0)) {
11979 result.diversifyLnsParams_ = diversifyLnsParams_;
11980 to_bitField4_ |= 0x00200000;
11981 }
11982 if (((from_bitField4_ & 0x00800000) != 0)) {
11983 result.randomizeSearch_ = randomizeSearch_;
11984 to_bitField4_ |= 0x00400000;
11985 }
11986 if (((from_bitField4_ & 0x01000000) != 0)) {
11987 result.searchRandomizationTolerance_ = searchRandomizationTolerance_;
11988 to_bitField4_ |= 0x00800000;
11989 }
11990 if (((from_bitField4_ & 0x02000000) != 0)) {
11991 to_bitField4_ |= 0x01000000;
11992 }
11993 result.useOptionalVariables_ = useOptionalVariables_;
11994 if (((from_bitField4_ & 0x04000000) != 0)) {
11995 to_bitField4_ |= 0x02000000;
11996 }
11997 result.useExactLpReason_ = useExactLpReason_;
11998 if (((from_bitField4_ & 0x08000000) != 0)) {
11999 result.useBranchingInLp_ = useBranchingInLp_;
12000 to_bitField4_ |= 0x04000000;
12001 }
12002 if (((from_bitField4_ & 0x10000000) != 0)) {
12003 result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
12004 to_bitField4_ |= 0x08000000;
12005 }
12006 if (((from_bitField4_ & 0x20000000) != 0)) {
12007 to_bitField4_ |= 0x10000000;
12008 }
12009 result.catchSigintSignal_ = catchSigintSignal_;
12010 if (((from_bitField4_ & 0x40000000) != 0)) {
12011 to_bitField4_ |= 0x20000000;
12012 }
12013 result.useImpliedBounds_ = useImpliedBounds_;
12014 if (((from_bitField4_ & 0x80000000) != 0)) {
12015 result.polishLpSolution_ = polishLpSolution_;
12016 to_bitField4_ |= 0x40000000;
12017 }
12018 if (((from_bitField5_ & 0x00000001) != 0)) {
12019 to_bitField4_ |= 0x80000000;
12020 }
12021 result.convertIntervals_ = convertIntervals_;
12022 if (((from_bitField5_ & 0x00000002) != 0)) {
12023 to_bitField5_ |= 0x00000001;
12024 }
12025 result.symmetryLevel_ = symmetryLevel_;
12026 if (((from_bitField5_ & 0x00000004) != 0)) {
12027 to_bitField5_ |= 0x00000002;
12028 }
12029 result.mipMaxBound_ = mipMaxBound_;
12030 if (((from_bitField5_ & 0x00000008) != 0)) {
12031 to_bitField5_ |= 0x00000004;
12032 }
12033 result.mipVarScaling_ = mipVarScaling_;
12034 if (((from_bitField5_ & 0x00000010) != 0)) {
12035 to_bitField5_ |= 0x00000008;
12036 }
12037 result.mipAutomaticallyScaleVariables_ = mipAutomaticallyScaleVariables_;
12038 if (((from_bitField5_ & 0x00000020) != 0)) {
12039 to_bitField5_ |= 0x00000010;
12040 }
12041 result.mipWantedPrecision_ = mipWantedPrecision_;
12042 if (((from_bitField5_ & 0x00000040) != 0)) {
12043 to_bitField5_ |= 0x00000020;
12044 }
12045 result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
12046 if (((from_bitField5_ & 0x00000080) != 0)) {
12047 to_bitField5_ |= 0x00000040;
12048 }
12049 result.mipCheckPrecision_ = mipCheckPrecision_;
12050 if (((from_bitField5_ & 0x00000100) != 0)) {
12051 to_bitField5_ |= 0x00000080;
12052 }
12053 result.mipComputeTrueObjectiveBound_ = mipComputeTrueObjectiveBound_;
12054 if (((from_bitField5_ & 0x00000200) != 0)) {
12055 to_bitField5_ |= 0x00000100;
12056 }
12057 result.mipMaxValidMagnitude_ = mipMaxValidMagnitude_;
12058 result.bitField0_ = to_bitField0_;
12059 result.bitField1_ = to_bitField1_;
12060 result.bitField2_ = to_bitField2_;
12061 result.bitField3_ = to_bitField3_;
12062 result.bitField4_ = to_bitField4_;
12063 result.bitField5_ = to_bitField5_;
12064 onBuilt();
12065 return result;
12066 }
12067
12068 @java.lang.Override
12069 public Builder clone() {
12070 return super.clone();
12071 }
12072 @java.lang.Override
12074 com.google.protobuf.Descriptors.FieldDescriptor field,
12075 java.lang.Object value) {
12076 return super.setField(field, value);
12077 }
12078 @java.lang.Override
12080 com.google.protobuf.Descriptors.FieldDescriptor field) {
12081 return super.clearField(field);
12082 }
12083 @java.lang.Override
12085 com.google.protobuf.Descriptors.OneofDescriptor oneof) {
12086 return super.clearOneof(oneof);
12087 }
12088 @java.lang.Override
12090 com.google.protobuf.Descriptors.FieldDescriptor field,
12091 int index, java.lang.Object value) {
12092 return super.setRepeatedField(field, index, value);
12093 }
12094 @java.lang.Override
12096 com.google.protobuf.Descriptors.FieldDescriptor field,
12097 java.lang.Object value) {
12098 return super.addRepeatedField(field, value);
12099 }
12100 @java.lang.Override
12101 public Builder mergeFrom(com.google.protobuf.Message other) {
12102 if (other instanceof com.google.ortools.sat.SatParameters) {
12103 return mergeFrom((com.google.ortools.sat.SatParameters)other);
12104 } else {
12105 super.mergeFrom(other);
12106 return this;
12107 }
12108 }
12109
12110 public Builder mergeFrom(com.google.ortools.sat.SatParameters other) {
12111 if (other == com.google.ortools.sat.SatParameters.getDefaultInstance()) return this;
12112 if (other.hasName()) {
12113 bitField0_ |= 0x00000001;
12114 name_ = other.name_;
12115 onChanged();
12116 }
12117 if (other.hasPreferredVariableOrder()) {
12118 setPreferredVariableOrder(other.getPreferredVariableOrder());
12119 }
12120 if (other.hasInitialPolarity()) {
12121 setInitialPolarity(other.getInitialPolarity());
12122 }
12123 if (other.hasUsePhaseSaving()) {
12124 setUsePhaseSaving(other.getUsePhaseSaving());
12125 }
12126 if (other.hasPolarityRephaseIncrement()) {
12127 setPolarityRephaseIncrement(other.getPolarityRephaseIncrement());
12128 }
12129 if (other.hasRandomPolarityRatio()) {
12130 setRandomPolarityRatio(other.getRandomPolarityRatio());
12131 }
12132 if (other.hasRandomBranchesRatio()) {
12133 setRandomBranchesRatio(other.getRandomBranchesRatio());
12134 }
12135 if (other.hasUseErwaHeuristic()) {
12136 setUseErwaHeuristic(other.getUseErwaHeuristic());
12137 }
12138 if (other.hasInitialVariablesActivity()) {
12139 setInitialVariablesActivity(other.getInitialVariablesActivity());
12140 }
12141 if (other.hasAlsoBumpVariablesInConflictReasons()) {
12142 setAlsoBumpVariablesInConflictReasons(other.getAlsoBumpVariablesInConflictReasons());
12143 }
12144 if (other.hasMinimizationAlgorithm()) {
12145 setMinimizationAlgorithm(other.getMinimizationAlgorithm());
12146 }
12147 if (other.hasBinaryMinimizationAlgorithm()) {
12148 setBinaryMinimizationAlgorithm(other.getBinaryMinimizationAlgorithm());
12149 }
12150 if (other.hasSubsumptionDuringConflictAnalysis()) {
12151 setSubsumptionDuringConflictAnalysis(other.getSubsumptionDuringConflictAnalysis());
12152 }
12153 if (other.hasClauseCleanupPeriod()) {
12154 setClauseCleanupPeriod(other.getClauseCleanupPeriod());
12155 }
12156 if (other.hasClauseCleanupTarget()) {
12157 setClauseCleanupTarget(other.getClauseCleanupTarget());
12158 }
12159 if (other.hasClauseCleanupRatio()) {
12160 setClauseCleanupRatio(other.getClauseCleanupRatio());
12161 }
12162 if (other.hasClauseCleanupProtection()) {
12163 setClauseCleanupProtection(other.getClauseCleanupProtection());
12164 }
12165 if (other.hasClauseCleanupLbdBound()) {
12166 setClauseCleanupLbdBound(other.getClauseCleanupLbdBound());
12167 }
12168 if (other.hasClauseCleanupOrdering()) {
12169 setClauseCleanupOrdering(other.getClauseCleanupOrdering());
12170 }
12171 if (other.hasPbCleanupIncrement()) {
12172 setPbCleanupIncrement(other.getPbCleanupIncrement());
12173 }
12174 if (other.hasPbCleanupRatio()) {
12175 setPbCleanupRatio(other.getPbCleanupRatio());
12176 }
12177 if (other.hasMinimizeWithPropagationRestartPeriod()) {
12178 setMinimizeWithPropagationRestartPeriod(other.getMinimizeWithPropagationRestartPeriod());
12179 }
12180 if (other.hasMinimizeWithPropagationNumDecisions()) {
12181 setMinimizeWithPropagationNumDecisions(other.getMinimizeWithPropagationNumDecisions());
12182 }
12183 if (other.hasVariableActivityDecay()) {
12184 setVariableActivityDecay(other.getVariableActivityDecay());
12185 }
12186 if (other.hasMaxVariableActivityValue()) {
12187 setMaxVariableActivityValue(other.getMaxVariableActivityValue());
12188 }
12189 if (other.hasGlucoseMaxDecay()) {
12190 setGlucoseMaxDecay(other.getGlucoseMaxDecay());
12191 }
12192 if (other.hasGlucoseDecayIncrement()) {
12193 setGlucoseDecayIncrement(other.getGlucoseDecayIncrement());
12194 }
12195 if (other.hasGlucoseDecayIncrementPeriod()) {
12196 setGlucoseDecayIncrementPeriod(other.getGlucoseDecayIncrementPeriod());
12197 }
12198 if (other.hasClauseActivityDecay()) {
12199 setClauseActivityDecay(other.getClauseActivityDecay());
12200 }
12201 if (other.hasMaxClauseActivityValue()) {
12202 setMaxClauseActivityValue(other.getMaxClauseActivityValue());
12203 }
12204 if (!other.restartAlgorithms_.isEmpty()) {
12205 if (restartAlgorithms_.isEmpty()) {
12206 restartAlgorithms_ = other.restartAlgorithms_;
12207 bitField0_ = (bitField0_ & ~0x40000000);
12208 } else {
12209 ensureRestartAlgorithmsIsMutable();
12210 restartAlgorithms_.addAll(other.restartAlgorithms_);
12211 }
12212 onChanged();
12213 }
12214 if (other.hasDefaultRestartAlgorithms()) {
12215 bitField0_ |= 0x80000000;
12216 defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
12217 onChanged();
12218 }
12219 if (other.hasRestartPeriod()) {
12220 setRestartPeriod(other.getRestartPeriod());
12221 }
12222 if (other.hasRestartRunningWindowSize()) {
12223 setRestartRunningWindowSize(other.getRestartRunningWindowSize());
12224 }
12225 if (other.hasRestartDlAverageRatio()) {
12226 setRestartDlAverageRatio(other.getRestartDlAverageRatio());
12227 }
12228 if (other.hasRestartLbdAverageRatio()) {
12229 setRestartLbdAverageRatio(other.getRestartLbdAverageRatio());
12230 }
12231 if (other.hasUseBlockingRestart()) {
12232 setUseBlockingRestart(other.getUseBlockingRestart());
12233 }
12234 if (other.hasBlockingRestartWindowSize()) {
12235 setBlockingRestartWindowSize(other.getBlockingRestartWindowSize());
12236 }
12237 if (other.hasBlockingRestartMultiplier()) {
12238 setBlockingRestartMultiplier(other.getBlockingRestartMultiplier());
12239 }
12240 if (other.hasNumConflictsBeforeStrategyChanges()) {
12241 setNumConflictsBeforeStrategyChanges(other.getNumConflictsBeforeStrategyChanges());
12242 }
12243 if (other.hasStrategyChangeIncreaseRatio()) {
12244 setStrategyChangeIncreaseRatio(other.getStrategyChangeIncreaseRatio());
12245 }
12246 if (other.hasMaxTimeInSeconds()) {
12247 setMaxTimeInSeconds(other.getMaxTimeInSeconds());
12248 }
12249 if (other.hasMaxDeterministicTime()) {
12250 setMaxDeterministicTime(other.getMaxDeterministicTime());
12251 }
12252 if (other.hasMaxNumberOfConflicts()) {
12253 setMaxNumberOfConflicts(other.getMaxNumberOfConflicts());
12254 }
12255 if (other.hasMaxMemoryInMb()) {
12256 setMaxMemoryInMb(other.getMaxMemoryInMb());
12257 }
12258 if (other.hasAbsoluteGapLimit()) {
12259 setAbsoluteGapLimit(other.getAbsoluteGapLimit());
12260 }
12261 if (other.hasRelativeGapLimit()) {
12262 setRelativeGapLimit(other.getRelativeGapLimit());
12263 }
12264 if (other.hasTreatBinaryClausesSeparately()) {
12265 setTreatBinaryClausesSeparately(other.getTreatBinaryClausesSeparately());
12266 }
12267 if (other.hasRandomSeed()) {
12268 setRandomSeed(other.getRandomSeed());
12269 }
12270 if (other.hasPermuteVariableRandomly()) {
12271 setPermuteVariableRandomly(other.getPermuteVariableRandomly());
12272 }
12273 if (other.hasPermutePresolveConstraintOrder()) {
12274 setPermutePresolveConstraintOrder(other.getPermutePresolveConstraintOrder());
12275 }
12276 if (other.hasUseAbslRandom()) {
12277 setUseAbslRandom(other.getUseAbslRandom());
12278 }
12279 if (other.hasLogSearchProgress()) {
12280 setLogSearchProgress(other.getLogSearchProgress());
12281 }
12282 if (other.hasLogSubsolverStatistics()) {
12283 setLogSubsolverStatistics(other.getLogSubsolverStatistics());
12284 }
12285 if (other.hasLogPrefix()) {
12286 bitField1_ |= 0x00400000;
12287 logPrefix_ = other.logPrefix_;
12288 onChanged();
12289 }
12290 if (other.hasLogToStdout()) {
12291 setLogToStdout(other.getLogToStdout());
12292 }
12293 if (other.hasLogToResponse()) {
12294 setLogToResponse(other.getLogToResponse());
12295 }
12296 if (other.hasUsePbResolution()) {
12297 setUsePbResolution(other.getUsePbResolution());
12298 }
12299 if (other.hasMinimizeReductionDuringPbResolution()) {
12300 setMinimizeReductionDuringPbResolution(other.getMinimizeReductionDuringPbResolution());
12301 }
12302 if (other.hasCountAssumptionLevelsInLbd()) {
12303 setCountAssumptionLevelsInLbd(other.getCountAssumptionLevelsInLbd());
12304 }
12305 if (other.hasPresolveBveThreshold()) {
12306 setPresolveBveThreshold(other.getPresolveBveThreshold());
12307 }
12308 if (other.hasPresolveBveClauseWeight()) {
12309 setPresolveBveClauseWeight(other.getPresolveBveClauseWeight());
12310 }
12311 if (other.hasPresolveProbingDeterministicTimeLimit()) {
12312 setPresolveProbingDeterministicTimeLimit(other.getPresolveProbingDeterministicTimeLimit());
12313 }
12314 if (other.hasPresolveBlockedClause()) {
12315 setPresolveBlockedClause(other.getPresolveBlockedClause());
12316 }
12317 if (other.hasPresolveUseBva()) {
12318 setPresolveUseBva(other.getPresolveUseBva());
12319 }
12320 if (other.hasPresolveBvaThreshold()) {
12321 setPresolveBvaThreshold(other.getPresolveBvaThreshold());
12322 }
12323 if (other.hasMaxPresolveIterations()) {
12324 setMaxPresolveIterations(other.getMaxPresolveIterations());
12325 }
12326 if (other.hasCpModelPresolve()) {
12327 setCpModelPresolve(other.getCpModelPresolve());
12328 }
12329 if (other.hasCpModelProbingLevel()) {
12330 setCpModelProbingLevel(other.getCpModelProbingLevel());
12331 }
12332 if (other.hasCpModelUseSatPresolve()) {
12333 setCpModelUseSatPresolve(other.getCpModelUseSatPresolve());
12334 }
12335 if (other.hasUseSatInprocessing()) {
12336 setUseSatInprocessing(other.getUseSatInprocessing());
12337 }
12338 if (other.hasExpandAlldiffConstraints()) {
12339 setExpandAlldiffConstraints(other.getExpandAlldiffConstraints());
12340 }
12341 if (other.hasDisableConstraintExpansion()) {
12342 setDisableConstraintExpansion(other.getDisableConstraintExpansion());
12343 }
12344 if (other.hasMergeNoOverlapWorkLimit()) {
12345 setMergeNoOverlapWorkLimit(other.getMergeNoOverlapWorkLimit());
12346 }
12347 if (other.hasMergeAtMostOneWorkLimit()) {
12348 setMergeAtMostOneWorkLimit(other.getMergeAtMostOneWorkLimit());
12349 }
12350 if (other.hasPresolveSubstitutionLevel()) {
12351 setPresolveSubstitutionLevel(other.getPresolveSubstitutionLevel());
12352 }
12353 if (other.hasPresolveExtractIntegerEnforcement()) {
12354 setPresolveExtractIntegerEnforcement(other.getPresolveExtractIntegerEnforcement());
12355 }
12356 if (other.hasDebugPostsolveWithFullSolver()) {
12357 setDebugPostsolveWithFullSolver(other.getDebugPostsolveWithFullSolver());
12358 }
12359 if (other.hasDebugMaxNumPresolveOperations()) {
12360 setDebugMaxNumPresolveOperations(other.getDebugMaxNumPresolveOperations());
12361 }
12362 if (other.hasDebugCrashOnBadHint()) {
12363 setDebugCrashOnBadHint(other.getDebugCrashOnBadHint());
12364 }
12365 if (other.hasUseOptimizationHints()) {
12366 setUseOptimizationHints(other.getUseOptimizationHints());
12367 }
12368 if (other.hasMinimizeCore()) {
12369 setMinimizeCore(other.getMinimizeCore());
12370 }
12371 if (other.hasFindMultipleCores()) {
12372 setFindMultipleCores(other.getFindMultipleCores());
12373 }
12374 if (other.hasCoverOptimization()) {
12375 setCoverOptimization(other.getCoverOptimization());
12376 }
12377 if (other.hasMaxSatAssumptionOrder()) {
12378 setMaxSatAssumptionOrder(other.getMaxSatAssumptionOrder());
12379 }
12380 if (other.hasMaxSatReverseAssumptionOrder()) {
12381 setMaxSatReverseAssumptionOrder(other.getMaxSatReverseAssumptionOrder());
12382 }
12383 if (other.hasMaxSatStratification()) {
12384 setMaxSatStratification(other.getMaxSatStratification());
12385 }
12386 if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
12387 setUsePrecedencesInDisjunctiveConstraint(other.getUsePrecedencesInDisjunctiveConstraint());
12388 }
12389 if (other.hasUseOverloadCheckerInCumulativeConstraint()) {
12390 setUseOverloadCheckerInCumulativeConstraint(other.getUseOverloadCheckerInCumulativeConstraint());
12391 }
12392 if (other.hasUseTimetableEdgeFindingInCumulativeConstraint()) {
12393 setUseTimetableEdgeFindingInCumulativeConstraint(other.getUseTimetableEdgeFindingInCumulativeConstraint());
12394 }
12395 if (other.hasUseDisjunctiveConstraintInCumulativeConstraint()) {
12396 setUseDisjunctiveConstraintInCumulativeConstraint(other.getUseDisjunctiveConstraintInCumulativeConstraint());
12397 }
12398 if (other.hasUseCumulativeInNoOverlap2D()) {
12399 setUseCumulativeInNoOverlap2D(other.getUseCumulativeInNoOverlap2D());
12400 }
12401 if (other.hasLinearizationLevel()) {
12402 setLinearizationLevel(other.getLinearizationLevel());
12403 }
12404 if (other.hasBooleanEncodingLevel()) {
12405 setBooleanEncodingLevel(other.getBooleanEncodingLevel());
12406 }
12407 if (other.hasMaxDomainSizeWhenEncodingEqNeqConstraints()) {
12408 setMaxDomainSizeWhenEncodingEqNeqConstraints(other.getMaxDomainSizeWhenEncodingEqNeqConstraints());
12409 }
12410 if (other.hasMaxNumCuts()) {
12411 setMaxNumCuts(other.getMaxNumCuts());
12412 }
12413 if (other.hasCutLevel()) {
12414 setCutLevel(other.getCutLevel());
12415 }
12416 if (other.hasOnlyAddCutsAtLevelZero()) {
12417 setOnlyAddCutsAtLevelZero(other.getOnlyAddCutsAtLevelZero());
12418 }
12419 if (other.hasAddObjectiveCut()) {
12420 setAddObjectiveCut(other.getAddObjectiveCut());
12421 }
12422 if (other.hasAddCgCuts()) {
12423 setAddCgCuts(other.getAddCgCuts());
12424 }
12425 if (other.hasAddMirCuts()) {
12426 setAddMirCuts(other.getAddMirCuts());
12427 }
12428 if (other.hasAddZeroHalfCuts()) {
12429 setAddZeroHalfCuts(other.getAddZeroHalfCuts());
12430 }
12431 if (other.hasAddCliqueCuts()) {
12432 setAddCliqueCuts(other.getAddCliqueCuts());
12433 }
12434 if (other.hasMaxAllDiffCutSize()) {
12435 setMaxAllDiffCutSize(other.getMaxAllDiffCutSize());
12436 }
12437 if (other.hasAddLinMaxCuts()) {
12438 setAddLinMaxCuts(other.getAddLinMaxCuts());
12439 }
12440 if (other.hasMaxIntegerRoundingScaling()) {
12441 setMaxIntegerRoundingScaling(other.getMaxIntegerRoundingScaling());
12442 }
12443 if (other.hasAddLpConstraintsLazily()) {
12444 setAddLpConstraintsLazily(other.getAddLpConstraintsLazily());
12445 }
12446 if (other.hasMinOrthogonalityForLpConstraints()) {
12447 setMinOrthogonalityForLpConstraints(other.getMinOrthogonalityForLpConstraints());
12448 }
12449 if (other.hasMaxCutRoundsAtLevelZero()) {
12450 setMaxCutRoundsAtLevelZero(other.getMaxCutRoundsAtLevelZero());
12451 }
12452 if (other.hasMaxConsecutiveInactiveCount()) {
12453 setMaxConsecutiveInactiveCount(other.getMaxConsecutiveInactiveCount());
12454 }
12455 if (other.hasCutMaxActiveCountValue()) {
12456 setCutMaxActiveCountValue(other.getCutMaxActiveCountValue());
12457 }
12458 if (other.hasCutActiveCountDecay()) {
12459 setCutActiveCountDecay(other.getCutActiveCountDecay());
12460 }
12461 if (other.hasCutCleanupTarget()) {
12462 setCutCleanupTarget(other.getCutCleanupTarget());
12463 }
12464 if (other.hasNewConstraintsBatchSize()) {
12465 setNewConstraintsBatchSize(other.getNewConstraintsBatchSize());
12466 }
12467 if (other.hasSearchBranching()) {
12468 setSearchBranching(other.getSearchBranching());
12469 }
12470 if (other.hasHintConflictLimit()) {
12471 setHintConflictLimit(other.getHintConflictLimit());
12472 }
12473 if (other.hasRepairHint()) {
12474 setRepairHint(other.getRepairHint());
12475 }
12476 if (other.hasFixVariablesToTheirHintedValue()) {
12477 setFixVariablesToTheirHintedValue(other.getFixVariablesToTheirHintedValue());
12478 }
12479 if (other.hasExploitIntegerLpSolution()) {
12480 setExploitIntegerLpSolution(other.getExploitIntegerLpSolution());
12481 }
12482 if (other.hasExploitAllLpSolution()) {
12483 setExploitAllLpSolution(other.getExploitAllLpSolution());
12484 }
12485 if (other.hasExploitBestSolution()) {
12486 setExploitBestSolution(other.getExploitBestSolution());
12487 }
12488 if (other.hasExploitRelaxationSolution()) {
12489 setExploitRelaxationSolution(other.getExploitRelaxationSolution());
12490 }
12491 if (other.hasExploitObjective()) {
12492 setExploitObjective(other.getExploitObjective());
12493 }
12494 if (other.hasProbingPeriodAtRoot()) {
12495 setProbingPeriodAtRoot(other.getProbingPeriodAtRoot());
12496 }
12497 if (other.hasUseProbingSearch()) {
12498 setUseProbingSearch(other.getUseProbingSearch());
12499 }
12500 if (other.hasPseudoCostReliabilityThreshold()) {
12501 setPseudoCostReliabilityThreshold(other.getPseudoCostReliabilityThreshold());
12502 }
12503 if (other.hasOptimizeWithCore()) {
12504 setOptimizeWithCore(other.getOptimizeWithCore());
12505 }
12506 if (other.hasOptimizeWithLbTreeSearch()) {
12507 setOptimizeWithLbTreeSearch(other.getOptimizeWithLbTreeSearch());
12508 }
12509 if (other.hasBinarySearchNumConflicts()) {
12510 setBinarySearchNumConflicts(other.getBinarySearchNumConflicts());
12511 }
12512 if (other.hasOptimizeWithMaxHs()) {
12513 setOptimizeWithMaxHs(other.getOptimizeWithMaxHs());
12514 }
12515 if (other.hasEnumerateAllSolutions()) {
12516 setEnumerateAllSolutions(other.getEnumerateAllSolutions());
12517 }
12518 if (other.hasKeepAllFeasibleSolutionsInPresolve()) {
12519 setKeepAllFeasibleSolutionsInPresolve(other.getKeepAllFeasibleSolutionsInPresolve());
12520 }
12521 if (other.hasFillTightenedDomainsInResponse()) {
12522 setFillTightenedDomainsInResponse(other.getFillTightenedDomainsInResponse());
12523 }
12524 if (other.hasFillAdditionalSolutionsInResponse()) {
12525 setFillAdditionalSolutionsInResponse(other.getFillAdditionalSolutionsInResponse());
12526 }
12527 if (other.hasInstantiateAllVariables()) {
12528 setInstantiateAllVariables(other.getInstantiateAllVariables());
12529 }
12530 if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
12531 setAutoDetectGreaterThanAtLeastOneOf(other.getAutoDetectGreaterThanAtLeastOneOf());
12532 }
12533 if (other.hasStopAfterFirstSolution()) {
12534 setStopAfterFirstSolution(other.getStopAfterFirstSolution());
12535 }
12536 if (other.hasStopAfterPresolve()) {
12537 setStopAfterPresolve(other.getStopAfterPresolve());
12538 }
12539 if (other.hasNumSearchWorkers()) {
12540 setNumSearchWorkers(other.getNumSearchWorkers());
12541 }
12542 if (other.hasInterleaveSearch()) {
12543 setInterleaveSearch(other.getInterleaveSearch());
12544 }
12545 if (other.hasInterleaveBatchSize()) {
12546 setInterleaveBatchSize(other.getInterleaveBatchSize());
12547 }
12548 if (other.hasReduceMemoryUsageInInterleaveMode()) {
12549 setReduceMemoryUsageInInterleaveMode(other.getReduceMemoryUsageInInterleaveMode());
12550 }
12551 if (other.hasShareObjectiveBounds()) {
12552 setShareObjectiveBounds(other.getShareObjectiveBounds());
12553 }
12554 if (other.hasShareLevelZeroBounds()) {
12555 setShareLevelZeroBounds(other.getShareLevelZeroBounds());
12556 }
12557 if (other.hasUseLnsOnly()) {
12558 setUseLnsOnly(other.getUseLnsOnly());
12559 }
12560 if (other.hasSolutionPoolSize()) {
12561 setSolutionPoolSize(other.getSolutionPoolSize());
12562 }
12563 if (other.hasUseRinsLns()) {
12564 setUseRinsLns(other.getUseRinsLns());
12565 }
12566 if (other.hasUseFeasibilityPump()) {
12567 setUseFeasibilityPump(other.getUseFeasibilityPump());
12568 }
12569 if (other.hasFpRounding()) {
12570 setFpRounding(other.getFpRounding());
12571 }
12572 if (other.hasUseRelaxationLns()) {
12573 setUseRelaxationLns(other.getUseRelaxationLns());
12574 }
12575 if (other.hasDiversifyLnsParams()) {
12576 setDiversifyLnsParams(other.getDiversifyLnsParams());
12577 }
12578 if (other.hasRandomizeSearch()) {
12579 setRandomizeSearch(other.getRandomizeSearch());
12580 }
12581 if (other.hasSearchRandomizationTolerance()) {
12582 setSearchRandomizationTolerance(other.getSearchRandomizationTolerance());
12583 }
12584 if (other.hasUseOptionalVariables()) {
12585 setUseOptionalVariables(other.getUseOptionalVariables());
12586 }
12587 if (other.hasUseExactLpReason()) {
12588 setUseExactLpReason(other.getUseExactLpReason());
12589 }
12590 if (other.hasUseBranchingInLp()) {
12591 setUseBranchingInLp(other.getUseBranchingInLp());
12592 }
12593 if (other.hasUseCombinedNoOverlap()) {
12594 setUseCombinedNoOverlap(other.getUseCombinedNoOverlap());
12595 }
12596 if (other.hasCatchSigintSignal()) {
12597 setCatchSigintSignal(other.getCatchSigintSignal());
12598 }
12599 if (other.hasUseImpliedBounds()) {
12600 setUseImpliedBounds(other.getUseImpliedBounds());
12601 }
12602 if (other.hasPolishLpSolution()) {
12603 setPolishLpSolution(other.getPolishLpSolution());
12604 }
12605 if (other.hasConvertIntervals()) {
12606 setConvertIntervals(other.getConvertIntervals());
12607 }
12608 if (other.hasSymmetryLevel()) {
12609 setSymmetryLevel(other.getSymmetryLevel());
12610 }
12611 if (other.hasMipMaxBound()) {
12612 setMipMaxBound(other.getMipMaxBound());
12613 }
12614 if (other.hasMipVarScaling()) {
12615 setMipVarScaling(other.getMipVarScaling());
12616 }
12617 if (other.hasMipAutomaticallyScaleVariables()) {
12618 setMipAutomaticallyScaleVariables(other.getMipAutomaticallyScaleVariables());
12619 }
12620 if (other.hasMipWantedPrecision()) {
12621 setMipWantedPrecision(other.getMipWantedPrecision());
12622 }
12623 if (other.hasMipMaxActivityExponent()) {
12624 setMipMaxActivityExponent(other.getMipMaxActivityExponent());
12625 }
12626 if (other.hasMipCheckPrecision()) {
12627 setMipCheckPrecision(other.getMipCheckPrecision());
12628 }
12629 if (other.hasMipComputeTrueObjectiveBound()) {
12630 setMipComputeTrueObjectiveBound(other.getMipComputeTrueObjectiveBound());
12631 }
12632 if (other.hasMipMaxValidMagnitude()) {
12633 setMipMaxValidMagnitude(other.getMipMaxValidMagnitude());
12634 }
12635 this.mergeUnknownFields(other.unknownFields);
12636 onChanged();
12637 return this;
12638 }
12639
12640 @java.lang.Override
12641 public final boolean isInitialized() {
12642 return true;
12643 }
12644
12645 @java.lang.Override
12647 com.google.protobuf.CodedInputStream input,
12648 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12649 throws java.io.IOException {
12650 com.google.ortools.sat.SatParameters parsedMessage = null;
12651 try {
12652 parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
12653 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12654 parsedMessage = (com.google.ortools.sat.SatParameters) e.getUnfinishedMessage();
12655 throw e.unwrapIOException();
12656 } finally {
12657 if (parsedMessage != null) {
12658 mergeFrom(parsedMessage);
12659 }
12660 }
12661 return this;
12662 }
12663 private int bitField0_;
12664 private int bitField1_;
12665 private int bitField2_;
12666 private int bitField3_;
12667 private int bitField4_;
12668 private int bitField5_;
12669
12670 private java.lang.Object name_ = "";
12680 public boolean hasName() {
12681 return ((bitField0_ & 0x00000001) != 0);
12682 }
12692 public java.lang.String getName() {
12693 java.lang.Object ref = name_;
12694 if (!(ref instanceof java.lang.String)) {
12695 com.google.protobuf.ByteString bs =
12696 (com.google.protobuf.ByteString) ref;
12697 java.lang.String s = bs.toStringUtf8();
12698 if (bs.isValidUtf8()) {
12699 name_ = s;
12700 }
12701 return s;
12702 } else {
12703 return (java.lang.String) ref;
12704 }
12705 }
12715 public com.google.protobuf.ByteString
12717 java.lang.Object ref = name_;
12718 if (ref instanceof String) {
12719 com.google.protobuf.ByteString b =
12720 com.google.protobuf.ByteString.copyFromUtf8(
12721 (java.lang.String) ref);
12722 name_ = b;
12723 return b;
12724 } else {
12725 return (com.google.protobuf.ByteString) ref;
12726 }
12727 }
12739 java.lang.String value) {
12740 if (value == null) {
12741 throw new NullPointerException();
12742 }
12743 bitField0_ |= 0x00000001;
12744 name_ = value;
12745 onChanged();
12746 return this;
12747 }
12758 bitField0_ = (bitField0_ & ~0x00000001);
12759 name_ = getDefaultInstance().getName();
12760 onChanged();
12761 return this;
12762 }
12774 com.google.protobuf.ByteString value) {
12775 if (value == null) {
12776 throw new NullPointerException();
12777 }
12778 bitField0_ |= 0x00000001;
12779 name_ = value;
12780 onChanged();
12781 return this;
12782 }
12783
12784 private int preferredVariableOrder_ = 0;
12789 @java.lang.Override public boolean hasPreferredVariableOrder() {
12790 return ((bitField0_ & 0x00000002) != 0);
12791 }
12796 @java.lang.Override
12797 public com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder() {
12798 @SuppressWarnings("deprecation")
12799 com.google.ortools.sat.SatParameters.VariableOrder result = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(preferredVariableOrder_);
12800 return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
12801 }
12807 public Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value) {
12808 if (value == null) {
12809 throw new NullPointerException();
12810 }
12811 bitField0_ |= 0x00000002;
12812 preferredVariableOrder_ = value.getNumber();
12813 onChanged();
12814 return this;
12815 }
12821 bitField0_ = (bitField0_ & ~0x00000002);
12822 preferredVariableOrder_ = 0;
12823 onChanged();
12824 return this;
12825 }
12826
12827 private int initialPolarity_ = 1;
12832 @java.lang.Override public boolean hasInitialPolarity() {
12833 return ((bitField0_ & 0x00000004) != 0);
12834 }
12839 @java.lang.Override
12840 public com.google.ortools.sat.SatParameters.Polarity getInitialPolarity() {
12841 @SuppressWarnings("deprecation")
12842 com.google.ortools.sat.SatParameters.Polarity result = com.google.ortools.sat.SatParameters.Polarity.valueOf(initialPolarity_);
12843 return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
12844 }
12850 public Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value) {
12851 if (value == null) {
12852 throw new NullPointerException();
12853 }
12854 bitField0_ |= 0x00000004;
12855 initialPolarity_ = value.getNumber();
12856 onChanged();
12857 return this;
12858 }
12864 bitField0_ = (bitField0_ & ~0x00000004);
12865 initialPolarity_ = 1;
12866 onChanged();
12867 return this;
12868 }
12869
12870 private boolean usePhaseSaving_ = true;
12887 @java.lang.Override
12888 public boolean hasUsePhaseSaving() {
12889 return ((bitField0_ & 0x00000008) != 0);
12890 }
12907 @java.lang.Override
12908 public boolean getUsePhaseSaving() {
12909 return usePhaseSaving_;
12910 }
12928 public Builder setUsePhaseSaving(boolean value) {
12929 bitField0_ |= 0x00000008;
12930 usePhaseSaving_ = value;
12931 onChanged();
12932 return this;
12933 }
12951 bitField0_ = (bitField0_ & ~0x00000008);
12952 usePhaseSaving_ = true;
12953 onChanged();
12954 return this;
12955 }
12956
12957 private int polarityRephaseIncrement_ = 1000;
12968 @java.lang.Override
12970 return ((bitField0_ & 0x00000010) != 0);
12971 }
12982 @java.lang.Override
12984 return polarityRephaseIncrement_;
12985 }
12998 bitField0_ |= 0x00000010;
12999 polarityRephaseIncrement_ = value;
13000 onChanged();
13001 return this;
13002 }
13014 bitField0_ = (bitField0_ & ~0x00000010);
13015 polarityRephaseIncrement_ = 1000;
13016 onChanged();
13017 return this;
13018 }
13019
13020 private double randomPolarityRatio_ ;
13033 @java.lang.Override
13034 public boolean hasRandomPolarityRatio() {
13035 return ((bitField0_ & 0x00000020) != 0);
13036 }
13049 @java.lang.Override
13050 public double getRandomPolarityRatio() {
13051 return randomPolarityRatio_;
13052 }
13066 public Builder setRandomPolarityRatio(double value) {
13067 bitField0_ |= 0x00000020;
13068 randomPolarityRatio_ = value;
13069 onChanged();
13070 return this;
13071 }
13085 bitField0_ = (bitField0_ & ~0x00000020);
13086 randomPolarityRatio_ = 0D;
13087 onChanged();
13088 return this;
13089 }
13090
13091 private double randomBranchesRatio_ ;
13102 @java.lang.Override
13103 public boolean hasRandomBranchesRatio() {
13104 return ((bitField0_ & 0x00000040) != 0);
13105 }
13116 @java.lang.Override
13117 public double getRandomBranchesRatio() {
13118 return randomBranchesRatio_;
13119 }
13131 public Builder setRandomBranchesRatio(double value) {
13132 bitField0_ |= 0x00000040;
13133 randomBranchesRatio_ = value;
13134 onChanged();
13135 return this;
13136 }
13148 bitField0_ = (bitField0_ & ~0x00000040);
13149 randomBranchesRatio_ = 0D;
13150 onChanged();
13151 return this;
13152 }
13153
13154 private boolean useErwaHeuristic_ ;
13165 @java.lang.Override
13166 public boolean hasUseErwaHeuristic() {
13167 return ((bitField0_ & 0x00000080) != 0);
13168 }
13179 @java.lang.Override
13180 public boolean getUseErwaHeuristic() {
13181 return useErwaHeuristic_;
13182 }
13194 public Builder setUseErwaHeuristic(boolean value) {
13195 bitField0_ |= 0x00000080;
13196 useErwaHeuristic_ = value;
13197 onChanged();
13198 return this;
13199 }
13211 bitField0_ = (bitField0_ & ~0x00000080);
13212 useErwaHeuristic_ = false;
13213 onChanged();
13214 return this;
13215 }
13216
13217 private double initialVariablesActivity_ ;
13231 @java.lang.Override
13233 return ((bitField0_ & 0x00000100) != 0);
13234 }
13248 @java.lang.Override
13250 return initialVariablesActivity_;
13251 }
13267 bitField0_ |= 0x00000100;
13268 initialVariablesActivity_ = value;
13269 onChanged();
13270 return this;
13271 }
13286 bitField0_ = (bitField0_ & ~0x00000100);
13287 initialVariablesActivity_ = 0D;
13288 onChanged();
13289 return this;
13290 }
13291
13292 private boolean alsoBumpVariablesInConflictReasons_ ;
13304 @java.lang.Override
13306 return ((bitField0_ & 0x00000200) != 0);
13307 }
13319 @java.lang.Override
13321 return alsoBumpVariablesInConflictReasons_;
13322 }
13336 bitField0_ |= 0x00000200;
13337 alsoBumpVariablesInConflictReasons_ = value;
13338 onChanged();
13339 return this;
13340 }
13353 bitField0_ = (bitField0_ & ~0x00000200);
13354 alsoBumpVariablesInConflictReasons_ = false;
13355 onChanged();
13356 return this;
13357 }
13358
13359 private int minimizationAlgorithm_ = 2;
13364 @java.lang.Override public boolean hasMinimizationAlgorithm() {
13365 return ((bitField0_ & 0x00000400) != 0);
13366 }
13371 @java.lang.Override
13372 public com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm() {
13373 @SuppressWarnings("deprecation")
13374 com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm result = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(minimizationAlgorithm_);
13375 return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
13376 }
13382 public Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value) {
13383 if (value == null) {
13384 throw new NullPointerException();
13385 }
13386 bitField0_ |= 0x00000400;
13387 minimizationAlgorithm_ = value.getNumber();
13388 onChanged();
13389 return this;
13390 }
13396 bitField0_ = (bitField0_ & ~0x00000400);
13397 minimizationAlgorithm_ = 2;
13398 onChanged();
13399 return this;
13400 }
13401
13402 private int binaryMinimizationAlgorithm_ = 1;
13407 @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
13408 return ((bitField0_ & 0x00000800) != 0);
13409 }
13414 @java.lang.Override
13415 public com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm() {
13416 @SuppressWarnings("deprecation")
13417 com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm result = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(binaryMinimizationAlgorithm_);
13418 return result == null ? com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.BINARY_MINIMIZATION_FIRST : result;
13419 }
13425 public Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value) {
13426 if (value == null) {
13427 throw new NullPointerException();
13428 }
13429 bitField0_ |= 0x00000800;
13430 binaryMinimizationAlgorithm_ = value.getNumber();
13431 onChanged();
13432 return this;
13433 }
13439 bitField0_ = (bitField0_ & ~0x00000800);
13440 binaryMinimizationAlgorithm_ = 1;
13441 onChanged();
13442 return this;
13443 }
13444
13445 private boolean subsumptionDuringConflictAnalysis_ = true;
13457 @java.lang.Override
13459 return ((bitField0_ & 0x00001000) != 0);
13460 }
13472 @java.lang.Override
13474 return subsumptionDuringConflictAnalysis_;
13475 }
13489 bitField0_ |= 0x00001000;
13490 subsumptionDuringConflictAnalysis_ = value;
13491 onChanged();
13492 return this;
13493 }
13506 bitField0_ = (bitField0_ & ~0x00001000);
13507 subsumptionDuringConflictAnalysis_ = true;
13508 onChanged();
13509 return this;
13510 }
13511
13512 private int clauseCleanupPeriod_ = 10000;
13521 @java.lang.Override
13522 public boolean hasClauseCleanupPeriod() {
13523 return ((bitField0_ & 0x00002000) != 0);
13524 }
13533 @java.lang.Override
13535 return clauseCleanupPeriod_;
13536 }
13547 bitField0_ |= 0x00002000;
13548 clauseCleanupPeriod_ = value;
13549 onChanged();
13550 return this;
13551 }
13561 bitField0_ = (bitField0_ & ~0x00002000);
13562 clauseCleanupPeriod_ = 10000;
13563 onChanged();
13564 return this;
13565 }
13566
13567 private int clauseCleanupTarget_ ;
13577 @java.lang.Override
13578 public boolean hasClauseCleanupTarget() {
13579 return ((bitField0_ & 0x00004000) != 0);
13580 }
13590 @java.lang.Override
13592 return clauseCleanupTarget_;
13593 }
13605 bitField0_ |= 0x00004000;
13606 clauseCleanupTarget_ = value;
13607 onChanged();
13608 return this;
13609 }
13620 bitField0_ = (bitField0_ & ~0x00004000);
13621 clauseCleanupTarget_ = 0;
13622 onChanged();
13623 return this;
13624 }
13625
13626 private double clauseCleanupRatio_ = 0.5D;
13637 @java.lang.Override
13638 public boolean hasClauseCleanupRatio() {
13639 return ((bitField0_ & 0x00008000) != 0);
13640 }
13651 @java.lang.Override
13652 public double getClauseCleanupRatio() {
13653 return clauseCleanupRatio_;
13654 }
13666 public Builder setClauseCleanupRatio(double value) {
13667 bitField0_ |= 0x00008000;
13668 clauseCleanupRatio_ = value;
13669 onChanged();
13670 return this;
13671 }
13683 bitField0_ = (bitField0_ & ~0x00008000);
13684 clauseCleanupRatio_ = 0.5D;
13685 onChanged();
13686 return this;
13687 }
13688
13689 private int clauseCleanupProtection_ = 0;
13694 @java.lang.Override public boolean hasClauseCleanupProtection() {
13695 return ((bitField0_ & 0x00010000) != 0);
13696 }
13701 @java.lang.Override
13702 public com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection() {
13703 @SuppressWarnings("deprecation")
13704 com.google.ortools.sat.SatParameters.ClauseProtection result = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(clauseCleanupProtection_);
13705 return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
13706 }
13712 public Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value) {
13713 if (value == null) {
13714 throw new NullPointerException();
13715 }
13716 bitField0_ |= 0x00010000;
13717 clauseCleanupProtection_ = value.getNumber();
13718 onChanged();
13719 return this;
13720 }
13726 bitField0_ = (bitField0_ & ~0x00010000);
13727 clauseCleanupProtection_ = 0;
13728 onChanged();
13729 return this;
13730 }
13731
13732 private int clauseCleanupLbdBound_ = 5;
13742 @java.lang.Override
13743 public boolean hasClauseCleanupLbdBound() {
13744 return ((bitField0_ & 0x00020000) != 0);
13745 }
13755 @java.lang.Override
13757 return clauseCleanupLbdBound_;
13758 }
13770 bitField0_ |= 0x00020000;
13771 clauseCleanupLbdBound_ = value;
13772 onChanged();
13773 return this;
13774 }
13785 bitField0_ = (bitField0_ & ~0x00020000);
13786 clauseCleanupLbdBound_ = 5;
13787 onChanged();
13788 return this;
13789 }
13790
13791 private int clauseCleanupOrdering_ = 0;
13796 @java.lang.Override public boolean hasClauseCleanupOrdering() {
13797 return ((bitField0_ & 0x00040000) != 0);
13798 }
13803 @java.lang.Override
13804 public com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering() {
13805 @SuppressWarnings("deprecation")
13806 com.google.ortools.sat.SatParameters.ClauseOrdering result = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(clauseCleanupOrdering_);
13807 return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
13808 }
13814 public Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value) {
13815 if (value == null) {
13816 throw new NullPointerException();
13817 }
13818 bitField0_ |= 0x00040000;
13819 clauseCleanupOrdering_ = value.getNumber();
13820 onChanged();
13821 return this;
13822 }
13828 bitField0_ = (bitField0_ & ~0x00040000);
13829 clauseCleanupOrdering_ = 0;
13830 onChanged();
13831 return this;
13832 }
13833
13834 private int pbCleanupIncrement_ = 200;
13843 @java.lang.Override
13844 public boolean hasPbCleanupIncrement() {
13845 return ((bitField0_ & 0x00080000) != 0);
13846 }
13855 @java.lang.Override
13857 return pbCleanupIncrement_;
13858 }
13868 public Builder setPbCleanupIncrement(int value) {
13869 bitField0_ |= 0x00080000;
13870 pbCleanupIncrement_ = value;
13871 onChanged();
13872 return this;
13873 }
13883 bitField0_ = (bitField0_ & ~0x00080000);
13884 pbCleanupIncrement_ = 200;
13885 onChanged();
13886 return this;
13887 }
13888
13889 private double pbCleanupRatio_ = 0.5D;
13894 @java.lang.Override
13895 public boolean hasPbCleanupRatio() {
13896 return ((bitField0_ & 0x00100000) != 0);
13897 }
13902 @java.lang.Override
13903 public double getPbCleanupRatio() {
13904 return pbCleanupRatio_;
13905 }
13911 public Builder setPbCleanupRatio(double value) {
13912 bitField0_ |= 0x00100000;
13913 pbCleanupRatio_ = value;
13914 onChanged();
13915 return this;
13916 }
13922 bitField0_ = (bitField0_ & ~0x00100000);
13923 pbCleanupRatio_ = 0.5D;
13924 onChanged();
13925 return this;
13926 }
13927
13928 private int minimizeWithPropagationRestartPeriod_ = 10;
13947 @java.lang.Override
13949 return ((bitField0_ & 0x00200000) != 0);
13950 }
13969 @java.lang.Override
13971 return minimizeWithPropagationRestartPeriod_;
13972 }
13993 bitField0_ |= 0x00200000;
13994 minimizeWithPropagationRestartPeriod_ = value;
13995 onChanged();
13996 return this;
13997 }
14017 bitField0_ = (bitField0_ & ~0x00200000);
14018 minimizeWithPropagationRestartPeriod_ = 10;
14019 onChanged();
14020 return this;
14021 }
14022
14023 private int minimizeWithPropagationNumDecisions_ = 1000;
14028 @java.lang.Override
14030 return ((bitField0_ & 0x00400000) != 0);
14031 }
14036 @java.lang.Override
14038 return minimizeWithPropagationNumDecisions_;
14039 }
14046 bitField0_ |= 0x00400000;
14047 minimizeWithPropagationNumDecisions_ = value;
14048 onChanged();
14049 return this;
14050 }
14056 bitField0_ = (bitField0_ & ~0x00400000);
14057 minimizeWithPropagationNumDecisions_ = 1000;
14058 onChanged();
14059 return this;
14060 }
14061
14062 private double variableActivityDecay_ = 0.8D;
14077 @java.lang.Override
14078 public boolean hasVariableActivityDecay() {
14079 return ((bitField0_ & 0x00800000) != 0);
14080 }
14095 @java.lang.Override
14097 return variableActivityDecay_;
14098 }
14114 public Builder setVariableActivityDecay(double value) {
14115 bitField0_ |= 0x00800000;
14116 variableActivityDecay_ = value;
14117 onChanged();
14118 return this;
14119 }
14135 bitField0_ = (bitField0_ & ~0x00800000);
14136 variableActivityDecay_ = 0.8D;
14137 onChanged();
14138 return this;
14139 }
14140
14141 private double maxVariableActivityValue_ = 1e+100D;
14146 @java.lang.Override
14148 return ((bitField0_ & 0x01000000) != 0);
14149 }
14154 @java.lang.Override
14156 return maxVariableActivityValue_;
14157 }
14164 bitField0_ |= 0x01000000;
14165 maxVariableActivityValue_ = value;
14166 onChanged();
14167 return this;
14168 }
14174 bitField0_ = (bitField0_ & ~0x01000000);
14175 maxVariableActivityValue_ = 1e+100D;
14176 onChanged();
14177 return this;
14178 }
14179
14180 private double glucoseMaxDecay_ = 0.95D;
14192 @java.lang.Override
14193 public boolean hasGlucoseMaxDecay() {
14194 return ((bitField0_ & 0x02000000) != 0);
14195 }
14207 @java.lang.Override
14208 public double getGlucoseMaxDecay() {
14209 return glucoseMaxDecay_;
14210 }
14223 public Builder setGlucoseMaxDecay(double value) {
14224 bitField0_ |= 0x02000000;
14225 glucoseMaxDecay_ = value;
14226 onChanged();
14227 return this;
14228 }
14241 bitField0_ = (bitField0_ & ~0x02000000);
14242 glucoseMaxDecay_ = 0.95D;
14243 onChanged();
14244 return this;
14245 }
14246
14247 private double glucoseDecayIncrement_ = 0.01D;
14252 @java.lang.Override
14253 public boolean hasGlucoseDecayIncrement() {
14254 return ((bitField0_ & 0x04000000) != 0);
14255 }
14260 @java.lang.Override
14262 return glucoseDecayIncrement_;
14263 }
14269 public Builder setGlucoseDecayIncrement(double value) {
14270 bitField0_ |= 0x04000000;
14271 glucoseDecayIncrement_ = value;
14272 onChanged();
14273 return this;
14274 }
14280 bitField0_ = (bitField0_ & ~0x04000000);
14281 glucoseDecayIncrement_ = 0.01D;
14282 onChanged();
14283 return this;
14284 }
14285
14286 private int glucoseDecayIncrementPeriod_ = 5000;
14291 @java.lang.Override
14293 return ((bitField0_ & 0x08000000) != 0);
14294 }
14299 @java.lang.Override
14301 return glucoseDecayIncrementPeriod_;
14302 }
14309 bitField0_ |= 0x08000000;
14310 glucoseDecayIncrementPeriod_ = value;
14311 onChanged();
14312 return this;
14313 }
14319 bitField0_ = (bitField0_ & ~0x08000000);
14320 glucoseDecayIncrementPeriod_ = 5000;
14321 onChanged();
14322 return this;
14323 }
14324
14325 private double clauseActivityDecay_ = 0.999D;
14334 @java.lang.Override
14335 public boolean hasClauseActivityDecay() {
14336 return ((bitField0_ & 0x10000000) != 0);
14337 }
14346 @java.lang.Override
14347 public double getClauseActivityDecay() {
14348 return clauseActivityDecay_;
14349 }
14359 public Builder setClauseActivityDecay(double value) {
14360 bitField0_ |= 0x10000000;
14361 clauseActivityDecay_ = value;
14362 onChanged();
14363 return this;
14364 }
14374 bitField0_ = (bitField0_ & ~0x10000000);
14375 clauseActivityDecay_ = 0.999D;
14376 onChanged();
14377 return this;
14378 }
14379
14380 private double maxClauseActivityValue_ = 1e+20D;
14385 @java.lang.Override
14386 public boolean hasMaxClauseActivityValue() {
14387 return ((bitField0_ & 0x20000000) != 0);
14388 }
14393 @java.lang.Override
14395 return maxClauseActivityValue_;
14396 }
14402 public Builder setMaxClauseActivityValue(double value) {
14403 bitField0_ |= 0x20000000;
14404 maxClauseActivityValue_ = value;
14405 onChanged();
14406 return this;
14407 }
14413 bitField0_ = (bitField0_ & ~0x20000000);
14414 maxClauseActivityValue_ = 1e+20D;
14415 onChanged();
14416 return this;
14417 }
14418
14419 private java.util.List<java.lang.Integer> restartAlgorithms_ =
14420 java.util.Collections.emptyList();
14421 private void ensureRestartAlgorithmsIsMutable() {
14422 if (!((bitField0_ & 0x40000000) != 0)) {
14423 restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
14424 bitField0_ |= 0x40000000;
14425 }
14426 }
14442 public java.util.List<com.google.ortools.sat.SatParameters.RestartAlgorithm> getRestartAlgorithmsList() {
14443 return new com.google.protobuf.Internal.ListAdapter<
14444 java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
14445 }
14462 return restartAlgorithms_.size();
14463 }
14480 public com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index) {
14481 return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
14482 }
14501 int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
14502 if (value == null) {
14503 throw new NullPointerException();
14504 }
14505 ensureRestartAlgorithmsIsMutable();
14506 restartAlgorithms_.set(index, value.getNumber());
14507 onChanged();
14508 return this;
14509 }
14526 public Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
14527 if (value == null) {
14528 throw new NullPointerException();
14529 }
14530 ensureRestartAlgorithmsIsMutable();
14531 restartAlgorithms_.add(value.getNumber());
14532 onChanged();
14533 return this;
14534 }
14552 java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
14553 ensureRestartAlgorithmsIsMutable();
14554 for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
14555 restartAlgorithms_.add(value.getNumber());
14556 }
14557 onChanged();
14558 return this;
14559 }
14576 restartAlgorithms_ = java.util.Collections.emptyList();
14577 bitField0_ = (bitField0_ & ~0x40000000);
14578 onChanged();
14579 return this;
14580 }
14581
14582 private java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
14588 return ((bitField0_ & 0x80000000) != 0);
14589 }
14594 public java.lang.String getDefaultRestartAlgorithms() {
14595 java.lang.Object ref = defaultRestartAlgorithms_;
14596 if (!(ref instanceof java.lang.String)) {
14597 com.google.protobuf.ByteString bs =
14598 (com.google.protobuf.ByteString) ref;
14599 java.lang.String s = bs.toStringUtf8();
14600 if (bs.isValidUtf8()) {
14601 defaultRestartAlgorithms_ = s;
14602 }
14603 return s;
14604 } else {
14605 return (java.lang.String) ref;
14606 }
14607 }
14612 public com.google.protobuf.ByteString
14614 java.lang.Object ref = defaultRestartAlgorithms_;
14615 if (ref instanceof String) {
14616 com.google.protobuf.ByteString b =
14617 com.google.protobuf.ByteString.copyFromUtf8(
14618 (java.lang.String) ref);
14619 defaultRestartAlgorithms_ = b;
14620 return b;
14621 } else {
14622 return (com.google.protobuf.ByteString) ref;
14623 }
14624 }
14631 java.lang.String value) {
14632 if (value == null) {
14633 throw new NullPointerException();
14634 }
14635 bitField0_ |= 0x80000000;
14636 defaultRestartAlgorithms_ = value;
14637 onChanged();
14638 return this;
14639 }
14645 bitField0_ = (bitField0_ & ~0x80000000);
14646 defaultRestartAlgorithms_ = getDefaultInstance().getDefaultRestartAlgorithms();
14647 onChanged();
14648 return this;
14649 }
14656 com.google.protobuf.ByteString value) {
14657 if (value == null) {
14658 throw new NullPointerException();
14659 }
14660 bitField0_ |= 0x80000000;
14661 defaultRestartAlgorithms_ = value;
14662 onChanged();
14663 return this;
14664 }
14665
14666 private int restartPeriod_ = 50;
14676 @java.lang.Override
14677 public boolean hasRestartPeriod() {
14678 return ((bitField1_ & 0x00000001) != 0);
14679 }
14689 @java.lang.Override
14690 public int getRestartPeriod() {
14691 return restartPeriod_;
14692 }
14703 public Builder setRestartPeriod(int value) {
14704 bitField1_ |= 0x00000001;
14705 restartPeriod_ = value;
14706 onChanged();
14707 return this;
14708 }
14719 bitField1_ = (bitField1_ & ~0x00000001);
14720 restartPeriod_ = 50;
14721 onChanged();
14722 return this;
14723 }
14724
14725 private int restartRunningWindowSize_ = 50;
14734 @java.lang.Override
14736 return ((bitField1_ & 0x00000002) != 0);
14737 }
14746 @java.lang.Override
14748 return restartRunningWindowSize_;
14749 }
14760 bitField1_ |= 0x00000002;
14761 restartRunningWindowSize_ = value;
14762 onChanged();
14763 return this;
14764 }
14774 bitField1_ = (bitField1_ & ~0x00000002);
14775 restartRunningWindowSize_ = 50;
14776 onChanged();
14777 return this;
14778 }
14779
14780 private double restartDlAverageRatio_ = 1D;
14790 @java.lang.Override
14791 public boolean hasRestartDlAverageRatio() {
14792 return ((bitField1_ & 0x00000004) != 0);
14793 }
14803 @java.lang.Override
14805 return restartDlAverageRatio_;
14806 }
14817 public Builder setRestartDlAverageRatio(double value) {
14818 bitField1_ |= 0x00000004;
14819 restartDlAverageRatio_ = value;
14820 onChanged();
14821 return this;
14822 }
14833 bitField1_ = (bitField1_ & ~0x00000004);
14834 restartDlAverageRatio_ = 1D;
14835 onChanged();
14836 return this;
14837 }
14838
14839 private double restartLbdAverageRatio_ = 1D;
14844 @java.lang.Override
14845 public boolean hasRestartLbdAverageRatio() {
14846 return ((bitField1_ & 0x00000008) != 0);
14847 }
14852 @java.lang.Override
14854 return restartLbdAverageRatio_;
14855 }
14861 public Builder setRestartLbdAverageRatio(double value) {
14862 bitField1_ |= 0x00000008;
14863 restartLbdAverageRatio_ = value;
14864 onChanged();
14865 return this;
14866 }
14872 bitField1_ = (bitField1_ & ~0x00000008);
14873 restartLbdAverageRatio_ = 1D;
14874 onChanged();
14875 return this;
14876 }
14877
14878 private boolean useBlockingRestart_ ;
14889 @java.lang.Override
14890 public boolean hasUseBlockingRestart() {
14891 return ((bitField1_ & 0x00000010) != 0);
14892 }
14903 @java.lang.Override
14904 public boolean getUseBlockingRestart() {
14905 return useBlockingRestart_;
14906 }
14918 public Builder setUseBlockingRestart(boolean value) {
14919 bitField1_ |= 0x00000010;
14920 useBlockingRestart_ = value;
14921 onChanged();
14922 return this;
14923 }
14935 bitField1_ = (bitField1_ & ~0x00000010);
14936 useBlockingRestart_ = false;
14937 onChanged();
14938 return this;
14939 }
14940
14941 private int blockingRestartWindowSize_ = 5000;
14946 @java.lang.Override
14948 return ((bitField1_ & 0x00000020) != 0);
14949 }
14954 @java.lang.Override
14956 return blockingRestartWindowSize_;
14957 }
14964 bitField1_ |= 0x00000020;
14965 blockingRestartWindowSize_ = value;
14966 onChanged();
14967 return this;
14968 }
14974 bitField1_ = (bitField1_ & ~0x00000020);
14975 blockingRestartWindowSize_ = 5000;
14976 onChanged();
14977 return this;
14978 }
14979
14980 private double blockingRestartMultiplier_ = 1.4D;
14985 @java.lang.Override
14987 return ((bitField1_ & 0x00000040) != 0);
14988 }
14993 @java.lang.Override
14995 return blockingRestartMultiplier_;
14996 }
15003 bitField1_ |= 0x00000040;
15004 blockingRestartMultiplier_ = value;
15005 onChanged();
15006 return this;
15007 }
15013 bitField1_ = (bitField1_ & ~0x00000040);
15014 blockingRestartMultiplier_ = 1.4D;
15015 onChanged();
15016 return this;
15017 }
15018
15019 private int numConflictsBeforeStrategyChanges_ ;
15030 @java.lang.Override
15032 return ((bitField1_ & 0x00000080) != 0);
15033 }
15044 @java.lang.Override
15046 return numConflictsBeforeStrategyChanges_;
15047 }
15060 bitField1_ |= 0x00000080;
15061 numConflictsBeforeStrategyChanges_ = value;
15062 onChanged();
15063 return this;
15064 }
15076 bitField1_ = (bitField1_ & ~0x00000080);
15077 numConflictsBeforeStrategyChanges_ = 0;
15078 onChanged();
15079 return this;
15080 }
15081
15082 private double strategyChangeIncreaseRatio_ ;
15092 @java.lang.Override
15094 return ((bitField1_ & 0x00000100) != 0);
15095 }
15105 @java.lang.Override
15107 return strategyChangeIncreaseRatio_;
15108 }
15120 bitField1_ |= 0x00000100;
15121 strategyChangeIncreaseRatio_ = value;
15122 onChanged();
15123 return this;
15124 }
15135 bitField1_ = (bitField1_ & ~0x00000100);
15136 strategyChangeIncreaseRatio_ = 0D;
15137 onChanged();
15138 return this;
15139 }
15140
15141 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
15151 @java.lang.Override
15152 public boolean hasMaxTimeInSeconds() {
15153 return ((bitField1_ & 0x00000200) != 0);
15154 }
15164 @java.lang.Override
15165 public double getMaxTimeInSeconds() {
15166 return maxTimeInSeconds_;
15167 }
15178 public Builder setMaxTimeInSeconds(double value) {
15179 bitField1_ |= 0x00000200;
15180 maxTimeInSeconds_ = value;
15181 onChanged();
15182 return this;
15183 }
15194 bitField1_ = (bitField1_ & ~0x00000200);
15195 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
15196 onChanged();
15197 return this;
15198 }
15199
15200 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
15211 @java.lang.Override
15212 public boolean hasMaxDeterministicTime() {
15213 return ((bitField1_ & 0x00000400) != 0);
15214 }
15225 @java.lang.Override
15226 public double getMaxDeterministicTime() {
15227 return maxDeterministicTime_;
15228 }
15240 public Builder setMaxDeterministicTime(double value) {
15241 bitField1_ |= 0x00000400;
15242 maxDeterministicTime_ = value;
15243 onChanged();
15244 return this;
15245 }
15257 bitField1_ = (bitField1_ & ~0x00000400);
15258 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
15259 onChanged();
15260 return this;
15261 }
15262
15263 private long maxNumberOfConflicts_ = 9223372036854775807L;
15277 @java.lang.Override
15278 public boolean hasMaxNumberOfConflicts() {
15279 return ((bitField1_ & 0x00000800) != 0);
15280 }
15294 @java.lang.Override
15296 return maxNumberOfConflicts_;
15297 }
15313 bitField1_ |= 0x00000800;
15314 maxNumberOfConflicts_ = value;
15315 onChanged();
15316 return this;
15317 }
15332 bitField1_ = (bitField1_ & ~0x00000800);
15333 maxNumberOfConflicts_ = 9223372036854775807L;
15334 onChanged();
15335 return this;
15336 }
15337
15338 private long maxMemoryInMb_ = 10000L;
15351 @java.lang.Override
15352 public boolean hasMaxMemoryInMb() {
15353 return ((bitField1_ & 0x00001000) != 0);
15354 }
15367 @java.lang.Override
15368 public long getMaxMemoryInMb() {
15369 return maxMemoryInMb_;
15370 }
15384 public Builder setMaxMemoryInMb(long value) {
15385 bitField1_ |= 0x00001000;
15386 maxMemoryInMb_ = value;
15387 onChanged();
15388 return this;
15389 }
15403 bitField1_ = (bitField1_ & ~0x00001000);
15404 maxMemoryInMb_ = 10000L;
15405 onChanged();
15406 return this;
15407 }
15408
15409 private double absoluteGapLimit_ = 0.0001D;
15432 @java.lang.Override
15433 public boolean hasAbsoluteGapLimit() {
15434 return ((bitField1_ & 0x00002000) != 0);
15435 }
15458 @java.lang.Override
15459 public double getAbsoluteGapLimit() {
15460 return absoluteGapLimit_;
15461 }
15485 public Builder setAbsoluteGapLimit(double value) {
15486 bitField1_ |= 0x00002000;
15487 absoluteGapLimit_ = value;
15488 onChanged();
15489 return this;
15490 }
15514 bitField1_ = (bitField1_ & ~0x00002000);
15515 absoluteGapLimit_ = 0.0001D;
15516 onChanged();
15517 return this;
15518 }
15519
15520 private double relativeGapLimit_ ;
15525 @java.lang.Override
15526 public boolean hasRelativeGapLimit() {
15527 return ((bitField1_ & 0x00004000) != 0);
15528 }
15533 @java.lang.Override
15534 public double getRelativeGapLimit() {
15535 return relativeGapLimit_;
15536 }
15542 public Builder setRelativeGapLimit(double value) {
15543 bitField1_ |= 0x00004000;
15544 relativeGapLimit_ = value;
15545 onChanged();
15546 return this;
15547 }
15553 bitField1_ = (bitField1_ & ~0x00004000);
15554 relativeGapLimit_ = 0D;
15555 onChanged();
15556 return this;
15557 }
15558
15559 private boolean treatBinaryClausesSeparately_ = true;
15570 @java.lang.Override
15572 return ((bitField1_ & 0x00008000) != 0);
15573 }
15584 @java.lang.Override
15586 return treatBinaryClausesSeparately_;
15587 }
15600 bitField1_ |= 0x00008000;
15601 treatBinaryClausesSeparately_ = value;
15602 onChanged();
15603 return this;
15604 }
15616 bitField1_ = (bitField1_ & ~0x00008000);
15617 treatBinaryClausesSeparately_ = true;
15618 onChanged();
15619 return this;
15620 }
15621
15622 private int randomSeed_ = 1;
15636 @java.lang.Override
15637 public boolean hasRandomSeed() {
15638 return ((bitField1_ & 0x00010000) != 0);
15639 }
15653 @java.lang.Override
15654 public int getRandomSeed() {
15655 return randomSeed_;
15656 }
15671 public Builder setRandomSeed(int value) {
15672 bitField1_ |= 0x00010000;
15673 randomSeed_ = value;
15674 onChanged();
15675 return this;
15676 }
15691 bitField1_ = (bitField1_ & ~0x00010000);
15692 randomSeed_ = 1;
15693 onChanged();
15694 return this;
15695 }
15696
15697 private boolean permuteVariableRandomly_ ;
15709 @java.lang.Override
15711 return ((bitField1_ & 0x00020000) != 0);
15712 }
15724 @java.lang.Override
15726 return permuteVariableRandomly_;
15727 }
15740 public Builder setPermuteVariableRandomly(boolean value) {
15741 bitField1_ |= 0x00020000;
15742 permuteVariableRandomly_ = value;
15743 onChanged();
15744 return this;
15745 }
15758 bitField1_ = (bitField1_ & ~0x00020000);
15759 permuteVariableRandomly_ = false;
15760 onChanged();
15761 return this;
15762 }
15763
15764 private boolean permutePresolveConstraintOrder_ ;
15769 @java.lang.Override
15771 return ((bitField1_ & 0x00040000) != 0);
15772 }
15777 @java.lang.Override
15779 return permutePresolveConstraintOrder_;
15780 }
15787 bitField1_ |= 0x00040000;
15788 permutePresolveConstraintOrder_ = value;
15789 onChanged();
15790 return this;
15791 }
15797 bitField1_ = (bitField1_ & ~0x00040000);
15798 permutePresolveConstraintOrder_ = false;
15799 onChanged();
15800 return this;
15801 }
15802
15803 private boolean useAbslRandom_ ;
15808 @java.lang.Override
15809 public boolean hasUseAbslRandom() {
15810 return ((bitField1_ & 0x00080000) != 0);
15811 }
15816 @java.lang.Override
15817 public boolean getUseAbslRandom() {
15818 return useAbslRandom_;
15819 }
15825 public Builder setUseAbslRandom(boolean value) {
15826 bitField1_ |= 0x00080000;
15827 useAbslRandom_ = value;
15828 onChanged();
15829 return this;
15830 }
15836 bitField1_ = (bitField1_ & ~0x00080000);
15837 useAbslRandom_ = false;
15838 onChanged();
15839 return this;
15840 }
15841
15842 private boolean logSearchProgress_ ;
15852 @java.lang.Override
15853 public boolean hasLogSearchProgress() {
15854 return ((bitField1_ & 0x00100000) != 0);
15855 }
15865 @java.lang.Override
15866 public boolean getLogSearchProgress() {
15867 return logSearchProgress_;
15868 }
15879 public Builder setLogSearchProgress(boolean value) {
15880 bitField1_ |= 0x00100000;
15881 logSearchProgress_ = value;
15882 onChanged();
15883 return this;
15884 }
15895 bitField1_ = (bitField1_ & ~0x00100000);
15896 logSearchProgress_ = false;
15897 onChanged();
15898 return this;
15899 }
15900
15901 private boolean logSubsolverStatistics_ = true;
15912 @java.lang.Override
15913 public boolean hasLogSubsolverStatistics() {
15914 return ((bitField1_ & 0x00200000) != 0);
15915 }
15926 @java.lang.Override
15927 public boolean getLogSubsolverStatistics() {
15928 return logSubsolverStatistics_;
15929 }
15941 public Builder setLogSubsolverStatistics(boolean value) {
15942 bitField1_ |= 0x00200000;
15943 logSubsolverStatistics_ = value;
15944 onChanged();
15945 return this;
15946 }
15958 bitField1_ = (bitField1_ & ~0x00200000);
15959 logSubsolverStatistics_ = true;
15960 onChanged();
15961 return this;
15962 }
15963
15964 private java.lang.Object logPrefix_ = "";
15973 public boolean hasLogPrefix() {
15974 return ((bitField1_ & 0x00400000) != 0);
15975 }
15984 public java.lang.String getLogPrefix() {
15985 java.lang.Object ref = logPrefix_;
15986 if (!(ref instanceof java.lang.String)) {
15987 com.google.protobuf.ByteString bs =
15988 (com.google.protobuf.ByteString) ref;
15989 java.lang.String s = bs.toStringUtf8();
15990 if (bs.isValidUtf8()) {
15991 logPrefix_ = s;
15992 }
15993 return s;
15994 } else {
15995 return (java.lang.String) ref;
15996 }
15997 }
16006 public com.google.protobuf.ByteString
16008 java.lang.Object ref = logPrefix_;
16009 if (ref instanceof String) {
16010 com.google.protobuf.ByteString b =
16011 com.google.protobuf.ByteString.copyFromUtf8(
16012 (java.lang.String) ref);
16013 logPrefix_ = b;
16014 return b;
16015 } else {
16016 return (com.google.protobuf.ByteString) ref;
16017 }
16018 }
16029 java.lang.String value) {
16030 if (value == null) {
16031 throw new NullPointerException();
16032 }
16033 bitField1_ |= 0x00400000;
16034 logPrefix_ = value;
16035 onChanged();
16036 return this;
16037 }
16047 bitField1_ = (bitField1_ & ~0x00400000);
16048 logPrefix_ = getDefaultInstance().getLogPrefix();
16049 onChanged();
16050 return this;
16051 }
16062 com.google.protobuf.ByteString value) {
16063 if (value == null) {
16064 throw new NullPointerException();
16065 }
16066 bitField1_ |= 0x00400000;
16067 logPrefix_ = value;
16068 onChanged();
16069 return this;
16070 }
16071
16072 private boolean logToStdout_ = true;
16081 @java.lang.Override
16082 public boolean hasLogToStdout() {
16083 return ((bitField1_ & 0x00800000) != 0);
16084 }
16093 @java.lang.Override
16094 public boolean getLogToStdout() {
16095 return logToStdout_;
16096 }
16106 public Builder setLogToStdout(boolean value) {
16107 bitField1_ |= 0x00800000;
16108 logToStdout_ = value;
16109 onChanged();
16110 return this;
16111 }
16121 bitField1_ = (bitField1_ & ~0x00800000);
16122 logToStdout_ = true;
16123 onChanged();
16124 return this;
16125 }
16126
16127 private boolean logToResponse_ ;
16136 @java.lang.Override
16137 public boolean hasLogToResponse() {
16138 return ((bitField1_ & 0x01000000) != 0);
16139 }
16148 @java.lang.Override
16149 public boolean getLogToResponse() {
16150 return logToResponse_;
16151 }
16161 public Builder setLogToResponse(boolean value) {
16162 bitField1_ |= 0x01000000;
16163 logToResponse_ = value;
16164 onChanged();
16165 return this;
16166 }
16176 bitField1_ = (bitField1_ & ~0x01000000);
16177 logToResponse_ = false;
16178 onChanged();
16179 return this;
16180 }
16181
16182 private boolean usePbResolution_ ;
16194 @java.lang.Override
16195 public boolean hasUsePbResolution() {
16196 return ((bitField1_ & 0x02000000) != 0);
16197 }
16209 @java.lang.Override
16210 public boolean getUsePbResolution() {
16211 return usePbResolution_;
16212 }
16225 public Builder setUsePbResolution(boolean value) {
16226 bitField1_ |= 0x02000000;
16227 usePbResolution_ = value;
16228 onChanged();
16229 return this;
16230 }
16243 bitField1_ = (bitField1_ & ~0x02000000);
16244 usePbResolution_ = false;
16245 onChanged();
16246 return this;
16247 }
16248
16249 private boolean minimizeReductionDuringPbResolution_ ;
16261 @java.lang.Override
16263 return ((bitField1_ & 0x04000000) != 0);
16264 }
16276 @java.lang.Override
16278 return minimizeReductionDuringPbResolution_;
16279 }
16293 bitField1_ |= 0x04000000;
16294 minimizeReductionDuringPbResolution_ = value;
16295 onChanged();
16296 return this;
16297 }
16310 bitField1_ = (bitField1_ & ~0x04000000);
16311 minimizeReductionDuringPbResolution_ = false;
16312 onChanged();
16313 return this;
16314 }
16315
16316 private boolean countAssumptionLevelsInLbd_ = true;
16332 @java.lang.Override
16334 return ((bitField1_ & 0x08000000) != 0);
16335 }
16351 @java.lang.Override
16353 return countAssumptionLevelsInLbd_;
16354 }
16372 bitField1_ |= 0x08000000;
16373 countAssumptionLevelsInLbd_ = value;
16374 onChanged();
16375 return this;
16376 }
16393 bitField1_ = (bitField1_ & ~0x08000000);
16394 countAssumptionLevelsInLbd_ = true;
16395 onChanged();
16396 return this;
16397 }
16398
16399 private int presolveBveThreshold_ = 500;
16410 @java.lang.Override
16411 public boolean hasPresolveBveThreshold() {
16412 return ((bitField1_ & 0x10000000) != 0);
16413 }
16424 @java.lang.Override
16426 return presolveBveThreshold_;
16427 }
16440 bitField1_ |= 0x10000000;
16441 presolveBveThreshold_ = value;
16442 onChanged();
16443 return this;
16444 }
16456 bitField1_ = (bitField1_ & ~0x10000000);
16457 presolveBveThreshold_ = 500;
16458 onChanged();
16459 return this;
16460 }
16461
16462 private int presolveBveClauseWeight_ = 3;
16472 @java.lang.Override
16474 return ((bitField1_ & 0x20000000) != 0);
16475 }
16485 @java.lang.Override
16487 return presolveBveClauseWeight_;
16488 }
16500 bitField1_ |= 0x20000000;
16501 presolveBveClauseWeight_ = value;
16502 onChanged();
16503 return this;
16504 }
16515 bitField1_ = (bitField1_ & ~0x20000000);
16516 presolveBveClauseWeight_ = 3;
16517 onChanged();
16518 return this;
16519 }
16520
16521 private double presolveProbingDeterministicTimeLimit_ = 30D;
16531 @java.lang.Override
16533 return ((bitField1_ & 0x40000000) != 0);
16534 }
16544 @java.lang.Override
16546 return presolveProbingDeterministicTimeLimit_;
16547 }
16559 bitField1_ |= 0x40000000;
16560 presolveProbingDeterministicTimeLimit_ = value;
16561 onChanged();
16562 return this;
16563 }
16574 bitField1_ = (bitField1_ & ~0x40000000);
16575 presolveProbingDeterministicTimeLimit_ = 30D;
16576 onChanged();
16577 return this;
16578 }
16579
16580 private boolean presolveBlockedClause_ = true;
16590 @java.lang.Override
16591 public boolean hasPresolveBlockedClause() {
16592 return ((bitField1_ & 0x80000000) != 0);
16593 }
16603 @java.lang.Override
16604 public boolean getPresolveBlockedClause() {
16605 return presolveBlockedClause_;
16606 }
16617 public Builder setPresolveBlockedClause(boolean value) {
16618 bitField1_ |= 0x80000000;
16619 presolveBlockedClause_ = value;
16620 onChanged();
16621 return this;
16622 }
16633 bitField1_ = (bitField1_ & ~0x80000000);
16634 presolveBlockedClause_ = true;
16635 onChanged();
16636 return this;
16637 }
16638
16639 private boolean presolveUseBva_ = true;
16648 @java.lang.Override
16649 public boolean hasPresolveUseBva() {
16650 return ((bitField2_ & 0x00000001) != 0);
16651 }
16660 @java.lang.Override
16661 public boolean getPresolveUseBva() {
16662 return presolveUseBva_;
16663 }
16673 public Builder setPresolveUseBva(boolean value) {
16674 bitField2_ |= 0x00000001;
16675 presolveUseBva_ = value;
16676 onChanged();
16677 return this;
16678 }
16688 bitField2_ = (bitField2_ & ~0x00000001);
16689 presolveUseBva_ = true;
16690 onChanged();
16691 return this;
16692 }
16693
16694 private int presolveBvaThreshold_ = 1;
16706 @java.lang.Override
16707 public boolean hasPresolveBvaThreshold() {
16708 return ((bitField2_ & 0x00000002) != 0);
16709 }
16721 @java.lang.Override
16723 return presolveBvaThreshold_;
16724 }
16738 bitField2_ |= 0x00000002;
16739 presolveBvaThreshold_ = value;
16740 onChanged();
16741 return this;
16742 }
16755 bitField2_ = (bitField2_ & ~0x00000002);
16756 presolveBvaThreshold_ = 1;
16757 onChanged();
16758 return this;
16759 }
16760
16761 private int maxPresolveIterations_ = 3;
16772 @java.lang.Override
16773 public boolean hasMaxPresolveIterations() {
16774 return ((bitField2_ & 0x00000004) != 0);
16775 }
16786 @java.lang.Override
16788 return maxPresolveIterations_;
16789 }
16802 bitField2_ |= 0x00000004;
16803 maxPresolveIterations_ = value;
16804 onChanged();
16805 return this;
16806 }
16818 bitField2_ = (bitField2_ & ~0x00000004);
16819 maxPresolveIterations_ = 3;
16820 onChanged();
16821 return this;
16822 }
16823
16824 private boolean cpModelPresolve_ = true;
16833 @java.lang.Override
16834 public boolean hasCpModelPresolve() {
16835 return ((bitField2_ & 0x00000008) != 0);
16836 }
16845 @java.lang.Override
16846 public boolean getCpModelPresolve() {
16847 return cpModelPresolve_;
16848 }
16858 public Builder setCpModelPresolve(boolean value) {
16859 bitField2_ |= 0x00000008;
16860 cpModelPresolve_ = value;
16861 onChanged();
16862 return this;
16863 }
16873 bitField2_ = (bitField2_ & ~0x00000008);
16874 cpModelPresolve_ = true;
16875 onChanged();
16876 return this;
16877 }
16878
16879 private int cpModelProbingLevel_ = 2;
16888 @java.lang.Override
16889 public boolean hasCpModelProbingLevel() {
16890 return ((bitField2_ & 0x00000010) != 0);
16891 }
16900 @java.lang.Override
16902 return cpModelProbingLevel_;
16903 }
16914 bitField2_ |= 0x00000010;
16915 cpModelProbingLevel_ = value;
16916 onChanged();
16917 return this;
16918 }
16928 bitField2_ = (bitField2_ & ~0x00000010);
16929 cpModelProbingLevel_ = 2;
16930 onChanged();
16931 return this;
16932 }
16933
16934 private boolean cpModelUseSatPresolve_ = true;
16943 @java.lang.Override
16944 public boolean hasCpModelUseSatPresolve() {
16945 return ((bitField2_ & 0x00000020) != 0);
16946 }
16955 @java.lang.Override
16956 public boolean getCpModelUseSatPresolve() {
16957 return cpModelUseSatPresolve_;
16958 }
16968 public Builder setCpModelUseSatPresolve(boolean value) {
16969 bitField2_ |= 0x00000020;
16970 cpModelUseSatPresolve_ = value;
16971 onChanged();
16972 return this;
16973 }
16983 bitField2_ = (bitField2_ & ~0x00000020);
16984 cpModelUseSatPresolve_ = true;
16985 onChanged();
16986 return this;
16987 }
16988
16989 private boolean useSatInprocessing_ ;
16994 @java.lang.Override
16995 public boolean hasUseSatInprocessing() {
16996 return ((bitField2_ & 0x00000040) != 0);
16997 }
17002 @java.lang.Override
17003 public boolean getUseSatInprocessing() {
17004 return useSatInprocessing_;
17005 }
17011 public Builder setUseSatInprocessing(boolean value) {
17012 bitField2_ |= 0x00000040;
17013 useSatInprocessing_ = value;
17014 onChanged();
17015 return this;
17016 }
17022 bitField2_ = (bitField2_ & ~0x00000040);
17023 useSatInprocessing_ = false;
17024 onChanged();
17025 return this;
17026 }
17027
17028 private boolean expandAlldiffConstraints_ ;
17038 @java.lang.Override
17040 return ((bitField2_ & 0x00000080) != 0);
17041 }
17051 @java.lang.Override
17053 return expandAlldiffConstraints_;
17054 }
17065 public Builder setExpandAlldiffConstraints(boolean value) {
17066 bitField2_ |= 0x00000080;
17067 expandAlldiffConstraints_ = value;
17068 onChanged();
17069 return this;
17070 }
17081 bitField2_ = (bitField2_ & ~0x00000080);
17082 expandAlldiffConstraints_ = false;
17083 onChanged();
17084 return this;
17085 }
17086
17087 private boolean disableConstraintExpansion_ ;
17097 @java.lang.Override
17099 return ((bitField2_ & 0x00000100) != 0);
17100 }
17110 @java.lang.Override
17112 return disableConstraintExpansion_;
17113 }
17125 bitField2_ |= 0x00000100;
17126 disableConstraintExpansion_ = value;
17127 onChanged();
17128 return this;
17129 }
17140 bitField2_ = (bitField2_ & ~0x00000100);
17141 disableConstraintExpansion_ = false;
17142 onChanged();
17143 return this;
17144 }
17145
17146 private double mergeNoOverlapWorkLimit_ = 1000000000000D;
17159 @java.lang.Override
17161 return ((bitField2_ & 0x00000200) != 0);
17162 }
17175 @java.lang.Override
17177 return mergeNoOverlapWorkLimit_;
17178 }
17193 bitField2_ |= 0x00000200;
17194 mergeNoOverlapWorkLimit_ = value;
17195 onChanged();
17196 return this;
17197 }
17211 bitField2_ = (bitField2_ & ~0x00000200);
17212 mergeNoOverlapWorkLimit_ = 1000000000000D;
17213 onChanged();
17214 return this;
17215 }
17216
17217 private double mergeAtMostOneWorkLimit_ = 100000000D;
17222 @java.lang.Override
17224 return ((bitField2_ & 0x00000400) != 0);
17225 }
17230 @java.lang.Override
17232 return mergeAtMostOneWorkLimit_;
17233 }
17240 bitField2_ |= 0x00000400;
17241 mergeAtMostOneWorkLimit_ = value;
17242 onChanged();
17243 return this;
17244 }
17250 bitField2_ = (bitField2_ & ~0x00000400);
17251 mergeAtMostOneWorkLimit_ = 100000000D;
17252 onChanged();
17253 return this;
17254 }
17255
17256 private int presolveSubstitutionLevel_ = 1;
17268 @java.lang.Override
17270 return ((bitField2_ & 0x00000800) != 0);
17271 }
17283 @java.lang.Override
17285 return presolveSubstitutionLevel_;
17286 }
17300 bitField2_ |= 0x00000800;
17301 presolveSubstitutionLevel_ = value;
17302 onChanged();
17303 return this;
17304 }
17317 bitField2_ = (bitField2_ & ~0x00000800);
17318 presolveSubstitutionLevel_ = 1;
17319 onChanged();
17320 return this;
17321 }
17322
17323 private boolean presolveExtractIntegerEnforcement_ ;
17337 @java.lang.Override
17339 return ((bitField2_ & 0x00001000) != 0);
17340 }
17354 @java.lang.Override
17356 return presolveExtractIntegerEnforcement_;
17357 }
17373 bitField2_ |= 0x00001000;
17374 presolveExtractIntegerEnforcement_ = value;
17375 onChanged();
17376 return this;
17377 }
17392 bitField2_ = (bitField2_ & ~0x00001000);
17393 presolveExtractIntegerEnforcement_ = false;
17394 onChanged();
17395 return this;
17396 }
17397
17398 private boolean debugPostsolveWithFullSolver_ ;
17409 @java.lang.Override
17411 return ((bitField2_ & 0x00002000) != 0);
17412 }
17423 @java.lang.Override
17425 return debugPostsolveWithFullSolver_;
17426 }
17439 bitField2_ |= 0x00002000;
17440 debugPostsolveWithFullSolver_ = value;
17441 onChanged();
17442 return this;
17443 }
17455 bitField2_ = (bitField2_ & ~0x00002000);
17456 debugPostsolveWithFullSolver_ = false;
17457 onChanged();
17458 return this;
17459 }
17460
17461 private int debugMaxNumPresolveOperations_ ;
17471 @java.lang.Override
17473 return ((bitField2_ & 0x00004000) != 0);
17474 }
17484 @java.lang.Override
17486 return debugMaxNumPresolveOperations_;
17487 }
17499 bitField2_ |= 0x00004000;
17500 debugMaxNumPresolveOperations_ = value;
17501 onChanged();
17502 return this;
17503 }
17514 bitField2_ = (bitField2_ & ~0x00004000);
17515 debugMaxNumPresolveOperations_ = 0;
17516 onChanged();
17517 return this;
17518 }
17519
17520 private boolean debugCrashOnBadHint_ ;
17529 @java.lang.Override
17530 public boolean hasDebugCrashOnBadHint() {
17531 return ((bitField2_ & 0x00008000) != 0);
17532 }
17541 @java.lang.Override
17542 public boolean getDebugCrashOnBadHint() {
17543 return debugCrashOnBadHint_;
17544 }
17554 public Builder setDebugCrashOnBadHint(boolean value) {
17555 bitField2_ |= 0x00008000;
17556 debugCrashOnBadHint_ = value;
17557 onChanged();
17558 return this;
17559 }
17569 bitField2_ = (bitField2_ & ~0x00008000);
17570 debugCrashOnBadHint_ = false;
17571 onChanged();
17572 return this;
17573 }
17574
17575 private boolean useOptimizationHints_ = true;
17587 @java.lang.Override
17588 public boolean hasUseOptimizationHints() {
17589 return ((bitField2_ & 0x00010000) != 0);
17590 }
17602 @java.lang.Override
17603 public boolean getUseOptimizationHints() {
17604 return useOptimizationHints_;
17605 }
17618 public Builder setUseOptimizationHints(boolean value) {
17619 bitField2_ |= 0x00010000;
17620 useOptimizationHints_ = value;
17621 onChanged();
17622 return this;
17623 }
17636 bitField2_ = (bitField2_ & ~0x00010000);
17637 useOptimizationHints_ = true;
17638 onChanged();
17639 return this;
17640 }
17641
17642 private boolean minimizeCore_ = true;
17651 @java.lang.Override
17652 public boolean hasMinimizeCore() {
17653 return ((bitField2_ & 0x00020000) != 0);
17654 }
17663 @java.lang.Override
17664 public boolean getMinimizeCore() {
17665 return minimizeCore_;
17666 }
17676 public Builder setMinimizeCore(boolean value) {
17677 bitField2_ |= 0x00020000;
17678 minimizeCore_ = value;
17679 onChanged();
17680 return this;
17681 }
17691 bitField2_ = (bitField2_ & ~0x00020000);
17692 minimizeCore_ = true;
17693 onChanged();
17694 return this;
17695 }
17696
17697 private boolean findMultipleCores_ = true;
17707 @java.lang.Override
17708 public boolean hasFindMultipleCores() {
17709 return ((bitField2_ & 0x00040000) != 0);
17710 }
17720 @java.lang.Override
17721 public boolean getFindMultipleCores() {
17722 return findMultipleCores_;
17723 }
17734 public Builder setFindMultipleCores(boolean value) {
17735 bitField2_ |= 0x00040000;
17736 findMultipleCores_ = value;
17737 onChanged();
17738 return this;
17739 }
17750 bitField2_ = (bitField2_ & ~0x00040000);
17751 findMultipleCores_ = true;
17752 onChanged();
17753 return this;
17754 }
17755
17756 private boolean coverOptimization_ = true;
17766 @java.lang.Override
17767 public boolean hasCoverOptimization() {
17768 return ((bitField2_ & 0x00080000) != 0);
17769 }
17779 @java.lang.Override
17780 public boolean getCoverOptimization() {
17781 return coverOptimization_;
17782 }
17793 public Builder setCoverOptimization(boolean value) {
17794 bitField2_ |= 0x00080000;
17795 coverOptimization_ = value;
17796 onChanged();
17797 return this;
17798 }
17809 bitField2_ = (bitField2_ & ~0x00080000);
17810 coverOptimization_ = true;
17811 onChanged();
17812 return this;
17813 }
17814
17815 private int maxSatAssumptionOrder_ = 0;
17820 @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
17821 return ((bitField2_ & 0x00100000) != 0);
17822 }
17827 @java.lang.Override
17828 public com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder() {
17829 @SuppressWarnings("deprecation")
17830 com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder result = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(maxSatAssumptionOrder_);
17831 return result == null ? com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.DEFAULT_ASSUMPTION_ORDER : result;
17832 }
17838 public Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value) {
17839 if (value == null) {
17840 throw new NullPointerException();
17841 }
17842 bitField2_ |= 0x00100000;
17843 maxSatAssumptionOrder_ = value.getNumber();
17844 onChanged();
17845 return this;
17846 }
17852 bitField2_ = (bitField2_ & ~0x00100000);
17853 maxSatAssumptionOrder_ = 0;
17854 onChanged();
17855 return this;
17856 }
17857
17858 private boolean maxSatReverseAssumptionOrder_ ;
17868 @java.lang.Override
17870 return ((bitField2_ & 0x00200000) != 0);
17871 }
17881 @java.lang.Override
17883 return maxSatReverseAssumptionOrder_;
17884 }
17896 bitField2_ |= 0x00200000;
17897 maxSatReverseAssumptionOrder_ = value;
17898 onChanged();
17899 return this;
17900 }
17911 bitField2_ = (bitField2_ & ~0x00200000);
17912 maxSatReverseAssumptionOrder_ = false;
17913 onChanged();
17914 return this;
17915 }
17916
17917 private int maxSatStratification_ = 1;
17922 @java.lang.Override public boolean hasMaxSatStratification() {
17923 return ((bitField2_ & 0x00400000) != 0);
17924 }
17929 @java.lang.Override
17930 public com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification() {
17931 @SuppressWarnings("deprecation")
17932 com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm result = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(maxSatStratification_);
17933 return result == null ? com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.STRATIFICATION_DESCENT : result;
17934 }
17940 public Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value) {
17941 if (value == null) {
17942 throw new NullPointerException();
17943 }
17944 bitField2_ |= 0x00400000;
17945 maxSatStratification_ = value.getNumber();
17946 onChanged();
17947 return this;
17948 }
17954 bitField2_ = (bitField2_ & ~0x00400000);
17955 maxSatStratification_ = 1;
17956 onChanged();
17957 return this;
17958 }
17959
17960 private boolean usePrecedencesInDisjunctiveConstraint_ = true;
17976 @java.lang.Override
17978 return ((bitField2_ & 0x00800000) != 0);
17979 }
17995 @java.lang.Override
17997 return usePrecedencesInDisjunctiveConstraint_;
17998 }
18016 bitField2_ |= 0x00800000;
18017 usePrecedencesInDisjunctiveConstraint_ = value;
18018 onChanged();
18019 return this;
18020 }
18037 bitField2_ = (bitField2_ & ~0x00800000);
18038 usePrecedencesInDisjunctiveConstraint_ = true;
18039 onChanged();
18040 return this;
18041 }
18042
18043 private boolean useOverloadCheckerInCumulativeConstraint_ ;
18057 @java.lang.Override
18059 return ((bitField2_ & 0x01000000) != 0);
18060 }
18074 @java.lang.Override
18076 return useOverloadCheckerInCumulativeConstraint_;
18077 }
18093 bitField2_ |= 0x01000000;
18094 useOverloadCheckerInCumulativeConstraint_ = value;
18095 onChanged();
18096 return this;
18097 }
18112 bitField2_ = (bitField2_ & ~0x01000000);
18113 useOverloadCheckerInCumulativeConstraint_ = false;
18114 onChanged();
18115 return this;
18116 }
18117
18118 private boolean useTimetableEdgeFindingInCumulativeConstraint_ ;
18132 @java.lang.Override
18134 return ((bitField2_ & 0x02000000) != 0);
18135 }
18149 @java.lang.Override
18151 return useTimetableEdgeFindingInCumulativeConstraint_;
18152 }
18168 bitField2_ |= 0x02000000;
18169 useTimetableEdgeFindingInCumulativeConstraint_ = value;
18170 onChanged();
18171 return this;
18172 }
18187 bitField2_ = (bitField2_ & ~0x02000000);
18188 useTimetableEdgeFindingInCumulativeConstraint_ = false;
18189 onChanged();
18190 return this;
18191 }
18192
18193 private boolean useDisjunctiveConstraintInCumulativeConstraint_ = true;
18209 @java.lang.Override
18211 return ((bitField2_ & 0x04000000) != 0);
18212 }
18228 @java.lang.Override
18230 return useDisjunctiveConstraintInCumulativeConstraint_;
18231 }
18249 bitField2_ |= 0x04000000;
18250 useDisjunctiveConstraintInCumulativeConstraint_ = value;
18251 onChanged();
18252 return this;
18253 }
18270 bitField2_ = (bitField2_ & ~0x04000000);
18271 useDisjunctiveConstraintInCumulativeConstraint_ = true;
18272 onChanged();
18273 return this;
18274 }
18275
18276 private boolean useCumulativeInNoOverlap2D_ ;
18289 @java.lang.Override
18291 return ((bitField2_ & 0x08000000) != 0);
18292 }
18305 @java.lang.Override
18307 return useCumulativeInNoOverlap2D_;
18308 }
18323 bitField2_ |= 0x08000000;
18324 useCumulativeInNoOverlap2D_ = value;
18325 onChanged();
18326 return this;
18327 }
18341 bitField2_ = (bitField2_ & ~0x08000000);
18342 useCumulativeInNoOverlap2D_ = false;
18343 onChanged();
18344 return this;
18345 }
18346
18347 private int linearizationLevel_ = 1;
18359 @java.lang.Override
18360 public boolean hasLinearizationLevel() {
18361 return ((bitField2_ & 0x10000000) != 0);
18362 }
18374 @java.lang.Override
18376 return linearizationLevel_;
18377 }
18390 public Builder setLinearizationLevel(int value) {
18391 bitField2_ |= 0x10000000;
18392 linearizationLevel_ = value;
18393 onChanged();
18394 return this;
18395 }
18408 bitField2_ = (bitField2_ & ~0x10000000);
18409 linearizationLevel_ = 1;
18410 onChanged();
18411 return this;
18412 }
18413
18414 private int booleanEncodingLevel_ = 1;
18424 @java.lang.Override
18425 public boolean hasBooleanEncodingLevel() {
18426 return ((bitField2_ & 0x20000000) != 0);
18427 }
18437 @java.lang.Override
18439 return booleanEncodingLevel_;
18440 }
18452 bitField2_ |= 0x20000000;
18453 booleanEncodingLevel_ = value;
18454 onChanged();
18455 return this;
18456 }
18467 bitField2_ = (bitField2_ & ~0x20000000);
18468 booleanEncodingLevel_ = 1;
18469 onChanged();
18470 return this;
18471 }
18472
18473 private int maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
18485 @java.lang.Override
18487 return ((bitField2_ & 0x40000000) != 0);
18488 }
18500 @java.lang.Override
18502 return maxDomainSizeWhenEncodingEqNeqConstraints_;
18503 }
18517 bitField2_ |= 0x40000000;
18518 maxDomainSizeWhenEncodingEqNeqConstraints_ = value;
18519 onChanged();
18520 return this;
18521 }
18534 bitField2_ = (bitField2_ & ~0x40000000);
18535 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
18536 onChanged();
18537 return this;
18538 }
18539
18540 private int maxNumCuts_ = 10000;
18552 @java.lang.Override
18553 public boolean hasMaxNumCuts() {
18554 return ((bitField2_ & 0x80000000) != 0);
18555 }
18567 @java.lang.Override
18568 public int getMaxNumCuts() {
18569 return maxNumCuts_;
18570 }
18583 public Builder setMaxNumCuts(int value) {
18584 bitField2_ |= 0x80000000;
18585 maxNumCuts_ = value;
18586 onChanged();
18587 return this;
18588 }
18601 bitField2_ = (bitField2_ & ~0x80000000);
18602 maxNumCuts_ = 10000;
18603 onChanged();
18604 return this;
18605 }
18606
18607 private int cutLevel_ = 1;
18618 @java.lang.Override
18619 public boolean hasCutLevel() {
18620 return ((bitField3_ & 0x00000001) != 0);
18621 }
18632 @java.lang.Override
18633 public int getCutLevel() {
18634 return cutLevel_;
18635 }
18647 public Builder setCutLevel(int value) {
18648 bitField3_ |= 0x00000001;
18649 cutLevel_ = value;
18650 onChanged();
18651 return this;
18652 }
18664 bitField3_ = (bitField3_ & ~0x00000001);
18665 cutLevel_ = 1;
18666 onChanged();
18667 return this;
18668 }
18669
18670 private boolean onlyAddCutsAtLevelZero_ ;
18680 @java.lang.Override
18681 public boolean hasOnlyAddCutsAtLevelZero() {
18682 return ((bitField3_ & 0x00000002) != 0);
18683 }
18693 @java.lang.Override
18694 public boolean getOnlyAddCutsAtLevelZero() {
18695 return onlyAddCutsAtLevelZero_;
18696 }
18707 public Builder setOnlyAddCutsAtLevelZero(boolean value) {
18708 bitField3_ |= 0x00000002;
18709 onlyAddCutsAtLevelZero_ = value;
18710 onChanged();
18711 return this;
18712 }
18723 bitField3_ = (bitField3_ & ~0x00000002);
18724 onlyAddCutsAtLevelZero_ = false;
18725 onChanged();
18726 return this;
18727 }
18728
18729 private boolean addObjectiveCut_ ;
18742 @java.lang.Override
18743 public boolean hasAddObjectiveCut() {
18744 return ((bitField3_ & 0x00000004) != 0);
18745 }
18758 @java.lang.Override
18759 public boolean getAddObjectiveCut() {
18760 return addObjectiveCut_;
18761 }
18775 public Builder setAddObjectiveCut(boolean value) {
18776 bitField3_ |= 0x00000004;
18777 addObjectiveCut_ = value;
18778 onChanged();
18779 return this;
18780 }
18794 bitField3_ = (bitField3_ & ~0x00000004);
18795 addObjectiveCut_ = false;
18796 onChanged();
18797 return this;
18798 }
18799
18800 private boolean addCgCuts_ = true;
18810 @java.lang.Override
18811 public boolean hasAddCgCuts() {
18812 return ((bitField3_ & 0x00000008) != 0);
18813 }
18823 @java.lang.Override
18824 public boolean getAddCgCuts() {
18825 return addCgCuts_;
18826 }
18837 public Builder setAddCgCuts(boolean value) {
18838 bitField3_ |= 0x00000008;
18839 addCgCuts_ = value;
18840 onChanged();
18841 return this;
18842 }
18853 bitField3_ = (bitField3_ & ~0x00000008);
18854 addCgCuts_ = true;
18855 onChanged();
18856 return this;
18857 }
18858
18859 private boolean addMirCuts_ = true;
18869 @java.lang.Override
18870 public boolean hasAddMirCuts() {
18871 return ((bitField3_ & 0x00000010) != 0);
18872 }
18882 @java.lang.Override
18883 public boolean getAddMirCuts() {
18884 return addMirCuts_;
18885 }
18896 public Builder setAddMirCuts(boolean value) {
18897 bitField3_ |= 0x00000010;
18898 addMirCuts_ = value;
18899 onChanged();
18900 return this;
18901 }
18912 bitField3_ = (bitField3_ & ~0x00000010);
18913 addMirCuts_ = true;
18914 onChanged();
18915 return this;
18916 }
18917
18918 private boolean addZeroHalfCuts_ = true;
18928 @java.lang.Override
18929 public boolean hasAddZeroHalfCuts() {
18930 return ((bitField3_ & 0x00000020) != 0);
18931 }
18941 @java.lang.Override
18942 public boolean getAddZeroHalfCuts() {
18943 return addZeroHalfCuts_;
18944 }
18955 public Builder setAddZeroHalfCuts(boolean value) {
18956 bitField3_ |= 0x00000020;
18957 addZeroHalfCuts_ = value;
18958 onChanged();
18959 return this;
18960 }
18971 bitField3_ = (bitField3_ & ~0x00000020);
18972 addZeroHalfCuts_ = true;
18973 onChanged();
18974 return this;
18975 }
18976
18977 private boolean addCliqueCuts_ = true;
18988 @java.lang.Override
18989 public boolean hasAddCliqueCuts() {
18990 return ((bitField3_ & 0x00000040) != 0);
18991 }
19002 @java.lang.Override
19003 public boolean getAddCliqueCuts() {
19004 return addCliqueCuts_;
19005 }
19017 public Builder setAddCliqueCuts(boolean value) {
19018 bitField3_ |= 0x00000040;
19019 addCliqueCuts_ = value;
19020 onChanged();
19021 return this;
19022 }
19034 bitField3_ = (bitField3_ & ~0x00000040);
19035 addCliqueCuts_ = true;
19036 onChanged();
19037 return this;
19038 }
19039
19040 private int maxAllDiffCutSize_ = 7;
19051 @java.lang.Override
19052 public boolean hasMaxAllDiffCutSize() {
19053 return ((bitField3_ & 0x00000080) != 0);
19054 }
19065 @java.lang.Override
19067 return maxAllDiffCutSize_;
19068 }
19080 public Builder setMaxAllDiffCutSize(int value) {
19081 bitField3_ |= 0x00000080;
19082 maxAllDiffCutSize_ = value;
19083 onChanged();
19084 return this;
19085 }
19097 bitField3_ = (bitField3_ & ~0x00000080);
19098 maxAllDiffCutSize_ = 7;
19099 onChanged();
19100 return this;
19101 }
19102
19103 private boolean addLinMaxCuts_ = true;
19114 @java.lang.Override
19115 public boolean hasAddLinMaxCuts() {
19116 return ((bitField3_ & 0x00000100) != 0);
19117 }
19128 @java.lang.Override
19129 public boolean getAddLinMaxCuts() {
19130 return addLinMaxCuts_;
19131 }
19143 public Builder setAddLinMaxCuts(boolean value) {
19144 bitField3_ |= 0x00000100;
19145 addLinMaxCuts_ = value;
19146 onChanged();
19147 return this;
19148 }
19160 bitField3_ = (bitField3_ & ~0x00000100);
19161 addLinMaxCuts_ = true;
19162 onChanged();
19163 return this;
19164 }
19165
19166 private int maxIntegerRoundingScaling_ = 600;
19181 @java.lang.Override
19183 return ((bitField3_ & 0x00000200) != 0);
19184 }
19199 @java.lang.Override
19201 return maxIntegerRoundingScaling_;
19202 }
19219 bitField3_ |= 0x00000200;
19220 maxIntegerRoundingScaling_ = value;
19221 onChanged();
19222 return this;
19223 }
19239 bitField3_ = (bitField3_ & ~0x00000200);
19240 maxIntegerRoundingScaling_ = 600;
19241 onChanged();
19242 return this;
19243 }
19244
19245 private boolean addLpConstraintsLazily_ = true;
19257 @java.lang.Override
19258 public boolean hasAddLpConstraintsLazily() {
19259 return ((bitField3_ & 0x00000400) != 0);
19260 }
19272 @java.lang.Override
19273 public boolean getAddLpConstraintsLazily() {
19274 return addLpConstraintsLazily_;
19275 }
19288 public Builder setAddLpConstraintsLazily(boolean value) {
19289 bitField3_ |= 0x00000400;
19290 addLpConstraintsLazily_ = value;
19291 onChanged();
19292 return this;
19293 }
19306 bitField3_ = (bitField3_ & ~0x00000400);
19307 addLpConstraintsLazily_ = true;
19308 onChanged();
19309 return this;
19310 }
19311
19312 private double minOrthogonalityForLpConstraints_ = 0.05D;
19325 @java.lang.Override
19327 return ((bitField3_ & 0x00000800) != 0);
19328 }
19341 @java.lang.Override
19343 return minOrthogonalityForLpConstraints_;
19344 }
19359 bitField3_ |= 0x00000800;
19360 minOrthogonalityForLpConstraints_ = value;
19361 onChanged();
19362 return this;
19363 }
19377 bitField3_ = (bitField3_ & ~0x00000800);
19378 minOrthogonalityForLpConstraints_ = 0.05D;
19379 onChanged();
19380 return this;
19381 }
19382
19383 private int maxCutRoundsAtLevelZero_ = 1;
19392 @java.lang.Override
19394 return ((bitField3_ & 0x00001000) != 0);
19395 }
19404 @java.lang.Override
19406 return maxCutRoundsAtLevelZero_;
19407 }
19418 bitField3_ |= 0x00001000;
19419 maxCutRoundsAtLevelZero_ = value;
19420 onChanged();
19421 return this;
19422 }
19432 bitField3_ = (bitField3_ & ~0x00001000);
19433 maxCutRoundsAtLevelZero_ = 1;
19434 onChanged();
19435 return this;
19436 }
19437
19438 private int maxConsecutiveInactiveCount_ = 100;
19449 @java.lang.Override
19451 return ((bitField3_ & 0x00002000) != 0);
19452 }
19463 @java.lang.Override
19465 return maxConsecutiveInactiveCount_;
19466 }
19479 bitField3_ |= 0x00002000;
19480 maxConsecutiveInactiveCount_ = value;
19481 onChanged();
19482 return this;
19483 }
19495 bitField3_ = (bitField3_ & ~0x00002000);
19496 maxConsecutiveInactiveCount_ = 100;
19497 onChanged();
19498 return this;
19499 }
19500
19501 private double cutMaxActiveCountValue_ = 10000000000D;
19512 @java.lang.Override
19513 public boolean hasCutMaxActiveCountValue() {
19514 return ((bitField3_ & 0x00004000) != 0);
19515 }
19526 @java.lang.Override
19528 return cutMaxActiveCountValue_;
19529 }
19541 public Builder setCutMaxActiveCountValue(double value) {
19542 bitField3_ |= 0x00004000;
19543 cutMaxActiveCountValue_ = value;
19544 onChanged();
19545 return this;
19546 }
19558 bitField3_ = (bitField3_ & ~0x00004000);
19559 cutMaxActiveCountValue_ = 10000000000D;
19560 onChanged();
19561 return this;
19562 }
19563
19564 private double cutActiveCountDecay_ = 0.8D;
19569 @java.lang.Override
19570 public boolean hasCutActiveCountDecay() {
19571 return ((bitField3_ & 0x00008000) != 0);
19572 }
19577 @java.lang.Override
19578 public double getCutActiveCountDecay() {
19579 return cutActiveCountDecay_;
19580 }
19586 public Builder setCutActiveCountDecay(double value) {
19587 bitField3_ |= 0x00008000;
19588 cutActiveCountDecay_ = value;
19589 onChanged();
19590 return this;
19591 }
19597 bitField3_ = (bitField3_ & ~0x00008000);
19598 cutActiveCountDecay_ = 0.8D;
19599 onChanged();
19600 return this;
19601 }
19602
19603 private int cutCleanupTarget_ = 1000;
19612 @java.lang.Override
19613 public boolean hasCutCleanupTarget() {
19614 return ((bitField3_ & 0x00010000) != 0);
19615 }
19624 @java.lang.Override
19625 public int getCutCleanupTarget() {
19626 return cutCleanupTarget_;
19627 }
19637 public Builder setCutCleanupTarget(int value) {
19638 bitField3_ |= 0x00010000;
19639 cutCleanupTarget_ = value;
19640 onChanged();
19641 return this;
19642 }
19652 bitField3_ = (bitField3_ & ~0x00010000);
19653 cutCleanupTarget_ = 1000;
19654 onChanged();
19655 return this;
19656 }
19657
19658 private int newConstraintsBatchSize_ = 50;
19668 @java.lang.Override
19670 return ((bitField3_ & 0x00020000) != 0);
19671 }
19681 @java.lang.Override
19683 return newConstraintsBatchSize_;
19684 }
19696 bitField3_ |= 0x00020000;
19697 newConstraintsBatchSize_ = value;
19698 onChanged();
19699 return this;
19700 }
19711 bitField3_ = (bitField3_ & ~0x00020000);
19712 newConstraintsBatchSize_ = 50;
19713 onChanged();
19714 return this;
19715 }
19716
19717 private int searchBranching_ = 0;
19722 @java.lang.Override public boolean hasSearchBranching() {
19723 return ((bitField3_ & 0x00040000) != 0);
19724 }
19729 @java.lang.Override
19730 public com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching() {
19731 @SuppressWarnings("deprecation")
19732 com.google.ortools.sat.SatParameters.SearchBranching result = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(searchBranching_);
19733 return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
19734 }
19740 public Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value) {
19741 if (value == null) {
19742 throw new NullPointerException();
19743 }
19744 bitField3_ |= 0x00040000;
19745 searchBranching_ = value.getNumber();
19746 onChanged();
19747 return this;
19748 }
19754 bitField3_ = (bitField3_ & ~0x00040000);
19755 searchBranching_ = 0;
19756 onChanged();
19757 return this;
19758 }
19759
19760 private int hintConflictLimit_ = 10;
19769 @java.lang.Override
19770 public boolean hasHintConflictLimit() {
19771 return ((bitField3_ & 0x00080000) != 0);
19772 }
19781 @java.lang.Override
19783 return hintConflictLimit_;
19784 }
19794 public Builder setHintConflictLimit(int value) {
19795 bitField3_ |= 0x00080000;
19796 hintConflictLimit_ = value;
19797 onChanged();
19798 return this;
19799 }
19809 bitField3_ = (bitField3_ & ~0x00080000);
19810 hintConflictLimit_ = 10;
19811 onChanged();
19812 return this;
19813 }
19814
19815 private boolean repairHint_ ;
19827 @java.lang.Override
19828 public boolean hasRepairHint() {
19829 return ((bitField3_ & 0x00100000) != 0);
19830 }
19842 @java.lang.Override
19843 public boolean getRepairHint() {
19844 return repairHint_;
19845 }
19858 public Builder setRepairHint(boolean value) {
19859 bitField3_ |= 0x00100000;
19860 repairHint_ = value;
19861 onChanged();
19862 return this;
19863 }
19876 bitField3_ = (bitField3_ & ~0x00100000);
19877 repairHint_ = false;
19878 onChanged();
19879 return this;
19880 }
19881
19882 private boolean fixVariablesToTheirHintedValue_ ;
19892 @java.lang.Override
19894 return ((bitField3_ & 0x00200000) != 0);
19895 }
19905 @java.lang.Override
19907 return fixVariablesToTheirHintedValue_;
19908 }
19920 bitField3_ |= 0x00200000;
19921 fixVariablesToTheirHintedValue_ = value;
19922 onChanged();
19923 return this;
19924 }
19935 bitField3_ = (bitField3_ & ~0x00200000);
19936 fixVariablesToTheirHintedValue_ = false;
19937 onChanged();
19938 return this;
19939 }
19940
19941 private boolean exploitIntegerLpSolution_ = true;
19953 @java.lang.Override
19955 return ((bitField3_ & 0x00400000) != 0);
19956 }
19968 @java.lang.Override
19970 return exploitIntegerLpSolution_;
19971 }
19984 public Builder setExploitIntegerLpSolution(boolean value) {
19985 bitField3_ |= 0x00400000;
19986 exploitIntegerLpSolution_ = value;
19987 onChanged();
19988 return this;
19989 }
20002 bitField3_ = (bitField3_ & ~0x00400000);
20003 exploitIntegerLpSolution_ = true;
20004 onChanged();
20005 return this;
20006 }
20007
20008 private boolean exploitAllLpSolution_ = true;
20019 @java.lang.Override
20020 public boolean hasExploitAllLpSolution() {
20021 return ((bitField3_ & 0x00800000) != 0);
20022 }
20033 @java.lang.Override
20034 public boolean getExploitAllLpSolution() {
20035 return exploitAllLpSolution_;
20036 }
20048 public Builder setExploitAllLpSolution(boolean value) {
20049 bitField3_ |= 0x00800000;
20050 exploitAllLpSolution_ = value;
20051 onChanged();
20052 return this;
20053 }
20065 bitField3_ = (bitField3_ & ~0x00800000);
20066 exploitAllLpSolution_ = true;
20067 onChanged();
20068 return this;
20069 }
20070
20071 private boolean exploitBestSolution_ ;
20080 @java.lang.Override
20081 public boolean hasExploitBestSolution() {
20082 return ((bitField3_ & 0x01000000) != 0);
20083 }
20092 @java.lang.Override
20093 public boolean getExploitBestSolution() {
20094 return exploitBestSolution_;
20095 }
20105 public Builder setExploitBestSolution(boolean value) {
20106 bitField3_ |= 0x01000000;
20107 exploitBestSolution_ = value;
20108 onChanged();
20109 return this;
20110 }
20120 bitField3_ = (bitField3_ & ~0x01000000);
20121 exploitBestSolution_ = false;
20122 onChanged();
20123 return this;
20124 }
20125
20126 private boolean exploitRelaxationSolution_ ;
20137 @java.lang.Override
20139 return ((bitField3_ & 0x02000000) != 0);
20140 }
20151 @java.lang.Override
20153 return exploitRelaxationSolution_;
20154 }
20167 bitField3_ |= 0x02000000;
20168 exploitRelaxationSolution_ = value;
20169 onChanged();
20170 return this;
20171 }
20183 bitField3_ = (bitField3_ & ~0x02000000);
20184 exploitRelaxationSolution_ = false;
20185 onChanged();
20186 return this;
20187 }
20188
20189 private boolean exploitObjective_ = true;
20199 @java.lang.Override
20200 public boolean hasExploitObjective() {
20201 return ((bitField3_ & 0x04000000) != 0);
20202 }
20212 @java.lang.Override
20213 public boolean getExploitObjective() {
20214 return exploitObjective_;
20215 }
20226 public Builder setExploitObjective(boolean value) {
20227 bitField3_ |= 0x04000000;
20228 exploitObjective_ = value;
20229 onChanged();
20230 return this;
20231 }
20242 bitField3_ = (bitField3_ & ~0x04000000);
20243 exploitObjective_ = true;
20244 onChanged();
20245 return this;
20246 }
20247
20248 private long probingPeriodAtRoot_ ;
20259 @java.lang.Override
20260 public boolean hasProbingPeriodAtRoot() {
20261 return ((bitField3_ & 0x08000000) != 0);
20262 }
20273 @java.lang.Override
20275 return probingPeriodAtRoot_;
20276 }
20288 public Builder setProbingPeriodAtRoot(long value) {
20289 bitField3_ |= 0x08000000;
20290 probingPeriodAtRoot_ = value;
20291 onChanged();
20292 return this;
20293 }
20305 bitField3_ = (bitField3_ & ~0x08000000);
20306 probingPeriodAtRoot_ = 0L;
20307 onChanged();
20308 return this;
20309 }
20310
20311 private boolean useProbingSearch_ ;
20321 @java.lang.Override
20322 public boolean hasUseProbingSearch() {
20323 return ((bitField3_ & 0x10000000) != 0);
20324 }
20334 @java.lang.Override
20335 public boolean getUseProbingSearch() {
20336 return useProbingSearch_;
20337 }
20348 public Builder setUseProbingSearch(boolean value) {
20349 bitField3_ |= 0x10000000;
20350 useProbingSearch_ = value;
20351 onChanged();
20352 return this;
20353 }
20364 bitField3_ = (bitField3_ & ~0x10000000);
20365 useProbingSearch_ = false;
20366 onChanged();
20367 return this;
20368 }
20369
20370 private long pseudoCostReliabilityThreshold_ = 100L;
20380 @java.lang.Override
20382 return ((bitField3_ & 0x20000000) != 0);
20383 }
20393 @java.lang.Override
20395 return pseudoCostReliabilityThreshold_;
20396 }
20408 bitField3_ |= 0x20000000;
20409 pseudoCostReliabilityThreshold_ = value;
20410 onChanged();
20411 return this;
20412 }
20423 bitField3_ = (bitField3_ & ~0x20000000);
20424 pseudoCostReliabilityThreshold_ = 100L;
20425 onChanged();
20426 return this;
20427 }
20428
20429 private boolean optimizeWithCore_ ;
20441 @java.lang.Override
20442 public boolean hasOptimizeWithCore() {
20443 return ((bitField3_ & 0x40000000) != 0);
20444 }
20456 @java.lang.Override
20457 public boolean getOptimizeWithCore() {
20458 return optimizeWithCore_;
20459 }
20472 public Builder setOptimizeWithCore(boolean value) {
20473 bitField3_ |= 0x40000000;
20474 optimizeWithCore_ = value;
20475 onChanged();
20476 return this;
20477 }
20490 bitField3_ = (bitField3_ & ~0x40000000);
20491 optimizeWithCore_ = false;
20492 onChanged();
20493 return this;
20494 }
20495
20496 private boolean optimizeWithLbTreeSearch_ ;
20509 @java.lang.Override
20511 return ((bitField3_ & 0x80000000) != 0);
20512 }
20525 @java.lang.Override
20527 return optimizeWithLbTreeSearch_;
20528 }
20542 public Builder setOptimizeWithLbTreeSearch(boolean value) {
20543 bitField3_ |= 0x80000000;
20544 optimizeWithLbTreeSearch_ = value;
20545 onChanged();
20546 return this;
20547 }
20561 bitField3_ = (bitField3_ & ~0x80000000);
20562 optimizeWithLbTreeSearch_ = false;
20563 onChanged();
20564 return this;
20565 }
20566
20567 private int binarySearchNumConflicts_ = -1;
20579 @java.lang.Override
20581 return ((bitField4_ & 0x00000001) != 0);
20582 }
20594 @java.lang.Override
20596 return binarySearchNumConflicts_;
20597 }
20611 bitField4_ |= 0x00000001;
20612 binarySearchNumConflicts_ = value;
20613 onChanged();
20614 return this;
20615 }
20628 bitField4_ = (bitField4_ & ~0x00000001);
20629 binarySearchNumConflicts_ = -1;
20630 onChanged();
20631 return this;
20632 }
20633
20634 private boolean optimizeWithMaxHs_ ;
20648 @java.lang.Override
20649 public boolean hasOptimizeWithMaxHs() {
20650 return ((bitField4_ & 0x00000002) != 0);
20651 }
20665 @java.lang.Override
20666 public boolean getOptimizeWithMaxHs() {
20667 return optimizeWithMaxHs_;
20668 }
20683 public Builder setOptimizeWithMaxHs(boolean value) {
20684 bitField4_ |= 0x00000002;
20685 optimizeWithMaxHs_ = value;
20686 onChanged();
20687 return this;
20688 }
20703 bitField4_ = (bitField4_ & ~0x00000002);
20704 optimizeWithMaxHs_ = false;
20705 onChanged();
20706 return this;
20707 }
20708
20709 private boolean enumerateAllSolutions_ ;
20723 @java.lang.Override
20724 public boolean hasEnumerateAllSolutions() {
20725 return ((bitField4_ & 0x00000004) != 0);
20726 }
20740 @java.lang.Override
20741 public boolean getEnumerateAllSolutions() {
20742 return enumerateAllSolutions_;
20743 }
20758 public Builder setEnumerateAllSolutions(boolean value) {
20759 bitField4_ |= 0x00000004;
20760 enumerateAllSolutions_ = value;
20761 onChanged();
20762 return this;
20763 }
20778 bitField4_ = (bitField4_ & ~0x00000004);
20779 enumerateAllSolutions_ = false;
20780 onChanged();
20781 return this;
20782 }
20783
20784 private boolean keepAllFeasibleSolutionsInPresolve_ ;
20799 @java.lang.Override
20801 return ((bitField4_ & 0x00000008) != 0);
20802 }
20817 @java.lang.Override
20819 return keepAllFeasibleSolutionsInPresolve_;
20820 }
20837 bitField4_ |= 0x00000008;
20838 keepAllFeasibleSolutionsInPresolve_ = value;
20839 onChanged();
20840 return this;
20841 }
20857 bitField4_ = (bitField4_ & ~0x00000008);
20858 keepAllFeasibleSolutionsInPresolve_ = false;
20859 onChanged();
20860 return this;
20861 }
20862
20863 private boolean fillTightenedDomainsInResponse_ ;
20876 @java.lang.Override
20878 return ((bitField4_ & 0x00000010) != 0);
20879 }
20892 @java.lang.Override
20894 return fillTightenedDomainsInResponse_;
20895 }
20910 bitField4_ |= 0x00000010;
20911 fillTightenedDomainsInResponse_ = value;
20912 onChanged();
20913 return this;
20914 }
20928 bitField4_ = (bitField4_ & ~0x00000010);
20929 fillTightenedDomainsInResponse_ = false;
20930 onChanged();
20931 return this;
20932 }
20933
20934 private boolean fillAdditionalSolutionsInResponse_ ;
20950 @java.lang.Override
20952 return ((bitField4_ & 0x00000020) != 0);
20953 }
20969 @java.lang.Override
20971 return fillAdditionalSolutionsInResponse_;
20972 }
20990 bitField4_ |= 0x00000020;
20991 fillAdditionalSolutionsInResponse_ = value;
20992 onChanged();
20993 return this;
20994 }
21011 bitField4_ = (bitField4_ & ~0x00000020);
21012 fillAdditionalSolutionsInResponse_ = false;
21013 onChanged();
21014 return this;
21015 }
21016
21017 private boolean instantiateAllVariables_ = true;
21029 @java.lang.Override
21031 return ((bitField4_ & 0x00000040) != 0);
21032 }
21044 @java.lang.Override
21046 return instantiateAllVariables_;
21047 }
21060 public Builder setInstantiateAllVariables(boolean value) {
21061 bitField4_ |= 0x00000040;
21062 instantiateAllVariables_ = value;
21063 onChanged();
21064 return this;
21065 }
21078 bitField4_ = (bitField4_ & ~0x00000040);
21079 instantiateAllVariables_ = true;
21080 onChanged();
21081 return this;
21082 }
21083
21084 private boolean autoDetectGreaterThanAtLeastOneOf_ = true;
21096 @java.lang.Override
21098 return ((bitField4_ & 0x00000080) != 0);
21099 }
21111 @java.lang.Override
21113 return autoDetectGreaterThanAtLeastOneOf_;
21114 }
21128 bitField4_ |= 0x00000080;
21129 autoDetectGreaterThanAtLeastOneOf_ = value;
21130 onChanged();
21131 return this;
21132 }
21145 bitField4_ = (bitField4_ & ~0x00000080);
21146 autoDetectGreaterThanAtLeastOneOf_ = true;
21147 onChanged();
21148 return this;
21149 }
21150
21151 private boolean stopAfterFirstSolution_ ;
21160 @java.lang.Override
21161 public boolean hasStopAfterFirstSolution() {
21162 return ((bitField4_ & 0x00000100) != 0);
21163 }
21172 @java.lang.Override
21173 public boolean getStopAfterFirstSolution() {
21174 return stopAfterFirstSolution_;
21175 }
21185 public Builder setStopAfterFirstSolution(boolean value) {
21186 bitField4_ |= 0x00000100;
21187 stopAfterFirstSolution_ = value;
21188 onChanged();
21189 return this;
21190 }
21200 bitField4_ = (bitField4_ & ~0x00000100);
21201 stopAfterFirstSolution_ = false;
21202 onChanged();
21203 return this;
21204 }
21205
21206 private boolean stopAfterPresolve_ ;
21216 @java.lang.Override
21217 public boolean hasStopAfterPresolve() {
21218 return ((bitField4_ & 0x00000200) != 0);
21219 }
21229 @java.lang.Override
21230 public boolean getStopAfterPresolve() {
21231 return stopAfterPresolve_;
21232 }
21243 public Builder setStopAfterPresolve(boolean value) {
21244 bitField4_ |= 0x00000200;
21245 stopAfterPresolve_ = value;
21246 onChanged();
21247 return this;
21248 }
21259 bitField4_ = (bitField4_ & ~0x00000200);
21260 stopAfterPresolve_ = false;
21261 onChanged();
21262 return this;
21263 }
21264
21265 private int numSearchWorkers_ ;
21280 @java.lang.Override
21281 public boolean hasNumSearchWorkers() {
21282 return ((bitField4_ & 0x00000400) != 0);
21283 }
21298 @java.lang.Override
21299 public int getNumSearchWorkers() {
21300 return numSearchWorkers_;
21301 }
21317 public Builder setNumSearchWorkers(int value) {
21318 bitField4_ |= 0x00000400;
21319 numSearchWorkers_ = value;
21320 onChanged();
21321 return this;
21322 }
21338 bitField4_ = (bitField4_ & ~0x00000400);
21339 numSearchWorkers_ = 0;
21340 onChanged();
21341 return this;
21342 }
21343
21344 private boolean interleaveSearch_ ;
21357 @java.lang.Override
21358 public boolean hasInterleaveSearch() {
21359 return ((bitField4_ & 0x00000800) != 0);
21360 }
21373 @java.lang.Override
21374 public boolean getInterleaveSearch() {
21375 return interleaveSearch_;
21376 }
21390 public Builder setInterleaveSearch(boolean value) {
21391 bitField4_ |= 0x00000800;
21392 interleaveSearch_ = value;
21393 onChanged();
21394 return this;
21395 }
21409 bitField4_ = (bitField4_ & ~0x00000800);
21410 interleaveSearch_ = false;
21411 onChanged();
21412 return this;
21413 }
21414
21415 private int interleaveBatchSize_ = 1;
21420 @java.lang.Override
21421 public boolean hasInterleaveBatchSize() {
21422 return ((bitField4_ & 0x00001000) != 0);
21423 }
21428 @java.lang.Override
21430 return interleaveBatchSize_;
21431 }
21438 bitField4_ |= 0x00001000;
21439 interleaveBatchSize_ = value;
21440 onChanged();
21441 return this;
21442 }
21448 bitField4_ = (bitField4_ & ~0x00001000);
21449 interleaveBatchSize_ = 1;
21450 onChanged();
21451 return this;
21452 }
21453
21454 private boolean reduceMemoryUsageInInterleaveMode_ ;
21463 @java.lang.Override
21465 return ((bitField4_ & 0x00002000) != 0);
21466 }
21475 @java.lang.Override
21477 return reduceMemoryUsageInInterleaveMode_;
21478 }
21489 bitField4_ |= 0x00002000;
21490 reduceMemoryUsageInInterleaveMode_ = value;
21491 onChanged();
21492 return this;
21493 }
21503 bitField4_ = (bitField4_ & ~0x00002000);
21504 reduceMemoryUsageInInterleaveMode_ = false;
21505 onChanged();
21506 return this;
21507 }
21508
21509 private boolean shareObjectiveBounds_ = true;
21518 @java.lang.Override
21519 public boolean hasShareObjectiveBounds() {
21520 return ((bitField4_ & 0x00004000) != 0);
21521 }
21530 @java.lang.Override
21531 public boolean getShareObjectiveBounds() {
21532 return shareObjectiveBounds_;
21533 }
21543 public Builder setShareObjectiveBounds(boolean value) {
21544 bitField4_ |= 0x00004000;
21545 shareObjectiveBounds_ = value;
21546 onChanged();
21547 return this;
21548 }
21558 bitField4_ = (bitField4_ & ~0x00004000);
21559 shareObjectiveBounds_ = true;
21560 onChanged();
21561 return this;
21562 }
21563
21564 private boolean shareLevelZeroBounds_ = true;
21573 @java.lang.Override
21574 public boolean hasShareLevelZeroBounds() {
21575 return ((bitField4_ & 0x00008000) != 0);
21576 }
21585 @java.lang.Override
21586 public boolean getShareLevelZeroBounds() {
21587 return shareLevelZeroBounds_;
21588 }
21598 public Builder setShareLevelZeroBounds(boolean value) {
21599 bitField4_ |= 0x00008000;
21600 shareLevelZeroBounds_ = value;
21601 onChanged();
21602 return this;
21603 }
21613 bitField4_ = (bitField4_ & ~0x00008000);
21614 shareLevelZeroBounds_ = true;
21615 onChanged();
21616 return this;
21617 }
21618
21619 private boolean useLnsOnly_ ;
21628 @java.lang.Override
21629 public boolean hasUseLnsOnly() {
21630 return ((bitField4_ & 0x00010000) != 0);
21631 }
21640 @java.lang.Override
21641 public boolean getUseLnsOnly() {
21642 return useLnsOnly_;
21643 }
21653 public Builder setUseLnsOnly(boolean value) {
21654 bitField4_ |= 0x00010000;
21655 useLnsOnly_ = value;
21656 onChanged();
21657 return this;
21658 }
21668 bitField4_ = (bitField4_ & ~0x00010000);
21669 useLnsOnly_ = false;
21670 onChanged();
21671 return this;
21672 }
21673
21674 private int solutionPoolSize_ = 3;
21684 @java.lang.Override
21685 public boolean hasSolutionPoolSize() {
21686 return ((bitField4_ & 0x00020000) != 0);
21687 }
21697 @java.lang.Override
21698 public int getSolutionPoolSize() {
21699 return solutionPoolSize_;
21700 }
21711 public Builder setSolutionPoolSize(int value) {
21712 bitField4_ |= 0x00020000;
21713 solutionPoolSize_ = value;
21714 onChanged();
21715 return this;
21716 }
21727 bitField4_ = (bitField4_ & ~0x00020000);
21728 solutionPoolSize_ = 3;
21729 onChanged();
21730 return this;
21731 }
21732
21733 private boolean useRinsLns_ = true;
21742 @java.lang.Override
21743 public boolean hasUseRinsLns() {
21744 return ((bitField4_ & 0x00040000) != 0);
21745 }
21754 @java.lang.Override
21755 public boolean getUseRinsLns() {
21756 return useRinsLns_;
21757 }
21767 public Builder setUseRinsLns(boolean value) {
21768 bitField4_ |= 0x00040000;
21769 useRinsLns_ = value;
21770 onChanged();
21771 return this;
21772 }
21782 bitField4_ = (bitField4_ & ~0x00040000);
21783 useRinsLns_ = true;
21784 onChanged();
21785 return this;
21786 }
21787
21788 private boolean useFeasibilityPump_ = true;
21797 @java.lang.Override
21798 public boolean hasUseFeasibilityPump() {
21799 return ((bitField4_ & 0x00080000) != 0);
21800 }
21809 @java.lang.Override
21810 public boolean getUseFeasibilityPump() {
21811 return useFeasibilityPump_;
21812 }
21822 public Builder setUseFeasibilityPump(boolean value) {
21823 bitField4_ |= 0x00080000;
21824 useFeasibilityPump_ = value;
21825 onChanged();
21826 return this;
21827 }
21837 bitField4_ = (bitField4_ & ~0x00080000);
21838 useFeasibilityPump_ = true;
21839 onChanged();
21840 return this;
21841 }
21842
21843 private int fpRounding_ = 2;
21848 @java.lang.Override public boolean hasFpRounding() {
21849 return ((bitField4_ & 0x00100000) != 0);
21850 }
21855 @java.lang.Override
21856 public com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding() {
21857 @SuppressWarnings("deprecation")
21858 com.google.ortools.sat.SatParameters.FPRoundingMethod result = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(fpRounding_);
21859 return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
21860 }
21866 public Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value) {
21867 if (value == null) {
21868 throw new NullPointerException();
21869 }
21870 bitField4_ |= 0x00100000;
21871 fpRounding_ = value.getNumber();
21872 onChanged();
21873 return this;
21874 }
21880 bitField4_ = (bitField4_ & ~0x00100000);
21881 fpRounding_ = 2;
21882 onChanged();
21883 return this;
21884 }
21885
21886 private boolean useRelaxationLns_ ;
21896 @java.lang.Override
21897 public boolean hasUseRelaxationLns() {
21898 return ((bitField4_ & 0x00200000) != 0);
21899 }
21909 @java.lang.Override
21910 public boolean getUseRelaxationLns() {
21911 return useRelaxationLns_;
21912 }
21923 public Builder setUseRelaxationLns(boolean value) {
21924 bitField4_ |= 0x00200000;
21925 useRelaxationLns_ = value;
21926 onChanged();
21927 return this;
21928 }
21939 bitField4_ = (bitField4_ & ~0x00200000);
21940 useRelaxationLns_ = false;
21941 onChanged();
21942 return this;
21943 }
21944
21945 private boolean diversifyLnsParams_ ;
21954 @java.lang.Override
21955 public boolean hasDiversifyLnsParams() {
21956 return ((bitField4_ & 0x00400000) != 0);
21957 }
21966 @java.lang.Override
21967 public boolean getDiversifyLnsParams() {
21968 return diversifyLnsParams_;
21969 }
21979 public Builder setDiversifyLnsParams(boolean value) {
21980 bitField4_ |= 0x00400000;
21981 diversifyLnsParams_ = value;
21982 onChanged();
21983 return this;
21984 }
21994 bitField4_ = (bitField4_ & ~0x00400000);
21995 diversifyLnsParams_ = false;
21996 onChanged();
21997 return this;
21998 }
21999
22000 private boolean randomizeSearch_ ;
22009 @java.lang.Override
22010 public boolean hasRandomizeSearch() {
22011 return ((bitField4_ & 0x00800000) != 0);
22012 }
22021 @java.lang.Override
22022 public boolean getRandomizeSearch() {
22023 return randomizeSearch_;
22024 }
22034 public Builder setRandomizeSearch(boolean value) {
22035 bitField4_ |= 0x00800000;
22036 randomizeSearch_ = value;
22037 onChanged();
22038 return this;
22039 }
22049 bitField4_ = (bitField4_ & ~0x00800000);
22050 randomizeSearch_ = false;
22051 onChanged();
22052 return this;
22053 }
22054
22055 private long searchRandomizationTolerance_ ;
22070 @java.lang.Override
22072 return ((bitField4_ & 0x01000000) != 0);
22073 }
22088 @java.lang.Override
22090 return searchRandomizationTolerance_;
22091 }
22108 bitField4_ |= 0x01000000;
22109 searchRandomizationTolerance_ = value;
22110 onChanged();
22111 return this;
22112 }
22128 bitField4_ = (bitField4_ & ~0x01000000);
22129 searchRandomizationTolerance_ = 0L;
22130 onChanged();
22131 return this;
22132 }
22133
22134 private boolean useOptionalVariables_ = true;
22145 @java.lang.Override
22146 public boolean hasUseOptionalVariables() {
22147 return ((bitField4_ & 0x02000000) != 0);
22148 }
22159 @java.lang.Override
22160 public boolean getUseOptionalVariables() {
22161 return useOptionalVariables_;
22162 }
22174 public Builder setUseOptionalVariables(boolean value) {
22175 bitField4_ |= 0x02000000;
22176 useOptionalVariables_ = value;
22177 onChanged();
22178 return this;
22179 }
22191 bitField4_ = (bitField4_ & ~0x02000000);
22192 useOptionalVariables_ = true;
22193 onChanged();
22194 return this;
22195 }
22196
22197 private boolean useExactLpReason_ = true;
22209 @java.lang.Override
22210 public boolean hasUseExactLpReason() {
22211 return ((bitField4_ & 0x04000000) != 0);
22212 }
22224 @java.lang.Override
22225 public boolean getUseExactLpReason() {
22226 return useExactLpReason_;
22227 }
22240 public Builder setUseExactLpReason(boolean value) {
22241 bitField4_ |= 0x04000000;
22242 useExactLpReason_ = value;
22243 onChanged();
22244 return this;
22245 }
22258 bitField4_ = (bitField4_ & ~0x04000000);
22259 useExactLpReason_ = true;
22260 onChanged();
22261 return this;
22262 }
22263
22264 private boolean useBranchingInLp_ ;
22275 @java.lang.Override
22276 public boolean hasUseBranchingInLp() {
22277 return ((bitField4_ & 0x08000000) != 0);
22278 }
22289 @java.lang.Override
22290 public boolean getUseBranchingInLp() {
22291 return useBranchingInLp_;
22292 }
22304 public Builder setUseBranchingInLp(boolean value) {
22305 bitField4_ |= 0x08000000;
22306 useBranchingInLp_ = value;
22307 onChanged();
22308 return this;
22309 }
22321 bitField4_ = (bitField4_ & ~0x08000000);
22322 useBranchingInLp_ = false;
22323 onChanged();
22324 return this;
22325 }
22326
22327 private boolean useCombinedNoOverlap_ ;
22338 @java.lang.Override
22339 public boolean hasUseCombinedNoOverlap() {
22340 return ((bitField4_ & 0x10000000) != 0);
22341 }
22352 @java.lang.Override
22353 public boolean getUseCombinedNoOverlap() {
22354 return useCombinedNoOverlap_;
22355 }
22367 public Builder setUseCombinedNoOverlap(boolean value) {
22368 bitField4_ |= 0x10000000;
22369 useCombinedNoOverlap_ = value;
22370 onChanged();
22371 return this;
22372 }
22384 bitField4_ = (bitField4_ & ~0x10000000);
22385 useCombinedNoOverlap_ = false;
22386 onChanged();
22387 return this;
22388 }
22389
22390 private boolean catchSigintSignal_ = true;
22401 @java.lang.Override
22402 public boolean hasCatchSigintSignal() {
22403 return ((bitField4_ & 0x20000000) != 0);
22404 }
22415 @java.lang.Override
22416 public boolean getCatchSigintSignal() {
22417 return catchSigintSignal_;
22418 }
22430 public Builder setCatchSigintSignal(boolean value) {
22431 bitField4_ |= 0x20000000;
22432 catchSigintSignal_ = value;
22433 onChanged();
22434 return this;
22435 }
22447 bitField4_ = (bitField4_ & ~0x20000000);
22448 catchSigintSignal_ = true;
22449 onChanged();
22450 return this;
22451 }
22452
22453 private boolean useImpliedBounds_ = true;
22464 @java.lang.Override
22465 public boolean hasUseImpliedBounds() {
22466 return ((bitField4_ & 0x40000000) != 0);
22467 }
22478 @java.lang.Override
22479 public boolean getUseImpliedBounds() {
22480 return useImpliedBounds_;
22481 }
22493 public Builder setUseImpliedBounds(boolean value) {
22494 bitField4_ |= 0x40000000;
22495 useImpliedBounds_ = value;
22496 onChanged();
22497 return this;
22498 }
22510 bitField4_ = (bitField4_ & ~0x40000000);
22511 useImpliedBounds_ = true;
22512 onChanged();
22513 return this;
22514 }
22515
22516 private boolean polishLpSolution_ ;
22528 @java.lang.Override
22529 public boolean hasPolishLpSolution() {
22530 return ((bitField4_ & 0x80000000) != 0);
22531 }
22543 @java.lang.Override
22544 public boolean getPolishLpSolution() {
22545 return polishLpSolution_;
22546 }
22559 public Builder setPolishLpSolution(boolean value) {
22560 bitField4_ |= 0x80000000;
22561 polishLpSolution_ = value;
22562 onChanged();
22563 return this;
22564 }
22577 bitField4_ = (bitField4_ & ~0x80000000);
22578 polishLpSolution_ = false;
22579 onChanged();
22580 return this;
22581 }
22582
22583 private boolean convertIntervals_ = true;
22594 @java.lang.Override
22595 public boolean hasConvertIntervals() {
22596 return ((bitField5_ & 0x00000001) != 0);
22597 }
22608 @java.lang.Override
22609 public boolean getConvertIntervals() {
22610 return convertIntervals_;
22611 }
22623 public Builder setConvertIntervals(boolean value) {
22624 bitField5_ |= 0x00000001;
22625 convertIntervals_ = value;
22626 onChanged();
22627 return this;
22628 }
22640 bitField5_ = (bitField5_ & ~0x00000001);
22641 convertIntervals_ = true;
22642 onChanged();
22643 return this;
22644 }
22645
22646 private int symmetryLevel_ = 2;
22658 @java.lang.Override
22659 public boolean hasSymmetryLevel() {
22660 return ((bitField5_ & 0x00000002) != 0);
22661 }
22673 @java.lang.Override
22674 public int getSymmetryLevel() {
22675 return symmetryLevel_;
22676 }
22689 public Builder setSymmetryLevel(int value) {
22690 bitField5_ |= 0x00000002;
22691 symmetryLevel_ = value;
22692 onChanged();
22693 return this;
22694 }
22707 bitField5_ = (bitField5_ & ~0x00000002);
22708 symmetryLevel_ = 2;
22709 onChanged();
22710 return this;
22711 }
22712
22713 private double mipMaxBound_ = 10000000D;
22724 @java.lang.Override
22725 public boolean hasMipMaxBound() {
22726 return ((bitField5_ & 0x00000004) != 0);
22727 }
22738 @java.lang.Override
22739 public double getMipMaxBound() {
22740 return mipMaxBound_;
22741 }
22753 public Builder setMipMaxBound(double value) {
22754 bitField5_ |= 0x00000004;
22755 mipMaxBound_ = value;
22756 onChanged();
22757 return this;
22758 }
22770 bitField5_ = (bitField5_ & ~0x00000004);
22771 mipMaxBound_ = 10000000D;
22772 onChanged();
22773 return this;
22774 }
22775
22776 private double mipVarScaling_ = 1D;
22787 @java.lang.Override
22788 public boolean hasMipVarScaling() {
22789 return ((bitField5_ & 0x00000008) != 0);
22790 }
22801 @java.lang.Override
22802 public double getMipVarScaling() {
22803 return mipVarScaling_;
22804 }
22816 public Builder setMipVarScaling(double value) {
22817 bitField5_ |= 0x00000008;
22818 mipVarScaling_ = value;
22819 onChanged();
22820 return this;
22821 }
22833 bitField5_ = (bitField5_ & ~0x00000008);
22834 mipVarScaling_ = 1D;
22835 onChanged();
22836 return this;
22837 }
22838
22839 private boolean mipAutomaticallyScaleVariables_ = true;
22852 @java.lang.Override
22854 return ((bitField5_ & 0x00000010) != 0);
22855 }
22868 @java.lang.Override
22870 return mipAutomaticallyScaleVariables_;
22871 }
22886 bitField5_ |= 0x00000010;
22887 mipAutomaticallyScaleVariables_ = value;
22888 onChanged();
22889 return this;
22890 }
22904 bitField5_ = (bitField5_ & ~0x00000010);
22905 mipAutomaticallyScaleVariables_ = true;
22906 onChanged();
22907 return this;
22908 }
22909
22910 private double mipWantedPrecision_ = 1e-06D;
22928 @java.lang.Override
22929 public boolean hasMipWantedPrecision() {
22930 return ((bitField5_ & 0x00000020) != 0);
22931 }
22949 @java.lang.Override
22950 public double getMipWantedPrecision() {
22951 return mipWantedPrecision_;
22952 }
22971 public Builder setMipWantedPrecision(double value) {
22972 bitField5_ |= 0x00000020;
22973 mipWantedPrecision_ = value;
22974 onChanged();
22975 return this;
22976 }
22995 bitField5_ = (bitField5_ & ~0x00000020);
22996 mipWantedPrecision_ = 1e-06D;
22997 onChanged();
22998 return this;
22999 }
23000
23001 private int mipMaxActivityExponent_ = 53;
23016 @java.lang.Override
23017 public boolean hasMipMaxActivityExponent() {
23018 return ((bitField5_ & 0x00000040) != 0);
23019 }
23034 @java.lang.Override
23036 return mipMaxActivityExponent_;
23037 }
23054 bitField5_ |= 0x00000040;
23055 mipMaxActivityExponent_ = value;
23056 onChanged();
23057 return this;
23058 }
23074 bitField5_ = (bitField5_ & ~0x00000040);
23075 mipMaxActivityExponent_ = 53;
23076 onChanged();
23077 return this;
23078 }
23079
23080 private double mipCheckPrecision_ = 0.0001D;
23091 @java.lang.Override
23092 public boolean hasMipCheckPrecision() {
23093 return ((bitField5_ & 0x00000080) != 0);
23094 }
23105 @java.lang.Override
23106 public double getMipCheckPrecision() {
23107 return mipCheckPrecision_;
23108 }
23120 public Builder setMipCheckPrecision(double value) {
23121 bitField5_ |= 0x00000080;
23122 mipCheckPrecision_ = value;
23123 onChanged();
23124 return this;
23125 }
23137 bitField5_ = (bitField5_ & ~0x00000080);
23138 mipCheckPrecision_ = 0.0001D;
23139 onChanged();
23140 return this;
23141 }
23142
23143 private boolean mipComputeTrueObjectiveBound_ = true;
23156 @java.lang.Override
23158 return ((bitField5_ & 0x00000100) != 0);
23159 }
23172 @java.lang.Override
23174 return mipComputeTrueObjectiveBound_;
23175 }
23190 bitField5_ |= 0x00000100;
23191 mipComputeTrueObjectiveBound_ = value;
23192 onChanged();
23193 return this;
23194 }
23208 bitField5_ = (bitField5_ & ~0x00000100);
23209 mipComputeTrueObjectiveBound_ = true;
23210 onChanged();
23211 return this;
23212 }
23213
23214 private double mipMaxValidMagnitude_ = 1e+30D;
23227 @java.lang.Override
23228 public boolean hasMipMaxValidMagnitude() {
23229 return ((bitField5_ & 0x00000200) != 0);
23230 }
23243 @java.lang.Override
23244 public double getMipMaxValidMagnitude() {
23245 return mipMaxValidMagnitude_;
23246 }
23260 public Builder setMipMaxValidMagnitude(double value) {
23261 bitField5_ |= 0x00000200;
23262 mipMaxValidMagnitude_ = value;
23263 onChanged();
23264 return this;
23265 }
23279 bitField5_ = (bitField5_ & ~0x00000200);
23280 mipMaxValidMagnitude_ = 1e+30D;
23281 onChanged();
23282 return this;
23283 }
23284 @java.lang.Override
23286 final com.google.protobuf.UnknownFieldSet unknownFields) {
23287 return super.setUnknownFields(unknownFields);
23288 }
23289
23290 @java.lang.Override
23292 final com.google.protobuf.UnknownFieldSet unknownFields) {
23293 return super.mergeUnknownFields(unknownFields);
23294 }
23295
23296
23297 // @@protoc_insertion_point(builder_scope:operations_research.sat.SatParameters)
23298 }
23299
23300 // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
23301 private static final com.google.ortools.sat.SatParameters DEFAULT_INSTANCE;
23302 static {
23303 DEFAULT_INSTANCE = new com.google.ortools.sat.SatParameters();
23304 }
23305
23306 public static com.google.ortools.sat.SatParameters getDefaultInstance() {
23307 return DEFAULT_INSTANCE;
23308 }
23309
23310 @java.lang.Deprecated public static final com.google.protobuf.Parser<SatParameters>
23311 PARSER = new com.google.protobuf.AbstractParser<SatParameters>() {
23312 @java.lang.Override
23313 public SatParameters parsePartialFrom(
23314 com.google.protobuf.CodedInputStream input,
23315 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
23316 throws com.google.protobuf.InvalidProtocolBufferException {
23317 return new SatParameters(input, extensionRegistry);
23318 }
23319 };
23320
23321 public static com.google.protobuf.Parser<SatParameters> parser() {
23322 return PARSER;
23323 }
23324
23325 @java.lang.Override
23326 public com.google.protobuf.Parser<SatParameters> getParserForType() {
23327 return PARSER;
23328 }
23329
23330 @java.lang.Override
23331 public com.google.ortools.sat.SatParameters getDefaultInstanceForType() {
23332 return DEFAULT_INSTANCE;
23333 }
23334
23335}
23336
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...
Builder setRestartLbdAverageRatio(double value)
optional double restart_lbd_average_ratio = 71 [default = 1];
final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
Builder setBlockingRestartMultiplier(double value)
optional double blocking_restart_multiplier = 66 [default = 1.4];
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)
Builder clearPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
Builder setRestartAlgorithms(int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value)
boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
com.google.ortools.sat.SatParameters getDefaultInstanceForType()
Builder clearUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
Builder setGlucoseDecayIncrement(double value)
optional double glucose_decay_increment = 23 [default = 0.01];
double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
com.google.ortools.sat.SatParameters build()
Builder setUseTimetableEdgeFindingInCumulativeConstraint(boolean value)
double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder clearSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder clearBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
Builder setName(java.lang.String value)
int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setPermutePresolveConstraintOrder(boolean value)
optional bool permute_presolve_constraint_order = 179 [default = false];
com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder setMinimizeWithPropagationNumDecisions(int value)
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
Builder setMergeAtMostOneWorkLimit(double value)
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setNameBytes(com.google.protobuf.ByteString value)
boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
Builder clearMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
com.google.protobuf.ByteString getLogPrefixBytes()
Builder setFixVariablesToTheirHintedValue(boolean value)
Builder setAutoDetectGreaterThanAtLeastOneOf(boolean value)
boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
Builder clearMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setInterleaveBatchSize(int value)
optional int32 interleave_batch_size = 134 [default = 1];
Builder mergeFrom(com.google.protobuf.Message other)
Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value)
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder setPbCleanupRatio(double value)
optional double pb_cleanup_ratio = 47 [default = 0.5];
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,...
boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
Builder clearClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder mergeFrom(com.google.ortools.sat.SatParameters other)
Builder setUseOverloadCheckerInCumulativeConstraint(boolean value)
boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
Builder clearMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
Builder setUseDisjunctiveConstraintInCumulativeConstraint(boolean value)
boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder clearMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
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];
Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
Builder clearGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder setMinimizeReductionDuringPbResolution(boolean value)
Builder setDefaultRestartAlgorithmsBytes(com.google.protobuf.ByteString value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder clearPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
Builder clearGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
Builder setUseAbslRandom(boolean value)
optional bool use_absl_random = 180 [default = false];
Builder setUsePrecedencesInDisjunctiveConstraint(boolean value)
Builder setMaxClauseActivityValue(double value)
optional double max_clause_activity_value = 18 [default = 1e+20];
boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
Builder setFillTightenedDomainsInResponse(boolean value)
Builder clearClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder setPresolveProbingDeterministicTimeLimit(double value)
boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder clearRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
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,...
double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
Builder clearUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
Builder setKeepAllFeasibleSolutionsInPresolve(boolean value)
boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
Builder clearInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setLogPrefix(java.lang.String 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];
Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
Builder setFillAdditionalSolutionsInResponse(boolean value)
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...
boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
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 ...
Builder setDefaultRestartAlgorithms(java.lang.String value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value)
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value)
Builder setCutActiveCountDecay(double value)
optional double cut_active_count_decay = 156 [default = 0.8];
boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
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()
boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder clearMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
Builder setMipAutomaticallyScaleVariables(boolean value)
Builder setAlsoBumpVariablesInConflictReasons(boolean value)
Builder setPresolveExtractIntegerEnforcement(boolean value)
com.google.ortools.sat.SatParameters buildPartial()
Builder clearBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER
static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER
static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER
static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER
static final int CLAUSE_CLEANUP_RATIO_FIELD_NUMBER
static final com.google.protobuf.Parser< SatParameters > PARSER
static final int USE_TIMETABLE_EDGE_FINDING_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER
static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER
static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER
static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER
static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER
com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER
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)
boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int FILL_ADDITIONAL_SOLUTIONS_IN_RESPONSE_FIELD_NUMBER
com.google.ortools.sat.SatParameters getDefaultInstanceForType()
double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER
void writeTo(com.google.protobuf.CodedOutputStream output)
static final int MINIMIZE_WITH_PROPAGATION_RESTART_PERIOD_FIELD_NUMBER
static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER
double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
com.google.protobuf.Parser< SatParameters > getParserForType()
static final int SUBSUMPTION_DURING_CONFLICT_ANALYSIS_FIELD_NUMBER
static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER
double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
static final int MIP_WANTED_PRECISION_FIELD_NUMBER
int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static final int ALSO_BUMP_VARIABLES_IN_CONFLICT_REASONS_FIELD_NUMBER
static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER
boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER
static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER
static Builder newBuilder(com.google.ortools.sat.SatParameters prototype)
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input)
static final int AUTO_DETECT_GREATER_THAN_AT_LEAST_ONE_OF_FIELD_NUMBER
static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER
boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER
static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER
static final int DEBUG_MAX_NUM_PRESOLVE_OPERATIONS_FIELD_NUMBER
com.google.protobuf.ByteString getLogPrefixBytes()
static final int FIX_VARIABLES_TO_THEIR_HINTED_VALUE_FIELD_NUMBER
static final int LOG_SUBSOLVER_STATISTICS_FIELD_NUMBER
static com.google.ortools.sat.SatParameters getDefaultInstance()
static final int MIP_COMPUTE_TRUE_OBJECTIVE_BOUND_FIELD_NUMBER
boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
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)
boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER
double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER
static final int NUM_CONFLICTS_BEFORE_STRATEGY_CHANGES_FIELD_NUMBER
static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER
static final int PRESOLVE_PROBING_DETERMINISTIC_TIME_LIMIT_FIELD_NUMBER
static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER
static final int PRESOLVE_EXTRACT_INTEGER_ENFORCEMENT_FIELD_NUMBER
static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER
static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER
static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER
boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
static final int MIN_ORTHOGONALITY_FOR_LP_CONSTRAINTS_FIELD_NUMBER
static final int PERMUTE_PRESOLVE_CONSTRAINT_ORDER_FIELD_NUMBER
boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static final int USE_SAT_INPROCESSING_FIELD_NUMBER
static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER
static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER
com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER
boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER
boolean equals(final java.lang.Object obj)
static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER
static final int DEBUG_CRASH_ON_BAD_HINT_FIELD_NUMBER
boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
static final int USE_PRECEDENCES_IN_DISJUNCTIVE_CONSTRAINT_FIELD_NUMBER
com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
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
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
static final int KEEP_ALL_FEASIBLE_SOLUTIONS_IN_PRESOLVE_FIELD_NUMBER
static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER
static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER
static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER
static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER
boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER
boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER
static final int USE_CUMULATIVE_IN_NO_OVERLAP_2D_FIELD_NUMBER
com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
final com.google.protobuf.UnknownFieldSet getUnknownFields()
static final int DEBUG_POSTSOLVE_WITH_FULL_SOLVER_FIELD_NUMBER
static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER
static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER
static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
static final int FILL_TIGHTENED_DOMAINS_IN_RESPONSE_FIELD_NUMBER
static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER
boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER
static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER
boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data)
boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER
static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER
double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER
static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER
double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
static com.google.protobuf.Parser< SatParameters > parser()
static final int USE_BLOCKING_RESTART_FIELD_NUMBER
static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER
static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER
static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER
boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER
boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER
static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER
static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER
static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER
com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
java.lang.Object newInstance(UnusedPrivateParameter unused)
static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER
boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER
static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER
static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER
boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER
static final int MINIMIZE_WITH_PROPAGATION_NUM_DECISIONS_FIELD_NUMBER
static final int REDUCE_MEMORY_USAGE_IN_INTERLEAVE_MODE_FIELD_NUMBER
com.google.protobuf.ByteString getNameBytes()
boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER
static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER
static final int MAX_DOMAIN_SIZE_WHEN_ENCODING_EQ_NEQ_CONSTRAINTS_FIELD_NUMBER
static final int MIP_MAX_VALID_MAGNITUDE_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data)
static final int MINIMIZE_REDUCTION_DURING_PB_RESOLUTION_FIELD_NUMBER
static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER
static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER
Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER
boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER
int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
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 USE_OVERLOAD_CHECKER_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
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)
BINARY_MINIMIZATION_WITH_REACHABILITY
BINARY_MINIMIZATION_WITH_REACHABILITY = 2;
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static BinaryMinizationAlgorithm valueOf(int value)
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()
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()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< ConflictMinimizationAlgorithm > internalGetValueMap()
static ConflictMinimizationAlgorithm forNumber(int value)
static ConflictMinimizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static ConflictMinimizationAlgorithm valueOf(int value)
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)
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)
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)
static MaxSatStratificationAlgorithm valueOf(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
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()
static Polarity 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()
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()
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()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static VariableOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()