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  clauseCleanupTarget_ = 10000;
35  clauseCleanupProtection_ = 0;
36  clauseCleanupLbdBound_ = 5;
37  clauseCleanupOrdering_ = 0;
38  pbCleanupIncrement_ = 200;
39  pbCleanupRatio_ = 0.5D;
40  minimizeWithPropagationRestartPeriod_ = 10;
41  minimizeWithPropagationNumDecisions_ = 1000;
42  variableActivityDecay_ = 0.8D;
43  maxVariableActivityValue_ = 1e+100D;
44  glucoseMaxDecay_ = 0.95D;
45  glucoseDecayIncrement_ = 0.01D;
46  glucoseDecayIncrementPeriod_ = 5000;
47  clauseActivityDecay_ = 0.999D;
48  maxClauseActivityValue_ = 1e+20D;
49  restartAlgorithms_ = java.util.Collections.emptyList();
50  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
51  restartPeriod_ = 50;
52  restartRunningWindowSize_ = 50;
53  restartDlAverageRatio_ = 1D;
54  restartLbdAverageRatio_ = 1D;
55  blockingRestartWindowSize_ = 5000;
56  blockingRestartMultiplier_ = 1.4D;
57  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
58  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
59  maxNumberOfConflicts_ = 9223372036854775807L;
60  maxMemoryInMb_ = 10000L;
61  treatBinaryClausesSeparately_ = true;
62  randomSeed_ = 1;
63  countAssumptionLevelsInLbd_ = true;
64  presolveBveThreshold_ = 500;
65  presolveBveClauseWeight_ = 3;
66  presolveProbingDeterministicTimeLimit_ = 30D;
67  presolveBlockedClause_ = true;
68  presolveUseBva_ = true;
69  presolveBvaThreshold_ = 1;
70  maxPresolveIterations_ = 3;
71  cpModelPresolve_ = true;
72  cpModelProbingLevel_ = 2;
73  cpModelUseSatPresolve_ = true;
74  expandElementConstraints_ = true;
75  expandAutomatonConstraints_ = true;
76  expandTableConstraints_ = true;
77  expandReservoirConstraints_ = 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  maxNumCuts_ = 10000;
92  addCgCuts_ = true;
93  addMirCuts_ = true;
94  addZeroHalfCuts_ = true;
95  addCliqueCuts_ = true;
96  maxAllDiffCutSize_ = 7;
97  addLinMaxCuts_ = true;
98  maxIntegerRoundingScaling_ = 600;
99  addLpConstraintsLazily_ = true;
100  minOrthogonalityForLpConstraints_ = 0.05D;
101  maxCutRoundsAtLevelZero_ = 1;
102  maxConsecutiveInactiveCount_ = 100;
103  cutMaxActiveCountValue_ = 10000000000D;
104  cutActiveCountDecay_ = 0.8D;
105  cutCleanupTarget_ = 1000;
106  newConstraintsBatchSize_ = 50;
107  searchBranching_ = 0;
108  hintConflictLimit_ = 10;
109  exploitIntegerLpSolution_ = true;
110  exploitAllLpSolution_ = true;
111  exploitObjective_ = true;
112  pseudoCostReliabilityThreshold_ = 100L;
113  binarySearchNumConflicts_ = -1;
114  instantiateAllVariables_ = true;
115  autoDetectGreaterThanAtLeastOneOf_ = true;
116  numSearchWorkers_ = 1;
117  interleaveBatchSize_ = 1;
118  shareObjectiveBounds_ = true;
119  shareLevelZeroBounds_ = true;
120  lnsExpandIntervalsInConstraintGraph_ = true;
121  useRinsLns_ = true;
122  useFeasibilityPump_ = true;
123  fpRounding_ = 2;
124  useOptionalVariables_ = true;
125  useExactLpReason_ = true;
126  catchSigintSignal_ = true;
127  useImpliedBounds_ = true;
128  symmetryLevel_ = 2;
129  mipMaxBound_ = 10000000D;
130  mipVarScaling_ = 1D;
131  mipAutomaticallyScaleVariables_ = true;
132  mipWantedPrecision_ = 1e-06D;
133  mipMaxActivityExponent_ = 53;
134  mipCheckPrecision_ = 0.0001D;
135  }
136 
137  @java.lang.Override
138  @SuppressWarnings({"unused"})
139  protected java.lang.Object newInstance(
140  UnusedPrivateParameter unused) {
141  return new SatParameters();
142  }
143 
144  @java.lang.Override
145  public final com.google.protobuf.UnknownFieldSet
147  return this.unknownFields;
148  }
149  private SatParameters(
150  com.google.protobuf.CodedInputStream input,
151  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
152  throws com.google.protobuf.InvalidProtocolBufferException {
153  this();
154  if (extensionRegistry == null) {
155  throw new java.lang.NullPointerException();
156  }
157  int mutable_bitField0_ = 0;
158  int mutable_bitField1_ = 0;
159  int mutable_bitField2_ = 0;
160  int mutable_bitField3_ = 0;
161  int mutable_bitField4_ = 0;
162  int mutable_bitField5_ = 0;
163  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
164  com.google.protobuf.UnknownFieldSet.newBuilder();
165  try {
166  boolean done = false;
167  while (!done) {
168  int tag = input.readTag();
169  switch (tag) {
170  case 0:
171  done = true;
172  break;
173  case 8: {
174  int rawValue = input.readEnum();
175  @SuppressWarnings("deprecation")
176  com.google.ortools.sat.SatParameters.VariableOrder value = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(rawValue);
177  if (value == null) {
178  unknownFields.mergeVarintField(1, rawValue);
179  } else {
180  bitField0_ |= 0x00000002;
181  preferredVariableOrder_ = rawValue;
182  }
183  break;
184  }
185  case 16: {
186  int rawValue = input.readEnum();
187  @SuppressWarnings("deprecation")
188  com.google.ortools.sat.SatParameters.Polarity value = com.google.ortools.sat.SatParameters.Polarity.valueOf(rawValue);
189  if (value == null) {
190  unknownFields.mergeVarintField(2, rawValue);
191  } else {
192  bitField0_ |= 0x00000004;
193  initialPolarity_ = rawValue;
194  }
195  break;
196  }
197  case 32: {
198  int rawValue = input.readEnum();
199  @SuppressWarnings("deprecation")
200  com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(rawValue);
201  if (value == null) {
202  unknownFields.mergeVarintField(4, rawValue);
203  } else {
204  bitField0_ |= 0x00000400;
205  minimizationAlgorithm_ = rawValue;
206  }
207  break;
208  }
209  case 88: {
210  bitField0_ |= 0x00002000;
211  clauseCleanupPeriod_ = input.readInt32();
212  break;
213  }
214  case 104: {
215  bitField0_ |= 0x00004000;
216  clauseCleanupTarget_ = input.readInt32();
217  break;
218  }
219  case 121: {
220  bitField0_ |= 0x00400000;
221  variableActivityDecay_ = input.readDouble();
222  break;
223  }
224  case 129: {
225  bitField0_ |= 0x00800000;
226  maxVariableActivityValue_ = input.readDouble();
227  break;
228  }
229  case 137: {
230  bitField0_ |= 0x08000000;
231  clauseActivityDecay_ = input.readDouble();
232  break;
233  }
234  case 145: {
235  bitField0_ |= 0x10000000;
236  maxClauseActivityValue_ = input.readDouble();
237  break;
238  }
239  case 177: {
240  bitField0_ |= 0x01000000;
241  glucoseMaxDecay_ = input.readDouble();
242  break;
243  }
244  case 185: {
245  bitField0_ |= 0x02000000;
246  glucoseDecayIncrement_ = input.readDouble();
247  break;
248  }
249  case 192: {
250  bitField0_ |= 0x04000000;
251  glucoseDecayIncrementPeriod_ = input.readInt32();
252  break;
253  }
254  case 240: {
255  bitField0_ |= 0x40000000;
256  restartPeriod_ = input.readInt32();
257  break;
258  }
259  case 248: {
260  bitField1_ |= 0x00004000;
261  randomSeed_ = input.readInt32();
262  break;
263  }
264  case 257: {
265  bitField0_ |= 0x00000040;
266  randomBranchesRatio_ = input.readDouble();
267  break;
268  }
269  case 264: {
270  bitField1_ |= 0x00002000;
271  treatBinaryClausesSeparately_ = input.readBool();
272  break;
273  }
274  case 272: {
275  int rawValue = input.readEnum();
276  @SuppressWarnings("deprecation")
277  com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(rawValue);
278  if (value == null) {
279  unknownFields.mergeVarintField(34, rawValue);
280  } else {
281  bitField0_ |= 0x00000800;
282  binaryMinimizationAlgorithm_ = rawValue;
283  }
284  break;
285  }
286  case 280: {
287  bitField2_ |= 0x00004000;
288  useOptimizationHints_ = input.readBool();
289  break;
290  }
291  case 289: {
292  bitField1_ |= 0x00000080;
293  maxTimeInSeconds_ = input.readDouble();
294  break;
295  }
296  case 296: {
297  bitField1_ |= 0x00000200;
298  maxNumberOfConflicts_ = input.readInt64();
299  break;
300  }
301  case 320: {
302  bitField1_ |= 0x00000400;
303  maxMemoryInMb_ = input.readInt64();
304  break;
305  }
306  case 328: {
307  bitField1_ |= 0x00040000;
308  logSearchProgress_ = input.readBool();
309  break;
310  }
311  case 344: {
312  bitField1_ |= 0x00100000;
313  usePbResolution_ = input.readBool();
314  break;
315  }
316  case 352: {
317  bitField0_ |= 0x00000008;
318  usePhaseSaving_ = input.readBool();
319  break;
320  }
321  case 361: {
322  bitField0_ |= 0x00000020;
323  randomPolarityRatio_ = input.readDouble();
324  break;
325  }
326  case 368: {
327  bitField0_ |= 0x00040000;
328  pbCleanupIncrement_ = input.readInt32();
329  break;
330  }
331  case 377: {
332  bitField0_ |= 0x00080000;
333  pbCleanupRatio_ = input.readDouble();
334  break;
335  }
336  case 384: {
337  bitField1_ |= 0x00200000;
338  minimizeReductionDuringPbResolution_ = input.readBool();
339  break;
340  }
341  case 392: {
342  bitField1_ |= 0x00400000;
343  countAssumptionLevelsInLbd_ = input.readBool();
344  break;
345  }
346  case 400: {
347  bitField2_ |= 0x00008000;
348  minimizeCore_ = input.readBool();
349  break;
350  }
351  case 408: {
352  int rawValue = input.readEnum();
353  @SuppressWarnings("deprecation")
354  com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(rawValue);
355  if (value == null) {
356  unknownFields.mergeVarintField(51, rawValue);
357  } else {
358  bitField2_ |= 0x00040000;
359  maxSatAssumptionOrder_ = rawValue;
360  }
361  break;
362  }
363  case 416: {
364  bitField2_ |= 0x00080000;
365  maxSatReverseAssumptionOrder_ = input.readBool();
366  break;
367  }
368  case 424: {
369  int rawValue = input.readEnum();
370  @SuppressWarnings("deprecation")
371  com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(rawValue);
372  if (value == null) {
373  unknownFields.mergeVarintField(53, rawValue);
374  } else {
375  bitField2_ |= 0x00100000;
376  maxSatStratification_ = rawValue;
377  }
378  break;
379  }
380  case 432: {
381  bitField1_ |= 0x00800000;
382  presolveBveThreshold_ = input.readInt32();
383  break;
384  }
385  case 440: {
386  bitField1_ |= 0x01000000;
387  presolveBveClauseWeight_ = input.readInt32();
388  break;
389  }
390  case 448: {
391  bitField0_ |= 0x00001000;
392  subsumptionDuringConflictAnalysis_ = input.readBool();
393  break;
394  }
395  case 457: {
396  bitField1_ |= 0x02000000;
397  presolveProbingDeterministicTimeLimit_ = input.readDouble();
398  break;
399  }
400  case 464: {
401  int rawValue = input.readEnum();
402  @SuppressWarnings("deprecation")
403  com.google.ortools.sat.SatParameters.ClauseProtection value = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(rawValue);
404  if (value == null) {
405  unknownFields.mergeVarintField(58, rawValue);
406  } else {
407  bitField0_ |= 0x00008000;
408  clauseCleanupProtection_ = rawValue;
409  }
410  break;
411  }
412  case 472: {
413  bitField0_ |= 0x00010000;
414  clauseCleanupLbdBound_ = input.readInt32();
415  break;
416  }
417  case 480: {
418  int rawValue = input.readEnum();
419  @SuppressWarnings("deprecation")
420  com.google.ortools.sat.SatParameters.ClauseOrdering value = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(rawValue);
421  if (value == null) {
422  unknownFields.mergeVarintField(60, rawValue);
423  } else {
424  bitField0_ |= 0x00020000;
425  clauseCleanupOrdering_ = rawValue;
426  }
427  break;
428  }
429  case 488: {
430  int rawValue = input.readEnum();
431  @SuppressWarnings("deprecation")
432  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
433  if (value == null) {
434  unknownFields.mergeVarintField(61, rawValue);
435  } else {
436  if (!((mutable_bitField0_ & 0x20000000) != 0)) {
437  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
438  mutable_bitField0_ |= 0x20000000;
439  }
440  restartAlgorithms_.add(rawValue);
441  }
442  break;
443  }
444  case 490: {
445  int length = input.readRawVarint32();
446  int oldLimit = input.pushLimit(length);
447  while(input.getBytesUntilLimit() > 0) {
448  int rawValue = input.readEnum();
449  @SuppressWarnings("deprecation")
450  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
451  if (value == null) {
452  unknownFields.mergeVarintField(61, rawValue);
453  } else {
454  if (!((mutable_bitField0_ & 0x20000000) != 0)) {
455  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
456  mutable_bitField0_ |= 0x20000000;
457  }
458  restartAlgorithms_.add(rawValue);
459  }
460  }
461  input.popLimit(oldLimit);
462  break;
463  }
464  case 496: {
465  bitField0_ |= 0x80000000;
466  restartRunningWindowSize_ = input.readInt32();
467  break;
468  }
469  case 505: {
470  bitField1_ |= 0x00000001;
471  restartDlAverageRatio_ = input.readDouble();
472  break;
473  }
474  case 512: {
475  bitField1_ |= 0x00000004;
476  useBlockingRestart_ = input.readBool();
477  break;
478  }
479  case 520: {
480  bitField1_ |= 0x00000008;
481  blockingRestartWindowSize_ = input.readInt32();
482  break;
483  }
484  case 529: {
485  bitField1_ |= 0x00000010;
486  blockingRestartMultiplier_ = input.readDouble();
487  break;
488  }
489  case 537: {
490  bitField1_ |= 0x00000100;
491  maxDeterministicTime_ = input.readDouble();
492  break;
493  }
494  case 544: {
495  bitField1_ |= 0x00000020;
496  numConflictsBeforeStrategyChanges_ = input.readInt32();
497  break;
498  }
499  case 553: {
500  bitField1_ |= 0x00000040;
501  strategyChangeIncreaseRatio_ = input.readDouble();
502  break;
503  }
504  case 562: {
505  com.google.protobuf.ByteString bs = input.readBytes();
506  bitField0_ |= 0x20000000;
507  defaultRestartAlgorithms_ = bs;
508  break;
509  }
510  case 569: {
511  bitField1_ |= 0x00000002;
512  restartLbdAverageRatio_ = input.readDouble();
513  break;
514  }
515  case 576: {
516  bitField1_ |= 0x08000000;
517  presolveUseBva_ = input.readBool();
518  break;
519  }
520  case 584: {
521  bitField1_ |= 0x10000000;
522  presolveBvaThreshold_ = input.readInt32();
523  break;
524  }
525  case 592: {
526  bitField2_ |= 0x00200000;
527  usePrecedencesInDisjunctiveConstraint_ = input.readBool();
528  break;
529  }
530  case 600: {
531  bitField0_ |= 0x00000080;
532  useErwaHeuristic_ = input.readBool();
533  break;
534  }
535  case 609: {
536  bitField0_ |= 0x00000100;
537  initialVariablesActivity_ = input.readDouble();
538  break;
539  }
540  case 616: {
541  bitField0_ |= 0x00000200;
542  alsoBumpVariablesInConflictReasons_ = input.readBool();
543  break;
544  }
545  case 624: {
546  bitField2_ |= 0x00400000;
547  useOverloadCheckerInCumulativeConstraint_ = input.readBool();
548  break;
549  }
550  case 632: {
551  bitField2_ |= 0x00800000;
552  useTimetableEdgeFindingInCumulativeConstraint_ = input.readBool();
553  break;
554  }
555  case 640: {
556  bitField2_ |= 0x01000000;
557  useDisjunctiveConstraintInCumulativeConstraint_ = input.readBool();
558  break;
559  }
560  case 656: {
561  int rawValue = input.readEnum();
562  @SuppressWarnings("deprecation")
563  com.google.ortools.sat.SatParameters.SearchBranching value = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(rawValue);
564  if (value == null) {
565  unknownFields.mergeVarintField(82, rawValue);
566  } else {
567  bitField3_ |= 0x00002000;
568  searchBranching_ = rawValue;
569  }
570  break;
571  }
572  case 664: {
573  bitField3_ |= 0x01000000;
574  optimizeWithCore_ = input.readBool();
575  break;
576  }
577  case 672: {
578  bitField2_ |= 0x00010000;
579  findMultipleCores_ = input.readBool();
580  break;
581  }
582  case 680: {
583  bitField3_ |= 0x04000000;
584  optimizeWithMaxHs_ = input.readBool();
585  break;
586  }
587  case 688: {
588  bitField1_ |= 0x40000000;
589  cpModelPresolve_ = input.readBool();
590  break;
591  }
592  case 696: {
593  bitField3_ |= 0x08000000;
594  enumerateAllSolutions_ = input.readBool();
595  break;
596  }
597  case 704: {
598  bitField1_ |= 0x04000000;
599  presolveBlockedClause_ = input.readBool();
600  break;
601  }
602  case 712: {
603  bitField2_ |= 0x00020000;
604  coverOptimization_ = input.readBool();
605  break;
606  }
607  case 720: {
608  bitField2_ |= 0x02000000;
609  linearizationLevel_ = input.readInt32();
610  break;
611  }
612  case 728: {
613  bitField2_ |= 0x08000000;
614  maxNumCuts_ = input.readInt32();
615  break;
616  }
617  case 736: {
618  bitField2_ |= 0x10000000;
619  onlyAddCutsAtLevelZero_ = input.readBool();
620  break;
621  }
622  case 744: {
623  bitField2_ |= 0x00000004;
624  cpModelUseSatPresolve_ = input.readBool();
625  break;
626  }
627  case 752: {
628  bitField3_ |= 0x00010000;
629  exploitIntegerLpSolution_ = input.readBool();
630  break;
631  }
632  case 760: {
633  bitField3_ |= 0x80000000;
634  autoDetectGreaterThanAtLeastOneOf_ = input.readBool();
635  break;
636  }
637  case 768: {
638  bitField0_ |= 0x00100000;
639  minimizeWithPropagationRestartPeriod_ = input.readInt32();
640  break;
641  }
642  case 776: {
643  bitField0_ |= 0x00200000;
644  minimizeWithPropagationNumDecisions_ = input.readInt32();
645  break;
646  }
647  case 784: {
648  bitField4_ |= 0x00000001;
649  stopAfterFirstSolution_ = input.readBool();
650  break;
651  }
652  case 792: {
653  bitField3_ |= 0x02000000;
654  binarySearchNumConflicts_ = input.readInt32();
655  break;
656  }
657  case 800: {
658  bitField4_ |= 0x00000004;
659  numSearchWorkers_ = input.readInt32();
660  break;
661  }
662  case 808: {
663  bitField4_ |= 0x00000100;
664  useLnsOnly_ = input.readBool();
665  break;
666  }
667  case 824: {
668  bitField4_ |= 0x00010000;
669  randomizeSearch_ = input.readBool();
670  break;
671  }
672  case 832: {
673  bitField4_ |= 0x00020000;
674  searchRandomizationTolerance_ = input.readInt64();
675  break;
676  }
677  case 840: {
678  bitField4_ |= 0x00000200;
679  lnsFocusOnDecisionVariables_ = input.readBool();
680  break;
681  }
682  case 848: {
683  bitField3_ |= 0x40000000;
684  instantiateAllVariables_ = input.readBool();
685  break;
686  }
687  case 856: {
688  bitField2_ |= 0x04000000;
689  booleanEncodingLevel_ = input.readInt32();
690  break;
691  }
692  case 864: {
693  bitField4_ |= 0x00040000;
694  useOptionalVariables_ = input.readBool();
695  break;
696  }
697  case 872: {
698  bitField4_ |= 0x00080000;
699  useExactLpReason_ = input.readBool();
700  break;
701  }
702  case 880: {
703  bitField2_ |= 0x00000002;
704  cpModelProbingLevel_ = input.readInt32();
705  break;
706  }
707  case 888: {
708  bitField2_ |= 0x20000000;
709  addKnapsackCuts_ = input.readBool();
710  break;
711  }
712  case 896: {
713  bitField3_ |= 0x00000020;
714  addLpConstraintsLazily_ = input.readBool();
715  break;
716  }
717  case 904: {
718  bitField4_ |= 0x00000040;
719  shareObjectiveBounds_ = input.readBool();
720  break;
721  }
722  case 912: {
723  bitField4_ |= 0x00000080;
724  shareLevelZeroBounds_ = input.readBool();
725  break;
726  }
727  case 921: {
728  bitField3_ |= 0x00000040;
729  minOrthogonalityForLpConstraints_ = input.readDouble();
730  break;
731  }
732  case 928: {
733  bitField3_ |= 0x00020000;
734  exploitAllLpSolution_ = input.readBool();
735  break;
736  }
737  case 936: {
738  bitField2_ |= 0x40000000;
739  addCgCuts_ = input.readBool();
740  break;
741  }
742  case 952: {
743  bitField3_ |= 0x00000010;
744  maxIntegerRoundingScaling_ = input.readInt32();
745  break;
746  }
747  case 960: {
748  bitField2_ |= 0x80000000;
749  addMirCuts_ = input.readBool();
750  break;
751  }
752  case 968: {
753  bitField3_ |= 0x00000100;
754  maxConsecutiveInactiveCount_ = input.readInt32();
755  break;
756  }
757  case 976: {
758  bitField3_ |= 0x00001000;
759  newConstraintsBatchSize_ = input.readInt32();
760  break;
761  }
762  case 984: {
763  bitField3_ |= 0x00800000;
764  pseudoCostReliabilityThreshold_ = input.readInt64();
765  break;
766  }
767  case 993: {
768  bitField4_ |= 0x08000000;
769  mipMaxBound_ = input.readDouble();
770  break;
771  }
772  case 1001: {
773  bitField4_ |= 0x10000000;
774  mipVarScaling_ = input.readDouble();
775  break;
776  }
777  case 1009: {
778  bitField4_ |= 0x40000000;
779  mipWantedPrecision_ = input.readDouble();
780  break;
781  }
782  case 1016: {
783  bitField4_ |= 0x80000000;
784  mipMaxActivityExponent_ = input.readInt32();
785  break;
786  }
787  case 1025: {
788  bitField5_ |= 0x00000001;
789  mipCheckPrecision_ = input.readDouble();
790  break;
791  }
792  case 1032: {
793  bitField4_ |= 0x00000800;
794  useRinsLns_ = input.readBool();
795  break;
796  }
797  case 1040: {
798  bitField3_ |= 0x00040000;
799  exploitBestSolution_ = input.readBool();
800  break;
801  }
802  case 1048: {
803  bitField3_ |= 0x00100000;
804  exploitObjective_ = input.readBool();
805  break;
806  }
807  case 1056: {
808  bitField3_ |= 0x20000000;
809  fillTightenedDomainsInResponse_ = input.readBool();
810  break;
811  }
812  case 1064: {
813  bitField4_ |= 0x00200000;
814  useCombinedNoOverlap_ = input.readBool();
815  break;
816  }
817  case 1072: {
818  bitField4_ |= 0x00000010;
819  interleaveBatchSize_ = input.readInt32();
820  break;
821  }
822  case 1080: {
823  bitField4_ |= 0x00400000;
824  catchSigintSignal_ = input.readBool();
825  break;
826  }
827  case 1088: {
828  bitField4_ |= 0x00000008;
829  interleaveSearch_ = input.readBool();
830  break;
831  }
832  case 1096: {
833  bitField4_ |= 0x00008000;
834  diversifyLnsParams_ = input.readBool();
835  break;
836  }
837  case 1104: {
838  bitField1_ |= 0x20000000;
839  maxPresolveIterations_ = input.readInt32();
840  break;
841  }
842  case 1112: {
843  bitField4_ |= 0x00100000;
844  useBranchingInLp_ = input.readBool();
845  break;
846  }
847  case 1120: {
848  bitField2_ |= 0x00000010;
849  expandElementConstraints_ = input.readBool();
850  break;
851  }
852  case 1128: {
853  bitField4_ |= 0x00000020;
854  reduceMemoryUsageInInterleaveMode_ = input.readBool();
855  break;
856  }
857  case 1136: {
858  bitField3_ |= 0x00200000;
859  probingPeriodAtRoot_ = input.readInt64();
860  break;
861  }
862  case 1144: {
863  bitField2_ |= 0x00000020;
864  expandAutomatonConstraints_ = input.readBool();
865  break;
866  }
867  case 1152: {
868  bitField4_ |= 0x00800000;
869  useImpliedBounds_ = input.readBool();
870  break;
871  }
872  case 1161: {
873  bitField2_ |= 0x00000400;
874  mergeNoOverlapWorkLimit_ = input.readDouble();
875  break;
876  }
877  case 1169: {
878  bitField2_ |= 0x00000800;
879  mergeAtMostOneWorkLimit_ = input.readDouble();
880  break;
881  }
882  case 1176: {
883  bitField2_ |= 0x00001000;
884  presolveSubstitutionLevel_ = input.readInt32();
885  break;
886  }
887  case 1184: {
888  bitField3_ |= 0x00000004;
889  maxAllDiffCutSize_ = input.readInt32();
890  break;
891  }
892  case 1192: {
893  bitField4_ |= 0x00000002;
894  stopAfterPresolve_ = input.readBool();
895  break;
896  }
897  case 1200: {
898  bitField4_ |= 0x00004000;
899  useRelaxationLns_ = input.readBool();
900  break;
901  }
902  case 1208: {
903  bitField2_ |= 0x00000001;
904  cpModelMaxNumPresolveOperations_ = input.readInt32();
905  break;
906  }
907  case 1216: {
908  bitField3_ |= 0x00000008;
909  addLinMaxCuts_ = input.readBool();
910  break;
911  }
912  case 1224: {
913  bitField3_ |= 0x00004000;
914  hintConflictLimit_ = input.readInt32();
915  break;
916  }
917  case 1232: {
918  bitField3_ |= 0x00000080;
919  maxCutRoundsAtLevelZero_ = input.readInt32();
920  break;
921  }
922  case 1241: {
923  bitField3_ |= 0x00000200;
924  cutMaxActiveCountValue_ = input.readDouble();
925  break;
926  }
927  case 1249: {
928  bitField3_ |= 0x00000400;
929  cutActiveCountDecay_ = input.readDouble();
930  break;
931  }
932  case 1256: {
933  bitField3_ |= 0x00000800;
934  cutCleanupTarget_ = input.readInt32();
935  break;
936  }
937  case 1264: {
938  bitField2_ |= 0x00000040;
939  expandTableConstraints_ = input.readBool();
940  break;
941  }
942  case 1273: {
943  bitField1_ |= 0x00000800;
944  absoluteGapLimit_ = input.readDouble();
945  break;
946  }
947  case 1281: {
948  bitField1_ |= 0x00001000;
949  relativeGapLimit_ = input.readDouble();
950  break;
951  }
952  case 1288: {
953  bitField3_ |= 0x00080000;
954  exploitRelaxationSolution_ = input.readBool();
955  break;
956  }
957  case 1296: {
958  bitField1_ |= 0x80000000;
959  cpModelPostsolveWithFullSolver_ = input.readBool();
960  break;
961  }
962  case 1304: {
963  bitField2_ |= 0x00000008;
964  useSatInprocessing_ = input.readBool();
965  break;
966  }
967  case 1312: {
968  bitField4_ |= 0x00001000;
969  useFeasibilityPump_ = input.readBool();
970  break;
971  }
972  case 1320: {
973  int rawValue = input.readEnum();
974  @SuppressWarnings("deprecation")
975  com.google.ortools.sat.SatParameters.FPRoundingMethod value = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(rawValue);
976  if (value == null) {
977  unknownFields.mergeVarintField(165, rawValue);
978  } else {
979  bitField4_ |= 0x00002000;
980  fpRounding_ = rawValue;
981  }
982  break;
983  }
984  case 1328: {
985  bitField4_ |= 0x20000000;
986  mipAutomaticallyScaleVariables_ = input.readBool();
987  break;
988  }
989  case 1336: {
990  bitField3_ |= 0x00008000;
991  repairHint_ = input.readBool();
992  break;
993  }
994  case 1344: {
995  bitField0_ |= 0x00000010;
996  polarityRephaseIncrement_ = input.readInt32();
997  break;
998  }
999  case 1352: {
1000  bitField3_ |= 0x00000001;
1001  addZeroHalfCuts_ = input.readBool();
1002  break;
1003  }
1004  case 1360: {
1005  bitField2_ |= 0x00000080;
1006  expandAlldiffConstraints_ = input.readBool();
1007  break;
1008  }
1009  case 1370: {
1010  com.google.protobuf.ByteString bs = input.readBytes();
1011  bitField0_ |= 0x00000001;
1012  name_ = bs;
1013  break;
1014  }
1015  case 1376: {
1016  bitField3_ |= 0x00000002;
1017  addCliqueCuts_ = input.readBool();
1018  break;
1019  }
1020  case 1384: {
1021  bitField3_ |= 0x10000000;
1022  keepAllFeasibleSolutionsInPresolve_ = input.readBool();
1023  break;
1024  }
1025  case 1392: {
1026  bitField2_ |= 0x00002000;
1027  presolveExtractIntegerEnforcement_ = input.readBool();
1028  break;
1029  }
1030  case 1400: {
1031  bitField4_ |= 0x01000000;
1032  polishLpSolution_ = input.readBool();
1033  break;
1034  }
1035  case 1408: {
1036  bitField3_ |= 0x00400000;
1037  useProbingSearch_ = input.readBool();
1038  break;
1039  }
1040  case 1416: {
1041  bitField4_ |= 0x02000000;
1042  convertIntervals_ = input.readBool();
1043  break;
1044  }
1045  case 1424: {
1046  bitField1_ |= 0x00008000;
1047  permuteVariableRandomly_ = input.readBool();
1048  break;
1049  }
1050  case 1432: {
1051  bitField1_ |= 0x00010000;
1052  permutePresolveConstraintOrder_ = input.readBool();
1053  break;
1054  }
1055  case 1440: {
1056  bitField1_ |= 0x00020000;
1057  useAbslRandom_ = input.readBool();
1058  break;
1059  }
1060  case 1448: {
1061  bitField2_ |= 0x00000200;
1062  disableConstraintExpansion_ = input.readBool();
1063  break;
1064  }
1065  case 1456: {
1066  bitField2_ |= 0x00000100;
1067  expandReservoirConstraints_ = input.readBool();
1068  break;
1069  }
1070  case 1464: {
1071  bitField4_ |= 0x04000000;
1072  symmetryLevel_ = input.readInt32();
1073  break;
1074  }
1075  case 1472: {
1076  bitField4_ |= 0x00000400;
1077  lnsExpandIntervalsInConstraintGraph_ = input.readBool();
1078  break;
1079  }
1080  case 1480: {
1081  bitField1_ |= 0x00080000;
1082  fillLogsInResponse_ = input.readBool();
1083  break;
1084  }
1085  default: {
1086  if (!parseUnknownField(
1087  input, unknownFields, extensionRegistry, tag)) {
1088  done = true;
1089  }
1090  break;
1091  }
1092  }
1093  }
1094  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1095  throw e.setUnfinishedMessage(this);
1096  } catch (java.io.IOException e) {
1097  throw new com.google.protobuf.InvalidProtocolBufferException(
1098  e).setUnfinishedMessage(this);
1099  } finally {
1100  if (((mutable_bitField0_ & 0x20000000) != 0)) {
1101  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
1102  }
1103  this.unknownFields = unknownFields.build();
1104  makeExtensionsImmutable();
1105  }
1106  }
1107  public static final com.google.protobuf.Descriptors.Descriptor
1109  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
1110  }
1111 
1112  @java.lang.Override
1113  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1115  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
1116  .ensureFieldAccessorsInitialized(
1117  com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
1118  }
1119 
1128  public enum VariableOrder
1129  implements com.google.protobuf.ProtocolMessageEnum {
1146  ;
1147 
1155  public static final int IN_ORDER_VALUE = 0;
1159  public static final int IN_REVERSE_ORDER_VALUE = 1;
1163  public static final int IN_RANDOM_ORDER_VALUE = 2;
1164 
1165 
1166  public final int getNumber() {
1167  return value;
1168  }
1169 
1175  @java.lang.Deprecated
1176  public static VariableOrder valueOf(int value) {
1177  return forNumber(value);
1178  }
1179 
1184  public static VariableOrder forNumber(int value) {
1185  switch (value) {
1186  case 0: return IN_ORDER;
1187  case 1: return IN_REVERSE_ORDER;
1188  case 2: return IN_RANDOM_ORDER;
1189  default: return null;
1190  }
1191  }
1192 
1193  public static com.google.protobuf.Internal.EnumLiteMap<VariableOrder>
1195  return internalValueMap;
1196  }
1197  private static final com.google.protobuf.Internal.EnumLiteMap<
1198  VariableOrder> internalValueMap =
1199  new com.google.protobuf.Internal.EnumLiteMap<VariableOrder>() {
1200  public VariableOrder findValueByNumber(int number) {
1201  return VariableOrder.forNumber(number);
1202  }
1203  };
1204 
1205  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1207  return getDescriptor().getValues().get(ordinal());
1208  }
1209  public final com.google.protobuf.Descriptors.EnumDescriptor
1211  return getDescriptor();
1212  }
1213  public static final com.google.protobuf.Descriptors.EnumDescriptor
1215  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
1216  }
1217 
1218  private static final VariableOrder[] VALUES = values();
1219 
1220  public static VariableOrder valueOf(
1221  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1222  if (desc.getType() != getDescriptor()) {
1223  throw new java.lang.IllegalArgumentException(
1224  "EnumValueDescriptor is not for this type.");
1225  }
1226  return VALUES[desc.getIndex()];
1227  }
1228 
1229  private final int value;
1230 
1231  private VariableOrder(int value) {
1232  this.value = value;
1233  }
1234 
1235  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.VariableOrder)
1236  }
1237 
1249  public enum Polarity
1250  implements com.google.protobuf.ProtocolMessageEnum {
1282  ;
1283 
1287  public static final int POLARITY_TRUE_VALUE = 0;
1291  public static final int POLARITY_FALSE_VALUE = 1;
1295  public static final int POLARITY_RANDOM_VALUE = 2;
1306  public static final int POLARITY_WEIGHTED_SIGN_VALUE = 3;
1314  public static final int POLARITY_REVERSE_WEIGHTED_SIGN_VALUE = 4;
1315 
1316 
1317  public final int getNumber() {
1318  return value;
1319  }
1320 
1326  @java.lang.Deprecated
1327  public static Polarity valueOf(int value) {
1328  return forNumber(value);
1329  }
1330 
1335  public static Polarity forNumber(int value) {
1336  switch (value) {
1337  case 0: return POLARITY_TRUE;
1338  case 1: return POLARITY_FALSE;
1339  case 2: return POLARITY_RANDOM;
1340  case 3: return POLARITY_WEIGHTED_SIGN;
1341  case 4: return POLARITY_REVERSE_WEIGHTED_SIGN;
1342  default: return null;
1343  }
1344  }
1345 
1346  public static com.google.protobuf.Internal.EnumLiteMap<Polarity>
1348  return internalValueMap;
1349  }
1350  private static final com.google.protobuf.Internal.EnumLiteMap<
1351  Polarity> internalValueMap =
1352  new com.google.protobuf.Internal.EnumLiteMap<Polarity>() {
1353  public Polarity findValueByNumber(int number) {
1354  return Polarity.forNumber(number);
1355  }
1356  };
1357 
1358  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1360  return getDescriptor().getValues().get(ordinal());
1361  }
1362  public final com.google.protobuf.Descriptors.EnumDescriptor
1364  return getDescriptor();
1365  }
1366  public static final com.google.protobuf.Descriptors.EnumDescriptor
1368  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
1369  }
1370 
1371  private static final Polarity[] VALUES = values();
1372 
1373  public static Polarity valueOf(
1374  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1375  if (desc.getType() != getDescriptor()) {
1376  throw new java.lang.IllegalArgumentException(
1377  "EnumValueDescriptor is not for this type.");
1378  }
1379  return VALUES[desc.getIndex()];
1380  }
1381 
1382  private final int value;
1383 
1384  private Polarity(int value) {
1385  this.value = value;
1386  }
1387 
1388  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.Polarity)
1389  }
1390 
1399  implements com.google.protobuf.ProtocolMessageEnum {
1403  NONE(0),
1416  ;
1417 
1421  public static final int NONE_VALUE = 0;
1425  public static final int SIMPLE_VALUE = 1;
1429  public static final int RECURSIVE_VALUE = 2;
1433  public static final int EXPERIMENTAL_VALUE = 3;
1434 
1435 
1436  public final int getNumber() {
1437  return value;
1438  }
1439 
1445  @java.lang.Deprecated
1446  public static ConflictMinimizationAlgorithm valueOf(int value) {
1447  return forNumber(value);
1448  }
1449 
1454  public static ConflictMinimizationAlgorithm forNumber(int value) {
1455  switch (value) {
1456  case 0: return NONE;
1457  case 1: return SIMPLE;
1458  case 2: return RECURSIVE;
1459  case 3: return EXPERIMENTAL;
1460  default: return null;
1461  }
1462  }
1463 
1464  public static com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>
1466  return internalValueMap;
1467  }
1468  private static final com.google.protobuf.Internal.EnumLiteMap<
1469  ConflictMinimizationAlgorithm> internalValueMap =
1470  new com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>() {
1471  public ConflictMinimizationAlgorithm findValueByNumber(int number) {
1473  }
1474  };
1475 
1476  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1478  return getDescriptor().getValues().get(ordinal());
1479  }
1480  public final com.google.protobuf.Descriptors.EnumDescriptor
1482  return getDescriptor();
1483  }
1484  public static final com.google.protobuf.Descriptors.EnumDescriptor
1486  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
1487  }
1488 
1489  private static final ConflictMinimizationAlgorithm[] VALUES = values();
1490 
1492  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1493  if (desc.getType() != getDescriptor()) {
1494  throw new java.lang.IllegalArgumentException(
1495  "EnumValueDescriptor is not for this type.");
1496  }
1497  return VALUES[desc.getIndex()];
1498  }
1499 
1500  private final int value;
1501 
1502  private ConflictMinimizationAlgorithm(int value) {
1503  this.value = value;
1504  }
1505 
1506  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ConflictMinimizationAlgorithm)
1507  }
1508 
1518  implements com.google.protobuf.ProtocolMessageEnum {
1539  ;
1540 
1544  public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
1548  public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
1552  public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
1556  public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
1560  public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
1561 
1562 
1563  public final int getNumber() {
1564  return value;
1565  }
1566 
1572  @java.lang.Deprecated
1573  public static BinaryMinizationAlgorithm valueOf(int value) {
1574  return forNumber(value);
1575  }
1576 
1581  public static BinaryMinizationAlgorithm forNumber(int value) {
1582  switch (value) {
1583  case 0: return NO_BINARY_MINIMIZATION;
1584  case 1: return BINARY_MINIMIZATION_FIRST;
1585  case 4: return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
1586  case 2: return BINARY_MINIMIZATION_WITH_REACHABILITY;
1587  case 3: return EXPERIMENTAL_BINARY_MINIMIZATION;
1588  default: return null;
1589  }
1590  }
1591 
1592  public static com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>
1594  return internalValueMap;
1595  }
1596  private static final com.google.protobuf.Internal.EnumLiteMap<
1597  BinaryMinizationAlgorithm> internalValueMap =
1598  new com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>() {
1599  public BinaryMinizationAlgorithm findValueByNumber(int number) {
1600  return BinaryMinizationAlgorithm.forNumber(number);
1601  }
1602  };
1603 
1604  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1606  return getDescriptor().getValues().get(ordinal());
1607  }
1608  public final com.google.protobuf.Descriptors.EnumDescriptor
1610  return getDescriptor();
1611  }
1612  public static final com.google.protobuf.Descriptors.EnumDescriptor
1614  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
1615  }
1616 
1617  private static final BinaryMinizationAlgorithm[] VALUES = values();
1618 
1620  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1621  if (desc.getType() != getDescriptor()) {
1622  throw new java.lang.IllegalArgumentException(
1623  "EnumValueDescriptor is not for this type.");
1624  }
1625  return VALUES[desc.getIndex()];
1626  }
1627 
1628  private final int value;
1629 
1630  private BinaryMinizationAlgorithm(int value) {
1631  this.value = value;
1632  }
1633 
1634  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.BinaryMinizationAlgorithm)
1635  }
1636 
1646  public enum ClauseProtection
1647  implements com.google.protobuf.ProtocolMessageEnum {
1672  ;
1673 
1681  public static final int PROTECTION_NONE_VALUE = 0;
1689  public static final int PROTECTION_ALWAYS_VALUE = 1;
1697  public static final int PROTECTION_LBD_VALUE = 2;
1698 
1699 
1700  public final int getNumber() {
1701  return value;
1702  }
1703 
1709  @java.lang.Deprecated
1710  public static ClauseProtection valueOf(int value) {
1711  return forNumber(value);
1712  }
1713 
1718  public static ClauseProtection forNumber(int value) {
1719  switch (value) {
1720  case 0: return PROTECTION_NONE;
1721  case 1: return PROTECTION_ALWAYS;
1722  case 2: return PROTECTION_LBD;
1723  default: return null;
1724  }
1725  }
1726 
1727  public static com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>
1729  return internalValueMap;
1730  }
1731  private static final com.google.protobuf.Internal.EnumLiteMap<
1732  ClauseProtection> internalValueMap =
1733  new com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>() {
1734  public ClauseProtection findValueByNumber(int number) {
1735  return ClauseProtection.forNumber(number);
1736  }
1737  };
1738 
1739  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1741  return getDescriptor().getValues().get(ordinal());
1742  }
1743  public final com.google.protobuf.Descriptors.EnumDescriptor
1745  return getDescriptor();
1746  }
1747  public static final com.google.protobuf.Descriptors.EnumDescriptor
1749  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
1750  }
1751 
1752  private static final ClauseProtection[] VALUES = values();
1753 
1754  public static ClauseProtection valueOf(
1755  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1756  if (desc.getType() != getDescriptor()) {
1757  throw new java.lang.IllegalArgumentException(
1758  "EnumValueDescriptor is not for this type.");
1759  }
1760  return VALUES[desc.getIndex()];
1761  }
1762 
1763  private final int value;
1764 
1765  private ClauseProtection(int value) {
1766  this.value = value;
1767  }
1768 
1769  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseProtection)
1770  }
1771 
1780  public enum ClauseOrdering
1781  implements com.google.protobuf.ProtocolMessageEnum {
1798  ;
1799 
1807  public static final int CLAUSE_ACTIVITY_VALUE = 0;
1815  public static final int CLAUSE_LBD_VALUE = 1;
1816 
1817 
1818  public final int getNumber() {
1819  return value;
1820  }
1821 
1827  @java.lang.Deprecated
1828  public static ClauseOrdering valueOf(int value) {
1829  return forNumber(value);
1830  }
1831 
1836  public static ClauseOrdering forNumber(int value) {
1837  switch (value) {
1838  case 0: return CLAUSE_ACTIVITY;
1839  case 1: return CLAUSE_LBD;
1840  default: return null;
1841  }
1842  }
1843 
1844  public static com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>
1846  return internalValueMap;
1847  }
1848  private static final com.google.protobuf.Internal.EnumLiteMap<
1849  ClauseOrdering> internalValueMap =
1850  new com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>() {
1851  public ClauseOrdering findValueByNumber(int number) {
1852  return ClauseOrdering.forNumber(number);
1853  }
1854  };
1855 
1856  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1858  return getDescriptor().getValues().get(ordinal());
1859  }
1860  public final com.google.protobuf.Descriptors.EnumDescriptor
1862  return getDescriptor();
1863  }
1864  public static final com.google.protobuf.Descriptors.EnumDescriptor
1866  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
1867  }
1868 
1869  private static final ClauseOrdering[] VALUES = values();
1870 
1871  public static ClauseOrdering valueOf(
1872  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1873  if (desc.getType() != getDescriptor()) {
1874  throw new java.lang.IllegalArgumentException(
1875  "EnumValueDescriptor is not for this type.");
1876  }
1877  return VALUES[desc.getIndex()];
1878  }
1879 
1880  private final int value;
1881 
1882  private ClauseOrdering(int value) {
1883  this.value = value;
1884  }
1885 
1886  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseOrdering)
1887  }
1888 
1900  public enum RestartAlgorithm
1901  implements com.google.protobuf.ProtocolMessageEnum {
1938  ;
1939 
1943  public static final int NO_RESTART_VALUE = 0;
1951  public static final int LUBY_RESTART_VALUE = 1;
1959  public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
1967  public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
1975  public static final int FIXED_RESTART_VALUE = 4;
1976 
1977 
1978  public final int getNumber() {
1979  return value;
1980  }
1981 
1987  @java.lang.Deprecated
1988  public static RestartAlgorithm valueOf(int value) {
1989  return forNumber(value);
1990  }
1991 
1996  public static RestartAlgorithm forNumber(int value) {
1997  switch (value) {
1998  case 0: return NO_RESTART;
1999  case 1: return LUBY_RESTART;
2000  case 2: return DL_MOVING_AVERAGE_RESTART;
2001  case 3: return LBD_MOVING_AVERAGE_RESTART;
2002  case 4: return FIXED_RESTART;
2003  default: return null;
2004  }
2005  }
2006 
2007  public static com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>
2009  return internalValueMap;
2010  }
2011  private static final com.google.protobuf.Internal.EnumLiteMap<
2012  RestartAlgorithm> internalValueMap =
2013  new com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>() {
2014  public RestartAlgorithm findValueByNumber(int number) {
2015  return RestartAlgorithm.forNumber(number);
2016  }
2017  };
2018 
2019  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2021  return getDescriptor().getValues().get(ordinal());
2022  }
2023  public final com.google.protobuf.Descriptors.EnumDescriptor
2025  return getDescriptor();
2026  }
2027  public static final com.google.protobuf.Descriptors.EnumDescriptor
2029  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
2030  }
2031 
2032  private static final RestartAlgorithm[] VALUES = values();
2033 
2034  public static RestartAlgorithm valueOf(
2035  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2036  if (desc.getType() != getDescriptor()) {
2037  throw new java.lang.IllegalArgumentException(
2038  "EnumValueDescriptor is not for this type.");
2039  }
2040  return VALUES[desc.getIndex()];
2041  }
2042 
2043  private final int value;
2044 
2045  private RestartAlgorithm(int value) {
2046  this.value = value;
2047  }
2048 
2049  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.RestartAlgorithm)
2050  }
2051 
2060  implements com.google.protobuf.ProtocolMessageEnum {
2073  ;
2074 
2078  public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
2082  public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
2086  public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
2087 
2088 
2089  public final int getNumber() {
2090  return value;
2091  }
2092 
2098  @java.lang.Deprecated
2099  public static MaxSatAssumptionOrder valueOf(int value) {
2100  return forNumber(value);
2101  }
2102 
2107  public static MaxSatAssumptionOrder forNumber(int value) {
2108  switch (value) {
2109  case 0: return DEFAULT_ASSUMPTION_ORDER;
2110  case 1: return ORDER_ASSUMPTION_BY_DEPTH;
2111  case 2: return ORDER_ASSUMPTION_BY_WEIGHT;
2112  default: return null;
2113  }
2114  }
2115 
2116  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>
2118  return internalValueMap;
2119  }
2120  private static final com.google.protobuf.Internal.EnumLiteMap<
2121  MaxSatAssumptionOrder> internalValueMap =
2122  new com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>() {
2123  public MaxSatAssumptionOrder findValueByNumber(int number) {
2124  return MaxSatAssumptionOrder.forNumber(number);
2125  }
2126  };
2127 
2128  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2130  return getDescriptor().getValues().get(ordinal());
2131  }
2132  public final com.google.protobuf.Descriptors.EnumDescriptor
2134  return getDescriptor();
2135  }
2136  public static final com.google.protobuf.Descriptors.EnumDescriptor
2138  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
2139  }
2140 
2141  private static final MaxSatAssumptionOrder[] VALUES = values();
2142 
2144  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2145  if (desc.getType() != getDescriptor()) {
2146  throw new java.lang.IllegalArgumentException(
2147  "EnumValueDescriptor is not for this type.");
2148  }
2149  return VALUES[desc.getIndex()];
2150  }
2151 
2152  private final int value;
2153 
2154  private MaxSatAssumptionOrder(int value) {
2155  this.value = value;
2156  }
2157 
2158  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatAssumptionOrder)
2159  }
2160 
2169  implements com.google.protobuf.ProtocolMessageEnum {
2198  ;
2199 
2207  public static final int STRATIFICATION_NONE_VALUE = 0;
2216  public static final int STRATIFICATION_DESCENT_VALUE = 1;
2227  public static final int STRATIFICATION_ASCENT_VALUE = 2;
2228 
2229 
2230  public final int getNumber() {
2231  return value;
2232  }
2233 
2239  @java.lang.Deprecated
2240  public static MaxSatStratificationAlgorithm valueOf(int value) {
2241  return forNumber(value);
2242  }
2243 
2248  public static MaxSatStratificationAlgorithm forNumber(int value) {
2249  switch (value) {
2250  case 0: return STRATIFICATION_NONE;
2251  case 1: return STRATIFICATION_DESCENT;
2252  case 2: return STRATIFICATION_ASCENT;
2253  default: return null;
2254  }
2255  }
2256 
2257  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>
2259  return internalValueMap;
2260  }
2261  private static final com.google.protobuf.Internal.EnumLiteMap<
2262  MaxSatStratificationAlgorithm> internalValueMap =
2263  new com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>() {
2264  public MaxSatStratificationAlgorithm findValueByNumber(int number) {
2266  }
2267  };
2268 
2269  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2271  return getDescriptor().getValues().get(ordinal());
2272  }
2273  public final com.google.protobuf.Descriptors.EnumDescriptor
2275  return getDescriptor();
2276  }
2277  public static final com.google.protobuf.Descriptors.EnumDescriptor
2279  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
2280  }
2281 
2282  private static final MaxSatStratificationAlgorithm[] VALUES = values();
2283 
2285  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2286  if (desc.getType() != getDescriptor()) {
2287  throw new java.lang.IllegalArgumentException(
2288  "EnumValueDescriptor is not for this type.");
2289  }
2290  return VALUES[desc.getIndex()];
2291  }
2292 
2293  private final int value;
2294 
2295  private MaxSatStratificationAlgorithm(int value) {
2296  this.value = value;
2297  }
2298 
2299  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatStratificationAlgorithm)
2300  }
2301 
2309  public enum SearchBranching
2310  implements com.google.protobuf.ProtocolMessageEnum {
2378  ;
2379 
2388  public static final int AUTOMATIC_SEARCH_VALUE = 0;
2398  public static final int FIXED_SEARCH_VALUE = 1;
2406  public static final int PORTFOLIO_SEARCH_VALUE = 2;
2416  public static final int LP_SEARCH_VALUE = 3;
2426  public static final int PSEUDO_COST_SEARCH_VALUE = 4;
2436  public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
2446  public static final int HINT_SEARCH_VALUE = 6;
2447 
2448 
2449  public final int getNumber() {
2450  return value;
2451  }
2452 
2458  @java.lang.Deprecated
2459  public static SearchBranching valueOf(int value) {
2460  return forNumber(value);
2461  }
2462 
2467  public static SearchBranching forNumber(int value) {
2468  switch (value) {
2469  case 0: return AUTOMATIC_SEARCH;
2470  case 1: return FIXED_SEARCH;
2471  case 2: return PORTFOLIO_SEARCH;
2472  case 3: return LP_SEARCH;
2473  case 4: return PSEUDO_COST_SEARCH;
2474  case 5: return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
2475  case 6: return HINT_SEARCH;
2476  default: return null;
2477  }
2478  }
2479 
2480  public static com.google.protobuf.Internal.EnumLiteMap<SearchBranching>
2482  return internalValueMap;
2483  }
2484  private static final com.google.protobuf.Internal.EnumLiteMap<
2485  SearchBranching> internalValueMap =
2486  new com.google.protobuf.Internal.EnumLiteMap<SearchBranching>() {
2487  public SearchBranching findValueByNumber(int number) {
2488  return SearchBranching.forNumber(number);
2489  }
2490  };
2491 
2492  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2494  return getDescriptor().getValues().get(ordinal());
2495  }
2496  public final com.google.protobuf.Descriptors.EnumDescriptor
2498  return getDescriptor();
2499  }
2500  public static final com.google.protobuf.Descriptors.EnumDescriptor
2502  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
2503  }
2504 
2505  private static final SearchBranching[] VALUES = values();
2506 
2507  public static SearchBranching valueOf(
2508  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2509  if (desc.getType() != getDescriptor()) {
2510  throw new java.lang.IllegalArgumentException(
2511  "EnumValueDescriptor is not for this type.");
2512  }
2513  return VALUES[desc.getIndex()];
2514  }
2515 
2516  private final int value;
2517 
2518  private SearchBranching(int value) {
2519  this.value = value;
2520  }
2521 
2522  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.SearchBranching)
2523  }
2524 
2532  public enum FPRoundingMethod
2533  implements com.google.protobuf.ProtocolMessageEnum {
2574  ;
2575 
2583  public static final int NEAREST_INTEGER_VALUE = 0;
2593  public static final int LOCK_BASED_VALUE = 1;
2602  public static final int ACTIVE_LOCK_BASED_VALUE = 3;
2615  public static final int PROPAGATION_ASSISTED_VALUE = 2;
2616 
2617 
2618  public final int getNumber() {
2619  return value;
2620  }
2621 
2627  @java.lang.Deprecated
2628  public static FPRoundingMethod valueOf(int value) {
2629  return forNumber(value);
2630  }
2631 
2636  public static FPRoundingMethod forNumber(int value) {
2637  switch (value) {
2638  case 0: return NEAREST_INTEGER;
2639  case 1: return LOCK_BASED;
2640  case 3: return ACTIVE_LOCK_BASED;
2641  case 2: return PROPAGATION_ASSISTED;
2642  default: return null;
2643  }
2644  }
2645 
2646  public static com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>
2648  return internalValueMap;
2649  }
2650  private static final com.google.protobuf.Internal.EnumLiteMap<
2651  FPRoundingMethod> internalValueMap =
2652  new com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>() {
2653  public FPRoundingMethod findValueByNumber(int number) {
2654  return FPRoundingMethod.forNumber(number);
2655  }
2656  };
2657 
2658  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2660  return getDescriptor().getValues().get(ordinal());
2661  }
2662  public final com.google.protobuf.Descriptors.EnumDescriptor
2664  return getDescriptor();
2665  }
2666  public static final com.google.protobuf.Descriptors.EnumDescriptor
2668  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(10);
2669  }
2670 
2671  private static final FPRoundingMethod[] VALUES = values();
2672 
2673  public static FPRoundingMethod valueOf(
2674  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2675  if (desc.getType() != getDescriptor()) {
2676  throw new java.lang.IllegalArgumentException(
2677  "EnumValueDescriptor is not for this type.");
2678  }
2679  return VALUES[desc.getIndex()];
2680  }
2681 
2682  private final int value;
2683 
2684  private FPRoundingMethod(int value) {
2685  this.value = value;
2686  }
2687 
2688  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.FPRoundingMethod)
2689  }
2690 
2691  private int bitField0_;
2692  private int bitField1_;
2693  private int bitField2_;
2694  private int bitField3_;
2695  private int bitField4_;
2696  private int bitField5_;
2697  public static final int NAME_FIELD_NUMBER = 171;
2698  private volatile java.lang.Object name_;
2708  @java.lang.Override
2709  public boolean hasName() {
2710  return ((bitField0_ & 0x00000001) != 0);
2711  }
2721  @java.lang.Override
2722  public java.lang.String getName() {
2723  java.lang.Object ref = name_;
2724  if (ref instanceof java.lang.String) {
2725  return (java.lang.String) ref;
2726  } else {
2727  com.google.protobuf.ByteString bs =
2728  (com.google.protobuf.ByteString) ref;
2729  java.lang.String s = bs.toStringUtf8();
2730  if (bs.isValidUtf8()) {
2731  name_ = s;
2732  }
2733  return s;
2734  }
2735  }
2745  @java.lang.Override
2746  public com.google.protobuf.ByteString
2748  java.lang.Object ref = name_;
2749  if (ref instanceof java.lang.String) {
2750  com.google.protobuf.ByteString b =
2751  com.google.protobuf.ByteString.copyFromUtf8(
2752  (java.lang.String) ref);
2753  name_ = b;
2754  return b;
2755  } else {
2756  return (com.google.protobuf.ByteString) ref;
2757  }
2758  }
2759 
2760  public static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER = 1;
2761  private int preferredVariableOrder_;
2766  @java.lang.Override public boolean hasPreferredVariableOrder() {
2767  return ((bitField0_ & 0x00000002) != 0);
2768  }
2773  @java.lang.Override public com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder() {
2774  @SuppressWarnings("deprecation")
2775  com.google.ortools.sat.SatParameters.VariableOrder result = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(preferredVariableOrder_);
2776  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
2777  }
2778 
2779  public static final int INITIAL_POLARITY_FIELD_NUMBER = 2;
2780  private int initialPolarity_;
2785  @java.lang.Override public boolean hasInitialPolarity() {
2786  return ((bitField0_ & 0x00000004) != 0);
2787  }
2792  @java.lang.Override public com.google.ortools.sat.SatParameters.Polarity getInitialPolarity() {
2793  @SuppressWarnings("deprecation")
2794  com.google.ortools.sat.SatParameters.Polarity result = com.google.ortools.sat.SatParameters.Polarity.valueOf(initialPolarity_);
2795  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
2796  }
2797 
2798  public static final int USE_PHASE_SAVING_FIELD_NUMBER = 44;
2799  private boolean usePhaseSaving_;
2816  @java.lang.Override
2817  public boolean hasUsePhaseSaving() {
2818  return ((bitField0_ & 0x00000008) != 0);
2819  }
2836  @java.lang.Override
2837  public boolean getUsePhaseSaving() {
2838  return usePhaseSaving_;
2839  }
2840 
2841  public static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER = 168;
2842  private int polarityRephaseIncrement_;
2853  @java.lang.Override
2854  public boolean hasPolarityRephaseIncrement() {
2855  return ((bitField0_ & 0x00000010) != 0);
2856  }
2867  @java.lang.Override
2869  return polarityRephaseIncrement_;
2870  }
2871 
2872  public static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER = 45;
2873  private double randomPolarityRatio_;
2886  @java.lang.Override
2887  public boolean hasRandomPolarityRatio() {
2888  return ((bitField0_ & 0x00000020) != 0);
2889  }
2902  @java.lang.Override
2903  public double getRandomPolarityRatio() {
2904  return randomPolarityRatio_;
2905  }
2906 
2907  public static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER = 32;
2908  private double randomBranchesRatio_;
2919  @java.lang.Override
2920  public boolean hasRandomBranchesRatio() {
2921  return ((bitField0_ & 0x00000040) != 0);
2922  }
2933  @java.lang.Override
2934  public double getRandomBranchesRatio() {
2935  return randomBranchesRatio_;
2936  }
2937 
2938  public static final int USE_ERWA_HEURISTIC_FIELD_NUMBER = 75;
2939  private boolean useErwaHeuristic_;
2950  @java.lang.Override
2951  public boolean hasUseErwaHeuristic() {
2952  return ((bitField0_ & 0x00000080) != 0);
2953  }
2964  @java.lang.Override
2965  public boolean getUseErwaHeuristic() {
2966  return useErwaHeuristic_;
2967  }
2968 
2969  public static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER = 76;
2970  private double initialVariablesActivity_;
2984  @java.lang.Override
2985  public boolean hasInitialVariablesActivity() {
2986  return ((bitField0_ & 0x00000100) != 0);
2987  }
3001  @java.lang.Override
3003  return initialVariablesActivity_;
3004  }
3005 
3007  private boolean alsoBumpVariablesInConflictReasons_;
3019  @java.lang.Override
3021  return ((bitField0_ & 0x00000200) != 0);
3022  }
3034  @java.lang.Override
3036  return alsoBumpVariablesInConflictReasons_;
3037  }
3038 
3039  public static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER = 4;
3040  private int minimizationAlgorithm_;
3045  @java.lang.Override public boolean hasMinimizationAlgorithm() {
3046  return ((bitField0_ & 0x00000400) != 0);
3047  }
3052  @java.lang.Override public com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm() {
3053  @SuppressWarnings("deprecation")
3054  com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm result = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(minimizationAlgorithm_);
3055  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
3056  }
3057 
3058  public static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER = 34;
3059  private int binaryMinimizationAlgorithm_;
3064  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
3065  return ((bitField0_ & 0x00000800) != 0);
3066  }
3071  @java.lang.Override public com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm() {
3072  @SuppressWarnings("deprecation")
3073  com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm result = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(binaryMinimizationAlgorithm_);
3074  return result == null ? com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.BINARY_MINIMIZATION_FIRST : result;
3075  }
3076 
3078  private boolean subsumptionDuringConflictAnalysis_;
3090  @java.lang.Override
3092  return ((bitField0_ & 0x00001000) != 0);
3093  }
3105  @java.lang.Override
3107  return subsumptionDuringConflictAnalysis_;
3108  }
3109 
3110  public static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER = 11;
3111  private int clauseCleanupPeriod_;
3120  @java.lang.Override
3121  public boolean hasClauseCleanupPeriod() {
3122  return ((bitField0_ & 0x00002000) != 0);
3123  }
3132  @java.lang.Override
3133  public int getClauseCleanupPeriod() {
3134  return clauseCleanupPeriod_;
3135  }
3136 
3137  public static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER = 13;
3138  private int clauseCleanupTarget_;
3148  @java.lang.Override
3149  public boolean hasClauseCleanupTarget() {
3150  return ((bitField0_ & 0x00004000) != 0);
3151  }
3161  @java.lang.Override
3162  public int getClauseCleanupTarget() {
3163  return clauseCleanupTarget_;
3164  }
3165 
3166  public static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER = 58;
3167  private int clauseCleanupProtection_;
3172  @java.lang.Override public boolean hasClauseCleanupProtection() {
3173  return ((bitField0_ & 0x00008000) != 0);
3174  }
3179  @java.lang.Override public com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection() {
3180  @SuppressWarnings("deprecation")
3181  com.google.ortools.sat.SatParameters.ClauseProtection result = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(clauseCleanupProtection_);
3182  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
3183  }
3184 
3185  public static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER = 59;
3186  private int clauseCleanupLbdBound_;
3196  @java.lang.Override
3197  public boolean hasClauseCleanupLbdBound() {
3198  return ((bitField0_ & 0x00010000) != 0);
3199  }
3209  @java.lang.Override
3211  return clauseCleanupLbdBound_;
3212  }
3213 
3214  public static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER = 60;
3215  private int clauseCleanupOrdering_;
3220  @java.lang.Override public boolean hasClauseCleanupOrdering() {
3221  return ((bitField0_ & 0x00020000) != 0);
3222  }
3227  @java.lang.Override public com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering() {
3228  @SuppressWarnings("deprecation")
3229  com.google.ortools.sat.SatParameters.ClauseOrdering result = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(clauseCleanupOrdering_);
3230  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
3231  }
3232 
3233  public static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER = 46;
3234  private int pbCleanupIncrement_;
3243  @java.lang.Override
3244  public boolean hasPbCleanupIncrement() {
3245  return ((bitField0_ & 0x00040000) != 0);
3246  }
3255  @java.lang.Override
3256  public int getPbCleanupIncrement() {
3257  return pbCleanupIncrement_;
3258  }
3259 
3260  public static final int PB_CLEANUP_RATIO_FIELD_NUMBER = 47;
3261  private double pbCleanupRatio_;
3266  @java.lang.Override
3267  public boolean hasPbCleanupRatio() {
3268  return ((bitField0_ & 0x00080000) != 0);
3269  }
3274  @java.lang.Override
3275  public double getPbCleanupRatio() {
3276  return pbCleanupRatio_;
3277  }
3278 
3280  private int minimizeWithPropagationRestartPeriod_;
3299  @java.lang.Override
3301  return ((bitField0_ & 0x00100000) != 0);
3302  }
3321  @java.lang.Override
3323  return minimizeWithPropagationRestartPeriod_;
3324  }
3325 
3327  private int minimizeWithPropagationNumDecisions_;
3332  @java.lang.Override
3334  return ((bitField0_ & 0x00200000) != 0);
3335  }
3340  @java.lang.Override
3342  return minimizeWithPropagationNumDecisions_;
3343  }
3344 
3345  public static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER = 15;
3346  private double variableActivityDecay_;
3361  @java.lang.Override
3362  public boolean hasVariableActivityDecay() {
3363  return ((bitField0_ & 0x00400000) != 0);
3364  }
3379  @java.lang.Override
3380  public double getVariableActivityDecay() {
3381  return variableActivityDecay_;
3382  }
3383 
3384  public static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER = 16;
3385  private double maxVariableActivityValue_;
3390  @java.lang.Override
3391  public boolean hasMaxVariableActivityValue() {
3392  return ((bitField0_ & 0x00800000) != 0);
3393  }
3398  @java.lang.Override
3400  return maxVariableActivityValue_;
3401  }
3402 
3403  public static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER = 22;
3404  private double glucoseMaxDecay_;
3416  @java.lang.Override
3417  public boolean hasGlucoseMaxDecay() {
3418  return ((bitField0_ & 0x01000000) != 0);
3419  }
3431  @java.lang.Override
3432  public double getGlucoseMaxDecay() {
3433  return glucoseMaxDecay_;
3434  }
3435 
3436  public static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER = 23;
3437  private double glucoseDecayIncrement_;
3442  @java.lang.Override
3443  public boolean hasGlucoseDecayIncrement() {
3444  return ((bitField0_ & 0x02000000) != 0);
3445  }
3450  @java.lang.Override
3451  public double getGlucoseDecayIncrement() {
3452  return glucoseDecayIncrement_;
3453  }
3454 
3455  public static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER = 24;
3456  private int glucoseDecayIncrementPeriod_;
3461  @java.lang.Override
3463  return ((bitField0_ & 0x04000000) != 0);
3464  }
3469  @java.lang.Override
3471  return glucoseDecayIncrementPeriod_;
3472  }
3473 
3474  public static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER = 17;
3475  private double clauseActivityDecay_;
3484  @java.lang.Override
3485  public boolean hasClauseActivityDecay() {
3486  return ((bitField0_ & 0x08000000) != 0);
3487  }
3496  @java.lang.Override
3497  public double getClauseActivityDecay() {
3498  return clauseActivityDecay_;
3499  }
3500 
3501  public static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER = 18;
3502  private double maxClauseActivityValue_;
3507  @java.lang.Override
3508  public boolean hasMaxClauseActivityValue() {
3509  return ((bitField0_ & 0x10000000) != 0);
3510  }
3515  @java.lang.Override
3516  public double getMaxClauseActivityValue() {
3517  return maxClauseActivityValue_;
3518  }
3519 
3520  public static final int RESTART_ALGORITHMS_FIELD_NUMBER = 61;
3521  private java.util.List<java.lang.Integer> restartAlgorithms_;
3522  private static final com.google.protobuf.Internal.ListAdapter.Converter<
3523  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm> restartAlgorithms_converter_ =
3524  new com.google.protobuf.Internal.ListAdapter.Converter<
3525  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>() {
3526  public com.google.ortools.sat.SatParameters.RestartAlgorithm convert(java.lang.Integer from) {
3527  @SuppressWarnings("deprecation")
3528  com.google.ortools.sat.SatParameters.RestartAlgorithm result = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(from);
3529  return result == null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
3530  }
3531  };
3547  @java.lang.Override
3548  public java.util.List<com.google.ortools.sat.SatParameters.RestartAlgorithm> getRestartAlgorithmsList() {
3549  return new com.google.protobuf.Internal.ListAdapter<
3550  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
3551  }
3567  @java.lang.Override
3569  return restartAlgorithms_.size();
3570  }
3587  @java.lang.Override
3588  public com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index) {
3589  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
3590  }
3591 
3592  public static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER = 70;
3593  private volatile java.lang.Object defaultRestartAlgorithms_;
3598  @java.lang.Override
3599  public boolean hasDefaultRestartAlgorithms() {
3600  return ((bitField0_ & 0x20000000) != 0);
3601  }
3606  @java.lang.Override
3607  public java.lang.String getDefaultRestartAlgorithms() {
3608  java.lang.Object ref = defaultRestartAlgorithms_;
3609  if (ref instanceof java.lang.String) {
3610  return (java.lang.String) ref;
3611  } else {
3612  com.google.protobuf.ByteString bs =
3613  (com.google.protobuf.ByteString) ref;
3614  java.lang.String s = bs.toStringUtf8();
3615  if (bs.isValidUtf8()) {
3616  defaultRestartAlgorithms_ = s;
3617  }
3618  return s;
3619  }
3620  }
3625  @java.lang.Override
3626  public com.google.protobuf.ByteString
3628  java.lang.Object ref = defaultRestartAlgorithms_;
3629  if (ref instanceof java.lang.String) {
3630  com.google.protobuf.ByteString b =
3631  com.google.protobuf.ByteString.copyFromUtf8(
3632  (java.lang.String) ref);
3633  defaultRestartAlgorithms_ = b;
3634  return b;
3635  } else {
3636  return (com.google.protobuf.ByteString) ref;
3637  }
3638  }
3639 
3640  public static final int RESTART_PERIOD_FIELD_NUMBER = 30;
3641  private int restartPeriod_;
3651  @java.lang.Override
3652  public boolean hasRestartPeriod() {
3653  return ((bitField0_ & 0x40000000) != 0);
3654  }
3664  @java.lang.Override
3665  public int getRestartPeriod() {
3666  return restartPeriod_;
3667  }
3668 
3669  public static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER = 62;
3670  private int restartRunningWindowSize_;
3679  @java.lang.Override
3680  public boolean hasRestartRunningWindowSize() {
3681  return ((bitField0_ & 0x80000000) != 0);
3682  }
3691  @java.lang.Override
3693  return restartRunningWindowSize_;
3694  }
3695 
3696  public static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER = 63;
3697  private double restartDlAverageRatio_;
3707  @java.lang.Override
3708  public boolean hasRestartDlAverageRatio() {
3709  return ((bitField1_ & 0x00000001) != 0);
3710  }
3720  @java.lang.Override
3721  public double getRestartDlAverageRatio() {
3722  return restartDlAverageRatio_;
3723  }
3724 
3725  public static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER = 71;
3726  private double restartLbdAverageRatio_;
3731  @java.lang.Override
3732  public boolean hasRestartLbdAverageRatio() {
3733  return ((bitField1_ & 0x00000002) != 0);
3734  }
3739  @java.lang.Override
3740  public double getRestartLbdAverageRatio() {
3741  return restartLbdAverageRatio_;
3742  }
3743 
3744  public static final int USE_BLOCKING_RESTART_FIELD_NUMBER = 64;
3745  private boolean useBlockingRestart_;
3756  @java.lang.Override
3757  public boolean hasUseBlockingRestart() {
3758  return ((bitField1_ & 0x00000004) != 0);
3759  }
3770  @java.lang.Override
3771  public boolean getUseBlockingRestart() {
3772  return useBlockingRestart_;
3773  }
3774 
3775  public static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER = 65;
3776  private int blockingRestartWindowSize_;
3781  @java.lang.Override
3782  public boolean hasBlockingRestartWindowSize() {
3783  return ((bitField1_ & 0x00000008) != 0);
3784  }
3789  @java.lang.Override
3791  return blockingRestartWindowSize_;
3792  }
3793 
3794  public static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER = 66;
3795  private double blockingRestartMultiplier_;
3800  @java.lang.Override
3801  public boolean hasBlockingRestartMultiplier() {
3802  return ((bitField1_ & 0x00000010) != 0);
3803  }
3808  @java.lang.Override
3810  return blockingRestartMultiplier_;
3811  }
3812 
3814  private int numConflictsBeforeStrategyChanges_;
3825  @java.lang.Override
3827  return ((bitField1_ & 0x00000020) != 0);
3828  }
3839  @java.lang.Override
3841  return numConflictsBeforeStrategyChanges_;
3842  }
3843 
3844  public static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER = 69;
3845  private double strategyChangeIncreaseRatio_;
3855  @java.lang.Override
3857  return ((bitField1_ & 0x00000040) != 0);
3858  }
3868  @java.lang.Override
3870  return strategyChangeIncreaseRatio_;
3871  }
3872 
3873  public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 36;
3874  private double maxTimeInSeconds_;
3884  @java.lang.Override
3885  public boolean hasMaxTimeInSeconds() {
3886  return ((bitField1_ & 0x00000080) != 0);
3887  }
3897  @java.lang.Override
3898  public double getMaxTimeInSeconds() {
3899  return maxTimeInSeconds_;
3900  }
3901 
3902  public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 67;
3903  private double maxDeterministicTime_;
3914  @java.lang.Override
3915  public boolean hasMaxDeterministicTime() {
3916  return ((bitField1_ & 0x00000100) != 0);
3917  }
3928  @java.lang.Override
3929  public double getMaxDeterministicTime() {
3930  return maxDeterministicTime_;
3931  }
3932 
3933  public static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER = 37;
3934  private long maxNumberOfConflicts_;
3948  @java.lang.Override
3949  public boolean hasMaxNumberOfConflicts() {
3950  return ((bitField1_ & 0x00000200) != 0);
3951  }
3965  @java.lang.Override
3966  public long getMaxNumberOfConflicts() {
3967  return maxNumberOfConflicts_;
3968  }
3969 
3970  public static final int MAX_MEMORY_IN_MB_FIELD_NUMBER = 40;
3971  private long maxMemoryInMb_;
3983  @java.lang.Override
3984  public boolean hasMaxMemoryInMb() {
3985  return ((bitField1_ & 0x00000400) != 0);
3986  }
3998  @java.lang.Override
3999  public long getMaxMemoryInMb() {
4000  return maxMemoryInMb_;
4001  }
4002 
4003  public static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER = 159;
4004  private double absoluteGapLimit_;
4022  @java.lang.Override
4023  public boolean hasAbsoluteGapLimit() {
4024  return ((bitField1_ & 0x00000800) != 0);
4025  }
4043  @java.lang.Override
4044  public double getAbsoluteGapLimit() {
4045  return absoluteGapLimit_;
4046  }
4047 
4048  public static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER = 160;
4049  private double relativeGapLimit_;
4054  @java.lang.Override
4055  public boolean hasRelativeGapLimit() {
4056  return ((bitField1_ & 0x00001000) != 0);
4057  }
4062  @java.lang.Override
4063  public double getRelativeGapLimit() {
4064  return relativeGapLimit_;
4065  }
4066 
4067  public static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER = 33;
4068  private boolean treatBinaryClausesSeparately_;
4079  @java.lang.Override
4081  return ((bitField1_ & 0x00002000) != 0);
4082  }
4093  @java.lang.Override
4095  return treatBinaryClausesSeparately_;
4096  }
4097 
4098  public static final int RANDOM_SEED_FIELD_NUMBER = 31;
4099  private int randomSeed_;
4113  @java.lang.Override
4114  public boolean hasRandomSeed() {
4115  return ((bitField1_ & 0x00004000) != 0);
4116  }
4130  @java.lang.Override
4131  public int getRandomSeed() {
4132  return randomSeed_;
4133  }
4134 
4135  public static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER = 178;
4136  private boolean permuteVariableRandomly_;
4148  @java.lang.Override
4149  public boolean hasPermuteVariableRandomly() {
4150  return ((bitField1_ & 0x00008000) != 0);
4151  }
4163  @java.lang.Override
4164  public boolean getPermuteVariableRandomly() {
4165  return permuteVariableRandomly_;
4166  }
4167 
4168  public static final int PERMUTE_PRESOLVE_CONSTRAINT_ORDER_FIELD_NUMBER = 179;
4169  private boolean permutePresolveConstraintOrder_;
4174  @java.lang.Override
4176  return ((bitField1_ & 0x00010000) != 0);
4177  }
4182  @java.lang.Override
4184  return permutePresolveConstraintOrder_;
4185  }
4186 
4187  public static final int USE_ABSL_RANDOM_FIELD_NUMBER = 180;
4188  private boolean useAbslRandom_;
4193  @java.lang.Override
4194  public boolean hasUseAbslRandom() {
4195  return ((bitField1_ & 0x00020000) != 0);
4196  }
4201  @java.lang.Override
4202  public boolean getUseAbslRandom() {
4203  return useAbslRandom_;
4204  }
4205 
4206  public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 41;
4207  private boolean logSearchProgress_;
4216  @java.lang.Override
4217  public boolean hasLogSearchProgress() {
4218  return ((bitField1_ & 0x00040000) != 0);
4219  }
4228  @java.lang.Override
4229  public boolean getLogSearchProgress() {
4230  return logSearchProgress_;
4231  }
4232 
4233  public static final int FILL_LOGS_IN_RESPONSE_FIELD_NUMBER = 185;
4234  private boolean fillLogsInResponse_;
4243  @java.lang.Override
4244  public boolean hasFillLogsInResponse() {
4245  return ((bitField1_ & 0x00080000) != 0);
4246  }
4255  @java.lang.Override
4256  public boolean getFillLogsInResponse() {
4257  return fillLogsInResponse_;
4258  }
4259 
4260  public static final int USE_PB_RESOLUTION_FIELD_NUMBER = 43;
4261  private boolean usePbResolution_;
4273  @java.lang.Override
4274  public boolean hasUsePbResolution() {
4275  return ((bitField1_ & 0x00100000) != 0);
4276  }
4288  @java.lang.Override
4289  public boolean getUsePbResolution() {
4290  return usePbResolution_;
4291  }
4292 
4294  private boolean minimizeReductionDuringPbResolution_;
4306  @java.lang.Override
4308  return ((bitField1_ & 0x00200000) != 0);
4309  }
4321  @java.lang.Override
4323  return minimizeReductionDuringPbResolution_;
4324  }
4325 
4326  public static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER = 49;
4327  private boolean countAssumptionLevelsInLbd_;
4343  @java.lang.Override
4345  return ((bitField1_ & 0x00400000) != 0);
4346  }
4362  @java.lang.Override
4364  return countAssumptionLevelsInLbd_;
4365  }
4366 
4367  public static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER = 54;
4368  private int presolveBveThreshold_;
4379  @java.lang.Override
4380  public boolean hasPresolveBveThreshold() {
4381  return ((bitField1_ & 0x00800000) != 0);
4382  }
4393  @java.lang.Override
4395  return presolveBveThreshold_;
4396  }
4397 
4398  public static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER = 55;
4399  private int presolveBveClauseWeight_;
4409  @java.lang.Override
4410  public boolean hasPresolveBveClauseWeight() {
4411  return ((bitField1_ & 0x01000000) != 0);
4412  }
4422  @java.lang.Override
4424  return presolveBveClauseWeight_;
4425  }
4426 
4428  private double presolveProbingDeterministicTimeLimit_;
4438  @java.lang.Override
4440  return ((bitField1_ & 0x02000000) != 0);
4441  }
4451  @java.lang.Override
4453  return presolveProbingDeterministicTimeLimit_;
4454  }
4455 
4456  public static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER = 88;
4457  private boolean presolveBlockedClause_;
4467  @java.lang.Override
4468  public boolean hasPresolveBlockedClause() {
4469  return ((bitField1_ & 0x04000000) != 0);
4470  }
4480  @java.lang.Override
4481  public boolean getPresolveBlockedClause() {
4482  return presolveBlockedClause_;
4483  }
4484 
4485  public static final int PRESOLVE_USE_BVA_FIELD_NUMBER = 72;
4486  private boolean presolveUseBva_;
4495  @java.lang.Override
4496  public boolean hasPresolveUseBva() {
4497  return ((bitField1_ & 0x08000000) != 0);
4498  }
4507  @java.lang.Override
4508  public boolean getPresolveUseBva() {
4509  return presolveUseBva_;
4510  }
4511 
4512  public static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER = 73;
4513  private int presolveBvaThreshold_;
4525  @java.lang.Override
4526  public boolean hasPresolveBvaThreshold() {
4527  return ((bitField1_ & 0x10000000) != 0);
4528  }
4540  @java.lang.Override
4542  return presolveBvaThreshold_;
4543  }
4544 
4545  public static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER = 138;
4546  private int maxPresolveIterations_;
4557  @java.lang.Override
4558  public boolean hasMaxPresolveIterations() {
4559  return ((bitField1_ & 0x20000000) != 0);
4560  }
4571  @java.lang.Override
4573  return maxPresolveIterations_;
4574  }
4575 
4576  public static final int CP_MODEL_PRESOLVE_FIELD_NUMBER = 86;
4577  private boolean cpModelPresolve_;
4586  @java.lang.Override
4587  public boolean hasCpModelPresolve() {
4588  return ((bitField1_ & 0x40000000) != 0);
4589  }
4598  @java.lang.Override
4599  public boolean getCpModelPresolve() {
4600  return cpModelPresolve_;
4601  }
4602 
4604  private boolean cpModelPostsolveWithFullSolver_;
4616  @java.lang.Override
4618  return ((bitField1_ & 0x80000000) != 0);
4619  }
4631  @java.lang.Override
4633  return cpModelPostsolveWithFullSolver_;
4634  }
4635 
4637  private int cpModelMaxNumPresolveOperations_;
4647  @java.lang.Override
4649  return ((bitField2_ & 0x00000001) != 0);
4650  }
4660  @java.lang.Override
4662  return cpModelMaxNumPresolveOperations_;
4663  }
4664 
4665  public static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER = 110;
4666  private int cpModelProbingLevel_;
4675  @java.lang.Override
4676  public boolean hasCpModelProbingLevel() {
4677  return ((bitField2_ & 0x00000002) != 0);
4678  }
4687  @java.lang.Override
4688  public int getCpModelProbingLevel() {
4689  return cpModelProbingLevel_;
4690  }
4691 
4692  public static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER = 93;
4693  private boolean cpModelUseSatPresolve_;
4702  @java.lang.Override
4703  public boolean hasCpModelUseSatPresolve() {
4704  return ((bitField2_ & 0x00000004) != 0);
4705  }
4714  @java.lang.Override
4715  public boolean getCpModelUseSatPresolve() {
4716  return cpModelUseSatPresolve_;
4717  }
4718 
4719  public static final int USE_SAT_INPROCESSING_FIELD_NUMBER = 163;
4720  private boolean useSatInprocessing_;
4725  @java.lang.Override
4726  public boolean hasUseSatInprocessing() {
4727  return ((bitField2_ & 0x00000008) != 0);
4728  }
4733  @java.lang.Override
4734  public boolean getUseSatInprocessing() {
4735  return useSatInprocessing_;
4736  }
4737 
4738  public static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER = 140;
4739  private boolean expandElementConstraints_;
4749  @java.lang.Override
4750  public boolean hasExpandElementConstraints() {
4751  return ((bitField2_ & 0x00000010) != 0);
4752  }
4762  @java.lang.Override
4763  public boolean getExpandElementConstraints() {
4764  return expandElementConstraints_;
4765  }
4766 
4767  public static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER = 143;
4768  private boolean expandAutomatonConstraints_;
4777  @java.lang.Override
4779  return ((bitField2_ & 0x00000020) != 0);
4780  }
4789  @java.lang.Override
4791  return expandAutomatonConstraints_;
4792  }
4793 
4794  public static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER = 158;
4795  private boolean expandTableConstraints_;
4805  @java.lang.Override
4806  public boolean hasExpandTableConstraints() {
4807  return ((bitField2_ & 0x00000040) != 0);
4808  }
4818  @java.lang.Override
4819  public boolean getExpandTableConstraints() {
4820  return expandTableConstraints_;
4821  }
4822 
4823  public static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER = 170;
4824  private boolean expandAlldiffConstraints_;
4834  @java.lang.Override
4835  public boolean hasExpandAlldiffConstraints() {
4836  return ((bitField2_ & 0x00000080) != 0);
4837  }
4847  @java.lang.Override
4848  public boolean getExpandAlldiffConstraints() {
4849  return expandAlldiffConstraints_;
4850  }
4851 
4852  public static final int EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER = 182;
4853  private boolean expandReservoirConstraints_;
4863  @java.lang.Override
4865  return ((bitField2_ & 0x00000100) != 0);
4866  }
4876  @java.lang.Override
4878  return expandReservoirConstraints_;
4879  }
4880 
4881  public static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER = 181;
4882  private boolean disableConstraintExpansion_;
4892  @java.lang.Override
4894  return ((bitField2_ & 0x00000200) != 0);
4895  }
4905  @java.lang.Override
4907  return disableConstraintExpansion_;
4908  }
4909 
4910  public static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER = 145;
4911  private double mergeNoOverlapWorkLimit_;
4924  @java.lang.Override
4925  public boolean hasMergeNoOverlapWorkLimit() {
4926  return ((bitField2_ & 0x00000400) != 0);
4927  }
4940  @java.lang.Override
4941  public double getMergeNoOverlapWorkLimit() {
4942  return mergeNoOverlapWorkLimit_;
4943  }
4944 
4945  public static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER = 146;
4946  private double mergeAtMostOneWorkLimit_;
4951  @java.lang.Override
4952  public boolean hasMergeAtMostOneWorkLimit() {
4953  return ((bitField2_ & 0x00000800) != 0);
4954  }
4959  @java.lang.Override
4960  public double getMergeAtMostOneWorkLimit() {
4961  return mergeAtMostOneWorkLimit_;
4962  }
4963 
4964  public static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER = 147;
4965  private int presolveSubstitutionLevel_;
4977  @java.lang.Override
4978  public boolean hasPresolveSubstitutionLevel() {
4979  return ((bitField2_ & 0x00001000) != 0);
4980  }
4992  @java.lang.Override
4994  return presolveSubstitutionLevel_;
4995  }
4996 
4998  private boolean presolveExtractIntegerEnforcement_;
5012  @java.lang.Override
5014  return ((bitField2_ & 0x00002000) != 0);
5015  }
5029  @java.lang.Override
5031  return presolveExtractIntegerEnforcement_;
5032  }
5033 
5034  public static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER = 35;
5035  private boolean useOptimizationHints_;
5047  @java.lang.Override
5048  public boolean hasUseOptimizationHints() {
5049  return ((bitField2_ & 0x00004000) != 0);
5050  }
5062  @java.lang.Override
5063  public boolean getUseOptimizationHints() {
5064  return useOptimizationHints_;
5065  }
5066 
5067  public static final int MINIMIZE_CORE_FIELD_NUMBER = 50;
5068  private boolean minimizeCore_;
5077  @java.lang.Override
5078  public boolean hasMinimizeCore() {
5079  return ((bitField2_ & 0x00008000) != 0);
5080  }
5089  @java.lang.Override
5090  public boolean getMinimizeCore() {
5091  return minimizeCore_;
5092  }
5093 
5094  public static final int FIND_MULTIPLE_CORES_FIELD_NUMBER = 84;
5095  private boolean findMultipleCores_;
5105  @java.lang.Override
5106  public boolean hasFindMultipleCores() {
5107  return ((bitField2_ & 0x00010000) != 0);
5108  }
5118  @java.lang.Override
5119  public boolean getFindMultipleCores() {
5120  return findMultipleCores_;
5121  }
5122 
5123  public static final int COVER_OPTIMIZATION_FIELD_NUMBER = 89;
5124  private boolean coverOptimization_;
5134  @java.lang.Override
5135  public boolean hasCoverOptimization() {
5136  return ((bitField2_ & 0x00020000) != 0);
5137  }
5147  @java.lang.Override
5148  public boolean getCoverOptimization() {
5149  return coverOptimization_;
5150  }
5151 
5152  public static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER = 51;
5153  private int maxSatAssumptionOrder_;
5158  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
5159  return ((bitField2_ & 0x00040000) != 0);
5160  }
5165  @java.lang.Override public com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder() {
5166  @SuppressWarnings("deprecation")
5167  com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder result = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(maxSatAssumptionOrder_);
5168  return result == null ? com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.DEFAULT_ASSUMPTION_ORDER : result;
5169  }
5170 
5172  private boolean maxSatReverseAssumptionOrder_;
5182  @java.lang.Override
5184  return ((bitField2_ & 0x00080000) != 0);
5185  }
5195  @java.lang.Override
5197  return maxSatReverseAssumptionOrder_;
5198  }
5199 
5200  public static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER = 53;
5201  private int maxSatStratification_;
5206  @java.lang.Override public boolean hasMaxSatStratification() {
5207  return ((bitField2_ & 0x00100000) != 0);
5208  }
5213  @java.lang.Override public com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification() {
5214  @SuppressWarnings("deprecation")
5215  com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm result = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(maxSatStratification_);
5216  return result == null ? com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.STRATIFICATION_DESCENT : result;
5217  }
5218 
5220  private boolean usePrecedencesInDisjunctiveConstraint_;
5236  @java.lang.Override
5238  return ((bitField2_ & 0x00200000) != 0);
5239  }
5255  @java.lang.Override
5257  return usePrecedencesInDisjunctiveConstraint_;
5258  }
5259 
5261  private boolean useOverloadCheckerInCumulativeConstraint_;
5275  @java.lang.Override
5277  return ((bitField2_ & 0x00400000) != 0);
5278  }
5292  @java.lang.Override
5294  return useOverloadCheckerInCumulativeConstraint_;
5295  }
5296 
5298  private boolean useTimetableEdgeFindingInCumulativeConstraint_;
5312  @java.lang.Override
5314  return ((bitField2_ & 0x00800000) != 0);
5315  }
5329  @java.lang.Override
5331  return useTimetableEdgeFindingInCumulativeConstraint_;
5332  }
5333 
5335  private boolean useDisjunctiveConstraintInCumulativeConstraint_;
5351  @java.lang.Override
5353  return ((bitField2_ & 0x01000000) != 0);
5354  }
5370  @java.lang.Override
5372  return useDisjunctiveConstraintInCumulativeConstraint_;
5373  }
5374 
5375  public static final int LINEARIZATION_LEVEL_FIELD_NUMBER = 90;
5376  private int linearizationLevel_;
5388  @java.lang.Override
5389  public boolean hasLinearizationLevel() {
5390  return ((bitField2_ & 0x02000000) != 0);
5391  }
5403  @java.lang.Override
5404  public int getLinearizationLevel() {
5405  return linearizationLevel_;
5406  }
5407 
5408  public static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER = 107;
5409  private int booleanEncodingLevel_;
5419  @java.lang.Override
5420  public boolean hasBooleanEncodingLevel() {
5421  return ((bitField2_ & 0x04000000) != 0);
5422  }
5432  @java.lang.Override
5434  return booleanEncodingLevel_;
5435  }
5436 
5437  public static final int MAX_NUM_CUTS_FIELD_NUMBER = 91;
5438  private int maxNumCuts_;
5450  @java.lang.Override
5451  public boolean hasMaxNumCuts() {
5452  return ((bitField2_ & 0x08000000) != 0);
5453  }
5465  @java.lang.Override
5466  public int getMaxNumCuts() {
5467  return maxNumCuts_;
5468  }
5469 
5470  public static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER = 92;
5471  private boolean onlyAddCutsAtLevelZero_;
5481  @java.lang.Override
5482  public boolean hasOnlyAddCutsAtLevelZero() {
5483  return ((bitField2_ & 0x10000000) != 0);
5484  }
5494  @java.lang.Override
5495  public boolean getOnlyAddCutsAtLevelZero() {
5496  return onlyAddCutsAtLevelZero_;
5497  }
5498 
5499  public static final int ADD_KNAPSACK_CUTS_FIELD_NUMBER = 111;
5500  private boolean addKnapsackCuts_;
5511  @java.lang.Override
5512  public boolean hasAddKnapsackCuts() {
5513  return ((bitField2_ & 0x20000000) != 0);
5514  }
5525  @java.lang.Override
5526  public boolean getAddKnapsackCuts() {
5527  return addKnapsackCuts_;
5528  }
5529 
5530  public static final int ADD_CG_CUTS_FIELD_NUMBER = 117;
5531  private boolean addCgCuts_;
5541  @java.lang.Override
5542  public boolean hasAddCgCuts() {
5543  return ((bitField2_ & 0x40000000) != 0);
5544  }
5554  @java.lang.Override
5555  public boolean getAddCgCuts() {
5556  return addCgCuts_;
5557  }
5558 
5559  public static final int ADD_MIR_CUTS_FIELD_NUMBER = 120;
5560  private boolean addMirCuts_;
5570  @java.lang.Override
5571  public boolean hasAddMirCuts() {
5572  return ((bitField2_ & 0x80000000) != 0);
5573  }
5583  @java.lang.Override
5584  public boolean getAddMirCuts() {
5585  return addMirCuts_;
5586  }
5587 
5588  public static final int ADD_ZERO_HALF_CUTS_FIELD_NUMBER = 169;
5589  private boolean addZeroHalfCuts_;
5599  @java.lang.Override
5600  public boolean hasAddZeroHalfCuts() {
5601  return ((bitField3_ & 0x00000001) != 0);
5602  }
5612  @java.lang.Override
5613  public boolean getAddZeroHalfCuts() {
5614  return addZeroHalfCuts_;
5615  }
5616 
5617  public static final int ADD_CLIQUE_CUTS_FIELD_NUMBER = 172;
5618  private boolean addCliqueCuts_;
5629  @java.lang.Override
5630  public boolean hasAddCliqueCuts() {
5631  return ((bitField3_ & 0x00000002) != 0);
5632  }
5643  @java.lang.Override
5644  public boolean getAddCliqueCuts() {
5645  return addCliqueCuts_;
5646  }
5647 
5648  public static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER = 148;
5649  private int maxAllDiffCutSize_;
5660  @java.lang.Override
5661  public boolean hasMaxAllDiffCutSize() {
5662  return ((bitField3_ & 0x00000004) != 0);
5663  }
5674  @java.lang.Override
5675  public int getMaxAllDiffCutSize() {
5676  return maxAllDiffCutSize_;
5677  }
5678 
5679  public static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER = 152;
5680  private boolean addLinMaxCuts_;
5691  @java.lang.Override
5692  public boolean hasAddLinMaxCuts() {
5693  return ((bitField3_ & 0x00000008) != 0);
5694  }
5705  @java.lang.Override
5706  public boolean getAddLinMaxCuts() {
5707  return addLinMaxCuts_;
5708  }
5709 
5710  public static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER = 119;
5711  private int maxIntegerRoundingScaling_;
5726  @java.lang.Override
5727  public boolean hasMaxIntegerRoundingScaling() {
5728  return ((bitField3_ & 0x00000010) != 0);
5729  }
5744  @java.lang.Override
5746  return maxIntegerRoundingScaling_;
5747  }
5748 
5749  public static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER = 112;
5750  private boolean addLpConstraintsLazily_;
5762  @java.lang.Override
5763  public boolean hasAddLpConstraintsLazily() {
5764  return ((bitField3_ & 0x00000020) != 0);
5765  }
5777  @java.lang.Override
5778  public boolean getAddLpConstraintsLazily() {
5779  return addLpConstraintsLazily_;
5780  }
5781 
5783  private double minOrthogonalityForLpConstraints_;
5796  @java.lang.Override
5798  return ((bitField3_ & 0x00000040) != 0);
5799  }
5812  @java.lang.Override
5814  return minOrthogonalityForLpConstraints_;
5815  }
5816 
5817  public static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER = 154;
5818  private int maxCutRoundsAtLevelZero_;
5827  @java.lang.Override
5828  public boolean hasMaxCutRoundsAtLevelZero() {
5829  return ((bitField3_ & 0x00000080) != 0);
5830  }
5839  @java.lang.Override
5841  return maxCutRoundsAtLevelZero_;
5842  }
5843 
5844  public static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER = 121;
5845  private int maxConsecutiveInactiveCount_;
5856  @java.lang.Override
5858  return ((bitField3_ & 0x00000100) != 0);
5859  }
5870  @java.lang.Override
5872  return maxConsecutiveInactiveCount_;
5873  }
5874 
5875  public static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER = 155;
5876  private double cutMaxActiveCountValue_;
5887  @java.lang.Override
5888  public boolean hasCutMaxActiveCountValue() {
5889  return ((bitField3_ & 0x00000200) != 0);
5890  }
5901  @java.lang.Override
5902  public double getCutMaxActiveCountValue() {
5903  return cutMaxActiveCountValue_;
5904  }
5905 
5906  public static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER = 156;
5907  private double cutActiveCountDecay_;
5912  @java.lang.Override
5913  public boolean hasCutActiveCountDecay() {
5914  return ((bitField3_ & 0x00000400) != 0);
5915  }
5920  @java.lang.Override
5921  public double getCutActiveCountDecay() {
5922  return cutActiveCountDecay_;
5923  }
5924 
5925  public static final int CUT_CLEANUP_TARGET_FIELD_NUMBER = 157;
5926  private int cutCleanupTarget_;
5935  @java.lang.Override
5936  public boolean hasCutCleanupTarget() {
5937  return ((bitField3_ & 0x00000800) != 0);
5938  }
5947  @java.lang.Override
5948  public int getCutCleanupTarget() {
5949  return cutCleanupTarget_;
5950  }
5951 
5952  public static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER = 122;
5953  private int newConstraintsBatchSize_;
5963  @java.lang.Override
5964  public boolean hasNewConstraintsBatchSize() {
5965  return ((bitField3_ & 0x00001000) != 0);
5966  }
5976  @java.lang.Override
5978  return newConstraintsBatchSize_;
5979  }
5980 
5981  public static final int SEARCH_BRANCHING_FIELD_NUMBER = 82;
5982  private int searchBranching_;
5987  @java.lang.Override public boolean hasSearchBranching() {
5988  return ((bitField3_ & 0x00002000) != 0);
5989  }
5994  @java.lang.Override public com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching() {
5995  @SuppressWarnings("deprecation")
5996  com.google.ortools.sat.SatParameters.SearchBranching result = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(searchBranching_);
5997  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
5998  }
5999 
6000  public static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER = 153;
6001  private int hintConflictLimit_;
6010  @java.lang.Override
6011  public boolean hasHintConflictLimit() {
6012  return ((bitField3_ & 0x00004000) != 0);
6013  }
6022  @java.lang.Override
6023  public int getHintConflictLimit() {
6024  return hintConflictLimit_;
6025  }
6026 
6027  public static final int REPAIR_HINT_FIELD_NUMBER = 167;
6028  private boolean repairHint_;
6040  @java.lang.Override
6041  public boolean hasRepairHint() {
6042  return ((bitField3_ & 0x00008000) != 0);
6043  }
6055  @java.lang.Override
6056  public boolean getRepairHint() {
6057  return repairHint_;
6058  }
6059 
6060  public static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER = 94;
6061  private boolean exploitIntegerLpSolution_;
6073  @java.lang.Override
6074  public boolean hasExploitIntegerLpSolution() {
6075  return ((bitField3_ & 0x00010000) != 0);
6076  }
6088  @java.lang.Override
6089  public boolean getExploitIntegerLpSolution() {
6090  return exploitIntegerLpSolution_;
6091  }
6092 
6093  public static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER = 116;
6094  private boolean exploitAllLpSolution_;
6105  @java.lang.Override
6106  public boolean hasExploitAllLpSolution() {
6107  return ((bitField3_ & 0x00020000) != 0);
6108  }
6119  @java.lang.Override
6120  public boolean getExploitAllLpSolution() {
6121  return exploitAllLpSolution_;
6122  }
6123 
6124  public static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER = 130;
6125  private boolean exploitBestSolution_;
6134  @java.lang.Override
6135  public boolean hasExploitBestSolution() {
6136  return ((bitField3_ & 0x00040000) != 0);
6137  }
6146  @java.lang.Override
6147  public boolean getExploitBestSolution() {
6148  return exploitBestSolution_;
6149  }
6150 
6151  public static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER = 161;
6152  private boolean exploitRelaxationSolution_;
6163  @java.lang.Override
6164  public boolean hasExploitRelaxationSolution() {
6165  return ((bitField3_ & 0x00080000) != 0);
6166  }
6177  @java.lang.Override
6178  public boolean getExploitRelaxationSolution() {
6179  return exploitRelaxationSolution_;
6180  }
6181 
6182  public static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER = 131;
6183  private boolean exploitObjective_;
6193  @java.lang.Override
6194  public boolean hasExploitObjective() {
6195  return ((bitField3_ & 0x00100000) != 0);
6196  }
6206  @java.lang.Override
6207  public boolean getExploitObjective() {
6208  return exploitObjective_;
6209  }
6210 
6211  public static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER = 142;
6212  private long probingPeriodAtRoot_;
6223  @java.lang.Override
6224  public boolean hasProbingPeriodAtRoot() {
6225  return ((bitField3_ & 0x00200000) != 0);
6226  }
6237  @java.lang.Override
6238  public long getProbingPeriodAtRoot() {
6239  return probingPeriodAtRoot_;
6240  }
6241 
6242  public static final int USE_PROBING_SEARCH_FIELD_NUMBER = 176;
6243  private boolean useProbingSearch_;
6253  @java.lang.Override
6254  public boolean hasUseProbingSearch() {
6255  return ((bitField3_ & 0x00400000) != 0);
6256  }
6266  @java.lang.Override
6267  public boolean getUseProbingSearch() {
6268  return useProbingSearch_;
6269  }
6270 
6271  public static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER = 123;
6272  private long pseudoCostReliabilityThreshold_;
6282  @java.lang.Override
6284  return ((bitField3_ & 0x00800000) != 0);
6285  }
6295  @java.lang.Override
6297  return pseudoCostReliabilityThreshold_;
6298  }
6299 
6300  public static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER = 83;
6301  private boolean optimizeWithCore_;
6313  @java.lang.Override
6314  public boolean hasOptimizeWithCore() {
6315  return ((bitField3_ & 0x01000000) != 0);
6316  }
6328  @java.lang.Override
6329  public boolean getOptimizeWithCore() {
6330  return optimizeWithCore_;
6331  }
6332 
6333  public static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER = 99;
6334  private int binarySearchNumConflicts_;
6346  @java.lang.Override
6347  public boolean hasBinarySearchNumConflicts() {
6348  return ((bitField3_ & 0x02000000) != 0);
6349  }
6361  @java.lang.Override
6363  return binarySearchNumConflicts_;
6364  }
6365 
6366  public static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER = 85;
6367  private boolean optimizeWithMaxHs_;
6381  @java.lang.Override
6382  public boolean hasOptimizeWithMaxHs() {
6383  return ((bitField3_ & 0x04000000) != 0);
6384  }
6398  @java.lang.Override
6399  public boolean getOptimizeWithMaxHs() {
6400  return optimizeWithMaxHs_;
6401  }
6402 
6403  public static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER = 87;
6404  private boolean enumerateAllSolutions_;
6418  @java.lang.Override
6419  public boolean hasEnumerateAllSolutions() {
6420  return ((bitField3_ & 0x08000000) != 0);
6421  }
6435  @java.lang.Override
6436  public boolean getEnumerateAllSolutions() {
6437  return enumerateAllSolutions_;
6438  }
6439 
6441  private boolean keepAllFeasibleSolutionsInPresolve_;
6456  @java.lang.Override
6458  return ((bitField3_ & 0x10000000) != 0);
6459  }
6474  @java.lang.Override
6476  return keepAllFeasibleSolutionsInPresolve_;
6477  }
6478 
6480  private boolean fillTightenedDomainsInResponse_;
6493  @java.lang.Override
6495  return ((bitField3_ & 0x20000000) != 0);
6496  }
6509  @java.lang.Override
6511  return fillTightenedDomainsInResponse_;
6512  }
6513 
6514  public static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER = 106;
6515  private boolean instantiateAllVariables_;
6525  @java.lang.Override
6526  public boolean hasInstantiateAllVariables() {
6527  return ((bitField3_ & 0x40000000) != 0);
6528  }
6538  @java.lang.Override
6539  public boolean getInstantiateAllVariables() {
6540  return instantiateAllVariables_;
6541  }
6542 
6544  private boolean autoDetectGreaterThanAtLeastOneOf_;
6556  @java.lang.Override
6558  return ((bitField3_ & 0x80000000) != 0);
6559  }
6571  @java.lang.Override
6573  return autoDetectGreaterThanAtLeastOneOf_;
6574  }
6575 
6576  public static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER = 98;
6577  private boolean stopAfterFirstSolution_;
6586  @java.lang.Override
6587  public boolean hasStopAfterFirstSolution() {
6588  return ((bitField4_ & 0x00000001) != 0);
6589  }
6598  @java.lang.Override
6599  public boolean getStopAfterFirstSolution() {
6600  return stopAfterFirstSolution_;
6601  }
6602 
6603  public static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER = 149;
6604  private boolean stopAfterPresolve_;
6614  @java.lang.Override
6615  public boolean hasStopAfterPresolve() {
6616  return ((bitField4_ & 0x00000002) != 0);
6617  }
6627  @java.lang.Override
6628  public boolean getStopAfterPresolve() {
6629  return stopAfterPresolve_;
6630  }
6631 
6632  public static final int NUM_SEARCH_WORKERS_FIELD_NUMBER = 100;
6633  private int numSearchWorkers_;
6647  @java.lang.Override
6648  public boolean hasNumSearchWorkers() {
6649  return ((bitField4_ & 0x00000004) != 0);
6650  }
6664  @java.lang.Override
6665  public int getNumSearchWorkers() {
6666  return numSearchWorkers_;
6667  }
6668 
6669  public static final int INTERLEAVE_SEARCH_FIELD_NUMBER = 136;
6670  private boolean interleaveSearch_;
6683  @java.lang.Override
6684  public boolean hasInterleaveSearch() {
6685  return ((bitField4_ & 0x00000008) != 0);
6686  }
6699  @java.lang.Override
6700  public boolean getInterleaveSearch() {
6701  return interleaveSearch_;
6702  }
6703 
6704  public static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER = 134;
6705  private int interleaveBatchSize_;
6710  @java.lang.Override
6711  public boolean hasInterleaveBatchSize() {
6712  return ((bitField4_ & 0x00000010) != 0);
6713  }
6718  @java.lang.Override
6719  public int getInterleaveBatchSize() {
6720  return interleaveBatchSize_;
6721  }
6722 
6724  private boolean reduceMemoryUsageInInterleaveMode_;
6733  @java.lang.Override
6735  return ((bitField4_ & 0x00000020) != 0);
6736  }
6745  @java.lang.Override
6747  return reduceMemoryUsageInInterleaveMode_;
6748  }
6749 
6750  public static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER = 113;
6751  private boolean shareObjectiveBounds_;
6760  @java.lang.Override
6761  public boolean hasShareObjectiveBounds() {
6762  return ((bitField4_ & 0x00000040) != 0);
6763  }
6772  @java.lang.Override
6773  public boolean getShareObjectiveBounds() {
6774  return shareObjectiveBounds_;
6775  }
6776 
6777  public static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER = 114;
6778  private boolean shareLevelZeroBounds_;
6787  @java.lang.Override
6788  public boolean hasShareLevelZeroBounds() {
6789  return ((bitField4_ & 0x00000080) != 0);
6790  }
6799  @java.lang.Override
6800  public boolean getShareLevelZeroBounds() {
6801  return shareLevelZeroBounds_;
6802  }
6803 
6804  public static final int USE_LNS_ONLY_FIELD_NUMBER = 101;
6805  private boolean useLnsOnly_;
6814  @java.lang.Override
6815  public boolean hasUseLnsOnly() {
6816  return ((bitField4_ & 0x00000100) != 0);
6817  }
6826  @java.lang.Override
6827  public boolean getUseLnsOnly() {
6828  return useLnsOnly_;
6829  }
6830 
6831  public static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER = 105;
6832  private boolean lnsFocusOnDecisionVariables_;
6837  @java.lang.Override
6839  return ((bitField4_ & 0x00000200) != 0);
6840  }
6845  @java.lang.Override
6847  return lnsFocusOnDecisionVariables_;
6848  }
6849 
6851  private boolean lnsExpandIntervalsInConstraintGraph_;
6856  @java.lang.Override
6858  return ((bitField4_ & 0x00000400) != 0);
6859  }
6864  @java.lang.Override
6866  return lnsExpandIntervalsInConstraintGraph_;
6867  }
6868 
6869  public static final int USE_RINS_LNS_FIELD_NUMBER = 129;
6870  private boolean useRinsLns_;
6879  @java.lang.Override
6880  public boolean hasUseRinsLns() {
6881  return ((bitField4_ & 0x00000800) != 0);
6882  }
6891  @java.lang.Override
6892  public boolean getUseRinsLns() {
6893  return useRinsLns_;
6894  }
6895 
6896  public static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER = 164;
6897  private boolean useFeasibilityPump_;
6906  @java.lang.Override
6907  public boolean hasUseFeasibilityPump() {
6908  return ((bitField4_ & 0x00001000) != 0);
6909  }
6918  @java.lang.Override
6919  public boolean getUseFeasibilityPump() {
6920  return useFeasibilityPump_;
6921  }
6922 
6923  public static final int FP_ROUNDING_FIELD_NUMBER = 165;
6924  private int fpRounding_;
6929  @java.lang.Override public boolean hasFpRounding() {
6930  return ((bitField4_ & 0x00002000) != 0);
6931  }
6936  @java.lang.Override public com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding() {
6937  @SuppressWarnings("deprecation")
6938  com.google.ortools.sat.SatParameters.FPRoundingMethod result = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(fpRounding_);
6939  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
6940  }
6941 
6942  public static final int USE_RELAXATION_LNS_FIELD_NUMBER = 150;
6943  private boolean useRelaxationLns_;
6953  @java.lang.Override
6954  public boolean hasUseRelaxationLns() {
6955  return ((bitField4_ & 0x00004000) != 0);
6956  }
6966  @java.lang.Override
6967  public boolean getUseRelaxationLns() {
6968  return useRelaxationLns_;
6969  }
6970 
6971  public static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER = 137;
6972  private boolean diversifyLnsParams_;
6981  @java.lang.Override
6982  public boolean hasDiversifyLnsParams() {
6983  return ((bitField4_ & 0x00008000) != 0);
6984  }
6993  @java.lang.Override
6994  public boolean getDiversifyLnsParams() {
6995  return diversifyLnsParams_;
6996  }
6997 
6998  public static final int RANDOMIZE_SEARCH_FIELD_NUMBER = 103;
6999  private boolean randomizeSearch_;
7008  @java.lang.Override
7009  public boolean hasRandomizeSearch() {
7010  return ((bitField4_ & 0x00010000) != 0);
7011  }
7020  @java.lang.Override
7021  public boolean getRandomizeSearch() {
7022  return randomizeSearch_;
7023  }
7024 
7025  public static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER = 104;
7026  private long searchRandomizationTolerance_;
7041  @java.lang.Override
7043  return ((bitField4_ & 0x00020000) != 0);
7044  }
7059  @java.lang.Override
7061  return searchRandomizationTolerance_;
7062  }
7063 
7064  public static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER = 108;
7065  private boolean useOptionalVariables_;
7076  @java.lang.Override
7077  public boolean hasUseOptionalVariables() {
7078  return ((bitField4_ & 0x00040000) != 0);
7079  }
7090  @java.lang.Override
7091  public boolean getUseOptionalVariables() {
7092  return useOptionalVariables_;
7093  }
7094 
7095  public static final int USE_EXACT_LP_REASON_FIELD_NUMBER = 109;
7096  private boolean useExactLpReason_;
7108  @java.lang.Override
7109  public boolean hasUseExactLpReason() {
7110  return ((bitField4_ & 0x00080000) != 0);
7111  }
7123  @java.lang.Override
7124  public boolean getUseExactLpReason() {
7125  return useExactLpReason_;
7126  }
7127 
7128  public static final int USE_BRANCHING_IN_LP_FIELD_NUMBER = 139;
7129  private boolean useBranchingInLp_;
7140  @java.lang.Override
7141  public boolean hasUseBranchingInLp() {
7142  return ((bitField4_ & 0x00100000) != 0);
7143  }
7154  @java.lang.Override
7155  public boolean getUseBranchingInLp() {
7156  return useBranchingInLp_;
7157  }
7158 
7159  public static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER = 133;
7160  private boolean useCombinedNoOverlap_;
7171  @java.lang.Override
7172  public boolean hasUseCombinedNoOverlap() {
7173  return ((bitField4_ & 0x00200000) != 0);
7174  }
7185  @java.lang.Override
7186  public boolean getUseCombinedNoOverlap() {
7187  return useCombinedNoOverlap_;
7188  }
7189 
7190  public static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER = 135;
7191  private boolean catchSigintSignal_;
7202  @java.lang.Override
7203  public boolean hasCatchSigintSignal() {
7204  return ((bitField4_ & 0x00400000) != 0);
7205  }
7216  @java.lang.Override
7217  public boolean getCatchSigintSignal() {
7218  return catchSigintSignal_;
7219  }
7220 
7221  public static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER = 144;
7222  private boolean useImpliedBounds_;
7233  @java.lang.Override
7234  public boolean hasUseImpliedBounds() {
7235  return ((bitField4_ & 0x00800000) != 0);
7236  }
7247  @java.lang.Override
7248  public boolean getUseImpliedBounds() {
7249  return useImpliedBounds_;
7250  }
7251 
7252  public static final int POLISH_LP_SOLUTION_FIELD_NUMBER = 175;
7253  private boolean polishLpSolution_;
7265  @java.lang.Override
7266  public boolean hasPolishLpSolution() {
7267  return ((bitField4_ & 0x01000000) != 0);
7268  }
7280  @java.lang.Override
7281  public boolean getPolishLpSolution() {
7282  return polishLpSolution_;
7283  }
7284 
7285  public static final int CONVERT_INTERVALS_FIELD_NUMBER = 177;
7286  private boolean convertIntervals_;
7297  @java.lang.Override
7298  public boolean hasConvertIntervals() {
7299  return ((bitField4_ & 0x02000000) != 0);
7300  }
7311  @java.lang.Override
7312  public boolean getConvertIntervals() {
7313  return convertIntervals_;
7314  }
7315 
7316  public static final int SYMMETRY_LEVEL_FIELD_NUMBER = 183;
7317  private int symmetryLevel_;
7329  @java.lang.Override
7330  public boolean hasSymmetryLevel() {
7331  return ((bitField4_ & 0x04000000) != 0);
7332  }
7344  @java.lang.Override
7345  public int getSymmetryLevel() {
7346  return symmetryLevel_;
7347  }
7348 
7349  public static final int MIP_MAX_BOUND_FIELD_NUMBER = 124;
7350  private double mipMaxBound_;
7361  @java.lang.Override
7362  public boolean hasMipMaxBound() {
7363  return ((bitField4_ & 0x08000000) != 0);
7364  }
7375  @java.lang.Override
7376  public double getMipMaxBound() {
7377  return mipMaxBound_;
7378  }
7379 
7380  public static final int MIP_VAR_SCALING_FIELD_NUMBER = 125;
7381  private double mipVarScaling_;
7392  @java.lang.Override
7393  public boolean hasMipVarScaling() {
7394  return ((bitField4_ & 0x10000000) != 0);
7395  }
7406  @java.lang.Override
7407  public double getMipVarScaling() {
7408  return mipVarScaling_;
7409  }
7410 
7411  public static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER = 166;
7412  private boolean mipAutomaticallyScaleVariables_;
7425  @java.lang.Override
7427  return ((bitField4_ & 0x20000000) != 0);
7428  }
7441  @java.lang.Override
7443  return mipAutomaticallyScaleVariables_;
7444  }
7445 
7446  public static final int MIP_WANTED_PRECISION_FIELD_NUMBER = 126;
7447  private double mipWantedPrecision_;
7465  @java.lang.Override
7466  public boolean hasMipWantedPrecision() {
7467  return ((bitField4_ & 0x40000000) != 0);
7468  }
7486  @java.lang.Override
7487  public double getMipWantedPrecision() {
7488  return mipWantedPrecision_;
7489  }
7490 
7491  public static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER = 127;
7492  private int mipMaxActivityExponent_;
7507  @java.lang.Override
7508  public boolean hasMipMaxActivityExponent() {
7509  return ((bitField4_ & 0x80000000) != 0);
7510  }
7525  @java.lang.Override
7527  return mipMaxActivityExponent_;
7528  }
7529 
7530  public static final int MIP_CHECK_PRECISION_FIELD_NUMBER = 128;
7531  private double mipCheckPrecision_;
7542  @java.lang.Override
7543  public boolean hasMipCheckPrecision() {
7544  return ((bitField5_ & 0x00000001) != 0);
7545  }
7556  @java.lang.Override
7557  public double getMipCheckPrecision() {
7558  return mipCheckPrecision_;
7559  }
7560 
7561  private byte memoizedIsInitialized = -1;
7562  @java.lang.Override
7563  public final boolean isInitialized() {
7564  byte isInitialized = memoizedIsInitialized;
7565  if (isInitialized == 1) return true;
7566  if (isInitialized == 0) return false;
7567 
7568  memoizedIsInitialized = 1;
7569  return true;
7570  }
7571 
7572  @java.lang.Override
7573  public void writeTo(com.google.protobuf.CodedOutputStream output)
7574  throws java.io.IOException {
7575  if (((bitField0_ & 0x00000002) != 0)) {
7576  output.writeEnum(1, preferredVariableOrder_);
7577  }
7578  if (((bitField0_ & 0x00000004) != 0)) {
7579  output.writeEnum(2, initialPolarity_);
7580  }
7581  if (((bitField0_ & 0x00000400) != 0)) {
7582  output.writeEnum(4, minimizationAlgorithm_);
7583  }
7584  if (((bitField0_ & 0x00002000) != 0)) {
7585  output.writeInt32(11, clauseCleanupPeriod_);
7586  }
7587  if (((bitField0_ & 0x00004000) != 0)) {
7588  output.writeInt32(13, clauseCleanupTarget_);
7589  }
7590  if (((bitField0_ & 0x00400000) != 0)) {
7591  output.writeDouble(15, variableActivityDecay_);
7592  }
7593  if (((bitField0_ & 0x00800000) != 0)) {
7594  output.writeDouble(16, maxVariableActivityValue_);
7595  }
7596  if (((bitField0_ & 0x08000000) != 0)) {
7597  output.writeDouble(17, clauseActivityDecay_);
7598  }
7599  if (((bitField0_ & 0x10000000) != 0)) {
7600  output.writeDouble(18, maxClauseActivityValue_);
7601  }
7602  if (((bitField0_ & 0x01000000) != 0)) {
7603  output.writeDouble(22, glucoseMaxDecay_);
7604  }
7605  if (((bitField0_ & 0x02000000) != 0)) {
7606  output.writeDouble(23, glucoseDecayIncrement_);
7607  }
7608  if (((bitField0_ & 0x04000000) != 0)) {
7609  output.writeInt32(24, glucoseDecayIncrementPeriod_);
7610  }
7611  if (((bitField0_ & 0x40000000) != 0)) {
7612  output.writeInt32(30, restartPeriod_);
7613  }
7614  if (((bitField1_ & 0x00004000) != 0)) {
7615  output.writeInt32(31, randomSeed_);
7616  }
7617  if (((bitField0_ & 0x00000040) != 0)) {
7618  output.writeDouble(32, randomBranchesRatio_);
7619  }
7620  if (((bitField1_ & 0x00002000) != 0)) {
7621  output.writeBool(33, treatBinaryClausesSeparately_);
7622  }
7623  if (((bitField0_ & 0x00000800) != 0)) {
7624  output.writeEnum(34, binaryMinimizationAlgorithm_);
7625  }
7626  if (((bitField2_ & 0x00004000) != 0)) {
7627  output.writeBool(35, useOptimizationHints_);
7628  }
7629  if (((bitField1_ & 0x00000080) != 0)) {
7630  output.writeDouble(36, maxTimeInSeconds_);
7631  }
7632  if (((bitField1_ & 0x00000200) != 0)) {
7633  output.writeInt64(37, maxNumberOfConflicts_);
7634  }
7635  if (((bitField1_ & 0x00000400) != 0)) {
7636  output.writeInt64(40, maxMemoryInMb_);
7637  }
7638  if (((bitField1_ & 0x00040000) != 0)) {
7639  output.writeBool(41, logSearchProgress_);
7640  }
7641  if (((bitField1_ & 0x00100000) != 0)) {
7642  output.writeBool(43, usePbResolution_);
7643  }
7644  if (((bitField0_ & 0x00000008) != 0)) {
7645  output.writeBool(44, usePhaseSaving_);
7646  }
7647  if (((bitField0_ & 0x00000020) != 0)) {
7648  output.writeDouble(45, randomPolarityRatio_);
7649  }
7650  if (((bitField0_ & 0x00040000) != 0)) {
7651  output.writeInt32(46, pbCleanupIncrement_);
7652  }
7653  if (((bitField0_ & 0x00080000) != 0)) {
7654  output.writeDouble(47, pbCleanupRatio_);
7655  }
7656  if (((bitField1_ & 0x00200000) != 0)) {
7657  output.writeBool(48, minimizeReductionDuringPbResolution_);
7658  }
7659  if (((bitField1_ & 0x00400000) != 0)) {
7660  output.writeBool(49, countAssumptionLevelsInLbd_);
7661  }
7662  if (((bitField2_ & 0x00008000) != 0)) {
7663  output.writeBool(50, minimizeCore_);
7664  }
7665  if (((bitField2_ & 0x00040000) != 0)) {
7666  output.writeEnum(51, maxSatAssumptionOrder_);
7667  }
7668  if (((bitField2_ & 0x00080000) != 0)) {
7669  output.writeBool(52, maxSatReverseAssumptionOrder_);
7670  }
7671  if (((bitField2_ & 0x00100000) != 0)) {
7672  output.writeEnum(53, maxSatStratification_);
7673  }
7674  if (((bitField1_ & 0x00800000) != 0)) {
7675  output.writeInt32(54, presolveBveThreshold_);
7676  }
7677  if (((bitField1_ & 0x01000000) != 0)) {
7678  output.writeInt32(55, presolveBveClauseWeight_);
7679  }
7680  if (((bitField0_ & 0x00001000) != 0)) {
7681  output.writeBool(56, subsumptionDuringConflictAnalysis_);
7682  }
7683  if (((bitField1_ & 0x02000000) != 0)) {
7684  output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
7685  }
7686  if (((bitField0_ & 0x00008000) != 0)) {
7687  output.writeEnum(58, clauseCleanupProtection_);
7688  }
7689  if (((bitField0_ & 0x00010000) != 0)) {
7690  output.writeInt32(59, clauseCleanupLbdBound_);
7691  }
7692  if (((bitField0_ & 0x00020000) != 0)) {
7693  output.writeEnum(60, clauseCleanupOrdering_);
7694  }
7695  for (int i = 0; i < restartAlgorithms_.size(); i++) {
7696  output.writeEnum(61, restartAlgorithms_.get(i));
7697  }
7698  if (((bitField0_ & 0x80000000) != 0)) {
7699  output.writeInt32(62, restartRunningWindowSize_);
7700  }
7701  if (((bitField1_ & 0x00000001) != 0)) {
7702  output.writeDouble(63, restartDlAverageRatio_);
7703  }
7704  if (((bitField1_ & 0x00000004) != 0)) {
7705  output.writeBool(64, useBlockingRestart_);
7706  }
7707  if (((bitField1_ & 0x00000008) != 0)) {
7708  output.writeInt32(65, blockingRestartWindowSize_);
7709  }
7710  if (((bitField1_ & 0x00000010) != 0)) {
7711  output.writeDouble(66, blockingRestartMultiplier_);
7712  }
7713  if (((bitField1_ & 0x00000100) != 0)) {
7714  output.writeDouble(67, maxDeterministicTime_);
7715  }
7716  if (((bitField1_ & 0x00000020) != 0)) {
7717  output.writeInt32(68, numConflictsBeforeStrategyChanges_);
7718  }
7719  if (((bitField1_ & 0x00000040) != 0)) {
7720  output.writeDouble(69, strategyChangeIncreaseRatio_);
7721  }
7722  if (((bitField0_ & 0x20000000) != 0)) {
7723  com.google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
7724  }
7725  if (((bitField1_ & 0x00000002) != 0)) {
7726  output.writeDouble(71, restartLbdAverageRatio_);
7727  }
7728  if (((bitField1_ & 0x08000000) != 0)) {
7729  output.writeBool(72, presolveUseBva_);
7730  }
7731  if (((bitField1_ & 0x10000000) != 0)) {
7732  output.writeInt32(73, presolveBvaThreshold_);
7733  }
7734  if (((bitField2_ & 0x00200000) != 0)) {
7735  output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
7736  }
7737  if (((bitField0_ & 0x00000080) != 0)) {
7738  output.writeBool(75, useErwaHeuristic_);
7739  }
7740  if (((bitField0_ & 0x00000100) != 0)) {
7741  output.writeDouble(76, initialVariablesActivity_);
7742  }
7743  if (((bitField0_ & 0x00000200) != 0)) {
7744  output.writeBool(77, alsoBumpVariablesInConflictReasons_);
7745  }
7746  if (((bitField2_ & 0x00400000) != 0)) {
7747  output.writeBool(78, useOverloadCheckerInCumulativeConstraint_);
7748  }
7749  if (((bitField2_ & 0x00800000) != 0)) {
7750  output.writeBool(79, useTimetableEdgeFindingInCumulativeConstraint_);
7751  }
7752  if (((bitField2_ & 0x01000000) != 0)) {
7753  output.writeBool(80, useDisjunctiveConstraintInCumulativeConstraint_);
7754  }
7755  if (((bitField3_ & 0x00002000) != 0)) {
7756  output.writeEnum(82, searchBranching_);
7757  }
7758  if (((bitField3_ & 0x01000000) != 0)) {
7759  output.writeBool(83, optimizeWithCore_);
7760  }
7761  if (((bitField2_ & 0x00010000) != 0)) {
7762  output.writeBool(84, findMultipleCores_);
7763  }
7764  if (((bitField3_ & 0x04000000) != 0)) {
7765  output.writeBool(85, optimizeWithMaxHs_);
7766  }
7767  if (((bitField1_ & 0x40000000) != 0)) {
7768  output.writeBool(86, cpModelPresolve_);
7769  }
7770  if (((bitField3_ & 0x08000000) != 0)) {
7771  output.writeBool(87, enumerateAllSolutions_);
7772  }
7773  if (((bitField1_ & 0x04000000) != 0)) {
7774  output.writeBool(88, presolveBlockedClause_);
7775  }
7776  if (((bitField2_ & 0x00020000) != 0)) {
7777  output.writeBool(89, coverOptimization_);
7778  }
7779  if (((bitField2_ & 0x02000000) != 0)) {
7780  output.writeInt32(90, linearizationLevel_);
7781  }
7782  if (((bitField2_ & 0x08000000) != 0)) {
7783  output.writeInt32(91, maxNumCuts_);
7784  }
7785  if (((bitField2_ & 0x10000000) != 0)) {
7786  output.writeBool(92, onlyAddCutsAtLevelZero_);
7787  }
7788  if (((bitField2_ & 0x00000004) != 0)) {
7789  output.writeBool(93, cpModelUseSatPresolve_);
7790  }
7791  if (((bitField3_ & 0x00010000) != 0)) {
7792  output.writeBool(94, exploitIntegerLpSolution_);
7793  }
7794  if (((bitField3_ & 0x80000000) != 0)) {
7795  output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
7796  }
7797  if (((bitField0_ & 0x00100000) != 0)) {
7798  output.writeInt32(96, minimizeWithPropagationRestartPeriod_);
7799  }
7800  if (((bitField0_ & 0x00200000) != 0)) {
7801  output.writeInt32(97, minimizeWithPropagationNumDecisions_);
7802  }
7803  if (((bitField4_ & 0x00000001) != 0)) {
7804  output.writeBool(98, stopAfterFirstSolution_);
7805  }
7806  if (((bitField3_ & 0x02000000) != 0)) {
7807  output.writeInt32(99, binarySearchNumConflicts_);
7808  }
7809  if (((bitField4_ & 0x00000004) != 0)) {
7810  output.writeInt32(100, numSearchWorkers_);
7811  }
7812  if (((bitField4_ & 0x00000100) != 0)) {
7813  output.writeBool(101, useLnsOnly_);
7814  }
7815  if (((bitField4_ & 0x00010000) != 0)) {
7816  output.writeBool(103, randomizeSearch_);
7817  }
7818  if (((bitField4_ & 0x00020000) != 0)) {
7819  output.writeInt64(104, searchRandomizationTolerance_);
7820  }
7821  if (((bitField4_ & 0x00000200) != 0)) {
7822  output.writeBool(105, lnsFocusOnDecisionVariables_);
7823  }
7824  if (((bitField3_ & 0x40000000) != 0)) {
7825  output.writeBool(106, instantiateAllVariables_);
7826  }
7827  if (((bitField2_ & 0x04000000) != 0)) {
7828  output.writeInt32(107, booleanEncodingLevel_);
7829  }
7830  if (((bitField4_ & 0x00040000) != 0)) {
7831  output.writeBool(108, useOptionalVariables_);
7832  }
7833  if (((bitField4_ & 0x00080000) != 0)) {
7834  output.writeBool(109, useExactLpReason_);
7835  }
7836  if (((bitField2_ & 0x00000002) != 0)) {
7837  output.writeInt32(110, cpModelProbingLevel_);
7838  }
7839  if (((bitField2_ & 0x20000000) != 0)) {
7840  output.writeBool(111, addKnapsackCuts_);
7841  }
7842  if (((bitField3_ & 0x00000020) != 0)) {
7843  output.writeBool(112, addLpConstraintsLazily_);
7844  }
7845  if (((bitField4_ & 0x00000040) != 0)) {
7846  output.writeBool(113, shareObjectiveBounds_);
7847  }
7848  if (((bitField4_ & 0x00000080) != 0)) {
7849  output.writeBool(114, shareLevelZeroBounds_);
7850  }
7851  if (((bitField3_ & 0x00000040) != 0)) {
7852  output.writeDouble(115, minOrthogonalityForLpConstraints_);
7853  }
7854  if (((bitField3_ & 0x00020000) != 0)) {
7855  output.writeBool(116, exploitAllLpSolution_);
7856  }
7857  if (((bitField2_ & 0x40000000) != 0)) {
7858  output.writeBool(117, addCgCuts_);
7859  }
7860  if (((bitField3_ & 0x00000010) != 0)) {
7861  output.writeInt32(119, maxIntegerRoundingScaling_);
7862  }
7863  if (((bitField2_ & 0x80000000) != 0)) {
7864  output.writeBool(120, addMirCuts_);
7865  }
7866  if (((bitField3_ & 0x00000100) != 0)) {
7867  output.writeInt32(121, maxConsecutiveInactiveCount_);
7868  }
7869  if (((bitField3_ & 0x00001000) != 0)) {
7870  output.writeInt32(122, newConstraintsBatchSize_);
7871  }
7872  if (((bitField3_ & 0x00800000) != 0)) {
7873  output.writeInt64(123, pseudoCostReliabilityThreshold_);
7874  }
7875  if (((bitField4_ & 0x08000000) != 0)) {
7876  output.writeDouble(124, mipMaxBound_);
7877  }
7878  if (((bitField4_ & 0x10000000) != 0)) {
7879  output.writeDouble(125, mipVarScaling_);
7880  }
7881  if (((bitField4_ & 0x40000000) != 0)) {
7882  output.writeDouble(126, mipWantedPrecision_);
7883  }
7884  if (((bitField4_ & 0x80000000) != 0)) {
7885  output.writeInt32(127, mipMaxActivityExponent_);
7886  }
7887  if (((bitField5_ & 0x00000001) != 0)) {
7888  output.writeDouble(128, mipCheckPrecision_);
7889  }
7890  if (((bitField4_ & 0x00000800) != 0)) {
7891  output.writeBool(129, useRinsLns_);
7892  }
7893  if (((bitField3_ & 0x00040000) != 0)) {
7894  output.writeBool(130, exploitBestSolution_);
7895  }
7896  if (((bitField3_ & 0x00100000) != 0)) {
7897  output.writeBool(131, exploitObjective_);
7898  }
7899  if (((bitField3_ & 0x20000000) != 0)) {
7900  output.writeBool(132, fillTightenedDomainsInResponse_);
7901  }
7902  if (((bitField4_ & 0x00200000) != 0)) {
7903  output.writeBool(133, useCombinedNoOverlap_);
7904  }
7905  if (((bitField4_ & 0x00000010) != 0)) {
7906  output.writeInt32(134, interleaveBatchSize_);
7907  }
7908  if (((bitField4_ & 0x00400000) != 0)) {
7909  output.writeBool(135, catchSigintSignal_);
7910  }
7911  if (((bitField4_ & 0x00000008) != 0)) {
7912  output.writeBool(136, interleaveSearch_);
7913  }
7914  if (((bitField4_ & 0x00008000) != 0)) {
7915  output.writeBool(137, diversifyLnsParams_);
7916  }
7917  if (((bitField1_ & 0x20000000) != 0)) {
7918  output.writeInt32(138, maxPresolveIterations_);
7919  }
7920  if (((bitField4_ & 0x00100000) != 0)) {
7921  output.writeBool(139, useBranchingInLp_);
7922  }
7923  if (((bitField2_ & 0x00000010) != 0)) {
7924  output.writeBool(140, expandElementConstraints_);
7925  }
7926  if (((bitField4_ & 0x00000020) != 0)) {
7927  output.writeBool(141, reduceMemoryUsageInInterleaveMode_);
7928  }
7929  if (((bitField3_ & 0x00200000) != 0)) {
7930  output.writeInt64(142, probingPeriodAtRoot_);
7931  }
7932  if (((bitField2_ & 0x00000020) != 0)) {
7933  output.writeBool(143, expandAutomatonConstraints_);
7934  }
7935  if (((bitField4_ & 0x00800000) != 0)) {
7936  output.writeBool(144, useImpliedBounds_);
7937  }
7938  if (((bitField2_ & 0x00000400) != 0)) {
7939  output.writeDouble(145, mergeNoOverlapWorkLimit_);
7940  }
7941  if (((bitField2_ & 0x00000800) != 0)) {
7942  output.writeDouble(146, mergeAtMostOneWorkLimit_);
7943  }
7944  if (((bitField2_ & 0x00001000) != 0)) {
7945  output.writeInt32(147, presolveSubstitutionLevel_);
7946  }
7947  if (((bitField3_ & 0x00000004) != 0)) {
7948  output.writeInt32(148, maxAllDiffCutSize_);
7949  }
7950  if (((bitField4_ & 0x00000002) != 0)) {
7951  output.writeBool(149, stopAfterPresolve_);
7952  }
7953  if (((bitField4_ & 0x00004000) != 0)) {
7954  output.writeBool(150, useRelaxationLns_);
7955  }
7956  if (((bitField2_ & 0x00000001) != 0)) {
7957  output.writeInt32(151, cpModelMaxNumPresolveOperations_);
7958  }
7959  if (((bitField3_ & 0x00000008) != 0)) {
7960  output.writeBool(152, addLinMaxCuts_);
7961  }
7962  if (((bitField3_ & 0x00004000) != 0)) {
7963  output.writeInt32(153, hintConflictLimit_);
7964  }
7965  if (((bitField3_ & 0x00000080) != 0)) {
7966  output.writeInt32(154, maxCutRoundsAtLevelZero_);
7967  }
7968  if (((bitField3_ & 0x00000200) != 0)) {
7969  output.writeDouble(155, cutMaxActiveCountValue_);
7970  }
7971  if (((bitField3_ & 0x00000400) != 0)) {
7972  output.writeDouble(156, cutActiveCountDecay_);
7973  }
7974  if (((bitField3_ & 0x00000800) != 0)) {
7975  output.writeInt32(157, cutCleanupTarget_);
7976  }
7977  if (((bitField2_ & 0x00000040) != 0)) {
7978  output.writeBool(158, expandTableConstraints_);
7979  }
7980  if (((bitField1_ & 0x00000800) != 0)) {
7981  output.writeDouble(159, absoluteGapLimit_);
7982  }
7983  if (((bitField1_ & 0x00001000) != 0)) {
7984  output.writeDouble(160, relativeGapLimit_);
7985  }
7986  if (((bitField3_ & 0x00080000) != 0)) {
7987  output.writeBool(161, exploitRelaxationSolution_);
7988  }
7989  if (((bitField1_ & 0x80000000) != 0)) {
7990  output.writeBool(162, cpModelPostsolveWithFullSolver_);
7991  }
7992  if (((bitField2_ & 0x00000008) != 0)) {
7993  output.writeBool(163, useSatInprocessing_);
7994  }
7995  if (((bitField4_ & 0x00001000) != 0)) {
7996  output.writeBool(164, useFeasibilityPump_);
7997  }
7998  if (((bitField4_ & 0x00002000) != 0)) {
7999  output.writeEnum(165, fpRounding_);
8000  }
8001  if (((bitField4_ & 0x20000000) != 0)) {
8002  output.writeBool(166, mipAutomaticallyScaleVariables_);
8003  }
8004  if (((bitField3_ & 0x00008000) != 0)) {
8005  output.writeBool(167, repairHint_);
8006  }
8007  if (((bitField0_ & 0x00000010) != 0)) {
8008  output.writeInt32(168, polarityRephaseIncrement_);
8009  }
8010  if (((bitField3_ & 0x00000001) != 0)) {
8011  output.writeBool(169, addZeroHalfCuts_);
8012  }
8013  if (((bitField2_ & 0x00000080) != 0)) {
8014  output.writeBool(170, expandAlldiffConstraints_);
8015  }
8016  if (((bitField0_ & 0x00000001) != 0)) {
8017  com.google.protobuf.GeneratedMessageV3.writeString(output, 171, name_);
8018  }
8019  if (((bitField3_ & 0x00000002) != 0)) {
8020  output.writeBool(172, addCliqueCuts_);
8021  }
8022  if (((bitField3_ & 0x10000000) != 0)) {
8023  output.writeBool(173, keepAllFeasibleSolutionsInPresolve_);
8024  }
8025  if (((bitField2_ & 0x00002000) != 0)) {
8026  output.writeBool(174, presolveExtractIntegerEnforcement_);
8027  }
8028  if (((bitField4_ & 0x01000000) != 0)) {
8029  output.writeBool(175, polishLpSolution_);
8030  }
8031  if (((bitField3_ & 0x00400000) != 0)) {
8032  output.writeBool(176, useProbingSearch_);
8033  }
8034  if (((bitField4_ & 0x02000000) != 0)) {
8035  output.writeBool(177, convertIntervals_);
8036  }
8037  if (((bitField1_ & 0x00008000) != 0)) {
8038  output.writeBool(178, permuteVariableRandomly_);
8039  }
8040  if (((bitField1_ & 0x00010000) != 0)) {
8041  output.writeBool(179, permutePresolveConstraintOrder_);
8042  }
8043  if (((bitField1_ & 0x00020000) != 0)) {
8044  output.writeBool(180, useAbslRandom_);
8045  }
8046  if (((bitField2_ & 0x00000200) != 0)) {
8047  output.writeBool(181, disableConstraintExpansion_);
8048  }
8049  if (((bitField2_ & 0x00000100) != 0)) {
8050  output.writeBool(182, expandReservoirConstraints_);
8051  }
8052  if (((bitField4_ & 0x04000000) != 0)) {
8053  output.writeInt32(183, symmetryLevel_);
8054  }
8055  if (((bitField4_ & 0x00000400) != 0)) {
8056  output.writeBool(184, lnsExpandIntervalsInConstraintGraph_);
8057  }
8058  if (((bitField1_ & 0x00080000) != 0)) {
8059  output.writeBool(185, fillLogsInResponse_);
8060  }
8061  unknownFields.writeTo(output);
8062  }
8063 
8064  @java.lang.Override
8065  public int getSerializedSize() {
8066  int size = memoizedSize;
8067  if (size != -1) return size;
8068 
8069  size = 0;
8070  if (((bitField0_ & 0x00000002) != 0)) {
8071  size += com.google.protobuf.CodedOutputStream
8072  .computeEnumSize(1, preferredVariableOrder_);
8073  }
8074  if (((bitField0_ & 0x00000004) != 0)) {
8075  size += com.google.protobuf.CodedOutputStream
8076  .computeEnumSize(2, initialPolarity_);
8077  }
8078  if (((bitField0_ & 0x00000400) != 0)) {
8079  size += com.google.protobuf.CodedOutputStream
8080  .computeEnumSize(4, minimizationAlgorithm_);
8081  }
8082  if (((bitField0_ & 0x00002000) != 0)) {
8083  size += com.google.protobuf.CodedOutputStream
8084  .computeInt32Size(11, clauseCleanupPeriod_);
8085  }
8086  if (((bitField0_ & 0x00004000) != 0)) {
8087  size += com.google.protobuf.CodedOutputStream
8088  .computeInt32Size(13, clauseCleanupTarget_);
8089  }
8090  if (((bitField0_ & 0x00400000) != 0)) {
8091  size += com.google.protobuf.CodedOutputStream
8092  .computeDoubleSize(15, variableActivityDecay_);
8093  }
8094  if (((bitField0_ & 0x00800000) != 0)) {
8095  size += com.google.protobuf.CodedOutputStream
8096  .computeDoubleSize(16, maxVariableActivityValue_);
8097  }
8098  if (((bitField0_ & 0x08000000) != 0)) {
8099  size += com.google.protobuf.CodedOutputStream
8100  .computeDoubleSize(17, clauseActivityDecay_);
8101  }
8102  if (((bitField0_ & 0x10000000) != 0)) {
8103  size += com.google.protobuf.CodedOutputStream
8104  .computeDoubleSize(18, maxClauseActivityValue_);
8105  }
8106  if (((bitField0_ & 0x01000000) != 0)) {
8107  size += com.google.protobuf.CodedOutputStream
8108  .computeDoubleSize(22, glucoseMaxDecay_);
8109  }
8110  if (((bitField0_ & 0x02000000) != 0)) {
8111  size += com.google.protobuf.CodedOutputStream
8112  .computeDoubleSize(23, glucoseDecayIncrement_);
8113  }
8114  if (((bitField0_ & 0x04000000) != 0)) {
8115  size += com.google.protobuf.CodedOutputStream
8116  .computeInt32Size(24, glucoseDecayIncrementPeriod_);
8117  }
8118  if (((bitField0_ & 0x40000000) != 0)) {
8119  size += com.google.protobuf.CodedOutputStream
8120  .computeInt32Size(30, restartPeriod_);
8121  }
8122  if (((bitField1_ & 0x00004000) != 0)) {
8123  size += com.google.protobuf.CodedOutputStream
8124  .computeInt32Size(31, randomSeed_);
8125  }
8126  if (((bitField0_ & 0x00000040) != 0)) {
8127  size += com.google.protobuf.CodedOutputStream
8128  .computeDoubleSize(32, randomBranchesRatio_);
8129  }
8130  if (((bitField1_ & 0x00002000) != 0)) {
8131  size += com.google.protobuf.CodedOutputStream
8132  .computeBoolSize(33, treatBinaryClausesSeparately_);
8133  }
8134  if (((bitField0_ & 0x00000800) != 0)) {
8135  size += com.google.protobuf.CodedOutputStream
8136  .computeEnumSize(34, binaryMinimizationAlgorithm_);
8137  }
8138  if (((bitField2_ & 0x00004000) != 0)) {
8139  size += com.google.protobuf.CodedOutputStream
8140  .computeBoolSize(35, useOptimizationHints_);
8141  }
8142  if (((bitField1_ & 0x00000080) != 0)) {
8143  size += com.google.protobuf.CodedOutputStream
8144  .computeDoubleSize(36, maxTimeInSeconds_);
8145  }
8146  if (((bitField1_ & 0x00000200) != 0)) {
8147  size += com.google.protobuf.CodedOutputStream
8148  .computeInt64Size(37, maxNumberOfConflicts_);
8149  }
8150  if (((bitField1_ & 0x00000400) != 0)) {
8151  size += com.google.protobuf.CodedOutputStream
8152  .computeInt64Size(40, maxMemoryInMb_);
8153  }
8154  if (((bitField1_ & 0x00040000) != 0)) {
8155  size += com.google.protobuf.CodedOutputStream
8156  .computeBoolSize(41, logSearchProgress_);
8157  }
8158  if (((bitField1_ & 0x00100000) != 0)) {
8159  size += com.google.protobuf.CodedOutputStream
8160  .computeBoolSize(43, usePbResolution_);
8161  }
8162  if (((bitField0_ & 0x00000008) != 0)) {
8163  size += com.google.protobuf.CodedOutputStream
8164  .computeBoolSize(44, usePhaseSaving_);
8165  }
8166  if (((bitField0_ & 0x00000020) != 0)) {
8167  size += com.google.protobuf.CodedOutputStream
8168  .computeDoubleSize(45, randomPolarityRatio_);
8169  }
8170  if (((bitField0_ & 0x00040000) != 0)) {
8171  size += com.google.protobuf.CodedOutputStream
8172  .computeInt32Size(46, pbCleanupIncrement_);
8173  }
8174  if (((bitField0_ & 0x00080000) != 0)) {
8175  size += com.google.protobuf.CodedOutputStream
8176  .computeDoubleSize(47, pbCleanupRatio_);
8177  }
8178  if (((bitField1_ & 0x00200000) != 0)) {
8179  size += com.google.protobuf.CodedOutputStream
8180  .computeBoolSize(48, minimizeReductionDuringPbResolution_);
8181  }
8182  if (((bitField1_ & 0x00400000) != 0)) {
8183  size += com.google.protobuf.CodedOutputStream
8184  .computeBoolSize(49, countAssumptionLevelsInLbd_);
8185  }
8186  if (((bitField2_ & 0x00008000) != 0)) {
8187  size += com.google.protobuf.CodedOutputStream
8188  .computeBoolSize(50, minimizeCore_);
8189  }
8190  if (((bitField2_ & 0x00040000) != 0)) {
8191  size += com.google.protobuf.CodedOutputStream
8192  .computeEnumSize(51, maxSatAssumptionOrder_);
8193  }
8194  if (((bitField2_ & 0x00080000) != 0)) {
8195  size += com.google.protobuf.CodedOutputStream
8196  .computeBoolSize(52, maxSatReverseAssumptionOrder_);
8197  }
8198  if (((bitField2_ & 0x00100000) != 0)) {
8199  size += com.google.protobuf.CodedOutputStream
8200  .computeEnumSize(53, maxSatStratification_);
8201  }
8202  if (((bitField1_ & 0x00800000) != 0)) {
8203  size += com.google.protobuf.CodedOutputStream
8204  .computeInt32Size(54, presolveBveThreshold_);
8205  }
8206  if (((bitField1_ & 0x01000000) != 0)) {
8207  size += com.google.protobuf.CodedOutputStream
8208  .computeInt32Size(55, presolveBveClauseWeight_);
8209  }
8210  if (((bitField0_ & 0x00001000) != 0)) {
8211  size += com.google.protobuf.CodedOutputStream
8212  .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
8213  }
8214  if (((bitField1_ & 0x02000000) != 0)) {
8215  size += com.google.protobuf.CodedOutputStream
8216  .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
8217  }
8218  if (((bitField0_ & 0x00008000) != 0)) {
8219  size += com.google.protobuf.CodedOutputStream
8220  .computeEnumSize(58, clauseCleanupProtection_);
8221  }
8222  if (((bitField0_ & 0x00010000) != 0)) {
8223  size += com.google.protobuf.CodedOutputStream
8224  .computeInt32Size(59, clauseCleanupLbdBound_);
8225  }
8226  if (((bitField0_ & 0x00020000) != 0)) {
8227  size += com.google.protobuf.CodedOutputStream
8228  .computeEnumSize(60, clauseCleanupOrdering_);
8229  }
8230  {
8231  int dataSize = 0;
8232  for (int i = 0; i < restartAlgorithms_.size(); i++) {
8233  dataSize += com.google.protobuf.CodedOutputStream
8234  .computeEnumSizeNoTag(restartAlgorithms_.get(i));
8235  }
8236  size += dataSize;
8237  size += 2 * restartAlgorithms_.size();
8238  }
8239  if (((bitField0_ & 0x80000000) != 0)) {
8240  size += com.google.protobuf.CodedOutputStream
8241  .computeInt32Size(62, restartRunningWindowSize_);
8242  }
8243  if (((bitField1_ & 0x00000001) != 0)) {
8244  size += com.google.protobuf.CodedOutputStream
8245  .computeDoubleSize(63, restartDlAverageRatio_);
8246  }
8247  if (((bitField1_ & 0x00000004) != 0)) {
8248  size += com.google.protobuf.CodedOutputStream
8249  .computeBoolSize(64, useBlockingRestart_);
8250  }
8251  if (((bitField1_ & 0x00000008) != 0)) {
8252  size += com.google.protobuf.CodedOutputStream
8253  .computeInt32Size(65, blockingRestartWindowSize_);
8254  }
8255  if (((bitField1_ & 0x00000010) != 0)) {
8256  size += com.google.protobuf.CodedOutputStream
8257  .computeDoubleSize(66, blockingRestartMultiplier_);
8258  }
8259  if (((bitField1_ & 0x00000100) != 0)) {
8260  size += com.google.protobuf.CodedOutputStream
8261  .computeDoubleSize(67, maxDeterministicTime_);
8262  }
8263  if (((bitField1_ & 0x00000020) != 0)) {
8264  size += com.google.protobuf.CodedOutputStream
8265  .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
8266  }
8267  if (((bitField1_ & 0x00000040) != 0)) {
8268  size += com.google.protobuf.CodedOutputStream
8269  .computeDoubleSize(69, strategyChangeIncreaseRatio_);
8270  }
8271  if (((bitField0_ & 0x20000000) != 0)) {
8272  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
8273  }
8274  if (((bitField1_ & 0x00000002) != 0)) {
8275  size += com.google.protobuf.CodedOutputStream
8276  .computeDoubleSize(71, restartLbdAverageRatio_);
8277  }
8278  if (((bitField1_ & 0x08000000) != 0)) {
8279  size += com.google.protobuf.CodedOutputStream
8280  .computeBoolSize(72, presolveUseBva_);
8281  }
8282  if (((bitField1_ & 0x10000000) != 0)) {
8283  size += com.google.protobuf.CodedOutputStream
8284  .computeInt32Size(73, presolveBvaThreshold_);
8285  }
8286  if (((bitField2_ & 0x00200000) != 0)) {
8287  size += com.google.protobuf.CodedOutputStream
8288  .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
8289  }
8290  if (((bitField0_ & 0x00000080) != 0)) {
8291  size += com.google.protobuf.CodedOutputStream
8292  .computeBoolSize(75, useErwaHeuristic_);
8293  }
8294  if (((bitField0_ & 0x00000100) != 0)) {
8295  size += com.google.protobuf.CodedOutputStream
8296  .computeDoubleSize(76, initialVariablesActivity_);
8297  }
8298  if (((bitField0_ & 0x00000200) != 0)) {
8299  size += com.google.protobuf.CodedOutputStream
8300  .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
8301  }
8302  if (((bitField2_ & 0x00400000) != 0)) {
8303  size += com.google.protobuf.CodedOutputStream
8304  .computeBoolSize(78, useOverloadCheckerInCumulativeConstraint_);
8305  }
8306  if (((bitField2_ & 0x00800000) != 0)) {
8307  size += com.google.protobuf.CodedOutputStream
8308  .computeBoolSize(79, useTimetableEdgeFindingInCumulativeConstraint_);
8309  }
8310  if (((bitField2_ & 0x01000000) != 0)) {
8311  size += com.google.protobuf.CodedOutputStream
8312  .computeBoolSize(80, useDisjunctiveConstraintInCumulativeConstraint_);
8313  }
8314  if (((bitField3_ & 0x00002000) != 0)) {
8315  size += com.google.protobuf.CodedOutputStream
8316  .computeEnumSize(82, searchBranching_);
8317  }
8318  if (((bitField3_ & 0x01000000) != 0)) {
8319  size += com.google.protobuf.CodedOutputStream
8320  .computeBoolSize(83, optimizeWithCore_);
8321  }
8322  if (((bitField2_ & 0x00010000) != 0)) {
8323  size += com.google.protobuf.CodedOutputStream
8324  .computeBoolSize(84, findMultipleCores_);
8325  }
8326  if (((bitField3_ & 0x04000000) != 0)) {
8327  size += com.google.protobuf.CodedOutputStream
8328  .computeBoolSize(85, optimizeWithMaxHs_);
8329  }
8330  if (((bitField1_ & 0x40000000) != 0)) {
8331  size += com.google.protobuf.CodedOutputStream
8332  .computeBoolSize(86, cpModelPresolve_);
8333  }
8334  if (((bitField3_ & 0x08000000) != 0)) {
8335  size += com.google.protobuf.CodedOutputStream
8336  .computeBoolSize(87, enumerateAllSolutions_);
8337  }
8338  if (((bitField1_ & 0x04000000) != 0)) {
8339  size += com.google.protobuf.CodedOutputStream
8340  .computeBoolSize(88, presolveBlockedClause_);
8341  }
8342  if (((bitField2_ & 0x00020000) != 0)) {
8343  size += com.google.protobuf.CodedOutputStream
8344  .computeBoolSize(89, coverOptimization_);
8345  }
8346  if (((bitField2_ & 0x02000000) != 0)) {
8347  size += com.google.protobuf.CodedOutputStream
8348  .computeInt32Size(90, linearizationLevel_);
8349  }
8350  if (((bitField2_ & 0x08000000) != 0)) {
8351  size += com.google.protobuf.CodedOutputStream
8352  .computeInt32Size(91, maxNumCuts_);
8353  }
8354  if (((bitField2_ & 0x10000000) != 0)) {
8355  size += com.google.protobuf.CodedOutputStream
8356  .computeBoolSize(92, onlyAddCutsAtLevelZero_);
8357  }
8358  if (((bitField2_ & 0x00000004) != 0)) {
8359  size += com.google.protobuf.CodedOutputStream
8360  .computeBoolSize(93, cpModelUseSatPresolve_);
8361  }
8362  if (((bitField3_ & 0x00010000) != 0)) {
8363  size += com.google.protobuf.CodedOutputStream
8364  .computeBoolSize(94, exploitIntegerLpSolution_);
8365  }
8366  if (((bitField3_ & 0x80000000) != 0)) {
8367  size += com.google.protobuf.CodedOutputStream
8368  .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
8369  }
8370  if (((bitField0_ & 0x00100000) != 0)) {
8371  size += com.google.protobuf.CodedOutputStream
8372  .computeInt32Size(96, minimizeWithPropagationRestartPeriod_);
8373  }
8374  if (((bitField0_ & 0x00200000) != 0)) {
8375  size += com.google.protobuf.CodedOutputStream
8376  .computeInt32Size(97, minimizeWithPropagationNumDecisions_);
8377  }
8378  if (((bitField4_ & 0x00000001) != 0)) {
8379  size += com.google.protobuf.CodedOutputStream
8380  .computeBoolSize(98, stopAfterFirstSolution_);
8381  }
8382  if (((bitField3_ & 0x02000000) != 0)) {
8383  size += com.google.protobuf.CodedOutputStream
8384  .computeInt32Size(99, binarySearchNumConflicts_);
8385  }
8386  if (((bitField4_ & 0x00000004) != 0)) {
8387  size += com.google.protobuf.CodedOutputStream
8388  .computeInt32Size(100, numSearchWorkers_);
8389  }
8390  if (((bitField4_ & 0x00000100) != 0)) {
8391  size += com.google.protobuf.CodedOutputStream
8392  .computeBoolSize(101, useLnsOnly_);
8393  }
8394  if (((bitField4_ & 0x00010000) != 0)) {
8395  size += com.google.protobuf.CodedOutputStream
8396  .computeBoolSize(103, randomizeSearch_);
8397  }
8398  if (((bitField4_ & 0x00020000) != 0)) {
8399  size += com.google.protobuf.CodedOutputStream
8400  .computeInt64Size(104, searchRandomizationTolerance_);
8401  }
8402  if (((bitField4_ & 0x00000200) != 0)) {
8403  size += com.google.protobuf.CodedOutputStream
8404  .computeBoolSize(105, lnsFocusOnDecisionVariables_);
8405  }
8406  if (((bitField3_ & 0x40000000) != 0)) {
8407  size += com.google.protobuf.CodedOutputStream
8408  .computeBoolSize(106, instantiateAllVariables_);
8409  }
8410  if (((bitField2_ & 0x04000000) != 0)) {
8411  size += com.google.protobuf.CodedOutputStream
8412  .computeInt32Size(107, booleanEncodingLevel_);
8413  }
8414  if (((bitField4_ & 0x00040000) != 0)) {
8415  size += com.google.protobuf.CodedOutputStream
8416  .computeBoolSize(108, useOptionalVariables_);
8417  }
8418  if (((bitField4_ & 0x00080000) != 0)) {
8419  size += com.google.protobuf.CodedOutputStream
8420  .computeBoolSize(109, useExactLpReason_);
8421  }
8422  if (((bitField2_ & 0x00000002) != 0)) {
8423  size += com.google.protobuf.CodedOutputStream
8424  .computeInt32Size(110, cpModelProbingLevel_);
8425  }
8426  if (((bitField2_ & 0x20000000) != 0)) {
8427  size += com.google.protobuf.CodedOutputStream
8428  .computeBoolSize(111, addKnapsackCuts_);
8429  }
8430  if (((bitField3_ & 0x00000020) != 0)) {
8431  size += com.google.protobuf.CodedOutputStream
8432  .computeBoolSize(112, addLpConstraintsLazily_);
8433  }
8434  if (((bitField4_ & 0x00000040) != 0)) {
8435  size += com.google.protobuf.CodedOutputStream
8436  .computeBoolSize(113, shareObjectiveBounds_);
8437  }
8438  if (((bitField4_ & 0x00000080) != 0)) {
8439  size += com.google.protobuf.CodedOutputStream
8440  .computeBoolSize(114, shareLevelZeroBounds_);
8441  }
8442  if (((bitField3_ & 0x00000040) != 0)) {
8443  size += com.google.protobuf.CodedOutputStream
8444  .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
8445  }
8446  if (((bitField3_ & 0x00020000) != 0)) {
8447  size += com.google.protobuf.CodedOutputStream
8448  .computeBoolSize(116, exploitAllLpSolution_);
8449  }
8450  if (((bitField2_ & 0x40000000) != 0)) {
8451  size += com.google.protobuf.CodedOutputStream
8452  .computeBoolSize(117, addCgCuts_);
8453  }
8454  if (((bitField3_ & 0x00000010) != 0)) {
8455  size += com.google.protobuf.CodedOutputStream
8456  .computeInt32Size(119, maxIntegerRoundingScaling_);
8457  }
8458  if (((bitField2_ & 0x80000000) != 0)) {
8459  size += com.google.protobuf.CodedOutputStream
8460  .computeBoolSize(120, addMirCuts_);
8461  }
8462  if (((bitField3_ & 0x00000100) != 0)) {
8463  size += com.google.protobuf.CodedOutputStream
8464  .computeInt32Size(121, maxConsecutiveInactiveCount_);
8465  }
8466  if (((bitField3_ & 0x00001000) != 0)) {
8467  size += com.google.protobuf.CodedOutputStream
8468  .computeInt32Size(122, newConstraintsBatchSize_);
8469  }
8470  if (((bitField3_ & 0x00800000) != 0)) {
8471  size += com.google.protobuf.CodedOutputStream
8472  .computeInt64Size(123, pseudoCostReliabilityThreshold_);
8473  }
8474  if (((bitField4_ & 0x08000000) != 0)) {
8475  size += com.google.protobuf.CodedOutputStream
8476  .computeDoubleSize(124, mipMaxBound_);
8477  }
8478  if (((bitField4_ & 0x10000000) != 0)) {
8479  size += com.google.protobuf.CodedOutputStream
8480  .computeDoubleSize(125, mipVarScaling_);
8481  }
8482  if (((bitField4_ & 0x40000000) != 0)) {
8483  size += com.google.protobuf.CodedOutputStream
8484  .computeDoubleSize(126, mipWantedPrecision_);
8485  }
8486  if (((bitField4_ & 0x80000000) != 0)) {
8487  size += com.google.protobuf.CodedOutputStream
8488  .computeInt32Size(127, mipMaxActivityExponent_);
8489  }
8490  if (((bitField5_ & 0x00000001) != 0)) {
8491  size += com.google.protobuf.CodedOutputStream
8492  .computeDoubleSize(128, mipCheckPrecision_);
8493  }
8494  if (((bitField4_ & 0x00000800) != 0)) {
8495  size += com.google.protobuf.CodedOutputStream
8496  .computeBoolSize(129, useRinsLns_);
8497  }
8498  if (((bitField3_ & 0x00040000) != 0)) {
8499  size += com.google.protobuf.CodedOutputStream
8500  .computeBoolSize(130, exploitBestSolution_);
8501  }
8502  if (((bitField3_ & 0x00100000) != 0)) {
8503  size += com.google.protobuf.CodedOutputStream
8504  .computeBoolSize(131, exploitObjective_);
8505  }
8506  if (((bitField3_ & 0x20000000) != 0)) {
8507  size += com.google.protobuf.CodedOutputStream
8508  .computeBoolSize(132, fillTightenedDomainsInResponse_);
8509  }
8510  if (((bitField4_ & 0x00200000) != 0)) {
8511  size += com.google.protobuf.CodedOutputStream
8512  .computeBoolSize(133, useCombinedNoOverlap_);
8513  }
8514  if (((bitField4_ & 0x00000010) != 0)) {
8515  size += com.google.protobuf.CodedOutputStream
8516  .computeInt32Size(134, interleaveBatchSize_);
8517  }
8518  if (((bitField4_ & 0x00400000) != 0)) {
8519  size += com.google.protobuf.CodedOutputStream
8520  .computeBoolSize(135, catchSigintSignal_);
8521  }
8522  if (((bitField4_ & 0x00000008) != 0)) {
8523  size += com.google.protobuf.CodedOutputStream
8524  .computeBoolSize(136, interleaveSearch_);
8525  }
8526  if (((bitField4_ & 0x00008000) != 0)) {
8527  size += com.google.protobuf.CodedOutputStream
8528  .computeBoolSize(137, diversifyLnsParams_);
8529  }
8530  if (((bitField1_ & 0x20000000) != 0)) {
8531  size += com.google.protobuf.CodedOutputStream
8532  .computeInt32Size(138, maxPresolveIterations_);
8533  }
8534  if (((bitField4_ & 0x00100000) != 0)) {
8535  size += com.google.protobuf.CodedOutputStream
8536  .computeBoolSize(139, useBranchingInLp_);
8537  }
8538  if (((bitField2_ & 0x00000010) != 0)) {
8539  size += com.google.protobuf.CodedOutputStream
8540  .computeBoolSize(140, expandElementConstraints_);
8541  }
8542  if (((bitField4_ & 0x00000020) != 0)) {
8543  size += com.google.protobuf.CodedOutputStream
8544  .computeBoolSize(141, reduceMemoryUsageInInterleaveMode_);
8545  }
8546  if (((bitField3_ & 0x00200000) != 0)) {
8547  size += com.google.protobuf.CodedOutputStream
8548  .computeInt64Size(142, probingPeriodAtRoot_);
8549  }
8550  if (((bitField2_ & 0x00000020) != 0)) {
8551  size += com.google.protobuf.CodedOutputStream
8552  .computeBoolSize(143, expandAutomatonConstraints_);
8553  }
8554  if (((bitField4_ & 0x00800000) != 0)) {
8555  size += com.google.protobuf.CodedOutputStream
8556  .computeBoolSize(144, useImpliedBounds_);
8557  }
8558  if (((bitField2_ & 0x00000400) != 0)) {
8559  size += com.google.protobuf.CodedOutputStream
8560  .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
8561  }
8562  if (((bitField2_ & 0x00000800) != 0)) {
8563  size += com.google.protobuf.CodedOutputStream
8564  .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
8565  }
8566  if (((bitField2_ & 0x00001000) != 0)) {
8567  size += com.google.protobuf.CodedOutputStream
8568  .computeInt32Size(147, presolveSubstitutionLevel_);
8569  }
8570  if (((bitField3_ & 0x00000004) != 0)) {
8571  size += com.google.protobuf.CodedOutputStream
8572  .computeInt32Size(148, maxAllDiffCutSize_);
8573  }
8574  if (((bitField4_ & 0x00000002) != 0)) {
8575  size += com.google.protobuf.CodedOutputStream
8576  .computeBoolSize(149, stopAfterPresolve_);
8577  }
8578  if (((bitField4_ & 0x00004000) != 0)) {
8579  size += com.google.protobuf.CodedOutputStream
8580  .computeBoolSize(150, useRelaxationLns_);
8581  }
8582  if (((bitField2_ & 0x00000001) != 0)) {
8583  size += com.google.protobuf.CodedOutputStream
8584  .computeInt32Size(151, cpModelMaxNumPresolveOperations_);
8585  }
8586  if (((bitField3_ & 0x00000008) != 0)) {
8587  size += com.google.protobuf.CodedOutputStream
8588  .computeBoolSize(152, addLinMaxCuts_);
8589  }
8590  if (((bitField3_ & 0x00004000) != 0)) {
8591  size += com.google.protobuf.CodedOutputStream
8592  .computeInt32Size(153, hintConflictLimit_);
8593  }
8594  if (((bitField3_ & 0x00000080) != 0)) {
8595  size += com.google.protobuf.CodedOutputStream
8596  .computeInt32Size(154, maxCutRoundsAtLevelZero_);
8597  }
8598  if (((bitField3_ & 0x00000200) != 0)) {
8599  size += com.google.protobuf.CodedOutputStream
8600  .computeDoubleSize(155, cutMaxActiveCountValue_);
8601  }
8602  if (((bitField3_ & 0x00000400) != 0)) {
8603  size += com.google.protobuf.CodedOutputStream
8604  .computeDoubleSize(156, cutActiveCountDecay_);
8605  }
8606  if (((bitField3_ & 0x00000800) != 0)) {
8607  size += com.google.protobuf.CodedOutputStream
8608  .computeInt32Size(157, cutCleanupTarget_);
8609  }
8610  if (((bitField2_ & 0x00000040) != 0)) {
8611  size += com.google.protobuf.CodedOutputStream
8612  .computeBoolSize(158, expandTableConstraints_);
8613  }
8614  if (((bitField1_ & 0x00000800) != 0)) {
8615  size += com.google.protobuf.CodedOutputStream
8616  .computeDoubleSize(159, absoluteGapLimit_);
8617  }
8618  if (((bitField1_ & 0x00001000) != 0)) {
8619  size += com.google.protobuf.CodedOutputStream
8620  .computeDoubleSize(160, relativeGapLimit_);
8621  }
8622  if (((bitField3_ & 0x00080000) != 0)) {
8623  size += com.google.protobuf.CodedOutputStream
8624  .computeBoolSize(161, exploitRelaxationSolution_);
8625  }
8626  if (((bitField1_ & 0x80000000) != 0)) {
8627  size += com.google.protobuf.CodedOutputStream
8628  .computeBoolSize(162, cpModelPostsolveWithFullSolver_);
8629  }
8630  if (((bitField2_ & 0x00000008) != 0)) {
8631  size += com.google.protobuf.CodedOutputStream
8632  .computeBoolSize(163, useSatInprocessing_);
8633  }
8634  if (((bitField4_ & 0x00001000) != 0)) {
8635  size += com.google.protobuf.CodedOutputStream
8636  .computeBoolSize(164, useFeasibilityPump_);
8637  }
8638  if (((bitField4_ & 0x00002000) != 0)) {
8639  size += com.google.protobuf.CodedOutputStream
8640  .computeEnumSize(165, fpRounding_);
8641  }
8642  if (((bitField4_ & 0x20000000) != 0)) {
8643  size += com.google.protobuf.CodedOutputStream
8644  .computeBoolSize(166, mipAutomaticallyScaleVariables_);
8645  }
8646  if (((bitField3_ & 0x00008000) != 0)) {
8647  size += com.google.protobuf.CodedOutputStream
8648  .computeBoolSize(167, repairHint_);
8649  }
8650  if (((bitField0_ & 0x00000010) != 0)) {
8651  size += com.google.protobuf.CodedOutputStream
8652  .computeInt32Size(168, polarityRephaseIncrement_);
8653  }
8654  if (((bitField3_ & 0x00000001) != 0)) {
8655  size += com.google.protobuf.CodedOutputStream
8656  .computeBoolSize(169, addZeroHalfCuts_);
8657  }
8658  if (((bitField2_ & 0x00000080) != 0)) {
8659  size += com.google.protobuf.CodedOutputStream
8660  .computeBoolSize(170, expandAlldiffConstraints_);
8661  }
8662  if (((bitField0_ & 0x00000001) != 0)) {
8663  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(171, name_);
8664  }
8665  if (((bitField3_ & 0x00000002) != 0)) {
8666  size += com.google.protobuf.CodedOutputStream
8667  .computeBoolSize(172, addCliqueCuts_);
8668  }
8669  if (((bitField3_ & 0x10000000) != 0)) {
8670  size += com.google.protobuf.CodedOutputStream
8671  .computeBoolSize(173, keepAllFeasibleSolutionsInPresolve_);
8672  }
8673  if (((bitField2_ & 0x00002000) != 0)) {
8674  size += com.google.protobuf.CodedOutputStream
8675  .computeBoolSize(174, presolveExtractIntegerEnforcement_);
8676  }
8677  if (((bitField4_ & 0x01000000) != 0)) {
8678  size += com.google.protobuf.CodedOutputStream
8679  .computeBoolSize(175, polishLpSolution_);
8680  }
8681  if (((bitField3_ & 0x00400000) != 0)) {
8682  size += com.google.protobuf.CodedOutputStream
8683  .computeBoolSize(176, useProbingSearch_);
8684  }
8685  if (((bitField4_ & 0x02000000) != 0)) {
8686  size += com.google.protobuf.CodedOutputStream
8687  .computeBoolSize(177, convertIntervals_);
8688  }
8689  if (((bitField1_ & 0x00008000) != 0)) {
8690  size += com.google.protobuf.CodedOutputStream
8691  .computeBoolSize(178, permuteVariableRandomly_);
8692  }
8693  if (((bitField1_ & 0x00010000) != 0)) {
8694  size += com.google.protobuf.CodedOutputStream
8695  .computeBoolSize(179, permutePresolveConstraintOrder_);
8696  }
8697  if (((bitField1_ & 0x00020000) != 0)) {
8698  size += com.google.protobuf.CodedOutputStream
8699  .computeBoolSize(180, useAbslRandom_);
8700  }
8701  if (((bitField2_ & 0x00000200) != 0)) {
8702  size += com.google.protobuf.CodedOutputStream
8703  .computeBoolSize(181, disableConstraintExpansion_);
8704  }
8705  if (((bitField2_ & 0x00000100) != 0)) {
8706  size += com.google.protobuf.CodedOutputStream
8707  .computeBoolSize(182, expandReservoirConstraints_);
8708  }
8709  if (((bitField4_ & 0x04000000) != 0)) {
8710  size += com.google.protobuf.CodedOutputStream
8711  .computeInt32Size(183, symmetryLevel_);
8712  }
8713  if (((bitField4_ & 0x00000400) != 0)) {
8714  size += com.google.protobuf.CodedOutputStream
8715  .computeBoolSize(184, lnsExpandIntervalsInConstraintGraph_);
8716  }
8717  if (((bitField1_ & 0x00080000) != 0)) {
8718  size += com.google.protobuf.CodedOutputStream
8719  .computeBoolSize(185, fillLogsInResponse_);
8720  }
8721  size += unknownFields.getSerializedSize();
8722  memoizedSize = size;
8723  return size;
8724  }
8725 
8726  @java.lang.Override
8727  public boolean equals(final java.lang.Object obj) {
8728  if (obj == this) {
8729  return true;
8730  }
8731  if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
8732  return super.equals(obj);
8733  }
8734  com.google.ortools.sat.SatParameters other = (com.google.ortools.sat.SatParameters) obj;
8735 
8736  if (hasName() != other.hasName()) return false;
8737  if (hasName()) {
8738  if (!getName()
8739  .equals(other.getName())) return false;
8740  }
8741  if (hasPreferredVariableOrder() != other.hasPreferredVariableOrder()) return false;
8742  if (hasPreferredVariableOrder()) {
8743  if (preferredVariableOrder_ != other.preferredVariableOrder_) return false;
8744  }
8745  if (hasInitialPolarity() != other.hasInitialPolarity()) return false;
8746  if (hasInitialPolarity()) {
8747  if (initialPolarity_ != other.initialPolarity_) return false;
8748  }
8749  if (hasUsePhaseSaving() != other.hasUsePhaseSaving()) return false;
8750  if (hasUsePhaseSaving()) {
8751  if (getUsePhaseSaving()
8752  != other.getUsePhaseSaving()) return false;
8753  }
8754  if (hasPolarityRephaseIncrement() != other.hasPolarityRephaseIncrement()) return false;
8757  != other.getPolarityRephaseIncrement()) return false;
8758  }
8759  if (hasRandomPolarityRatio() != other.hasRandomPolarityRatio()) return false;
8760  if (hasRandomPolarityRatio()) {
8761  if (java.lang.Double.doubleToLongBits(getRandomPolarityRatio())
8762  != java.lang.Double.doubleToLongBits(
8763  other.getRandomPolarityRatio())) return false;
8764  }
8765  if (hasRandomBranchesRatio() != other.hasRandomBranchesRatio()) return false;
8766  if (hasRandomBranchesRatio()) {
8767  if (java.lang.Double.doubleToLongBits(getRandomBranchesRatio())
8768  != java.lang.Double.doubleToLongBits(
8769  other.getRandomBranchesRatio())) return false;
8770  }
8771  if (hasUseErwaHeuristic() != other.hasUseErwaHeuristic()) return false;
8772  if (hasUseErwaHeuristic()) {
8773  if (getUseErwaHeuristic()
8774  != other.getUseErwaHeuristic()) return false;
8775  }
8776  if (hasInitialVariablesActivity() != other.hasInitialVariablesActivity()) return false;
8778  if (java.lang.Double.doubleToLongBits(getInitialVariablesActivity())
8779  != java.lang.Double.doubleToLongBits(
8780  other.getInitialVariablesActivity())) return false;
8781  }
8782  if (hasAlsoBumpVariablesInConflictReasons() != other.hasAlsoBumpVariablesInConflictReasons()) return false;
8785  != other.getAlsoBumpVariablesInConflictReasons()) return false;
8786  }
8787  if (hasMinimizationAlgorithm() != other.hasMinimizationAlgorithm()) return false;
8788  if (hasMinimizationAlgorithm()) {
8789  if (minimizationAlgorithm_ != other.minimizationAlgorithm_) return false;
8790  }
8791  if (hasBinaryMinimizationAlgorithm() != other.hasBinaryMinimizationAlgorithm()) return false;
8793  if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_) return false;
8794  }
8795  if (hasSubsumptionDuringConflictAnalysis() != other.hasSubsumptionDuringConflictAnalysis()) return false;
8798  != other.getSubsumptionDuringConflictAnalysis()) return false;
8799  }
8800  if (hasClauseCleanupPeriod() != other.hasClauseCleanupPeriod()) return false;
8801  if (hasClauseCleanupPeriod()) {
8803  != other.getClauseCleanupPeriod()) return false;
8804  }
8805  if (hasClauseCleanupTarget() != other.hasClauseCleanupTarget()) return false;
8806  if (hasClauseCleanupTarget()) {
8808  != other.getClauseCleanupTarget()) return false;
8809  }
8810  if (hasClauseCleanupProtection() != other.hasClauseCleanupProtection()) return false;
8812  if (clauseCleanupProtection_ != other.clauseCleanupProtection_) return false;
8813  }
8814  if (hasClauseCleanupLbdBound() != other.hasClauseCleanupLbdBound()) return false;
8815  if (hasClauseCleanupLbdBound()) {
8817  != other.getClauseCleanupLbdBound()) return false;
8818  }
8819  if (hasClauseCleanupOrdering() != other.hasClauseCleanupOrdering()) return false;
8820  if (hasClauseCleanupOrdering()) {
8821  if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_) return false;
8822  }
8823  if (hasPbCleanupIncrement() != other.hasPbCleanupIncrement()) return false;
8824  if (hasPbCleanupIncrement()) {
8825  if (getPbCleanupIncrement()
8826  != other.getPbCleanupIncrement()) return false;
8827  }
8828  if (hasPbCleanupRatio() != other.hasPbCleanupRatio()) return false;
8829  if (hasPbCleanupRatio()) {
8830  if (java.lang.Double.doubleToLongBits(getPbCleanupRatio())
8831  != java.lang.Double.doubleToLongBits(
8832  other.getPbCleanupRatio())) return false;
8833  }
8834  if (hasMinimizeWithPropagationRestartPeriod() != other.hasMinimizeWithPropagationRestartPeriod()) return false;
8837  != other.getMinimizeWithPropagationRestartPeriod()) return false;
8838  }
8839  if (hasMinimizeWithPropagationNumDecisions() != other.hasMinimizeWithPropagationNumDecisions()) return false;
8842  != other.getMinimizeWithPropagationNumDecisions()) return false;
8843  }
8844  if (hasVariableActivityDecay() != other.hasVariableActivityDecay()) return false;
8845  if (hasVariableActivityDecay()) {
8846  if (java.lang.Double.doubleToLongBits(getVariableActivityDecay())
8847  != java.lang.Double.doubleToLongBits(
8848  other.getVariableActivityDecay())) return false;
8849  }
8850  if (hasMaxVariableActivityValue() != other.hasMaxVariableActivityValue()) return false;
8852  if (java.lang.Double.doubleToLongBits(getMaxVariableActivityValue())
8853  != java.lang.Double.doubleToLongBits(
8854  other.getMaxVariableActivityValue())) return false;
8855  }
8856  if (hasGlucoseMaxDecay() != other.hasGlucoseMaxDecay()) return false;
8857  if (hasGlucoseMaxDecay()) {
8858  if (java.lang.Double.doubleToLongBits(getGlucoseMaxDecay())
8859  != java.lang.Double.doubleToLongBits(
8860  other.getGlucoseMaxDecay())) return false;
8861  }
8862  if (hasGlucoseDecayIncrement() != other.hasGlucoseDecayIncrement()) return false;
8863  if (hasGlucoseDecayIncrement()) {
8864  if (java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement())
8865  != java.lang.Double.doubleToLongBits(
8866  other.getGlucoseDecayIncrement())) return false;
8867  }
8868  if (hasGlucoseDecayIncrementPeriod() != other.hasGlucoseDecayIncrementPeriod()) return false;
8871  != other.getGlucoseDecayIncrementPeriod()) return false;
8872  }
8873  if (hasClauseActivityDecay() != other.hasClauseActivityDecay()) return false;
8874  if (hasClauseActivityDecay()) {
8875  if (java.lang.Double.doubleToLongBits(getClauseActivityDecay())
8876  != java.lang.Double.doubleToLongBits(
8877  other.getClauseActivityDecay())) return false;
8878  }
8879  if (hasMaxClauseActivityValue() != other.hasMaxClauseActivityValue()) return false;
8880  if (hasMaxClauseActivityValue()) {
8881  if (java.lang.Double.doubleToLongBits(getMaxClauseActivityValue())
8882  != java.lang.Double.doubleToLongBits(
8883  other.getMaxClauseActivityValue())) return false;
8884  }
8885  if (!restartAlgorithms_.equals(other.restartAlgorithms_)) return false;
8886  if (hasDefaultRestartAlgorithms() != other.hasDefaultRestartAlgorithms()) return false;
8889  .equals(other.getDefaultRestartAlgorithms())) return false;
8890  }
8891  if (hasRestartPeriod() != other.hasRestartPeriod()) return false;
8892  if (hasRestartPeriod()) {
8893  if (getRestartPeriod()
8894  != other.getRestartPeriod()) return false;
8895  }
8896  if (hasRestartRunningWindowSize() != other.hasRestartRunningWindowSize()) return false;
8899  != other.getRestartRunningWindowSize()) return false;
8900  }
8901  if (hasRestartDlAverageRatio() != other.hasRestartDlAverageRatio()) return false;
8902  if (hasRestartDlAverageRatio()) {
8903  if (java.lang.Double.doubleToLongBits(getRestartDlAverageRatio())
8904  != java.lang.Double.doubleToLongBits(
8905  other.getRestartDlAverageRatio())) return false;
8906  }
8907  if (hasRestartLbdAverageRatio() != other.hasRestartLbdAverageRatio()) return false;
8908  if (hasRestartLbdAverageRatio()) {
8909  if (java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio())
8910  != java.lang.Double.doubleToLongBits(
8911  other.getRestartLbdAverageRatio())) return false;
8912  }
8913  if (hasUseBlockingRestart() != other.hasUseBlockingRestart()) return false;
8914  if (hasUseBlockingRestart()) {
8915  if (getUseBlockingRestart()
8916  != other.getUseBlockingRestart()) return false;
8917  }
8918  if (hasBlockingRestartWindowSize() != other.hasBlockingRestartWindowSize()) return false;
8921  != other.getBlockingRestartWindowSize()) return false;
8922  }
8923  if (hasBlockingRestartMultiplier() != other.hasBlockingRestartMultiplier()) return false;
8925  if (java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier())
8926  != java.lang.Double.doubleToLongBits(
8927  other.getBlockingRestartMultiplier())) return false;
8928  }
8929  if (hasNumConflictsBeforeStrategyChanges() != other.hasNumConflictsBeforeStrategyChanges()) return false;
8932  != other.getNumConflictsBeforeStrategyChanges()) return false;
8933  }
8934  if (hasStrategyChangeIncreaseRatio() != other.hasStrategyChangeIncreaseRatio()) return false;
8936  if (java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio())
8937  != java.lang.Double.doubleToLongBits(
8938  other.getStrategyChangeIncreaseRatio())) return false;
8939  }
8940  if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
8941  if (hasMaxTimeInSeconds()) {
8942  if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
8943  != java.lang.Double.doubleToLongBits(
8944  other.getMaxTimeInSeconds())) return false;
8945  }
8946  if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
8947  if (hasMaxDeterministicTime()) {
8948  if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
8949  != java.lang.Double.doubleToLongBits(
8950  other.getMaxDeterministicTime())) return false;
8951  }
8952  if (hasMaxNumberOfConflicts() != other.hasMaxNumberOfConflicts()) return false;
8953  if (hasMaxNumberOfConflicts()) {
8955  != other.getMaxNumberOfConflicts()) return false;
8956  }
8957  if (hasMaxMemoryInMb() != other.hasMaxMemoryInMb()) return false;
8958  if (hasMaxMemoryInMb()) {
8959  if (getMaxMemoryInMb()
8960  != other.getMaxMemoryInMb()) return false;
8961  }
8962  if (hasAbsoluteGapLimit() != other.hasAbsoluteGapLimit()) return false;
8963  if (hasAbsoluteGapLimit()) {
8964  if (java.lang.Double.doubleToLongBits(getAbsoluteGapLimit())
8965  != java.lang.Double.doubleToLongBits(
8966  other.getAbsoluteGapLimit())) return false;
8967  }
8968  if (hasRelativeGapLimit() != other.hasRelativeGapLimit()) return false;
8969  if (hasRelativeGapLimit()) {
8970  if (java.lang.Double.doubleToLongBits(getRelativeGapLimit())
8971  != java.lang.Double.doubleToLongBits(
8972  other.getRelativeGapLimit())) return false;
8973  }
8974  if (hasTreatBinaryClausesSeparately() != other.hasTreatBinaryClausesSeparately()) return false;
8977  != other.getTreatBinaryClausesSeparately()) return false;
8978  }
8979  if (hasRandomSeed() != other.hasRandomSeed()) return false;
8980  if (hasRandomSeed()) {
8981  if (getRandomSeed()
8982  != other.getRandomSeed()) return false;
8983  }
8984  if (hasPermuteVariableRandomly() != other.hasPermuteVariableRandomly()) return false;
8987  != other.getPermuteVariableRandomly()) return false;
8988  }
8989  if (hasPermutePresolveConstraintOrder() != other.hasPermutePresolveConstraintOrder()) return false;
8992  != other.getPermutePresolveConstraintOrder()) return false;
8993  }
8994  if (hasUseAbslRandom() != other.hasUseAbslRandom()) return false;
8995  if (hasUseAbslRandom()) {
8996  if (getUseAbslRandom()
8997  != other.getUseAbslRandom()) return false;
8998  }
8999  if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
9000  if (hasLogSearchProgress()) {
9001  if (getLogSearchProgress()
9002  != other.getLogSearchProgress()) return false;
9003  }
9004  if (hasFillLogsInResponse() != other.hasFillLogsInResponse()) return false;
9005  if (hasFillLogsInResponse()) {
9006  if (getFillLogsInResponse()
9007  != other.getFillLogsInResponse()) return false;
9008  }
9009  if (hasUsePbResolution() != other.hasUsePbResolution()) return false;
9010  if (hasUsePbResolution()) {
9011  if (getUsePbResolution()
9012  != other.getUsePbResolution()) return false;
9013  }
9014  if (hasMinimizeReductionDuringPbResolution() != other.hasMinimizeReductionDuringPbResolution()) return false;
9017  != other.getMinimizeReductionDuringPbResolution()) return false;
9018  }
9019  if (hasCountAssumptionLevelsInLbd() != other.hasCountAssumptionLevelsInLbd()) return false;
9022  != other.getCountAssumptionLevelsInLbd()) return false;
9023  }
9024  if (hasPresolveBveThreshold() != other.hasPresolveBveThreshold()) return false;
9025  if (hasPresolveBveThreshold()) {
9027  != other.getPresolveBveThreshold()) return false;
9028  }
9029  if (hasPresolveBveClauseWeight() != other.hasPresolveBveClauseWeight()) return false;
9032  != other.getPresolveBveClauseWeight()) return false;
9033  }
9034  if (hasPresolveProbingDeterministicTimeLimit() != other.hasPresolveProbingDeterministicTimeLimit()) return false;
9036  if (java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit())
9037  != java.lang.Double.doubleToLongBits(
9038  other.getPresolveProbingDeterministicTimeLimit())) return false;
9039  }
9040  if (hasPresolveBlockedClause() != other.hasPresolveBlockedClause()) return false;
9041  if (hasPresolveBlockedClause()) {
9043  != other.getPresolveBlockedClause()) return false;
9044  }
9045  if (hasPresolveUseBva() != other.hasPresolveUseBva()) return false;
9046  if (hasPresolveUseBva()) {
9047  if (getPresolveUseBva()
9048  != other.getPresolveUseBva()) return false;
9049  }
9050  if (hasPresolveBvaThreshold() != other.hasPresolveBvaThreshold()) return false;
9051  if (hasPresolveBvaThreshold()) {
9053  != other.getPresolveBvaThreshold()) return false;
9054  }
9055  if (hasMaxPresolveIterations() != other.hasMaxPresolveIterations()) return false;
9056  if (hasMaxPresolveIterations()) {
9058  != other.getMaxPresolveIterations()) return false;
9059  }
9060  if (hasCpModelPresolve() != other.hasCpModelPresolve()) return false;
9061  if (hasCpModelPresolve()) {
9062  if (getCpModelPresolve()
9063  != other.getCpModelPresolve()) return false;
9064  }
9065  if (hasCpModelPostsolveWithFullSolver() != other.hasCpModelPostsolveWithFullSolver()) return false;
9068  != other.getCpModelPostsolveWithFullSolver()) return false;
9069  }
9070  if (hasCpModelMaxNumPresolveOperations() != other.hasCpModelMaxNumPresolveOperations()) return false;
9073  != other.getCpModelMaxNumPresolveOperations()) return false;
9074  }
9075  if (hasCpModelProbingLevel() != other.hasCpModelProbingLevel()) return false;
9076  if (hasCpModelProbingLevel()) {
9078  != other.getCpModelProbingLevel()) return false;
9079  }
9080  if (hasCpModelUseSatPresolve() != other.hasCpModelUseSatPresolve()) return false;
9081  if (hasCpModelUseSatPresolve()) {
9083  != other.getCpModelUseSatPresolve()) return false;
9084  }
9085  if (hasUseSatInprocessing() != other.hasUseSatInprocessing()) return false;
9086  if (hasUseSatInprocessing()) {
9087  if (getUseSatInprocessing()
9088  != other.getUseSatInprocessing()) return false;
9089  }
9090  if (hasExpandElementConstraints() != other.hasExpandElementConstraints()) return false;
9093  != other.getExpandElementConstraints()) return false;
9094  }
9095  if (hasExpandAutomatonConstraints() != other.hasExpandAutomatonConstraints()) return false;
9098  != other.getExpandAutomatonConstraints()) return false;
9099  }
9100  if (hasExpandTableConstraints() != other.hasExpandTableConstraints()) return false;
9101  if (hasExpandTableConstraints()) {
9103  != other.getExpandTableConstraints()) return false;
9104  }
9105  if (hasExpandAlldiffConstraints() != other.hasExpandAlldiffConstraints()) return false;
9108  != other.getExpandAlldiffConstraints()) return false;
9109  }
9110  if (hasExpandReservoirConstraints() != other.hasExpandReservoirConstraints()) return false;
9113  != other.getExpandReservoirConstraints()) return false;
9114  }
9115  if (hasDisableConstraintExpansion() != other.hasDisableConstraintExpansion()) return false;
9118  != other.getDisableConstraintExpansion()) return false;
9119  }
9120  if (hasMergeNoOverlapWorkLimit() != other.hasMergeNoOverlapWorkLimit()) return false;
9122  if (java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit())
9123  != java.lang.Double.doubleToLongBits(
9124  other.getMergeNoOverlapWorkLimit())) return false;
9125  }
9126  if (hasMergeAtMostOneWorkLimit() != other.hasMergeAtMostOneWorkLimit()) return false;
9128  if (java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit())
9129  != java.lang.Double.doubleToLongBits(
9130  other.getMergeAtMostOneWorkLimit())) return false;
9131  }
9132  if (hasPresolveSubstitutionLevel() != other.hasPresolveSubstitutionLevel()) return false;
9135  != other.getPresolveSubstitutionLevel()) return false;
9136  }
9137  if (hasPresolveExtractIntegerEnforcement() != other.hasPresolveExtractIntegerEnforcement()) return false;
9140  != other.getPresolveExtractIntegerEnforcement()) return false;
9141  }
9142  if (hasUseOptimizationHints() != other.hasUseOptimizationHints()) return false;
9143  if (hasUseOptimizationHints()) {
9145  != other.getUseOptimizationHints()) return false;
9146  }
9147  if (hasMinimizeCore() != other.hasMinimizeCore()) return false;
9148  if (hasMinimizeCore()) {
9149  if (getMinimizeCore()
9150  != other.getMinimizeCore()) return false;
9151  }
9152  if (hasFindMultipleCores() != other.hasFindMultipleCores()) return false;
9153  if (hasFindMultipleCores()) {
9154  if (getFindMultipleCores()
9155  != other.getFindMultipleCores()) return false;
9156  }
9157  if (hasCoverOptimization() != other.hasCoverOptimization()) return false;
9158  if (hasCoverOptimization()) {
9159  if (getCoverOptimization()
9160  != other.getCoverOptimization()) return false;
9161  }
9162  if (hasMaxSatAssumptionOrder() != other.hasMaxSatAssumptionOrder()) return false;
9163  if (hasMaxSatAssumptionOrder()) {
9164  if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_) return false;
9165  }
9166  if (hasMaxSatReverseAssumptionOrder() != other.hasMaxSatReverseAssumptionOrder()) return false;
9169  != other.getMaxSatReverseAssumptionOrder()) return false;
9170  }
9171  if (hasMaxSatStratification() != other.hasMaxSatStratification()) return false;
9172  if (hasMaxSatStratification()) {
9173  if (maxSatStratification_ != other.maxSatStratification_) return false;
9174  }
9175  if (hasUsePrecedencesInDisjunctiveConstraint() != other.hasUsePrecedencesInDisjunctiveConstraint()) return false;
9178  != other.getUsePrecedencesInDisjunctiveConstraint()) return false;
9179  }
9180  if (hasUseOverloadCheckerInCumulativeConstraint() != other.hasUseOverloadCheckerInCumulativeConstraint()) return false;
9183  != other.getUseOverloadCheckerInCumulativeConstraint()) return false;
9184  }
9185  if (hasUseTimetableEdgeFindingInCumulativeConstraint() != other.hasUseTimetableEdgeFindingInCumulativeConstraint()) return false;
9188  != other.getUseTimetableEdgeFindingInCumulativeConstraint()) return false;
9189  }
9190  if (hasUseDisjunctiveConstraintInCumulativeConstraint() != other.hasUseDisjunctiveConstraintInCumulativeConstraint()) return false;
9193  != other.getUseDisjunctiveConstraintInCumulativeConstraint()) return false;
9194  }
9195  if (hasLinearizationLevel() != other.hasLinearizationLevel()) return false;
9196  if (hasLinearizationLevel()) {
9197  if (getLinearizationLevel()
9198  != other.getLinearizationLevel()) return false;
9199  }
9200  if (hasBooleanEncodingLevel() != other.hasBooleanEncodingLevel()) return false;
9201  if (hasBooleanEncodingLevel()) {
9203  != other.getBooleanEncodingLevel()) return false;
9204  }
9205  if (hasMaxNumCuts() != other.hasMaxNumCuts()) return false;
9206  if (hasMaxNumCuts()) {
9207  if (getMaxNumCuts()
9208  != other.getMaxNumCuts()) return false;
9209  }
9210  if (hasOnlyAddCutsAtLevelZero() != other.hasOnlyAddCutsAtLevelZero()) return false;
9211  if (hasOnlyAddCutsAtLevelZero()) {
9213  != other.getOnlyAddCutsAtLevelZero()) return false;
9214  }
9215  if (hasAddKnapsackCuts() != other.hasAddKnapsackCuts()) return false;
9216  if (hasAddKnapsackCuts()) {
9217  if (getAddKnapsackCuts()
9218  != other.getAddKnapsackCuts()) return false;
9219  }
9220  if (hasAddCgCuts() != other.hasAddCgCuts()) return false;
9221  if (hasAddCgCuts()) {
9222  if (getAddCgCuts()
9223  != other.getAddCgCuts()) return false;
9224  }
9225  if (hasAddMirCuts() != other.hasAddMirCuts()) return false;
9226  if (hasAddMirCuts()) {
9227  if (getAddMirCuts()
9228  != other.getAddMirCuts()) return false;
9229  }
9230  if (hasAddZeroHalfCuts() != other.hasAddZeroHalfCuts()) return false;
9231  if (hasAddZeroHalfCuts()) {
9232  if (getAddZeroHalfCuts()
9233  != other.getAddZeroHalfCuts()) return false;
9234  }
9235  if (hasAddCliqueCuts() != other.hasAddCliqueCuts()) return false;
9236  if (hasAddCliqueCuts()) {
9237  if (getAddCliqueCuts()
9238  != other.getAddCliqueCuts()) return false;
9239  }
9240  if (hasMaxAllDiffCutSize() != other.hasMaxAllDiffCutSize()) return false;
9241  if (hasMaxAllDiffCutSize()) {
9242  if (getMaxAllDiffCutSize()
9243  != other.getMaxAllDiffCutSize()) return false;
9244  }
9245  if (hasAddLinMaxCuts() != other.hasAddLinMaxCuts()) return false;
9246  if (hasAddLinMaxCuts()) {
9247  if (getAddLinMaxCuts()
9248  != other.getAddLinMaxCuts()) return false;
9249  }
9250  if (hasMaxIntegerRoundingScaling() != other.hasMaxIntegerRoundingScaling()) return false;
9253  != other.getMaxIntegerRoundingScaling()) return false;
9254  }
9255  if (hasAddLpConstraintsLazily() != other.hasAddLpConstraintsLazily()) return false;
9256  if (hasAddLpConstraintsLazily()) {
9258  != other.getAddLpConstraintsLazily()) return false;
9259  }
9260  if (hasMinOrthogonalityForLpConstraints() != other.hasMinOrthogonalityForLpConstraints()) return false;
9262  if (java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints())
9263  != java.lang.Double.doubleToLongBits(
9264  other.getMinOrthogonalityForLpConstraints())) return false;
9265  }
9266  if (hasMaxCutRoundsAtLevelZero() != other.hasMaxCutRoundsAtLevelZero()) return false;
9269  != other.getMaxCutRoundsAtLevelZero()) return false;
9270  }
9271  if (hasMaxConsecutiveInactiveCount() != other.hasMaxConsecutiveInactiveCount()) return false;
9274  != other.getMaxConsecutiveInactiveCount()) return false;
9275  }
9276  if (hasCutMaxActiveCountValue() != other.hasCutMaxActiveCountValue()) return false;
9277  if (hasCutMaxActiveCountValue()) {
9278  if (java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue())
9279  != java.lang.Double.doubleToLongBits(
9280  other.getCutMaxActiveCountValue())) return false;
9281  }
9282  if (hasCutActiveCountDecay() != other.hasCutActiveCountDecay()) return false;
9283  if (hasCutActiveCountDecay()) {
9284  if (java.lang.Double.doubleToLongBits(getCutActiveCountDecay())
9285  != java.lang.Double.doubleToLongBits(
9286  other.getCutActiveCountDecay())) return false;
9287  }
9288  if (hasCutCleanupTarget() != other.hasCutCleanupTarget()) return false;
9289  if (hasCutCleanupTarget()) {
9290  if (getCutCleanupTarget()
9291  != other.getCutCleanupTarget()) return false;
9292  }
9293  if (hasNewConstraintsBatchSize() != other.hasNewConstraintsBatchSize()) return false;
9296  != other.getNewConstraintsBatchSize()) return false;
9297  }
9298  if (hasSearchBranching() != other.hasSearchBranching()) return false;
9299  if (hasSearchBranching()) {
9300  if (searchBranching_ != other.searchBranching_) return false;
9301  }
9302  if (hasHintConflictLimit() != other.hasHintConflictLimit()) return false;
9303  if (hasHintConflictLimit()) {
9304  if (getHintConflictLimit()
9305  != other.getHintConflictLimit()) return false;
9306  }
9307  if (hasRepairHint() != other.hasRepairHint()) return false;
9308  if (hasRepairHint()) {
9309  if (getRepairHint()
9310  != other.getRepairHint()) return false;
9311  }
9312  if (hasExploitIntegerLpSolution() != other.hasExploitIntegerLpSolution()) return false;
9315  != other.getExploitIntegerLpSolution()) return false;
9316  }
9317  if (hasExploitAllLpSolution() != other.hasExploitAllLpSolution()) return false;
9318  if (hasExploitAllLpSolution()) {
9320  != other.getExploitAllLpSolution()) return false;
9321  }
9322  if (hasExploitBestSolution() != other.hasExploitBestSolution()) return false;
9323  if (hasExploitBestSolution()) {
9325  != other.getExploitBestSolution()) return false;
9326  }
9327  if (hasExploitRelaxationSolution() != other.hasExploitRelaxationSolution()) return false;
9330  != other.getExploitRelaxationSolution()) return false;
9331  }
9332  if (hasExploitObjective() != other.hasExploitObjective()) return false;
9333  if (hasExploitObjective()) {
9334  if (getExploitObjective()
9335  != other.getExploitObjective()) return false;
9336  }
9337  if (hasProbingPeriodAtRoot() != other.hasProbingPeriodAtRoot()) return false;
9338  if (hasProbingPeriodAtRoot()) {
9340  != other.getProbingPeriodAtRoot()) return false;
9341  }
9342  if (hasUseProbingSearch() != other.hasUseProbingSearch()) return false;
9343  if (hasUseProbingSearch()) {
9344  if (getUseProbingSearch()
9345  != other.getUseProbingSearch()) return false;
9346  }
9347  if (hasPseudoCostReliabilityThreshold() != other.hasPseudoCostReliabilityThreshold()) return false;
9350  != other.getPseudoCostReliabilityThreshold()) return false;
9351  }
9352  if (hasOptimizeWithCore() != other.hasOptimizeWithCore()) return false;
9353  if (hasOptimizeWithCore()) {
9354  if (getOptimizeWithCore()
9355  != other.getOptimizeWithCore()) return false;
9356  }
9357  if (hasBinarySearchNumConflicts() != other.hasBinarySearchNumConflicts()) return false;
9360  != other.getBinarySearchNumConflicts()) return false;
9361  }
9362  if (hasOptimizeWithMaxHs() != other.hasOptimizeWithMaxHs()) return false;
9363  if (hasOptimizeWithMaxHs()) {
9364  if (getOptimizeWithMaxHs()
9365  != other.getOptimizeWithMaxHs()) return false;
9366  }
9367  if (hasEnumerateAllSolutions() != other.hasEnumerateAllSolutions()) return false;
9368  if (hasEnumerateAllSolutions()) {
9370  != other.getEnumerateAllSolutions()) return false;
9371  }
9372  if (hasKeepAllFeasibleSolutionsInPresolve() != other.hasKeepAllFeasibleSolutionsInPresolve()) return false;
9375  != other.getKeepAllFeasibleSolutionsInPresolve()) return false;
9376  }
9377  if (hasFillTightenedDomainsInResponse() != other.hasFillTightenedDomainsInResponse()) return false;
9380  != other.getFillTightenedDomainsInResponse()) return false;
9381  }
9382  if (hasInstantiateAllVariables() != other.hasInstantiateAllVariables()) return false;
9385  != other.getInstantiateAllVariables()) return false;
9386  }
9387  if (hasAutoDetectGreaterThanAtLeastOneOf() != other.hasAutoDetectGreaterThanAtLeastOneOf()) return false;
9390  != other.getAutoDetectGreaterThanAtLeastOneOf()) return false;
9391  }
9392  if (hasStopAfterFirstSolution() != other.hasStopAfterFirstSolution()) return false;
9393  if (hasStopAfterFirstSolution()) {
9395  != other.getStopAfterFirstSolution()) return false;
9396  }
9397  if (hasStopAfterPresolve() != other.hasStopAfterPresolve()) return false;
9398  if (hasStopAfterPresolve()) {
9399  if (getStopAfterPresolve()
9400  != other.getStopAfterPresolve()) return false;
9401  }
9402  if (hasNumSearchWorkers() != other.hasNumSearchWorkers()) return false;
9403  if (hasNumSearchWorkers()) {
9404  if (getNumSearchWorkers()
9405  != other.getNumSearchWorkers()) return false;
9406  }
9407  if (hasInterleaveSearch() != other.hasInterleaveSearch()) return false;
9408  if (hasInterleaveSearch()) {
9409  if (getInterleaveSearch()
9410  != other.getInterleaveSearch()) return false;
9411  }
9412  if (hasInterleaveBatchSize() != other.hasInterleaveBatchSize()) return false;
9413  if (hasInterleaveBatchSize()) {
9415  != other.getInterleaveBatchSize()) return false;
9416  }
9417  if (hasReduceMemoryUsageInInterleaveMode() != other.hasReduceMemoryUsageInInterleaveMode()) return false;
9420  != other.getReduceMemoryUsageInInterleaveMode()) return false;
9421  }
9422  if (hasShareObjectiveBounds() != other.hasShareObjectiveBounds()) return false;
9423  if (hasShareObjectiveBounds()) {
9425  != other.getShareObjectiveBounds()) return false;
9426  }
9427  if (hasShareLevelZeroBounds() != other.hasShareLevelZeroBounds()) return false;
9428  if (hasShareLevelZeroBounds()) {
9430  != other.getShareLevelZeroBounds()) return false;
9431  }
9432  if (hasUseLnsOnly() != other.hasUseLnsOnly()) return false;
9433  if (hasUseLnsOnly()) {
9434  if (getUseLnsOnly()
9435  != other.getUseLnsOnly()) return false;
9436  }
9437  if (hasLnsFocusOnDecisionVariables() != other.hasLnsFocusOnDecisionVariables()) return false;
9440  != other.getLnsFocusOnDecisionVariables()) return false;
9441  }
9442  if (hasLnsExpandIntervalsInConstraintGraph() != other.hasLnsExpandIntervalsInConstraintGraph()) return false;
9445  != other.getLnsExpandIntervalsInConstraintGraph()) return false;
9446  }
9447  if (hasUseRinsLns() != other.hasUseRinsLns()) return false;
9448  if (hasUseRinsLns()) {
9449  if (getUseRinsLns()
9450  != other.getUseRinsLns()) return false;
9451  }
9452  if (hasUseFeasibilityPump() != other.hasUseFeasibilityPump()) return false;
9453  if (hasUseFeasibilityPump()) {
9454  if (getUseFeasibilityPump()
9455  != other.getUseFeasibilityPump()) return false;
9456  }
9457  if (hasFpRounding() != other.hasFpRounding()) return false;
9458  if (hasFpRounding()) {
9459  if (fpRounding_ != other.fpRounding_) return false;
9460  }
9461  if (hasUseRelaxationLns() != other.hasUseRelaxationLns()) return false;
9462  if (hasUseRelaxationLns()) {
9463  if (getUseRelaxationLns()
9464  != other.getUseRelaxationLns()) return false;
9465  }
9466  if (hasDiversifyLnsParams() != other.hasDiversifyLnsParams()) return false;
9467  if (hasDiversifyLnsParams()) {
9468  if (getDiversifyLnsParams()
9469  != other.getDiversifyLnsParams()) return false;
9470  }
9471  if (hasRandomizeSearch() != other.hasRandomizeSearch()) return false;
9472  if (hasRandomizeSearch()) {
9473  if (getRandomizeSearch()
9474  != other.getRandomizeSearch()) return false;
9475  }
9476  if (hasSearchRandomizationTolerance() != other.hasSearchRandomizationTolerance()) return false;
9479  != other.getSearchRandomizationTolerance()) return false;
9480  }
9481  if (hasUseOptionalVariables() != other.hasUseOptionalVariables()) return false;
9482  if (hasUseOptionalVariables()) {
9484  != other.getUseOptionalVariables()) return false;
9485  }
9486  if (hasUseExactLpReason() != other.hasUseExactLpReason()) return false;
9487  if (hasUseExactLpReason()) {
9488  if (getUseExactLpReason()
9489  != other.getUseExactLpReason()) return false;
9490  }
9491  if (hasUseBranchingInLp() != other.hasUseBranchingInLp()) return false;
9492  if (hasUseBranchingInLp()) {
9493  if (getUseBranchingInLp()
9494  != other.getUseBranchingInLp()) return false;
9495  }
9496  if (hasUseCombinedNoOverlap() != other.hasUseCombinedNoOverlap()) return false;
9497  if (hasUseCombinedNoOverlap()) {
9499  != other.getUseCombinedNoOverlap()) return false;
9500  }
9501  if (hasCatchSigintSignal() != other.hasCatchSigintSignal()) return false;
9502  if (hasCatchSigintSignal()) {
9503  if (getCatchSigintSignal()
9504  != other.getCatchSigintSignal()) return false;
9505  }
9506  if (hasUseImpliedBounds() != other.hasUseImpliedBounds()) return false;
9507  if (hasUseImpliedBounds()) {
9508  if (getUseImpliedBounds()
9509  != other.getUseImpliedBounds()) return false;
9510  }
9511  if (hasPolishLpSolution() != other.hasPolishLpSolution()) return false;
9512  if (hasPolishLpSolution()) {
9513  if (getPolishLpSolution()
9514  != other.getPolishLpSolution()) return false;
9515  }
9516  if (hasConvertIntervals() != other.hasConvertIntervals()) return false;
9517  if (hasConvertIntervals()) {
9518  if (getConvertIntervals()
9519  != other.getConvertIntervals()) return false;
9520  }
9521  if (hasSymmetryLevel() != other.hasSymmetryLevel()) return false;
9522  if (hasSymmetryLevel()) {
9523  if (getSymmetryLevel()
9524  != other.getSymmetryLevel()) return false;
9525  }
9526  if (hasMipMaxBound() != other.hasMipMaxBound()) return false;
9527  if (hasMipMaxBound()) {
9528  if (java.lang.Double.doubleToLongBits(getMipMaxBound())
9529  != java.lang.Double.doubleToLongBits(
9530  other.getMipMaxBound())) return false;
9531  }
9532  if (hasMipVarScaling() != other.hasMipVarScaling()) return false;
9533  if (hasMipVarScaling()) {
9534  if (java.lang.Double.doubleToLongBits(getMipVarScaling())
9535  != java.lang.Double.doubleToLongBits(
9536  other.getMipVarScaling())) return false;
9537  }
9538  if (hasMipAutomaticallyScaleVariables() != other.hasMipAutomaticallyScaleVariables()) return false;
9541  != other.getMipAutomaticallyScaleVariables()) return false;
9542  }
9543  if (hasMipWantedPrecision() != other.hasMipWantedPrecision()) return false;
9544  if (hasMipWantedPrecision()) {
9545  if (java.lang.Double.doubleToLongBits(getMipWantedPrecision())
9546  != java.lang.Double.doubleToLongBits(
9547  other.getMipWantedPrecision())) return false;
9548  }
9549  if (hasMipMaxActivityExponent() != other.hasMipMaxActivityExponent()) return false;
9550  if (hasMipMaxActivityExponent()) {
9552  != other.getMipMaxActivityExponent()) return false;
9553  }
9554  if (hasMipCheckPrecision() != other.hasMipCheckPrecision()) return false;
9555  if (hasMipCheckPrecision()) {
9556  if (java.lang.Double.doubleToLongBits(getMipCheckPrecision())
9557  != java.lang.Double.doubleToLongBits(
9558  other.getMipCheckPrecision())) return false;
9559  }
9560  if (!unknownFields.equals(other.unknownFields)) return false;
9561  return true;
9562  }
9563 
9564  @java.lang.Override
9565  public int hashCode() {
9566  if (memoizedHashCode != 0) {
9567  return memoizedHashCode;
9568  }
9569  int hash = 41;
9570  hash = (19 * hash) + getDescriptor().hashCode();
9571  if (hasName()) {
9572  hash = (37 * hash) + NAME_FIELD_NUMBER;
9573  hash = (53 * hash) + getName().hashCode();
9574  }
9575  if (hasPreferredVariableOrder()) {
9576  hash = (37 * hash) + PREFERRED_VARIABLE_ORDER_FIELD_NUMBER;
9577  hash = (53 * hash) + preferredVariableOrder_;
9578  }
9579  if (hasInitialPolarity()) {
9580  hash = (37 * hash) + INITIAL_POLARITY_FIELD_NUMBER;
9581  hash = (53 * hash) + initialPolarity_;
9582  }
9583  if (hasUsePhaseSaving()) {
9584  hash = (37 * hash) + USE_PHASE_SAVING_FIELD_NUMBER;
9585  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9586  getUsePhaseSaving());
9587  }
9589  hash = (37 * hash) + POLARITY_REPHASE_INCREMENT_FIELD_NUMBER;
9590  hash = (53 * hash) + getPolarityRephaseIncrement();
9591  }
9592  if (hasRandomPolarityRatio()) {
9593  hash = (37 * hash) + RANDOM_POLARITY_RATIO_FIELD_NUMBER;
9594  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9595  java.lang.Double.doubleToLongBits(getRandomPolarityRatio()));
9596  }
9597  if (hasRandomBranchesRatio()) {
9598  hash = (37 * hash) + RANDOM_BRANCHES_RATIO_FIELD_NUMBER;
9599  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9600  java.lang.Double.doubleToLongBits(getRandomBranchesRatio()));
9601  }
9602  if (hasUseErwaHeuristic()) {
9603  hash = (37 * hash) + USE_ERWA_HEURISTIC_FIELD_NUMBER;
9604  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9606  }
9608  hash = (37 * hash) + INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER;
9609  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9610  java.lang.Double.doubleToLongBits(getInitialVariablesActivity()));
9611  }
9614  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9616  }
9617  if (hasMinimizationAlgorithm()) {
9618  hash = (37 * hash) + MINIMIZATION_ALGORITHM_FIELD_NUMBER;
9619  hash = (53 * hash) + minimizationAlgorithm_;
9620  }
9622  hash = (37 * hash) + BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER;
9623  hash = (53 * hash) + binaryMinimizationAlgorithm_;
9624  }
9627  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9629  }
9630  if (hasClauseCleanupPeriod()) {
9631  hash = (37 * hash) + CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER;
9632  hash = (53 * hash) + getClauseCleanupPeriod();
9633  }
9634  if (hasClauseCleanupTarget()) {
9635  hash = (37 * hash) + CLAUSE_CLEANUP_TARGET_FIELD_NUMBER;
9636  hash = (53 * hash) + getClauseCleanupTarget();
9637  }
9639  hash = (37 * hash) + CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER;
9640  hash = (53 * hash) + clauseCleanupProtection_;
9641  }
9642  if (hasClauseCleanupLbdBound()) {
9643  hash = (37 * hash) + CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER;
9644  hash = (53 * hash) + getClauseCleanupLbdBound();
9645  }
9646  if (hasClauseCleanupOrdering()) {
9647  hash = (37 * hash) + CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER;
9648  hash = (53 * hash) + clauseCleanupOrdering_;
9649  }
9650  if (hasPbCleanupIncrement()) {
9651  hash = (37 * hash) + PB_CLEANUP_INCREMENT_FIELD_NUMBER;
9652  hash = (53 * hash) + getPbCleanupIncrement();
9653  }
9654  if (hasPbCleanupRatio()) {
9655  hash = (37 * hash) + PB_CLEANUP_RATIO_FIELD_NUMBER;
9656  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9657  java.lang.Double.doubleToLongBits(getPbCleanupRatio()));
9658  }
9661  hash = (53 * hash) + getMinimizeWithPropagationRestartPeriod();
9662  }
9665  hash = (53 * hash) + getMinimizeWithPropagationNumDecisions();
9666  }
9667  if (hasVariableActivityDecay()) {
9668  hash = (37 * hash) + VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER;
9669  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9670  java.lang.Double.doubleToLongBits(getVariableActivityDecay()));
9671  }
9673  hash = (37 * hash) + MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER;
9674  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9675  java.lang.Double.doubleToLongBits(getMaxVariableActivityValue()));
9676  }
9677  if (hasGlucoseMaxDecay()) {
9678  hash = (37 * hash) + GLUCOSE_MAX_DECAY_FIELD_NUMBER;
9679  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9680  java.lang.Double.doubleToLongBits(getGlucoseMaxDecay()));
9681  }
9682  if (hasGlucoseDecayIncrement()) {
9683  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER;
9684  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9685  java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement()));
9686  }
9688  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER;
9689  hash = (53 * hash) + getGlucoseDecayIncrementPeriod();
9690  }
9691  if (hasClauseActivityDecay()) {
9692  hash = (37 * hash) + CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER;
9693  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9694  java.lang.Double.doubleToLongBits(getClauseActivityDecay()));
9695  }
9696  if (hasMaxClauseActivityValue()) {
9697  hash = (37 * hash) + MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER;
9698  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9699  java.lang.Double.doubleToLongBits(getMaxClauseActivityValue()));
9700  }
9701  if (getRestartAlgorithmsCount() > 0) {
9702  hash = (37 * hash) + RESTART_ALGORITHMS_FIELD_NUMBER;
9703  hash = (53 * hash) + restartAlgorithms_.hashCode();
9704  }
9706  hash = (37 * hash) + DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER;
9707  hash = (53 * hash) + getDefaultRestartAlgorithms().hashCode();
9708  }
9709  if (hasRestartPeriod()) {
9710  hash = (37 * hash) + RESTART_PERIOD_FIELD_NUMBER;
9711  hash = (53 * hash) + getRestartPeriod();
9712  }
9714  hash = (37 * hash) + RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER;
9715  hash = (53 * hash) + getRestartRunningWindowSize();
9716  }
9717  if (hasRestartDlAverageRatio()) {
9718  hash = (37 * hash) + RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER;
9719  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9720  java.lang.Double.doubleToLongBits(getRestartDlAverageRatio()));
9721  }
9722  if (hasRestartLbdAverageRatio()) {
9723  hash = (37 * hash) + RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER;
9724  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9725  java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio()));
9726  }
9727  if (hasUseBlockingRestart()) {
9728  hash = (37 * hash) + USE_BLOCKING_RESTART_FIELD_NUMBER;
9729  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9731  }
9733  hash = (37 * hash) + BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER;
9734  hash = (53 * hash) + getBlockingRestartWindowSize();
9735  }
9737  hash = (37 * hash) + BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER;
9738  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9739  java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier()));
9740  }
9743  hash = (53 * hash) + getNumConflictsBeforeStrategyChanges();
9744  }
9746  hash = (37 * hash) + STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER;
9747  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9748  java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio()));
9749  }
9750  if (hasMaxTimeInSeconds()) {
9751  hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
9752  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9753  java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
9754  }
9755  if (hasMaxDeterministicTime()) {
9756  hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
9757  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9758  java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
9759  }
9760  if (hasMaxNumberOfConflicts()) {
9761  hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER;
9762  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9764  }
9765  if (hasMaxMemoryInMb()) {
9766  hash = (37 * hash) + MAX_MEMORY_IN_MB_FIELD_NUMBER;
9767  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9768  getMaxMemoryInMb());
9769  }
9770  if (hasAbsoluteGapLimit()) {
9771  hash = (37 * hash) + ABSOLUTE_GAP_LIMIT_FIELD_NUMBER;
9772  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9773  java.lang.Double.doubleToLongBits(getAbsoluteGapLimit()));
9774  }
9775  if (hasRelativeGapLimit()) {
9776  hash = (37 * hash) + RELATIVE_GAP_LIMIT_FIELD_NUMBER;
9777  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9778  java.lang.Double.doubleToLongBits(getRelativeGapLimit()));
9779  }
9781  hash = (37 * hash) + TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER;
9782  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9784  }
9785  if (hasRandomSeed()) {
9786  hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
9787  hash = (53 * hash) + getRandomSeed();
9788  }
9790  hash = (37 * hash) + PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER;
9791  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9793  }
9796  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9798  }
9799  if (hasUseAbslRandom()) {
9800  hash = (37 * hash) + USE_ABSL_RANDOM_FIELD_NUMBER;
9801  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9802  getUseAbslRandom());
9803  }
9804  if (hasLogSearchProgress()) {
9805  hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
9806  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9808  }
9809  if (hasFillLogsInResponse()) {
9810  hash = (37 * hash) + FILL_LOGS_IN_RESPONSE_FIELD_NUMBER;
9811  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9813  }
9814  if (hasUsePbResolution()) {
9815  hash = (37 * hash) + USE_PB_RESOLUTION_FIELD_NUMBER;
9816  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9817  getUsePbResolution());
9818  }
9821  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9823  }
9825  hash = (37 * hash) + COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER;
9826  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9828  }
9829  if (hasPresolveBveThreshold()) {
9830  hash = (37 * hash) + PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER;
9831  hash = (53 * hash) + getPresolveBveThreshold();
9832  }
9834  hash = (37 * hash) + PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER;
9835  hash = (53 * hash) + getPresolveBveClauseWeight();
9836  }
9839  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9840  java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit()));
9841  }
9842  if (hasPresolveBlockedClause()) {
9843  hash = (37 * hash) + PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER;
9844  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9846  }
9847  if (hasPresolveUseBva()) {
9848  hash = (37 * hash) + PRESOLVE_USE_BVA_FIELD_NUMBER;
9849  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9850  getPresolveUseBva());
9851  }
9852  if (hasPresolveBvaThreshold()) {
9853  hash = (37 * hash) + PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER;
9854  hash = (53 * hash) + getPresolveBvaThreshold();
9855  }
9856  if (hasMaxPresolveIterations()) {
9857  hash = (37 * hash) + MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER;
9858  hash = (53 * hash) + getMaxPresolveIterations();
9859  }
9860  if (hasCpModelPresolve()) {
9861  hash = (37 * hash) + CP_MODEL_PRESOLVE_FIELD_NUMBER;
9862  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9863  getCpModelPresolve());
9864  }
9867  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9869  }
9872  hash = (53 * hash) + getCpModelMaxNumPresolveOperations();
9873  }
9874  if (hasCpModelProbingLevel()) {
9875  hash = (37 * hash) + CP_MODEL_PROBING_LEVEL_FIELD_NUMBER;
9876  hash = (53 * hash) + getCpModelProbingLevel();
9877  }
9878  if (hasCpModelUseSatPresolve()) {
9879  hash = (37 * hash) + CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER;
9880  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9882  }
9883  if (hasUseSatInprocessing()) {
9884  hash = (37 * hash) + USE_SAT_INPROCESSING_FIELD_NUMBER;
9885  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9887  }
9889  hash = (37 * hash) + EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER;
9890  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9892  }
9894  hash = (37 * hash) + EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER;
9895  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9897  }
9898  if (hasExpandTableConstraints()) {
9899  hash = (37 * hash) + EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER;
9900  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9902  }
9904  hash = (37 * hash) + EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER;
9905  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9907  }
9909  hash = (37 * hash) + EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER;
9910  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9912  }
9914  hash = (37 * hash) + DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER;
9915  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9917  }
9919  hash = (37 * hash) + MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER;
9920  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9921  java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit()));
9922  }
9924  hash = (37 * hash) + MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER;
9925  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9926  java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit()));
9927  }
9929  hash = (37 * hash) + PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER;
9930  hash = (53 * hash) + getPresolveSubstitutionLevel();
9931  }
9934  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9936  }
9937  if (hasUseOptimizationHints()) {
9938  hash = (37 * hash) + USE_OPTIMIZATION_HINTS_FIELD_NUMBER;
9939  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9941  }
9942  if (hasMinimizeCore()) {
9943  hash = (37 * hash) + MINIMIZE_CORE_FIELD_NUMBER;
9944  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9945  getMinimizeCore());
9946  }
9947  if (hasFindMultipleCores()) {
9948  hash = (37 * hash) + FIND_MULTIPLE_CORES_FIELD_NUMBER;
9949  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9951  }
9952  if (hasCoverOptimization()) {
9953  hash = (37 * hash) + COVER_OPTIMIZATION_FIELD_NUMBER;
9954  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9956  }
9957  if (hasMaxSatAssumptionOrder()) {
9958  hash = (37 * hash) + MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER;
9959  hash = (53 * hash) + maxSatAssumptionOrder_;
9960  }
9962  hash = (37 * hash) + MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER;
9963  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9965  }
9966  if (hasMaxSatStratification()) {
9967  hash = (37 * hash) + MAX_SAT_STRATIFICATION_FIELD_NUMBER;
9968  hash = (53 * hash) + maxSatStratification_;
9969  }
9972  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9974  }
9977  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9979  }
9982  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9984  }
9987  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9989  }
9990  if (hasLinearizationLevel()) {
9991  hash = (37 * hash) + LINEARIZATION_LEVEL_FIELD_NUMBER;
9992  hash = (53 * hash) + getLinearizationLevel();
9993  }
9994  if (hasBooleanEncodingLevel()) {
9995  hash = (37 * hash) + BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER;
9996  hash = (53 * hash) + getBooleanEncodingLevel();
9997  }
9998  if (hasMaxNumCuts()) {
9999  hash = (37 * hash) + MAX_NUM_CUTS_FIELD_NUMBER;
10000  hash = (53 * hash) + getMaxNumCuts();
10001  }
10002  if (hasOnlyAddCutsAtLevelZero()) {
10003  hash = (37 * hash) + ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER;
10004  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10006  }
10007  if (hasAddKnapsackCuts()) {
10008  hash = (37 * hash) + ADD_KNAPSACK_CUTS_FIELD_NUMBER;
10009  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10010  getAddKnapsackCuts());
10011  }
10012  if (hasAddCgCuts()) {
10013  hash = (37 * hash) + ADD_CG_CUTS_FIELD_NUMBER;
10014  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10015  getAddCgCuts());
10016  }
10017  if (hasAddMirCuts()) {
10018  hash = (37 * hash) + ADD_MIR_CUTS_FIELD_NUMBER;
10019  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10020  getAddMirCuts());
10021  }
10022  if (hasAddZeroHalfCuts()) {
10023  hash = (37 * hash) + ADD_ZERO_HALF_CUTS_FIELD_NUMBER;
10024  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10025  getAddZeroHalfCuts());
10026  }
10027  if (hasAddCliqueCuts()) {
10028  hash = (37 * hash) + ADD_CLIQUE_CUTS_FIELD_NUMBER;
10029  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10030  getAddCliqueCuts());
10031  }
10032  if (hasMaxAllDiffCutSize()) {
10033  hash = (37 * hash) + MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER;
10034  hash = (53 * hash) + getMaxAllDiffCutSize();
10035  }
10036  if (hasAddLinMaxCuts()) {
10037  hash = (37 * hash) + ADD_LIN_MAX_CUTS_FIELD_NUMBER;
10038  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10039  getAddLinMaxCuts());
10040  }
10042  hash = (37 * hash) + MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER;
10043  hash = (53 * hash) + getMaxIntegerRoundingScaling();
10044  }
10045  if (hasAddLpConstraintsLazily()) {
10046  hash = (37 * hash) + ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER;
10047  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10049  }
10052  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10053  java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints()));
10054  }
10056  hash = (37 * hash) + MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER;
10057  hash = (53 * hash) + getMaxCutRoundsAtLevelZero();
10058  }
10060  hash = (37 * hash) + MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER;
10061  hash = (53 * hash) + getMaxConsecutiveInactiveCount();
10062  }
10063  if (hasCutMaxActiveCountValue()) {
10064  hash = (37 * hash) + CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER;
10065  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10066  java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue()));
10067  }
10068  if (hasCutActiveCountDecay()) {
10069  hash = (37 * hash) + CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER;
10070  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10071  java.lang.Double.doubleToLongBits(getCutActiveCountDecay()));
10072  }
10073  if (hasCutCleanupTarget()) {
10074  hash = (37 * hash) + CUT_CLEANUP_TARGET_FIELD_NUMBER;
10075  hash = (53 * hash) + getCutCleanupTarget();
10076  }
10078  hash = (37 * hash) + NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER;
10079  hash = (53 * hash) + getNewConstraintsBatchSize();
10080  }
10081  if (hasSearchBranching()) {
10082  hash = (37 * hash) + SEARCH_BRANCHING_FIELD_NUMBER;
10083  hash = (53 * hash) + searchBranching_;
10084  }
10085  if (hasHintConflictLimit()) {
10086  hash = (37 * hash) + HINT_CONFLICT_LIMIT_FIELD_NUMBER;
10087  hash = (53 * hash) + getHintConflictLimit();
10088  }
10089  if (hasRepairHint()) {
10090  hash = (37 * hash) + REPAIR_HINT_FIELD_NUMBER;
10091  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10092  getRepairHint());
10093  }
10095  hash = (37 * hash) + EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER;
10096  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10098  }
10099  if (hasExploitAllLpSolution()) {
10100  hash = (37 * hash) + EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER;
10101  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10103  }
10104  if (hasExploitBestSolution()) {
10105  hash = (37 * hash) + EXPLOIT_BEST_SOLUTION_FIELD_NUMBER;
10106  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10108  }
10110  hash = (37 * hash) + EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER;
10111  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10113  }
10114  if (hasExploitObjective()) {
10115  hash = (37 * hash) + EXPLOIT_OBJECTIVE_FIELD_NUMBER;
10116  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10118  }
10119  if (hasProbingPeriodAtRoot()) {
10120  hash = (37 * hash) + PROBING_PERIOD_AT_ROOT_FIELD_NUMBER;
10121  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10123  }
10124  if (hasUseProbingSearch()) {
10125  hash = (37 * hash) + USE_PROBING_SEARCH_FIELD_NUMBER;
10126  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10128  }
10131  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10133  }
10134  if (hasOptimizeWithCore()) {
10135  hash = (37 * hash) + OPTIMIZE_WITH_CORE_FIELD_NUMBER;
10136  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10138  }
10140  hash = (37 * hash) + BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER;
10141  hash = (53 * hash) + getBinarySearchNumConflicts();
10142  }
10143  if (hasOptimizeWithMaxHs()) {
10144  hash = (37 * hash) + OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER;
10145  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10147  }
10148  if (hasEnumerateAllSolutions()) {
10149  hash = (37 * hash) + ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER;
10150  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10152  }
10155  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10157  }
10160  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10162  }
10164  hash = (37 * hash) + INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER;
10165  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10167  }
10170  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10172  }
10173  if (hasStopAfterFirstSolution()) {
10174  hash = (37 * hash) + STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER;
10175  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10177  }
10178  if (hasStopAfterPresolve()) {
10179  hash = (37 * hash) + STOP_AFTER_PRESOLVE_FIELD_NUMBER;
10180  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10182  }
10183  if (hasNumSearchWorkers()) {
10184  hash = (37 * hash) + NUM_SEARCH_WORKERS_FIELD_NUMBER;
10185  hash = (53 * hash) + getNumSearchWorkers();
10186  }
10187  if (hasInterleaveSearch()) {
10188  hash = (37 * hash) + INTERLEAVE_SEARCH_FIELD_NUMBER;
10189  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10191  }
10192  if (hasInterleaveBatchSize()) {
10193  hash = (37 * hash) + INTERLEAVE_BATCH_SIZE_FIELD_NUMBER;
10194  hash = (53 * hash) + getInterleaveBatchSize();
10195  }
10198  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10200  }
10201  if (hasShareObjectiveBounds()) {
10202  hash = (37 * hash) + SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER;
10203  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10205  }
10206  if (hasShareLevelZeroBounds()) {
10207  hash = (37 * hash) + SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER;
10208  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10210  }
10211  if (hasUseLnsOnly()) {
10212  hash = (37 * hash) + USE_LNS_ONLY_FIELD_NUMBER;
10213  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10214  getUseLnsOnly());
10215  }
10217  hash = (37 * hash) + LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER;
10218  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10220  }
10223  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10225  }
10226  if (hasUseRinsLns()) {
10227  hash = (37 * hash) + USE_RINS_LNS_FIELD_NUMBER;
10228  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10229  getUseRinsLns());
10230  }
10231  if (hasUseFeasibilityPump()) {
10232  hash = (37 * hash) + USE_FEASIBILITY_PUMP_FIELD_NUMBER;
10233  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10235  }
10236  if (hasFpRounding()) {
10237  hash = (37 * hash) + FP_ROUNDING_FIELD_NUMBER;
10238  hash = (53 * hash) + fpRounding_;
10239  }
10240  if (hasUseRelaxationLns()) {
10241  hash = (37 * hash) + USE_RELAXATION_LNS_FIELD_NUMBER;
10242  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10244  }
10245  if (hasDiversifyLnsParams()) {
10246  hash = (37 * hash) + DIVERSIFY_LNS_PARAMS_FIELD_NUMBER;
10247  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10249  }
10250  if (hasRandomizeSearch()) {
10251  hash = (37 * hash) + RANDOMIZE_SEARCH_FIELD_NUMBER;
10252  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10253  getRandomizeSearch());
10254  }
10256  hash = (37 * hash) + SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER;
10257  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10259  }
10260  if (hasUseOptionalVariables()) {
10261  hash = (37 * hash) + USE_OPTIONAL_VARIABLES_FIELD_NUMBER;
10262  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10264  }
10265  if (hasUseExactLpReason()) {
10266  hash = (37 * hash) + USE_EXACT_LP_REASON_FIELD_NUMBER;
10267  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10269  }
10270  if (hasUseBranchingInLp()) {
10271  hash = (37 * hash) + USE_BRANCHING_IN_LP_FIELD_NUMBER;
10272  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10274  }
10275  if (hasUseCombinedNoOverlap()) {
10276  hash = (37 * hash) + USE_COMBINED_NO_OVERLAP_FIELD_NUMBER;
10277  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10279  }
10280  if (hasCatchSigintSignal()) {
10281  hash = (37 * hash) + CATCH_SIGINT_SIGNAL_FIELD_NUMBER;
10282  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10284  }
10285  if (hasUseImpliedBounds()) {
10286  hash = (37 * hash) + USE_IMPLIED_BOUNDS_FIELD_NUMBER;
10287  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10289  }
10290  if (hasPolishLpSolution()) {
10291  hash = (37 * hash) + POLISH_LP_SOLUTION_FIELD_NUMBER;
10292  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10294  }
10295  if (hasConvertIntervals()) {
10296  hash = (37 * hash) + CONVERT_INTERVALS_FIELD_NUMBER;
10297  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10299  }
10300  if (hasSymmetryLevel()) {
10301  hash = (37 * hash) + SYMMETRY_LEVEL_FIELD_NUMBER;
10302  hash = (53 * hash) + getSymmetryLevel();
10303  }
10304  if (hasMipMaxBound()) {
10305  hash = (37 * hash) + MIP_MAX_BOUND_FIELD_NUMBER;
10306  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10307  java.lang.Double.doubleToLongBits(getMipMaxBound()));
10308  }
10309  if (hasMipVarScaling()) {
10310  hash = (37 * hash) + MIP_VAR_SCALING_FIELD_NUMBER;
10311  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10312  java.lang.Double.doubleToLongBits(getMipVarScaling()));
10313  }
10316  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10318  }
10319  if (hasMipWantedPrecision()) {
10320  hash = (37 * hash) + MIP_WANTED_PRECISION_FIELD_NUMBER;
10321  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10322  java.lang.Double.doubleToLongBits(getMipWantedPrecision()));
10323  }
10324  if (hasMipMaxActivityExponent()) {
10325  hash = (37 * hash) + MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER;
10326  hash = (53 * hash) + getMipMaxActivityExponent();
10327  }
10328  if (hasMipCheckPrecision()) {
10329  hash = (37 * hash) + MIP_CHECK_PRECISION_FIELD_NUMBER;
10330  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10331  java.lang.Double.doubleToLongBits(getMipCheckPrecision()));
10332  }
10333  hash = (29 * hash) + unknownFields.hashCode();
10334  memoizedHashCode = hash;
10335  return hash;
10336  }
10337 
10338  public static com.google.ortools.sat.SatParameters parseFrom(
10339  java.nio.ByteBuffer data)
10340  throws com.google.protobuf.InvalidProtocolBufferException {
10341  return PARSER.parseFrom(data);
10342  }
10343  public static com.google.ortools.sat.SatParameters parseFrom(
10344  java.nio.ByteBuffer data,
10345  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10346  throws com.google.protobuf.InvalidProtocolBufferException {
10347  return PARSER.parseFrom(data, extensionRegistry);
10348  }
10349  public static com.google.ortools.sat.SatParameters parseFrom(
10350  com.google.protobuf.ByteString data)
10351  throws com.google.protobuf.InvalidProtocolBufferException {
10352  return PARSER.parseFrom(data);
10353  }
10354  public static com.google.ortools.sat.SatParameters parseFrom(
10355  com.google.protobuf.ByteString data,
10356  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10357  throws com.google.protobuf.InvalidProtocolBufferException {
10358  return PARSER.parseFrom(data, extensionRegistry);
10359  }
10360  public static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
10361  throws com.google.protobuf.InvalidProtocolBufferException {
10362  return PARSER.parseFrom(data);
10363  }
10364  public static com.google.ortools.sat.SatParameters parseFrom(
10365  byte[] data,
10366  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10367  throws com.google.protobuf.InvalidProtocolBufferException {
10368  return PARSER.parseFrom(data, extensionRegistry);
10369  }
10370  public static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
10371  throws java.io.IOException {
10372  return com.google.protobuf.GeneratedMessageV3
10373  .parseWithIOException(PARSER, input);
10374  }
10375  public static com.google.ortools.sat.SatParameters parseFrom(
10376  java.io.InputStream input,
10377  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10378  throws java.io.IOException {
10379  return com.google.protobuf.GeneratedMessageV3
10380  .parseWithIOException(PARSER, input, extensionRegistry);
10381  }
10382  public static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
10383  throws java.io.IOException {
10384  return com.google.protobuf.GeneratedMessageV3
10385  .parseDelimitedWithIOException(PARSER, input);
10386  }
10387  public static com.google.ortools.sat.SatParameters parseDelimitedFrom(
10388  java.io.InputStream input,
10389  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10390  throws java.io.IOException {
10391  return com.google.protobuf.GeneratedMessageV3
10392  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
10393  }
10394  public static com.google.ortools.sat.SatParameters parseFrom(
10395  com.google.protobuf.CodedInputStream input)
10396  throws java.io.IOException {
10397  return com.google.protobuf.GeneratedMessageV3
10398  .parseWithIOException(PARSER, input);
10399  }
10400  public static com.google.ortools.sat.SatParameters parseFrom(
10401  com.google.protobuf.CodedInputStream input,
10402  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10403  throws java.io.IOException {
10404  return com.google.protobuf.GeneratedMessageV3
10405  .parseWithIOException(PARSER, input, extensionRegistry);
10406  }
10407 
10408  @java.lang.Override
10409  public Builder newBuilderForType() { return newBuilder(); }
10410  public static Builder newBuilder() {
10411  return DEFAULT_INSTANCE.toBuilder();
10412  }
10413  public static Builder newBuilder(com.google.ortools.sat.SatParameters prototype) {
10414  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
10415  }
10416  @java.lang.Override
10417  public Builder toBuilder() {
10418  return this == DEFAULT_INSTANCE
10419  ? new Builder() : new Builder().mergeFrom(this);
10420  }
10421 
10422  @java.lang.Override
10424  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
10425  Builder builder = new Builder(parent);
10426  return builder;
10427  }
10437  public static final class Builder extends
10438  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
10439  // @@protoc_insertion_point(builder_implements:operations_research.sat.SatParameters)
10440  com.google.ortools.sat.SatParametersOrBuilder {
10441  public static final com.google.protobuf.Descriptors.Descriptor
10443  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
10444  }
10445 
10446  @java.lang.Override
10447  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
10449  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
10450  .ensureFieldAccessorsInitialized(
10451  com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
10452  }
10453 
10454  // Construct using com.google.ortools.sat.SatParameters.newBuilder()
10455  private Builder() {
10456  maybeForceBuilderInitialization();
10457  }
10458 
10459  private Builder(
10460  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
10461  super(parent);
10462  maybeForceBuilderInitialization();
10463  }
10464  private void maybeForceBuilderInitialization() {
10465  if (com.google.protobuf.GeneratedMessageV3
10466  .alwaysUseFieldBuilders) {
10467  }
10468  }
10469  @java.lang.Override
10470  public Builder clear() {
10471  super.clear();
10472  name_ = "";
10473  bitField0_ = (bitField0_ & ~0x00000001);
10474  preferredVariableOrder_ = 0;
10475  bitField0_ = (bitField0_ & ~0x00000002);
10476  initialPolarity_ = 1;
10477  bitField0_ = (bitField0_ & ~0x00000004);
10478  usePhaseSaving_ = true;
10479  bitField0_ = (bitField0_ & ~0x00000008);
10480  polarityRephaseIncrement_ = 1000;
10481  bitField0_ = (bitField0_ & ~0x00000010);
10482  randomPolarityRatio_ = 0D;
10483  bitField0_ = (bitField0_ & ~0x00000020);
10484  randomBranchesRatio_ = 0D;
10485  bitField0_ = (bitField0_ & ~0x00000040);
10486  useErwaHeuristic_ = false;
10487  bitField0_ = (bitField0_ & ~0x00000080);
10488  initialVariablesActivity_ = 0D;
10489  bitField0_ = (bitField0_ & ~0x00000100);
10490  alsoBumpVariablesInConflictReasons_ = false;
10491  bitField0_ = (bitField0_ & ~0x00000200);
10492  minimizationAlgorithm_ = 2;
10493  bitField0_ = (bitField0_ & ~0x00000400);
10494  binaryMinimizationAlgorithm_ = 1;
10495  bitField0_ = (bitField0_ & ~0x00000800);
10496  subsumptionDuringConflictAnalysis_ = true;
10497  bitField0_ = (bitField0_ & ~0x00001000);
10498  clauseCleanupPeriod_ = 10000;
10499  bitField0_ = (bitField0_ & ~0x00002000);
10500  clauseCleanupTarget_ = 10000;
10501  bitField0_ = (bitField0_ & ~0x00004000);
10502  clauseCleanupProtection_ = 0;
10503  bitField0_ = (bitField0_ & ~0x00008000);
10504  clauseCleanupLbdBound_ = 5;
10505  bitField0_ = (bitField0_ & ~0x00010000);
10506  clauseCleanupOrdering_ = 0;
10507  bitField0_ = (bitField0_ & ~0x00020000);
10508  pbCleanupIncrement_ = 200;
10509  bitField0_ = (bitField0_ & ~0x00040000);
10510  pbCleanupRatio_ = 0.5D;
10511  bitField0_ = (bitField0_ & ~0x00080000);
10512  minimizeWithPropagationRestartPeriod_ = 10;
10513  bitField0_ = (bitField0_ & ~0x00100000);
10514  minimizeWithPropagationNumDecisions_ = 1000;
10515  bitField0_ = (bitField0_ & ~0x00200000);
10516  variableActivityDecay_ = 0.8D;
10517  bitField0_ = (bitField0_ & ~0x00400000);
10518  maxVariableActivityValue_ = 1e+100D;
10519  bitField0_ = (bitField0_ & ~0x00800000);
10520  glucoseMaxDecay_ = 0.95D;
10521  bitField0_ = (bitField0_ & ~0x01000000);
10522  glucoseDecayIncrement_ = 0.01D;
10523  bitField0_ = (bitField0_ & ~0x02000000);
10524  glucoseDecayIncrementPeriod_ = 5000;
10525  bitField0_ = (bitField0_ & ~0x04000000);
10526  clauseActivityDecay_ = 0.999D;
10527  bitField0_ = (bitField0_ & ~0x08000000);
10528  maxClauseActivityValue_ = 1e+20D;
10529  bitField0_ = (bitField0_ & ~0x10000000);
10530  restartAlgorithms_ = java.util.Collections.emptyList();
10531  bitField0_ = (bitField0_ & ~0x20000000);
10532  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
10533  bitField0_ = (bitField0_ & ~0x40000000);
10534  restartPeriod_ = 50;
10535  bitField0_ = (bitField0_ & ~0x80000000);
10536  restartRunningWindowSize_ = 50;
10537  bitField1_ = (bitField1_ & ~0x00000001);
10538  restartDlAverageRatio_ = 1D;
10539  bitField1_ = (bitField1_ & ~0x00000002);
10540  restartLbdAverageRatio_ = 1D;
10541  bitField1_ = (bitField1_ & ~0x00000004);
10542  useBlockingRestart_ = false;
10543  bitField1_ = (bitField1_ & ~0x00000008);
10544  blockingRestartWindowSize_ = 5000;
10545  bitField1_ = (bitField1_ & ~0x00000010);
10546  blockingRestartMultiplier_ = 1.4D;
10547  bitField1_ = (bitField1_ & ~0x00000020);
10548  numConflictsBeforeStrategyChanges_ = 0;
10549  bitField1_ = (bitField1_ & ~0x00000040);
10550  strategyChangeIncreaseRatio_ = 0D;
10551  bitField1_ = (bitField1_ & ~0x00000080);
10552  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
10553  bitField1_ = (bitField1_ & ~0x00000100);
10554  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
10555  bitField1_ = (bitField1_ & ~0x00000200);
10556  maxNumberOfConflicts_ = 9223372036854775807L;
10557  bitField1_ = (bitField1_ & ~0x00000400);
10558  maxMemoryInMb_ = 10000L;
10559  bitField1_ = (bitField1_ & ~0x00000800);
10560  absoluteGapLimit_ = 0D;
10561  bitField1_ = (bitField1_ & ~0x00001000);
10562  relativeGapLimit_ = 0D;
10563  bitField1_ = (bitField1_ & ~0x00002000);
10564  treatBinaryClausesSeparately_ = true;
10565  bitField1_ = (bitField1_ & ~0x00004000);
10566  randomSeed_ = 1;
10567  bitField1_ = (bitField1_ & ~0x00008000);
10568  permuteVariableRandomly_ = false;
10569  bitField1_ = (bitField1_ & ~0x00010000);
10570  permutePresolveConstraintOrder_ = false;
10571  bitField1_ = (bitField1_ & ~0x00020000);
10572  useAbslRandom_ = false;
10573  bitField1_ = (bitField1_ & ~0x00040000);
10574  logSearchProgress_ = false;
10575  bitField1_ = (bitField1_ & ~0x00080000);
10576  fillLogsInResponse_ = false;
10577  bitField1_ = (bitField1_ & ~0x00100000);
10578  usePbResolution_ = false;
10579  bitField1_ = (bitField1_ & ~0x00200000);
10580  minimizeReductionDuringPbResolution_ = false;
10581  bitField1_ = (bitField1_ & ~0x00400000);
10582  countAssumptionLevelsInLbd_ = true;
10583  bitField1_ = (bitField1_ & ~0x00800000);
10584  presolveBveThreshold_ = 500;
10585  bitField1_ = (bitField1_ & ~0x01000000);
10586  presolveBveClauseWeight_ = 3;
10587  bitField1_ = (bitField1_ & ~0x02000000);
10588  presolveProbingDeterministicTimeLimit_ = 30D;
10589  bitField1_ = (bitField1_ & ~0x04000000);
10590  presolveBlockedClause_ = true;
10591  bitField1_ = (bitField1_ & ~0x08000000);
10592  presolveUseBva_ = true;
10593  bitField1_ = (bitField1_ & ~0x10000000);
10594  presolveBvaThreshold_ = 1;
10595  bitField1_ = (bitField1_ & ~0x20000000);
10596  maxPresolveIterations_ = 3;
10597  bitField1_ = (bitField1_ & ~0x40000000);
10598  cpModelPresolve_ = true;
10599  bitField1_ = (bitField1_ & ~0x80000000);
10600  cpModelPostsolveWithFullSolver_ = false;
10601  bitField2_ = (bitField2_ & ~0x00000001);
10602  cpModelMaxNumPresolveOperations_ = 0;
10603  bitField2_ = (bitField2_ & ~0x00000002);
10604  cpModelProbingLevel_ = 2;
10605  bitField2_ = (bitField2_ & ~0x00000004);
10606  cpModelUseSatPresolve_ = true;
10607  bitField2_ = (bitField2_ & ~0x00000008);
10608  useSatInprocessing_ = false;
10609  bitField2_ = (bitField2_ & ~0x00000010);
10610  expandElementConstraints_ = true;
10611  bitField2_ = (bitField2_ & ~0x00000020);
10612  expandAutomatonConstraints_ = true;
10613  bitField2_ = (bitField2_ & ~0x00000040);
10614  expandTableConstraints_ = true;
10615  bitField2_ = (bitField2_ & ~0x00000080);
10616  expandAlldiffConstraints_ = false;
10617  bitField2_ = (bitField2_ & ~0x00000100);
10618  expandReservoirConstraints_ = true;
10619  bitField2_ = (bitField2_ & ~0x00000200);
10620  disableConstraintExpansion_ = false;
10621  bitField2_ = (bitField2_ & ~0x00000400);
10622  mergeNoOverlapWorkLimit_ = 1000000000000D;
10623  bitField2_ = (bitField2_ & ~0x00000800);
10624  mergeAtMostOneWorkLimit_ = 100000000D;
10625  bitField2_ = (bitField2_ & ~0x00001000);
10626  presolveSubstitutionLevel_ = 1;
10627  bitField2_ = (bitField2_ & ~0x00002000);
10628  presolveExtractIntegerEnforcement_ = false;
10629  bitField2_ = (bitField2_ & ~0x00004000);
10630  useOptimizationHints_ = true;
10631  bitField2_ = (bitField2_ & ~0x00008000);
10632  minimizeCore_ = true;
10633  bitField2_ = (bitField2_ & ~0x00010000);
10634  findMultipleCores_ = true;
10635  bitField2_ = (bitField2_ & ~0x00020000);
10636  coverOptimization_ = true;
10637  bitField2_ = (bitField2_ & ~0x00040000);
10638  maxSatAssumptionOrder_ = 0;
10639  bitField2_ = (bitField2_ & ~0x00080000);
10640  maxSatReverseAssumptionOrder_ = false;
10641  bitField2_ = (bitField2_ & ~0x00100000);
10642  maxSatStratification_ = 1;
10643  bitField2_ = (bitField2_ & ~0x00200000);
10644  usePrecedencesInDisjunctiveConstraint_ = true;
10645  bitField2_ = (bitField2_ & ~0x00400000);
10646  useOverloadCheckerInCumulativeConstraint_ = false;
10647  bitField2_ = (bitField2_ & ~0x00800000);
10648  useTimetableEdgeFindingInCumulativeConstraint_ = false;
10649  bitField2_ = (bitField2_ & ~0x01000000);
10650  useDisjunctiveConstraintInCumulativeConstraint_ = true;
10651  bitField2_ = (bitField2_ & ~0x02000000);
10652  linearizationLevel_ = 1;
10653  bitField2_ = (bitField2_ & ~0x04000000);
10654  booleanEncodingLevel_ = 1;
10655  bitField2_ = (bitField2_ & ~0x08000000);
10656  maxNumCuts_ = 10000;
10657  bitField2_ = (bitField2_ & ~0x10000000);
10658  onlyAddCutsAtLevelZero_ = false;
10659  bitField2_ = (bitField2_ & ~0x20000000);
10660  addKnapsackCuts_ = false;
10661  bitField2_ = (bitField2_ & ~0x40000000);
10662  addCgCuts_ = true;
10663  bitField2_ = (bitField2_ & ~0x80000000);
10664  addMirCuts_ = true;
10665  bitField3_ = (bitField3_ & ~0x00000001);
10666  addZeroHalfCuts_ = true;
10667  bitField3_ = (bitField3_ & ~0x00000002);
10668  addCliqueCuts_ = true;
10669  bitField3_ = (bitField3_ & ~0x00000004);
10670  maxAllDiffCutSize_ = 7;
10671  bitField3_ = (bitField3_ & ~0x00000008);
10672  addLinMaxCuts_ = true;
10673  bitField3_ = (bitField3_ & ~0x00000010);
10674  maxIntegerRoundingScaling_ = 600;
10675  bitField3_ = (bitField3_ & ~0x00000020);
10676  addLpConstraintsLazily_ = true;
10677  bitField3_ = (bitField3_ & ~0x00000040);
10678  minOrthogonalityForLpConstraints_ = 0.05D;
10679  bitField3_ = (bitField3_ & ~0x00000080);
10680  maxCutRoundsAtLevelZero_ = 1;
10681  bitField3_ = (bitField3_ & ~0x00000100);
10682  maxConsecutiveInactiveCount_ = 100;
10683  bitField3_ = (bitField3_ & ~0x00000200);
10684  cutMaxActiveCountValue_ = 10000000000D;
10685  bitField3_ = (bitField3_ & ~0x00000400);
10686  cutActiveCountDecay_ = 0.8D;
10687  bitField3_ = (bitField3_ & ~0x00000800);
10688  cutCleanupTarget_ = 1000;
10689  bitField3_ = (bitField3_ & ~0x00001000);
10690  newConstraintsBatchSize_ = 50;
10691  bitField3_ = (bitField3_ & ~0x00002000);
10692  searchBranching_ = 0;
10693  bitField3_ = (bitField3_ & ~0x00004000);
10694  hintConflictLimit_ = 10;
10695  bitField3_ = (bitField3_ & ~0x00008000);
10696  repairHint_ = false;
10697  bitField3_ = (bitField3_ & ~0x00010000);
10698  exploitIntegerLpSolution_ = true;
10699  bitField3_ = (bitField3_ & ~0x00020000);
10700  exploitAllLpSolution_ = true;
10701  bitField3_ = (bitField3_ & ~0x00040000);
10702  exploitBestSolution_ = false;
10703  bitField3_ = (bitField3_ & ~0x00080000);
10704  exploitRelaxationSolution_ = false;
10705  bitField3_ = (bitField3_ & ~0x00100000);
10706  exploitObjective_ = true;
10707  bitField3_ = (bitField3_ & ~0x00200000);
10708  probingPeriodAtRoot_ = 0L;
10709  bitField3_ = (bitField3_ & ~0x00400000);
10710  useProbingSearch_ = false;
10711  bitField3_ = (bitField3_ & ~0x00800000);
10712  pseudoCostReliabilityThreshold_ = 100L;
10713  bitField3_ = (bitField3_ & ~0x01000000);
10714  optimizeWithCore_ = false;
10715  bitField3_ = (bitField3_ & ~0x02000000);
10716  binarySearchNumConflicts_ = -1;
10717  bitField3_ = (bitField3_ & ~0x04000000);
10718  optimizeWithMaxHs_ = false;
10719  bitField3_ = (bitField3_ & ~0x08000000);
10720  enumerateAllSolutions_ = false;
10721  bitField3_ = (bitField3_ & ~0x10000000);
10722  keepAllFeasibleSolutionsInPresolve_ = false;
10723  bitField3_ = (bitField3_ & ~0x20000000);
10724  fillTightenedDomainsInResponse_ = false;
10725  bitField3_ = (bitField3_ & ~0x40000000);
10726  instantiateAllVariables_ = true;
10727  bitField3_ = (bitField3_ & ~0x80000000);
10728  autoDetectGreaterThanAtLeastOneOf_ = true;
10729  bitField4_ = (bitField4_ & ~0x00000001);
10730  stopAfterFirstSolution_ = false;
10731  bitField4_ = (bitField4_ & ~0x00000002);
10732  stopAfterPresolve_ = false;
10733  bitField4_ = (bitField4_ & ~0x00000004);
10734  numSearchWorkers_ = 1;
10735  bitField4_ = (bitField4_ & ~0x00000008);
10736  interleaveSearch_ = false;
10737  bitField4_ = (bitField4_ & ~0x00000010);
10738  interleaveBatchSize_ = 1;
10739  bitField4_ = (bitField4_ & ~0x00000020);
10740  reduceMemoryUsageInInterleaveMode_ = false;
10741  bitField4_ = (bitField4_ & ~0x00000040);
10742  shareObjectiveBounds_ = true;
10743  bitField4_ = (bitField4_ & ~0x00000080);
10744  shareLevelZeroBounds_ = true;
10745  bitField4_ = (bitField4_ & ~0x00000100);
10746  useLnsOnly_ = false;
10747  bitField4_ = (bitField4_ & ~0x00000200);
10748  lnsFocusOnDecisionVariables_ = false;
10749  bitField4_ = (bitField4_ & ~0x00000400);
10750  lnsExpandIntervalsInConstraintGraph_ = true;
10751  bitField4_ = (bitField4_ & ~0x00000800);
10752  useRinsLns_ = true;
10753  bitField4_ = (bitField4_ & ~0x00001000);
10754  useFeasibilityPump_ = true;
10755  bitField4_ = (bitField4_ & ~0x00002000);
10756  fpRounding_ = 2;
10757  bitField4_ = (bitField4_ & ~0x00004000);
10758  useRelaxationLns_ = false;
10759  bitField4_ = (bitField4_ & ~0x00008000);
10760  diversifyLnsParams_ = false;
10761  bitField4_ = (bitField4_ & ~0x00010000);
10762  randomizeSearch_ = false;
10763  bitField4_ = (bitField4_ & ~0x00020000);
10764  searchRandomizationTolerance_ = 0L;
10765  bitField4_ = (bitField4_ & ~0x00040000);
10766  useOptionalVariables_ = true;
10767  bitField4_ = (bitField4_ & ~0x00080000);
10768  useExactLpReason_ = true;
10769  bitField4_ = (bitField4_ & ~0x00100000);
10770  useBranchingInLp_ = false;
10771  bitField4_ = (bitField4_ & ~0x00200000);
10772  useCombinedNoOverlap_ = false;
10773  bitField4_ = (bitField4_ & ~0x00400000);
10774  catchSigintSignal_ = true;
10775  bitField4_ = (bitField4_ & ~0x00800000);
10776  useImpliedBounds_ = true;
10777  bitField4_ = (bitField4_ & ~0x01000000);
10778  polishLpSolution_ = false;
10779  bitField4_ = (bitField4_ & ~0x02000000);
10780  convertIntervals_ = false;
10781  bitField4_ = (bitField4_ & ~0x04000000);
10782  symmetryLevel_ = 2;
10783  bitField4_ = (bitField4_ & ~0x08000000);
10784  mipMaxBound_ = 10000000D;
10785  bitField4_ = (bitField4_ & ~0x10000000);
10786  mipVarScaling_ = 1D;
10787  bitField4_ = (bitField4_ & ~0x20000000);
10788  mipAutomaticallyScaleVariables_ = true;
10789  bitField4_ = (bitField4_ & ~0x40000000);
10790  mipWantedPrecision_ = 1e-06D;
10791  bitField4_ = (bitField4_ & ~0x80000000);
10792  mipMaxActivityExponent_ = 53;
10793  bitField5_ = (bitField5_ & ~0x00000001);
10794  mipCheckPrecision_ = 0.0001D;
10795  bitField5_ = (bitField5_ & ~0x00000002);
10796  return this;
10797  }
10798 
10799  @java.lang.Override
10800  public com.google.protobuf.Descriptors.Descriptor
10802  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
10803  }
10804 
10805  @java.lang.Override
10806  public com.google.ortools.sat.SatParameters getDefaultInstanceForType() {
10807  return com.google.ortools.sat.SatParameters.getDefaultInstance();
10808  }
10809 
10810  @java.lang.Override
10811  public com.google.ortools.sat.SatParameters build() {
10812  com.google.ortools.sat.SatParameters result = buildPartial();
10813  if (!result.isInitialized()) {
10814  throw newUninitializedMessageException(result);
10815  }
10816  return result;
10817  }
10818 
10819  @java.lang.Override
10820  public com.google.ortools.sat.SatParameters buildPartial() {
10821  com.google.ortools.sat.SatParameters result = new com.google.ortools.sat.SatParameters(this);
10822  int from_bitField0_ = bitField0_;
10823  int from_bitField1_ = bitField1_;
10824  int from_bitField2_ = bitField2_;
10825  int from_bitField3_ = bitField3_;
10826  int from_bitField4_ = bitField4_;
10827  int from_bitField5_ = bitField5_;
10828  int to_bitField0_ = 0;
10829  int to_bitField1_ = 0;
10830  int to_bitField2_ = 0;
10831  int to_bitField3_ = 0;
10832  int to_bitField4_ = 0;
10833  int to_bitField5_ = 0;
10834  if (((from_bitField0_ & 0x00000001) != 0)) {
10835  to_bitField0_ |= 0x00000001;
10836  }
10837  result.name_ = name_;
10838  if (((from_bitField0_ & 0x00000002) != 0)) {
10839  to_bitField0_ |= 0x00000002;
10840  }
10841  result.preferredVariableOrder_ = preferredVariableOrder_;
10842  if (((from_bitField0_ & 0x00000004) != 0)) {
10843  to_bitField0_ |= 0x00000004;
10844  }
10845  result.initialPolarity_ = initialPolarity_;
10846  if (((from_bitField0_ & 0x00000008) != 0)) {
10847  to_bitField0_ |= 0x00000008;
10848  }
10849  result.usePhaseSaving_ = usePhaseSaving_;
10850  if (((from_bitField0_ & 0x00000010) != 0)) {
10851  to_bitField0_ |= 0x00000010;
10852  }
10853  result.polarityRephaseIncrement_ = polarityRephaseIncrement_;
10854  if (((from_bitField0_ & 0x00000020) != 0)) {
10855  result.randomPolarityRatio_ = randomPolarityRatio_;
10856  to_bitField0_ |= 0x00000020;
10857  }
10858  if (((from_bitField0_ & 0x00000040) != 0)) {
10859  result.randomBranchesRatio_ = randomBranchesRatio_;
10860  to_bitField0_ |= 0x00000040;
10861  }
10862  if (((from_bitField0_ & 0x00000080) != 0)) {
10863  result.useErwaHeuristic_ = useErwaHeuristic_;
10864  to_bitField0_ |= 0x00000080;
10865  }
10866  if (((from_bitField0_ & 0x00000100) != 0)) {
10867  result.initialVariablesActivity_ = initialVariablesActivity_;
10868  to_bitField0_ |= 0x00000100;
10869  }
10870  if (((from_bitField0_ & 0x00000200) != 0)) {
10871  result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
10872  to_bitField0_ |= 0x00000200;
10873  }
10874  if (((from_bitField0_ & 0x00000400) != 0)) {
10875  to_bitField0_ |= 0x00000400;
10876  }
10877  result.minimizationAlgorithm_ = minimizationAlgorithm_;
10878  if (((from_bitField0_ & 0x00000800) != 0)) {
10879  to_bitField0_ |= 0x00000800;
10880  }
10881  result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
10882  if (((from_bitField0_ & 0x00001000) != 0)) {
10883  to_bitField0_ |= 0x00001000;
10884  }
10885  result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
10886  if (((from_bitField0_ & 0x00002000) != 0)) {
10887  to_bitField0_ |= 0x00002000;
10888  }
10889  result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
10890  if (((from_bitField0_ & 0x00004000) != 0)) {
10891  to_bitField0_ |= 0x00004000;
10892  }
10893  result.clauseCleanupTarget_ = clauseCleanupTarget_;
10894  if (((from_bitField0_ & 0x00008000) != 0)) {
10895  to_bitField0_ |= 0x00008000;
10896  }
10897  result.clauseCleanupProtection_ = clauseCleanupProtection_;
10898  if (((from_bitField0_ & 0x00010000) != 0)) {
10899  to_bitField0_ |= 0x00010000;
10900  }
10901  result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
10902  if (((from_bitField0_ & 0x00020000) != 0)) {
10903  to_bitField0_ |= 0x00020000;
10904  }
10905  result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
10906  if (((from_bitField0_ & 0x00040000) != 0)) {
10907  to_bitField0_ |= 0x00040000;
10908  }
10909  result.pbCleanupIncrement_ = pbCleanupIncrement_;
10910  if (((from_bitField0_ & 0x00080000) != 0)) {
10911  to_bitField0_ |= 0x00080000;
10912  }
10913  result.pbCleanupRatio_ = pbCleanupRatio_;
10914  if (((from_bitField0_ & 0x00100000) != 0)) {
10915  to_bitField0_ |= 0x00100000;
10916  }
10917  result.minimizeWithPropagationRestartPeriod_ = minimizeWithPropagationRestartPeriod_;
10918  if (((from_bitField0_ & 0x00200000) != 0)) {
10919  to_bitField0_ |= 0x00200000;
10920  }
10921  result.minimizeWithPropagationNumDecisions_ = minimizeWithPropagationNumDecisions_;
10922  if (((from_bitField0_ & 0x00400000) != 0)) {
10923  to_bitField0_ |= 0x00400000;
10924  }
10925  result.variableActivityDecay_ = variableActivityDecay_;
10926  if (((from_bitField0_ & 0x00800000) != 0)) {
10927  to_bitField0_ |= 0x00800000;
10928  }
10929  result.maxVariableActivityValue_ = maxVariableActivityValue_;
10930  if (((from_bitField0_ & 0x01000000) != 0)) {
10931  to_bitField0_ |= 0x01000000;
10932  }
10933  result.glucoseMaxDecay_ = glucoseMaxDecay_;
10934  if (((from_bitField0_ & 0x02000000) != 0)) {
10935  to_bitField0_ |= 0x02000000;
10936  }
10937  result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
10938  if (((from_bitField0_ & 0x04000000) != 0)) {
10939  to_bitField0_ |= 0x04000000;
10940  }
10941  result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
10942  if (((from_bitField0_ & 0x08000000) != 0)) {
10943  to_bitField0_ |= 0x08000000;
10944  }
10945  result.clauseActivityDecay_ = clauseActivityDecay_;
10946  if (((from_bitField0_ & 0x10000000) != 0)) {
10947  to_bitField0_ |= 0x10000000;
10948  }
10949  result.maxClauseActivityValue_ = maxClauseActivityValue_;
10950  if (((bitField0_ & 0x20000000) != 0)) {
10951  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
10952  bitField0_ = (bitField0_ & ~0x20000000);
10953  }
10954  result.restartAlgorithms_ = restartAlgorithms_;
10955  if (((from_bitField0_ & 0x40000000) != 0)) {
10956  to_bitField0_ |= 0x20000000;
10957  }
10958  result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
10959  if (((from_bitField0_ & 0x80000000) != 0)) {
10960  to_bitField0_ |= 0x40000000;
10961  }
10962  result.restartPeriod_ = restartPeriod_;
10963  if (((from_bitField1_ & 0x00000001) != 0)) {
10964  to_bitField0_ |= 0x80000000;
10965  }
10966  result.restartRunningWindowSize_ = restartRunningWindowSize_;
10967  if (((from_bitField1_ & 0x00000002) != 0)) {
10968  to_bitField1_ |= 0x00000001;
10969  }
10970  result.restartDlAverageRatio_ = restartDlAverageRatio_;
10971  if (((from_bitField1_ & 0x00000004) != 0)) {
10972  to_bitField1_ |= 0x00000002;
10973  }
10974  result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
10975  if (((from_bitField1_ & 0x00000008) != 0)) {
10976  result.useBlockingRestart_ = useBlockingRestart_;
10977  to_bitField1_ |= 0x00000004;
10978  }
10979  if (((from_bitField1_ & 0x00000010) != 0)) {
10980  to_bitField1_ |= 0x00000008;
10981  }
10982  result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
10983  if (((from_bitField1_ & 0x00000020) != 0)) {
10984  to_bitField1_ |= 0x00000010;
10985  }
10986  result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
10987  if (((from_bitField1_ & 0x00000040) != 0)) {
10988  result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
10989  to_bitField1_ |= 0x00000020;
10990  }
10991  if (((from_bitField1_ & 0x00000080) != 0)) {
10992  result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
10993  to_bitField1_ |= 0x00000040;
10994  }
10995  if (((from_bitField1_ & 0x00000100) != 0)) {
10996  to_bitField1_ |= 0x00000080;
10997  }
10998  result.maxTimeInSeconds_ = maxTimeInSeconds_;
10999  if (((from_bitField1_ & 0x00000200) != 0)) {
11000  to_bitField1_ |= 0x00000100;
11001  }
11002  result.maxDeterministicTime_ = maxDeterministicTime_;
11003  if (((from_bitField1_ & 0x00000400) != 0)) {
11004  to_bitField1_ |= 0x00000200;
11005  }
11006  result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
11007  if (((from_bitField1_ & 0x00000800) != 0)) {
11008  to_bitField1_ |= 0x00000400;
11009  }
11010  result.maxMemoryInMb_ = maxMemoryInMb_;
11011  if (((from_bitField1_ & 0x00001000) != 0)) {
11012  result.absoluteGapLimit_ = absoluteGapLimit_;
11013  to_bitField1_ |= 0x00000800;
11014  }
11015  if (((from_bitField1_ & 0x00002000) != 0)) {
11016  result.relativeGapLimit_ = relativeGapLimit_;
11017  to_bitField1_ |= 0x00001000;
11018  }
11019  if (((from_bitField1_ & 0x00004000) != 0)) {
11020  to_bitField1_ |= 0x00002000;
11021  }
11022  result.treatBinaryClausesSeparately_ = treatBinaryClausesSeparately_;
11023  if (((from_bitField1_ & 0x00008000) != 0)) {
11024  to_bitField1_ |= 0x00004000;
11025  }
11026  result.randomSeed_ = randomSeed_;
11027  if (((from_bitField1_ & 0x00010000) != 0)) {
11028  result.permuteVariableRandomly_ = permuteVariableRandomly_;
11029  to_bitField1_ |= 0x00008000;
11030  }
11031  if (((from_bitField1_ & 0x00020000) != 0)) {
11032  result.permutePresolveConstraintOrder_ = permutePresolveConstraintOrder_;
11033  to_bitField1_ |= 0x00010000;
11034  }
11035  if (((from_bitField1_ & 0x00040000) != 0)) {
11036  result.useAbslRandom_ = useAbslRandom_;
11037  to_bitField1_ |= 0x00020000;
11038  }
11039  if (((from_bitField1_ & 0x00080000) != 0)) {
11040  result.logSearchProgress_ = logSearchProgress_;
11041  to_bitField1_ |= 0x00040000;
11042  }
11043  if (((from_bitField1_ & 0x00100000) != 0)) {
11044  result.fillLogsInResponse_ = fillLogsInResponse_;
11045  to_bitField1_ |= 0x00080000;
11046  }
11047  if (((from_bitField1_ & 0x00200000) != 0)) {
11048  result.usePbResolution_ = usePbResolution_;
11049  to_bitField1_ |= 0x00100000;
11050  }
11051  if (((from_bitField1_ & 0x00400000) != 0)) {
11052  result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
11053  to_bitField1_ |= 0x00200000;
11054  }
11055  if (((from_bitField1_ & 0x00800000) != 0)) {
11056  to_bitField1_ |= 0x00400000;
11057  }
11058  result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
11059  if (((from_bitField1_ & 0x01000000) != 0)) {
11060  to_bitField1_ |= 0x00800000;
11061  }
11062  result.presolveBveThreshold_ = presolveBveThreshold_;
11063  if (((from_bitField1_ & 0x02000000) != 0)) {
11064  to_bitField1_ |= 0x01000000;
11065  }
11066  result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
11067  if (((from_bitField1_ & 0x04000000) != 0)) {
11068  to_bitField1_ |= 0x02000000;
11069  }
11070  result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
11071  if (((from_bitField1_ & 0x08000000) != 0)) {
11072  to_bitField1_ |= 0x04000000;
11073  }
11074  result.presolveBlockedClause_ = presolveBlockedClause_;
11075  if (((from_bitField1_ & 0x10000000) != 0)) {
11076  to_bitField1_ |= 0x08000000;
11077  }
11078  result.presolveUseBva_ = presolveUseBva_;
11079  if (((from_bitField1_ & 0x20000000) != 0)) {
11080  to_bitField1_ |= 0x10000000;
11081  }
11082  result.presolveBvaThreshold_ = presolveBvaThreshold_;
11083  if (((from_bitField1_ & 0x40000000) != 0)) {
11084  to_bitField1_ |= 0x20000000;
11085  }
11086  result.maxPresolveIterations_ = maxPresolveIterations_;
11087  if (((from_bitField1_ & 0x80000000) != 0)) {
11088  to_bitField1_ |= 0x40000000;
11089  }
11090  result.cpModelPresolve_ = cpModelPresolve_;
11091  if (((from_bitField2_ & 0x00000001) != 0)) {
11092  result.cpModelPostsolveWithFullSolver_ = cpModelPostsolveWithFullSolver_;
11093  to_bitField1_ |= 0x80000000;
11094  }
11095  if (((from_bitField2_ & 0x00000002) != 0)) {
11096  result.cpModelMaxNumPresolveOperations_ = cpModelMaxNumPresolveOperations_;
11097  to_bitField2_ |= 0x00000001;
11098  }
11099  if (((from_bitField2_ & 0x00000004) != 0)) {
11100  to_bitField2_ |= 0x00000002;
11101  }
11102  result.cpModelProbingLevel_ = cpModelProbingLevel_;
11103  if (((from_bitField2_ & 0x00000008) != 0)) {
11104  to_bitField2_ |= 0x00000004;
11105  }
11106  result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
11107  if (((from_bitField2_ & 0x00000010) != 0)) {
11108  result.useSatInprocessing_ = useSatInprocessing_;
11109  to_bitField2_ |= 0x00000008;
11110  }
11111  if (((from_bitField2_ & 0x00000020) != 0)) {
11112  to_bitField2_ |= 0x00000010;
11113  }
11114  result.expandElementConstraints_ = expandElementConstraints_;
11115  if (((from_bitField2_ & 0x00000040) != 0)) {
11116  to_bitField2_ |= 0x00000020;
11117  }
11118  result.expandAutomatonConstraints_ = expandAutomatonConstraints_;
11119  if (((from_bitField2_ & 0x00000080) != 0)) {
11120  to_bitField2_ |= 0x00000040;
11121  }
11122  result.expandTableConstraints_ = expandTableConstraints_;
11123  if (((from_bitField2_ & 0x00000100) != 0)) {
11124  result.expandAlldiffConstraints_ = expandAlldiffConstraints_;
11125  to_bitField2_ |= 0x00000080;
11126  }
11127  if (((from_bitField2_ & 0x00000200) != 0)) {
11128  to_bitField2_ |= 0x00000100;
11129  }
11130  result.expandReservoirConstraints_ = expandReservoirConstraints_;
11131  if (((from_bitField2_ & 0x00000400) != 0)) {
11132  result.disableConstraintExpansion_ = disableConstraintExpansion_;
11133  to_bitField2_ |= 0x00000200;
11134  }
11135  if (((from_bitField2_ & 0x00000800) != 0)) {
11136  to_bitField2_ |= 0x00000400;
11137  }
11138  result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
11139  if (((from_bitField2_ & 0x00001000) != 0)) {
11140  to_bitField2_ |= 0x00000800;
11141  }
11142  result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
11143  if (((from_bitField2_ & 0x00002000) != 0)) {
11144  to_bitField2_ |= 0x00001000;
11145  }
11146  result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
11147  if (((from_bitField2_ & 0x00004000) != 0)) {
11148  result.presolveExtractIntegerEnforcement_ = presolveExtractIntegerEnforcement_;
11149  to_bitField2_ |= 0x00002000;
11150  }
11151  if (((from_bitField2_ & 0x00008000) != 0)) {
11152  to_bitField2_ |= 0x00004000;
11153  }
11154  result.useOptimizationHints_ = useOptimizationHints_;
11155  if (((from_bitField2_ & 0x00010000) != 0)) {
11156  to_bitField2_ |= 0x00008000;
11157  }
11158  result.minimizeCore_ = minimizeCore_;
11159  if (((from_bitField2_ & 0x00020000) != 0)) {
11160  to_bitField2_ |= 0x00010000;
11161  }
11162  result.findMultipleCores_ = findMultipleCores_;
11163  if (((from_bitField2_ & 0x00040000) != 0)) {
11164  to_bitField2_ |= 0x00020000;
11165  }
11166  result.coverOptimization_ = coverOptimization_;
11167  if (((from_bitField2_ & 0x00080000) != 0)) {
11168  to_bitField2_ |= 0x00040000;
11169  }
11170  result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
11171  if (((from_bitField2_ & 0x00100000) != 0)) {
11172  result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
11173  to_bitField2_ |= 0x00080000;
11174  }
11175  if (((from_bitField2_ & 0x00200000) != 0)) {
11176  to_bitField2_ |= 0x00100000;
11177  }
11178  result.maxSatStratification_ = maxSatStratification_;
11179  if (((from_bitField2_ & 0x00400000) != 0)) {
11180  to_bitField2_ |= 0x00200000;
11181  }
11182  result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
11183  if (((from_bitField2_ & 0x00800000) != 0)) {
11184  result.useOverloadCheckerInCumulativeConstraint_ = useOverloadCheckerInCumulativeConstraint_;
11185  to_bitField2_ |= 0x00400000;
11186  }
11187  if (((from_bitField2_ & 0x01000000) != 0)) {
11188  result.useTimetableEdgeFindingInCumulativeConstraint_ = useTimetableEdgeFindingInCumulativeConstraint_;
11189  to_bitField2_ |= 0x00800000;
11190  }
11191  if (((from_bitField2_ & 0x02000000) != 0)) {
11192  to_bitField2_ |= 0x01000000;
11193  }
11194  result.useDisjunctiveConstraintInCumulativeConstraint_ = useDisjunctiveConstraintInCumulativeConstraint_;
11195  if (((from_bitField2_ & 0x04000000) != 0)) {
11196  to_bitField2_ |= 0x02000000;
11197  }
11198  result.linearizationLevel_ = linearizationLevel_;
11199  if (((from_bitField2_ & 0x08000000) != 0)) {
11200  to_bitField2_ |= 0x04000000;
11201  }
11202  result.booleanEncodingLevel_ = booleanEncodingLevel_;
11203  if (((from_bitField2_ & 0x10000000) != 0)) {
11204  to_bitField2_ |= 0x08000000;
11205  }
11206  result.maxNumCuts_ = maxNumCuts_;
11207  if (((from_bitField2_ & 0x20000000) != 0)) {
11208  result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
11209  to_bitField2_ |= 0x10000000;
11210  }
11211  if (((from_bitField2_ & 0x40000000) != 0)) {
11212  result.addKnapsackCuts_ = addKnapsackCuts_;
11213  to_bitField2_ |= 0x20000000;
11214  }
11215  if (((from_bitField2_ & 0x80000000) != 0)) {
11216  to_bitField2_ |= 0x40000000;
11217  }
11218  result.addCgCuts_ = addCgCuts_;
11219  if (((from_bitField3_ & 0x00000001) != 0)) {
11220  to_bitField2_ |= 0x80000000;
11221  }
11222  result.addMirCuts_ = addMirCuts_;
11223  if (((from_bitField3_ & 0x00000002) != 0)) {
11224  to_bitField3_ |= 0x00000001;
11225  }
11226  result.addZeroHalfCuts_ = addZeroHalfCuts_;
11227  if (((from_bitField3_ & 0x00000004) != 0)) {
11228  to_bitField3_ |= 0x00000002;
11229  }
11230  result.addCliqueCuts_ = addCliqueCuts_;
11231  if (((from_bitField3_ & 0x00000008) != 0)) {
11232  to_bitField3_ |= 0x00000004;
11233  }
11234  result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
11235  if (((from_bitField3_ & 0x00000010) != 0)) {
11236  to_bitField3_ |= 0x00000008;
11237  }
11238  result.addLinMaxCuts_ = addLinMaxCuts_;
11239  if (((from_bitField3_ & 0x00000020) != 0)) {
11240  to_bitField3_ |= 0x00000010;
11241  }
11242  result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
11243  if (((from_bitField3_ & 0x00000040) != 0)) {
11244  to_bitField3_ |= 0x00000020;
11245  }
11246  result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
11247  if (((from_bitField3_ & 0x00000080) != 0)) {
11248  to_bitField3_ |= 0x00000040;
11249  }
11250  result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
11251  if (((from_bitField3_ & 0x00000100) != 0)) {
11252  to_bitField3_ |= 0x00000080;
11253  }
11254  result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
11255  if (((from_bitField3_ & 0x00000200) != 0)) {
11256  to_bitField3_ |= 0x00000100;
11257  }
11258  result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
11259  if (((from_bitField3_ & 0x00000400) != 0)) {
11260  to_bitField3_ |= 0x00000200;
11261  }
11262  result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
11263  if (((from_bitField3_ & 0x00000800) != 0)) {
11264  to_bitField3_ |= 0x00000400;
11265  }
11266  result.cutActiveCountDecay_ = cutActiveCountDecay_;
11267  if (((from_bitField3_ & 0x00001000) != 0)) {
11268  to_bitField3_ |= 0x00000800;
11269  }
11270  result.cutCleanupTarget_ = cutCleanupTarget_;
11271  if (((from_bitField3_ & 0x00002000) != 0)) {
11272  to_bitField3_ |= 0x00001000;
11273  }
11274  result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
11275  if (((from_bitField3_ & 0x00004000) != 0)) {
11276  to_bitField3_ |= 0x00002000;
11277  }
11278  result.searchBranching_ = searchBranching_;
11279  if (((from_bitField3_ & 0x00008000) != 0)) {
11280  to_bitField3_ |= 0x00004000;
11281  }
11282  result.hintConflictLimit_ = hintConflictLimit_;
11283  if (((from_bitField3_ & 0x00010000) != 0)) {
11284  result.repairHint_ = repairHint_;
11285  to_bitField3_ |= 0x00008000;
11286  }
11287  if (((from_bitField3_ & 0x00020000) != 0)) {
11288  to_bitField3_ |= 0x00010000;
11289  }
11290  result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
11291  if (((from_bitField3_ & 0x00040000) != 0)) {
11292  to_bitField3_ |= 0x00020000;
11293  }
11294  result.exploitAllLpSolution_ = exploitAllLpSolution_;
11295  if (((from_bitField3_ & 0x00080000) != 0)) {
11296  result.exploitBestSolution_ = exploitBestSolution_;
11297  to_bitField3_ |= 0x00040000;
11298  }
11299  if (((from_bitField3_ & 0x00100000) != 0)) {
11300  result.exploitRelaxationSolution_ = exploitRelaxationSolution_;
11301  to_bitField3_ |= 0x00080000;
11302  }
11303  if (((from_bitField3_ & 0x00200000) != 0)) {
11304  to_bitField3_ |= 0x00100000;
11305  }
11306  result.exploitObjective_ = exploitObjective_;
11307  if (((from_bitField3_ & 0x00400000) != 0)) {
11308  result.probingPeriodAtRoot_ = probingPeriodAtRoot_;
11309  to_bitField3_ |= 0x00200000;
11310  }
11311  if (((from_bitField3_ & 0x00800000) != 0)) {
11312  result.useProbingSearch_ = useProbingSearch_;
11313  to_bitField3_ |= 0x00400000;
11314  }
11315  if (((from_bitField3_ & 0x01000000) != 0)) {
11316  to_bitField3_ |= 0x00800000;
11317  }
11318  result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
11319  if (((from_bitField3_ & 0x02000000) != 0)) {
11320  result.optimizeWithCore_ = optimizeWithCore_;
11321  to_bitField3_ |= 0x01000000;
11322  }
11323  if (((from_bitField3_ & 0x04000000) != 0)) {
11324  to_bitField3_ |= 0x02000000;
11325  }
11326  result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
11327  if (((from_bitField3_ & 0x08000000) != 0)) {
11328  result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
11329  to_bitField3_ |= 0x04000000;
11330  }
11331  if (((from_bitField3_ & 0x10000000) != 0)) {
11332  result.enumerateAllSolutions_ = enumerateAllSolutions_;
11333  to_bitField3_ |= 0x08000000;
11334  }
11335  if (((from_bitField3_ & 0x20000000) != 0)) {
11336  result.keepAllFeasibleSolutionsInPresolve_ = keepAllFeasibleSolutionsInPresolve_;
11337  to_bitField3_ |= 0x10000000;
11338  }
11339  if (((from_bitField3_ & 0x40000000) != 0)) {
11340  result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
11341  to_bitField3_ |= 0x20000000;
11342  }
11343  if (((from_bitField3_ & 0x80000000) != 0)) {
11344  to_bitField3_ |= 0x40000000;
11345  }
11346  result.instantiateAllVariables_ = instantiateAllVariables_;
11347  if (((from_bitField4_ & 0x00000001) != 0)) {
11348  to_bitField3_ |= 0x80000000;
11349  }
11350  result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
11351  if (((from_bitField4_ & 0x00000002) != 0)) {
11352  result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
11353  to_bitField4_ |= 0x00000001;
11354  }
11355  if (((from_bitField4_ & 0x00000004) != 0)) {
11356  result.stopAfterPresolve_ = stopAfterPresolve_;
11357  to_bitField4_ |= 0x00000002;
11358  }
11359  if (((from_bitField4_ & 0x00000008) != 0)) {
11360  to_bitField4_ |= 0x00000004;
11361  }
11362  result.numSearchWorkers_ = numSearchWorkers_;
11363  if (((from_bitField4_ & 0x00000010) != 0)) {
11364  result.interleaveSearch_ = interleaveSearch_;
11365  to_bitField4_ |= 0x00000008;
11366  }
11367  if (((from_bitField4_ & 0x00000020) != 0)) {
11368  to_bitField4_ |= 0x00000010;
11369  }
11370  result.interleaveBatchSize_ = interleaveBatchSize_;
11371  if (((from_bitField4_ & 0x00000040) != 0)) {
11372  result.reduceMemoryUsageInInterleaveMode_ = reduceMemoryUsageInInterleaveMode_;
11373  to_bitField4_ |= 0x00000020;
11374  }
11375  if (((from_bitField4_ & 0x00000080) != 0)) {
11376  to_bitField4_ |= 0x00000040;
11377  }
11378  result.shareObjectiveBounds_ = shareObjectiveBounds_;
11379  if (((from_bitField4_ & 0x00000100) != 0)) {
11380  to_bitField4_ |= 0x00000080;
11381  }
11382  result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
11383  if (((from_bitField4_ & 0x00000200) != 0)) {
11384  result.useLnsOnly_ = useLnsOnly_;
11385  to_bitField4_ |= 0x00000100;
11386  }
11387  if (((from_bitField4_ & 0x00000400) != 0)) {
11388  result.lnsFocusOnDecisionVariables_ = lnsFocusOnDecisionVariables_;
11389  to_bitField4_ |= 0x00000200;
11390  }
11391  if (((from_bitField4_ & 0x00000800) != 0)) {
11392  to_bitField4_ |= 0x00000400;
11393  }
11394  result.lnsExpandIntervalsInConstraintGraph_ = lnsExpandIntervalsInConstraintGraph_;
11395  if (((from_bitField4_ & 0x00001000) != 0)) {
11396  to_bitField4_ |= 0x00000800;
11397  }
11398  result.useRinsLns_ = useRinsLns_;
11399  if (((from_bitField4_ & 0x00002000) != 0)) {
11400  to_bitField4_ |= 0x00001000;
11401  }
11402  result.useFeasibilityPump_ = useFeasibilityPump_;
11403  if (((from_bitField4_ & 0x00004000) != 0)) {
11404  to_bitField4_ |= 0x00002000;
11405  }
11406  result.fpRounding_ = fpRounding_;
11407  if (((from_bitField4_ & 0x00008000) != 0)) {
11408  result.useRelaxationLns_ = useRelaxationLns_;
11409  to_bitField4_ |= 0x00004000;
11410  }
11411  if (((from_bitField4_ & 0x00010000) != 0)) {
11412  result.diversifyLnsParams_ = diversifyLnsParams_;
11413  to_bitField4_ |= 0x00008000;
11414  }
11415  if (((from_bitField4_ & 0x00020000) != 0)) {
11416  result.randomizeSearch_ = randomizeSearch_;
11417  to_bitField4_ |= 0x00010000;
11418  }
11419  if (((from_bitField4_ & 0x00040000) != 0)) {
11420  result.searchRandomizationTolerance_ = searchRandomizationTolerance_;
11421  to_bitField4_ |= 0x00020000;
11422  }
11423  if (((from_bitField4_ & 0x00080000) != 0)) {
11424  to_bitField4_ |= 0x00040000;
11425  }
11426  result.useOptionalVariables_ = useOptionalVariables_;
11427  if (((from_bitField4_ & 0x00100000) != 0)) {
11428  to_bitField4_ |= 0x00080000;
11429  }
11430  result.useExactLpReason_ = useExactLpReason_;
11431  if (((from_bitField4_ & 0x00200000) != 0)) {
11432  result.useBranchingInLp_ = useBranchingInLp_;
11433  to_bitField4_ |= 0x00100000;
11434  }
11435  if (((from_bitField4_ & 0x00400000) != 0)) {
11436  result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
11437  to_bitField4_ |= 0x00200000;
11438  }
11439  if (((from_bitField4_ & 0x00800000) != 0)) {
11440  to_bitField4_ |= 0x00400000;
11441  }
11442  result.catchSigintSignal_ = catchSigintSignal_;
11443  if (((from_bitField4_ & 0x01000000) != 0)) {
11444  to_bitField4_ |= 0x00800000;
11445  }
11446  result.useImpliedBounds_ = useImpliedBounds_;
11447  if (((from_bitField4_ & 0x02000000) != 0)) {
11448  result.polishLpSolution_ = polishLpSolution_;
11449  to_bitField4_ |= 0x01000000;
11450  }
11451  if (((from_bitField4_ & 0x04000000) != 0)) {
11452  result.convertIntervals_ = convertIntervals_;
11453  to_bitField4_ |= 0x02000000;
11454  }
11455  if (((from_bitField4_ & 0x08000000) != 0)) {
11456  to_bitField4_ |= 0x04000000;
11457  }
11458  result.symmetryLevel_ = symmetryLevel_;
11459  if (((from_bitField4_ & 0x10000000) != 0)) {
11460  to_bitField4_ |= 0x08000000;
11461  }
11462  result.mipMaxBound_ = mipMaxBound_;
11463  if (((from_bitField4_ & 0x20000000) != 0)) {
11464  to_bitField4_ |= 0x10000000;
11465  }
11466  result.mipVarScaling_ = mipVarScaling_;
11467  if (((from_bitField4_ & 0x40000000) != 0)) {
11468  to_bitField4_ |= 0x20000000;
11469  }
11470  result.mipAutomaticallyScaleVariables_ = mipAutomaticallyScaleVariables_;
11471  if (((from_bitField4_ & 0x80000000) != 0)) {
11472  to_bitField4_ |= 0x40000000;
11473  }
11474  result.mipWantedPrecision_ = mipWantedPrecision_;
11475  if (((from_bitField5_ & 0x00000001) != 0)) {
11476  to_bitField4_ |= 0x80000000;
11477  }
11478  result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
11479  if (((from_bitField5_ & 0x00000002) != 0)) {
11480  to_bitField5_ |= 0x00000001;
11481  }
11482  result.mipCheckPrecision_ = mipCheckPrecision_;
11483  result.bitField0_ = to_bitField0_;
11484  result.bitField1_ = to_bitField1_;
11485  result.bitField2_ = to_bitField2_;
11486  result.bitField3_ = to_bitField3_;
11487  result.bitField4_ = to_bitField4_;
11488  result.bitField5_ = to_bitField5_;
11489  onBuilt();
11490  return result;
11491  }
11492 
11493  @java.lang.Override
11494  public Builder clone() {
11495  return super.clone();
11496  }
11497  @java.lang.Override
11499  com.google.protobuf.Descriptors.FieldDescriptor field,
11500  java.lang.Object value) {
11501  return super.setField(field, value);
11502  }
11503  @java.lang.Override
11505  com.google.protobuf.Descriptors.FieldDescriptor field) {
11506  return super.clearField(field);
11507  }
11508  @java.lang.Override
11510  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
11511  return super.clearOneof(oneof);
11512  }
11513  @java.lang.Override
11515  com.google.protobuf.Descriptors.FieldDescriptor field,
11516  int index, java.lang.Object value) {
11517  return super.setRepeatedField(field, index, value);
11518  }
11519  @java.lang.Override
11521  com.google.protobuf.Descriptors.FieldDescriptor field,
11522  java.lang.Object value) {
11523  return super.addRepeatedField(field, value);
11524  }
11525  @java.lang.Override
11526  public Builder mergeFrom(com.google.protobuf.Message other) {
11527  if (other instanceof com.google.ortools.sat.SatParameters) {
11528  return mergeFrom((com.google.ortools.sat.SatParameters)other);
11529  } else {
11530  super.mergeFrom(other);
11531  return this;
11532  }
11533  }
11534 
11535  public Builder mergeFrom(com.google.ortools.sat.SatParameters other) {
11536  if (other == com.google.ortools.sat.SatParameters.getDefaultInstance()) return this;
11537  if (other.hasName()) {
11538  bitField0_ |= 0x00000001;
11539  name_ = other.name_;
11540  onChanged();
11541  }
11542  if (other.hasPreferredVariableOrder()) {
11543  setPreferredVariableOrder(other.getPreferredVariableOrder());
11544  }
11545  if (other.hasInitialPolarity()) {
11546  setInitialPolarity(other.getInitialPolarity());
11547  }
11548  if (other.hasUsePhaseSaving()) {
11549  setUsePhaseSaving(other.getUsePhaseSaving());
11550  }
11551  if (other.hasPolarityRephaseIncrement()) {
11552  setPolarityRephaseIncrement(other.getPolarityRephaseIncrement());
11553  }
11554  if (other.hasRandomPolarityRatio()) {
11555  setRandomPolarityRatio(other.getRandomPolarityRatio());
11556  }
11557  if (other.hasRandomBranchesRatio()) {
11558  setRandomBranchesRatio(other.getRandomBranchesRatio());
11559  }
11560  if (other.hasUseErwaHeuristic()) {
11561  setUseErwaHeuristic(other.getUseErwaHeuristic());
11562  }
11563  if (other.hasInitialVariablesActivity()) {
11564  setInitialVariablesActivity(other.getInitialVariablesActivity());
11565  }
11566  if (other.hasAlsoBumpVariablesInConflictReasons()) {
11567  setAlsoBumpVariablesInConflictReasons(other.getAlsoBumpVariablesInConflictReasons());
11568  }
11569  if (other.hasMinimizationAlgorithm()) {
11570  setMinimizationAlgorithm(other.getMinimizationAlgorithm());
11571  }
11572  if (other.hasBinaryMinimizationAlgorithm()) {
11573  setBinaryMinimizationAlgorithm(other.getBinaryMinimizationAlgorithm());
11574  }
11575  if (other.hasSubsumptionDuringConflictAnalysis()) {
11576  setSubsumptionDuringConflictAnalysis(other.getSubsumptionDuringConflictAnalysis());
11577  }
11578  if (other.hasClauseCleanupPeriod()) {
11579  setClauseCleanupPeriod(other.getClauseCleanupPeriod());
11580  }
11581  if (other.hasClauseCleanupTarget()) {
11582  setClauseCleanupTarget(other.getClauseCleanupTarget());
11583  }
11584  if (other.hasClauseCleanupProtection()) {
11585  setClauseCleanupProtection(other.getClauseCleanupProtection());
11586  }
11587  if (other.hasClauseCleanupLbdBound()) {
11588  setClauseCleanupLbdBound(other.getClauseCleanupLbdBound());
11589  }
11590  if (other.hasClauseCleanupOrdering()) {
11591  setClauseCleanupOrdering(other.getClauseCleanupOrdering());
11592  }
11593  if (other.hasPbCleanupIncrement()) {
11594  setPbCleanupIncrement(other.getPbCleanupIncrement());
11595  }
11596  if (other.hasPbCleanupRatio()) {
11597  setPbCleanupRatio(other.getPbCleanupRatio());
11598  }
11599  if (other.hasMinimizeWithPropagationRestartPeriod()) {
11600  setMinimizeWithPropagationRestartPeriod(other.getMinimizeWithPropagationRestartPeriod());
11601  }
11602  if (other.hasMinimizeWithPropagationNumDecisions()) {
11603  setMinimizeWithPropagationNumDecisions(other.getMinimizeWithPropagationNumDecisions());
11604  }
11605  if (other.hasVariableActivityDecay()) {
11606  setVariableActivityDecay(other.getVariableActivityDecay());
11607  }
11608  if (other.hasMaxVariableActivityValue()) {
11609  setMaxVariableActivityValue(other.getMaxVariableActivityValue());
11610  }
11611  if (other.hasGlucoseMaxDecay()) {
11612  setGlucoseMaxDecay(other.getGlucoseMaxDecay());
11613  }
11614  if (other.hasGlucoseDecayIncrement()) {
11615  setGlucoseDecayIncrement(other.getGlucoseDecayIncrement());
11616  }
11617  if (other.hasGlucoseDecayIncrementPeriod()) {
11618  setGlucoseDecayIncrementPeriod(other.getGlucoseDecayIncrementPeriod());
11619  }
11620  if (other.hasClauseActivityDecay()) {
11621  setClauseActivityDecay(other.getClauseActivityDecay());
11622  }
11623  if (other.hasMaxClauseActivityValue()) {
11624  setMaxClauseActivityValue(other.getMaxClauseActivityValue());
11625  }
11626  if (!other.restartAlgorithms_.isEmpty()) {
11627  if (restartAlgorithms_.isEmpty()) {
11628  restartAlgorithms_ = other.restartAlgorithms_;
11629  bitField0_ = (bitField0_ & ~0x20000000);
11630  } else {
11631  ensureRestartAlgorithmsIsMutable();
11632  restartAlgorithms_.addAll(other.restartAlgorithms_);
11633  }
11634  onChanged();
11635  }
11636  if (other.hasDefaultRestartAlgorithms()) {
11637  bitField0_ |= 0x40000000;
11638  defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
11639  onChanged();
11640  }
11641  if (other.hasRestartPeriod()) {
11642  setRestartPeriod(other.getRestartPeriod());
11643  }
11644  if (other.hasRestartRunningWindowSize()) {
11645  setRestartRunningWindowSize(other.getRestartRunningWindowSize());
11646  }
11647  if (other.hasRestartDlAverageRatio()) {
11648  setRestartDlAverageRatio(other.getRestartDlAverageRatio());
11649  }
11650  if (other.hasRestartLbdAverageRatio()) {
11651  setRestartLbdAverageRatio(other.getRestartLbdAverageRatio());
11652  }
11653  if (other.hasUseBlockingRestart()) {
11654  setUseBlockingRestart(other.getUseBlockingRestart());
11655  }
11656  if (other.hasBlockingRestartWindowSize()) {
11657  setBlockingRestartWindowSize(other.getBlockingRestartWindowSize());
11658  }
11659  if (other.hasBlockingRestartMultiplier()) {
11660  setBlockingRestartMultiplier(other.getBlockingRestartMultiplier());
11661  }
11662  if (other.hasNumConflictsBeforeStrategyChanges()) {
11663  setNumConflictsBeforeStrategyChanges(other.getNumConflictsBeforeStrategyChanges());
11664  }
11665  if (other.hasStrategyChangeIncreaseRatio()) {
11666  setStrategyChangeIncreaseRatio(other.getStrategyChangeIncreaseRatio());
11667  }
11668  if (other.hasMaxTimeInSeconds()) {
11669  setMaxTimeInSeconds(other.getMaxTimeInSeconds());
11670  }
11671  if (other.hasMaxDeterministicTime()) {
11672  setMaxDeterministicTime(other.getMaxDeterministicTime());
11673  }
11674  if (other.hasMaxNumberOfConflicts()) {
11675  setMaxNumberOfConflicts(other.getMaxNumberOfConflicts());
11676  }
11677  if (other.hasMaxMemoryInMb()) {
11678  setMaxMemoryInMb(other.getMaxMemoryInMb());
11679  }
11680  if (other.hasAbsoluteGapLimit()) {
11681  setAbsoluteGapLimit(other.getAbsoluteGapLimit());
11682  }
11683  if (other.hasRelativeGapLimit()) {
11684  setRelativeGapLimit(other.getRelativeGapLimit());
11685  }
11686  if (other.hasTreatBinaryClausesSeparately()) {
11687  setTreatBinaryClausesSeparately(other.getTreatBinaryClausesSeparately());
11688  }
11689  if (other.hasRandomSeed()) {
11690  setRandomSeed(other.getRandomSeed());
11691  }
11692  if (other.hasPermuteVariableRandomly()) {
11693  setPermuteVariableRandomly(other.getPermuteVariableRandomly());
11694  }
11695  if (other.hasPermutePresolveConstraintOrder()) {
11696  setPermutePresolveConstraintOrder(other.getPermutePresolveConstraintOrder());
11697  }
11698  if (other.hasUseAbslRandom()) {
11699  setUseAbslRandom(other.getUseAbslRandom());
11700  }
11701  if (other.hasLogSearchProgress()) {
11702  setLogSearchProgress(other.getLogSearchProgress());
11703  }
11704  if (other.hasFillLogsInResponse()) {
11705  setFillLogsInResponse(other.getFillLogsInResponse());
11706  }
11707  if (other.hasUsePbResolution()) {
11708  setUsePbResolution(other.getUsePbResolution());
11709  }
11710  if (other.hasMinimizeReductionDuringPbResolution()) {
11711  setMinimizeReductionDuringPbResolution(other.getMinimizeReductionDuringPbResolution());
11712  }
11713  if (other.hasCountAssumptionLevelsInLbd()) {
11714  setCountAssumptionLevelsInLbd(other.getCountAssumptionLevelsInLbd());
11715  }
11716  if (other.hasPresolveBveThreshold()) {
11717  setPresolveBveThreshold(other.getPresolveBveThreshold());
11718  }
11719  if (other.hasPresolveBveClauseWeight()) {
11720  setPresolveBveClauseWeight(other.getPresolveBveClauseWeight());
11721  }
11722  if (other.hasPresolveProbingDeterministicTimeLimit()) {
11723  setPresolveProbingDeterministicTimeLimit(other.getPresolveProbingDeterministicTimeLimit());
11724  }
11725  if (other.hasPresolveBlockedClause()) {
11726  setPresolveBlockedClause(other.getPresolveBlockedClause());
11727  }
11728  if (other.hasPresolveUseBva()) {
11729  setPresolveUseBva(other.getPresolveUseBva());
11730  }
11731  if (other.hasPresolveBvaThreshold()) {
11732  setPresolveBvaThreshold(other.getPresolveBvaThreshold());
11733  }
11734  if (other.hasMaxPresolveIterations()) {
11735  setMaxPresolveIterations(other.getMaxPresolveIterations());
11736  }
11737  if (other.hasCpModelPresolve()) {
11738  setCpModelPresolve(other.getCpModelPresolve());
11739  }
11740  if (other.hasCpModelPostsolveWithFullSolver()) {
11741  setCpModelPostsolveWithFullSolver(other.getCpModelPostsolveWithFullSolver());
11742  }
11743  if (other.hasCpModelMaxNumPresolveOperations()) {
11744  setCpModelMaxNumPresolveOperations(other.getCpModelMaxNumPresolveOperations());
11745  }
11746  if (other.hasCpModelProbingLevel()) {
11747  setCpModelProbingLevel(other.getCpModelProbingLevel());
11748  }
11749  if (other.hasCpModelUseSatPresolve()) {
11750  setCpModelUseSatPresolve(other.getCpModelUseSatPresolve());
11751  }
11752  if (other.hasUseSatInprocessing()) {
11753  setUseSatInprocessing(other.getUseSatInprocessing());
11754  }
11755  if (other.hasExpandElementConstraints()) {
11756  setExpandElementConstraints(other.getExpandElementConstraints());
11757  }
11758  if (other.hasExpandAutomatonConstraints()) {
11759  setExpandAutomatonConstraints(other.getExpandAutomatonConstraints());
11760  }
11761  if (other.hasExpandTableConstraints()) {
11762  setExpandTableConstraints(other.getExpandTableConstraints());
11763  }
11764  if (other.hasExpandAlldiffConstraints()) {
11765  setExpandAlldiffConstraints(other.getExpandAlldiffConstraints());
11766  }
11767  if (other.hasExpandReservoirConstraints()) {
11768  setExpandReservoirConstraints(other.getExpandReservoirConstraints());
11769  }
11770  if (other.hasDisableConstraintExpansion()) {
11771  setDisableConstraintExpansion(other.getDisableConstraintExpansion());
11772  }
11773  if (other.hasMergeNoOverlapWorkLimit()) {
11774  setMergeNoOverlapWorkLimit(other.getMergeNoOverlapWorkLimit());
11775  }
11776  if (other.hasMergeAtMostOneWorkLimit()) {
11777  setMergeAtMostOneWorkLimit(other.getMergeAtMostOneWorkLimit());
11778  }
11779  if (other.hasPresolveSubstitutionLevel()) {
11780  setPresolveSubstitutionLevel(other.getPresolveSubstitutionLevel());
11781  }
11782  if (other.hasPresolveExtractIntegerEnforcement()) {
11783  setPresolveExtractIntegerEnforcement(other.getPresolveExtractIntegerEnforcement());
11784  }
11785  if (other.hasUseOptimizationHints()) {
11786  setUseOptimizationHints(other.getUseOptimizationHints());
11787  }
11788  if (other.hasMinimizeCore()) {
11789  setMinimizeCore(other.getMinimizeCore());
11790  }
11791  if (other.hasFindMultipleCores()) {
11792  setFindMultipleCores(other.getFindMultipleCores());
11793  }
11794  if (other.hasCoverOptimization()) {
11795  setCoverOptimization(other.getCoverOptimization());
11796  }
11797  if (other.hasMaxSatAssumptionOrder()) {
11798  setMaxSatAssumptionOrder(other.getMaxSatAssumptionOrder());
11799  }
11800  if (other.hasMaxSatReverseAssumptionOrder()) {
11801  setMaxSatReverseAssumptionOrder(other.getMaxSatReverseAssumptionOrder());
11802  }
11803  if (other.hasMaxSatStratification()) {
11804  setMaxSatStratification(other.getMaxSatStratification());
11805  }
11806  if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
11807  setUsePrecedencesInDisjunctiveConstraint(other.getUsePrecedencesInDisjunctiveConstraint());
11808  }
11809  if (other.hasUseOverloadCheckerInCumulativeConstraint()) {
11810  setUseOverloadCheckerInCumulativeConstraint(other.getUseOverloadCheckerInCumulativeConstraint());
11811  }
11812  if (other.hasUseTimetableEdgeFindingInCumulativeConstraint()) {
11813  setUseTimetableEdgeFindingInCumulativeConstraint(other.getUseTimetableEdgeFindingInCumulativeConstraint());
11814  }
11815  if (other.hasUseDisjunctiveConstraintInCumulativeConstraint()) {
11816  setUseDisjunctiveConstraintInCumulativeConstraint(other.getUseDisjunctiveConstraintInCumulativeConstraint());
11817  }
11818  if (other.hasLinearizationLevel()) {
11819  setLinearizationLevel(other.getLinearizationLevel());
11820  }
11821  if (other.hasBooleanEncodingLevel()) {
11822  setBooleanEncodingLevel(other.getBooleanEncodingLevel());
11823  }
11824  if (other.hasMaxNumCuts()) {
11825  setMaxNumCuts(other.getMaxNumCuts());
11826  }
11827  if (other.hasOnlyAddCutsAtLevelZero()) {
11828  setOnlyAddCutsAtLevelZero(other.getOnlyAddCutsAtLevelZero());
11829  }
11830  if (other.hasAddKnapsackCuts()) {
11831  setAddKnapsackCuts(other.getAddKnapsackCuts());
11832  }
11833  if (other.hasAddCgCuts()) {
11834  setAddCgCuts(other.getAddCgCuts());
11835  }
11836  if (other.hasAddMirCuts()) {
11837  setAddMirCuts(other.getAddMirCuts());
11838  }
11839  if (other.hasAddZeroHalfCuts()) {
11840  setAddZeroHalfCuts(other.getAddZeroHalfCuts());
11841  }
11842  if (other.hasAddCliqueCuts()) {
11843  setAddCliqueCuts(other.getAddCliqueCuts());
11844  }
11845  if (other.hasMaxAllDiffCutSize()) {
11846  setMaxAllDiffCutSize(other.getMaxAllDiffCutSize());
11847  }
11848  if (other.hasAddLinMaxCuts()) {
11849  setAddLinMaxCuts(other.getAddLinMaxCuts());
11850  }
11851  if (other.hasMaxIntegerRoundingScaling()) {
11852  setMaxIntegerRoundingScaling(other.getMaxIntegerRoundingScaling());
11853  }
11854  if (other.hasAddLpConstraintsLazily()) {
11855  setAddLpConstraintsLazily(other.getAddLpConstraintsLazily());
11856  }
11857  if (other.hasMinOrthogonalityForLpConstraints()) {
11858  setMinOrthogonalityForLpConstraints(other.getMinOrthogonalityForLpConstraints());
11859  }
11860  if (other.hasMaxCutRoundsAtLevelZero()) {
11861  setMaxCutRoundsAtLevelZero(other.getMaxCutRoundsAtLevelZero());
11862  }
11863  if (other.hasMaxConsecutiveInactiveCount()) {
11864  setMaxConsecutiveInactiveCount(other.getMaxConsecutiveInactiveCount());
11865  }
11866  if (other.hasCutMaxActiveCountValue()) {
11867  setCutMaxActiveCountValue(other.getCutMaxActiveCountValue());
11868  }
11869  if (other.hasCutActiveCountDecay()) {
11870  setCutActiveCountDecay(other.getCutActiveCountDecay());
11871  }
11872  if (other.hasCutCleanupTarget()) {
11873  setCutCleanupTarget(other.getCutCleanupTarget());
11874  }
11875  if (other.hasNewConstraintsBatchSize()) {
11876  setNewConstraintsBatchSize(other.getNewConstraintsBatchSize());
11877  }
11878  if (other.hasSearchBranching()) {
11879  setSearchBranching(other.getSearchBranching());
11880  }
11881  if (other.hasHintConflictLimit()) {
11882  setHintConflictLimit(other.getHintConflictLimit());
11883  }
11884  if (other.hasRepairHint()) {
11885  setRepairHint(other.getRepairHint());
11886  }
11887  if (other.hasExploitIntegerLpSolution()) {
11888  setExploitIntegerLpSolution(other.getExploitIntegerLpSolution());
11889  }
11890  if (other.hasExploitAllLpSolution()) {
11891  setExploitAllLpSolution(other.getExploitAllLpSolution());
11892  }
11893  if (other.hasExploitBestSolution()) {
11894  setExploitBestSolution(other.getExploitBestSolution());
11895  }
11896  if (other.hasExploitRelaxationSolution()) {
11897  setExploitRelaxationSolution(other.getExploitRelaxationSolution());
11898  }
11899  if (other.hasExploitObjective()) {
11900  setExploitObjective(other.getExploitObjective());
11901  }
11902  if (other.hasProbingPeriodAtRoot()) {
11903  setProbingPeriodAtRoot(other.getProbingPeriodAtRoot());
11904  }
11905  if (other.hasUseProbingSearch()) {
11906  setUseProbingSearch(other.getUseProbingSearch());
11907  }
11908  if (other.hasPseudoCostReliabilityThreshold()) {
11909  setPseudoCostReliabilityThreshold(other.getPseudoCostReliabilityThreshold());
11910  }
11911  if (other.hasOptimizeWithCore()) {
11912  setOptimizeWithCore(other.getOptimizeWithCore());
11913  }
11914  if (other.hasBinarySearchNumConflicts()) {
11915  setBinarySearchNumConflicts(other.getBinarySearchNumConflicts());
11916  }
11917  if (other.hasOptimizeWithMaxHs()) {
11918  setOptimizeWithMaxHs(other.getOptimizeWithMaxHs());
11919  }
11920  if (other.hasEnumerateAllSolutions()) {
11921  setEnumerateAllSolutions(other.getEnumerateAllSolutions());
11922  }
11923  if (other.hasKeepAllFeasibleSolutionsInPresolve()) {
11924  setKeepAllFeasibleSolutionsInPresolve(other.getKeepAllFeasibleSolutionsInPresolve());
11925  }
11926  if (other.hasFillTightenedDomainsInResponse()) {
11927  setFillTightenedDomainsInResponse(other.getFillTightenedDomainsInResponse());
11928  }
11929  if (other.hasInstantiateAllVariables()) {
11930  setInstantiateAllVariables(other.getInstantiateAllVariables());
11931  }
11932  if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
11933  setAutoDetectGreaterThanAtLeastOneOf(other.getAutoDetectGreaterThanAtLeastOneOf());
11934  }
11935  if (other.hasStopAfterFirstSolution()) {
11936  setStopAfterFirstSolution(other.getStopAfterFirstSolution());
11937  }
11938  if (other.hasStopAfterPresolve()) {
11939  setStopAfterPresolve(other.getStopAfterPresolve());
11940  }
11941  if (other.hasNumSearchWorkers()) {
11942  setNumSearchWorkers(other.getNumSearchWorkers());
11943  }
11944  if (other.hasInterleaveSearch()) {
11945  setInterleaveSearch(other.getInterleaveSearch());
11946  }
11947  if (other.hasInterleaveBatchSize()) {
11948  setInterleaveBatchSize(other.getInterleaveBatchSize());
11949  }
11950  if (other.hasReduceMemoryUsageInInterleaveMode()) {
11951  setReduceMemoryUsageInInterleaveMode(other.getReduceMemoryUsageInInterleaveMode());
11952  }
11953  if (other.hasShareObjectiveBounds()) {
11954  setShareObjectiveBounds(other.getShareObjectiveBounds());
11955  }
11956  if (other.hasShareLevelZeroBounds()) {
11957  setShareLevelZeroBounds(other.getShareLevelZeroBounds());
11958  }
11959  if (other.hasUseLnsOnly()) {
11960  setUseLnsOnly(other.getUseLnsOnly());
11961  }
11962  if (other.hasLnsFocusOnDecisionVariables()) {
11963  setLnsFocusOnDecisionVariables(other.getLnsFocusOnDecisionVariables());
11964  }
11965  if (other.hasLnsExpandIntervalsInConstraintGraph()) {
11966  setLnsExpandIntervalsInConstraintGraph(other.getLnsExpandIntervalsInConstraintGraph());
11967  }
11968  if (other.hasUseRinsLns()) {
11969  setUseRinsLns(other.getUseRinsLns());
11970  }
11971  if (other.hasUseFeasibilityPump()) {
11972  setUseFeasibilityPump(other.getUseFeasibilityPump());
11973  }
11974  if (other.hasFpRounding()) {
11975  setFpRounding(other.getFpRounding());
11976  }
11977  if (other.hasUseRelaxationLns()) {
11978  setUseRelaxationLns(other.getUseRelaxationLns());
11979  }
11980  if (other.hasDiversifyLnsParams()) {
11981  setDiversifyLnsParams(other.getDiversifyLnsParams());
11982  }
11983  if (other.hasRandomizeSearch()) {
11984  setRandomizeSearch(other.getRandomizeSearch());
11985  }
11986  if (other.hasSearchRandomizationTolerance()) {
11987  setSearchRandomizationTolerance(other.getSearchRandomizationTolerance());
11988  }
11989  if (other.hasUseOptionalVariables()) {
11990  setUseOptionalVariables(other.getUseOptionalVariables());
11991  }
11992  if (other.hasUseExactLpReason()) {
11993  setUseExactLpReason(other.getUseExactLpReason());
11994  }
11995  if (other.hasUseBranchingInLp()) {
11996  setUseBranchingInLp(other.getUseBranchingInLp());
11997  }
11998  if (other.hasUseCombinedNoOverlap()) {
11999  setUseCombinedNoOverlap(other.getUseCombinedNoOverlap());
12000  }
12001  if (other.hasCatchSigintSignal()) {
12002  setCatchSigintSignal(other.getCatchSigintSignal());
12003  }
12004  if (other.hasUseImpliedBounds()) {
12005  setUseImpliedBounds(other.getUseImpliedBounds());
12006  }
12007  if (other.hasPolishLpSolution()) {
12008  setPolishLpSolution(other.getPolishLpSolution());
12009  }
12010  if (other.hasConvertIntervals()) {
12011  setConvertIntervals(other.getConvertIntervals());
12012  }
12013  if (other.hasSymmetryLevel()) {
12014  setSymmetryLevel(other.getSymmetryLevel());
12015  }
12016  if (other.hasMipMaxBound()) {
12017  setMipMaxBound(other.getMipMaxBound());
12018  }
12019  if (other.hasMipVarScaling()) {
12020  setMipVarScaling(other.getMipVarScaling());
12021  }
12022  if (other.hasMipAutomaticallyScaleVariables()) {
12023  setMipAutomaticallyScaleVariables(other.getMipAutomaticallyScaleVariables());
12024  }
12025  if (other.hasMipWantedPrecision()) {
12026  setMipWantedPrecision(other.getMipWantedPrecision());
12027  }
12028  if (other.hasMipMaxActivityExponent()) {
12029  setMipMaxActivityExponent(other.getMipMaxActivityExponent());
12030  }
12031  if (other.hasMipCheckPrecision()) {
12032  setMipCheckPrecision(other.getMipCheckPrecision());
12033  }
12034  this.mergeUnknownFields(other.unknownFields);
12035  onChanged();
12036  return this;
12037  }
12038 
12039  @java.lang.Override
12040  public final boolean isInitialized() {
12041  return true;
12042  }
12043 
12044  @java.lang.Override
12046  com.google.protobuf.CodedInputStream input,
12047  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12048  throws java.io.IOException {
12049  com.google.ortools.sat.SatParameters parsedMessage = null;
12050  try {
12051  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
12052  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12053  parsedMessage = (com.google.ortools.sat.SatParameters) e.getUnfinishedMessage();
12054  throw e.unwrapIOException();
12055  } finally {
12056  if (parsedMessage != null) {
12057  mergeFrom(parsedMessage);
12058  }
12059  }
12060  return this;
12061  }
12062  private int bitField0_;
12063  private int bitField1_;
12064  private int bitField2_;
12065  private int bitField3_;
12066  private int bitField4_;
12067  private int bitField5_;
12068 
12069  private java.lang.Object name_ = "";
12079  public boolean hasName() {
12080  return ((bitField0_ & 0x00000001) != 0);
12081  }
12091  public java.lang.String getName() {
12092  java.lang.Object ref = name_;
12093  if (!(ref instanceof java.lang.String)) {
12094  com.google.protobuf.ByteString bs =
12095  (com.google.protobuf.ByteString) ref;
12096  java.lang.String s = bs.toStringUtf8();
12097  if (bs.isValidUtf8()) {
12098  name_ = s;
12099  }
12100  return s;
12101  } else {
12102  return (java.lang.String) ref;
12103  }
12104  }
12114  public com.google.protobuf.ByteString
12116  java.lang.Object ref = name_;
12117  if (ref instanceof String) {
12118  com.google.protobuf.ByteString b =
12119  com.google.protobuf.ByteString.copyFromUtf8(
12120  (java.lang.String) ref);
12121  name_ = b;
12122  return b;
12123  } else {
12124  return (com.google.protobuf.ByteString) ref;
12125  }
12126  }
12138  java.lang.String value) {
12139  if (value == null) {
12140  throw new NullPointerException();
12141  }
12142  bitField0_ |= 0x00000001;
12143  name_ = value;
12144  onChanged();
12145  return this;
12146  }
12156  public Builder clearName() {
12157  bitField0_ = (bitField0_ & ~0x00000001);
12158  name_ = getDefaultInstance().getName();
12159  onChanged();
12160  return this;
12161  }
12173  com.google.protobuf.ByteString value) {
12174  if (value == null) {
12175  throw new NullPointerException();
12176  }
12177  bitField0_ |= 0x00000001;
12178  name_ = value;
12179  onChanged();
12180  return this;
12181  }
12182 
12183  private int preferredVariableOrder_ = 0;
12188  @java.lang.Override public boolean hasPreferredVariableOrder() {
12189  return ((bitField0_ & 0x00000002) != 0);
12190  }
12195  @java.lang.Override
12196  public com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder() {
12197  @SuppressWarnings("deprecation")
12198  com.google.ortools.sat.SatParameters.VariableOrder result = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(preferredVariableOrder_);
12199  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
12200  }
12206  public Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value) {
12207  if (value == null) {
12208  throw new NullPointerException();
12209  }
12210  bitField0_ |= 0x00000002;
12211  preferredVariableOrder_ = value.getNumber();
12212  onChanged();
12213  return this;
12214  }
12220  bitField0_ = (bitField0_ & ~0x00000002);
12221  preferredVariableOrder_ = 0;
12222  onChanged();
12223  return this;
12224  }
12225 
12226  private int initialPolarity_ = 1;
12231  @java.lang.Override public boolean hasInitialPolarity() {
12232  return ((bitField0_ & 0x00000004) != 0);
12233  }
12238  @java.lang.Override
12239  public com.google.ortools.sat.SatParameters.Polarity getInitialPolarity() {
12240  @SuppressWarnings("deprecation")
12241  com.google.ortools.sat.SatParameters.Polarity result = com.google.ortools.sat.SatParameters.Polarity.valueOf(initialPolarity_);
12242  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
12243  }
12249  public Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value) {
12250  if (value == null) {
12251  throw new NullPointerException();
12252  }
12253  bitField0_ |= 0x00000004;
12254  initialPolarity_ = value.getNumber();
12255  onChanged();
12256  return this;
12257  }
12263  bitField0_ = (bitField0_ & ~0x00000004);
12264  initialPolarity_ = 1;
12265  onChanged();
12266  return this;
12267  }
12268 
12269  private boolean usePhaseSaving_ = true;
12286  @java.lang.Override
12287  public boolean hasUsePhaseSaving() {
12288  return ((bitField0_ & 0x00000008) != 0);
12289  }
12306  @java.lang.Override
12307  public boolean getUsePhaseSaving() {
12308  return usePhaseSaving_;
12309  }
12327  public Builder setUsePhaseSaving(boolean value) {
12328  bitField0_ |= 0x00000008;
12329  usePhaseSaving_ = value;
12330  onChanged();
12331  return this;
12332  }
12350  bitField0_ = (bitField0_ & ~0x00000008);
12351  usePhaseSaving_ = true;
12352  onChanged();
12353  return this;
12354  }
12355 
12356  private int polarityRephaseIncrement_ = 1000;
12367  @java.lang.Override
12368  public boolean hasPolarityRephaseIncrement() {
12369  return ((bitField0_ & 0x00000010) != 0);
12370  }
12381  @java.lang.Override
12383  return polarityRephaseIncrement_;
12384  }
12397  bitField0_ |= 0x00000010;
12398  polarityRephaseIncrement_ = value;
12399  onChanged();
12400  return this;
12401  }
12413  bitField0_ = (bitField0_ & ~0x00000010);
12414  polarityRephaseIncrement_ = 1000;
12415  onChanged();
12416  return this;
12417  }
12418 
12419  private double randomPolarityRatio_ ;
12432  @java.lang.Override
12433  public boolean hasRandomPolarityRatio() {
12434  return ((bitField0_ & 0x00000020) != 0);
12435  }
12448  @java.lang.Override
12449  public double getRandomPolarityRatio() {
12450  return randomPolarityRatio_;
12451  }
12465  public Builder setRandomPolarityRatio(double value) {
12466  bitField0_ |= 0x00000020;
12467  randomPolarityRatio_ = value;
12468  onChanged();
12469  return this;
12470  }
12484  bitField0_ = (bitField0_ & ~0x00000020);
12485  randomPolarityRatio_ = 0D;
12486  onChanged();
12487  return this;
12488  }
12489 
12490  private double randomBranchesRatio_ ;
12501  @java.lang.Override
12502  public boolean hasRandomBranchesRatio() {
12503  return ((bitField0_ & 0x00000040) != 0);
12504  }
12515  @java.lang.Override
12516  public double getRandomBranchesRatio() {
12517  return randomBranchesRatio_;
12518  }
12530  public Builder setRandomBranchesRatio(double value) {
12531  bitField0_ |= 0x00000040;
12532  randomBranchesRatio_ = value;
12533  onChanged();
12534  return this;
12535  }
12547  bitField0_ = (bitField0_ & ~0x00000040);
12548  randomBranchesRatio_ = 0D;
12549  onChanged();
12550  return this;
12551  }
12552 
12553  private boolean useErwaHeuristic_ ;
12564  @java.lang.Override
12565  public boolean hasUseErwaHeuristic() {
12566  return ((bitField0_ & 0x00000080) != 0);
12567  }
12578  @java.lang.Override
12579  public boolean getUseErwaHeuristic() {
12580  return useErwaHeuristic_;
12581  }
12593  public Builder setUseErwaHeuristic(boolean value) {
12594  bitField0_ |= 0x00000080;
12595  useErwaHeuristic_ = value;
12596  onChanged();
12597  return this;
12598  }
12610  bitField0_ = (bitField0_ & ~0x00000080);
12611  useErwaHeuristic_ = false;
12612  onChanged();
12613  return this;
12614  }
12615 
12616  private double initialVariablesActivity_ ;
12630  @java.lang.Override
12631  public boolean hasInitialVariablesActivity() {
12632  return ((bitField0_ & 0x00000100) != 0);
12633  }
12647  @java.lang.Override
12649  return initialVariablesActivity_;
12650  }
12665  public Builder setInitialVariablesActivity(double value) {
12666  bitField0_ |= 0x00000100;
12667  initialVariablesActivity_ = value;
12668  onChanged();
12669  return this;
12670  }
12685  bitField0_ = (bitField0_ & ~0x00000100);
12686  initialVariablesActivity_ = 0D;
12687  onChanged();
12688  return this;
12689  }
12690 
12691  private boolean alsoBumpVariablesInConflictReasons_ ;
12703  @java.lang.Override
12705  return ((bitField0_ & 0x00000200) != 0);
12706  }
12718  @java.lang.Override
12720  return alsoBumpVariablesInConflictReasons_;
12721  }
12735  bitField0_ |= 0x00000200;
12736  alsoBumpVariablesInConflictReasons_ = value;
12737  onChanged();
12738  return this;
12739  }
12752  bitField0_ = (bitField0_ & ~0x00000200);
12753  alsoBumpVariablesInConflictReasons_ = false;
12754  onChanged();
12755  return this;
12756  }
12757 
12758  private int minimizationAlgorithm_ = 2;
12763  @java.lang.Override public boolean hasMinimizationAlgorithm() {
12764  return ((bitField0_ & 0x00000400) != 0);
12765  }
12770  @java.lang.Override
12771  public com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm() {
12772  @SuppressWarnings("deprecation")
12773  com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm result = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(minimizationAlgorithm_);
12774  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
12775  }
12781  public Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value) {
12782  if (value == null) {
12783  throw new NullPointerException();
12784  }
12785  bitField0_ |= 0x00000400;
12786  minimizationAlgorithm_ = value.getNumber();
12787  onChanged();
12788  return this;
12789  }
12795  bitField0_ = (bitField0_ & ~0x00000400);
12796  minimizationAlgorithm_ = 2;
12797  onChanged();
12798  return this;
12799  }
12800 
12801  private int binaryMinimizationAlgorithm_ = 1;
12806  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
12807  return ((bitField0_ & 0x00000800) != 0);
12808  }
12813  @java.lang.Override
12814  public com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm() {
12815  @SuppressWarnings("deprecation")
12816  com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm result = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(binaryMinimizationAlgorithm_);
12817  return result == null ? com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.BINARY_MINIMIZATION_FIRST : result;
12818  }
12824  public Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value) {
12825  if (value == null) {
12826  throw new NullPointerException();
12827  }
12828  bitField0_ |= 0x00000800;
12829  binaryMinimizationAlgorithm_ = value.getNumber();
12830  onChanged();
12831  return this;
12832  }
12838  bitField0_ = (bitField0_ & ~0x00000800);
12839  binaryMinimizationAlgorithm_ = 1;
12840  onChanged();
12841  return this;
12842  }
12843 
12844  private boolean subsumptionDuringConflictAnalysis_ = true;
12856  @java.lang.Override
12858  return ((bitField0_ & 0x00001000) != 0);
12859  }
12871  @java.lang.Override
12873  return subsumptionDuringConflictAnalysis_;
12874  }
12888  bitField0_ |= 0x00001000;
12889  subsumptionDuringConflictAnalysis_ = value;
12890  onChanged();
12891  return this;
12892  }
12905  bitField0_ = (bitField0_ & ~0x00001000);
12906  subsumptionDuringConflictAnalysis_ = true;
12907  onChanged();
12908  return this;
12909  }
12910 
12911  private int clauseCleanupPeriod_ = 10000;
12920  @java.lang.Override
12921  public boolean hasClauseCleanupPeriod() {
12922  return ((bitField0_ & 0x00002000) != 0);
12923  }
12932  @java.lang.Override
12933  public int getClauseCleanupPeriod() {
12934  return clauseCleanupPeriod_;
12935  }
12945  public Builder setClauseCleanupPeriod(int value) {
12946  bitField0_ |= 0x00002000;
12947  clauseCleanupPeriod_ = value;
12948  onChanged();
12949  return this;
12950  }
12960  bitField0_ = (bitField0_ & ~0x00002000);
12961  clauseCleanupPeriod_ = 10000;
12962  onChanged();
12963  return this;
12964  }
12965 
12966  private int clauseCleanupTarget_ = 10000;
12976  @java.lang.Override
12977  public boolean hasClauseCleanupTarget() {
12978  return ((bitField0_ & 0x00004000) != 0);
12979  }
12989  @java.lang.Override
12990  public int getClauseCleanupTarget() {
12991  return clauseCleanupTarget_;
12992  }
13003  public Builder setClauseCleanupTarget(int value) {
13004  bitField0_ |= 0x00004000;
13005  clauseCleanupTarget_ = value;
13006  onChanged();
13007  return this;
13008  }
13019  bitField0_ = (bitField0_ & ~0x00004000);
13020  clauseCleanupTarget_ = 10000;
13021  onChanged();
13022  return this;
13023  }
13024 
13025  private int clauseCleanupProtection_ = 0;
13030  @java.lang.Override public boolean hasClauseCleanupProtection() {
13031  return ((bitField0_ & 0x00008000) != 0);
13032  }
13037  @java.lang.Override
13038  public com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection() {
13039  @SuppressWarnings("deprecation")
13040  com.google.ortools.sat.SatParameters.ClauseProtection result = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(clauseCleanupProtection_);
13041  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
13042  }
13048  public Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value) {
13049  if (value == null) {
13050  throw new NullPointerException();
13051  }
13052  bitField0_ |= 0x00008000;
13053  clauseCleanupProtection_ = value.getNumber();
13054  onChanged();
13055  return this;
13056  }
13062  bitField0_ = (bitField0_ & ~0x00008000);
13063  clauseCleanupProtection_ = 0;
13064  onChanged();
13065  return this;
13066  }
13067 
13068  private int clauseCleanupLbdBound_ = 5;
13078  @java.lang.Override
13079  public boolean hasClauseCleanupLbdBound() {
13080  return ((bitField0_ & 0x00010000) != 0);
13081  }
13091  @java.lang.Override
13093  return clauseCleanupLbdBound_;
13094  }
13105  public Builder setClauseCleanupLbdBound(int value) {
13106  bitField0_ |= 0x00010000;
13107  clauseCleanupLbdBound_ = value;
13108  onChanged();
13109  return this;
13110  }
13121  bitField0_ = (bitField0_ & ~0x00010000);
13122  clauseCleanupLbdBound_ = 5;
13123  onChanged();
13124  return this;
13125  }
13126 
13127  private int clauseCleanupOrdering_ = 0;
13132  @java.lang.Override public boolean hasClauseCleanupOrdering() {
13133  return ((bitField0_ & 0x00020000) != 0);
13134  }
13139  @java.lang.Override
13140  public com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering() {
13141  @SuppressWarnings("deprecation")
13142  com.google.ortools.sat.SatParameters.ClauseOrdering result = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(clauseCleanupOrdering_);
13143  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
13144  }
13150  public Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value) {
13151  if (value == null) {
13152  throw new NullPointerException();
13153  }
13154  bitField0_ |= 0x00020000;
13155  clauseCleanupOrdering_ = value.getNumber();
13156  onChanged();
13157  return this;
13158  }
13164  bitField0_ = (bitField0_ & ~0x00020000);
13165  clauseCleanupOrdering_ = 0;
13166  onChanged();
13167  return this;
13168  }
13169 
13170  private int pbCleanupIncrement_ = 200;
13179  @java.lang.Override
13180  public boolean hasPbCleanupIncrement() {
13181  return ((bitField0_ & 0x00040000) != 0);
13182  }
13191  @java.lang.Override
13192  public int getPbCleanupIncrement() {
13193  return pbCleanupIncrement_;
13194  }
13204  public Builder setPbCleanupIncrement(int value) {
13205  bitField0_ |= 0x00040000;
13206  pbCleanupIncrement_ = value;
13207  onChanged();
13208  return this;
13209  }
13219  bitField0_ = (bitField0_ & ~0x00040000);
13220  pbCleanupIncrement_ = 200;
13221  onChanged();
13222  return this;
13223  }
13224 
13225  private double pbCleanupRatio_ = 0.5D;
13230  @java.lang.Override
13231  public boolean hasPbCleanupRatio() {
13232  return ((bitField0_ & 0x00080000) != 0);
13233  }
13238  @java.lang.Override
13239  public double getPbCleanupRatio() {
13240  return pbCleanupRatio_;
13241  }
13247  public Builder setPbCleanupRatio(double value) {
13248  bitField0_ |= 0x00080000;
13249  pbCleanupRatio_ = value;
13250  onChanged();
13251  return this;
13252  }
13258  bitField0_ = (bitField0_ & ~0x00080000);
13259  pbCleanupRatio_ = 0.5D;
13260  onChanged();
13261  return this;
13262  }
13263 
13264  private int minimizeWithPropagationRestartPeriod_ = 10;
13283  @java.lang.Override
13285  return ((bitField0_ & 0x00100000) != 0);
13286  }
13305  @java.lang.Override
13307  return minimizeWithPropagationRestartPeriod_;
13308  }
13329  bitField0_ |= 0x00100000;
13330  minimizeWithPropagationRestartPeriod_ = value;
13331  onChanged();
13332  return this;
13333  }
13353  bitField0_ = (bitField0_ & ~0x00100000);
13354  minimizeWithPropagationRestartPeriod_ = 10;
13355  onChanged();
13356  return this;
13357  }
13358 
13359  private int minimizeWithPropagationNumDecisions_ = 1000;
13364  @java.lang.Override
13366  return ((bitField0_ & 0x00200000) != 0);
13367  }
13372  @java.lang.Override
13374  return minimizeWithPropagationNumDecisions_;
13375  }
13382  bitField0_ |= 0x00200000;
13383  minimizeWithPropagationNumDecisions_ = value;
13384  onChanged();
13385  return this;
13386  }
13392  bitField0_ = (bitField0_ & ~0x00200000);
13393  minimizeWithPropagationNumDecisions_ = 1000;
13394  onChanged();
13395  return this;
13396  }
13397 
13398  private double variableActivityDecay_ = 0.8D;
13413  @java.lang.Override
13414  public boolean hasVariableActivityDecay() {
13415  return ((bitField0_ & 0x00400000) != 0);
13416  }
13431  @java.lang.Override
13432  public double getVariableActivityDecay() {
13433  return variableActivityDecay_;
13434  }
13450  public Builder setVariableActivityDecay(double value) {
13451  bitField0_ |= 0x00400000;
13452  variableActivityDecay_ = value;
13453  onChanged();
13454  return this;
13455  }
13471  bitField0_ = (bitField0_ & ~0x00400000);
13472  variableActivityDecay_ = 0.8D;
13473  onChanged();
13474  return this;
13475  }
13476 
13477  private double maxVariableActivityValue_ = 1e+100D;
13482  @java.lang.Override
13483  public boolean hasMaxVariableActivityValue() {
13484  return ((bitField0_ & 0x00800000) != 0);
13485  }
13490  @java.lang.Override
13492  return maxVariableActivityValue_;
13493  }
13499  public Builder setMaxVariableActivityValue(double value) {
13500  bitField0_ |= 0x00800000;
13501  maxVariableActivityValue_ = value;
13502  onChanged();
13503  return this;
13504  }
13510  bitField0_ = (bitField0_ & ~0x00800000);
13511  maxVariableActivityValue_ = 1e+100D;
13512  onChanged();
13513  return this;
13514  }
13515 
13516  private double glucoseMaxDecay_ = 0.95D;
13528  @java.lang.Override
13529  public boolean hasGlucoseMaxDecay() {
13530  return ((bitField0_ & 0x01000000) != 0);
13531  }
13543  @java.lang.Override
13544  public double getGlucoseMaxDecay() {
13545  return glucoseMaxDecay_;
13546  }
13559  public Builder setGlucoseMaxDecay(double value) {
13560  bitField0_ |= 0x01000000;
13561  glucoseMaxDecay_ = value;
13562  onChanged();
13563  return this;
13564  }
13577  bitField0_ = (bitField0_ & ~0x01000000);
13578  glucoseMaxDecay_ = 0.95D;
13579  onChanged();
13580  return this;
13581  }
13582 
13583  private double glucoseDecayIncrement_ = 0.01D;
13588  @java.lang.Override
13589  public boolean hasGlucoseDecayIncrement() {
13590  return ((bitField0_ & 0x02000000) != 0);
13591  }
13596  @java.lang.Override
13597  public double getGlucoseDecayIncrement() {
13598  return glucoseDecayIncrement_;
13599  }
13605  public Builder setGlucoseDecayIncrement(double value) {
13606  bitField0_ |= 0x02000000;
13607  glucoseDecayIncrement_ = value;
13608  onChanged();
13609  return this;
13610  }
13616  bitField0_ = (bitField0_ & ~0x02000000);
13617  glucoseDecayIncrement_ = 0.01D;
13618  onChanged();
13619  return this;
13620  }
13621 
13622  private int glucoseDecayIncrementPeriod_ = 5000;
13627  @java.lang.Override
13629  return ((bitField0_ & 0x04000000) != 0);
13630  }
13635  @java.lang.Override
13637  return glucoseDecayIncrementPeriod_;
13638  }
13645  bitField0_ |= 0x04000000;
13646  glucoseDecayIncrementPeriod_ = value;
13647  onChanged();
13648  return this;
13649  }
13655  bitField0_ = (bitField0_ & ~0x04000000);
13656  glucoseDecayIncrementPeriod_ = 5000;
13657  onChanged();
13658  return this;
13659  }
13660 
13661  private double clauseActivityDecay_ = 0.999D;
13670  @java.lang.Override
13671  public boolean hasClauseActivityDecay() {
13672  return ((bitField0_ & 0x08000000) != 0);
13673  }
13682  @java.lang.Override
13683  public double getClauseActivityDecay() {
13684  return clauseActivityDecay_;
13685  }
13695  public Builder setClauseActivityDecay(double value) {
13696  bitField0_ |= 0x08000000;
13697  clauseActivityDecay_ = value;
13698  onChanged();
13699  return this;
13700  }
13710  bitField0_ = (bitField0_ & ~0x08000000);
13711  clauseActivityDecay_ = 0.999D;
13712  onChanged();
13713  return this;
13714  }
13715 
13716  private double maxClauseActivityValue_ = 1e+20D;
13721  @java.lang.Override
13722  public boolean hasMaxClauseActivityValue() {
13723  return ((bitField0_ & 0x10000000) != 0);
13724  }
13729  @java.lang.Override
13730  public double getMaxClauseActivityValue() {
13731  return maxClauseActivityValue_;
13732  }
13738  public Builder setMaxClauseActivityValue(double value) {
13739  bitField0_ |= 0x10000000;
13740  maxClauseActivityValue_ = value;
13741  onChanged();
13742  return this;
13743  }
13749  bitField0_ = (bitField0_ & ~0x10000000);
13750  maxClauseActivityValue_ = 1e+20D;
13751  onChanged();
13752  return this;
13753  }
13754 
13755  private java.util.List<java.lang.Integer> restartAlgorithms_ =
13756  java.util.Collections.emptyList();
13757  private void ensureRestartAlgorithmsIsMutable() {
13758  if (!((bitField0_ & 0x20000000) != 0)) {
13759  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
13760  bitField0_ |= 0x20000000;
13761  }
13762  }
13778  public java.util.List<com.google.ortools.sat.SatParameters.RestartAlgorithm> getRestartAlgorithmsList() {
13779  return new com.google.protobuf.Internal.ListAdapter<
13780  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
13781  }
13798  return restartAlgorithms_.size();
13799  }
13816  public com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index) {
13817  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
13818  }
13837  int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
13838  if (value == null) {
13839  throw new NullPointerException();
13840  }
13841  ensureRestartAlgorithmsIsMutable();
13842  restartAlgorithms_.set(index, value.getNumber());
13843  onChanged();
13844  return this;
13845  }
13862  public Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
13863  if (value == null) {
13864  throw new NullPointerException();
13865  }
13866  ensureRestartAlgorithmsIsMutable();
13867  restartAlgorithms_.add(value.getNumber());
13868  onChanged();
13869  return this;
13870  }
13888  java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
13889  ensureRestartAlgorithmsIsMutable();
13890  for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
13891  restartAlgorithms_.add(value.getNumber());
13892  }
13893  onChanged();
13894  return this;
13895  }
13912  restartAlgorithms_ = java.util.Collections.emptyList();
13913  bitField0_ = (bitField0_ & ~0x20000000);
13914  onChanged();
13915  return this;
13916  }
13917 
13918  private java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
13923  public boolean hasDefaultRestartAlgorithms() {
13924  return ((bitField0_ & 0x40000000) != 0);
13925  }
13930  public java.lang.String getDefaultRestartAlgorithms() {
13931  java.lang.Object ref = defaultRestartAlgorithms_;
13932  if (!(ref instanceof java.lang.String)) {
13933  com.google.protobuf.ByteString bs =
13934  (com.google.protobuf.ByteString) ref;
13935  java.lang.String s = bs.toStringUtf8();
13936  if (bs.isValidUtf8()) {
13937  defaultRestartAlgorithms_ = s;
13938  }
13939  return s;
13940  } else {
13941  return (java.lang.String) ref;
13942  }
13943  }
13948  public com.google.protobuf.ByteString
13950  java.lang.Object ref = defaultRestartAlgorithms_;
13951  if (ref instanceof String) {
13952  com.google.protobuf.ByteString b =
13953  com.google.protobuf.ByteString.copyFromUtf8(
13954  (java.lang.String) ref);
13955  defaultRestartAlgorithms_ = b;
13956  return b;
13957  } else {
13958  return (com.google.protobuf.ByteString) ref;
13959  }
13960  }
13967  java.lang.String value) {
13968  if (value == null) {
13969  throw new NullPointerException();
13970  }
13971  bitField0_ |= 0x40000000;
13972  defaultRestartAlgorithms_ = value;
13973  onChanged();
13974  return this;
13975  }
13981  bitField0_ = (bitField0_ & ~0x40000000);
13982  defaultRestartAlgorithms_ = getDefaultInstance().getDefaultRestartAlgorithms();
13983  onChanged();
13984  return this;
13985  }
13992  com.google.protobuf.ByteString value) {
13993  if (value == null) {
13994  throw new NullPointerException();
13995  }
13996  bitField0_ |= 0x40000000;
13997  defaultRestartAlgorithms_ = value;
13998  onChanged();
13999  return this;
14000  }
14001 
14002  private int restartPeriod_ = 50;
14012  @java.lang.Override
14013  public boolean hasRestartPeriod() {
14014  return ((bitField0_ & 0x80000000) != 0);
14015  }
14025  @java.lang.Override
14026  public int getRestartPeriod() {
14027  return restartPeriod_;
14028  }
14039  public Builder setRestartPeriod(int value) {
14040  bitField0_ |= 0x80000000;
14041  restartPeriod_ = value;
14042  onChanged();
14043  return this;
14044  }
14055  bitField0_ = (bitField0_ & ~0x80000000);
14056  restartPeriod_ = 50;
14057  onChanged();
14058  return this;
14059  }
14060 
14061  private int restartRunningWindowSize_ = 50;
14070  @java.lang.Override
14071  public boolean hasRestartRunningWindowSize() {
14072  return ((bitField1_ & 0x00000001) != 0);
14073  }
14082  @java.lang.Override
14084  return restartRunningWindowSize_;
14085  }
14096  bitField1_ |= 0x00000001;
14097  restartRunningWindowSize_ = value;
14098  onChanged();
14099  return this;
14100  }
14110  bitField1_ = (bitField1_ & ~0x00000001);
14111  restartRunningWindowSize_ = 50;
14112  onChanged();
14113  return this;
14114  }
14115 
14116  private double restartDlAverageRatio_ = 1D;
14126  @java.lang.Override
14127  public boolean hasRestartDlAverageRatio() {
14128  return ((bitField1_ & 0x00000002) != 0);
14129  }
14139  @java.lang.Override
14140  public double getRestartDlAverageRatio() {
14141  return restartDlAverageRatio_;
14142  }
14153  public Builder setRestartDlAverageRatio(double value) {
14154  bitField1_ |= 0x00000002;
14155  restartDlAverageRatio_ = value;
14156  onChanged();
14157  return this;
14158  }
14169  bitField1_ = (bitField1_ & ~0x00000002);
14170  restartDlAverageRatio_ = 1D;
14171  onChanged();
14172  return this;
14173  }
14174 
14175  private double restartLbdAverageRatio_ = 1D;
14180  @java.lang.Override
14181  public boolean hasRestartLbdAverageRatio() {
14182  return ((bitField1_ & 0x00000004) != 0);
14183  }
14188  @java.lang.Override
14189  public double getRestartLbdAverageRatio() {
14190  return restartLbdAverageRatio_;
14191  }
14197  public Builder setRestartLbdAverageRatio(double value) {
14198  bitField1_ |= 0x00000004;
14199  restartLbdAverageRatio_ = value;
14200  onChanged();
14201  return this;
14202  }
14208  bitField1_ = (bitField1_ & ~0x00000004);
14209  restartLbdAverageRatio_ = 1D;
14210  onChanged();
14211  return this;
14212  }
14213 
14214  private boolean useBlockingRestart_ ;
14225  @java.lang.Override
14226  public boolean hasUseBlockingRestart() {
14227  return ((bitField1_ & 0x00000008) != 0);
14228  }
14239  @java.lang.Override
14240  public boolean getUseBlockingRestart() {
14241  return useBlockingRestart_;
14242  }
14254  public Builder setUseBlockingRestart(boolean value) {
14255  bitField1_ |= 0x00000008;
14256  useBlockingRestart_ = value;
14257  onChanged();
14258  return this;
14259  }
14271  bitField1_ = (bitField1_ & ~0x00000008);
14272  useBlockingRestart_ = false;
14273  onChanged();
14274  return this;
14275  }
14276 
14277  private int blockingRestartWindowSize_ = 5000;
14282  @java.lang.Override
14283  public boolean hasBlockingRestartWindowSize() {
14284  return ((bitField1_ & 0x00000010) != 0);
14285  }
14290  @java.lang.Override
14292  return blockingRestartWindowSize_;
14293  }
14300  bitField1_ |= 0x00000010;
14301  blockingRestartWindowSize_ = value;
14302  onChanged();
14303  return this;
14304  }
14310  bitField1_ = (bitField1_ & ~0x00000010);
14311  blockingRestartWindowSize_ = 5000;
14312  onChanged();
14313  return this;
14314  }
14315 
14316  private double blockingRestartMultiplier_ = 1.4D;
14321  @java.lang.Override
14322  public boolean hasBlockingRestartMultiplier() {
14323  return ((bitField1_ & 0x00000020) != 0);
14324  }
14329  @java.lang.Override
14331  return blockingRestartMultiplier_;
14332  }
14338  public Builder setBlockingRestartMultiplier(double value) {
14339  bitField1_ |= 0x00000020;
14340  blockingRestartMultiplier_ = value;
14341  onChanged();
14342  return this;
14343  }
14349  bitField1_ = (bitField1_ & ~0x00000020);
14350  blockingRestartMultiplier_ = 1.4D;
14351  onChanged();
14352  return this;
14353  }
14354 
14355  private int numConflictsBeforeStrategyChanges_ ;
14366  @java.lang.Override
14368  return ((bitField1_ & 0x00000040) != 0);
14369  }
14380  @java.lang.Override
14382  return numConflictsBeforeStrategyChanges_;
14383  }
14396  bitField1_ |= 0x00000040;
14397  numConflictsBeforeStrategyChanges_ = value;
14398  onChanged();
14399  return this;
14400  }
14412  bitField1_ = (bitField1_ & ~0x00000040);
14413  numConflictsBeforeStrategyChanges_ = 0;
14414  onChanged();
14415  return this;
14416  }
14417 
14418  private double strategyChangeIncreaseRatio_ ;
14428  @java.lang.Override
14430  return ((bitField1_ & 0x00000080) != 0);
14431  }
14441  @java.lang.Override
14443  return strategyChangeIncreaseRatio_;
14444  }
14456  bitField1_ |= 0x00000080;
14457  strategyChangeIncreaseRatio_ = value;
14458  onChanged();
14459  return this;
14460  }
14471  bitField1_ = (bitField1_ & ~0x00000080);
14472  strategyChangeIncreaseRatio_ = 0D;
14473  onChanged();
14474  return this;
14475  }
14476 
14477  private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
14487  @java.lang.Override
14488  public boolean hasMaxTimeInSeconds() {
14489  return ((bitField1_ & 0x00000100) != 0);
14490  }
14500  @java.lang.Override
14501  public double getMaxTimeInSeconds() {
14502  return maxTimeInSeconds_;
14503  }
14514  public Builder setMaxTimeInSeconds(double value) {
14515  bitField1_ |= 0x00000100;
14516  maxTimeInSeconds_ = value;
14517  onChanged();
14518  return this;
14519  }
14530  bitField1_ = (bitField1_ & ~0x00000100);
14531  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
14532  onChanged();
14533  return this;
14534  }
14535 
14536  private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
14547  @java.lang.Override
14548  public boolean hasMaxDeterministicTime() {
14549  return ((bitField1_ & 0x00000200) != 0);
14550  }
14561  @java.lang.Override
14562  public double getMaxDeterministicTime() {
14563  return maxDeterministicTime_;
14564  }
14576  public Builder setMaxDeterministicTime(double value) {
14577  bitField1_ |= 0x00000200;
14578  maxDeterministicTime_ = value;
14579  onChanged();
14580  return this;
14581  }
14593  bitField1_ = (bitField1_ & ~0x00000200);
14594  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
14595  onChanged();
14596  return this;
14597  }
14598 
14599  private long maxNumberOfConflicts_ = 9223372036854775807L;
14613  @java.lang.Override
14614  public boolean hasMaxNumberOfConflicts() {
14615  return ((bitField1_ & 0x00000400) != 0);
14616  }
14630  @java.lang.Override
14631  public long getMaxNumberOfConflicts() {
14632  return maxNumberOfConflicts_;
14633  }
14648  public Builder setMaxNumberOfConflicts(long value) {
14649  bitField1_ |= 0x00000400;
14650  maxNumberOfConflicts_ = value;
14651  onChanged();
14652  return this;
14653  }
14668  bitField1_ = (bitField1_ & ~0x00000400);
14669  maxNumberOfConflicts_ = 9223372036854775807L;
14670  onChanged();
14671  return this;
14672  }
14673 
14674  private long maxMemoryInMb_ = 10000L;
14686  @java.lang.Override
14687  public boolean hasMaxMemoryInMb() {
14688  return ((bitField1_ & 0x00000800) != 0);
14689  }
14701  @java.lang.Override
14702  public long getMaxMemoryInMb() {
14703  return maxMemoryInMb_;
14704  }
14717  public Builder setMaxMemoryInMb(long value) {
14718  bitField1_ |= 0x00000800;
14719  maxMemoryInMb_ = value;
14720  onChanged();
14721  return this;
14722  }
14735  bitField1_ = (bitField1_ & ~0x00000800);
14736  maxMemoryInMb_ = 10000L;
14737  onChanged();
14738  return this;
14739  }
14740 
14741  private double absoluteGapLimit_ ;
14759  @java.lang.Override
14760  public boolean hasAbsoluteGapLimit() {
14761  return ((bitField1_ & 0x00001000) != 0);
14762  }
14780  @java.lang.Override
14781  public double getAbsoluteGapLimit() {
14782  return absoluteGapLimit_;
14783  }
14802  public Builder setAbsoluteGapLimit(double value) {
14803  bitField1_ |= 0x00001000;
14804  absoluteGapLimit_ = value;
14805  onChanged();
14806  return this;
14807  }
14826  bitField1_ = (bitField1_ & ~0x00001000);
14827  absoluteGapLimit_ = 0D;
14828  onChanged();
14829  return this;
14830  }
14831 
14832  private double relativeGapLimit_ ;
14837  @java.lang.Override
14838  public boolean hasRelativeGapLimit() {
14839  return ((bitField1_ & 0x00002000) != 0);
14840  }
14845  @java.lang.Override
14846  public double getRelativeGapLimit() {
14847  return relativeGapLimit_;
14848  }
14854  public Builder setRelativeGapLimit(double value) {
14855  bitField1_ |= 0x00002000;
14856  relativeGapLimit_ = value;
14857  onChanged();
14858  return this;
14859  }
14865  bitField1_ = (bitField1_ & ~0x00002000);
14866  relativeGapLimit_ = 0D;
14867  onChanged();
14868  return this;
14869  }
14870 
14871  private boolean treatBinaryClausesSeparately_ = true;
14882  @java.lang.Override
14884  return ((bitField1_ & 0x00004000) != 0);
14885  }
14896  @java.lang.Override
14898  return treatBinaryClausesSeparately_;
14899  }
14912  bitField1_ |= 0x00004000;
14913  treatBinaryClausesSeparately_ = value;
14914  onChanged();
14915  return this;
14916  }
14928  bitField1_ = (bitField1_ & ~0x00004000);
14929  treatBinaryClausesSeparately_ = true;
14930  onChanged();
14931  return this;
14932  }
14933 
14934  private int randomSeed_ = 1;
14948  @java.lang.Override
14949  public boolean hasRandomSeed() {
14950  return ((bitField1_ & 0x00008000) != 0);
14951  }
14965  @java.lang.Override
14966  public int getRandomSeed() {
14967  return randomSeed_;
14968  }
14983  public Builder setRandomSeed(int value) {
14984  bitField1_ |= 0x00008000;
14985  randomSeed_ = value;
14986  onChanged();
14987  return this;
14988  }
15003  bitField1_ = (bitField1_ & ~0x00008000);
15004  randomSeed_ = 1;
15005  onChanged();
15006  return this;
15007  }
15008 
15009  private boolean permuteVariableRandomly_ ;
15021  @java.lang.Override
15022  public boolean hasPermuteVariableRandomly() {
15023  return ((bitField1_ & 0x00010000) != 0);
15024  }
15036  @java.lang.Override
15037  public boolean getPermuteVariableRandomly() {
15038  return permuteVariableRandomly_;
15039  }
15052  public Builder setPermuteVariableRandomly(boolean value) {
15053  bitField1_ |= 0x00010000;
15054  permuteVariableRandomly_ = value;
15055  onChanged();
15056  return this;
15057  }
15070  bitField1_ = (bitField1_ & ~0x00010000);
15071  permuteVariableRandomly_ = false;
15072  onChanged();
15073  return this;
15074  }
15075 
15076  private boolean permutePresolveConstraintOrder_ ;
15081  @java.lang.Override
15083  return ((bitField1_ & 0x00020000) != 0);
15084  }
15089  @java.lang.Override
15091  return permutePresolveConstraintOrder_;
15092  }
15099  bitField1_ |= 0x00020000;
15100  permutePresolveConstraintOrder_ = value;
15101  onChanged();
15102  return this;
15103  }
15109  bitField1_ = (bitField1_ & ~0x00020000);
15110  permutePresolveConstraintOrder_ = false;
15111  onChanged();
15112  return this;
15113  }
15114 
15115  private boolean useAbslRandom_ ;
15120  @java.lang.Override
15121  public boolean hasUseAbslRandom() {
15122  return ((bitField1_ & 0x00040000) != 0);
15123  }
15128  @java.lang.Override
15129  public boolean getUseAbslRandom() {
15130  return useAbslRandom_;
15131  }
15137  public Builder setUseAbslRandom(boolean value) {
15138  bitField1_ |= 0x00040000;
15139  useAbslRandom_ = value;
15140  onChanged();
15141  return this;
15142  }
15148  bitField1_ = (bitField1_ & ~0x00040000);
15149  useAbslRandom_ = false;
15150  onChanged();
15151  return this;
15152  }
15153 
15154  private boolean logSearchProgress_ ;
15163  @java.lang.Override
15164  public boolean hasLogSearchProgress() {
15165  return ((bitField1_ & 0x00080000) != 0);
15166  }
15175  @java.lang.Override
15176  public boolean getLogSearchProgress() {
15177  return logSearchProgress_;
15178  }
15188  public Builder setLogSearchProgress(boolean value) {
15189  bitField1_ |= 0x00080000;
15190  logSearchProgress_ = value;
15191  onChanged();
15192  return this;
15193  }
15203  bitField1_ = (bitField1_ & ~0x00080000);
15204  logSearchProgress_ = false;
15205  onChanged();
15206  return this;
15207  }
15208 
15209  private boolean fillLogsInResponse_ ;
15218  @java.lang.Override
15219  public boolean hasFillLogsInResponse() {
15220  return ((bitField1_ & 0x00100000) != 0);
15221  }
15230  @java.lang.Override
15231  public boolean getFillLogsInResponse() {
15232  return fillLogsInResponse_;
15233  }
15243  public Builder setFillLogsInResponse(boolean value) {
15244  bitField1_ |= 0x00100000;
15245  fillLogsInResponse_ = value;
15246  onChanged();
15247  return this;
15248  }
15258  bitField1_ = (bitField1_ & ~0x00100000);
15259  fillLogsInResponse_ = false;
15260  onChanged();
15261  return this;
15262  }
15263 
15264  private boolean usePbResolution_ ;
15276  @java.lang.Override
15277  public boolean hasUsePbResolution() {
15278  return ((bitField1_ & 0x00200000) != 0);
15279  }
15291  @java.lang.Override
15292  public boolean getUsePbResolution() {
15293  return usePbResolution_;
15294  }
15307  public Builder setUsePbResolution(boolean value) {
15308  bitField1_ |= 0x00200000;
15309  usePbResolution_ = value;
15310  onChanged();
15311  return this;
15312  }
15325  bitField1_ = (bitField1_ & ~0x00200000);
15326  usePbResolution_ = false;
15327  onChanged();
15328  return this;
15329  }
15330 
15331  private boolean minimizeReductionDuringPbResolution_ ;
15343  @java.lang.Override
15345  return ((bitField1_ & 0x00400000) != 0);
15346  }
15358  @java.lang.Override
15360  return minimizeReductionDuringPbResolution_;
15361  }
15375  bitField1_ |= 0x00400000;
15376  minimizeReductionDuringPbResolution_ = value;
15377  onChanged();
15378  return this;
15379  }
15392  bitField1_ = (bitField1_ & ~0x00400000);
15393  minimizeReductionDuringPbResolution_ = false;
15394  onChanged();
15395  return this;
15396  }
15397 
15398  private boolean countAssumptionLevelsInLbd_ = true;
15414  @java.lang.Override
15416  return ((bitField1_ & 0x00800000) != 0);
15417  }
15433  @java.lang.Override
15435  return countAssumptionLevelsInLbd_;
15436  }
15453  public Builder setCountAssumptionLevelsInLbd(boolean value) {
15454  bitField1_ |= 0x00800000;
15455  countAssumptionLevelsInLbd_ = value;
15456  onChanged();
15457  return this;
15458  }
15475  bitField1_ = (bitField1_ & ~0x00800000);
15476  countAssumptionLevelsInLbd_ = true;
15477  onChanged();
15478  return this;
15479  }
15480 
15481  private int presolveBveThreshold_ = 500;
15492  @java.lang.Override
15493  public boolean hasPresolveBveThreshold() {
15494  return ((bitField1_ & 0x01000000) != 0);
15495  }
15506  @java.lang.Override
15508  return presolveBveThreshold_;
15509  }
15521  public Builder setPresolveBveThreshold(int value) {
15522  bitField1_ |= 0x01000000;
15523  presolveBveThreshold_ = value;
15524  onChanged();
15525  return this;
15526  }
15538  bitField1_ = (bitField1_ & ~0x01000000);
15539  presolveBveThreshold_ = 500;
15540  onChanged();
15541  return this;
15542  }
15543 
15544  private int presolveBveClauseWeight_ = 3;
15554  @java.lang.Override
15555  public boolean hasPresolveBveClauseWeight() {
15556  return ((bitField1_ & 0x02000000) != 0);
15557  }
15567  @java.lang.Override
15569  return presolveBveClauseWeight_;
15570  }
15582  bitField1_ |= 0x02000000;
15583  presolveBveClauseWeight_ = value;
15584  onChanged();
15585  return this;
15586  }
15597  bitField1_ = (bitField1_ & ~0x02000000);
15598  presolveBveClauseWeight_ = 3;
15599  onChanged();
15600  return this;
15601  }
15602 
15603  private double presolveProbingDeterministicTimeLimit_ = 30D;
15613  @java.lang.Override
15615  return ((bitField1_ & 0x04000000) != 0);
15616  }
15626  @java.lang.Override
15628  return presolveProbingDeterministicTimeLimit_;
15629  }
15641  bitField1_ |= 0x04000000;
15642  presolveProbingDeterministicTimeLimit_ = value;
15643  onChanged();
15644  return this;
15645  }
15656  bitField1_ = (bitField1_ & ~0x04000000);
15657  presolveProbingDeterministicTimeLimit_ = 30D;
15658  onChanged();
15659  return this;
15660  }
15661 
15662  private boolean presolveBlockedClause_ = true;
15672  @java.lang.Override
15673  public boolean hasPresolveBlockedClause() {
15674  return ((bitField1_ & 0x08000000) != 0);
15675  }
15685  @java.lang.Override
15686  public boolean getPresolveBlockedClause() {
15687  return presolveBlockedClause_;
15688  }
15699  public Builder setPresolveBlockedClause(boolean value) {
15700  bitField1_ |= 0x08000000;
15701  presolveBlockedClause_ = value;
15702  onChanged();
15703  return this;
15704  }
15715  bitField1_ = (bitField1_ & ~0x08000000);
15716  presolveBlockedClause_ = true;
15717  onChanged();
15718  return this;
15719  }
15720 
15721  private boolean presolveUseBva_ = true;
15730  @java.lang.Override
15731  public boolean hasPresolveUseBva() {
15732  return ((bitField1_ & 0x10000000) != 0);
15733  }
15742  @java.lang.Override
15743  public boolean getPresolveUseBva() {
15744  return presolveUseBva_;
15745  }
15755  public Builder setPresolveUseBva(boolean value) {
15756  bitField1_ |= 0x10000000;
15757  presolveUseBva_ = value;
15758  onChanged();
15759  return this;
15760  }
15770  bitField1_ = (bitField1_ & ~0x10000000);
15771  presolveUseBva_ = true;
15772  onChanged();
15773  return this;
15774  }
15775 
15776  private int presolveBvaThreshold_ = 1;
15788  @java.lang.Override
15789  public boolean hasPresolveBvaThreshold() {
15790  return ((bitField1_ & 0x20000000) != 0);
15791  }
15803  @java.lang.Override
15805  return presolveBvaThreshold_;
15806  }
15819  public Builder setPresolveBvaThreshold(int value) {
15820  bitField1_ |= 0x20000000;
15821  presolveBvaThreshold_ = value;
15822  onChanged();
15823  return this;
15824  }
15837  bitField1_ = (bitField1_ & ~0x20000000);
15838  presolveBvaThreshold_ = 1;
15839  onChanged();
15840  return this;
15841  }
15842 
15843  private int maxPresolveIterations_ = 3;
15854  @java.lang.Override
15855  public boolean hasMaxPresolveIterations() {
15856  return ((bitField1_ & 0x40000000) != 0);
15857  }
15868  @java.lang.Override
15870  return maxPresolveIterations_;
15871  }
15883  public Builder setMaxPresolveIterations(int value) {
15884  bitField1_ |= 0x40000000;
15885  maxPresolveIterations_ = value;
15886  onChanged();
15887  return this;
15888  }
15900  bitField1_ = (bitField1_ & ~0x40000000);
15901  maxPresolveIterations_ = 3;
15902  onChanged();
15903  return this;
15904  }
15905 
15906  private boolean cpModelPresolve_ = true;
15915  @java.lang.Override
15916  public boolean hasCpModelPresolve() {
15917  return ((bitField1_ & 0x80000000) != 0);
15918  }
15927  @java.lang.Override
15928  public boolean getCpModelPresolve() {
15929  return cpModelPresolve_;
15930  }
15940  public Builder setCpModelPresolve(boolean value) {
15941  bitField1_ |= 0x80000000;
15942  cpModelPresolve_ = value;
15943  onChanged();
15944  return this;
15945  }
15955  bitField1_ = (bitField1_ & ~0x80000000);
15956  cpModelPresolve_ = true;
15957  onChanged();
15958  return this;
15959  }
15960 
15961  private boolean cpModelPostsolveWithFullSolver_ ;
15973  @java.lang.Override
15975  return ((bitField2_ & 0x00000001) != 0);
15976  }
15988  @java.lang.Override
15990  return cpModelPostsolveWithFullSolver_;
15991  }
16005  bitField2_ |= 0x00000001;
16006  cpModelPostsolveWithFullSolver_ = value;
16007  onChanged();
16008  return this;
16009  }
16022  bitField2_ = (bitField2_ & ~0x00000001);
16023  cpModelPostsolveWithFullSolver_ = false;
16024  onChanged();
16025  return this;
16026  }
16027 
16028  private int cpModelMaxNumPresolveOperations_ ;
16038  @java.lang.Override
16040  return ((bitField2_ & 0x00000002) != 0);
16041  }
16051  @java.lang.Override
16053  return cpModelMaxNumPresolveOperations_;
16054  }
16066  bitField2_ |= 0x00000002;
16067  cpModelMaxNumPresolveOperations_ = value;
16068  onChanged();
16069  return this;
16070  }
16081  bitField2_ = (bitField2_ & ~0x00000002);
16082  cpModelMaxNumPresolveOperations_ = 0;
16083  onChanged();
16084  return this;
16085  }
16086 
16087  private int cpModelProbingLevel_ = 2;
16096  @java.lang.Override
16097  public boolean hasCpModelProbingLevel() {
16098  return ((bitField2_ & 0x00000004) != 0);
16099  }
16108  @java.lang.Override
16109  public int getCpModelProbingLevel() {
16110  return cpModelProbingLevel_;
16111  }
16121  public Builder setCpModelProbingLevel(int value) {
16122  bitField2_ |= 0x00000004;
16123  cpModelProbingLevel_ = value;
16124  onChanged();
16125  return this;
16126  }
16136  bitField2_ = (bitField2_ & ~0x00000004);
16137  cpModelProbingLevel_ = 2;
16138  onChanged();
16139  return this;
16140  }
16141 
16142  private boolean cpModelUseSatPresolve_ = true;
16151  @java.lang.Override
16152  public boolean hasCpModelUseSatPresolve() {
16153  return ((bitField2_ & 0x00000008) != 0);
16154  }
16163  @java.lang.Override
16164  public boolean getCpModelUseSatPresolve() {
16165  return cpModelUseSatPresolve_;
16166  }
16176  public Builder setCpModelUseSatPresolve(boolean value) {
16177  bitField2_ |= 0x00000008;
16178  cpModelUseSatPresolve_ = value;
16179  onChanged();
16180  return this;
16181  }
16191  bitField2_ = (bitField2_ & ~0x00000008);
16192  cpModelUseSatPresolve_ = true;
16193  onChanged();
16194  return this;
16195  }
16196 
16197  private boolean useSatInprocessing_ ;
16202  @java.lang.Override
16203  public boolean hasUseSatInprocessing() {
16204  return ((bitField2_ & 0x00000010) != 0);
16205  }
16210  @java.lang.Override
16211  public boolean getUseSatInprocessing() {
16212  return useSatInprocessing_;
16213  }
16219  public Builder setUseSatInprocessing(boolean value) {
16220  bitField2_ |= 0x00000010;
16221  useSatInprocessing_ = value;
16222  onChanged();
16223  return this;
16224  }
16230  bitField2_ = (bitField2_ & ~0x00000010);
16231  useSatInprocessing_ = false;
16232  onChanged();
16233  return this;
16234  }
16235 
16236  private boolean expandElementConstraints_ = true;
16246  @java.lang.Override
16247  public boolean hasExpandElementConstraints() {
16248  return ((bitField2_ & 0x00000020) != 0);
16249  }
16259  @java.lang.Override
16260  public boolean getExpandElementConstraints() {
16261  return expandElementConstraints_;
16262  }
16273  public Builder setExpandElementConstraints(boolean value) {
16274  bitField2_ |= 0x00000020;
16275  expandElementConstraints_ = value;
16276  onChanged();
16277  return this;
16278  }
16289  bitField2_ = (bitField2_ & ~0x00000020);
16290  expandElementConstraints_ = true;
16291  onChanged();
16292  return this;
16293  }
16294 
16295  private boolean expandAutomatonConstraints_ = true;
16304  @java.lang.Override
16306  return ((bitField2_ & 0x00000040) != 0);
16307  }
16316  @java.lang.Override
16318  return expandAutomatonConstraints_;
16319  }
16329  public Builder setExpandAutomatonConstraints(boolean value) {
16330  bitField2_ |= 0x00000040;
16331  expandAutomatonConstraints_ = value;
16332  onChanged();
16333  return this;
16334  }
16344  bitField2_ = (bitField2_ & ~0x00000040);
16345  expandAutomatonConstraints_ = true;
16346  onChanged();
16347  return this;
16348  }
16349 
16350  private boolean expandTableConstraints_ = true;
16360  @java.lang.Override
16361  public boolean hasExpandTableConstraints() {
16362  return ((bitField2_ & 0x00000080) != 0);
16363  }
16373  @java.lang.Override
16374  public boolean getExpandTableConstraints() {
16375  return expandTableConstraints_;
16376  }
16387  public Builder setExpandTableConstraints(boolean value) {
16388  bitField2_ |= 0x00000080;
16389  expandTableConstraints_ = value;
16390  onChanged();
16391  return this;
16392  }
16403  bitField2_ = (bitField2_ & ~0x00000080);
16404  expandTableConstraints_ = true;
16405  onChanged();
16406  return this;
16407  }
16408 
16409  private boolean expandAlldiffConstraints_ ;
16419  @java.lang.Override
16420  public boolean hasExpandAlldiffConstraints() {
16421  return ((bitField2_ & 0x00000100) != 0);
16422  }
16432  @java.lang.Override
16433  public boolean getExpandAlldiffConstraints() {
16434  return expandAlldiffConstraints_;
16435  }
16446  public Builder setExpandAlldiffConstraints(boolean value) {
16447  bitField2_ |= 0x00000100;
16448  expandAlldiffConstraints_ = value;
16449  onChanged();
16450  return this;
16451  }
16462  bitField2_ = (bitField2_ & ~0x00000100);
16463  expandAlldiffConstraints_ = false;
16464  onChanged();
16465  return this;
16466  }
16467 
16468  private boolean expandReservoirConstraints_ = true;
16478  @java.lang.Override
16480  return ((bitField2_ & 0x00000200) != 0);
16481  }
16491  @java.lang.Override
16493  return expandReservoirConstraints_;
16494  }
16505  public Builder setExpandReservoirConstraints(boolean value) {
16506  bitField2_ |= 0x00000200;
16507  expandReservoirConstraints_ = value;
16508  onChanged();
16509  return this;
16510  }
16521  bitField2_ = (bitField2_ & ~0x00000200);
16522  expandReservoirConstraints_ = true;
16523  onChanged();
16524  return this;
16525  }
16526 
16527  private boolean disableConstraintExpansion_ ;
16537  @java.lang.Override
16539  return ((bitField2_ & 0x00000400) != 0);
16540  }
16550  @java.lang.Override
16552  return disableConstraintExpansion_;
16553  }
16564  public Builder setDisableConstraintExpansion(boolean value) {
16565  bitField2_ |= 0x00000400;
16566  disableConstraintExpansion_ = value;
16567  onChanged();
16568  return this;
16569  }
16580  bitField2_ = (bitField2_ & ~0x00000400);
16581  disableConstraintExpansion_ = false;
16582  onChanged();
16583  return this;
16584  }
16585 
16586  private double mergeNoOverlapWorkLimit_ = 1000000000000D;
16599  @java.lang.Override
16600  public boolean hasMergeNoOverlapWorkLimit() {
16601  return ((bitField2_ & 0x00000800) != 0);
16602  }
16615  @java.lang.Override
16616  public double getMergeNoOverlapWorkLimit() {
16617  return mergeNoOverlapWorkLimit_;
16618  }
16632  public Builder setMergeNoOverlapWorkLimit(double value) {
16633  bitField2_ |= 0x00000800;
16634  mergeNoOverlapWorkLimit_ = value;
16635  onChanged();
16636  return this;
16637  }
16651  bitField2_ = (bitField2_ & ~0x00000800);
16652  mergeNoOverlapWorkLimit_ = 1000000000000D;
16653  onChanged();
16654  return this;
16655  }
16656 
16657  private double mergeAtMostOneWorkLimit_ = 100000000D;
16662  @java.lang.Override
16663  public boolean hasMergeAtMostOneWorkLimit() {
16664  return ((bitField2_ & 0x00001000) != 0);
16665  }
16670  @java.lang.Override
16671  public double getMergeAtMostOneWorkLimit() {
16672  return mergeAtMostOneWorkLimit_;
16673  }
16679  public Builder setMergeAtMostOneWorkLimit(double value) {
16680  bitField2_ |= 0x00001000;
16681  mergeAtMostOneWorkLimit_ = value;
16682  onChanged();
16683  return this;
16684  }
16690  bitField2_ = (bitField2_ & ~0x00001000);
16691  mergeAtMostOneWorkLimit_ = 100000000D;
16692  onChanged();
16693  return this;
16694  }
16695 
16696  private int presolveSubstitutionLevel_ = 1;
16708  @java.lang.Override
16709  public boolean hasPresolveSubstitutionLevel() {
16710  return ((bitField2_ & 0x00002000) != 0);
16711  }
16723  @java.lang.Override
16725  return presolveSubstitutionLevel_;
16726  }
16740  bitField2_ |= 0x00002000;
16741  presolveSubstitutionLevel_ = value;
16742  onChanged();
16743  return this;
16744  }
16757  bitField2_ = (bitField2_ & ~0x00002000);
16758  presolveSubstitutionLevel_ = 1;
16759  onChanged();
16760  return this;
16761  }
16762 
16763  private boolean presolveExtractIntegerEnforcement_ ;
16777  @java.lang.Override
16779  return ((bitField2_ & 0x00004000) != 0);
16780  }
16794  @java.lang.Override
16796  return presolveExtractIntegerEnforcement_;
16797  }
16813  bitField2_ |= 0x00004000;
16814  presolveExtractIntegerEnforcement_ = value;
16815  onChanged();
16816  return this;
16817  }
16832  bitField2_ = (bitField2_ & ~0x00004000);
16833  presolveExtractIntegerEnforcement_ = false;
16834  onChanged();
16835  return this;
16836  }
16837 
16838  private boolean useOptimizationHints_ = true;
16850  @java.lang.Override
16851  public boolean hasUseOptimizationHints() {
16852  return ((bitField2_ & 0x00008000) != 0);
16853  }
16865  @java.lang.Override
16866  public boolean getUseOptimizationHints() {
16867  return useOptimizationHints_;
16868  }
16881  public Builder setUseOptimizationHints(boolean value) {
16882  bitField2_ |= 0x00008000;
16883  useOptimizationHints_ = value;
16884  onChanged();
16885  return this;
16886  }
16899  bitField2_ = (bitField2_ & ~0x00008000);
16900  useOptimizationHints_ = true;
16901  onChanged();
16902  return this;
16903  }
16904 
16905  private boolean minimizeCore_ = true;
16914  @java.lang.Override
16915  public boolean hasMinimizeCore() {
16916  return ((bitField2_ & 0x00010000) != 0);
16917  }
16926  @java.lang.Override
16927  public boolean getMinimizeCore() {
16928  return minimizeCore_;
16929  }
16939  public Builder setMinimizeCore(boolean value) {
16940  bitField2_ |= 0x00010000;
16941  minimizeCore_ = value;
16942  onChanged();
16943  return this;
16944  }
16954  bitField2_ = (bitField2_ & ~0x00010000);
16955  minimizeCore_ = true;
16956  onChanged();
16957  return this;
16958  }
16959 
16960  private boolean findMultipleCores_ = true;
16970  @java.lang.Override
16971  public boolean hasFindMultipleCores() {
16972  return ((bitField2_ & 0x00020000) != 0);
16973  }
16983  @java.lang.Override
16984  public boolean getFindMultipleCores() {
16985  return findMultipleCores_;
16986  }
16997  public Builder setFindMultipleCores(boolean value) {
16998  bitField2_ |= 0x00020000;
16999  findMultipleCores_ = value;
17000  onChanged();
17001  return this;
17002  }
17013  bitField2_ = (bitField2_ & ~0x00020000);
17014  findMultipleCores_ = true;
17015  onChanged();
17016  return this;
17017  }
17018 
17019  private boolean coverOptimization_ = true;
17029  @java.lang.Override
17030  public boolean hasCoverOptimization() {
17031  return ((bitField2_ & 0x00040000) != 0);
17032  }
17042  @java.lang.Override
17043  public boolean getCoverOptimization() {
17044  return coverOptimization_;
17045  }
17056  public Builder setCoverOptimization(boolean value) {
17057  bitField2_ |= 0x00040000;
17058  coverOptimization_ = value;
17059  onChanged();
17060  return this;
17061  }
17072  bitField2_ = (bitField2_ & ~0x00040000);
17073  coverOptimization_ = true;
17074  onChanged();
17075  return this;
17076  }
17077 
17078  private int maxSatAssumptionOrder_ = 0;
17083  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
17084  return ((bitField2_ & 0x00080000) != 0);
17085  }
17090  @java.lang.Override
17091  public com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder() {
17092  @SuppressWarnings("deprecation")
17093  com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder result = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(maxSatAssumptionOrder_);
17094  return result == null ? com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.DEFAULT_ASSUMPTION_ORDER : result;
17095  }
17101  public Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value) {
17102  if (value == null) {
17103  throw new NullPointerException();
17104  }
17105  bitField2_ |= 0x00080000;
17106  maxSatAssumptionOrder_ = value.getNumber();
17107  onChanged();
17108  return this;
17109  }
17115  bitField2_ = (bitField2_ & ~0x00080000);
17116  maxSatAssumptionOrder_ = 0;
17117  onChanged();
17118  return this;
17119  }
17120 
17121  private boolean maxSatReverseAssumptionOrder_ ;
17131  @java.lang.Override
17133  return ((bitField2_ & 0x00100000) != 0);
17134  }
17144  @java.lang.Override
17146  return maxSatReverseAssumptionOrder_;
17147  }
17159  bitField2_ |= 0x00100000;
17160  maxSatReverseAssumptionOrder_ = value;
17161  onChanged();
17162  return this;
17163  }
17174  bitField2_ = (bitField2_ & ~0x00100000);
17175  maxSatReverseAssumptionOrder_ = false;
17176  onChanged();
17177  return this;
17178  }
17179 
17180  private int maxSatStratification_ = 1;
17185  @java.lang.Override public boolean hasMaxSatStratification() {
17186  return ((bitField2_ & 0x00200000) != 0);
17187  }
17192  @java.lang.Override
17193  public com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification() {
17194  @SuppressWarnings("deprecation")
17195  com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm result = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(maxSatStratification_);
17196  return result == null ? com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.STRATIFICATION_DESCENT : result;
17197  }
17203  public Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value) {
17204  if (value == null) {
17205  throw new NullPointerException();
17206  }
17207  bitField2_ |= 0x00200000;
17208  maxSatStratification_ = value.getNumber();
17209  onChanged();
17210  return this;
17211  }
17217  bitField2_ = (bitField2_ & ~0x00200000);
17218  maxSatStratification_ = 1;
17219  onChanged();
17220  return this;
17221  }
17222 
17223  private boolean usePrecedencesInDisjunctiveConstraint_ = true;
17239  @java.lang.Override
17241  return ((bitField2_ & 0x00400000) != 0);
17242  }
17258  @java.lang.Override
17260  return usePrecedencesInDisjunctiveConstraint_;
17261  }
17279  bitField2_ |= 0x00400000;
17280  usePrecedencesInDisjunctiveConstraint_ = value;
17281  onChanged();
17282  return this;
17283  }
17300  bitField2_ = (bitField2_ & ~0x00400000);
17301  usePrecedencesInDisjunctiveConstraint_ = true;
17302  onChanged();
17303  return this;
17304  }
17305 
17306  private boolean useOverloadCheckerInCumulativeConstraint_ ;
17320  @java.lang.Override
17322  return ((bitField2_ & 0x00800000) != 0);
17323  }
17337  @java.lang.Override
17339  return useOverloadCheckerInCumulativeConstraint_;
17340  }
17356  bitField2_ |= 0x00800000;
17357  useOverloadCheckerInCumulativeConstraint_ = value;
17358  onChanged();
17359  return this;
17360  }
17375  bitField2_ = (bitField2_ & ~0x00800000);
17376  useOverloadCheckerInCumulativeConstraint_ = false;
17377  onChanged();
17378  return this;
17379  }
17380 
17381  private boolean useTimetableEdgeFindingInCumulativeConstraint_ ;
17395  @java.lang.Override
17397  return ((bitField2_ & 0x01000000) != 0);
17398  }
17412  @java.lang.Override
17414  return useTimetableEdgeFindingInCumulativeConstraint_;
17415  }
17431  bitField2_ |= 0x01000000;
17432  useTimetableEdgeFindingInCumulativeConstraint_ = value;
17433  onChanged();
17434  return this;
17435  }
17450  bitField2_ = (bitField2_ & ~0x01000000);
17451  useTimetableEdgeFindingInCumulativeConstraint_ = false;
17452  onChanged();
17453  return this;
17454  }
17455 
17456  private boolean useDisjunctiveConstraintInCumulativeConstraint_ = true;
17472  @java.lang.Override
17474  return ((bitField2_ & 0x02000000) != 0);
17475  }
17491  @java.lang.Override
17493  return useDisjunctiveConstraintInCumulativeConstraint_;
17494  }
17512  bitField2_ |= 0x02000000;
17513  useDisjunctiveConstraintInCumulativeConstraint_ = value;
17514  onChanged();
17515  return this;
17516  }
17533  bitField2_ = (bitField2_ & ~0x02000000);
17534  useDisjunctiveConstraintInCumulativeConstraint_ = true;
17535  onChanged();
17536  return this;
17537  }
17538 
17539  private int linearizationLevel_ = 1;
17551  @java.lang.Override
17552  public boolean hasLinearizationLevel() {
17553  return ((bitField2_ & 0x04000000) != 0);
17554  }
17566  @java.lang.Override
17567  public int getLinearizationLevel() {
17568  return linearizationLevel_;
17569  }
17582  public Builder setLinearizationLevel(int value) {
17583  bitField2_ |= 0x04000000;
17584  linearizationLevel_ = value;
17585  onChanged();
17586  return this;
17587  }
17600  bitField2_ = (bitField2_ & ~0x04000000);
17601  linearizationLevel_ = 1;
17602  onChanged();
17603  return this;
17604  }
17605 
17606  private int booleanEncodingLevel_ = 1;
17616  @java.lang.Override
17617  public boolean hasBooleanEncodingLevel() {
17618  return ((bitField2_ & 0x08000000) != 0);
17619  }
17629  @java.lang.Override
17631  return booleanEncodingLevel_;
17632  }
17643  public Builder setBooleanEncodingLevel(int value) {
17644  bitField2_ |= 0x08000000;
17645  booleanEncodingLevel_ = value;
17646  onChanged();
17647  return this;
17648  }
17659  bitField2_ = (bitField2_ & ~0x08000000);
17660  booleanEncodingLevel_ = 1;
17661  onChanged();
17662  return this;
17663  }
17664 
17665  private int maxNumCuts_ = 10000;
17677  @java.lang.Override
17678  public boolean hasMaxNumCuts() {
17679  return ((bitField2_ & 0x10000000) != 0);
17680  }
17692  @java.lang.Override
17693  public int getMaxNumCuts() {
17694  return maxNumCuts_;
17695  }
17708  public Builder setMaxNumCuts(int value) {
17709  bitField2_ |= 0x10000000;
17710  maxNumCuts_ = value;
17711  onChanged();
17712  return this;
17713  }
17726  bitField2_ = (bitField2_ & ~0x10000000);
17727  maxNumCuts_ = 10000;
17728  onChanged();
17729  return this;
17730  }
17731 
17732  private boolean onlyAddCutsAtLevelZero_ ;
17742  @java.lang.Override
17743  public boolean hasOnlyAddCutsAtLevelZero() {
17744  return ((bitField2_ & 0x20000000) != 0);
17745  }
17755  @java.lang.Override
17756  public boolean getOnlyAddCutsAtLevelZero() {
17757  return onlyAddCutsAtLevelZero_;
17758  }
17769  public Builder setOnlyAddCutsAtLevelZero(boolean value) {
17770  bitField2_ |= 0x20000000;
17771  onlyAddCutsAtLevelZero_ = value;
17772  onChanged();
17773  return this;
17774  }
17785  bitField2_ = (bitField2_ & ~0x20000000);
17786  onlyAddCutsAtLevelZero_ = false;
17787  onChanged();
17788  return this;
17789  }
17790 
17791  private boolean addKnapsackCuts_ ;
17802  @java.lang.Override
17803  public boolean hasAddKnapsackCuts() {
17804  return ((bitField2_ & 0x40000000) != 0);
17805  }
17816  @java.lang.Override
17817  public boolean getAddKnapsackCuts() {
17818  return addKnapsackCuts_;
17819  }
17831  public Builder setAddKnapsackCuts(boolean value) {
17832  bitField2_ |= 0x40000000;
17833  addKnapsackCuts_ = value;
17834  onChanged();
17835  return this;
17836  }
17848  bitField2_ = (bitField2_ & ~0x40000000);
17849  addKnapsackCuts_ = false;
17850  onChanged();
17851  return this;
17852  }
17853 
17854  private boolean addCgCuts_ = true;
17864  @java.lang.Override
17865  public boolean hasAddCgCuts() {
17866  return ((bitField2_ & 0x80000000) != 0);
17867  }
17877  @java.lang.Override
17878  public boolean getAddCgCuts() {
17879  return addCgCuts_;
17880  }
17891  public Builder setAddCgCuts(boolean value) {
17892  bitField2_ |= 0x80000000;
17893  addCgCuts_ = value;
17894  onChanged();
17895  return this;
17896  }
17907  bitField2_ = (bitField2_ & ~0x80000000);
17908  addCgCuts_ = true;
17909  onChanged();
17910  return this;
17911  }
17912 
17913  private boolean addMirCuts_ = true;
17923  @java.lang.Override
17924  public boolean hasAddMirCuts() {
17925  return ((bitField3_ & 0x00000001) != 0);
17926  }
17936  @java.lang.Override
17937  public boolean getAddMirCuts() {
17938  return addMirCuts_;
17939  }
17950  public Builder setAddMirCuts(boolean value) {
17951  bitField3_ |= 0x00000001;
17952  addMirCuts_ = value;
17953  onChanged();
17954  return this;
17955  }
17966  bitField3_ = (bitField3_ & ~0x00000001);
17967  addMirCuts_ = true;
17968  onChanged();
17969  return this;
17970  }
17971 
17972  private boolean addZeroHalfCuts_ = true;
17982  @java.lang.Override
17983  public boolean hasAddZeroHalfCuts() {
17984  return ((bitField3_ & 0x00000002) != 0);
17985  }
17995  @java.lang.Override
17996  public boolean getAddZeroHalfCuts() {
17997  return addZeroHalfCuts_;
17998  }
18009  public Builder setAddZeroHalfCuts(boolean value) {
18010  bitField3_ |= 0x00000002;
18011  addZeroHalfCuts_ = value;
18012  onChanged();
18013  return this;
18014  }
18025  bitField3_ = (bitField3_ & ~0x00000002);
18026  addZeroHalfCuts_ = true;
18027  onChanged();
18028  return this;
18029  }
18030 
18031  private boolean addCliqueCuts_ = true;
18042  @java.lang.Override
18043  public boolean hasAddCliqueCuts() {
18044  return ((bitField3_ & 0x00000004) != 0);
18045  }
18056  @java.lang.Override
18057  public boolean getAddCliqueCuts() {
18058  return addCliqueCuts_;
18059  }
18071  public Builder setAddCliqueCuts(boolean value) {
18072  bitField3_ |= 0x00000004;
18073  addCliqueCuts_ = value;
18074  onChanged();
18075  return this;
18076  }
18088  bitField3_ = (bitField3_ & ~0x00000004);
18089  addCliqueCuts_ = true;
18090  onChanged();
18091  return this;
18092  }
18093 
18094  private int maxAllDiffCutSize_ = 7;
18105  @java.lang.Override
18106  public boolean hasMaxAllDiffCutSize() {
18107  return ((bitField3_ & 0x00000008) != 0);
18108  }
18119  @java.lang.Override
18120  public int getMaxAllDiffCutSize() {
18121  return maxAllDiffCutSize_;
18122  }
18134  public Builder setMaxAllDiffCutSize(int value) {
18135  bitField3_ |= 0x00000008;
18136  maxAllDiffCutSize_ = value;
18137  onChanged();
18138  return this;
18139  }
18151  bitField3_ = (bitField3_ & ~0x00000008);
18152  maxAllDiffCutSize_ = 7;
18153  onChanged();
18154  return this;
18155  }
18156 
18157  private boolean addLinMaxCuts_ = true;
18168  @java.lang.Override
18169  public boolean hasAddLinMaxCuts() {
18170  return ((bitField3_ & 0x00000010) != 0);
18171  }
18182  @java.lang.Override
18183  public boolean getAddLinMaxCuts() {
18184  return addLinMaxCuts_;
18185  }
18197  public Builder setAddLinMaxCuts(boolean value) {
18198  bitField3_ |= 0x00000010;
18199  addLinMaxCuts_ = value;
18200  onChanged();
18201  return this;
18202  }
18214  bitField3_ = (bitField3_ & ~0x00000010);
18215  addLinMaxCuts_ = true;
18216  onChanged();
18217  return this;
18218  }
18219 
18220  private int maxIntegerRoundingScaling_ = 600;
18235  @java.lang.Override
18236  public boolean hasMaxIntegerRoundingScaling() {
18237  return ((bitField3_ & 0x00000020) != 0);
18238  }
18253  @java.lang.Override
18255  return maxIntegerRoundingScaling_;
18256  }
18273  bitField3_ |= 0x00000020;
18274  maxIntegerRoundingScaling_ = value;
18275  onChanged();
18276  return this;
18277  }
18293  bitField3_ = (bitField3_ & ~0x00000020);
18294  maxIntegerRoundingScaling_ = 600;
18295  onChanged();
18296  return this;
18297  }
18298 
18299  private boolean addLpConstraintsLazily_ = true;
18311  @java.lang.Override
18312  public boolean hasAddLpConstraintsLazily() {
18313  return ((bitField3_ & 0x00000040) != 0);
18314  }
18326  @java.lang.Override
18327  public boolean getAddLpConstraintsLazily() {
18328  return addLpConstraintsLazily_;
18329  }
18342  public Builder setAddLpConstraintsLazily(boolean value) {
18343  bitField3_ |= 0x00000040;
18344  addLpConstraintsLazily_ = value;
18345  onChanged();
18346  return this;
18347  }
18360  bitField3_ = (bitField3_ & ~0x00000040);
18361  addLpConstraintsLazily_ = true;
18362  onChanged();
18363  return this;
18364  }
18365 
18366  private double minOrthogonalityForLpConstraints_ = 0.05D;
18379  @java.lang.Override
18381  return ((bitField3_ & 0x00000080) != 0);
18382  }
18395  @java.lang.Override
18397  return minOrthogonalityForLpConstraints_;
18398  }
18413  bitField3_ |= 0x00000080;
18414  minOrthogonalityForLpConstraints_ = value;
18415  onChanged();
18416  return this;
18417  }
18431  bitField3_ = (bitField3_ & ~0x00000080);
18432  minOrthogonalityForLpConstraints_ = 0.05D;
18433  onChanged();
18434  return this;
18435  }
18436 
18437  private int maxCutRoundsAtLevelZero_ = 1;
18446  @java.lang.Override
18447  public boolean hasMaxCutRoundsAtLevelZero() {
18448  return ((bitField3_ & 0x00000100) != 0);
18449  }
18458  @java.lang.Override
18460  return maxCutRoundsAtLevelZero_;
18461  }
18472  bitField3_ |= 0x00000100;
18473  maxCutRoundsAtLevelZero_ = value;
18474  onChanged();
18475  return this;
18476  }
18486  bitField3_ = (bitField3_ & ~0x00000100);
18487  maxCutRoundsAtLevelZero_ = 1;
18488  onChanged();
18489  return this;
18490  }
18491 
18492  private int maxConsecutiveInactiveCount_ = 100;
18503  @java.lang.Override
18505  return ((bitField3_ & 0x00000200) != 0);
18506  }
18517  @java.lang.Override
18519  return maxConsecutiveInactiveCount_;
18520  }
18533  bitField3_ |= 0x00000200;
18534  maxConsecutiveInactiveCount_ = value;
18535  onChanged();
18536  return this;
18537  }
18549  bitField3_ = (bitField3_ & ~0x00000200);
18550  maxConsecutiveInactiveCount_ = 100;
18551  onChanged();
18552  return this;
18553  }
18554 
18555  private double cutMaxActiveCountValue_ = 10000000000D;
18566  @java.lang.Override
18567  public boolean hasCutMaxActiveCountValue() {
18568  return ((bitField3_ & 0x00000400) != 0);
18569  }
18580  @java.lang.Override
18581  public double getCutMaxActiveCountValue() {
18582  return cutMaxActiveCountValue_;
18583  }
18595  public Builder setCutMaxActiveCountValue(double value) {
18596  bitField3_ |= 0x00000400;
18597  cutMaxActiveCountValue_ = value;
18598  onChanged();
18599  return this;
18600  }
18612  bitField3_ = (bitField3_ & ~0x00000400);
18613  cutMaxActiveCountValue_ = 10000000000D;
18614  onChanged();
18615  return this;
18616  }
18617 
18618  private double cutActiveCountDecay_ = 0.8D;
18623  @java.lang.Override
18624  public boolean hasCutActiveCountDecay() {
18625  return ((bitField3_ & 0x00000800) != 0);
18626  }
18631  @java.lang.Override
18632  public double getCutActiveCountDecay() {
18633  return cutActiveCountDecay_;
18634  }
18640  public Builder setCutActiveCountDecay(double value) {
18641  bitField3_ |= 0x00000800;
18642  cutActiveCountDecay_ = value;
18643  onChanged();
18644  return this;
18645  }
18651  bitField3_ = (bitField3_ & ~0x00000800);
18652  cutActiveCountDecay_ = 0.8D;
18653  onChanged();
18654  return this;
18655  }
18656 
18657  private int cutCleanupTarget_ = 1000;
18666  @java.lang.Override
18667  public boolean hasCutCleanupTarget() {
18668  return ((bitField3_ & 0x00001000) != 0);
18669  }
18678  @java.lang.Override
18679  public int getCutCleanupTarget() {
18680  return cutCleanupTarget_;
18681  }
18691  public Builder setCutCleanupTarget(int value) {
18692  bitField3_ |= 0x00001000;
18693  cutCleanupTarget_ = value;
18694  onChanged();
18695  return this;
18696  }
18706  bitField3_ = (bitField3_ & ~0x00001000);
18707  cutCleanupTarget_ = 1000;
18708  onChanged();
18709  return this;
18710  }
18711 
18712  private int newConstraintsBatchSize_ = 50;
18722  @java.lang.Override
18723  public boolean hasNewConstraintsBatchSize() {
18724  return ((bitField3_ & 0x00002000) != 0);
18725  }
18735  @java.lang.Override
18737  return newConstraintsBatchSize_;
18738  }
18750  bitField3_ |= 0x00002000;
18751  newConstraintsBatchSize_ = value;
18752  onChanged();
18753  return this;
18754  }
18765  bitField3_ = (bitField3_ & ~0x00002000);
18766  newConstraintsBatchSize_ = 50;
18767  onChanged();
18768  return this;
18769  }
18770 
18771  private int searchBranching_ = 0;
18776  @java.lang.Override public boolean hasSearchBranching() {
18777  return ((bitField3_ & 0x00004000) != 0);
18778  }
18783  @java.lang.Override
18784  public com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching() {
18785  @SuppressWarnings("deprecation")
18786  com.google.ortools.sat.SatParameters.SearchBranching result = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(searchBranching_);
18787  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
18788  }
18794  public Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value) {
18795  if (value == null) {
18796  throw new NullPointerException();
18797  }
18798  bitField3_ |= 0x00004000;
18799  searchBranching_ = value.getNumber();
18800  onChanged();
18801  return this;
18802  }
18808  bitField3_ = (bitField3_ & ~0x00004000);
18809  searchBranching_ = 0;
18810  onChanged();
18811  return this;
18812  }
18813 
18814  private int hintConflictLimit_ = 10;
18823  @java.lang.Override
18824  public boolean hasHintConflictLimit() {
18825  return ((bitField3_ & 0x00008000) != 0);
18826  }
18835  @java.lang.Override
18836  public int getHintConflictLimit() {
18837  return hintConflictLimit_;
18838  }
18848  public Builder setHintConflictLimit(int value) {
18849  bitField3_ |= 0x00008000;
18850  hintConflictLimit_ = value;
18851  onChanged();
18852  return this;
18853  }
18863  bitField3_ = (bitField3_ & ~0x00008000);
18864  hintConflictLimit_ = 10;
18865  onChanged();
18866  return this;
18867  }
18868 
18869  private boolean repairHint_ ;
18881  @java.lang.Override
18882  public boolean hasRepairHint() {
18883  return ((bitField3_ & 0x00010000) != 0);
18884  }
18896  @java.lang.Override
18897  public boolean getRepairHint() {
18898  return repairHint_;
18899  }
18912  public Builder setRepairHint(boolean value) {
18913  bitField3_ |= 0x00010000;
18914  repairHint_ = value;
18915  onChanged();
18916  return this;
18917  }
18930  bitField3_ = (bitField3_ & ~0x00010000);
18931  repairHint_ = false;
18932  onChanged();
18933  return this;
18934  }
18935 
18936  private boolean exploitIntegerLpSolution_ = true;
18948  @java.lang.Override
18949  public boolean hasExploitIntegerLpSolution() {
18950  return ((bitField3_ & 0x00020000) != 0);
18951  }
18963  @java.lang.Override
18964  public boolean getExploitIntegerLpSolution() {
18965  return exploitIntegerLpSolution_;
18966  }
18979  public Builder setExploitIntegerLpSolution(boolean value) {
18980  bitField3_ |= 0x00020000;
18981  exploitIntegerLpSolution_ = value;
18982  onChanged();
18983  return this;
18984  }
18997  bitField3_ = (bitField3_ & ~0x00020000);
18998  exploitIntegerLpSolution_ = true;
18999  onChanged();
19000  return this;
19001  }
19002 
19003  private boolean exploitAllLpSolution_ = true;
19014  @java.lang.Override
19015  public boolean hasExploitAllLpSolution() {
19016  return ((bitField3_ & 0x00040000) != 0);
19017  }
19028  @java.lang.Override
19029  public boolean getExploitAllLpSolution() {
19030  return exploitAllLpSolution_;
19031  }
19043  public Builder setExploitAllLpSolution(boolean value) {
19044  bitField3_ |= 0x00040000;
19045  exploitAllLpSolution_ = value;
19046  onChanged();
19047  return this;
19048  }
19060  bitField3_ = (bitField3_ & ~0x00040000);
19061  exploitAllLpSolution_ = true;
19062  onChanged();
19063  return this;
19064  }
19065 
19066  private boolean exploitBestSolution_ ;
19075  @java.lang.Override
19076  public boolean hasExploitBestSolution() {
19077  return ((bitField3_ & 0x00080000) != 0);
19078  }
19087  @java.lang.Override
19088  public boolean getExploitBestSolution() {
19089  return exploitBestSolution_;
19090  }
19100  public Builder setExploitBestSolution(boolean value) {
19101  bitField3_ |= 0x00080000;
19102  exploitBestSolution_ = value;
19103  onChanged();
19104  return this;
19105  }
19115  bitField3_ = (bitField3_ & ~0x00080000);
19116  exploitBestSolution_ = false;
19117  onChanged();
19118  return this;
19119  }
19120 
19121  private boolean exploitRelaxationSolution_ ;
19132  @java.lang.Override
19133  public boolean hasExploitRelaxationSolution() {
19134  return ((bitField3_ & 0x00100000) != 0);
19135  }
19146  @java.lang.Override
19147  public boolean getExploitRelaxationSolution() {
19148  return exploitRelaxationSolution_;
19149  }
19161  public Builder setExploitRelaxationSolution(boolean value) {
19162  bitField3_ |= 0x00100000;
19163  exploitRelaxationSolution_ = value;
19164  onChanged();
19165  return this;
19166  }
19178  bitField3_ = (bitField3_ & ~0x00100000);
19179  exploitRelaxationSolution_ = false;
19180  onChanged();
19181  return this;
19182  }
19183 
19184  private boolean exploitObjective_ = true;
19194  @java.lang.Override
19195  public boolean hasExploitObjective() {
19196  return ((bitField3_ & 0x00200000) != 0);
19197  }
19207  @java.lang.Override
19208  public boolean getExploitObjective() {
19209  return exploitObjective_;
19210  }
19221  public Builder setExploitObjective(boolean value) {
19222  bitField3_ |= 0x00200000;
19223  exploitObjective_ = value;
19224  onChanged();
19225  return this;
19226  }
19237  bitField3_ = (bitField3_ & ~0x00200000);
19238  exploitObjective_ = true;
19239  onChanged();
19240  return this;
19241  }
19242 
19243  private long probingPeriodAtRoot_ ;
19254  @java.lang.Override
19255  public boolean hasProbingPeriodAtRoot() {
19256  return ((bitField3_ & 0x00400000) != 0);
19257  }
19268  @java.lang.Override
19269  public long getProbingPeriodAtRoot() {
19270  return probingPeriodAtRoot_;
19271  }
19283  public Builder setProbingPeriodAtRoot(long value) {
19284  bitField3_ |= 0x00400000;
19285  probingPeriodAtRoot_ = value;
19286  onChanged();
19287  return this;
19288  }
19300  bitField3_ = (bitField3_ & ~0x00400000);
19301  probingPeriodAtRoot_ = 0L;
19302  onChanged();
19303  return this;
19304  }
19305 
19306  private boolean useProbingSearch_ ;
19316  @java.lang.Override
19317  public boolean hasUseProbingSearch() {
19318  return ((bitField3_ & 0x00800000) != 0);
19319  }
19329  @java.lang.Override
19330  public boolean getUseProbingSearch() {
19331  return useProbingSearch_;
19332  }
19343  public Builder setUseProbingSearch(boolean value) {
19344  bitField3_ |= 0x00800000;
19345  useProbingSearch_ = value;
19346  onChanged();
19347  return this;
19348  }
19359  bitField3_ = (bitField3_ & ~0x00800000);
19360  useProbingSearch_ = false;
19361  onChanged();
19362  return this;
19363  }
19364 
19365  private long pseudoCostReliabilityThreshold_ = 100L;
19375  @java.lang.Override
19377  return ((bitField3_ & 0x01000000) != 0);
19378  }
19388  @java.lang.Override
19390  return pseudoCostReliabilityThreshold_;
19391  }
19403  bitField3_ |= 0x01000000;
19404  pseudoCostReliabilityThreshold_ = value;
19405  onChanged();
19406  return this;
19407  }
19418  bitField3_ = (bitField3_ & ~0x01000000);
19419  pseudoCostReliabilityThreshold_ = 100L;
19420  onChanged();
19421  return this;
19422  }
19423 
19424  private boolean optimizeWithCore_ ;
19436  @java.lang.Override
19437  public boolean hasOptimizeWithCore() {
19438  return ((bitField3_ & 0x02000000) != 0);
19439  }
19451  @java.lang.Override
19452  public boolean getOptimizeWithCore() {
19453  return optimizeWithCore_;
19454  }
19467  public Builder setOptimizeWithCore(boolean value) {
19468  bitField3_ |= 0x02000000;
19469  optimizeWithCore_ = value;
19470  onChanged();
19471  return this;
19472  }
19485  bitField3_ = (bitField3_ & ~0x02000000);
19486  optimizeWithCore_ = false;
19487  onChanged();
19488  return this;
19489  }
19490 
19491  private int binarySearchNumConflicts_ = -1;
19503  @java.lang.Override
19504  public boolean hasBinarySearchNumConflicts() {
19505  return ((bitField3_ & 0x04000000) != 0);
19506  }
19518  @java.lang.Override
19520  return binarySearchNumConflicts_;
19521  }
19535  bitField3_ |= 0x04000000;
19536  binarySearchNumConflicts_ = value;
19537  onChanged();
19538  return this;
19539  }
19552  bitField3_ = (bitField3_ & ~0x04000000);
19553  binarySearchNumConflicts_ = -1;
19554  onChanged();
19555  return this;
19556  }
19557 
19558  private boolean optimizeWithMaxHs_ ;
19572  @java.lang.Override
19573  public boolean hasOptimizeWithMaxHs() {
19574  return ((bitField3_ & 0x08000000) != 0);
19575  }
19589  @java.lang.Override
19590  public boolean getOptimizeWithMaxHs() {
19591  return optimizeWithMaxHs_;
19592  }
19607  public Builder setOptimizeWithMaxHs(boolean value) {
19608  bitField3_ |= 0x08000000;
19609  optimizeWithMaxHs_ = value;
19610  onChanged();
19611  return this;
19612  }
19627  bitField3_ = (bitField3_ & ~0x08000000);
19628  optimizeWithMaxHs_ = false;
19629  onChanged();
19630  return this;
19631  }
19632 
19633  private boolean enumerateAllSolutions_ ;
19647  @java.lang.Override
19648  public boolean hasEnumerateAllSolutions() {
19649  return ((bitField3_ & 0x10000000) != 0);
19650  }
19664  @java.lang.Override
19665  public boolean getEnumerateAllSolutions() {
19666  return enumerateAllSolutions_;
19667  }
19682  public Builder setEnumerateAllSolutions(boolean value) {
19683  bitField3_ |= 0x10000000;
19684  enumerateAllSolutions_ = value;
19685  onChanged();
19686  return this;
19687  }
19702  bitField3_ = (bitField3_ & ~0x10000000);
19703  enumerateAllSolutions_ = false;
19704  onChanged();
19705  return this;
19706  }
19707 
19708  private boolean keepAllFeasibleSolutionsInPresolve_ ;
19723  @java.lang.Override
19725  return ((bitField3_ & 0x20000000) != 0);
19726  }
19741  @java.lang.Override
19743  return keepAllFeasibleSolutionsInPresolve_;
19744  }
19761  bitField3_ |= 0x20000000;
19762  keepAllFeasibleSolutionsInPresolve_ = value;
19763  onChanged();
19764  return this;
19765  }
19781  bitField3_ = (bitField3_ & ~0x20000000);
19782  keepAllFeasibleSolutionsInPresolve_ = false;
19783  onChanged();
19784  return this;
19785  }
19786 
19787  private boolean fillTightenedDomainsInResponse_ ;
19800  @java.lang.Override
19802  return ((bitField3_ & 0x40000000) != 0);
19803  }
19816  @java.lang.Override
19818  return fillTightenedDomainsInResponse_;
19819  }
19834  bitField3_ |= 0x40000000;
19835  fillTightenedDomainsInResponse_ = value;
19836  onChanged();
19837  return this;
19838  }
19852  bitField3_ = (bitField3_ & ~0x40000000);
19853  fillTightenedDomainsInResponse_ = false;
19854  onChanged();
19855  return this;
19856  }
19857 
19858  private boolean instantiateAllVariables_ = true;
19868  @java.lang.Override
19869  public boolean hasInstantiateAllVariables() {
19870  return ((bitField3_ & 0x80000000) != 0);
19871  }
19881  @java.lang.Override
19882  public boolean getInstantiateAllVariables() {
19883  return instantiateAllVariables_;
19884  }
19895  public Builder setInstantiateAllVariables(boolean value) {
19896  bitField3_ |= 0x80000000;
19897  instantiateAllVariables_ = value;
19898  onChanged();
19899  return this;
19900  }
19911  bitField3_ = (bitField3_ & ~0x80000000);
19912  instantiateAllVariables_ = true;
19913  onChanged();
19914  return this;
19915  }
19916 
19917  private boolean autoDetectGreaterThanAtLeastOneOf_ = true;
19929  @java.lang.Override
19931  return ((bitField4_ & 0x00000001) != 0);
19932  }
19944  @java.lang.Override
19946  return autoDetectGreaterThanAtLeastOneOf_;
19947  }
19961  bitField4_ |= 0x00000001;
19962  autoDetectGreaterThanAtLeastOneOf_ = value;
19963  onChanged();
19964  return this;
19965  }
19978  bitField4_ = (bitField4_ & ~0x00000001);
19979  autoDetectGreaterThanAtLeastOneOf_ = true;
19980  onChanged();
19981  return this;
19982  }
19983 
19984  private boolean stopAfterFirstSolution_ ;
19993  @java.lang.Override
19994  public boolean hasStopAfterFirstSolution() {
19995  return ((bitField4_ & 0x00000002) != 0);
19996  }
20005  @java.lang.Override
20006  public boolean getStopAfterFirstSolution() {
20007  return stopAfterFirstSolution_;
20008  }
20018  public Builder setStopAfterFirstSolution(boolean value) {
20019  bitField4_ |= 0x00000002;
20020  stopAfterFirstSolution_ = value;
20021  onChanged();
20022  return this;
20023  }
20033  bitField4_ = (bitField4_ & ~0x00000002);
20034  stopAfterFirstSolution_ = false;
20035  onChanged();
20036  return this;
20037  }
20038 
20039  private boolean stopAfterPresolve_ ;
20049  @java.lang.Override
20050  public boolean hasStopAfterPresolve() {
20051  return ((bitField4_ & 0x00000004) != 0);
20052  }
20062  @java.lang.Override
20063  public boolean getStopAfterPresolve() {
20064  return stopAfterPresolve_;
20065  }
20076  public Builder setStopAfterPresolve(boolean value) {
20077  bitField4_ |= 0x00000004;
20078  stopAfterPresolve_ = value;
20079  onChanged();
20080  return this;
20081  }
20092  bitField4_ = (bitField4_ & ~0x00000004);
20093  stopAfterPresolve_ = false;
20094  onChanged();
20095  return this;
20096  }
20097 
20098  private int numSearchWorkers_ = 1;
20112  @java.lang.Override
20113  public boolean hasNumSearchWorkers() {
20114  return ((bitField4_ & 0x00000008) != 0);
20115  }
20129  @java.lang.Override
20130  public int getNumSearchWorkers() {
20131  return numSearchWorkers_;
20132  }
20147  public Builder setNumSearchWorkers(int value) {
20148  bitField4_ |= 0x00000008;
20149  numSearchWorkers_ = value;
20150  onChanged();
20151  return this;
20152  }
20167  bitField4_ = (bitField4_ & ~0x00000008);
20168  numSearchWorkers_ = 1;
20169  onChanged();
20170  return this;
20171  }
20172 
20173  private boolean interleaveSearch_ ;
20186  @java.lang.Override
20187  public boolean hasInterleaveSearch() {
20188  return ((bitField4_ & 0x00000010) != 0);
20189  }
20202  @java.lang.Override
20203  public boolean getInterleaveSearch() {
20204  return interleaveSearch_;
20205  }
20219  public Builder setInterleaveSearch(boolean value) {
20220  bitField4_ |= 0x00000010;
20221  interleaveSearch_ = value;
20222  onChanged();
20223  return this;
20224  }
20238  bitField4_ = (bitField4_ & ~0x00000010);
20239  interleaveSearch_ = false;
20240  onChanged();
20241  return this;
20242  }
20243 
20244  private int interleaveBatchSize_ = 1;
20249  @java.lang.Override
20250  public boolean hasInterleaveBatchSize() {
20251  return ((bitField4_ & 0x00000020) != 0);
20252  }
20257  @java.lang.Override
20258  public int getInterleaveBatchSize() {
20259  return interleaveBatchSize_;
20260  }
20266  public Builder setInterleaveBatchSize(int value) {
20267  bitField4_ |= 0x00000020;
20268  interleaveBatchSize_ = value;
20269  onChanged();
20270  return this;
20271  }
20277  bitField4_ = (bitField4_ & ~0x00000020);
20278  interleaveBatchSize_ = 1;
20279  onChanged();
20280  return this;
20281  }
20282 
20283  private boolean reduceMemoryUsageInInterleaveMode_ ;
20292  @java.lang.Override
20294  return ((bitField4_ & 0x00000040) != 0);
20295  }
20304  @java.lang.Override
20306  return reduceMemoryUsageInInterleaveMode_;
20307  }
20318  bitField4_ |= 0x00000040;
20319  reduceMemoryUsageInInterleaveMode_ = value;
20320  onChanged();
20321  return this;
20322  }
20332  bitField4_ = (bitField4_ & ~0x00000040);
20333  reduceMemoryUsageInInterleaveMode_ = false;
20334  onChanged();
20335  return this;
20336  }
20337 
20338  private boolean shareObjectiveBounds_ = true;
20347  @java.lang.Override
20348  public boolean hasShareObjectiveBounds() {
20349  return ((bitField4_ & 0x00000080) != 0);
20350  }
20359  @java.lang.Override
20360  public boolean getShareObjectiveBounds() {
20361  return shareObjectiveBounds_;
20362  }
20372  public Builder setShareObjectiveBounds(boolean value) {
20373  bitField4_ |= 0x00000080;
20374  shareObjectiveBounds_ = value;
20375  onChanged();
20376  return this;
20377  }
20387  bitField4_ = (bitField4_ & ~0x00000080);
20388  shareObjectiveBounds_ = true;
20389  onChanged();
20390  return this;
20391  }
20392 
20393  private boolean shareLevelZeroBounds_ = true;
20402  @java.lang.Override
20403  public boolean hasShareLevelZeroBounds() {
20404  return ((bitField4_ & 0x00000100) != 0);
20405  }
20414  @java.lang.Override
20415  public boolean getShareLevelZeroBounds() {
20416  return shareLevelZeroBounds_;
20417  }
20427  public Builder setShareLevelZeroBounds(boolean value) {
20428  bitField4_ |= 0x00000100;
20429  shareLevelZeroBounds_ = value;
20430  onChanged();
20431  return this;
20432  }
20442  bitField4_ = (bitField4_ & ~0x00000100);
20443  shareLevelZeroBounds_ = true;
20444  onChanged();
20445  return this;
20446  }
20447 
20448  private boolean useLnsOnly_ ;
20457  @java.lang.Override
20458  public boolean hasUseLnsOnly() {
20459  return ((bitField4_ & 0x00000200) != 0);
20460  }
20469  @java.lang.Override
20470  public boolean getUseLnsOnly() {
20471  return useLnsOnly_;
20472  }
20482  public Builder setUseLnsOnly(boolean value) {
20483  bitField4_ |= 0x00000200;
20484  useLnsOnly_ = value;
20485  onChanged();
20486  return this;
20487  }
20497  bitField4_ = (bitField4_ & ~0x00000200);
20498  useLnsOnly_ = false;
20499  onChanged();
20500  return this;
20501  }
20502 
20503  private boolean lnsFocusOnDecisionVariables_ ;
20508  @java.lang.Override
20510  return ((bitField4_ & 0x00000400) != 0);
20511  }
20516  @java.lang.Override
20518  return lnsFocusOnDecisionVariables_;
20519  }
20525  public Builder setLnsFocusOnDecisionVariables(boolean value) {
20526  bitField4_ |= 0x00000400;
20527  lnsFocusOnDecisionVariables_ = value;
20528  onChanged();
20529  return this;
20530  }
20536  bitField4_ = (bitField4_ & ~0x00000400);
20537  lnsFocusOnDecisionVariables_ = false;
20538  onChanged();
20539  return this;
20540  }
20541 
20542  private boolean lnsExpandIntervalsInConstraintGraph_ = true;
20547  @java.lang.Override
20549  return ((bitField4_ & 0x00000800) != 0);
20550  }
20555  @java.lang.Override
20557  return lnsExpandIntervalsInConstraintGraph_;
20558  }
20565  bitField4_ |= 0x00000800;
20566  lnsExpandIntervalsInConstraintGraph_ = value;
20567  onChanged();
20568  return this;
20569  }
20575  bitField4_ = (bitField4_ & ~0x00000800);
20576  lnsExpandIntervalsInConstraintGraph_ = true;
20577  onChanged();
20578  return this;
20579  }
20580 
20581  private boolean useRinsLns_ = true;
20590  @java.lang.Override
20591  public boolean hasUseRinsLns() {
20592  return ((bitField4_ & 0x00001000) != 0);
20593  }
20602  @java.lang.Override
20603  public boolean getUseRinsLns() {
20604  return useRinsLns_;
20605  }
20615  public Builder setUseRinsLns(boolean value) {
20616  bitField4_ |= 0x00001000;
20617  useRinsLns_ = value;
20618  onChanged();
20619  return this;
20620  }
20630  bitField4_ = (bitField4_ & ~0x00001000);
20631  useRinsLns_ = true;
20632  onChanged();
20633  return this;
20634  }
20635 
20636  private boolean useFeasibilityPump_ = true;
20645  @java.lang.Override
20646  public boolean hasUseFeasibilityPump() {
20647  return ((bitField4_ & 0x00002000) != 0);
20648  }
20657  @java.lang.Override
20658  public boolean getUseFeasibilityPump() {
20659  return useFeasibilityPump_;
20660  }
20670  public Builder setUseFeasibilityPump(boolean value) {
20671  bitField4_ |= 0x00002000;
20672  useFeasibilityPump_ = value;
20673  onChanged();
20674  return this;
20675  }
20685  bitField4_ = (bitField4_ & ~0x00002000);
20686  useFeasibilityPump_ = true;
20687  onChanged();
20688  return this;
20689  }
20690 
20691  private int fpRounding_ = 2;
20696  @java.lang.Override public boolean hasFpRounding() {
20697  return ((bitField4_ & 0x00004000) != 0);
20698  }
20703  @java.lang.Override
20704  public com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding() {
20705  @SuppressWarnings("deprecation")
20706  com.google.ortools.sat.SatParameters.FPRoundingMethod result = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(fpRounding_);
20707  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
20708  }
20714  public Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value) {
20715  if (value == null) {
20716  throw new NullPointerException();
20717  }
20718  bitField4_ |= 0x00004000;
20719  fpRounding_ = value.getNumber();
20720  onChanged();
20721  return this;
20722  }
20728  bitField4_ = (bitField4_ & ~0x00004000);
20729  fpRounding_ = 2;
20730  onChanged();
20731  return this;
20732  }
20733 
20734  private boolean useRelaxationLns_ ;
20744  @java.lang.Override
20745  public boolean hasUseRelaxationLns() {
20746  return ((bitField4_ & 0x00008000) != 0);
20747  }
20757  @java.lang.Override
20758  public boolean getUseRelaxationLns() {
20759  return useRelaxationLns_;
20760  }
20771  public Builder setUseRelaxationLns(boolean value) {
20772  bitField4_ |= 0x00008000;
20773  useRelaxationLns_ = value;
20774  onChanged();
20775  return this;
20776  }
20787  bitField4_ = (bitField4_ & ~0x00008000);
20788  useRelaxationLns_ = false;
20789  onChanged();
20790  return this;
20791  }
20792 
20793  private boolean diversifyLnsParams_ ;
20802  @java.lang.Override
20803  public boolean hasDiversifyLnsParams() {
20804  return ((bitField4_ & 0x00010000) != 0);
20805  }
20814  @java.lang.Override
20815  public boolean getDiversifyLnsParams() {
20816  return diversifyLnsParams_;
20817  }
20827  public Builder setDiversifyLnsParams(boolean value) {
20828  bitField4_ |= 0x00010000;
20829  diversifyLnsParams_ = value;
20830  onChanged();
20831  return this;
20832  }
20842  bitField4_ = (bitField4_ & ~0x00010000);
20843  diversifyLnsParams_ = false;
20844  onChanged();
20845  return this;
20846  }
20847 
20848  private boolean randomizeSearch_ ;
20857  @java.lang.Override
20858  public boolean hasRandomizeSearch() {
20859  return ((bitField4_ & 0x00020000) != 0);
20860  }
20869  @java.lang.Override
20870  public boolean getRandomizeSearch() {
20871  return randomizeSearch_;
20872  }
20882  public Builder setRandomizeSearch(boolean value) {
20883  bitField4_ |= 0x00020000;
20884  randomizeSearch_ = value;
20885  onChanged();
20886  return this;
20887  }
20897  bitField4_ = (bitField4_ & ~0x00020000);
20898  randomizeSearch_ = false;
20899  onChanged();
20900  return this;
20901  }
20902 
20903  private long searchRandomizationTolerance_ ;
20918  @java.lang.Override
20920  return ((bitField4_ & 0x00040000) != 0);
20921  }
20936  @java.lang.Override
20938  return searchRandomizationTolerance_;
20939  }
20956  bitField4_ |= 0x00040000;
20957  searchRandomizationTolerance_ = value;
20958  onChanged();
20959  return this;
20960  }
20976  bitField4_ = (bitField4_ & ~0x00040000);
20977  searchRandomizationTolerance_ = 0L;
20978  onChanged();
20979  return this;
20980  }
20981 
20982  private boolean useOptionalVariables_ = true;
20993  @java.lang.Override
20994  public boolean hasUseOptionalVariables() {
20995  return ((bitField4_ & 0x00080000) != 0);
20996  }
21007  @java.lang.Override
21008  public boolean getUseOptionalVariables() {
21009  return useOptionalVariables_;
21010  }
21022  public Builder setUseOptionalVariables(boolean value) {
21023  bitField4_ |= 0x00080000;
21024  useOptionalVariables_ = value;
21025  onChanged();
21026  return this;
21027  }
21039  bitField4_ = (bitField4_ & ~0x00080000);
21040  useOptionalVariables_ = true;
21041  onChanged();
21042  return this;
21043  }
21044 
21045  private boolean useExactLpReason_ = true;
21057  @java.lang.Override
21058  public boolean hasUseExactLpReason() {
21059  return ((bitField4_ & 0x00100000) != 0);
21060  }
21072  @java.lang.Override
21073  public boolean getUseExactLpReason() {
21074  return useExactLpReason_;
21075  }
21088  public Builder setUseExactLpReason(boolean value) {
21089  bitField4_ |= 0x00100000;
21090  useExactLpReason_ = value;
21091  onChanged();
21092  return this;
21093  }
21106  bitField4_ = (bitField4_ & ~0x00100000);
21107  useExactLpReason_ = true;
21108  onChanged();
21109  return this;
21110  }
21111 
21112  private boolean useBranchingInLp_ ;
21123  @java.lang.Override
21124  public boolean hasUseBranchingInLp() {
21125  return ((bitField4_ & 0x00200000) != 0);
21126  }
21137  @java.lang.Override
21138  public boolean getUseBranchingInLp() {
21139  return useBranchingInLp_;
21140  }
21152  public Builder setUseBranchingInLp(boolean value) {
21153  bitField4_ |= 0x00200000;
21154  useBranchingInLp_ = value;
21155  onChanged();
21156  return this;
21157  }
21169  bitField4_ = (bitField4_ & ~0x00200000);
21170  useBranchingInLp_ = false;
21171  onChanged();
21172  return this;
21173  }
21174 
21175  private boolean useCombinedNoOverlap_ ;
21186  @java.lang.Override
21187  public boolean hasUseCombinedNoOverlap() {
21188  return ((bitField4_ & 0x00400000) != 0);
21189  }
21200  @java.lang.Override
21201  public boolean getUseCombinedNoOverlap() {
21202  return useCombinedNoOverlap_;
21203  }
21215  public Builder setUseCombinedNoOverlap(boolean value) {
21216  bitField4_ |= 0x00400000;
21217  useCombinedNoOverlap_ = value;
21218  onChanged();
21219  return this;
21220  }
21232  bitField4_ = (bitField4_ & ~0x00400000);
21233  useCombinedNoOverlap_ = false;
21234  onChanged();
21235  return this;
21236  }
21237 
21238  private boolean catchSigintSignal_ = true;
21249  @java.lang.Override
21250  public boolean hasCatchSigintSignal() {
21251  return ((bitField4_ & 0x00800000) != 0);
21252  }
21263  @java.lang.Override
21264  public boolean getCatchSigintSignal() {
21265  return catchSigintSignal_;
21266  }
21278  public Builder setCatchSigintSignal(boolean value) {
21279  bitField4_ |= 0x00800000;
21280  catchSigintSignal_ = value;
21281  onChanged();
21282  return this;
21283  }
21295  bitField4_ = (bitField4_ & ~0x00800000);
21296  catchSigintSignal_ = true;
21297  onChanged();
21298  return this;
21299  }
21300 
21301  private boolean useImpliedBounds_ = true;
21312  @java.lang.Override
21313  public boolean hasUseImpliedBounds() {
21314  return ((bitField4_ & 0x01000000) != 0);
21315  }
21326  @java.lang.Override
21327  public boolean getUseImpliedBounds() {
21328  return useImpliedBounds_;
21329  }
21341  public Builder setUseImpliedBounds(boolean value) {
21342  bitField4_ |= 0x01000000;
21343  useImpliedBounds_ = value;
21344  onChanged();
21345  return this;
21346  }
21358  bitField4_ = (bitField4_ & ~0x01000000);
21359  useImpliedBounds_ = true;
21360  onChanged();
21361  return this;
21362  }
21363 
21364  private boolean polishLpSolution_ ;
21376  @java.lang.Override
21377  public boolean hasPolishLpSolution() {
21378  return ((bitField4_ & 0x02000000) != 0);
21379  }
21391  @java.lang.Override
21392  public boolean getPolishLpSolution() {
21393  return polishLpSolution_;
21394  }
21407  public Builder setPolishLpSolution(boolean value) {
21408  bitField4_ |= 0x02000000;
21409  polishLpSolution_ = value;
21410  onChanged();
21411  return this;
21412  }
21425  bitField4_ = (bitField4_ & ~0x02000000);
21426  polishLpSolution_ = false;
21427  onChanged();
21428  return this;
21429  }
21430 
21431  private boolean convertIntervals_ ;
21442  @java.lang.Override
21443  public boolean hasConvertIntervals() {
21444  return ((bitField4_ & 0x04000000) != 0);
21445  }
21456  @java.lang.Override
21457  public boolean getConvertIntervals() {
21458  return convertIntervals_;
21459  }
21471  public Builder setConvertIntervals(boolean value) {
21472  bitField4_ |= 0x04000000;
21473  convertIntervals_ = value;
21474  onChanged();
21475  return this;
21476  }
21488  bitField4_ = (bitField4_ & ~0x04000000);
21489  convertIntervals_ = false;
21490  onChanged();
21491  return this;
21492  }
21493 
21494  private int symmetryLevel_ = 2;
21506  @java.lang.Override
21507  public boolean hasSymmetryLevel() {
21508  return ((bitField4_ & 0x08000000) != 0);
21509  }
21521  @java.lang.Override
21522  public int getSymmetryLevel() {
21523  return symmetryLevel_;
21524  }
21537  public Builder setSymmetryLevel(int value) {
21538  bitField4_ |= 0x08000000;
21539  symmetryLevel_ = value;
21540  onChanged();
21541  return this;
21542  }
21555  bitField4_ = (bitField4_ & ~0x08000000);
21556  symmetryLevel_ = 2;
21557  onChanged();
21558  return this;
21559  }
21560 
21561  private double mipMaxBound_ = 10000000D;
21572  @java.lang.Override
21573  public boolean hasMipMaxBound() {
21574  return ((bitField4_ & 0x10000000) != 0);
21575  }
21586  @java.lang.Override
21587  public double getMipMaxBound() {
21588  return mipMaxBound_;
21589  }
21601  public Builder setMipMaxBound(double value) {
21602  bitField4_ |= 0x10000000;
21603  mipMaxBound_ = value;
21604  onChanged();
21605  return this;
21606  }
21618  bitField4_ = (bitField4_ & ~0x10000000);
21619  mipMaxBound_ = 10000000D;
21620  onChanged();
21621  return this;
21622  }
21623 
21624  private double mipVarScaling_ = 1D;
21635  @java.lang.Override
21636  public boolean hasMipVarScaling() {
21637  return ((bitField4_ & 0x20000000) != 0);
21638  }
21649  @java.lang.Override
21650  public double getMipVarScaling() {
21651  return mipVarScaling_;
21652  }
21664  public Builder setMipVarScaling(double value) {
21665  bitField4_ |= 0x20000000;
21666  mipVarScaling_ = value;
21667  onChanged();
21668  return this;
21669  }
21681  bitField4_ = (bitField4_ & ~0x20000000);
21682  mipVarScaling_ = 1D;
21683  onChanged();
21684  return this;
21685  }
21686 
21687  private boolean mipAutomaticallyScaleVariables_ = true;
21700  @java.lang.Override
21702  return ((bitField4_ & 0x40000000) != 0);
21703  }
21716  @java.lang.Override
21718  return mipAutomaticallyScaleVariables_;
21719  }
21734  bitField4_ |= 0x40000000;
21735  mipAutomaticallyScaleVariables_ = value;
21736  onChanged();
21737  return this;
21738  }
21752  bitField4_ = (bitField4_ & ~0x40000000);
21753  mipAutomaticallyScaleVariables_ = true;
21754  onChanged();
21755  return this;
21756  }
21757 
21758  private double mipWantedPrecision_ = 1e-06D;
21776  @java.lang.Override
21777  public boolean hasMipWantedPrecision() {
21778  return ((bitField4_ & 0x80000000) != 0);
21779  }
21797  @java.lang.Override
21798  public double getMipWantedPrecision() {
21799  return mipWantedPrecision_;
21800  }
21819  public Builder setMipWantedPrecision(double value) {
21820  bitField4_ |= 0x80000000;
21821  mipWantedPrecision_ = value;
21822  onChanged();
21823  return this;
21824  }
21843  bitField4_ = (bitField4_ & ~0x80000000);
21844  mipWantedPrecision_ = 1e-06D;
21845  onChanged();
21846  return this;
21847  }
21848 
21849  private int mipMaxActivityExponent_ = 53;
21864  @java.lang.Override
21865  public boolean hasMipMaxActivityExponent() {
21866  return ((bitField5_ & 0x00000001) != 0);
21867  }
21882  @java.lang.Override
21884  return mipMaxActivityExponent_;
21885  }
21902  bitField5_ |= 0x00000001;
21903  mipMaxActivityExponent_ = value;
21904  onChanged();
21905  return this;
21906  }
21922  bitField5_ = (bitField5_ & ~0x00000001);
21923  mipMaxActivityExponent_ = 53;
21924  onChanged();
21925  return this;
21926  }
21927 
21928  private double mipCheckPrecision_ = 0.0001D;
21939  @java.lang.Override
21940  public boolean hasMipCheckPrecision() {
21941  return ((bitField5_ & 0x00000002) != 0);
21942  }
21953  @java.lang.Override
21954  public double getMipCheckPrecision() {
21955  return mipCheckPrecision_;
21956  }
21968  public Builder setMipCheckPrecision(double value) {
21969  bitField5_ |= 0x00000002;
21970  mipCheckPrecision_ = value;
21971  onChanged();
21972  return this;
21973  }
21985  bitField5_ = (bitField5_ & ~0x00000002);
21986  mipCheckPrecision_ = 0.0001D;
21987  onChanged();
21988  return this;
21989  }
21990  @java.lang.Override
21992  final com.google.protobuf.UnknownFieldSet unknownFields) {
21993  return super.setUnknownFields(unknownFields);
21994  }
21995 
21996  @java.lang.Override
21998  final com.google.protobuf.UnknownFieldSet unknownFields) {
21999  return super.mergeUnknownFields(unknownFields);
22000  }
22001 
22002 
22003  // @@protoc_insertion_point(builder_scope:operations_research.sat.SatParameters)
22004  }
22005 
22006  // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
22007  private static final com.google.ortools.sat.SatParameters DEFAULT_INSTANCE;
22008  static {
22009  DEFAULT_INSTANCE = new com.google.ortools.sat.SatParameters();
22010  }
22011 
22012  public static com.google.ortools.sat.SatParameters getDefaultInstance() {
22013  return DEFAULT_INSTANCE;
22014  }
22015 
22016  @java.lang.Deprecated public static final com.google.protobuf.Parser<SatParameters>
22017  PARSER = new com.google.protobuf.AbstractParser<SatParameters>() {
22018  @java.lang.Override
22019  public SatParameters parsePartialFrom(
22020  com.google.protobuf.CodedInputStream input,
22021  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
22022  throws com.google.protobuf.InvalidProtocolBufferException {
22023  return new SatParameters(input, extensionRegistry);
22024  }
22025  };
22026 
22027  public static com.google.protobuf.Parser<SatParameters> parser() {
22028  return PARSER;
22029  }
22030 
22031  @java.lang.Override
22032  public com.google.protobuf.Parser<SatParameters> getParserForType() {
22033  return PARSER;
22034  }
22035 
22036  @java.lang.Override
22037  public com.google.ortools.sat.SatParameters getDefaultInstanceForType() {
22038  return DEFAULT_INSTANCE;
22039  }
22040 
22041 }
22042 
Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value)
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder setSubsumptionDuringConflictAnalysis(boolean value)
Builder setRelativeGapLimit(double value)
optional double relative_gap_limit = 160 [default = 0];
Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value)
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean getCountAssumptionLevelsInLbd()
Builder setRestartLbdAverageRatio(double value)
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
.lang.Override boolean hasExpandAlldiffConstraints()
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
Builder setBlockingRestartMultiplier(double value)
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder setLnsFocusOnDecisionVariables(boolean value)
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasExpandElementConstraints()
Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value)
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder addAllRestartAlgorithms(java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm > values)
.lang.Override com.google.ortools.sat.SatParameters buildPartial()
Builder clearPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
Builder setRestartAlgorithms(int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value)
.lang.Override boolean hasSearchRandomizationTolerance()
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasMaxConsecutiveInactiveCount()
.lang.Override boolean hasExpandAutomatonConstraints()
Builder clearUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean getMinimizeReductionDuringPbResolution()
.lang.Override double getStrategyChangeIncreaseRatio()
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean getDisableConstraintExpansion()
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
Builder setGlucoseDecayIncrement(double value)
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
Builder setUseTimetableEdgeFindingInCumulativeConstraint(boolean value)
Builder setLnsExpandIntervalsInConstraintGraph(boolean value)
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasMaxIntegerRoundingScaling()
Builder clearSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
Builder clearBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
Builder setName(java.lang.String value)
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
Builder clearLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
Builder setPermutePresolveConstraintOrder(boolean value)
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
.lang.Override boolean getLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
Builder setMinimizeWithPropagationNumDecisions(int value)
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setMergeAtMostOneWorkLimit(double value)
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setNameBytes(com.google.protobuf.ByteString value)
.lang.Override boolean getExpandAlldiffConstraints()
Builder clearMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasExploitIntegerLpSolution()
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasExploitRelaxationSolution()
Builder setAutoDetectGreaterThanAtLeastOneOf(boolean value)
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
Builder clearMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setInterleaveBatchSize(int value)
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasPolarityRephaseIncrement()
Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value)
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean hasBinarySearchNumConflicts()
.lang.Override boolean getExpandAutomatonConstraints()
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
Builder setPbCleanupRatio(double value)
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getExpandReservoirConstraints()
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder setUseSatInprocessing(boolean value)
optional bool use_sat_inprocessing = 163 [default = false];
Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value)
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder setBlockingRestartWindowSize(int value)
optional int32 blocking_restart_window_size = 65 [default = 5000];
com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder clearClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder clearLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder mergeFrom(com.google.ortools.sat.SatParameters other)
Builder setUseOverloadCheckerInCumulativeConstraint(boolean value)
.lang.Override boolean hasPseudoCostReliabilityThreshold()
java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasInitialVariablesActivity()
Builder clearMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder setUseDisjunctiveConstraintInCumulativeConstraint(boolean value)
.lang.Override boolean getCpModelPostsolveWithFullSolver()
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getMipAutomaticallyScaleVariables()
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
.lang.Override boolean getExpandElementConstraints()
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
Builder clearMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasCountAssumptionLevelsInLbd()
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder clearFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder setGlucoseDecayIncrementPeriod(int value)
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override final boolean isInitialized()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
Builder clearGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder setMinimizeReductionDuringPbResolution(boolean value)
.lang.Override double getPresolveProbingDeterministicTimeLimit()
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
Builder setDefaultRestartAlgorithmsBytes(com.google.protobuf.ByteString value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder clearPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasDisableConstraintExpansion()
Builder clearMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder clearGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
Builder setUseAbslRandom(boolean value)
optional bool use_absl_random = 180 [default = false];
Builder setUsePrecedencesInDisjunctiveConstraint(boolean value)
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getPresolveExtractIntegerEnforcement()
Builder setMaxClauseActivityValue(double value)
optional double max_clause_activity_value = 18 [default = 1e+20];
Builder setFillTightenedDomainsInResponse(boolean value)
Builder clearClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder setPresolveProbingDeterministicTimeLimit(double value)
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
Builder clearRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override boolean hasPresolveSubstitutionLevel()
Builder clearBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
Builder clearDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder clearUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override double getMinOrthogonalityForLpConstraints()
.lang.Override boolean hasRestartRunningWindowSize()
.lang.Override boolean hasExpandReservoirConstraints()
.lang.Override boolean hasStrategyChangeIncreaseRatio()
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override boolean getFillTightenedDomainsInResponse()
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setKeepAllFeasibleSolutionsInPresolve(boolean value)
Builder clearInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder setCpModelPostsolveWithFullSolver(boolean value)
Builder clearPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setMaxVariableActivityValue(double value)
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override com.google.ortools.sat.SatParameters build()
Builder clearMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value)
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value)
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value)
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder setDefaultRestartAlgorithms(java.lang.String value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value)
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value)
Builder setCutActiveCountDecay(double value)
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override int getMinimizeWithPropagationRestartPeriod()
boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder clearRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value)
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder setReduceMemoryUsageInInterleaveMode(boolean value)
com.google.protobuf.ByteString getNameBytes()
.lang.Override boolean getMaxSatReverseAssumptionOrder()
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder clearMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
Builder setMipAutomaticallyScaleVariables(boolean value)
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
Builder setAlsoBumpVariablesInConflictReasons(boolean value)
.lang.Override boolean hasMipAutomaticallyScaleVariables()
Builder setPresolveExtractIntegerEnforcement(boolean value)
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder clearBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER
static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER
static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER
.lang.Override int getNumConflictsBeforeStrategyChanges()
.lang.Override boolean hasExploitAllLpSolution()
.lang.Override boolean getCountAssumptionLevelsInLbd()
static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER
.lang.Override boolean hasMipCheckPrecision()
static final int USE_TIMETABLE_EDGE_FINDING_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER
.lang.Override boolean hasRepairHint()
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override boolean getAddCliqueCuts()
static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasCatchSigintSignal()
static final int LNS_EXPAND_INTERVALS_IN_CONSTRAINT_GRAPH_FIELD_NUMBER
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
.lang.Override boolean hasUseProbingSearch()
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean hasRandomPolarityRatio()
static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER
static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER
.lang.Override boolean getPresolveUseBva()
static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER
.lang.Override boolean hasExpandAlldiffConstraints()
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER
.lang.Override boolean hasExpandElementConstraints()
static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasPresolveBveClauseWeight()
.lang.Override boolean hasPresolveBlockedClause()
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasSearchRandomizationTolerance()
.lang.Override boolean hasAddLpConstraintsLazily()
.lang.Override boolean hasMipVarScaling()
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasMaxConsecutiveInactiveCount()
.lang.Override boolean hasExpandAutomatonConstraints()
.lang.Override boolean hasMaxDeterministicTime()
.lang.Override boolean hasFindMultipleCores()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasUseCombinedNoOverlap()
.lang.Override boolean hasRandomSeed()
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean getMinimizeReductionDuringPbResolution()
.lang.Override int getCpModelProbingLevel()
.lang.Override double getRandomPolarityRatio()
.lang.Override double getStrategyChangeIncreaseRatio()
.lang.Override boolean hasCoverOptimization()
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean getDisableConstraintExpansion()
.lang.Override boolean getUseRelaxationLns()
static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER
.lang.Override boolean hasUseLnsOnly()
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override boolean hasRestartPeriod()
.lang.Override boolean hasExploitObjective()
.lang.Override boolean hasPermuteVariableRandomly()
.lang.Override com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean hasInstantiateAllVariables()
static final int MINIMIZE_WITH_PROPAGATION_RESTART_PERIOD_FIELD_NUMBER
.lang.Override boolean hasUseFeasibilityPump()
static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER
.lang.Override int getMipMaxActivityExponent()
.lang.Override boolean getEnumerateAllSolutions()
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override int getRestartAlgorithmsCount()
.lang.Override boolean hasCutCleanupTarget()
.lang.Override boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override int getMaxPresolveIterations()
.lang.Override boolean hasRandomizeSearch()
.lang.Override boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasExploitBestSolution()
static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
.lang.Override int getLinearizationLevel()
static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER
static final int SUBSUMPTION_DURING_CONFLICT_ANALYSIS_FIELD_NUMBER
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasMaxIntegerRoundingScaling()
.lang.Override boolean getUseRinsLns()
.lang.Override boolean hasClauseActivityDecay()
static final int MIP_WANTED_PRECISION_FIELD_NUMBER
.lang.Override boolean hasMipMaxActivityExponent()
.lang.Override boolean hasShareObjectiveBounds()
.lang.Override boolean getCpModelUseSatPresolve()
.lang.Override boolean hasSymmetryLevel()
.lang.Override double getMipWantedPrecision()
.lang.Override boolean hasMaxPresolveIterations()
.lang.Override boolean hasMaxNumberOfConflicts()
.lang.Override boolean hasClauseCleanupTarget()
.lang.Override boolean hasAddMirCuts()
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
static final int ALSO_BUMP_VARIABLES_IN_CONFLICT_REASONS_FIELD_NUMBER
static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean getMinimizeCore()
.lang.Override double getMergeNoOverlapWorkLimit()
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER
.lang.Override boolean hasConvertIntervals()
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasMergeNoOverlapWorkLimit()
.lang.Override boolean getLogSearchProgress()
static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override int getNewConstraintsBatchSize()
static Builder newBuilder(com.google.ortools.sat.SatParameters prototype)
.lang.Override boolean getLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override boolean hasPbCleanupIncrement()
.lang.Override boolean hasOptimizeWithMaxHs()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input)
.lang.Override boolean hasVariableActivityDecay()
static final int AUTO_DETECT_GREATER_THAN_AT_LEAST_ONE_OF_FIELD_NUMBER
.lang.Override boolean hasMipWantedPrecision()
.lang.Override boolean hasClauseCleanupLbdBound()
static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean getInstantiateAllVariables()
.lang.Override boolean getUseProbingSearch()
.lang.Override double getMaxDeterministicTime()
.lang.Override boolean getExpandAlldiffConstraints()
.lang.Override boolean hasExploitIntegerLpSolution()
static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER
.lang.Override boolean getShareLevelZeroBounds()
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER
.lang.Override boolean getOptimizeWithCore()
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasClauseCleanupPeriod()
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
.lang.Override boolean hasAddZeroHalfCuts()
static com.google.ortools.sat.SatParameters getDefaultInstance()
static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasExploitRelaxationSolution()
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
static final int USE_DISJUNCTIVE_CONSTRAINT_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override java.lang.String getName()
static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER
.lang.Override boolean getShareObjectiveBounds()
static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER
.lang.Override boolean hasUsePbResolution()
static final int NUM_CONFLICTS_BEFORE_STRATEGY_CHANGES_FIELD_NUMBER
static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER
.lang.Override boolean hasUseOptionalVariables()
static final int PRESOLVE_PROBING_DETERMINISTIC_TIME_LIMIT_FIELD_NUMBER
static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasAddCliqueCuts()
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasPolarityRephaseIncrement()
.lang.Override boolean hasUseErwaHeuristic()
static final int PRESOLVE_EXTRACT_INTEGER_ENFORCEMENT_FIELD_NUMBER
static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER
.lang.Override int getPolarityRephaseIncrement()
.lang.Override boolean hasNewConstraintsBatchSize()
static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER
static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER
.lang.Override boolean getInterleaveSearch()
.lang.Override boolean hasOnlyAddCutsAtLevelZero()
.lang.Override double getRandomBranchesRatio()
.lang.Override boolean hasBinarySearchNumConflicts()
.lang.Override boolean getExpandAutomatonConstraints()
.lang.Override boolean hasShareLevelZeroBounds()
static final int MIN_ORTHOGONALITY_FOR_LP_CONSTRAINTS_FIELD_NUMBER
static final int PERMUTE_PRESOLVE_CONSTRAINT_ORDER_FIELD_NUMBER
.lang.Override boolean getOnlyAddCutsAtLevelZero()
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean getRepairHint()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
static final int USE_SAT_INPROCESSING_FIELD_NUMBER
.lang.Override boolean getExpandReservoirConstraints()
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override double getCutMaxActiveCountValue()
.lang.Override double getRestartDlAverageRatio()
static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER
.lang.Override boolean hasFillLogsInResponse()
static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER
.lang.Override int getRestartRunningWindowSize()
.lang.Override boolean hasMaxAllDiffCutSize()
.lang.Override boolean hasMaxNumCuts()
static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER
.lang.Override boolean hasUsePhaseSaving()
static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER
.lang.Override boolean hasOptimizeWithCore()
.lang.Override boolean getExploitAllLpSolution()
.lang.Override boolean hasAddCgCuts()
.lang.Override long getPseudoCostReliabilityThreshold()
static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER
.lang.Override boolean getPermuteVariableRandomly()
.lang.Override double getMaxTimeInSeconds()
.lang.Override int getPresolveSubstitutionLevel()
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override com.google.protobuf.Parser< SatParameters > getParserForType()
.lang.Override boolean hasPseudoCostReliabilityThreshold()
.lang.Override boolean getAddKnapsackCuts()
.lang.Override boolean hasCpModelProbingLevel()
.lang.Override boolean hasMaxMemoryInMb()
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean getOptimizeWithMaxHs()
static final int USE_PRECEDENCES_IN_DISJUNCTIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override Builder newBuilderForType()
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER
.lang.Override int getClauseCleanupTarget()
static final int CP_MODEL_POSTSOLVE_WITH_FULL_SOLVER_FIELD_NUMBER
.lang.Override boolean hasInitialVariablesActivity()
.lang.Override boolean hasMinimizeCore()
.lang.Override boolean hasEnumerateAllSolutions()
.lang.Override double getClauseActivityDecay()
static com.google.protobuf.Parser< SatParameters > parser()
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER
static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER
static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER
.lang.Override boolean getCpModelPostsolveWithFullSolver()
static final int KEEP_ALL_FEASIBLE_SOLUTIONS_IN_PRESOLVE_FIELD_NUMBER
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getUseBranchingInLp()
.lang.Override boolean getMipAutomaticallyScaleVariables()
.lang.Override java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER
static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER
.lang.Override int getMaxConsecutiveInactiveCount()
.lang.Override boolean getExpandElementConstraints()
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override double getMipVarScaling()
static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER
.lang.Override int getBooleanEncodingLevel()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean getPolishLpSolution()
.lang.Override boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER
.lang.Override boolean hasAbsoluteGapLimit()
.lang.Override int getCpModelMaxNumPresolveOperations()
.lang.Override long getProbingPeriodAtRoot()
.lang.Override boolean hasUseExactLpReason()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasCountAssumptionLevelsInLbd()
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
static final int CP_MODEL_MAX_NUM_PRESOLVE_OPERATIONS_FIELD_NUMBER
.lang.Override final boolean isInitialized()
.lang.Override boolean hasInterleaveSearch()
.lang.Override boolean getStopAfterFirstSolution()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override double getPresolveProbingDeterministicTimeLimit()
.lang.Override double getInitialVariablesActivity()
static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
.lang.Override boolean getCatchSigintSignal()
.lang.Override boolean hasBooleanEncodingLevel()
.lang.Override boolean hasMaxTimeInSeconds()
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean hasHintConflictLimit()
.lang.Override int getPresolveBvaThreshold()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER
static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getExpandTableConstraints()
.lang.Override int getPresolveBveClauseWeight()
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override double getMipCheckPrecision()
.lang.Override boolean hasPresolveUseBva()
.lang.Override boolean getUseOptimizationHints()
.lang.Override int getClauseCleanupPeriod()
.lang.Override long getSearchRandomizationTolerance()
.lang.Override boolean hasDisableConstraintExpansion()
.lang.Override boolean hasMaxCutRoundsAtLevelZero()
.lang.Override boolean hasGlucoseMaxDecay()
.lang.Override boolean hasUseImpliedBounds()
.lang.Override boolean hasCutMaxActiveCountValue()
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
static final int FILL_TIGHTENED_DOMAINS_IN_RESPONSE_FIELD_NUMBER
static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasAddKnapsackCuts()
.lang.Override boolean hasUseRelaxationLns()
static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER
.lang.Override boolean getUseCombinedNoOverlap()
.lang.Deprecated static final com.google.protobuf.Parser< SatParameters > PARSER
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getPresolveExtractIntegerEnforcement()
static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data)
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Override double getGlucoseMaxDecay()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
.lang.Override boolean hasProbingPeriodAtRoot()
static final int FILL_LOGS_IN_RESPONSE_FIELD_NUMBER
.lang.Override boolean hasCpModelUseSatPresolve()
.lang.Override boolean getConvertIntervals()
.lang.Override boolean hasRestartDlAverageRatio()
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasLinearizationLevel()
static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER
static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override boolean hasPresolveSubstitutionLevel()
.lang.Override boolean getAddCgCuts()
.lang.Override boolean hasPresolveBvaThreshold()
.lang.Override boolean getExploitBestSolution()
static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER
.lang.Override com.google.protobuf.ByteString getNameBytes()
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override double getMinOrthogonalityForLpConstraints()
.lang.Override boolean hasRestartRunningWindowSize()
.lang.Override boolean hasExpandReservoirConstraints()
static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER
.lang.Override boolean hasStrategyChangeIncreaseRatio()
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean getDiversifyLnsParams()
.lang.Override boolean hasMipMaxBound()
static final int USE_BLOCKING_RESTART_FIELD_NUMBER
static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override boolean getFillTightenedDomainsInResponse()
static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasUseRinsLns()
.lang.Override boolean getExploitObjective()
static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
.lang.Override boolean hasUseBlockingRestart()
static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean hasStopAfterFirstSolution()
static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER
static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean getFillLogsInResponse()
static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER
.lang.Override boolean hasPresolveBveThreshold()
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER
.lang.Override boolean getCpModelPresolve()
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getCoverOptimization()
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Override double getAbsoluteGapLimit()
.lang.Override boolean equals(final java.lang.Object obj)
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override int getPresolveBveThreshold()
.lang.Override boolean getUseImpliedBounds()
static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER
.lang.Override double getVariableActivityDecay()
.lang.Override boolean getUseLnsOnly()
.lang.Override int getPbCleanupIncrement()
.lang.Override boolean getPresolveBlockedClause()
static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
.lang.Override boolean hasStopAfterPresolve()
.lang.Override boolean hasDiversifyLnsParams()
.lang.Override int getClauseCleanupLbdBound()
static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER
.lang.Override boolean hasLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override int getMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasCpModelPresolve()
.lang.Override boolean getFindMultipleCores()
.lang.Override int getMaxIntegerRoundingScaling()
.lang.Override boolean hasRandomBranchesRatio()
static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER
.lang.Override boolean hasPolishLpSolution()
.lang.Override boolean getUsePhaseSaving()
static final int MINIMIZE_WITH_PROPAGATION_NUM_DECISIONS_FIELD_NUMBER
.lang.Override boolean getAddLinMaxCuts()
static final int REDUCE_MEMORY_USAGE_IN_INTERLEAVE_MODE_FIELD_NUMBER
.lang.Override boolean getAddMirCuts()
.lang.Override boolean getMaxSatReverseAssumptionOrder()
.lang.Override long getMaxNumberOfConflicts()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean hasExpandTableConstraints()
.lang.Override boolean getUseOptionalVariables()
.lang.Override boolean getUsePbResolution()
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER
.lang.Override boolean getAddZeroHalfCuts()
.lang.Override boolean getAddLpConstraintsLazily()
.lang.Override boolean getUseErwaHeuristic()
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean hasUseOptimizationHints()
static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER
.lang.Override boolean hasMipAutomaticallyScaleVariables()
.lang.Override boolean hasLogSearchProgress()
.lang.Override boolean hasUseBranchingInLp()
.lang.Override boolean getRandomizeSearch()
.lang.Override boolean hasNumSearchWorkers()
.lang.Override boolean hasAddLinMaxCuts()
.lang.Override boolean getUseFeasibilityPump()
.lang.Override double getMipMaxBound()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data)
static final int MINIMIZE_REDUCTION_DURING_PB_RESOLUTION_FIELD_NUMBER
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER
static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER
.lang.Override boolean getUseBlockingRestart()
.lang.Override int getBinarySearchNumConflicts()
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean getUseExactLpReason()
static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER
.lang.Override int getMaxCutRoundsAtLevelZero()
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER
static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER
static final int MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER
static final int EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER
static final int USE_OVERLOAD_CHECKER_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean getStopAfterPresolve()
static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< BinaryMinizationAlgorithm > internalGetValueMap()
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION = 4;
static BinaryMinizationAlgorithm forNumber(int value)
.lang.Deprecated static BinaryMinizationAlgorithm valueOf(int value)
BINARY_MINIMIZATION_WITH_REACHABILITY
BINARY_MINIMIZATION_WITH_REACHABILITY = 2;
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
EXPERIMENTAL_BINARY_MINIMIZATION
EXPERIMENTAL_BINARY_MINIMIZATION = 3;
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static BinaryMinizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static ClauseOrdering valueOf(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static ClauseOrdering valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< ClauseOrdering > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static ClauseProtection valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Deprecated static ClauseProtection valueOf(int value)
static com.google.protobuf.Internal.EnumLiteMap< ClauseProtection > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static ConflictMinimizationAlgorithm valueOf(int value)
static com.google.protobuf.Internal.EnumLiteMap< ConflictMinimizationAlgorithm > internalGetValueMap()
static ConflictMinimizationAlgorithm forNumber(int value)
static ConflictMinimizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static FPRoundingMethod valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< FPRoundingMethod > internalGetValueMap()
.lang.Deprecated static FPRoundingMethod valueOf(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static MaxSatAssumptionOrder forNumber(int value)
.lang.Deprecated static MaxSatAssumptionOrder valueOf(int value)
static MaxSatAssumptionOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< MaxSatAssumptionOrder > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static MaxSatStratificationAlgorithm forNumber(int value)
static com.google.protobuf.Internal.EnumLiteMap< MaxSatStratificationAlgorithm > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Deprecated static MaxSatStratificationAlgorithm valueOf(int value)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static MaxSatStratificationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static Polarity valueOf(int value)
static Polarity valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< Polarity > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Deprecated static RestartAlgorithm valueOf(int value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< RestartAlgorithm > internalGetValueMap()
static RestartAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Internal.EnumLiteMap< SearchBranching > internalGetValueMap()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static SearchBranching valueOf(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static SearchBranching valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static VariableOrder valueOf(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static VariableOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< VariableOrder > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()