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...
.lang.Override boolean getCountAssumptionLevelsInLbd()
Builder setRestartLbdAverageRatio(double value)
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
.lang.Override boolean hasExpandAlldiffConstraints()
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
Builder setBlockingRestartMultiplier(double value)
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value)
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder addAllRestartAlgorithms(java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm > values)
.lang.Override com.google.ortools.sat.SatParameters buildPartial()
Builder clearPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
Builder setRestartAlgorithms(int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value)
.lang.Override boolean hasSearchRandomizationTolerance()
.lang.Override boolean hasMaxConsecutiveInactiveCount()
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
Builder clearUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean getMinimizeReductionDuringPbResolution()
.lang.Override double getStrategyChangeIncreaseRatio()
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean getDisableConstraintExpansion()
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override boolean hasFixVariablesToTheirHintedValue()
.lang.Override boolean hasOptimizeWithLbTreeSearch()
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
Builder setGlucoseDecayIncrement(double value)
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasUseCumulativeInNoOverlap2D()
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
Builder setUseTimetableEdgeFindingInCumulativeConstraint(boolean value)
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasMaxIntegerRoundingScaling()
Builder clearSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
Builder clearBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
Builder setName(java.lang.String value)
.lang.Override boolean hasDebugMaxNumPresolveOperations()
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
Builder setPermutePresolveConstraintOrder(boolean value)
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean getOptimizeWithLbTreeSearch()
Builder setMinimizeWithPropagationNumDecisions(int value)
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setMergeAtMostOneWorkLimit(double value)
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setNameBytes(com.google.protobuf.ByteString value)
.lang.Override boolean getExpandAlldiffConstraints()
Builder clearMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasExploitIntegerLpSolution()
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
com.google.protobuf.ByteString getLogPrefixBytes()
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
Builder setFixVariablesToTheirHintedValue(boolean value)
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasExploitRelaxationSolution()
Builder setAutoDetectGreaterThanAtLeastOneOf(boolean value)
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
Builder clearMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setInterleaveBatchSize(int value)
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasPolarityRephaseIncrement()
Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value)
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean hasBinarySearchNumConflicts()
.lang.Override boolean getDebugPostsolveWithFullSolver()
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
Builder setPbCleanupRatio(double value)
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder setUseSatInprocessing(boolean value)
optional bool use_sat_inprocessing = 163 [default = false];
Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value)
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder setBlockingRestartWindowSize(int value)
optional int32 blocking_restart_window_size = 65 [default = 5000];
com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean getMipComputeTrueObjectiveBound()
Builder clearClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder mergeFrom(com.google.ortools.sat.SatParameters other)
Builder setUseOverloadCheckerInCumulativeConstraint(boolean value)
.lang.Override boolean hasPseudoCostReliabilityThreshold()
java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasFillAdditionalSolutionsInResponse()
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasInitialVariablesActivity()
Builder clearMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override int getMaxDomainSizeWhenEncodingEqNeqConstraints()
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder setUseDisjunctiveConstraintInCumulativeConstraint(boolean value)
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getMipAutomaticallyScaleVariables()
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
Builder clearMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasCountAssumptionLevelsInLbd()
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder clearFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder setGlucoseDecayIncrementPeriod(int value)
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override final boolean isInitialized()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
Builder clearGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder setMinimizeReductionDuringPbResolution(boolean value)
.lang.Override double getPresolveProbingDeterministicTimeLimit()
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
Builder setDefaultRestartAlgorithmsBytes(com.google.protobuf.ByteString value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder clearPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasDisableConstraintExpansion()
Builder clearMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder clearGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
Builder setUseAbslRandom(boolean value)
optional bool use_absl_random = 180 [default = false];
Builder setUsePrecedencesInDisjunctiveConstraint(boolean value)
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getPresolveExtractIntegerEnforcement()
Builder setMaxClauseActivityValue(double value)
optional double max_clause_activity_value = 18 [default = 1e+20];
Builder setFillTightenedDomainsInResponse(boolean value)
Builder clearClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder setPresolveProbingDeterministicTimeLimit(double value)
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
Builder clearRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override boolean hasPresolveSubstitutionLevel()
Builder clearBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
Builder clearDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder clearUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override double getMinOrthogonalityForLpConstraints()
.lang.Override boolean hasRestartRunningWindowSize()
.lang.Override boolean hasStrategyChangeIncreaseRatio()
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override boolean hasMaxDomainSizeWhenEncodingEqNeqConstraints()
.lang.Override boolean getFillTightenedDomainsInResponse()
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setKeepAllFeasibleSolutionsInPresolve(boolean value)
Builder clearInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder setLogPrefix(java.lang.String value)
Builder clearPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setMaxVariableActivityValue(double value)
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
.lang.Override boolean getFixVariablesToTheirHintedValue()
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
Builder setFillAdditionalSolutionsInResponse(boolean value)
.lang.Override com.google.ortools.sat.SatParameters build()
Builder clearMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value)
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value)
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value)
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override boolean hasDebugPostsolveWithFullSolver()
Builder setDefaultRestartAlgorithms(java.lang.String value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value)
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value)
Builder setCutActiveCountDecay(double value)
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override int getMinimizeWithPropagationRestartPeriod()
boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder setLogPrefixBytes(com.google.protobuf.ByteString value)
Builder clearRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value)
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder setReduceMemoryUsageInInterleaveMode(boolean value)
com.google.protobuf.ByteString getNameBytes()
.lang.Override boolean getFillAdditionalSolutionsInResponse()
.lang.Override boolean getMaxSatReverseAssumptionOrder()
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder clearMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
Builder setMipAutomaticallyScaleVariables(boolean value)
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
Builder setAlsoBumpVariablesInConflictReasons(boolean value)
.lang.Override boolean hasMipAutomaticallyScaleVariables()
Builder setPresolveExtractIntegerEnforcement(boolean value)
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder clearBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean hasMipComputeTrueObjectiveBound()
.lang.Override boolean getUseCumulativeInNoOverlap2D()
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER
static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER
static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER
.lang.Override int getNumConflictsBeforeStrategyChanges()
.lang.Override boolean hasExploitAllLpSolution()
.lang.Override boolean getCountAssumptionLevelsInLbd()
static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER
.lang.Override boolean hasAddObjectiveCut()
static final int CLAUSE_CLEANUP_RATIO_FIELD_NUMBER
.lang.Override boolean hasMipCheckPrecision()
static final int USE_TIMETABLE_EDGE_FINDING_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER
.lang.Override boolean hasRepairHint()
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override boolean getAddCliqueCuts()
static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasCatchSigintSignal()
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
.lang.Override boolean hasUseProbingSearch()
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean hasRandomPolarityRatio()
.lang.Override boolean hasCutLevel()
static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER
static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER
.lang.Override boolean getPresolveUseBva()
static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER
.lang.Override boolean hasExpandAlldiffConstraints()
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER
static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasPresolveBveClauseWeight()
.lang.Override boolean hasPresolveBlockedClause()
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasSearchRandomizationTolerance()
.lang.Override boolean hasAddLpConstraintsLazily()
.lang.Override boolean hasMipVarScaling()
.lang.Override double getMipMaxValidMagnitude()
.lang.Override boolean hasMaxConsecutiveInactiveCount()
.lang.Override boolean hasMaxDeterministicTime()
.lang.Override boolean hasFindMultipleCores()
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
.lang.Override boolean hasUseCombinedNoOverlap()
.lang.Override boolean hasRandomSeed()
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean getMinimizeReductionDuringPbResolution()
.lang.Override int getCpModelProbingLevel()
.lang.Override double getRandomPolarityRatio()
.lang.Override double getStrategyChangeIncreaseRatio()
.lang.Override boolean hasClauseCleanupRatio()
.lang.Override boolean hasCoverOptimization()
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean getDisableConstraintExpansion()
.lang.Override boolean getUseRelaxationLns()
static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER
.lang.Override boolean hasUseLnsOnly()
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override boolean hasRestartPeriod()
.lang.Override boolean hasExploitObjective()
.lang.Override boolean hasPermuteVariableRandomly()
.lang.Override boolean hasFixVariablesToTheirHintedValue()
.lang.Override com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
.lang.Override boolean hasOptimizeWithLbTreeSearch()
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean hasInstantiateAllVariables()
static final int MINIMIZE_WITH_PROPAGATION_RESTART_PERIOD_FIELD_NUMBER
.lang.Override boolean hasUseFeasibilityPump()
static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER
.lang.Override int getMipMaxActivityExponent()
.lang.Override boolean hasUseCumulativeInNoOverlap2D()
.lang.Override boolean getEnumerateAllSolutions()
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override int getRestartAlgorithmsCount()
.lang.Override boolean hasCutCleanupTarget()
.lang.Override boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override int getMaxPresolveIterations()
.lang.Override boolean hasRandomizeSearch()
.lang.Override boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasExploitBestSolution()
static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
.lang.Override int getLinearizationLevel()
static final int SUBSUMPTION_DURING_CONFLICT_ANALYSIS_FIELD_NUMBER
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasMaxIntegerRoundingScaling()
.lang.Override java.lang.String getLogPrefix()
.lang.Override boolean getUseRinsLns()
.lang.Override boolean hasClauseActivityDecay()
static final int MIP_WANTED_PRECISION_FIELD_NUMBER
.lang.Override boolean hasMipMaxActivityExponent()
.lang.Override boolean hasShareObjectiveBounds()
.lang.Override boolean getCpModelUseSatPresolve()
.lang.Override boolean hasLogPrefix()
.lang.Override boolean hasSymmetryLevel()
.lang.Override double getMipWantedPrecision()
.lang.Override boolean hasMaxPresolveIterations()
.lang.Override boolean hasMaxNumberOfConflicts()
.lang.Override boolean hasClauseCleanupTarget()
.lang.Override boolean hasAddMirCuts()
.lang.Override boolean hasDebugMaxNumPresolveOperations()
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
static final int ALSO_BUMP_VARIABLES_IN_CONFLICT_REASONS_FIELD_NUMBER
static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean getMinimizeCore()
.lang.Override double getMergeNoOverlapWorkLimit()
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER
.lang.Override boolean hasConvertIntervals()
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasMergeNoOverlapWorkLimit()
.lang.Override boolean getOptimizeWithLbTreeSearch()
.lang.Override boolean getLogSearchProgress()
static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER
.lang.Override int getNewConstraintsBatchSize()
static Builder newBuilder(com.google.ortools.sat.SatParameters prototype)
.lang.Override boolean hasLogToStdout()
.lang.Override boolean hasPbCleanupIncrement()
.lang.Override boolean hasOptimizeWithMaxHs()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input)
.lang.Override boolean hasVariableActivityDecay()
static final int AUTO_DETECT_GREATER_THAN_AT_LEAST_ONE_OF_FIELD_NUMBER
.lang.Override boolean hasMipWantedPrecision()
.lang.Override boolean hasClauseCleanupLbdBound()
static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean getLogToResponse()
.lang.Override boolean getInstantiateAllVariables()
.lang.Override boolean getUseProbingSearch()
.lang.Override double getMaxDeterministicTime()
.lang.Override boolean getExpandAlldiffConstraints()
.lang.Override boolean hasExploitIntegerLpSolution()
static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER
.lang.Override java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
.lang.Override boolean getShareLevelZeroBounds()
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER
static final int DEBUG_MAX_NUM_PRESOLVE_OPERATIONS_FIELD_NUMBER
.lang.Override boolean getOptimizeWithCore()
static final int FIX_VARIABLES_TO_THEIR_HINTED_VALUE_FIELD_NUMBER
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasClauseCleanupPeriod()
.lang.Override boolean getLogSubsolverStatistics()
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
.lang.Override boolean hasAddZeroHalfCuts()
static final int LOG_SUBSOLVER_STATISTICS_FIELD_NUMBER
static com.google.ortools.sat.SatParameters getDefaultInstance()
static final int MIP_COMPUTE_TRUE_OBJECTIVE_BOUND_FIELD_NUMBER
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasExploitRelaxationSolution()
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
static final int USE_DISJUNCTIVE_CONSTRAINT_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override java.lang.String getName()
static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER
.lang.Override boolean getShareObjectiveBounds()
static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER
.lang.Override boolean hasUsePbResolution()
static final int NUM_CONFLICTS_BEFORE_STRATEGY_CHANGES_FIELD_NUMBER
static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER
.lang.Override boolean hasUseOptionalVariables()
static final int PRESOLVE_PROBING_DETERMINISTIC_TIME_LIMIT_FIELD_NUMBER
static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasAddCliqueCuts()
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasPolarityRephaseIncrement()
.lang.Override boolean hasUseErwaHeuristic()
static final int PRESOLVE_EXTRACT_INTEGER_ENFORCEMENT_FIELD_NUMBER
static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER
.lang.Override int getPolarityRephaseIncrement()
.lang.Override boolean hasNewConstraintsBatchSize()
static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER
static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER
.lang.Override boolean getInterleaveSearch()
.lang.Override boolean hasOnlyAddCutsAtLevelZero()
.lang.Override double getRandomBranchesRatio()
.lang.Override boolean hasBinarySearchNumConflicts()
.lang.Override boolean hasShareLevelZeroBounds()
static final int MIN_ORTHOGONALITY_FOR_LP_CONSTRAINTS_FIELD_NUMBER
static final int PERMUTE_PRESOLVE_CONSTRAINT_ORDER_FIELD_NUMBER
.lang.Override boolean getDebugPostsolveWithFullSolver()
.lang.Override boolean getOnlyAddCutsAtLevelZero()
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean getRepairHint()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
static final int USE_SAT_INPROCESSING_FIELD_NUMBER
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override double getCutMaxActiveCountValue()
.lang.Override double getRestartDlAverageRatio()
static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER
static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER
.lang.Override int getRestartRunningWindowSize()
.lang.Override boolean hasMaxAllDiffCutSize()
.lang.Override boolean hasMaxNumCuts()
.lang.Override boolean hasMipMaxValidMagnitude()
static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER
.lang.Override boolean hasUsePhaseSaving()
static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER
.lang.Override boolean hasOptimizeWithCore()
.lang.Override boolean getExploitAllLpSolution()
.lang.Override boolean hasAddCgCuts()
.lang.Override boolean getMipComputeTrueObjectiveBound()
.lang.Override long getPseudoCostReliabilityThreshold()
static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER
.lang.Override boolean getPermuteVariableRandomly()
.lang.Override double getMaxTimeInSeconds()
.lang.Override int getPresolveSubstitutionLevel()
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasPseudoCostReliabilityThreshold()
.lang.Override boolean hasCpModelProbingLevel()
static final int DEBUG_CRASH_ON_BAD_HINT_FIELD_NUMBER
.lang.Override boolean hasFillAdditionalSolutionsInResponse()
.lang.Override boolean hasMaxMemoryInMb()
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean getOptimizeWithMaxHs()
static final int USE_PRECEDENCES_IN_DISJUNCTIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override Builder newBuilderForType()
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER
.lang.Override int getClauseCleanupTarget()
.lang.Override boolean hasInitialVariablesActivity()
.lang.Override boolean hasMinimizeCore()
.lang.Override boolean hasEnumerateAllSolutions()
.lang.Override double getClauseActivityDecay()
.lang.Override int getMaxDomainSizeWhenEncodingEqNeqConstraints()
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER
static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER
static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER
static final int KEEP_ALL_FEASIBLE_SOLUTIONS_IN_PRESOLVE_FIELD_NUMBER
static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getUseBranchingInLp()
.lang.Override boolean getMipAutomaticallyScaleVariables()
static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER
static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER
static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER
.lang.Override int getMaxConsecutiveInactiveCount()
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override double getMipVarScaling()
static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER
.lang.Override double getClauseCleanupRatio()
.lang.Override int getBooleanEncodingLevel()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean getPolishLpSolution()
.lang.Override boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER
.lang.Override boolean hasAbsoluteGapLimit()
static final int USE_CUMULATIVE_IN_NO_OVERLAP_2D_FIELD_NUMBER
.lang.Override long getProbingPeriodAtRoot()
.lang.Override boolean hasUseExactLpReason()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasCountAssumptionLevelsInLbd()
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
.lang.Override final boolean isInitialized()
.lang.Override boolean hasInterleaveSearch()
.lang.Override boolean getStopAfterFirstSolution()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
static final int DEBUG_POSTSOLVE_WITH_FULL_SOLVER_FIELD_NUMBER
.lang.Override double getPresolveProbingDeterministicTimeLimit()
.lang.Override double getInitialVariablesActivity()
static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
.lang.Override boolean getCatchSigintSignal()
.lang.Override boolean hasBooleanEncodingLevel()
.lang.Override boolean hasMaxTimeInSeconds()
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean hasHintConflictLimit()
.lang.Override int getPresolveBvaThreshold()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER
static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override int getPresolveBveClauseWeight()
.lang.Override boolean getLogToStdout()
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override double getMipCheckPrecision()
.lang.Override boolean hasSolutionPoolSize()
.lang.Override boolean hasPresolveUseBva()
.lang.Override boolean getUseOptimizationHints()
.lang.Override int getClauseCleanupPeriod()
.lang.Override long getSearchRandomizationTolerance()
.lang.Override boolean hasDisableConstraintExpansion()
.lang.Override boolean hasMaxCutRoundsAtLevelZero()
.lang.Override boolean hasGlucoseMaxDecay()
.lang.Override boolean hasLogToResponse()
.lang.Override boolean hasUseImpliedBounds()
.lang.Override boolean hasCutMaxActiveCountValue()
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
static final int FILL_TIGHTENED_DOMAINS_IN_RESPONSE_FIELD_NUMBER
static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasUseRelaxationLns()
static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER
.lang.Override boolean getUseCombinedNoOverlap()
.lang.Deprecated static final com.google.protobuf.Parser< SatParameters > PARSER
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getPresolveExtractIntegerEnforcement()
static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data)
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Override double getGlucoseMaxDecay()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
.lang.Override boolean hasProbingPeriodAtRoot()
.lang.Override boolean hasCpModelUseSatPresolve()
.lang.Override boolean getConvertIntervals()
.lang.Override boolean hasRestartDlAverageRatio()
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
.lang.Override com.google.protobuf.Parser< SatParameters > getParserForType()
.lang.Override boolean hasLinearizationLevel()
static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER
static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override boolean hasPresolveSubstitutionLevel()
.lang.Override boolean getAddCgCuts()
.lang.Override boolean hasPresolveBvaThreshold()
.lang.Override boolean getExploitBestSolution()
static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER
.lang.Override com.google.protobuf.ByteString getNameBytes()
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override double getMinOrthogonalityForLpConstraints()
.lang.Override boolean hasLogSubsolverStatistics()
.lang.Override boolean hasRestartRunningWindowSize()
static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER
.lang.Override boolean hasStrategyChangeIncreaseRatio()
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean getDiversifyLnsParams()
static com.google.protobuf.Parser< SatParameters > parser()
.lang.Override boolean hasMipMaxBound()
static final int USE_BLOCKING_RESTART_FIELD_NUMBER
static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override boolean hasMaxDomainSizeWhenEncodingEqNeqConstraints()
.lang.Override boolean getFillTightenedDomainsInResponse()
static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasUseRinsLns()
.lang.Override boolean getExploitObjective()
static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
.lang.Override boolean hasUseBlockingRestart()
static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean getAddObjectiveCut()
.lang.Override boolean hasStopAfterFirstSolution()
static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER
static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER
.lang.Override boolean hasPresolveBveThreshold()
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER
.lang.Override boolean getCpModelPresolve()
.lang.Override boolean getFixVariablesToTheirHintedValue()
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getCoverOptimization()
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Override double getAbsoluteGapLimit()
.lang.Override boolean equals(final java.lang.Object obj)
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override int getPresolveBveThreshold()
.lang.Override boolean getUseImpliedBounds()
static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER
.lang.Override double getVariableActivityDecay()
.lang.Override boolean getUseLnsOnly()
.lang.Override int getPbCleanupIncrement()
.lang.Override boolean getPresolveBlockedClause()
static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER
.lang.Override boolean hasDebugCrashOnBadHint()
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
.lang.Override boolean hasDebugPostsolveWithFullSolver()
static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
.lang.Override boolean hasStopAfterPresolve()
.lang.Override boolean hasDiversifyLnsParams()
.lang.Override int getClauseCleanupLbdBound()
static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER
.lang.Override int getMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasCpModelPresolve()
.lang.Override boolean getFindMultipleCores()
.lang.Override int getMaxIntegerRoundingScaling()
.lang.Override boolean hasRandomBranchesRatio()
static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER
.lang.Override boolean hasPolishLpSolution()
.lang.Override com.google.protobuf.ByteString getLogPrefixBytes()
.lang.Override boolean getUsePhaseSaving()
static final int MINIMIZE_WITH_PROPAGATION_NUM_DECISIONS_FIELD_NUMBER
.lang.Override boolean getAddLinMaxCuts()
static final int REDUCE_MEMORY_USAGE_IN_INTERLEAVE_MODE_FIELD_NUMBER
.lang.Override boolean getAddMirCuts()
.lang.Override boolean getDebugCrashOnBadHint()
.lang.Override boolean getFillAdditionalSolutionsInResponse()
.lang.Override boolean getMaxSatReverseAssumptionOrder()
.lang.Override long getMaxNumberOfConflicts()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean getUseOptionalVariables()
.lang.Override boolean getUsePbResolution()
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override int getDebugMaxNumPresolveOperations()
.lang.Override boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER
.lang.Override boolean getAddZeroHalfCuts()
.lang.Override boolean getAddLpConstraintsLazily()
.lang.Override boolean getUseErwaHeuristic()
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean hasUseOptimizationHints()
static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER
.lang.Override boolean hasMipAutomaticallyScaleVariables()
static final int MAX_DOMAIN_SIZE_WHEN_ENCODING_EQ_NEQ_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean hasLogSearchProgress()
.lang.Override boolean hasUseBranchingInLp()
static final int MIP_MAX_VALID_MAGNITUDE_FIELD_NUMBER
.lang.Override boolean getRandomizeSearch()
.lang.Override boolean hasNumSearchWorkers()
.lang.Override boolean hasAddLinMaxCuts()
.lang.Override boolean getUseFeasibilityPump()
.lang.Override double getMipMaxBound()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data)
static final int MINIMIZE_REDUCTION_DURING_PB_RESOLUTION_FIELD_NUMBER
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER
static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER
.lang.Override boolean getUseBlockingRestart()
.lang.Override int getBinarySearchNumConflicts()
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean getUseExactLpReason()
static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER
.lang.Override int getMaxCutRoundsAtLevelZero()
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER
static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER
static final int OPTIMIZE_WITH_LB_TREE_SEARCH_FIELD_NUMBER
static final int MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER
.lang.Override boolean hasMipComputeTrueObjectiveBound()
.lang.Override boolean getUseCumulativeInNoOverlap2D()
static final int USE_OVERLOAD_CHECKER_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean getStopAfterPresolve()
static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION = 4;
static BinaryMinizationAlgorithm forNumber(int value)
.lang.Deprecated static BinaryMinizationAlgorithm valueOf(int value)
BINARY_MINIMIZATION_WITH_REACHABILITY
BINARY_MINIMIZATION_WITH_REACHABILITY = 2;
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
EXPERIMENTAL_BINARY_MINIMIZATION
EXPERIMENTAL_BINARY_MINIMIZATION = 3;
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static BinaryMinizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< BinaryMinizationAlgorithm > internalGetValueMap()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static ClauseOrdering valueOf(int value)
static com.google.protobuf.Internal.EnumLiteMap< ClauseOrdering > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static ClauseOrdering valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static ClauseProtection valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< ClauseProtection > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Deprecated static ClauseProtection valueOf(int value)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static ConflictMinimizationAlgorithm valueOf(int value)
static com.google.protobuf.Internal.EnumLiteMap< ConflictMinimizationAlgorithm > internalGetValueMap()
static ConflictMinimizationAlgorithm forNumber(int value)
static ConflictMinimizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Internal.EnumLiteMap< FPRoundingMethod > internalGetValueMap()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static FPRoundingMethod valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Deprecated static FPRoundingMethod valueOf(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static MaxSatAssumptionOrder forNumber(int value)
.lang.Deprecated static MaxSatAssumptionOrder valueOf(int value)
static MaxSatAssumptionOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< MaxSatAssumptionOrder > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< MaxSatStratificationAlgorithm > internalGetValueMap()
static MaxSatStratificationAlgorithm forNumber(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Deprecated static MaxSatStratificationAlgorithm valueOf(int value)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static MaxSatStratificationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< Polarity > internalGetValueMap()
.lang.Deprecated static Polarity valueOf(int value)
static Polarity valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Deprecated static RestartAlgorithm valueOf(int value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< RestartAlgorithm > internalGetValueMap()
static RestartAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static SearchBranching valueOf(int value)
static com.google.protobuf.Internal.EnumLiteMap< SearchBranching > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static SearchBranching valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< VariableOrder > internalGetValueMap()
.lang.Deprecated static VariableOrder valueOf(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static VariableOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()