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 
4 package com.google.ortools.sat;
5 
15 public final class SatParameters extends
16  com.google.protobuf.GeneratedMessageV3 implements
17  // @@protoc_insertion_point(message_implements:operations_research.sat.SatParameters)
19 private 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(
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 {
1448  NONE(0),
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 
1691  public enum ClauseProtection
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 
1799  public static ClauseProtection valueOf(
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 
1916  public static ClauseOrdering valueOf(
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 
1945  public enum RestartAlgorithm
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 
2079  public static RestartAlgorithm valueOf(
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 
2354  public enum SearchBranching
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 
2552  public static SearchBranching valueOf(
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 
2577  public enum FPRoundingMethod
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 
2718  public static FPRoundingMethod valueOf(
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  }
2819  @SuppressWarnings("deprecation")
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  }
2838  @SuppressWarnings("deprecation")
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
2899  public boolean hasPolarityRephaseIncrement() {
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
3030  public boolean hasInitialVariablesActivity() {
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  }
3098  @SuppressWarnings("deprecation")
3100  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
3101  }
3102 
3103  public static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER = 34;
3104  private int binaryMinimizationAlgorithm_;
3109  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
3110  return ((bitField0_ & 0x00000800) != 0);
3111  }
3117  @SuppressWarnings("deprecation")
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
3178  public int getClauseCleanupPeriod() {
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
3207  public int getClauseCleanupTarget() {
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  }
3256  @SuppressWarnings("deprecation")
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  }
3304  @SuppressWarnings("deprecation")
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
3332  public int getPbCleanupIncrement() {
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
3456  public double getVariableActivityDecay() {
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
3467  public boolean hasMaxVariableActivityValue() {
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
3527  public double getGlucoseDecayIncrement() {
3528  return glucoseDecayIncrement_;
3529  }
3530 
3531  public static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER = 24;
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
3592  public double getMaxClauseActivityValue() {
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")
3605  return result == null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
3606  }
3607  };
3623  @java.lang.Override
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
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
3675  public boolean hasDefaultRestartAlgorithms() {
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
3756  public boolean hasRestartRunningWindowSize() {
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
3797  public double getRestartDlAverageRatio() {
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
3816  public double getRestartLbdAverageRatio() {
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
3858  public boolean hasBlockingRestartWindowSize() {
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
3877  public boolean hasBlockingRestartMultiplier() {
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 
3920  public static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER = 69;
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
4042  public long getMaxNumberOfConflicts() {
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 
4155  public static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER = 33;
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
4237  public boolean hasPermuteVariableRandomly() {
4238  return ((bitField1_ & 0x00010000) != 0);
4239  }
4251  @java.lang.Override
4252  public boolean getPermuteVariableRandomly() {
4253  return permuteVariableRandomly_;
4254  }
4255 
4256  public static final int PERMUTE_PRESOLVE_CONSTRAINT_ORDER_FIELD_NUMBER = 179;
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 
4534  public static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER = 49;
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
4618  public boolean hasPresolveBveClauseWeight() {
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
4834  public int getCpModelProbingLevel() {
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
4896  public boolean hasExpandAlldiffConstraints() {
4897  return ((bitField2_ & 0x00000040) != 0);
4898  }
4908  @java.lang.Override
4909  public boolean getExpandAlldiffConstraints() {
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
4957  public boolean hasMergeNoOverlapWorkLimit() {
4958  return ((bitField2_ & 0x00000100) != 0);
4959  }
4972  @java.lang.Override
4973  public double getMergeNoOverlapWorkLimit() {
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
4984  public boolean hasMergeAtMostOneWorkLimit() {
4985  return ((bitField2_ & 0x00000200) != 0);
4986  }
4991  @java.lang.Override
4992  public double getMergeAtMostOneWorkLimit() {
4993  return mergeAtMostOneWorkLimit_;
4994  }
4995 
4996  public static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER = 147;
4997  private int presolveSubstitutionLevel_;
5009  @java.lang.Override
5010  public boolean hasPresolveSubstitutionLevel() {
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 
5066  public static final int DEBUG_POSTSOLVE_WITH_FULL_SOLVER_FIELD_NUMBER = 162;
5067  private boolean debugPostsolveWithFullSolver_;
5078  @java.lang.Override
5080  return ((bitField2_ & 0x00001000) != 0);
5081  }
5092  @java.lang.Override
5094  return debugPostsolveWithFullSolver_;
5095  }
5096 
5097  public static final int DEBUG_MAX_NUM_PRESOLVE_OPERATIONS_FIELD_NUMBER = 151;
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  }
5285  @SuppressWarnings("deprecation")
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  }
5333  @SuppressWarnings("deprecation")
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 
5494  public static final int USE_CUMULATIVE_IN_NO_OVERLAP_2D_FIELD_NUMBER = 200;
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
5558  public int getLinearizationLevel() {
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
5897  public int getMaxAllDiffCutSize() {
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
5949  public boolean hasMaxIntegerRoundingScaling() {
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
6050  public boolean hasMaxCutRoundsAtLevelZero() {
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
6124  public double getCutMaxActiveCountValue() {
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
6186  public boolean hasNewConstraintsBatchSize() {
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  }
6217  @SuppressWarnings("deprecation")
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
6245  public int getHintConflictLimit() {
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
6325  public boolean hasExploitIntegerLpSolution() {
6326  return ((bitField3_ & 0x00200000) != 0);
6327  }
6339  @java.lang.Override
6340  public boolean getExploitIntegerLpSolution() {
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
6415  public boolean hasExploitRelaxationSolution() {
6416  return ((bitField3_ & 0x01000000) != 0);
6417  }
6428  @java.lang.Override
6429  public boolean getExploitRelaxationSolution() {
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
6489  public long getProbingPeriodAtRoot() {
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 
6522  public static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER = 123;
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
6599  public boolean hasOptimizeWithLbTreeSearch() {
6600  return ((bitField3_ & 0x40000000) != 0);
6601  }
6614  @java.lang.Override
6615  public boolean getOptimizeWithLbTreeSearch() {
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
6633  public boolean hasBinarySearchNumConflicts() {
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
6855  public boolean hasInstantiateAllVariables() {
6856  return ((bitField4_ & 0x00000020) != 0);
6857  }
6869  @java.lang.Override
6870  public boolean getInstantiateAllVariables() {
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
7052  public int getInterleaveBatchSize() {
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  }
7261  @SuppressWarnings("deprecation")
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 
7735  public static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER = 166;
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 
7885  public static final int MIP_COMPUTE_TRUE_OBJECTIVE_BOUND_FIELD_NUMBER = 198;
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  }
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;
9191  if (hasPreferredVariableOrder()) {
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()) {
9222  if (getUseErwaHeuristic()
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;
9237  if (hasMinimizationAlgorithm()) {
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;
9270  if (hasClauseCleanupLbdBound()) {
9272  != other.getClauseCleanupLbdBound()) return false;
9273  }
9274  if (hasClauseCleanupOrdering() != other.hasClauseCleanupOrdering()) return false;
9275  if (hasClauseCleanupOrdering()) {
9276  if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_) return false;
9277  }
9278  if (hasPbCleanupIncrement() != other.hasPbCleanupIncrement()) return false;
9279  if (hasPbCleanupIncrement()) {
9280  if (getPbCleanupIncrement()
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;
9300  if (hasVariableActivityDecay()) {
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;
9318  if (hasGlucoseDecayIncrement()) {
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;
9335  if (hasMaxClauseActivityValue()) {
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;
9357  if (hasRestartDlAverageRatio()) {
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;
9363  if (hasRestartLbdAverageRatio()) {
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()) {
9370  if (getUseBlockingRestart()
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;
9402  if (hasMaxDeterministicTime()) {
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;
9408  if (hasMaxNumberOfConflicts()) {
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()) {
9456  if (getLogSearchProgress()
9457  != other.getLogSearchProgress()) return false;
9458  }
9459  if (hasLogSubsolverStatistics() != other.hasLogSubsolverStatistics()) return false;
9460  if (hasLogSubsolverStatistics()) {
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;
9495  if (hasPresolveBveThreshold()) {
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;
9511  if (hasPresolveBlockedClause()) {
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;
9521  if (hasPresolveBvaThreshold()) {
9523  != other.getPresolveBvaThreshold()) return false;
9524  }
9525  if (hasMaxPresolveIterations() != other.hasMaxPresolveIterations()) return false;
9526  if (hasMaxPresolveIterations()) {
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;
9541  if (hasCpModelUseSatPresolve()) {
9543  != other.getCpModelUseSatPresolve()) return false;
9544  }
9545  if (hasUseSatInprocessing() != other.hasUseSatInprocessing()) return false;
9546  if (hasUseSatInprocessing()) {
9547  if (getUseSatInprocessing()
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;
9598  if (hasUseOptimizationHints()) {
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()) {
9609  if (getFindMultipleCores()
9610  != other.getFindMultipleCores()) return false;
9611  }
9612  if (hasCoverOptimization() != other.hasCoverOptimization()) return false;
9613  if (hasCoverOptimization()) {
9614  if (getCoverOptimization()
9615  != other.getCoverOptimization()) return false;
9616  }
9617  if (hasMaxSatAssumptionOrder() != other.hasMaxSatAssumptionOrder()) return false;
9618  if (hasMaxSatAssumptionOrder()) {
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;
9627  if (hasMaxSatStratification()) {
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()) {
9657  if (getLinearizationLevel()
9658  != other.getLinearizationLevel()) return false;
9659  }
9660  if (hasBooleanEncodingLevel() != other.hasBooleanEncodingLevel()) return false;
9661  if (hasBooleanEncodingLevel()) {
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;
9681  if (hasOnlyAddCutsAtLevelZero()) {
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()) {
9712  if (getMaxAllDiffCutSize()
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;
9726  if (hasAddLpConstraintsLazily()) {
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;
9747  if (hasCutMaxActiveCountValue()) {
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()) {
9760  if (getCutCleanupTarget()
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()) {
9774  if (getHintConflictLimit()
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;
9793  if (hasExploitAllLpSolution()) {
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()) {
9809  if (getExploitObjective()
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()) {
9819  if (getUseProbingSearch()
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()) {
9829  if (getOptimizeWithCore()
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()) {
9844  if (getOptimizeWithMaxHs()
9845  != other.getOptimizeWithMaxHs()) return false;
9846  }
9847  if (hasEnumerateAllSolutions() != other.hasEnumerateAllSolutions()) return false;
9848  if (hasEnumerateAllSolutions()) {
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;
9878  if (hasStopAfterFirstSolution()) {
9880  != other.getStopAfterFirstSolution()) return false;
9881  }
9882  if (hasStopAfterPresolve() != other.hasStopAfterPresolve()) return false;
9883  if (hasStopAfterPresolve()) {
9884  if (getStopAfterPresolve()
9885  != other.getStopAfterPresolve()) return false;
9886  }
9887  if (hasNumSearchWorkers() != other.hasNumSearchWorkers()) return false;
9888  if (hasNumSearchWorkers()) {
9889  if (getNumSearchWorkers()
9890  != other.getNumSearchWorkers()) return false;
9891  }
9892  if (hasInterleaveSearch() != other.hasInterleaveSearch()) return false;
9893  if (hasInterleaveSearch()) {
9894  if (getInterleaveSearch()
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;
9908  if (hasShareObjectiveBounds()) {
9910  != other.getShareObjectiveBounds()) return false;
9911  }
9912  if (hasShareLevelZeroBounds() != other.hasShareLevelZeroBounds()) return false;
9913  if (hasShareLevelZeroBounds()) {
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()) {
9924  if (getSolutionPoolSize()
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()) {
9934  if (getUseFeasibilityPump()
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()) {
9943  if (getUseRelaxationLns()
9944  != other.getUseRelaxationLns()) return false;
9945  }
9946  if (hasDiversifyLnsParams() != other.hasDiversifyLnsParams()) return false;
9947  if (hasDiversifyLnsParams()) {
9948  if (getDiversifyLnsParams()
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;
9962  if (hasUseOptionalVariables()) {
9964  != other.getUseOptionalVariables()) return false;
9965  }
9966  if (hasUseExactLpReason() != other.hasUseExactLpReason()) return false;
9967  if (hasUseExactLpReason()) {
9968  if (getUseExactLpReason()
9969  != other.getUseExactLpReason()) return false;
9970  }
9971  if (hasUseBranchingInLp() != other.hasUseBranchingInLp()) return false;
9972  if (hasUseBranchingInLp()) {
9973  if (getUseBranchingInLp()
9974  != other.getUseBranchingInLp()) return false;
9975  }
9976  if (hasUseCombinedNoOverlap() != other.hasUseCombinedNoOverlap()) return false;
9977  if (hasUseCombinedNoOverlap()) {
9979  != other.getUseCombinedNoOverlap()) return false;
9980  }
9981  if (hasCatchSigintSignal() != other.hasCatchSigintSignal()) return false;
9982  if (hasCatchSigintSignal()) {
9983  if (getCatchSigintSignal()
9984  != other.getCatchSigintSignal()) return false;
9985  }
9986  if (hasUseImpliedBounds() != other.hasUseImpliedBounds()) return false;
9987  if (hasUseImpliedBounds()) {
9988  if (getUseImpliedBounds()
9989  != other.getUseImpliedBounds()) return false;
9990  }
9991  if (hasPolishLpSolution() != other.hasPolishLpSolution()) return false;
9992  if (hasPolishLpSolution()) {
9993  if (getPolishLpSolution()
9994  != other.getPolishLpSolution()) return false;
9995  }
9996  if (hasConvertIntervals() != other.hasConvertIntervals()) return false;
9997  if (hasConvertIntervals()) {
9998  if (getConvertIntervals()
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;
10030  if (hasMipMaxActivityExponent()) {
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;
10046  if (hasMipMaxValidMagnitude()) {
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  }
10066  if (hasPreferredVariableOrder()) {
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(
10077  getUsePhaseSaving());
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  }
10108  if (hasMinimizationAlgorithm()) {
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  }
10138  if (hasClauseCleanupLbdBound()) {
10139  hash = (37 * hash) + CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER;
10140  hash = (53 * hash) + getClauseCleanupLbdBound();
10141  }
10142  if (hasClauseCleanupOrdering()) {
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  }
10163  if (hasVariableActivityDecay()) {
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  }
10178  if (hasGlucoseDecayIncrement()) {
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  }
10184  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER;
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  }
10192  if (hasMaxClauseActivityValue()) {
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  }
10213  if (hasRestartDlAverageRatio()) {
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  }
10218  if (hasRestartLbdAverageRatio()) {
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  }
10242  hash = (37 * hash) + STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER;
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  }
10251  if (hasMaxDeterministicTime()) {
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  }
10256  if (hasMaxNumberOfConflicts()) {
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(
10264  getMaxMemoryInMb());
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  }
10277  hash = (37 * hash) + TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER;
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(
10298  getUseAbslRandom());
10299  }
10300  if (hasLogSearchProgress()) {
10301  hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
10302  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10304  }
10305  if (hasLogSubsolverStatistics()) {
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(
10322  getLogToResponse());
10323  }
10324  if (hasUsePbResolution()) {
10325  hash = (37 * hash) + USE_PB_RESOLUTION_FIELD_NUMBER;
10326  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10327  getUsePbResolution());
10328  }
10331  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10333  }
10335  hash = (37 * hash) + COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER;
10336  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10338  }
10339  if (hasPresolveBveThreshold()) {
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  }
10352  if (hasPresolveBlockedClause()) {
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(
10360  getPresolveUseBva());
10361  }
10362  if (hasPresolveBvaThreshold()) {
10363  hash = (37 * hash) + PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER;
10364  hash = (53 * hash) + getPresolveBvaThreshold();
10365  }
10366  if (hasMaxPresolveIterations()) {
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(
10373  getCpModelPresolve());
10374  }
10375  if (hasCpModelProbingLevel()) {
10376  hash = (37 * hash) + CP_MODEL_PROBING_LEVEL_FIELD_NUMBER;
10377  hash = (53 * hash) + getCpModelProbingLevel();
10378  }
10379  if (hasCpModelUseSatPresolve()) {
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  }
10419  hash = (37 * hash) + DEBUG_POSTSOLVE_WITH_FULL_SOLVER_FIELD_NUMBER;
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  }
10432  if (hasUseOptimizationHints()) {
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  }
10452  if (hasMaxSatAssumptionOrder()) {
10453  hash = (37 * hash) + MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER;
10454  hash = (53 * hash) + maxSatAssumptionOrder_;
10455  }
10457  hash = (37 * hash) + MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER;
10458  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10460  }
10461  if (hasMaxSatStratification()) {
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  }
10486  hash = (37 * hash) + USE_CUMULATIVE_IN_NO_OVERLAP_2D_FIELD_NUMBER;
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  }
10494  if (hasBooleanEncodingLevel()) {
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  }
10510  if (hasOnlyAddCutsAtLevelZero()) {
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(
10518  getAddObjectiveCut());
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(
10533  getAddZeroHalfCuts());
10534  }
10535  if (hasAddCliqueCuts()) {
10536  hash = (37 * hash) + ADD_CLIQUE_CUTS_FIELD_NUMBER;
10537  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10538  getAddCliqueCuts());
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(
10547  getAddLinMaxCuts());
10548  }
10550  hash = (37 * hash) + MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER;
10551  hash = (53 * hash) + getMaxIntegerRoundingScaling();
10552  }
10553  if (hasAddLpConstraintsLazily()) {
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  }
10568  hash = (37 * hash) + MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER;
10569  hash = (53 * hash) + getMaxConsecutiveInactiveCount();
10570  }
10571  if (hasCutMaxActiveCountValue()) {
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  }
10612  if (hasExploitAllLpSolution()) {
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  }
10666  if (hasEnumerateAllSolutions()) {
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  }
10696  if (hasStopAfterFirstSolution()) {
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  }
10724  if (hasShareObjectiveBounds()) {
10725  hash = (37 * hash) + SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER;
10726  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10728  }
10729  if (hasShareLevelZeroBounds()) {
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(
10770  getRandomizeSearch());
10771  }
10773  hash = (37 * hash) + SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER;
10774  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10776  }
10777  if (hasUseOptionalVariables()) {
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  }
10792  if (hasUseCombinedNoOverlap()) {
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  }
10841  if (hasMipMaxActivityExponent()) {
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  }
10851  hash = (37 * hash) + MIP_COMPUTE_TRUE_OBJECTIVE_BOUND_FIELD_NUMBER;
10852  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10854  }
10855  if (hasMipMaxValidMagnitude()) {
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 
10866  java.nio.ByteBuffer data)
10867  throws com.google.protobuf.InvalidProtocolBufferException {
10868  return PARSER.parseFrom(data);
10869  }
10871  java.nio.ByteBuffer data,
10872  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10873  throws com.google.protobuf.InvalidProtocolBufferException {
10874  return PARSER.parseFrom(data, extensionRegistry);
10875  }
10877  com.google.protobuf.ByteString data)
10878  throws com.google.protobuf.InvalidProtocolBufferException {
10879  return PARSER.parseFrom(data);
10880  }
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  }
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  }
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  }
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  }
10922  com.google.protobuf.CodedInputStream input)
10923  throws java.io.IOException {
10924  return com.google.protobuf.GeneratedMessageV3
10925  .parseWithIOException(PARSER, input);
10926  }
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
10944  public Builder toBuilder() {
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(
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
11351  }
11352 
11353  @java.lang.Override
11356  if (!result.isInitialized()) {
11357  throw newUninitializedMessageException(result);
11358  }
11359  return result;
11360  }
11361 
11362  @java.lang.Override
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 
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  }
12757  public Builder clearName() {
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
12798  @SuppressWarnings("deprecation")
12800  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
12801  }
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
12841  @SuppressWarnings("deprecation")
12843  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
12844  }
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
12969  public boolean hasPolarityRephaseIncrement() {
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
13232  public boolean hasInitialVariablesActivity() {
13233  return ((bitField0_ & 0x00000100) != 0);
13234  }
13248  @java.lang.Override
13250  return initialVariablesActivity_;
13251  }
13266  public Builder setInitialVariablesActivity(double value) {
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
13373  @SuppressWarnings("deprecation")
13375  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
13376  }
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
13416  @SuppressWarnings("deprecation")
13419  }
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
13534  public int getClauseCleanupPeriod() {
13535  return clauseCleanupPeriod_;
13536  }
13546  public Builder setClauseCleanupPeriod(int value) {
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
13591  public int getClauseCleanupTarget() {
13592  return clauseCleanupTarget_;
13593  }
13604  public Builder setClauseCleanupTarget(int value) {
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
13703  @SuppressWarnings("deprecation")
13705  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
13706  }
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  }
13769  public Builder setClauseCleanupLbdBound(int value) {
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
13805  @SuppressWarnings("deprecation")
13807  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
13808  }
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
13856  public int getPbCleanupIncrement() {
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
14096  public double getVariableActivityDecay() {
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
14147  public boolean hasMaxVariableActivityValue() {
14148  return ((bitField0_ & 0x01000000) != 0);
14149  }
14154  @java.lang.Override
14156  return maxVariableActivityValue_;
14157  }
14163  public Builder setMaxVariableActivityValue(double value) {
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
14261  public double getGlucoseDecayIncrement() {
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
14394  public double getMaxClauseActivityValue() {
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  }
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  }
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  }
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";
14587  public boolean hasDefaultRestartAlgorithms() {
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
14735  public boolean hasRestartRunningWindowSize() {
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
14804  public double getRestartDlAverageRatio() {
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
14853  public double getRestartLbdAverageRatio() {
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
14947  public boolean hasBlockingRestartWindowSize() {
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
14986  public boolean hasBlockingRestartMultiplier() {
14987  return ((bitField1_ & 0x00000040) != 0);
14988  }
14993  @java.lang.Override
14995  return blockingRestartMultiplier_;
14996  }
15002  public Builder setBlockingRestartMultiplier(double value) {
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
15295  public long getMaxNumberOfConflicts() {
15296  return maxNumberOfConflicts_;
15297  }
15312  public Builder setMaxNumberOfConflicts(long value) {
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
15710  public boolean hasPermuteVariableRandomly() {
15711  return ((bitField1_ & 0x00020000) != 0);
15712  }
15724  @java.lang.Override
15725  public boolean getPermuteVariableRandomly() {
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  }
16371  public Builder setCountAssumptionLevelsInLbd(boolean value) {
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  }
16439  public Builder setPresolveBveThreshold(int value) {
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
16473  public boolean hasPresolveBveClauseWeight() {
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  }
16737  public Builder setPresolveBvaThreshold(int value) {
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  }
16801  public Builder setMaxPresolveIterations(int value) {
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
16901  public int getCpModelProbingLevel() {
16902  return cpModelProbingLevel_;
16903  }
16913  public Builder setCpModelProbingLevel(int value) {
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
17039  public boolean hasExpandAlldiffConstraints() {
17040  return ((bitField2_ & 0x00000080) != 0);
17041  }
17051  @java.lang.Override
17052  public boolean getExpandAlldiffConstraints() {
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  }
17124  public Builder setDisableConstraintExpansion(boolean value) {
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
17160  public boolean hasMergeNoOverlapWorkLimit() {
17161  return ((bitField2_ & 0x00000200) != 0);
17162  }
17175  @java.lang.Override
17176  public double getMergeNoOverlapWorkLimit() {
17177  return mergeNoOverlapWorkLimit_;
17178  }
17192  public Builder setMergeNoOverlapWorkLimit(double value) {
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
17223  public boolean hasMergeAtMostOneWorkLimit() {
17224  return ((bitField2_ & 0x00000400) != 0);
17225  }
17230  @java.lang.Override
17231  public double getMergeAtMostOneWorkLimit() {
17232  return mergeAtMostOneWorkLimit_;
17233  }
17239  public Builder setMergeAtMostOneWorkLimit(double value) {
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
17269  public boolean hasPresolveSubstitutionLevel() {
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
17829  @SuppressWarnings("deprecation")
17832  }
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
17931  @SuppressWarnings("deprecation")
17934  }
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  }
18322  public Builder setUseCumulativeInNoOverlap2D(boolean value) {
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
18375  public int getLinearizationLevel() {
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  }
18451  public Builder setBooleanEncodingLevel(int value) {
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
19066  public int getMaxAllDiffCutSize() {
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
19182  public boolean hasMaxIntegerRoundingScaling() {
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
19393  public boolean hasMaxCutRoundsAtLevelZero() {
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
19527  public double getCutMaxActiveCountValue() {
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
19669  public boolean hasNewConstraintsBatchSize() {
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
19731  @SuppressWarnings("deprecation")
19733  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
19734  }
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
19782  public int getHintConflictLimit() {
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
19954  public boolean hasExploitIntegerLpSolution() {
19955  return ((bitField3_ & 0x00400000) != 0);
19956  }
19968  @java.lang.Override
19969  public boolean getExploitIntegerLpSolution() {
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
20138  public boolean hasExploitRelaxationSolution() {
20139  return ((bitField3_ & 0x02000000) != 0);
20140  }
20151  @java.lang.Override
20152  public boolean getExploitRelaxationSolution() {
20153  return exploitRelaxationSolution_;
20154  }
20166  public Builder setExploitRelaxationSolution(boolean value) {
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
20274  public long getProbingPeriodAtRoot() {
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
20510  public boolean hasOptimizeWithLbTreeSearch() {
20511  return ((bitField3_ & 0x80000000) != 0);
20512  }
20525  @java.lang.Override
20526  public boolean getOptimizeWithLbTreeSearch() {
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
20580  public boolean hasBinarySearchNumConflicts() {
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
21030  public boolean hasInstantiateAllVariables() {
21031  return ((bitField4_ & 0x00000040) != 0);
21032  }
21044  @java.lang.Override
21045  public boolean getInstantiateAllVariables() {
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
21429  public int getInterleaveBatchSize() {
21430  return interleaveBatchSize_;
21431  }
21437  public Builder setInterleaveBatchSize(int value) {
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
21857  @SuppressWarnings("deprecation")
21859  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
21860  }
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 
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
23332  return DEFAULT_INSTANCE;
23333  }
23334 
23335 }
23336 
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override Builder newBuilderForType()
.lang.Override boolean getUseExactLpReason()
static com.google.protobuf.Internal.EnumLiteMap< ConflictMinimizationAlgorithm > internalGetValueMap()
static final int DEBUG_POSTSOLVE_WITH_FULL_SOLVER_FIELD_NUMBER
.lang.Override int getMaxConsecutiveInactiveCount()
.lang.Override boolean hasMaxConsecutiveInactiveCount()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasMaxIntegerRoundingScaling()
.lang.Override boolean hasAddMirCuts()
Builder setGlucoseDecayIncrementPeriod(int value)
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder clearBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Deprecated static BinaryMinizationAlgorithm valueOf(int value)
.lang.Override boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER
.lang.Override final boolean isInitialized()
.lang.Override boolean getAddMirCuts()
static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static final int USE_CUMULATIVE_IN_NO_OVERLAP_2D_FIELD_NUMBER
.lang.Override int getPolarityRephaseIncrement()
.lang.Override boolean hasSolutionPoolSize()
.lang.Override boolean hasFillTightenedDomainsInResponse()
Builder setMergeAtMostOneWorkLimit(double value)
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override int getBooleanEncodingLevel()
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data)
.lang.Override boolean hasRandomPolarityRatio()
.lang.Override double getPresolveProbingDeterministicTimeLimit()
.lang.Override double getMaxTimeInSeconds()
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean hasCutLevel()
.lang.Override boolean hasAddCliqueCuts()
static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasMipMaxValidMagnitude()
static com.google.protobuf.Internal.EnumLiteMap< BinaryMinizationAlgorithm > internalGetValueMap()
.lang.Override boolean hasUseErwaHeuristic()
.lang.Override boolean hasStrategyChangeIncreaseRatio()
.lang.Override boolean getExpandAlldiffConstraints()
.lang.Override boolean hasUseFeasibilityPump()
Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value)
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER
static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER
Builder clearMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
Builder clearMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER
static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER
static FPRoundingMethod valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER
.lang.Override boolean hasUseOptimizationHints()
static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setMinimizeWithPropagationNumDecisions(int value)
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getStopAfterPresolve()
Builder setLogPrefix(java.lang.String value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER
.lang.Override boolean hasDebugPostsolveWithFullSolver()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< RestartAlgorithm > internalGetValueMap()
.lang.Override boolean hasCatchSigintSignal()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasFixVariablesToTheirHintedValue()
.lang.Override boolean hasMaxCutRoundsAtLevelZero()
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER
.lang.Override boolean hasExpandAlldiffConstraints()
static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER
.lang.Override boolean hasMergeNoOverlapWorkLimit()
Builder setRelativeGapLimit(double value)
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean getDebugPostsolveWithFullSolver()
.lang.Override boolean hasShareObjectiveBounds()
.lang.Override boolean hasProbingPeriodAtRoot()
Builder setPresolveExtractIntegerEnforcement(boolean value)
.lang.Deprecated static MaxSatAssumptionOrder valueOf(int value)
.lang.Override boolean hasPresolveUseBva()
.lang.Override boolean getUseCombinedNoOverlap()
.lang.Override boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
static ConflictMinimizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
static final int DEBUG_MAX_NUM_PRESOLVE_OPERATIONS_FIELD_NUMBER
.lang.Override boolean getUseImpliedBounds()
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getUsePbResolution()
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
.lang.Override boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasEnumerateAllSolutions()
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
Builder setPermutePresolveConstraintOrder(boolean value)
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean getPresolveExtractIntegerEnforcement()
static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static final int FILL_ADDITIONAL_SOLUTIONS_IN_RESPONSE_FIELD_NUMBER
Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value)
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override int getNumConflictsBeforeStrategyChanges()
.lang.Override boolean getExploitRelaxationSolution()
static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER
.lang.Override boolean getStopAfterFirstSolution()
.lang.Override boolean getPermuteVariableRandomly()
Builder clearPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean hasPolarityRephaseIncrement()
.lang.Override boolean hasUseExactLpReason()
.lang.Override boolean hasPseudoCostReliabilityThreshold()
.lang.Override boolean hasRestartRunningWindowSize()
EXPERIMENTAL_BINARY_MINIMIZATION
EXPERIMENTAL_BINARY_MINIMIZATION = 3;
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override boolean getFillAdditionalSolutionsInResponse()
.lang.Override boolean hasMinimizeCore()
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasMipVarScaling()
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder setName(java.lang.String value)
.lang.Override boolean hasMaxDomainSizeWhenEncodingEqNeqConstraints()
.lang.Override double getCutMaxActiveCountValue()
static SearchBranching valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Deprecated static VariableOrder valueOf(int value)
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
static final int NUM_CONFLICTS_BEFORE_STRATEGY_CHANGES_FIELD_NUMBER
static MaxSatAssumptionOrder forNumber(int value)
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
.lang.Override boolean getCountAssumptionLevelsInLbd()
.lang.Deprecated static ClauseOrdering valueOf(int value)
.lang.Override boolean hasCoverOptimization()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override int getPbCleanupIncrement()
.lang.Override java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasLogSearchProgress()
static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER
.lang.Override boolean hasDebugMaxNumPresolveOperations()
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override boolean hasMipAutomaticallyScaleVariables()
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data)
static VariableOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean hasMaxTimeInSeconds()
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER
static ClauseProtection valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override boolean getCatchSigintSignal()
.lang.Override boolean getInterleaveSearch()
static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER
static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER
static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER
static ClauseOrdering valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean hasSearchRandomizationTolerance()
static final int PRESOLVE_PROBING_DETERMINISTIC_TIME_LIMIT_FIELD_NUMBER
.lang.Override boolean getOptimizeWithLbTreeSearch()
.lang.Override boolean hasMaxIntegerRoundingScaling()
.lang.Override boolean hasPermuteVariableRandomly()
.lang.Override int getBinarySearchNumConflicts()
.lang.Override boolean getExploitObjective()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
.lang.Override boolean hasMaxPresolveIterations()
Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value)
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean getRandomizeSearch()
Builder setFixVariablesToTheirHintedValue(boolean value)
static final int MIP_MAX_VALID_MAGNITUDE_FIELD_NUMBER
.lang.Override java.lang.String getName()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasDebugMaxNumPresolveOperations()
Builder setPbCleanupRatio(double value)
optional double pb_cleanup_ratio = 47 [default = 0.5];
static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER
static final int USE_PRECEDENCES_IN_DISJUNCTIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
Builder clearBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Override boolean getFindMultipleCores()
.lang.Override boolean getFixVariablesToTheirHintedValue()
.lang.Override boolean getExploitAllLpSolution()
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasUseLnsOnly()
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override int getMinimizeWithPropagationRestartPeriod()
Builder setGlucoseDecayIncrement(double value)
optional double glucose_decay_increment = 23 [default = 0.01];
Builder setSubsumptionDuringConflictAnalysis(boolean value)
.lang.Deprecated static ClauseProtection valueOf(int value)
static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER
Builder setFillTightenedDomainsInResponse(boolean value)
.lang.Override boolean getMaxSatReverseAssumptionOrder()
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
static final int LOG_SUBSOLVER_STATISTICS_FIELD_NUMBER
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean hasMaxNumCuts()
static final int USE_TIMETABLE_EDGE_FINDING_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override double getRandomPolarityRatio()
.lang.Override boolean hasUseImpliedBounds()
.lang.Override boolean hasMaxDomainSizeWhenEncodingEqNeqConstraints()
.lang.Override com.google.protobuf.ByteString getNameBytes()
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
Builder clearMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasLogToResponse()
.lang.Override boolean getFillTightenedDomainsInResponse()
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean hasDebugCrashOnBadHint()
static final int MIP_COMPUTE_TRUE_OBJECTIVE_BOUND_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder setMipAutomaticallyScaleVariables(boolean value)
.lang.Override long getPseudoCostReliabilityThreshold()
static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER
.lang.Override boolean getUseBranchingInLp()
Builder clearUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
.lang.Override boolean getPresolveBlockedClause()
Builder clearMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean getExpandAlldiffConstraints()
.lang.Override double getGlucoseMaxDecay()
.lang.Override boolean hasOptimizeWithLbTreeSearch()
static final int OPTIMIZE_WITH_LB_TREE_SEARCH_FIELD_NUMBER
.lang.Override boolean hasExploitRelaxationSolution()
.lang.Override java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
Builder setMaxClauseActivityValue(double value)
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean hasUseBranchingInLp()
.lang.Override boolean getMaxSatReverseAssumptionOrder()
com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasStopAfterFirstSolution()
static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
.lang.Override boolean hasCpModelPresolve()
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean getOptimizeWithLbTreeSearch()
static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder clearMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder clearGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasRandomBranchesRatio()
boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER
.lang.Override boolean hasCountAssumptionLevelsInLbd()
Builder setMinimizeReductionDuringPbResolution(boolean value)
.lang.Override boolean getUseProbingSearch()
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override long getMaxNumberOfConflicts()
Builder setUseAbslRandom(boolean value)
optional bool use_absl_random = 180 [default = false];
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override double getRandomBranchesRatio()
Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value)
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getCpModelUseSatPresolve()
.lang.Override double getMinOrthogonalityForLpConstraints()
.lang.Override int getRestartAlgorithmsCount()
.lang.Override boolean hasAddObjectiveCut()
static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER
.lang.Override int getMaxDomainSizeWhenEncodingEqNeqConstraints()
static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER
Builder setUseOverloadCheckerInCumulativeConstraint(boolean value)
static final int AUTO_DETECT_GREATER_THAN_AT_LEAST_ONE_OF_FIELD_NUMBER
static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER
.lang.Override boolean getUseFeasibilityPump()
.lang.Override boolean hasExploitObjective()
Builder clearGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override boolean hasPbCleanupIncrement()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean getCpModelPresolve()
Builder setRestartAlgorithms(int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value)
.lang.Override boolean equals(final java.lang.Object obj)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static ConflictMinimizationAlgorithm forNumber(int value)
.lang.Override boolean hasClauseCleanupLbdBound()
Builder clearSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean hasExploitAllLpSolution()
Builder clearPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override java.lang.String getLogPrefix()
.lang.Override boolean hasHintConflictLimit()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input)
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean getFillAdditionalSolutionsInResponse()
static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER
static final int USE_OVERLOAD_CHECKER_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override int getClauseCleanupPeriod()
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasPresolveBveThreshold()
.lang.Override double getAbsoluteGapLimit()
static BinaryMinizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean hasMaxAllDiffCutSize()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static final int FILL_TIGHTENED_DOMAINS_IN_RESPONSE_FIELD_NUMBER
.lang.Override long getProbingPeriodAtRoot()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
static final int KEEP_ALL_FEASIBLE_SOLUTIONS_IN_PRESOLVE_FIELD_NUMBER
.lang.Override boolean getUseErwaHeuristic()
static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER
.lang.Override boolean getMipAutomaticallyScaleVariables()
.lang.Override boolean hasExploitIntegerLpSolution()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override boolean hasInterleaveSearch()
.lang.Override boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean hasUseProbingSearch()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
.lang.Override final boolean isInitialized()
.lang.Override boolean hasAddZeroHalfCuts()
static Polarity valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static MaxSatStratificationAlgorithm forNumber(int value)
.lang.Override boolean getOptimizeWithMaxHs()
.lang.Override boolean getAddZeroHalfCuts()
.lang.Override boolean getLogSubsolverStatistics()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean getConvertIntervals()
.lang.Override boolean hasClauseCleanupPeriod()
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override int getMaxDomainSizeWhenEncodingEqNeqConstraints()
static final int MAX_DOMAIN_SIZE_WHEN_ENCODING_EQ_NEQ_CONSTRAINTS_FIELD_NUMBER
.lang.Deprecated static FPRoundingMethod valueOf(int value)
static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER
.lang.Override boolean hasLogToStdout()
Builder setInterleaveBatchSize(int value)
optional int32 interleave_batch_size = 134 [default = 1];
static com.google.protobuf.Internal.EnumLiteMap< MaxSatStratificationAlgorithm > internalGetValueMap()
.lang.Override boolean getExploitBestSolution()
.lang.Override boolean getMipAutomaticallyScaleVariables()
.lang.Override boolean getPolishLpSolution()
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override com.google.ortools.sat.SatParameters buildPartial()
.lang.Override boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean getAddLpConstraintsLazily()
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean hasPresolveSubstitutionLevel()
.lang.Override double getMipWantedPrecision()
.lang.Override double getMinOrthogonalityForLpConstraints()
static com.google.protobuf.Internal.EnumLiteMap< ClauseProtection > internalGetValueMap()
.lang.Override boolean getUsePhaseSaving()
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
.lang.Override double getMipVarScaling()
static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean hasNumSearchWorkers()
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
.lang.Override boolean hasUseRelaxationLns()
.lang.Override long getSearchRandomizationTolerance()
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override boolean hasClauseCleanupRatio()
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean getPresolveUseBva()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasAddLinMaxCuts()
.lang.Override boolean getLogToStdout()
.lang.Override boolean hasExploitIntegerLpSolution()
static final int MINIMIZE_WITH_PROPAGATION_NUM_DECISIONS_FIELD_NUMBER
Builder setFillAdditionalSolutionsInResponse(boolean value)
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean hasAddCgCuts()
static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean hasUseCumulativeInNoOverlap2D()
Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value)
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean getMinimizeReductionDuringPbResolution()
static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER
static MaxSatAssumptionOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override boolean hasPresolveSubstitutionLevel()
static com.google.protobuf.Parser< SatParameters > parser()
static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean hasStrategyChangeIncreaseRatio()
static final int PRESOLVE_EXTRACT_INTEGER_ENFORCEMENT_FIELD_NUMBER
static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER
BINARY_MINIMIZATION_WITH_REACHABILITY
BINARY_MINIMIZATION_WITH_REACHABILITY = 2;
static RestartAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override double getMipCheckPrecision()
Builder clearBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasExploitBestSolution()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static Polarity valueOf(int value)
.lang.Override int getMaxCutRoundsAtLevelZero()
.lang.Override boolean hasMipWantedPrecision()
Builder setBlockingRestartWindowSize(int value)
optional int32 blocking_restart_window_size = 65 [default = 5000];
static MaxSatStratificationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean getCountAssumptionLevelsInLbd()
static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER
static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER
Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value)
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
Builder setDefaultRestartAlgorithmsBytes(com.google.protobuf.ByteString value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
static Builder newBuilder(com.google.ortools.sat.SatParameters prototype)
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
.lang.Override double getInitialVariablesActivity()
.lang.Override boolean hasCountAssumptionLevelsInLbd()
static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER
.lang.Override boolean getEnumerateAllSolutions()
.lang.Override boolean hasOptimizeWithCore()
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean getInstantiateAllVariables()
.lang.Override double getMaxDeterministicTime()
static com.google.ortools.sat.SatParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER
.lang.Override int getMinimizeWithPropagationRestartPeriod()
static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override int getRestartRunningWindowSize()
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean hasRandomizeSearch()
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override double getMipMaxBound()
static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean getUseOptionalVariables()
.lang.Override boolean getDisableConstraintExpansion()
.lang.Override boolean hasMipCheckPrecision()
.lang.Override double getClauseActivityDecay()
static BinaryMinizationAlgorithm forNumber(int value)
.lang.Override boolean getUseRinsLns()
static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
Builder clearFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getUseBlockingRestart()
.lang.Override boolean getAddLinMaxCuts()
.lang.Override boolean getLogSearchProgress()
.lang.Override boolean getUseOptimizationHints()
.lang.Override boolean getMipComputeTrueObjectiveBound()
static com.google.protobuf.Internal.EnumLiteMap< VariableOrder > internalGetValueMap()
static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER
static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER
.lang.Override boolean hasCpModelUseSatPresolve()
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasBinarySearchNumConflicts()
static final int USE_SAT_INPROCESSING_FIELD_NUMBER
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER
.lang.Override boolean hasUseRinsLns()
.lang.Override boolean hasFixVariablesToTheirHintedValue()
.lang.Override boolean hasOptimizeWithLbTreeSearch()
.lang.Override boolean getDisableConstraintExpansion()
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
.lang.Override boolean hasLinearizationLevel()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override int getMipMaxActivityExponent()
.lang.Deprecated static RestartAlgorithm valueOf(int value)
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override boolean hasClauseActivityDecay()
.lang.Override boolean hasVariableActivityDecay()
static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER
.lang.Override double getRestartDlAverageRatio()
.lang.Override boolean hasInitialVariablesActivity()
.lang.Override boolean hasPolishLpSolution()
Builder setUsePrecedencesInDisjunctiveConstraint(boolean value)
.lang.Override boolean hasExpandAlldiffConstraints()
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override boolean hasUseCumulativeInNoOverlap2D()
Builder setNameBytes(com.google.protobuf.ByteString value)
static final int MINIMIZE_WITH_PROPAGATION_RESTART_PERIOD_FIELD_NUMBER
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasExploitRelaxationSolution()
.lang.Override boolean getAddCliqueCuts()
.lang.Override double getMipMaxValidMagnitude()
.lang.Override boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override int getLinearizationLevel()
.lang.Override boolean hasRandomSeed()
Builder clearMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER
.lang.Override double getPresolveProbingDeterministicTimeLimit()
static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters build()
.lang.Override double getClauseCleanupRatio()
Builder setUseDisjunctiveConstraintInCumulativeConstraint(boolean value)
.lang.Override boolean hasUseCombinedNoOverlap()
.lang.Override boolean hasDiversifyLnsParams()
.lang.Override boolean hasFillAdditionalSolutionsInResponse()
.lang.Override boolean hasPolarityRephaseIncrement()
static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
com.google.protobuf.ByteString getNameBytes()
Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value)
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean hasRestartDlAverageRatio()
.lang.Override boolean hasMaxMemoryInMb()
static final int MIN_ORTHOGONALITY_FOR_LP_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean hasInitialVariablesActivity()
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean getDiversifyLnsParams()
static com.google.protobuf.Internal.EnumLiteMap< SearchBranching > internalGetValueMap()
.lang.Override boolean hasMipComputeTrueObjectiveBound()
static final int MIP_WANTED_PRECISION_FIELD_NUMBER
Builder setLogPrefixBytes(com.google.protobuf.ByteString value)
static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override int getClauseCleanupLbdBound()
.lang.Override boolean hasUseOptionalVariables()
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
static com.google.ortools.sat.SatParameters getDefaultInstance()
.lang.Override boolean getMinimizeReductionDuringPbResolution()
static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override int getPresolveBveThreshold()
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean hasClauseCleanupTarget()
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getRepairHint()
Builder clearInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasAddLpConstraintsLazily()
.lang.Override boolean getCoverOptimization()
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value)
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override int getPresolveBvaThreshold()
static final int SUBSUMPTION_DURING_CONFLICT_ANALYSIS_FIELD_NUMBER
.lang.Override boolean hasPseudoCostReliabilityThreshold()
static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER
static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasMipMaxBound()
static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER
static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER
.lang.Override boolean getDebugCrashOnBadHint()
.lang.Override boolean hasUsePbResolution()
static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Deprecated static ConflictMinimizationAlgorithm valueOf(int value)
.lang.Override com.google.protobuf.Parser< SatParameters > getParserForType()
.lang.Override boolean hasGlucoseMaxDecay()
.lang.Override boolean hasUseBlockingRestart()
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
Builder setKeepAllFeasibleSolutionsInPresolve(boolean value)
Builder clearUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override double getStrategyChangeIncreaseRatio()
.lang.Override int getMaxPresolveIterations()
static final int MINIMIZE_REDUCTION_DURING_PB_RESOLUTION_FIELD_NUMBER
static com.google.protobuf.Internal.EnumLiteMap< Polarity > internalGetValueMap()
Builder clearClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int PERMUTE_PRESOLVE_CONSTRAINT_ORDER_FIELD_NUMBER
Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value)
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean hasStopAfterPresolve()
static final int REDUCE_MEMORY_USAGE_IN_INTERLEAVE_MODE_FIELD_NUMBER
static final int CLAUSE_CLEANUP_RATIO_FIELD_NUMBER
Builder setAlsoBumpVariablesInConflictReasons(boolean value)
.lang.Override boolean hasConvertIntervals()
.lang.Override int getCpModelProbingLevel()
static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER
static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER
static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER
.lang.Override boolean hasLogSubsolverStatistics()
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean hasShareLevelZeroBounds()
.lang.Override int getDebugMaxNumPresolveOperations()
Builder setBlockingRestartMultiplier(double value)
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override com.google.protobuf.ByteString getLogPrefixBytes()
static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER
.lang.Override double getStrategyChangeIncreaseRatio()
Builder setMaxVariableActivityValue(double value)
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean hasOnlyAddCutsAtLevelZero()
static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasRestartRunningWindowSize()
.lang.Override boolean getFixVariablesToTheirHintedValue()
static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER
.lang.Override boolean getUseRelaxationLns()
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasDisableConstraintExpansion()
.lang.Override boolean hasMaxNumberOfConflicts()
Builder clearMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean getDebugPostsolveWithFullSolver()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
Builder clearPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
Builder clearRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean getUseCumulativeInNoOverlap2D()
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
Builder clearClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
.lang.Override int getMaxIntegerRoundingScaling()
.lang.Override boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
.lang.Deprecated static MaxSatStratificationAlgorithm valueOf(int value)
Builder mergeFrom(com.google.ortools.sat.SatParameters other)
.lang.Override boolean hasPresolveBveClauseWeight()
.lang.Override boolean hasUsePhaseSaving()
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER
.lang.Override boolean hasPresolveBvaThreshold()
.lang.Override boolean getFillTightenedDomainsInResponse()
Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value)
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder setPresolveProbingDeterministicTimeLimit(double value)
.lang.Override double getVariableActivityDecay()
.lang.Override boolean getPresolveExtractIntegerEnforcement()
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
Builder clearRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean hasMipMaxActivityExponent()
Builder setReduceMemoryUsageInInterleaveMode(boolean value)
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getShareObjectiveBounds()
.lang.Override boolean hasFillAdditionalSolutionsInResponse()
static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER
static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder setAutoDetectGreaterThanAtLeastOneOf(boolean value)
static com.google.protobuf.Internal.EnumLiteMap< ClauseOrdering > internalGetValueMap()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER
.lang.Override int getClauseCleanupTarget()
static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER
.lang.Override double getMergeNoOverlapWorkLimit()
.lang.Override boolean getMipComputeTrueObjectiveBound()
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
.lang.Override boolean hasCutMaxActiveCountValue()
.lang.Deprecated static SearchBranching valueOf(int value)
.lang.Override boolean hasCpModelProbingLevel()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Deprecated static final com.google.protobuf.Parser< SatParameters > PARSER
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean hasFindMultipleCores()
Builder setDefaultRestartAlgorithms(java.lang.String value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasBinarySearchNumConflicts()
.lang.Override boolean hasDisableConstraintExpansion()
.lang.Override boolean hasMipAutomaticallyScaleVariables()
static final int DEBUG_CRASH_ON_BAD_HINT_FIELD_NUMBER
com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean getOnlyAddCutsAtLevelZero()
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION = 4;
static com.google.protobuf.Internal.EnumLiteMap< FPRoundingMethod > internalGetValueMap()
.lang.Override boolean hasOptimizeWithMaxHs()
.lang.Override boolean hasNewConstraintsBatchSize()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final int USE_BLOCKING_RESTART_FIELD_NUMBER
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasMipComputeTrueObjectiveBound()
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Override int getPresolveBveClauseWeight()
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean getUseLnsOnly()
Builder setCutActiveCountDecay(double value)
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasInstantiateAllVariables()
.lang.Override boolean hasDebugPostsolveWithFullSolver()
.lang.Override boolean getMinimizeCore()
com.google.protobuf.ByteString getLogPrefixBytes()
static final int ALSO_BUMP_VARIABLES_IN_CONFLICT_REASONS_FIELD_NUMBER
static final int MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean getAddCgCuts()
.lang.Override boolean getOptimizeWithCore()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER
Builder setUseSatInprocessing(boolean value)
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean getUseCumulativeInNoOverlap2D()
Builder clearCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasPresolveBlockedClause()
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override int getNewConstraintsBatchSize()
.lang.Override int getPresolveSubstitutionLevel()
.lang.Override boolean hasBooleanEncodingLevel()
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value)
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override boolean hasMaxDeterministicTime()
.lang.Override boolean getShareLevelZeroBounds()
Builder clearDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
static final int USE_DISJUNCTIVE_CONSTRAINT_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override boolean getExploitIntegerLpSolution()
static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER
.lang.Override boolean hasCutCleanupTarget()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static final int FIX_VARIABLES_TO_THEIR_HINTED_VALUE_FIELD_NUMBER
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasLogPrefix()
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
Builder clearInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean getLogToResponse()
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean getAddObjectiveCut()
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static com.google.protobuf.Internal.EnumLiteMap< MaxSatAssumptionOrder > internalGetValueMap()
.lang.Override boolean hasSymmetryLevel()
.lang.Override boolean hasRepairHint()
.lang.Override boolean hasAbsoluteGapLimit()
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
Builder addAllRestartAlgorithms(java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm > values)
Builder setUseTimetableEdgeFindingInCumulativeConstraint(boolean value)
.lang.Override boolean hasMaxConsecutiveInactiveCount()
.lang.Override boolean hasRestartPeriod()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
Builder setRestartLbdAverageRatio(double value)
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean hasSearchRandomizationTolerance()
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];