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  useRinsLns_ = true;
121  useFeasibilityPump_ = true;
122  fpRounding_ = 2;
123  useOptionalVariables_ = true;
124  useExactLpReason_ = true;
125  catchSigintSignal_ = true;
126  useImpliedBounds_ = true;
127  mipMaxBound_ = 10000000D;
128  mipVarScaling_ = 1D;
129  mipAutomaticallyScaleVariables_ = true;
130  mipWantedPrecision_ = 1e-06D;
131  mipMaxActivityExponent_ = 53;
132  mipCheckPrecision_ = 0.0001D;
133  }
134 
135  @java.lang.Override
136  @SuppressWarnings({"unused"})
137  protected java.lang.Object newInstance(
138  UnusedPrivateParameter unused) {
139  return new SatParameters();
140  }
141 
142  @java.lang.Override
143  public final com.google.protobuf.UnknownFieldSet
145  return this.unknownFields;
146  }
147  private SatParameters(
148  com.google.protobuf.CodedInputStream input,
149  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
150  throws com.google.protobuf.InvalidProtocolBufferException {
151  this();
152  if (extensionRegistry == null) {
153  throw new java.lang.NullPointerException();
154  }
155  int mutable_bitField0_ = 0;
156  int mutable_bitField1_ = 0;
157  int mutable_bitField2_ = 0;
158  int mutable_bitField3_ = 0;
159  int mutable_bitField4_ = 0;
160  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
161  com.google.protobuf.UnknownFieldSet.newBuilder();
162  try {
163  boolean done = false;
164  while (!done) {
165  int tag = input.readTag();
166  switch (tag) {
167  case 0:
168  done = true;
169  break;
170  case 8: {
171  int rawValue = input.readEnum();
172  @SuppressWarnings("deprecation")
173  com.google.ortools.sat.SatParameters.VariableOrder value = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(rawValue);
174  if (value == null) {
175  unknownFields.mergeVarintField(1, rawValue);
176  } else {
177  bitField0_ |= 0x00000002;
178  preferredVariableOrder_ = rawValue;
179  }
180  break;
181  }
182  case 16: {
183  int rawValue = input.readEnum();
184  @SuppressWarnings("deprecation")
185  com.google.ortools.sat.SatParameters.Polarity value = com.google.ortools.sat.SatParameters.Polarity.valueOf(rawValue);
186  if (value == null) {
187  unknownFields.mergeVarintField(2, rawValue);
188  } else {
189  bitField0_ |= 0x00000004;
190  initialPolarity_ = rawValue;
191  }
192  break;
193  }
194  case 32: {
195  int rawValue = input.readEnum();
196  @SuppressWarnings("deprecation")
197  com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(rawValue);
198  if (value == null) {
199  unknownFields.mergeVarintField(4, rawValue);
200  } else {
201  bitField0_ |= 0x00000400;
202  minimizationAlgorithm_ = rawValue;
203  }
204  break;
205  }
206  case 88: {
207  bitField0_ |= 0x00002000;
208  clauseCleanupPeriod_ = input.readInt32();
209  break;
210  }
211  case 104: {
212  bitField0_ |= 0x00004000;
213  clauseCleanupTarget_ = input.readInt32();
214  break;
215  }
216  case 121: {
217  bitField0_ |= 0x00400000;
218  variableActivityDecay_ = input.readDouble();
219  break;
220  }
221  case 129: {
222  bitField0_ |= 0x00800000;
223  maxVariableActivityValue_ = input.readDouble();
224  break;
225  }
226  case 137: {
227  bitField0_ |= 0x08000000;
228  clauseActivityDecay_ = input.readDouble();
229  break;
230  }
231  case 145: {
232  bitField0_ |= 0x10000000;
233  maxClauseActivityValue_ = input.readDouble();
234  break;
235  }
236  case 177: {
237  bitField0_ |= 0x01000000;
238  glucoseMaxDecay_ = input.readDouble();
239  break;
240  }
241  case 185: {
242  bitField0_ |= 0x02000000;
243  glucoseDecayIncrement_ = input.readDouble();
244  break;
245  }
246  case 192: {
247  bitField0_ |= 0x04000000;
248  glucoseDecayIncrementPeriod_ = input.readInt32();
249  break;
250  }
251  case 240: {
252  bitField0_ |= 0x40000000;
253  restartPeriod_ = input.readInt32();
254  break;
255  }
256  case 248: {
257  bitField1_ |= 0x00004000;
258  randomSeed_ = input.readInt32();
259  break;
260  }
261  case 257: {
262  bitField0_ |= 0x00000040;
263  randomBranchesRatio_ = input.readDouble();
264  break;
265  }
266  case 264: {
267  bitField1_ |= 0x00002000;
268  treatBinaryClausesSeparately_ = input.readBool();
269  break;
270  }
271  case 272: {
272  int rawValue = input.readEnum();
273  @SuppressWarnings("deprecation")
274  com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(rawValue);
275  if (value == null) {
276  unknownFields.mergeVarintField(34, rawValue);
277  } else {
278  bitField0_ |= 0x00000800;
279  binaryMinimizationAlgorithm_ = rawValue;
280  }
281  break;
282  }
283  case 280: {
284  bitField2_ |= 0x00002000;
285  useOptimizationHints_ = input.readBool();
286  break;
287  }
288  case 289: {
289  bitField1_ |= 0x00000080;
290  maxTimeInSeconds_ = input.readDouble();
291  break;
292  }
293  case 296: {
294  bitField1_ |= 0x00000200;
295  maxNumberOfConflicts_ = input.readInt64();
296  break;
297  }
298  case 320: {
299  bitField1_ |= 0x00000400;
300  maxMemoryInMb_ = input.readInt64();
301  break;
302  }
303  case 328: {
304  bitField1_ |= 0x00040000;
305  logSearchProgress_ = input.readBool();
306  break;
307  }
308  case 344: {
309  bitField1_ |= 0x00080000;
310  usePbResolution_ = input.readBool();
311  break;
312  }
313  case 352: {
314  bitField0_ |= 0x00000008;
315  usePhaseSaving_ = input.readBool();
316  break;
317  }
318  case 361: {
319  bitField0_ |= 0x00000020;
320  randomPolarityRatio_ = input.readDouble();
321  break;
322  }
323  case 368: {
324  bitField0_ |= 0x00040000;
325  pbCleanupIncrement_ = input.readInt32();
326  break;
327  }
328  case 377: {
329  bitField0_ |= 0x00080000;
330  pbCleanupRatio_ = input.readDouble();
331  break;
332  }
333  case 384: {
334  bitField1_ |= 0x00100000;
335  minimizeReductionDuringPbResolution_ = input.readBool();
336  break;
337  }
338  case 392: {
339  bitField1_ |= 0x00200000;
340  countAssumptionLevelsInLbd_ = input.readBool();
341  break;
342  }
343  case 400: {
344  bitField2_ |= 0x00004000;
345  minimizeCore_ = input.readBool();
346  break;
347  }
348  case 408: {
349  int rawValue = input.readEnum();
350  @SuppressWarnings("deprecation")
351  com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(rawValue);
352  if (value == null) {
353  unknownFields.mergeVarintField(51, rawValue);
354  } else {
355  bitField2_ |= 0x00020000;
356  maxSatAssumptionOrder_ = rawValue;
357  }
358  break;
359  }
360  case 416: {
361  bitField2_ |= 0x00040000;
362  maxSatReverseAssumptionOrder_ = input.readBool();
363  break;
364  }
365  case 424: {
366  int rawValue = input.readEnum();
367  @SuppressWarnings("deprecation")
368  com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(rawValue);
369  if (value == null) {
370  unknownFields.mergeVarintField(53, rawValue);
371  } else {
372  bitField2_ |= 0x00080000;
373  maxSatStratification_ = rawValue;
374  }
375  break;
376  }
377  case 432: {
378  bitField1_ |= 0x00400000;
379  presolveBveThreshold_ = input.readInt32();
380  break;
381  }
382  case 440: {
383  bitField1_ |= 0x00800000;
384  presolveBveClauseWeight_ = input.readInt32();
385  break;
386  }
387  case 448: {
388  bitField0_ |= 0x00001000;
389  subsumptionDuringConflictAnalysis_ = input.readBool();
390  break;
391  }
392  case 457: {
393  bitField1_ |= 0x01000000;
394  presolveProbingDeterministicTimeLimit_ = input.readDouble();
395  break;
396  }
397  case 464: {
398  int rawValue = input.readEnum();
399  @SuppressWarnings("deprecation")
400  com.google.ortools.sat.SatParameters.ClauseProtection value = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(rawValue);
401  if (value == null) {
402  unknownFields.mergeVarintField(58, rawValue);
403  } else {
404  bitField0_ |= 0x00008000;
405  clauseCleanupProtection_ = rawValue;
406  }
407  break;
408  }
409  case 472: {
410  bitField0_ |= 0x00010000;
411  clauseCleanupLbdBound_ = input.readInt32();
412  break;
413  }
414  case 480: {
415  int rawValue = input.readEnum();
416  @SuppressWarnings("deprecation")
417  com.google.ortools.sat.SatParameters.ClauseOrdering value = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(rawValue);
418  if (value == null) {
419  unknownFields.mergeVarintField(60, rawValue);
420  } else {
421  bitField0_ |= 0x00020000;
422  clauseCleanupOrdering_ = rawValue;
423  }
424  break;
425  }
426  case 488: {
427  int rawValue = input.readEnum();
428  @SuppressWarnings("deprecation")
429  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
430  if (value == null) {
431  unknownFields.mergeVarintField(61, rawValue);
432  } else {
433  if (!((mutable_bitField0_ & 0x20000000) != 0)) {
434  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
435  mutable_bitField0_ |= 0x20000000;
436  }
437  restartAlgorithms_.add(rawValue);
438  }
439  break;
440  }
441  case 490: {
442  int length = input.readRawVarint32();
443  int oldLimit = input.pushLimit(length);
444  while(input.getBytesUntilLimit() > 0) {
445  int rawValue = input.readEnum();
446  @SuppressWarnings("deprecation")
447  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
448  if (value == null) {
449  unknownFields.mergeVarintField(61, rawValue);
450  } else {
451  if (!((mutable_bitField0_ & 0x20000000) != 0)) {
452  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
453  mutable_bitField0_ |= 0x20000000;
454  }
455  restartAlgorithms_.add(rawValue);
456  }
457  }
458  input.popLimit(oldLimit);
459  break;
460  }
461  case 496: {
462  bitField0_ |= 0x80000000;
463  restartRunningWindowSize_ = input.readInt32();
464  break;
465  }
466  case 505: {
467  bitField1_ |= 0x00000001;
468  restartDlAverageRatio_ = input.readDouble();
469  break;
470  }
471  case 512: {
472  bitField1_ |= 0x00000004;
473  useBlockingRestart_ = input.readBool();
474  break;
475  }
476  case 520: {
477  bitField1_ |= 0x00000008;
478  blockingRestartWindowSize_ = input.readInt32();
479  break;
480  }
481  case 529: {
482  bitField1_ |= 0x00000010;
483  blockingRestartMultiplier_ = input.readDouble();
484  break;
485  }
486  case 537: {
487  bitField1_ |= 0x00000100;
488  maxDeterministicTime_ = input.readDouble();
489  break;
490  }
491  case 544: {
492  bitField1_ |= 0x00000020;
493  numConflictsBeforeStrategyChanges_ = input.readInt32();
494  break;
495  }
496  case 553: {
497  bitField1_ |= 0x00000040;
498  strategyChangeIncreaseRatio_ = input.readDouble();
499  break;
500  }
501  case 562: {
502  com.google.protobuf.ByteString bs = input.readBytes();
503  bitField0_ |= 0x20000000;
504  defaultRestartAlgorithms_ = bs;
505  break;
506  }
507  case 569: {
508  bitField1_ |= 0x00000002;
509  restartLbdAverageRatio_ = input.readDouble();
510  break;
511  }
512  case 576: {
513  bitField1_ |= 0x04000000;
514  presolveUseBva_ = input.readBool();
515  break;
516  }
517  case 584: {
518  bitField1_ |= 0x08000000;
519  presolveBvaThreshold_ = input.readInt32();
520  break;
521  }
522  case 592: {
523  bitField2_ |= 0x00100000;
524  usePrecedencesInDisjunctiveConstraint_ = input.readBool();
525  break;
526  }
527  case 600: {
528  bitField0_ |= 0x00000080;
529  useErwaHeuristic_ = input.readBool();
530  break;
531  }
532  case 609: {
533  bitField0_ |= 0x00000100;
534  initialVariablesActivity_ = input.readDouble();
535  break;
536  }
537  case 616: {
538  bitField0_ |= 0x00000200;
539  alsoBumpVariablesInConflictReasons_ = input.readBool();
540  break;
541  }
542  case 624: {
543  bitField2_ |= 0x00200000;
544  useOverloadCheckerInCumulativeConstraint_ = input.readBool();
545  break;
546  }
547  case 632: {
548  bitField2_ |= 0x00400000;
549  useTimetableEdgeFindingInCumulativeConstraint_ = input.readBool();
550  break;
551  }
552  case 640: {
553  bitField2_ |= 0x00800000;
554  useDisjunctiveConstraintInCumulativeConstraint_ = input.readBool();
555  break;
556  }
557  case 656: {
558  int rawValue = input.readEnum();
559  @SuppressWarnings("deprecation")
560  com.google.ortools.sat.SatParameters.SearchBranching value = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(rawValue);
561  if (value == null) {
562  unknownFields.mergeVarintField(82, rawValue);
563  } else {
564  bitField3_ |= 0x00001000;
565  searchBranching_ = rawValue;
566  }
567  break;
568  }
569  case 664: {
570  bitField3_ |= 0x00800000;
571  optimizeWithCore_ = input.readBool();
572  break;
573  }
574  case 672: {
575  bitField2_ |= 0x00008000;
576  findMultipleCores_ = input.readBool();
577  break;
578  }
579  case 680: {
580  bitField3_ |= 0x02000000;
581  optimizeWithMaxHs_ = input.readBool();
582  break;
583  }
584  case 688: {
585  bitField1_ |= 0x20000000;
586  cpModelPresolve_ = input.readBool();
587  break;
588  }
589  case 696: {
590  bitField3_ |= 0x04000000;
591  enumerateAllSolutions_ = input.readBool();
592  break;
593  }
594  case 704: {
595  bitField1_ |= 0x02000000;
596  presolveBlockedClause_ = input.readBool();
597  break;
598  }
599  case 712: {
600  bitField2_ |= 0x00010000;
601  coverOptimization_ = input.readBool();
602  break;
603  }
604  case 720: {
605  bitField2_ |= 0x01000000;
606  linearizationLevel_ = input.readInt32();
607  break;
608  }
609  case 728: {
610  bitField2_ |= 0x04000000;
611  maxNumCuts_ = input.readInt32();
612  break;
613  }
614  case 736: {
615  bitField2_ |= 0x08000000;
616  onlyAddCutsAtLevelZero_ = input.readBool();
617  break;
618  }
619  case 744: {
620  bitField2_ |= 0x00000002;
621  cpModelUseSatPresolve_ = input.readBool();
622  break;
623  }
624  case 752: {
625  bitField3_ |= 0x00008000;
626  exploitIntegerLpSolution_ = input.readBool();
627  break;
628  }
629  case 760: {
630  bitField3_ |= 0x40000000;
631  autoDetectGreaterThanAtLeastOneOf_ = input.readBool();
632  break;
633  }
634  case 768: {
635  bitField0_ |= 0x00100000;
636  minimizeWithPropagationRestartPeriod_ = input.readInt32();
637  break;
638  }
639  case 776: {
640  bitField0_ |= 0x00200000;
641  minimizeWithPropagationNumDecisions_ = input.readInt32();
642  break;
643  }
644  case 784: {
645  bitField3_ |= 0x80000000;
646  stopAfterFirstSolution_ = input.readBool();
647  break;
648  }
649  case 792: {
650  bitField3_ |= 0x01000000;
651  binarySearchNumConflicts_ = input.readInt32();
652  break;
653  }
654  case 800: {
655  bitField4_ |= 0x00000002;
656  numSearchWorkers_ = input.readInt32();
657  break;
658  }
659  case 808: {
660  bitField4_ |= 0x00000080;
661  useLnsOnly_ = input.readBool();
662  break;
663  }
664  case 824: {
665  bitField4_ |= 0x00004000;
666  randomizeSearch_ = input.readBool();
667  break;
668  }
669  case 832: {
670  bitField4_ |= 0x00008000;
671  searchRandomizationTolerance_ = input.readInt64();
672  break;
673  }
674  case 840: {
675  bitField4_ |= 0x00000100;
676  lnsFocusOnDecisionVariables_ = input.readBool();
677  break;
678  }
679  case 848: {
680  bitField3_ |= 0x20000000;
681  instantiateAllVariables_ = input.readBool();
682  break;
683  }
684  case 856: {
685  bitField2_ |= 0x02000000;
686  booleanEncodingLevel_ = input.readInt32();
687  break;
688  }
689  case 864: {
690  bitField4_ |= 0x00010000;
691  useOptionalVariables_ = input.readBool();
692  break;
693  }
694  case 872: {
695  bitField4_ |= 0x00020000;
696  useExactLpReason_ = input.readBool();
697  break;
698  }
699  case 880: {
700  bitField2_ |= 0x00000001;
701  cpModelProbingLevel_ = input.readInt32();
702  break;
703  }
704  case 888: {
705  bitField2_ |= 0x10000000;
706  addKnapsackCuts_ = input.readBool();
707  break;
708  }
709  case 896: {
710  bitField3_ |= 0x00000010;
711  addLpConstraintsLazily_ = input.readBool();
712  break;
713  }
714  case 904: {
715  bitField4_ |= 0x00000020;
716  shareObjectiveBounds_ = input.readBool();
717  break;
718  }
719  case 912: {
720  bitField4_ |= 0x00000040;
721  shareLevelZeroBounds_ = input.readBool();
722  break;
723  }
724  case 921: {
725  bitField3_ |= 0x00000020;
726  minOrthogonalityForLpConstraints_ = input.readDouble();
727  break;
728  }
729  case 928: {
730  bitField3_ |= 0x00010000;
731  exploitAllLpSolution_ = input.readBool();
732  break;
733  }
734  case 936: {
735  bitField2_ |= 0x20000000;
736  addCgCuts_ = input.readBool();
737  break;
738  }
739  case 952: {
740  bitField3_ |= 0x00000008;
741  maxIntegerRoundingScaling_ = input.readInt32();
742  break;
743  }
744  case 960: {
745  bitField2_ |= 0x40000000;
746  addMirCuts_ = input.readBool();
747  break;
748  }
749  case 968: {
750  bitField3_ |= 0x00000080;
751  maxConsecutiveInactiveCount_ = input.readInt32();
752  break;
753  }
754  case 976: {
755  bitField3_ |= 0x00000800;
756  newConstraintsBatchSize_ = input.readInt32();
757  break;
758  }
759  case 984: {
760  bitField3_ |= 0x00400000;
761  pseudoCostReliabilityThreshold_ = input.readInt64();
762  break;
763  }
764  case 993: {
765  bitField4_ |= 0x01000000;
766  mipMaxBound_ = input.readDouble();
767  break;
768  }
769  case 1001: {
770  bitField4_ |= 0x02000000;
771  mipVarScaling_ = input.readDouble();
772  break;
773  }
774  case 1009: {
775  bitField4_ |= 0x08000000;
776  mipWantedPrecision_ = input.readDouble();
777  break;
778  }
779  case 1016: {
780  bitField4_ |= 0x10000000;
781  mipMaxActivityExponent_ = input.readInt32();
782  break;
783  }
784  case 1025: {
785  bitField4_ |= 0x20000000;
786  mipCheckPrecision_ = input.readDouble();
787  break;
788  }
789  case 1032: {
790  bitField4_ |= 0x00000200;
791  useRinsLns_ = input.readBool();
792  break;
793  }
794  case 1040: {
795  bitField3_ |= 0x00020000;
796  exploitBestSolution_ = input.readBool();
797  break;
798  }
799  case 1048: {
800  bitField3_ |= 0x00080000;
801  exploitObjective_ = input.readBool();
802  break;
803  }
804  case 1056: {
805  bitField3_ |= 0x10000000;
806  fillTightenedDomainsInResponse_ = input.readBool();
807  break;
808  }
809  case 1064: {
810  bitField4_ |= 0x00080000;
811  useCombinedNoOverlap_ = input.readBool();
812  break;
813  }
814  case 1072: {
815  bitField4_ |= 0x00000008;
816  interleaveBatchSize_ = input.readInt32();
817  break;
818  }
819  case 1080: {
820  bitField4_ |= 0x00100000;
821  catchSigintSignal_ = input.readBool();
822  break;
823  }
824  case 1088: {
825  bitField4_ |= 0x00000004;
826  interleaveSearch_ = input.readBool();
827  break;
828  }
829  case 1096: {
830  bitField4_ |= 0x00002000;
831  diversifyLnsParams_ = input.readBool();
832  break;
833  }
834  case 1104: {
835  bitField1_ |= 0x10000000;
836  maxPresolveIterations_ = input.readInt32();
837  break;
838  }
839  case 1112: {
840  bitField4_ |= 0x00040000;
841  useBranchingInLp_ = input.readBool();
842  break;
843  }
844  case 1120: {
845  bitField2_ |= 0x00000008;
846  expandElementConstraints_ = input.readBool();
847  break;
848  }
849  case 1128: {
850  bitField4_ |= 0x00000010;
851  reduceMemoryUsageInInterleaveMode_ = input.readBool();
852  break;
853  }
854  case 1136: {
855  bitField3_ |= 0x00100000;
856  probingPeriodAtRoot_ = input.readInt64();
857  break;
858  }
859  case 1144: {
860  bitField2_ |= 0x00000010;
861  expandAutomatonConstraints_ = input.readBool();
862  break;
863  }
864  case 1152: {
865  bitField4_ |= 0x00200000;
866  useImpliedBounds_ = input.readBool();
867  break;
868  }
869  case 1161: {
870  bitField2_ |= 0x00000200;
871  mergeNoOverlapWorkLimit_ = input.readDouble();
872  break;
873  }
874  case 1169: {
875  bitField2_ |= 0x00000400;
876  mergeAtMostOneWorkLimit_ = input.readDouble();
877  break;
878  }
879  case 1176: {
880  bitField2_ |= 0x00000800;
881  presolveSubstitutionLevel_ = input.readInt32();
882  break;
883  }
884  case 1184: {
885  bitField3_ |= 0x00000002;
886  maxAllDiffCutSize_ = input.readInt32();
887  break;
888  }
889  case 1192: {
890  bitField4_ |= 0x00000001;
891  stopAfterPresolve_ = input.readBool();
892  break;
893  }
894  case 1200: {
895  bitField4_ |= 0x00001000;
896  useRelaxationLns_ = input.readBool();
897  break;
898  }
899  case 1208: {
900  bitField1_ |= 0x80000000;
901  cpModelMaxNumPresolveOperations_ = input.readInt32();
902  break;
903  }
904  case 1216: {
905  bitField3_ |= 0x00000004;
906  addLinMaxCuts_ = input.readBool();
907  break;
908  }
909  case 1224: {
910  bitField3_ |= 0x00002000;
911  hintConflictLimit_ = input.readInt32();
912  break;
913  }
914  case 1232: {
915  bitField3_ |= 0x00000040;
916  maxCutRoundsAtLevelZero_ = input.readInt32();
917  break;
918  }
919  case 1241: {
920  bitField3_ |= 0x00000100;
921  cutMaxActiveCountValue_ = input.readDouble();
922  break;
923  }
924  case 1249: {
925  bitField3_ |= 0x00000200;
926  cutActiveCountDecay_ = input.readDouble();
927  break;
928  }
929  case 1256: {
930  bitField3_ |= 0x00000400;
931  cutCleanupTarget_ = input.readInt32();
932  break;
933  }
934  case 1264: {
935  bitField2_ |= 0x00000020;
936  expandTableConstraints_ = input.readBool();
937  break;
938  }
939  case 1273: {
940  bitField1_ |= 0x00000800;
941  absoluteGapLimit_ = input.readDouble();
942  break;
943  }
944  case 1281: {
945  bitField1_ |= 0x00001000;
946  relativeGapLimit_ = input.readDouble();
947  break;
948  }
949  case 1288: {
950  bitField3_ |= 0x00040000;
951  exploitRelaxationSolution_ = input.readBool();
952  break;
953  }
954  case 1296: {
955  bitField1_ |= 0x40000000;
956  cpModelPostsolveWithFullSolver_ = input.readBool();
957  break;
958  }
959  case 1304: {
960  bitField2_ |= 0x00000004;
961  useSatInprocessing_ = input.readBool();
962  break;
963  }
964  case 1312: {
965  bitField4_ |= 0x00000400;
966  useFeasibilityPump_ = input.readBool();
967  break;
968  }
969  case 1320: {
970  int rawValue = input.readEnum();
971  @SuppressWarnings("deprecation")
972  com.google.ortools.sat.SatParameters.FPRoundingMethod value = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(rawValue);
973  if (value == null) {
974  unknownFields.mergeVarintField(165, rawValue);
975  } else {
976  bitField4_ |= 0x00000800;
977  fpRounding_ = rawValue;
978  }
979  break;
980  }
981  case 1328: {
982  bitField4_ |= 0x04000000;
983  mipAutomaticallyScaleVariables_ = input.readBool();
984  break;
985  }
986  case 1336: {
987  bitField3_ |= 0x00004000;
988  repairHint_ = input.readBool();
989  break;
990  }
991  case 1344: {
992  bitField0_ |= 0x00000010;
993  polarityRephaseIncrement_ = input.readInt32();
994  break;
995  }
996  case 1352: {
997  bitField2_ |= 0x80000000;
998  addZeroHalfCuts_ = input.readBool();
999  break;
1000  }
1001  case 1360: {
1002  bitField2_ |= 0x00000040;
1003  expandAlldiffConstraints_ = input.readBool();
1004  break;
1005  }
1006  case 1370: {
1007  com.google.protobuf.ByteString bs = input.readBytes();
1008  bitField0_ |= 0x00000001;
1009  name_ = bs;
1010  break;
1011  }
1012  case 1376: {
1013  bitField3_ |= 0x00000001;
1014  addCliqueCuts_ = input.readBool();
1015  break;
1016  }
1017  case 1384: {
1018  bitField3_ |= 0x08000000;
1019  keepAllFeasibleSolutionsInPresolve_ = input.readBool();
1020  break;
1021  }
1022  case 1392: {
1023  bitField2_ |= 0x00001000;
1024  presolveExtractIntegerEnforcement_ = input.readBool();
1025  break;
1026  }
1027  case 1400: {
1028  bitField4_ |= 0x00400000;
1029  polishLpSolution_ = input.readBool();
1030  break;
1031  }
1032  case 1408: {
1033  bitField3_ |= 0x00200000;
1034  useProbingSearch_ = input.readBool();
1035  break;
1036  }
1037  case 1416: {
1038  bitField4_ |= 0x00800000;
1039  convertIntervals_ = input.readBool();
1040  break;
1041  }
1042  case 1424: {
1043  bitField1_ |= 0x00008000;
1044  permuteVariableRandomly_ = input.readBool();
1045  break;
1046  }
1047  case 1432: {
1048  bitField1_ |= 0x00010000;
1049  permutePresolveConstraintOrder_ = input.readBool();
1050  break;
1051  }
1052  case 1440: {
1053  bitField1_ |= 0x00020000;
1054  useAbslRandom_ = input.readBool();
1055  break;
1056  }
1057  case 1448: {
1058  bitField2_ |= 0x00000100;
1059  disableConstraintExpansion_ = input.readBool();
1060  break;
1061  }
1062  case 1456: {
1063  bitField2_ |= 0x00000080;
1064  expandReservoirConstraints_ = input.readBool();
1065  break;
1066  }
1067  default: {
1068  if (!parseUnknownField(
1069  input, unknownFields, extensionRegistry, tag)) {
1070  done = true;
1071  }
1072  break;
1073  }
1074  }
1075  }
1076  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1077  throw e.setUnfinishedMessage(this);
1078  } catch (java.io.IOException e) {
1079  throw new com.google.protobuf.InvalidProtocolBufferException(
1080  e).setUnfinishedMessage(this);
1081  } finally {
1082  if (((mutable_bitField0_ & 0x20000000) != 0)) {
1083  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
1084  }
1085  this.unknownFields = unknownFields.build();
1086  makeExtensionsImmutable();
1087  }
1088  }
1089  public static final com.google.protobuf.Descriptors.Descriptor
1091  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
1092  }
1093 
1094  @java.lang.Override
1095  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1097  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
1098  .ensureFieldAccessorsInitialized(
1100  }
1101 
1110  public enum VariableOrder
1111  implements com.google.protobuf.ProtocolMessageEnum {
1128  ;
1129 
1137  public static final int IN_ORDER_VALUE = 0;
1141  public static final int IN_REVERSE_ORDER_VALUE = 1;
1145  public static final int IN_RANDOM_ORDER_VALUE = 2;
1146 
1147 
1148  public final int getNumber() {
1149  return value;
1150  }
1151 
1157  @java.lang.Deprecated
1158  public static VariableOrder valueOf(int value) {
1159  return forNumber(value);
1160  }
1161 
1166  public static VariableOrder forNumber(int value) {
1167  switch (value) {
1168  case 0: return IN_ORDER;
1169  case 1: return IN_REVERSE_ORDER;
1170  case 2: return IN_RANDOM_ORDER;
1171  default: return null;
1172  }
1173  }
1174 
1175  public static com.google.protobuf.Internal.EnumLiteMap<VariableOrder>
1177  return internalValueMap;
1178  }
1179  private static final com.google.protobuf.Internal.EnumLiteMap<
1180  VariableOrder> internalValueMap =
1181  new com.google.protobuf.Internal.EnumLiteMap<VariableOrder>() {
1182  public VariableOrder findValueByNumber(int number) {
1183  return VariableOrder.forNumber(number);
1184  }
1185  };
1186 
1187  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1189  return getDescriptor().getValues().get(ordinal());
1190  }
1191  public final com.google.protobuf.Descriptors.EnumDescriptor
1193  return getDescriptor();
1194  }
1195  public static final com.google.protobuf.Descriptors.EnumDescriptor
1197  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
1198  }
1199 
1200  private static final VariableOrder[] VALUES = values();
1201 
1202  public static VariableOrder valueOf(
1203  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1204  if (desc.getType() != getDescriptor()) {
1205  throw new java.lang.IllegalArgumentException(
1206  "EnumValueDescriptor is not for this type.");
1207  }
1208  return VALUES[desc.getIndex()];
1209  }
1210 
1211  private final int value;
1212 
1213  private VariableOrder(int value) {
1214  this.value = value;
1215  }
1216 
1217  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.VariableOrder)
1218  }
1219 
1231  public enum Polarity
1232  implements com.google.protobuf.ProtocolMessageEnum {
1264  ;
1265 
1269  public static final int POLARITY_TRUE_VALUE = 0;
1273  public static final int POLARITY_FALSE_VALUE = 1;
1277  public static final int POLARITY_RANDOM_VALUE = 2;
1288  public static final int POLARITY_WEIGHTED_SIGN_VALUE = 3;
1296  public static final int POLARITY_REVERSE_WEIGHTED_SIGN_VALUE = 4;
1297 
1298 
1299  public final int getNumber() {
1300  return value;
1301  }
1302 
1308  @java.lang.Deprecated
1309  public static Polarity valueOf(int value) {
1310  return forNumber(value);
1311  }
1312 
1317  public static Polarity forNumber(int value) {
1318  switch (value) {
1319  case 0: return POLARITY_TRUE;
1320  case 1: return POLARITY_FALSE;
1321  case 2: return POLARITY_RANDOM;
1322  case 3: return POLARITY_WEIGHTED_SIGN;
1323  case 4: return POLARITY_REVERSE_WEIGHTED_SIGN;
1324  default: return null;
1325  }
1326  }
1327 
1328  public static com.google.protobuf.Internal.EnumLiteMap<Polarity>
1330  return internalValueMap;
1331  }
1332  private static final com.google.protobuf.Internal.EnumLiteMap<
1333  Polarity> internalValueMap =
1334  new com.google.protobuf.Internal.EnumLiteMap<Polarity>() {
1335  public Polarity findValueByNumber(int number) {
1336  return Polarity.forNumber(number);
1337  }
1338  };
1339 
1340  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1342  return getDescriptor().getValues().get(ordinal());
1343  }
1344  public final com.google.protobuf.Descriptors.EnumDescriptor
1346  return getDescriptor();
1347  }
1348  public static final com.google.protobuf.Descriptors.EnumDescriptor
1350  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
1351  }
1352 
1353  private static final Polarity[] VALUES = values();
1354 
1355  public static Polarity valueOf(
1356  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1357  if (desc.getType() != getDescriptor()) {
1358  throw new java.lang.IllegalArgumentException(
1359  "EnumValueDescriptor is not for this type.");
1360  }
1361  return VALUES[desc.getIndex()];
1362  }
1363 
1364  private final int value;
1365 
1366  private Polarity(int value) {
1367  this.value = value;
1368  }
1369 
1370  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.Polarity)
1371  }
1372 
1381  implements com.google.protobuf.ProtocolMessageEnum {
1385  NONE(0),
1398  ;
1399 
1403  public static final int NONE_VALUE = 0;
1407  public static final int SIMPLE_VALUE = 1;
1411  public static final int RECURSIVE_VALUE = 2;
1415  public static final int EXPERIMENTAL_VALUE = 3;
1416 
1417 
1418  public final int getNumber() {
1419  return value;
1420  }
1421 
1427  @java.lang.Deprecated
1428  public static ConflictMinimizationAlgorithm valueOf(int value) {
1429  return forNumber(value);
1430  }
1431 
1436  public static ConflictMinimizationAlgorithm forNumber(int value) {
1437  switch (value) {
1438  case 0: return NONE;
1439  case 1: return SIMPLE;
1440  case 2: return RECURSIVE;
1441  case 3: return EXPERIMENTAL;
1442  default: return null;
1443  }
1444  }
1445 
1446  public static com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>
1448  return internalValueMap;
1449  }
1450  private static final com.google.protobuf.Internal.EnumLiteMap<
1451  ConflictMinimizationAlgorithm> internalValueMap =
1452  new com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>() {
1453  public ConflictMinimizationAlgorithm findValueByNumber(int number) {
1455  }
1456  };
1457 
1458  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1460  return getDescriptor().getValues().get(ordinal());
1461  }
1462  public final com.google.protobuf.Descriptors.EnumDescriptor
1464  return getDescriptor();
1465  }
1466  public static final com.google.protobuf.Descriptors.EnumDescriptor
1468  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
1469  }
1470 
1471  private static final ConflictMinimizationAlgorithm[] VALUES = values();
1472 
1474  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1475  if (desc.getType() != getDescriptor()) {
1476  throw new java.lang.IllegalArgumentException(
1477  "EnumValueDescriptor is not for this type.");
1478  }
1479  return VALUES[desc.getIndex()];
1480  }
1481 
1482  private final int value;
1483 
1484  private ConflictMinimizationAlgorithm(int value) {
1485  this.value = value;
1486  }
1487 
1488  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ConflictMinimizationAlgorithm)
1489  }
1490 
1500  implements com.google.protobuf.ProtocolMessageEnum {
1521  ;
1522 
1526  public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
1530  public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
1534  public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
1538  public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
1542  public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
1543 
1544 
1545  public final int getNumber() {
1546  return value;
1547  }
1548 
1554  @java.lang.Deprecated
1555  public static BinaryMinizationAlgorithm valueOf(int value) {
1556  return forNumber(value);
1557  }
1558 
1563  public static BinaryMinizationAlgorithm forNumber(int value) {
1564  switch (value) {
1565  case 0: return NO_BINARY_MINIMIZATION;
1566  case 1: return BINARY_MINIMIZATION_FIRST;
1567  case 4: return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
1568  case 2: return BINARY_MINIMIZATION_WITH_REACHABILITY;
1569  case 3: return EXPERIMENTAL_BINARY_MINIMIZATION;
1570  default: return null;
1571  }
1572  }
1573 
1574  public static com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>
1576  return internalValueMap;
1577  }
1578  private static final com.google.protobuf.Internal.EnumLiteMap<
1579  BinaryMinizationAlgorithm> internalValueMap =
1580  new com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>() {
1581  public BinaryMinizationAlgorithm findValueByNumber(int number) {
1582  return BinaryMinizationAlgorithm.forNumber(number);
1583  }
1584  };
1585 
1586  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1588  return getDescriptor().getValues().get(ordinal());
1589  }
1590  public final com.google.protobuf.Descriptors.EnumDescriptor
1592  return getDescriptor();
1593  }
1594  public static final com.google.protobuf.Descriptors.EnumDescriptor
1596  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
1597  }
1598 
1599  private static final BinaryMinizationAlgorithm[] VALUES = values();
1600 
1602  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1603  if (desc.getType() != getDescriptor()) {
1604  throw new java.lang.IllegalArgumentException(
1605  "EnumValueDescriptor is not for this type.");
1606  }
1607  return VALUES[desc.getIndex()];
1608  }
1609 
1610  private final int value;
1611 
1612  private BinaryMinizationAlgorithm(int value) {
1613  this.value = value;
1614  }
1615 
1616  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.BinaryMinizationAlgorithm)
1617  }
1618 
1628  public enum ClauseProtection
1629  implements com.google.protobuf.ProtocolMessageEnum {
1654  ;
1655 
1663  public static final int PROTECTION_NONE_VALUE = 0;
1671  public static final int PROTECTION_ALWAYS_VALUE = 1;
1679  public static final int PROTECTION_LBD_VALUE = 2;
1680 
1681 
1682  public final int getNumber() {
1683  return value;
1684  }
1685 
1691  @java.lang.Deprecated
1692  public static ClauseProtection valueOf(int value) {
1693  return forNumber(value);
1694  }
1695 
1700  public static ClauseProtection forNumber(int value) {
1701  switch (value) {
1702  case 0: return PROTECTION_NONE;
1703  case 1: return PROTECTION_ALWAYS;
1704  case 2: return PROTECTION_LBD;
1705  default: return null;
1706  }
1707  }
1708 
1709  public static com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>
1711  return internalValueMap;
1712  }
1713  private static final com.google.protobuf.Internal.EnumLiteMap<
1714  ClauseProtection> internalValueMap =
1715  new com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>() {
1716  public ClauseProtection findValueByNumber(int number) {
1717  return ClauseProtection.forNumber(number);
1718  }
1719  };
1720 
1721  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1723  return getDescriptor().getValues().get(ordinal());
1724  }
1725  public final com.google.protobuf.Descriptors.EnumDescriptor
1727  return getDescriptor();
1728  }
1729  public static final com.google.protobuf.Descriptors.EnumDescriptor
1731  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
1732  }
1733 
1734  private static final ClauseProtection[] VALUES = values();
1735 
1736  public static ClauseProtection valueOf(
1737  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1738  if (desc.getType() != getDescriptor()) {
1739  throw new java.lang.IllegalArgumentException(
1740  "EnumValueDescriptor is not for this type.");
1741  }
1742  return VALUES[desc.getIndex()];
1743  }
1744 
1745  private final int value;
1746 
1747  private ClauseProtection(int value) {
1748  this.value = value;
1749  }
1750 
1751  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseProtection)
1752  }
1753 
1762  public enum ClauseOrdering
1763  implements com.google.protobuf.ProtocolMessageEnum {
1780  ;
1781 
1789  public static final int CLAUSE_ACTIVITY_VALUE = 0;
1797  public static final int CLAUSE_LBD_VALUE = 1;
1798 
1799 
1800  public final int getNumber() {
1801  return value;
1802  }
1803 
1809  @java.lang.Deprecated
1810  public static ClauseOrdering valueOf(int value) {
1811  return forNumber(value);
1812  }
1813 
1818  public static ClauseOrdering forNumber(int value) {
1819  switch (value) {
1820  case 0: return CLAUSE_ACTIVITY;
1821  case 1: return CLAUSE_LBD;
1822  default: return null;
1823  }
1824  }
1825 
1826  public static com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>
1828  return internalValueMap;
1829  }
1830  private static final com.google.protobuf.Internal.EnumLiteMap<
1831  ClauseOrdering> internalValueMap =
1832  new com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>() {
1833  public ClauseOrdering findValueByNumber(int number) {
1834  return ClauseOrdering.forNumber(number);
1835  }
1836  };
1837 
1838  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1840  return getDescriptor().getValues().get(ordinal());
1841  }
1842  public final com.google.protobuf.Descriptors.EnumDescriptor
1844  return getDescriptor();
1845  }
1846  public static final com.google.protobuf.Descriptors.EnumDescriptor
1848  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
1849  }
1850 
1851  private static final ClauseOrdering[] VALUES = values();
1852 
1853  public static ClauseOrdering valueOf(
1854  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1855  if (desc.getType() != getDescriptor()) {
1856  throw new java.lang.IllegalArgumentException(
1857  "EnumValueDescriptor is not for this type.");
1858  }
1859  return VALUES[desc.getIndex()];
1860  }
1861 
1862  private final int value;
1863 
1864  private ClauseOrdering(int value) {
1865  this.value = value;
1866  }
1867 
1868  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseOrdering)
1869  }
1870 
1882  public enum RestartAlgorithm
1883  implements com.google.protobuf.ProtocolMessageEnum {
1920  ;
1921 
1925  public static final int NO_RESTART_VALUE = 0;
1933  public static final int LUBY_RESTART_VALUE = 1;
1941  public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
1949  public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
1957  public static final int FIXED_RESTART_VALUE = 4;
1958 
1959 
1960  public final int getNumber() {
1961  return value;
1962  }
1963 
1969  @java.lang.Deprecated
1970  public static RestartAlgorithm valueOf(int value) {
1971  return forNumber(value);
1972  }
1973 
1978  public static RestartAlgorithm forNumber(int value) {
1979  switch (value) {
1980  case 0: return NO_RESTART;
1981  case 1: return LUBY_RESTART;
1982  case 2: return DL_MOVING_AVERAGE_RESTART;
1983  case 3: return LBD_MOVING_AVERAGE_RESTART;
1984  case 4: return FIXED_RESTART;
1985  default: return null;
1986  }
1987  }
1988 
1989  public static com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>
1991  return internalValueMap;
1992  }
1993  private static final com.google.protobuf.Internal.EnumLiteMap<
1994  RestartAlgorithm> internalValueMap =
1995  new com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>() {
1996  public RestartAlgorithm findValueByNumber(int number) {
1997  return RestartAlgorithm.forNumber(number);
1998  }
1999  };
2000 
2001  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2003  return getDescriptor().getValues().get(ordinal());
2004  }
2005  public final com.google.protobuf.Descriptors.EnumDescriptor
2007  return getDescriptor();
2008  }
2009  public static final com.google.protobuf.Descriptors.EnumDescriptor
2011  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
2012  }
2013 
2014  private static final RestartAlgorithm[] VALUES = values();
2015 
2016  public static RestartAlgorithm valueOf(
2017  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2018  if (desc.getType() != getDescriptor()) {
2019  throw new java.lang.IllegalArgumentException(
2020  "EnumValueDescriptor is not for this type.");
2021  }
2022  return VALUES[desc.getIndex()];
2023  }
2024 
2025  private final int value;
2026 
2027  private RestartAlgorithm(int value) {
2028  this.value = value;
2029  }
2030 
2031  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.RestartAlgorithm)
2032  }
2033 
2042  implements com.google.protobuf.ProtocolMessageEnum {
2055  ;
2056 
2060  public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
2064  public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
2068  public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
2069 
2070 
2071  public final int getNumber() {
2072  return value;
2073  }
2074 
2080  @java.lang.Deprecated
2081  public static MaxSatAssumptionOrder valueOf(int value) {
2082  return forNumber(value);
2083  }
2084 
2089  public static MaxSatAssumptionOrder forNumber(int value) {
2090  switch (value) {
2091  case 0: return DEFAULT_ASSUMPTION_ORDER;
2092  case 1: return ORDER_ASSUMPTION_BY_DEPTH;
2093  case 2: return ORDER_ASSUMPTION_BY_WEIGHT;
2094  default: return null;
2095  }
2096  }
2097 
2098  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>
2100  return internalValueMap;
2101  }
2102  private static final com.google.protobuf.Internal.EnumLiteMap<
2103  MaxSatAssumptionOrder> internalValueMap =
2104  new com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>() {
2105  public MaxSatAssumptionOrder findValueByNumber(int number) {
2106  return MaxSatAssumptionOrder.forNumber(number);
2107  }
2108  };
2109 
2110  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2112  return getDescriptor().getValues().get(ordinal());
2113  }
2114  public final com.google.protobuf.Descriptors.EnumDescriptor
2116  return getDescriptor();
2117  }
2118  public static final com.google.protobuf.Descriptors.EnumDescriptor
2120  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
2121  }
2122 
2123  private static final MaxSatAssumptionOrder[] VALUES = values();
2124 
2126  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2127  if (desc.getType() != getDescriptor()) {
2128  throw new java.lang.IllegalArgumentException(
2129  "EnumValueDescriptor is not for this type.");
2130  }
2131  return VALUES[desc.getIndex()];
2132  }
2133 
2134  private final int value;
2135 
2136  private MaxSatAssumptionOrder(int value) {
2137  this.value = value;
2138  }
2139 
2140  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatAssumptionOrder)
2141  }
2142 
2151  implements com.google.protobuf.ProtocolMessageEnum {
2180  ;
2181 
2189  public static final int STRATIFICATION_NONE_VALUE = 0;
2198  public static final int STRATIFICATION_DESCENT_VALUE = 1;
2209  public static final int STRATIFICATION_ASCENT_VALUE = 2;
2210 
2211 
2212  public final int getNumber() {
2213  return value;
2214  }
2215 
2221  @java.lang.Deprecated
2222  public static MaxSatStratificationAlgorithm valueOf(int value) {
2223  return forNumber(value);
2224  }
2225 
2230  public static MaxSatStratificationAlgorithm forNumber(int value) {
2231  switch (value) {
2232  case 0: return STRATIFICATION_NONE;
2233  case 1: return STRATIFICATION_DESCENT;
2234  case 2: return STRATIFICATION_ASCENT;
2235  default: return null;
2236  }
2237  }
2238 
2239  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>
2241  return internalValueMap;
2242  }
2243  private static final com.google.protobuf.Internal.EnumLiteMap<
2244  MaxSatStratificationAlgorithm> internalValueMap =
2245  new com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>() {
2246  public MaxSatStratificationAlgorithm findValueByNumber(int number) {
2248  }
2249  };
2250 
2251  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2253  return getDescriptor().getValues().get(ordinal());
2254  }
2255  public final com.google.protobuf.Descriptors.EnumDescriptor
2257  return getDescriptor();
2258  }
2259  public static final com.google.protobuf.Descriptors.EnumDescriptor
2261  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
2262  }
2263 
2264  private static final MaxSatStratificationAlgorithm[] VALUES = values();
2265 
2267  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2268  if (desc.getType() != getDescriptor()) {
2269  throw new java.lang.IllegalArgumentException(
2270  "EnumValueDescriptor is not for this type.");
2271  }
2272  return VALUES[desc.getIndex()];
2273  }
2274 
2275  private final int value;
2276 
2277  private MaxSatStratificationAlgorithm(int value) {
2278  this.value = value;
2279  }
2280 
2281  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatStratificationAlgorithm)
2282  }
2283 
2291  public enum SearchBranching
2292  implements com.google.protobuf.ProtocolMessageEnum {
2360  ;
2361 
2370  public static final int AUTOMATIC_SEARCH_VALUE = 0;
2380  public static final int FIXED_SEARCH_VALUE = 1;
2388  public static final int PORTFOLIO_SEARCH_VALUE = 2;
2398  public static final int LP_SEARCH_VALUE = 3;
2408  public static final int PSEUDO_COST_SEARCH_VALUE = 4;
2418  public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
2428  public static final int HINT_SEARCH_VALUE = 6;
2429 
2430 
2431  public final int getNumber() {
2432  return value;
2433  }
2434 
2440  @java.lang.Deprecated
2441  public static SearchBranching valueOf(int value) {
2442  return forNumber(value);
2443  }
2444 
2449  public static SearchBranching forNumber(int value) {
2450  switch (value) {
2451  case 0: return AUTOMATIC_SEARCH;
2452  case 1: return FIXED_SEARCH;
2453  case 2: return PORTFOLIO_SEARCH;
2454  case 3: return LP_SEARCH;
2455  case 4: return PSEUDO_COST_SEARCH;
2456  case 5: return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
2457  case 6: return HINT_SEARCH;
2458  default: return null;
2459  }
2460  }
2461 
2462  public static com.google.protobuf.Internal.EnumLiteMap<SearchBranching>
2464  return internalValueMap;
2465  }
2466  private static final com.google.protobuf.Internal.EnumLiteMap<
2467  SearchBranching> internalValueMap =
2468  new com.google.protobuf.Internal.EnumLiteMap<SearchBranching>() {
2469  public SearchBranching findValueByNumber(int number) {
2470  return SearchBranching.forNumber(number);
2471  }
2472  };
2473 
2474  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2476  return getDescriptor().getValues().get(ordinal());
2477  }
2478  public final com.google.protobuf.Descriptors.EnumDescriptor
2480  return getDescriptor();
2481  }
2482  public static final com.google.protobuf.Descriptors.EnumDescriptor
2484  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
2485  }
2486 
2487  private static final SearchBranching[] VALUES = values();
2488 
2489  public static SearchBranching valueOf(
2490  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2491  if (desc.getType() != getDescriptor()) {
2492  throw new java.lang.IllegalArgumentException(
2493  "EnumValueDescriptor is not for this type.");
2494  }
2495  return VALUES[desc.getIndex()];
2496  }
2497 
2498  private final int value;
2499 
2500  private SearchBranching(int value) {
2501  this.value = value;
2502  }
2503 
2504  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.SearchBranching)
2505  }
2506 
2514  public enum FPRoundingMethod
2515  implements com.google.protobuf.ProtocolMessageEnum {
2556  ;
2557 
2565  public static final int NEAREST_INTEGER_VALUE = 0;
2575  public static final int LOCK_BASED_VALUE = 1;
2584  public static final int ACTIVE_LOCK_BASED_VALUE = 3;
2597  public static final int PROPAGATION_ASSISTED_VALUE = 2;
2598 
2599 
2600  public final int getNumber() {
2601  return value;
2602  }
2603 
2609  @java.lang.Deprecated
2610  public static FPRoundingMethod valueOf(int value) {
2611  return forNumber(value);
2612  }
2613 
2618  public static FPRoundingMethod forNumber(int value) {
2619  switch (value) {
2620  case 0: return NEAREST_INTEGER;
2621  case 1: return LOCK_BASED;
2622  case 3: return ACTIVE_LOCK_BASED;
2623  case 2: return PROPAGATION_ASSISTED;
2624  default: return null;
2625  }
2626  }
2627 
2628  public static com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>
2630  return internalValueMap;
2631  }
2632  private static final com.google.protobuf.Internal.EnumLiteMap<
2633  FPRoundingMethod> internalValueMap =
2634  new com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>() {
2635  public FPRoundingMethod findValueByNumber(int number) {
2636  return FPRoundingMethod.forNumber(number);
2637  }
2638  };
2639 
2640  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2642  return getDescriptor().getValues().get(ordinal());
2643  }
2644  public final com.google.protobuf.Descriptors.EnumDescriptor
2646  return getDescriptor();
2647  }
2648  public static final com.google.protobuf.Descriptors.EnumDescriptor
2650  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(10);
2651  }
2652 
2653  private static final FPRoundingMethod[] VALUES = values();
2654 
2655  public static FPRoundingMethod valueOf(
2656  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2657  if (desc.getType() != getDescriptor()) {
2658  throw new java.lang.IllegalArgumentException(
2659  "EnumValueDescriptor is not for this type.");
2660  }
2661  return VALUES[desc.getIndex()];
2662  }
2663 
2664  private final int value;
2665 
2666  private FPRoundingMethod(int value) {
2667  this.value = value;
2668  }
2669 
2670  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.FPRoundingMethod)
2671  }
2672 
2673  private int bitField0_;
2674  private int bitField1_;
2675  private int bitField2_;
2676  private int bitField3_;
2677  private int bitField4_;
2678  public static final int NAME_FIELD_NUMBER = 171;
2679  private volatile java.lang.Object name_;
2689  @java.lang.Override
2690  public boolean hasName() {
2691  return ((bitField0_ & 0x00000001) != 0);
2692  }
2702  @java.lang.Override
2703  public java.lang.String getName() {
2704  java.lang.Object ref = name_;
2705  if (ref instanceof java.lang.String) {
2706  return (java.lang.String) ref;
2707  } else {
2708  com.google.protobuf.ByteString bs =
2709  (com.google.protobuf.ByteString) ref;
2710  java.lang.String s = bs.toStringUtf8();
2711  if (bs.isValidUtf8()) {
2712  name_ = s;
2713  }
2714  return s;
2715  }
2716  }
2726  @java.lang.Override
2727  public com.google.protobuf.ByteString
2729  java.lang.Object ref = name_;
2730  if (ref instanceof java.lang.String) {
2731  com.google.protobuf.ByteString b =
2732  com.google.protobuf.ByteString.copyFromUtf8(
2733  (java.lang.String) ref);
2734  name_ = b;
2735  return b;
2736  } else {
2737  return (com.google.protobuf.ByteString) ref;
2738  }
2739  }
2740 
2741  public static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER = 1;
2742  private int preferredVariableOrder_;
2747  @java.lang.Override public boolean hasPreferredVariableOrder() {
2748  return ((bitField0_ & 0x00000002) != 0);
2749  }
2755  @SuppressWarnings("deprecation")
2757  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
2758  }
2759 
2760  public static final int INITIAL_POLARITY_FIELD_NUMBER = 2;
2761  private int initialPolarity_;
2766  @java.lang.Override public boolean hasInitialPolarity() {
2767  return ((bitField0_ & 0x00000004) != 0);
2768  }
2774  @SuppressWarnings("deprecation")
2776  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
2777  }
2778 
2779  public static final int USE_PHASE_SAVING_FIELD_NUMBER = 44;
2780  private boolean usePhaseSaving_;
2797  @java.lang.Override
2798  public boolean hasUsePhaseSaving() {
2799  return ((bitField0_ & 0x00000008) != 0);
2800  }
2817  @java.lang.Override
2818  public boolean getUsePhaseSaving() {
2819  return usePhaseSaving_;
2820  }
2821 
2822  public static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER = 168;
2823  private int polarityRephaseIncrement_;
2834  @java.lang.Override
2835  public boolean hasPolarityRephaseIncrement() {
2836  return ((bitField0_ & 0x00000010) != 0);
2837  }
2848  @java.lang.Override
2850  return polarityRephaseIncrement_;
2851  }
2852 
2853  public static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER = 45;
2854  private double randomPolarityRatio_;
2867  @java.lang.Override
2868  public boolean hasRandomPolarityRatio() {
2869  return ((bitField0_ & 0x00000020) != 0);
2870  }
2883  @java.lang.Override
2884  public double getRandomPolarityRatio() {
2885  return randomPolarityRatio_;
2886  }
2887 
2888  public static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER = 32;
2889  private double randomBranchesRatio_;
2900  @java.lang.Override
2901  public boolean hasRandomBranchesRatio() {
2902  return ((bitField0_ & 0x00000040) != 0);
2903  }
2914  @java.lang.Override
2915  public double getRandomBranchesRatio() {
2916  return randomBranchesRatio_;
2917  }
2918 
2919  public static final int USE_ERWA_HEURISTIC_FIELD_NUMBER = 75;
2920  private boolean useErwaHeuristic_;
2931  @java.lang.Override
2932  public boolean hasUseErwaHeuristic() {
2933  return ((bitField0_ & 0x00000080) != 0);
2934  }
2945  @java.lang.Override
2946  public boolean getUseErwaHeuristic() {
2947  return useErwaHeuristic_;
2948  }
2949 
2950  public static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER = 76;
2951  private double initialVariablesActivity_;
2965  @java.lang.Override
2966  public boolean hasInitialVariablesActivity() {
2967  return ((bitField0_ & 0x00000100) != 0);
2968  }
2982  @java.lang.Override
2984  return initialVariablesActivity_;
2985  }
2986 
2988  private boolean alsoBumpVariablesInConflictReasons_;
3000  @java.lang.Override
3002  return ((bitField0_ & 0x00000200) != 0);
3003  }
3015  @java.lang.Override
3017  return alsoBumpVariablesInConflictReasons_;
3018  }
3019 
3020  public static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER = 4;
3021  private int minimizationAlgorithm_;
3026  @java.lang.Override public boolean hasMinimizationAlgorithm() {
3027  return ((bitField0_ & 0x00000400) != 0);
3028  }
3034  @SuppressWarnings("deprecation")
3036  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
3037  }
3038 
3039  public static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER = 34;
3040  private int binaryMinimizationAlgorithm_;
3045  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
3046  return ((bitField0_ & 0x00000800) != 0);
3047  }
3053  @SuppressWarnings("deprecation")
3056  }
3057 
3059  private boolean subsumptionDuringConflictAnalysis_;
3071  @java.lang.Override
3073  return ((bitField0_ & 0x00001000) != 0);
3074  }
3086  @java.lang.Override
3088  return subsumptionDuringConflictAnalysis_;
3089  }
3090 
3091  public static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER = 11;
3092  private int clauseCleanupPeriod_;
3101  @java.lang.Override
3102  public boolean hasClauseCleanupPeriod() {
3103  return ((bitField0_ & 0x00002000) != 0);
3104  }
3113  @java.lang.Override
3114  public int getClauseCleanupPeriod() {
3115  return clauseCleanupPeriod_;
3116  }
3117 
3118  public static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER = 13;
3119  private int clauseCleanupTarget_;
3129  @java.lang.Override
3130  public boolean hasClauseCleanupTarget() {
3131  return ((bitField0_ & 0x00004000) != 0);
3132  }
3142  @java.lang.Override
3143  public int getClauseCleanupTarget() {
3144  return clauseCleanupTarget_;
3145  }
3146 
3147  public static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER = 58;
3148  private int clauseCleanupProtection_;
3153  @java.lang.Override public boolean hasClauseCleanupProtection() {
3154  return ((bitField0_ & 0x00008000) != 0);
3155  }
3161  @SuppressWarnings("deprecation")
3163  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
3164  }
3165 
3166  public static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER = 59;
3167  private int clauseCleanupLbdBound_;
3177  @java.lang.Override
3178  public boolean hasClauseCleanupLbdBound() {
3179  return ((bitField0_ & 0x00010000) != 0);
3180  }
3190  @java.lang.Override
3192  return clauseCleanupLbdBound_;
3193  }
3194 
3195  public static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER = 60;
3196  private int clauseCleanupOrdering_;
3201  @java.lang.Override public boolean hasClauseCleanupOrdering() {
3202  return ((bitField0_ & 0x00020000) != 0);
3203  }
3209  @SuppressWarnings("deprecation")
3211  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
3212  }
3213 
3214  public static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER = 46;
3215  private int pbCleanupIncrement_;
3224  @java.lang.Override
3225  public boolean hasPbCleanupIncrement() {
3226  return ((bitField0_ & 0x00040000) != 0);
3227  }
3236  @java.lang.Override
3237  public int getPbCleanupIncrement() {
3238  return pbCleanupIncrement_;
3239  }
3240 
3241  public static final int PB_CLEANUP_RATIO_FIELD_NUMBER = 47;
3242  private double pbCleanupRatio_;
3247  @java.lang.Override
3248  public boolean hasPbCleanupRatio() {
3249  return ((bitField0_ & 0x00080000) != 0);
3250  }
3255  @java.lang.Override
3256  public double getPbCleanupRatio() {
3257  return pbCleanupRatio_;
3258  }
3259 
3261  private int minimizeWithPropagationRestartPeriod_;
3280  @java.lang.Override
3282  return ((bitField0_ & 0x00100000) != 0);
3283  }
3302  @java.lang.Override
3304  return minimizeWithPropagationRestartPeriod_;
3305  }
3306 
3308  private int minimizeWithPropagationNumDecisions_;
3313  @java.lang.Override
3315  return ((bitField0_ & 0x00200000) != 0);
3316  }
3321  @java.lang.Override
3323  return minimizeWithPropagationNumDecisions_;
3324  }
3325 
3326  public static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER = 15;
3327  private double variableActivityDecay_;
3342  @java.lang.Override
3343  public boolean hasVariableActivityDecay() {
3344  return ((bitField0_ & 0x00400000) != 0);
3345  }
3360  @java.lang.Override
3361  public double getVariableActivityDecay() {
3362  return variableActivityDecay_;
3363  }
3364 
3365  public static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER = 16;
3366  private double maxVariableActivityValue_;
3371  @java.lang.Override
3372  public boolean hasMaxVariableActivityValue() {
3373  return ((bitField0_ & 0x00800000) != 0);
3374  }
3379  @java.lang.Override
3381  return maxVariableActivityValue_;
3382  }
3383 
3384  public static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER = 22;
3385  private double glucoseMaxDecay_;
3397  @java.lang.Override
3398  public boolean hasGlucoseMaxDecay() {
3399  return ((bitField0_ & 0x01000000) != 0);
3400  }
3412  @java.lang.Override
3413  public double getGlucoseMaxDecay() {
3414  return glucoseMaxDecay_;
3415  }
3416 
3417  public static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER = 23;
3418  private double glucoseDecayIncrement_;
3423  @java.lang.Override
3424  public boolean hasGlucoseDecayIncrement() {
3425  return ((bitField0_ & 0x02000000) != 0);
3426  }
3431  @java.lang.Override
3432  public double getGlucoseDecayIncrement() {
3433  return glucoseDecayIncrement_;
3434  }
3435 
3436  public static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER = 24;
3437  private int glucoseDecayIncrementPeriod_;
3442  @java.lang.Override
3444  return ((bitField0_ & 0x04000000) != 0);
3445  }
3450  @java.lang.Override
3452  return glucoseDecayIncrementPeriod_;
3453  }
3454 
3455  public static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER = 17;
3456  private double clauseActivityDecay_;
3465  @java.lang.Override
3466  public boolean hasClauseActivityDecay() {
3467  return ((bitField0_ & 0x08000000) != 0);
3468  }
3477  @java.lang.Override
3478  public double getClauseActivityDecay() {
3479  return clauseActivityDecay_;
3480  }
3481 
3482  public static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER = 18;
3483  private double maxClauseActivityValue_;
3488  @java.lang.Override
3489  public boolean hasMaxClauseActivityValue() {
3490  return ((bitField0_ & 0x10000000) != 0);
3491  }
3496  @java.lang.Override
3497  public double getMaxClauseActivityValue() {
3498  return maxClauseActivityValue_;
3499  }
3500 
3501  public static final int RESTART_ALGORITHMS_FIELD_NUMBER = 61;
3502  private java.util.List<java.lang.Integer> restartAlgorithms_;
3503  private static final com.google.protobuf.Internal.ListAdapter.Converter<
3504  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm> restartAlgorithms_converter_ =
3505  new com.google.protobuf.Internal.ListAdapter.Converter<
3506  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>() {
3507  public com.google.ortools.sat.SatParameters.RestartAlgorithm convert(java.lang.Integer from) {
3508  @SuppressWarnings("deprecation")
3510  return result == null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
3511  }
3512  };
3528  @java.lang.Override
3530  return new com.google.protobuf.Internal.ListAdapter<
3531  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
3532  }
3548  @java.lang.Override
3550  return restartAlgorithms_.size();
3551  }
3568  @java.lang.Override
3570  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
3571  }
3572 
3573  public static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER = 70;
3574  private volatile java.lang.Object defaultRestartAlgorithms_;
3579  @java.lang.Override
3580  public boolean hasDefaultRestartAlgorithms() {
3581  return ((bitField0_ & 0x20000000) != 0);
3582  }
3587  @java.lang.Override
3588  public java.lang.String getDefaultRestartAlgorithms() {
3589  java.lang.Object ref = defaultRestartAlgorithms_;
3590  if (ref instanceof java.lang.String) {
3591  return (java.lang.String) ref;
3592  } else {
3593  com.google.protobuf.ByteString bs =
3594  (com.google.protobuf.ByteString) ref;
3595  java.lang.String s = bs.toStringUtf8();
3596  if (bs.isValidUtf8()) {
3597  defaultRestartAlgorithms_ = s;
3598  }
3599  return s;
3600  }
3601  }
3606  @java.lang.Override
3607  public com.google.protobuf.ByteString
3609  java.lang.Object ref = defaultRestartAlgorithms_;
3610  if (ref instanceof java.lang.String) {
3611  com.google.protobuf.ByteString b =
3612  com.google.protobuf.ByteString.copyFromUtf8(
3613  (java.lang.String) ref);
3614  defaultRestartAlgorithms_ = b;
3615  return b;
3616  } else {
3617  return (com.google.protobuf.ByteString) ref;
3618  }
3619  }
3620 
3621  public static final int RESTART_PERIOD_FIELD_NUMBER = 30;
3622  private int restartPeriod_;
3632  @java.lang.Override
3633  public boolean hasRestartPeriod() {
3634  return ((bitField0_ & 0x40000000) != 0);
3635  }
3645  @java.lang.Override
3646  public int getRestartPeriod() {
3647  return restartPeriod_;
3648  }
3649 
3650  public static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER = 62;
3651  private int restartRunningWindowSize_;
3660  @java.lang.Override
3661  public boolean hasRestartRunningWindowSize() {
3662  return ((bitField0_ & 0x80000000) != 0);
3663  }
3672  @java.lang.Override
3674  return restartRunningWindowSize_;
3675  }
3676 
3677  public static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER = 63;
3678  private double restartDlAverageRatio_;
3688  @java.lang.Override
3689  public boolean hasRestartDlAverageRatio() {
3690  return ((bitField1_ & 0x00000001) != 0);
3691  }
3701  @java.lang.Override
3702  public double getRestartDlAverageRatio() {
3703  return restartDlAverageRatio_;
3704  }
3705 
3706  public static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER = 71;
3707  private double restartLbdAverageRatio_;
3712  @java.lang.Override
3713  public boolean hasRestartLbdAverageRatio() {
3714  return ((bitField1_ & 0x00000002) != 0);
3715  }
3720  @java.lang.Override
3721  public double getRestartLbdAverageRatio() {
3722  return restartLbdAverageRatio_;
3723  }
3724 
3725  public static final int USE_BLOCKING_RESTART_FIELD_NUMBER = 64;
3726  private boolean useBlockingRestart_;
3737  @java.lang.Override
3738  public boolean hasUseBlockingRestart() {
3739  return ((bitField1_ & 0x00000004) != 0);
3740  }
3751  @java.lang.Override
3752  public boolean getUseBlockingRestart() {
3753  return useBlockingRestart_;
3754  }
3755 
3756  public static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER = 65;
3757  private int blockingRestartWindowSize_;
3762  @java.lang.Override
3763  public boolean hasBlockingRestartWindowSize() {
3764  return ((bitField1_ & 0x00000008) != 0);
3765  }
3770  @java.lang.Override
3772  return blockingRestartWindowSize_;
3773  }
3774 
3775  public static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER = 66;
3776  private double blockingRestartMultiplier_;
3781  @java.lang.Override
3782  public boolean hasBlockingRestartMultiplier() {
3783  return ((bitField1_ & 0x00000010) != 0);
3784  }
3789  @java.lang.Override
3791  return blockingRestartMultiplier_;
3792  }
3793 
3795  private int numConflictsBeforeStrategyChanges_;
3806  @java.lang.Override
3808  return ((bitField1_ & 0x00000020) != 0);
3809  }
3820  @java.lang.Override
3822  return numConflictsBeforeStrategyChanges_;
3823  }
3824 
3825  public static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER = 69;
3826  private double strategyChangeIncreaseRatio_;
3836  @java.lang.Override
3838  return ((bitField1_ & 0x00000040) != 0);
3839  }
3849  @java.lang.Override
3851  return strategyChangeIncreaseRatio_;
3852  }
3853 
3854  public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 36;
3855  private double maxTimeInSeconds_;
3865  @java.lang.Override
3866  public boolean hasMaxTimeInSeconds() {
3867  return ((bitField1_ & 0x00000080) != 0);
3868  }
3878  @java.lang.Override
3879  public double getMaxTimeInSeconds() {
3880  return maxTimeInSeconds_;
3881  }
3882 
3883  public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 67;
3884  private double maxDeterministicTime_;
3895  @java.lang.Override
3896  public boolean hasMaxDeterministicTime() {
3897  return ((bitField1_ & 0x00000100) != 0);
3898  }
3909  @java.lang.Override
3910  public double getMaxDeterministicTime() {
3911  return maxDeterministicTime_;
3912  }
3913 
3914  public static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER = 37;
3915  private long maxNumberOfConflicts_;
3929  @java.lang.Override
3930  public boolean hasMaxNumberOfConflicts() {
3931  return ((bitField1_ & 0x00000200) != 0);
3932  }
3946  @java.lang.Override
3947  public long getMaxNumberOfConflicts() {
3948  return maxNumberOfConflicts_;
3949  }
3950 
3951  public static final int MAX_MEMORY_IN_MB_FIELD_NUMBER = 40;
3952  private long maxMemoryInMb_;
3964  @java.lang.Override
3965  public boolean hasMaxMemoryInMb() {
3966  return ((bitField1_ & 0x00000400) != 0);
3967  }
3979  @java.lang.Override
3980  public long getMaxMemoryInMb() {
3981  return maxMemoryInMb_;
3982  }
3983 
3984  public static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER = 159;
3985  private double absoluteGapLimit_;
4003  @java.lang.Override
4004  public boolean hasAbsoluteGapLimit() {
4005  return ((bitField1_ & 0x00000800) != 0);
4006  }
4024  @java.lang.Override
4025  public double getAbsoluteGapLimit() {
4026  return absoluteGapLimit_;
4027  }
4028 
4029  public static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER = 160;
4030  private double relativeGapLimit_;
4035  @java.lang.Override
4036  public boolean hasRelativeGapLimit() {
4037  return ((bitField1_ & 0x00001000) != 0);
4038  }
4043  @java.lang.Override
4044  public double getRelativeGapLimit() {
4045  return relativeGapLimit_;
4046  }
4047 
4048  public static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER = 33;
4049  private boolean treatBinaryClausesSeparately_;
4060  @java.lang.Override
4062  return ((bitField1_ & 0x00002000) != 0);
4063  }
4074  @java.lang.Override
4076  return treatBinaryClausesSeparately_;
4077  }
4078 
4079  public static final int RANDOM_SEED_FIELD_NUMBER = 31;
4080  private int randomSeed_;
4094  @java.lang.Override
4095  public boolean hasRandomSeed() {
4096  return ((bitField1_ & 0x00004000) != 0);
4097  }
4111  @java.lang.Override
4112  public int getRandomSeed() {
4113  return randomSeed_;
4114  }
4115 
4116  public static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER = 178;
4117  private boolean permuteVariableRandomly_;
4129  @java.lang.Override
4130  public boolean hasPermuteVariableRandomly() {
4131  return ((bitField1_ & 0x00008000) != 0);
4132  }
4144  @java.lang.Override
4145  public boolean getPermuteVariableRandomly() {
4146  return permuteVariableRandomly_;
4147  }
4148 
4149  public static final int PERMUTE_PRESOLVE_CONSTRAINT_ORDER_FIELD_NUMBER = 179;
4150  private boolean permutePresolveConstraintOrder_;
4155  @java.lang.Override
4157  return ((bitField1_ & 0x00010000) != 0);
4158  }
4163  @java.lang.Override
4165  return permutePresolveConstraintOrder_;
4166  }
4167 
4168  public static final int USE_ABSL_RANDOM_FIELD_NUMBER = 180;
4169  private boolean useAbslRandom_;
4174  @java.lang.Override
4175  public boolean hasUseAbslRandom() {
4176  return ((bitField1_ & 0x00020000) != 0);
4177  }
4182  @java.lang.Override
4183  public boolean getUseAbslRandom() {
4184  return useAbslRandom_;
4185  }
4186 
4187  public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 41;
4188  private boolean logSearchProgress_;
4197  @java.lang.Override
4198  public boolean hasLogSearchProgress() {
4199  return ((bitField1_ & 0x00040000) != 0);
4200  }
4209  @java.lang.Override
4210  public boolean getLogSearchProgress() {
4211  return logSearchProgress_;
4212  }
4213 
4214  public static final int USE_PB_RESOLUTION_FIELD_NUMBER = 43;
4215  private boolean usePbResolution_;
4227  @java.lang.Override
4228  public boolean hasUsePbResolution() {
4229  return ((bitField1_ & 0x00080000) != 0);
4230  }
4242  @java.lang.Override
4243  public boolean getUsePbResolution() {
4244  return usePbResolution_;
4245  }
4246 
4248  private boolean minimizeReductionDuringPbResolution_;
4260  @java.lang.Override
4262  return ((bitField1_ & 0x00100000) != 0);
4263  }
4275  @java.lang.Override
4277  return minimizeReductionDuringPbResolution_;
4278  }
4279 
4280  public static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER = 49;
4281  private boolean countAssumptionLevelsInLbd_;
4297  @java.lang.Override
4299  return ((bitField1_ & 0x00200000) != 0);
4300  }
4316  @java.lang.Override
4318  return countAssumptionLevelsInLbd_;
4319  }
4320 
4321  public static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER = 54;
4322  private int presolveBveThreshold_;
4333  @java.lang.Override
4334  public boolean hasPresolveBveThreshold() {
4335  return ((bitField1_ & 0x00400000) != 0);
4336  }
4347  @java.lang.Override
4349  return presolveBveThreshold_;
4350  }
4351 
4352  public static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER = 55;
4353  private int presolveBveClauseWeight_;
4363  @java.lang.Override
4364  public boolean hasPresolveBveClauseWeight() {
4365  return ((bitField1_ & 0x00800000) != 0);
4366  }
4376  @java.lang.Override
4378  return presolveBveClauseWeight_;
4379  }
4380 
4382  private double presolveProbingDeterministicTimeLimit_;
4392  @java.lang.Override
4394  return ((bitField1_ & 0x01000000) != 0);
4395  }
4405  @java.lang.Override
4407  return presolveProbingDeterministicTimeLimit_;
4408  }
4409 
4410  public static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER = 88;
4411  private boolean presolveBlockedClause_;
4421  @java.lang.Override
4422  public boolean hasPresolveBlockedClause() {
4423  return ((bitField1_ & 0x02000000) != 0);
4424  }
4434  @java.lang.Override
4435  public boolean getPresolveBlockedClause() {
4436  return presolveBlockedClause_;
4437  }
4438 
4439  public static final int PRESOLVE_USE_BVA_FIELD_NUMBER = 72;
4440  private boolean presolveUseBva_;
4449  @java.lang.Override
4450  public boolean hasPresolveUseBva() {
4451  return ((bitField1_ & 0x04000000) != 0);
4452  }
4461  @java.lang.Override
4462  public boolean getPresolveUseBva() {
4463  return presolveUseBva_;
4464  }
4465 
4466  public static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER = 73;
4467  private int presolveBvaThreshold_;
4479  @java.lang.Override
4480  public boolean hasPresolveBvaThreshold() {
4481  return ((bitField1_ & 0x08000000) != 0);
4482  }
4494  @java.lang.Override
4496  return presolveBvaThreshold_;
4497  }
4498 
4499  public static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER = 138;
4500  private int maxPresolveIterations_;
4511  @java.lang.Override
4512  public boolean hasMaxPresolveIterations() {
4513  return ((bitField1_ & 0x10000000) != 0);
4514  }
4525  @java.lang.Override
4527  return maxPresolveIterations_;
4528  }
4529 
4530  public static final int CP_MODEL_PRESOLVE_FIELD_NUMBER = 86;
4531  private boolean cpModelPresolve_;
4540  @java.lang.Override
4541  public boolean hasCpModelPresolve() {
4542  return ((bitField1_ & 0x20000000) != 0);
4543  }
4552  @java.lang.Override
4553  public boolean getCpModelPresolve() {
4554  return cpModelPresolve_;
4555  }
4556 
4558  private boolean cpModelPostsolveWithFullSolver_;
4570  @java.lang.Override
4572  return ((bitField1_ & 0x40000000) != 0);
4573  }
4585  @java.lang.Override
4587  return cpModelPostsolveWithFullSolver_;
4588  }
4589 
4591  private int cpModelMaxNumPresolveOperations_;
4601  @java.lang.Override
4603  return ((bitField1_ & 0x80000000) != 0);
4604  }
4614  @java.lang.Override
4616  return cpModelMaxNumPresolveOperations_;
4617  }
4618 
4619  public static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER = 110;
4620  private int cpModelProbingLevel_;
4629  @java.lang.Override
4630  public boolean hasCpModelProbingLevel() {
4631  return ((bitField2_ & 0x00000001) != 0);
4632  }
4641  @java.lang.Override
4642  public int getCpModelProbingLevel() {
4643  return cpModelProbingLevel_;
4644  }
4645 
4646  public static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER = 93;
4647  private boolean cpModelUseSatPresolve_;
4656  @java.lang.Override
4657  public boolean hasCpModelUseSatPresolve() {
4658  return ((bitField2_ & 0x00000002) != 0);
4659  }
4668  @java.lang.Override
4669  public boolean getCpModelUseSatPresolve() {
4670  return cpModelUseSatPresolve_;
4671  }
4672 
4673  public static final int USE_SAT_INPROCESSING_FIELD_NUMBER = 163;
4674  private boolean useSatInprocessing_;
4679  @java.lang.Override
4680  public boolean hasUseSatInprocessing() {
4681  return ((bitField2_ & 0x00000004) != 0);
4682  }
4687  @java.lang.Override
4688  public boolean getUseSatInprocessing() {
4689  return useSatInprocessing_;
4690  }
4691 
4692  public static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER = 140;
4693  private boolean expandElementConstraints_;
4703  @java.lang.Override
4704  public boolean hasExpandElementConstraints() {
4705  return ((bitField2_ & 0x00000008) != 0);
4706  }
4716  @java.lang.Override
4717  public boolean getExpandElementConstraints() {
4718  return expandElementConstraints_;
4719  }
4720 
4721  public static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER = 143;
4722  private boolean expandAutomatonConstraints_;
4731  @java.lang.Override
4733  return ((bitField2_ & 0x00000010) != 0);
4734  }
4743  @java.lang.Override
4745  return expandAutomatonConstraints_;
4746  }
4747 
4748  public static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER = 158;
4749  private boolean expandTableConstraints_;
4759  @java.lang.Override
4760  public boolean hasExpandTableConstraints() {
4761  return ((bitField2_ & 0x00000020) != 0);
4762  }
4772  @java.lang.Override
4773  public boolean getExpandTableConstraints() {
4774  return expandTableConstraints_;
4775  }
4776 
4777  public static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER = 170;
4778  private boolean expandAlldiffConstraints_;
4788  @java.lang.Override
4789  public boolean hasExpandAlldiffConstraints() {
4790  return ((bitField2_ & 0x00000040) != 0);
4791  }
4801  @java.lang.Override
4802  public boolean getExpandAlldiffConstraints() {
4803  return expandAlldiffConstraints_;
4804  }
4805 
4806  public static final int EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER = 182;
4807  private boolean expandReservoirConstraints_;
4817  @java.lang.Override
4819  return ((bitField2_ & 0x00000080) != 0);
4820  }
4830  @java.lang.Override
4832  return expandReservoirConstraints_;
4833  }
4834 
4835  public static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER = 181;
4836  private boolean disableConstraintExpansion_;
4846  @java.lang.Override
4848  return ((bitField2_ & 0x00000100) != 0);
4849  }
4859  @java.lang.Override
4861  return disableConstraintExpansion_;
4862  }
4863 
4864  public static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER = 145;
4865  private double mergeNoOverlapWorkLimit_;
4878  @java.lang.Override
4879  public boolean hasMergeNoOverlapWorkLimit() {
4880  return ((bitField2_ & 0x00000200) != 0);
4881  }
4894  @java.lang.Override
4895  public double getMergeNoOverlapWorkLimit() {
4896  return mergeNoOverlapWorkLimit_;
4897  }
4898 
4899  public static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER = 146;
4900  private double mergeAtMostOneWorkLimit_;
4905  @java.lang.Override
4906  public boolean hasMergeAtMostOneWorkLimit() {
4907  return ((bitField2_ & 0x00000400) != 0);
4908  }
4913  @java.lang.Override
4914  public double getMergeAtMostOneWorkLimit() {
4915  return mergeAtMostOneWorkLimit_;
4916  }
4917 
4918  public static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER = 147;
4919  private int presolveSubstitutionLevel_;
4931  @java.lang.Override
4932  public boolean hasPresolveSubstitutionLevel() {
4933  return ((bitField2_ & 0x00000800) != 0);
4934  }
4946  @java.lang.Override
4948  return presolveSubstitutionLevel_;
4949  }
4950 
4952  private boolean presolveExtractIntegerEnforcement_;
4966  @java.lang.Override
4968  return ((bitField2_ & 0x00001000) != 0);
4969  }
4983  @java.lang.Override
4985  return presolveExtractIntegerEnforcement_;
4986  }
4987 
4988  public static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER = 35;
4989  private boolean useOptimizationHints_;
5001  @java.lang.Override
5002  public boolean hasUseOptimizationHints() {
5003  return ((bitField2_ & 0x00002000) != 0);
5004  }
5016  @java.lang.Override
5017  public boolean getUseOptimizationHints() {
5018  return useOptimizationHints_;
5019  }
5020 
5021  public static final int MINIMIZE_CORE_FIELD_NUMBER = 50;
5022  private boolean minimizeCore_;
5031  @java.lang.Override
5032  public boolean hasMinimizeCore() {
5033  return ((bitField2_ & 0x00004000) != 0);
5034  }
5043  @java.lang.Override
5044  public boolean getMinimizeCore() {
5045  return minimizeCore_;
5046  }
5047 
5048  public static final int FIND_MULTIPLE_CORES_FIELD_NUMBER = 84;
5049  private boolean findMultipleCores_;
5059  @java.lang.Override
5060  public boolean hasFindMultipleCores() {
5061  return ((bitField2_ & 0x00008000) != 0);
5062  }
5072  @java.lang.Override
5073  public boolean getFindMultipleCores() {
5074  return findMultipleCores_;
5075  }
5076 
5077  public static final int COVER_OPTIMIZATION_FIELD_NUMBER = 89;
5078  private boolean coverOptimization_;
5088  @java.lang.Override
5089  public boolean hasCoverOptimization() {
5090  return ((bitField2_ & 0x00010000) != 0);
5091  }
5101  @java.lang.Override
5102  public boolean getCoverOptimization() {
5103  return coverOptimization_;
5104  }
5105 
5106  public static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER = 51;
5107  private int maxSatAssumptionOrder_;
5112  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
5113  return ((bitField2_ & 0x00020000) != 0);
5114  }
5120  @SuppressWarnings("deprecation")
5123  }
5124 
5126  private boolean maxSatReverseAssumptionOrder_;
5136  @java.lang.Override
5138  return ((bitField2_ & 0x00040000) != 0);
5139  }
5149  @java.lang.Override
5151  return maxSatReverseAssumptionOrder_;
5152  }
5153 
5154  public static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER = 53;
5155  private int maxSatStratification_;
5160  @java.lang.Override public boolean hasMaxSatStratification() {
5161  return ((bitField2_ & 0x00080000) != 0);
5162  }
5168  @SuppressWarnings("deprecation")
5171  }
5172 
5174  private boolean usePrecedencesInDisjunctiveConstraint_;
5190  @java.lang.Override
5192  return ((bitField2_ & 0x00100000) != 0);
5193  }
5209  @java.lang.Override
5211  return usePrecedencesInDisjunctiveConstraint_;
5212  }
5213 
5215  private boolean useOverloadCheckerInCumulativeConstraint_;
5229  @java.lang.Override
5231  return ((bitField2_ & 0x00200000) != 0);
5232  }
5246  @java.lang.Override
5248  return useOverloadCheckerInCumulativeConstraint_;
5249  }
5250 
5252  private boolean useTimetableEdgeFindingInCumulativeConstraint_;
5266  @java.lang.Override
5268  return ((bitField2_ & 0x00400000) != 0);
5269  }
5283  @java.lang.Override
5285  return useTimetableEdgeFindingInCumulativeConstraint_;
5286  }
5287 
5289  private boolean useDisjunctiveConstraintInCumulativeConstraint_;
5305  @java.lang.Override
5307  return ((bitField2_ & 0x00800000) != 0);
5308  }
5324  @java.lang.Override
5326  return useDisjunctiveConstraintInCumulativeConstraint_;
5327  }
5328 
5329  public static final int LINEARIZATION_LEVEL_FIELD_NUMBER = 90;
5330  private int linearizationLevel_;
5342  @java.lang.Override
5343  public boolean hasLinearizationLevel() {
5344  return ((bitField2_ & 0x01000000) != 0);
5345  }
5357  @java.lang.Override
5358  public int getLinearizationLevel() {
5359  return linearizationLevel_;
5360  }
5361 
5362  public static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER = 107;
5363  private int booleanEncodingLevel_;
5373  @java.lang.Override
5374  public boolean hasBooleanEncodingLevel() {
5375  return ((bitField2_ & 0x02000000) != 0);
5376  }
5386  @java.lang.Override
5388  return booleanEncodingLevel_;
5389  }
5390 
5391  public static final int MAX_NUM_CUTS_FIELD_NUMBER = 91;
5392  private int maxNumCuts_;
5404  @java.lang.Override
5405  public boolean hasMaxNumCuts() {
5406  return ((bitField2_ & 0x04000000) != 0);
5407  }
5419  @java.lang.Override
5420  public int getMaxNumCuts() {
5421  return maxNumCuts_;
5422  }
5423 
5424  public static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER = 92;
5425  private boolean onlyAddCutsAtLevelZero_;
5435  @java.lang.Override
5436  public boolean hasOnlyAddCutsAtLevelZero() {
5437  return ((bitField2_ & 0x08000000) != 0);
5438  }
5448  @java.lang.Override
5449  public boolean getOnlyAddCutsAtLevelZero() {
5450  return onlyAddCutsAtLevelZero_;
5451  }
5452 
5453  public static final int ADD_KNAPSACK_CUTS_FIELD_NUMBER = 111;
5454  private boolean addKnapsackCuts_;
5465  @java.lang.Override
5466  public boolean hasAddKnapsackCuts() {
5467  return ((bitField2_ & 0x10000000) != 0);
5468  }
5479  @java.lang.Override
5480  public boolean getAddKnapsackCuts() {
5481  return addKnapsackCuts_;
5482  }
5483 
5484  public static final int ADD_CG_CUTS_FIELD_NUMBER = 117;
5485  private boolean addCgCuts_;
5495  @java.lang.Override
5496  public boolean hasAddCgCuts() {
5497  return ((bitField2_ & 0x20000000) != 0);
5498  }
5508  @java.lang.Override
5509  public boolean getAddCgCuts() {
5510  return addCgCuts_;
5511  }
5512 
5513  public static final int ADD_MIR_CUTS_FIELD_NUMBER = 120;
5514  private boolean addMirCuts_;
5524  @java.lang.Override
5525  public boolean hasAddMirCuts() {
5526  return ((bitField2_ & 0x40000000) != 0);
5527  }
5537  @java.lang.Override
5538  public boolean getAddMirCuts() {
5539  return addMirCuts_;
5540  }
5541 
5542  public static final int ADD_ZERO_HALF_CUTS_FIELD_NUMBER = 169;
5543  private boolean addZeroHalfCuts_;
5553  @java.lang.Override
5554  public boolean hasAddZeroHalfCuts() {
5555  return ((bitField2_ & 0x80000000) != 0);
5556  }
5566  @java.lang.Override
5567  public boolean getAddZeroHalfCuts() {
5568  return addZeroHalfCuts_;
5569  }
5570 
5571  public static final int ADD_CLIQUE_CUTS_FIELD_NUMBER = 172;
5572  private boolean addCliqueCuts_;
5583  @java.lang.Override
5584  public boolean hasAddCliqueCuts() {
5585  return ((bitField3_ & 0x00000001) != 0);
5586  }
5597  @java.lang.Override
5598  public boolean getAddCliqueCuts() {
5599  return addCliqueCuts_;
5600  }
5601 
5602  public static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER = 148;
5603  private int maxAllDiffCutSize_;
5614  @java.lang.Override
5615  public boolean hasMaxAllDiffCutSize() {
5616  return ((bitField3_ & 0x00000002) != 0);
5617  }
5628  @java.lang.Override
5629  public int getMaxAllDiffCutSize() {
5630  return maxAllDiffCutSize_;
5631  }
5632 
5633  public static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER = 152;
5634  private boolean addLinMaxCuts_;
5645  @java.lang.Override
5646  public boolean hasAddLinMaxCuts() {
5647  return ((bitField3_ & 0x00000004) != 0);
5648  }
5659  @java.lang.Override
5660  public boolean getAddLinMaxCuts() {
5661  return addLinMaxCuts_;
5662  }
5663 
5664  public static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER = 119;
5665  private int maxIntegerRoundingScaling_;
5680  @java.lang.Override
5681  public boolean hasMaxIntegerRoundingScaling() {
5682  return ((bitField3_ & 0x00000008) != 0);
5683  }
5698  @java.lang.Override
5700  return maxIntegerRoundingScaling_;
5701  }
5702 
5703  public static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER = 112;
5704  private boolean addLpConstraintsLazily_;
5716  @java.lang.Override
5717  public boolean hasAddLpConstraintsLazily() {
5718  return ((bitField3_ & 0x00000010) != 0);
5719  }
5731  @java.lang.Override
5732  public boolean getAddLpConstraintsLazily() {
5733  return addLpConstraintsLazily_;
5734  }
5735 
5737  private double minOrthogonalityForLpConstraints_;
5750  @java.lang.Override
5752  return ((bitField3_ & 0x00000020) != 0);
5753  }
5766  @java.lang.Override
5768  return minOrthogonalityForLpConstraints_;
5769  }
5770 
5771  public static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER = 154;
5772  private int maxCutRoundsAtLevelZero_;
5781  @java.lang.Override
5782  public boolean hasMaxCutRoundsAtLevelZero() {
5783  return ((bitField3_ & 0x00000040) != 0);
5784  }
5793  @java.lang.Override
5795  return maxCutRoundsAtLevelZero_;
5796  }
5797 
5798  public static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER = 121;
5799  private int maxConsecutiveInactiveCount_;
5810  @java.lang.Override
5812  return ((bitField3_ & 0x00000080) != 0);
5813  }
5824  @java.lang.Override
5826  return maxConsecutiveInactiveCount_;
5827  }
5828 
5829  public static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER = 155;
5830  private double cutMaxActiveCountValue_;
5841  @java.lang.Override
5842  public boolean hasCutMaxActiveCountValue() {
5843  return ((bitField3_ & 0x00000100) != 0);
5844  }
5855  @java.lang.Override
5856  public double getCutMaxActiveCountValue() {
5857  return cutMaxActiveCountValue_;
5858  }
5859 
5860  public static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER = 156;
5861  private double cutActiveCountDecay_;
5866  @java.lang.Override
5867  public boolean hasCutActiveCountDecay() {
5868  return ((bitField3_ & 0x00000200) != 0);
5869  }
5874  @java.lang.Override
5875  public double getCutActiveCountDecay() {
5876  return cutActiveCountDecay_;
5877  }
5878 
5879  public static final int CUT_CLEANUP_TARGET_FIELD_NUMBER = 157;
5880  private int cutCleanupTarget_;
5889  @java.lang.Override
5890  public boolean hasCutCleanupTarget() {
5891  return ((bitField3_ & 0x00000400) != 0);
5892  }
5901  @java.lang.Override
5902  public int getCutCleanupTarget() {
5903  return cutCleanupTarget_;
5904  }
5905 
5906  public static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER = 122;
5907  private int newConstraintsBatchSize_;
5917  @java.lang.Override
5918  public boolean hasNewConstraintsBatchSize() {
5919  return ((bitField3_ & 0x00000800) != 0);
5920  }
5930  @java.lang.Override
5932  return newConstraintsBatchSize_;
5933  }
5934 
5935  public static final int SEARCH_BRANCHING_FIELD_NUMBER = 82;
5936  private int searchBranching_;
5941  @java.lang.Override public boolean hasSearchBranching() {
5942  return ((bitField3_ & 0x00001000) != 0);
5943  }
5949  @SuppressWarnings("deprecation")
5951  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
5952  }
5953 
5954  public static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER = 153;
5955  private int hintConflictLimit_;
5964  @java.lang.Override
5965  public boolean hasHintConflictLimit() {
5966  return ((bitField3_ & 0x00002000) != 0);
5967  }
5976  @java.lang.Override
5977  public int getHintConflictLimit() {
5978  return hintConflictLimit_;
5979  }
5980 
5981  public static final int REPAIR_HINT_FIELD_NUMBER = 167;
5982  private boolean repairHint_;
5994  @java.lang.Override
5995  public boolean hasRepairHint() {
5996  return ((bitField3_ & 0x00004000) != 0);
5997  }
6009  @java.lang.Override
6010  public boolean getRepairHint() {
6011  return repairHint_;
6012  }
6013 
6014  public static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER = 94;
6015  private boolean exploitIntegerLpSolution_;
6027  @java.lang.Override
6028  public boolean hasExploitIntegerLpSolution() {
6029  return ((bitField3_ & 0x00008000) != 0);
6030  }
6042  @java.lang.Override
6043  public boolean getExploitIntegerLpSolution() {
6044  return exploitIntegerLpSolution_;
6045  }
6046 
6047  public static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER = 116;
6048  private boolean exploitAllLpSolution_;
6059  @java.lang.Override
6060  public boolean hasExploitAllLpSolution() {
6061  return ((bitField3_ & 0x00010000) != 0);
6062  }
6073  @java.lang.Override
6074  public boolean getExploitAllLpSolution() {
6075  return exploitAllLpSolution_;
6076  }
6077 
6078  public static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER = 130;
6079  private boolean exploitBestSolution_;
6088  @java.lang.Override
6089  public boolean hasExploitBestSolution() {
6090  return ((bitField3_ & 0x00020000) != 0);
6091  }
6100  @java.lang.Override
6101  public boolean getExploitBestSolution() {
6102  return exploitBestSolution_;
6103  }
6104 
6105  public static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER = 161;
6106  private boolean exploitRelaxationSolution_;
6117  @java.lang.Override
6118  public boolean hasExploitRelaxationSolution() {
6119  return ((bitField3_ & 0x00040000) != 0);
6120  }
6131  @java.lang.Override
6132  public boolean getExploitRelaxationSolution() {
6133  return exploitRelaxationSolution_;
6134  }
6135 
6136  public static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER = 131;
6137  private boolean exploitObjective_;
6147  @java.lang.Override
6148  public boolean hasExploitObjective() {
6149  return ((bitField3_ & 0x00080000) != 0);
6150  }
6160  @java.lang.Override
6161  public boolean getExploitObjective() {
6162  return exploitObjective_;
6163  }
6164 
6165  public static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER = 142;
6166  private long probingPeriodAtRoot_;
6177  @java.lang.Override
6178  public boolean hasProbingPeriodAtRoot() {
6179  return ((bitField3_ & 0x00100000) != 0);
6180  }
6191  @java.lang.Override
6192  public long getProbingPeriodAtRoot() {
6193  return probingPeriodAtRoot_;
6194  }
6195 
6196  public static final int USE_PROBING_SEARCH_FIELD_NUMBER = 176;
6197  private boolean useProbingSearch_;
6207  @java.lang.Override
6208  public boolean hasUseProbingSearch() {
6209  return ((bitField3_ & 0x00200000) != 0);
6210  }
6220  @java.lang.Override
6221  public boolean getUseProbingSearch() {
6222  return useProbingSearch_;
6223  }
6224 
6225  public static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER = 123;
6226  private long pseudoCostReliabilityThreshold_;
6236  @java.lang.Override
6238  return ((bitField3_ & 0x00400000) != 0);
6239  }
6249  @java.lang.Override
6251  return pseudoCostReliabilityThreshold_;
6252  }
6253 
6254  public static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER = 83;
6255  private boolean optimizeWithCore_;
6267  @java.lang.Override
6268  public boolean hasOptimizeWithCore() {
6269  return ((bitField3_ & 0x00800000) != 0);
6270  }
6282  @java.lang.Override
6283  public boolean getOptimizeWithCore() {
6284  return optimizeWithCore_;
6285  }
6286 
6287  public static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER = 99;
6288  private int binarySearchNumConflicts_;
6300  @java.lang.Override
6301  public boolean hasBinarySearchNumConflicts() {
6302  return ((bitField3_ & 0x01000000) != 0);
6303  }
6315  @java.lang.Override
6317  return binarySearchNumConflicts_;
6318  }
6319 
6320  public static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER = 85;
6321  private boolean optimizeWithMaxHs_;
6335  @java.lang.Override
6336  public boolean hasOptimizeWithMaxHs() {
6337  return ((bitField3_ & 0x02000000) != 0);
6338  }
6352  @java.lang.Override
6353  public boolean getOptimizeWithMaxHs() {
6354  return optimizeWithMaxHs_;
6355  }
6356 
6357  public static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER = 87;
6358  private boolean enumerateAllSolutions_;
6372  @java.lang.Override
6373  public boolean hasEnumerateAllSolutions() {
6374  return ((bitField3_ & 0x04000000) != 0);
6375  }
6389  @java.lang.Override
6390  public boolean getEnumerateAllSolutions() {
6391  return enumerateAllSolutions_;
6392  }
6393 
6395  private boolean keepAllFeasibleSolutionsInPresolve_;
6410  @java.lang.Override
6412  return ((bitField3_ & 0x08000000) != 0);
6413  }
6428  @java.lang.Override
6430  return keepAllFeasibleSolutionsInPresolve_;
6431  }
6432 
6434  private boolean fillTightenedDomainsInResponse_;
6447  @java.lang.Override
6449  return ((bitField3_ & 0x10000000) != 0);
6450  }
6463  @java.lang.Override
6465  return fillTightenedDomainsInResponse_;
6466  }
6467 
6468  public static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER = 106;
6469  private boolean instantiateAllVariables_;
6479  @java.lang.Override
6480  public boolean hasInstantiateAllVariables() {
6481  return ((bitField3_ & 0x20000000) != 0);
6482  }
6492  @java.lang.Override
6493  public boolean getInstantiateAllVariables() {
6494  return instantiateAllVariables_;
6495  }
6496 
6498  private boolean autoDetectGreaterThanAtLeastOneOf_;
6510  @java.lang.Override
6512  return ((bitField3_ & 0x40000000) != 0);
6513  }
6525  @java.lang.Override
6527  return autoDetectGreaterThanAtLeastOneOf_;
6528  }
6529 
6530  public static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER = 98;
6531  private boolean stopAfterFirstSolution_;
6540  @java.lang.Override
6541  public boolean hasStopAfterFirstSolution() {
6542  return ((bitField3_ & 0x80000000) != 0);
6543  }
6552  @java.lang.Override
6553  public boolean getStopAfterFirstSolution() {
6554  return stopAfterFirstSolution_;
6555  }
6556 
6557  public static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER = 149;
6558  private boolean stopAfterPresolve_;
6568  @java.lang.Override
6569  public boolean hasStopAfterPresolve() {
6570  return ((bitField4_ & 0x00000001) != 0);
6571  }
6581  @java.lang.Override
6582  public boolean getStopAfterPresolve() {
6583  return stopAfterPresolve_;
6584  }
6585 
6586  public static final int NUM_SEARCH_WORKERS_FIELD_NUMBER = 100;
6587  private int numSearchWorkers_;
6601  @java.lang.Override
6602  public boolean hasNumSearchWorkers() {
6603  return ((bitField4_ & 0x00000002) != 0);
6604  }
6618  @java.lang.Override
6619  public int getNumSearchWorkers() {
6620  return numSearchWorkers_;
6621  }
6622 
6623  public static final int INTERLEAVE_SEARCH_FIELD_NUMBER = 136;
6624  private boolean interleaveSearch_;
6637  @java.lang.Override
6638  public boolean hasInterleaveSearch() {
6639  return ((bitField4_ & 0x00000004) != 0);
6640  }
6653  @java.lang.Override
6654  public boolean getInterleaveSearch() {
6655  return interleaveSearch_;
6656  }
6657 
6658  public static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER = 134;
6659  private int interleaveBatchSize_;
6664  @java.lang.Override
6665  public boolean hasInterleaveBatchSize() {
6666  return ((bitField4_ & 0x00000008) != 0);
6667  }
6672  @java.lang.Override
6673  public int getInterleaveBatchSize() {
6674  return interleaveBatchSize_;
6675  }
6676 
6678  private boolean reduceMemoryUsageInInterleaveMode_;
6687  @java.lang.Override
6689  return ((bitField4_ & 0x00000010) != 0);
6690  }
6699  @java.lang.Override
6701  return reduceMemoryUsageInInterleaveMode_;
6702  }
6703 
6704  public static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER = 113;
6705  private boolean shareObjectiveBounds_;
6714  @java.lang.Override
6715  public boolean hasShareObjectiveBounds() {
6716  return ((bitField4_ & 0x00000020) != 0);
6717  }
6726  @java.lang.Override
6727  public boolean getShareObjectiveBounds() {
6728  return shareObjectiveBounds_;
6729  }
6730 
6731  public static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER = 114;
6732  private boolean shareLevelZeroBounds_;
6741  @java.lang.Override
6742  public boolean hasShareLevelZeroBounds() {
6743  return ((bitField4_ & 0x00000040) != 0);
6744  }
6753  @java.lang.Override
6754  public boolean getShareLevelZeroBounds() {
6755  return shareLevelZeroBounds_;
6756  }
6757 
6758  public static final int USE_LNS_ONLY_FIELD_NUMBER = 101;
6759  private boolean useLnsOnly_;
6768  @java.lang.Override
6769  public boolean hasUseLnsOnly() {
6770  return ((bitField4_ & 0x00000080) != 0);
6771  }
6780  @java.lang.Override
6781  public boolean getUseLnsOnly() {
6782  return useLnsOnly_;
6783  }
6784 
6785  public static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER = 105;
6786  private boolean lnsFocusOnDecisionVariables_;
6791  @java.lang.Override
6793  return ((bitField4_ & 0x00000100) != 0);
6794  }
6799  @java.lang.Override
6801  return lnsFocusOnDecisionVariables_;
6802  }
6803 
6804  public static final int USE_RINS_LNS_FIELD_NUMBER = 129;
6805  private boolean useRinsLns_;
6814  @java.lang.Override
6815  public boolean hasUseRinsLns() {
6816  return ((bitField4_ & 0x00000200) != 0);
6817  }
6826  @java.lang.Override
6827  public boolean getUseRinsLns() {
6828  return useRinsLns_;
6829  }
6830 
6831  public static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER = 164;
6832  private boolean useFeasibilityPump_;
6841  @java.lang.Override
6842  public boolean hasUseFeasibilityPump() {
6843  return ((bitField4_ & 0x00000400) != 0);
6844  }
6853  @java.lang.Override
6854  public boolean getUseFeasibilityPump() {
6855  return useFeasibilityPump_;
6856  }
6857 
6858  public static final int FP_ROUNDING_FIELD_NUMBER = 165;
6859  private int fpRounding_;
6864  @java.lang.Override public boolean hasFpRounding() {
6865  return ((bitField4_ & 0x00000800) != 0);
6866  }
6872  @SuppressWarnings("deprecation")
6874  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
6875  }
6876 
6877  public static final int USE_RELAXATION_LNS_FIELD_NUMBER = 150;
6878  private boolean useRelaxationLns_;
6888  @java.lang.Override
6889  public boolean hasUseRelaxationLns() {
6890  return ((bitField4_ & 0x00001000) != 0);
6891  }
6901  @java.lang.Override
6902  public boolean getUseRelaxationLns() {
6903  return useRelaxationLns_;
6904  }
6905 
6906  public static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER = 137;
6907  private boolean diversifyLnsParams_;
6916  @java.lang.Override
6917  public boolean hasDiversifyLnsParams() {
6918  return ((bitField4_ & 0x00002000) != 0);
6919  }
6928  @java.lang.Override
6929  public boolean getDiversifyLnsParams() {
6930  return diversifyLnsParams_;
6931  }
6932 
6933  public static final int RANDOMIZE_SEARCH_FIELD_NUMBER = 103;
6934  private boolean randomizeSearch_;
6943  @java.lang.Override
6944  public boolean hasRandomizeSearch() {
6945  return ((bitField4_ & 0x00004000) != 0);
6946  }
6955  @java.lang.Override
6956  public boolean getRandomizeSearch() {
6957  return randomizeSearch_;
6958  }
6959 
6960  public static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER = 104;
6961  private long searchRandomizationTolerance_;
6976  @java.lang.Override
6978  return ((bitField4_ & 0x00008000) != 0);
6979  }
6994  @java.lang.Override
6996  return searchRandomizationTolerance_;
6997  }
6998 
6999  public static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER = 108;
7000  private boolean useOptionalVariables_;
7011  @java.lang.Override
7012  public boolean hasUseOptionalVariables() {
7013  return ((bitField4_ & 0x00010000) != 0);
7014  }
7025  @java.lang.Override
7026  public boolean getUseOptionalVariables() {
7027  return useOptionalVariables_;
7028  }
7029 
7030  public static final int USE_EXACT_LP_REASON_FIELD_NUMBER = 109;
7031  private boolean useExactLpReason_;
7043  @java.lang.Override
7044  public boolean hasUseExactLpReason() {
7045  return ((bitField4_ & 0x00020000) != 0);
7046  }
7058  @java.lang.Override
7059  public boolean getUseExactLpReason() {
7060  return useExactLpReason_;
7061  }
7062 
7063  public static final int USE_BRANCHING_IN_LP_FIELD_NUMBER = 139;
7064  private boolean useBranchingInLp_;
7075  @java.lang.Override
7076  public boolean hasUseBranchingInLp() {
7077  return ((bitField4_ & 0x00040000) != 0);
7078  }
7089  @java.lang.Override
7090  public boolean getUseBranchingInLp() {
7091  return useBranchingInLp_;
7092  }
7093 
7094  public static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER = 133;
7095  private boolean useCombinedNoOverlap_;
7106  @java.lang.Override
7107  public boolean hasUseCombinedNoOverlap() {
7108  return ((bitField4_ & 0x00080000) != 0);
7109  }
7120  @java.lang.Override
7121  public boolean getUseCombinedNoOverlap() {
7122  return useCombinedNoOverlap_;
7123  }
7124 
7125  public static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER = 135;
7126  private boolean catchSigintSignal_;
7137  @java.lang.Override
7138  public boolean hasCatchSigintSignal() {
7139  return ((bitField4_ & 0x00100000) != 0);
7140  }
7151  @java.lang.Override
7152  public boolean getCatchSigintSignal() {
7153  return catchSigintSignal_;
7154  }
7155 
7156  public static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER = 144;
7157  private boolean useImpliedBounds_;
7168  @java.lang.Override
7169  public boolean hasUseImpliedBounds() {
7170  return ((bitField4_ & 0x00200000) != 0);
7171  }
7182  @java.lang.Override
7183  public boolean getUseImpliedBounds() {
7184  return useImpliedBounds_;
7185  }
7186 
7187  public static final int POLISH_LP_SOLUTION_FIELD_NUMBER = 175;
7188  private boolean polishLpSolution_;
7200  @java.lang.Override
7201  public boolean hasPolishLpSolution() {
7202  return ((bitField4_ & 0x00400000) != 0);
7203  }
7215  @java.lang.Override
7216  public boolean getPolishLpSolution() {
7217  return polishLpSolution_;
7218  }
7219 
7220  public static final int CONVERT_INTERVALS_FIELD_NUMBER = 177;
7221  private boolean convertIntervals_;
7232  @java.lang.Override
7233  public boolean hasConvertIntervals() {
7234  return ((bitField4_ & 0x00800000) != 0);
7235  }
7246  @java.lang.Override
7247  public boolean getConvertIntervals() {
7248  return convertIntervals_;
7249  }
7250 
7251  public static final int MIP_MAX_BOUND_FIELD_NUMBER = 124;
7252  private double mipMaxBound_;
7263  @java.lang.Override
7264  public boolean hasMipMaxBound() {
7265  return ((bitField4_ & 0x01000000) != 0);
7266  }
7277  @java.lang.Override
7278  public double getMipMaxBound() {
7279  return mipMaxBound_;
7280  }
7281 
7282  public static final int MIP_VAR_SCALING_FIELD_NUMBER = 125;
7283  private double mipVarScaling_;
7294  @java.lang.Override
7295  public boolean hasMipVarScaling() {
7296  return ((bitField4_ & 0x02000000) != 0);
7297  }
7308  @java.lang.Override
7309  public double getMipVarScaling() {
7310  return mipVarScaling_;
7311  }
7312 
7313  public static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER = 166;
7314  private boolean mipAutomaticallyScaleVariables_;
7327  @java.lang.Override
7329  return ((bitField4_ & 0x04000000) != 0);
7330  }
7343  @java.lang.Override
7345  return mipAutomaticallyScaleVariables_;
7346  }
7347 
7348  public static final int MIP_WANTED_PRECISION_FIELD_NUMBER = 126;
7349  private double mipWantedPrecision_;
7367  @java.lang.Override
7368  public boolean hasMipWantedPrecision() {
7369  return ((bitField4_ & 0x08000000) != 0);
7370  }
7388  @java.lang.Override
7389  public double getMipWantedPrecision() {
7390  return mipWantedPrecision_;
7391  }
7392 
7393  public static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER = 127;
7394  private int mipMaxActivityExponent_;
7409  @java.lang.Override
7410  public boolean hasMipMaxActivityExponent() {
7411  return ((bitField4_ & 0x10000000) != 0);
7412  }
7427  @java.lang.Override
7429  return mipMaxActivityExponent_;
7430  }
7431 
7432  public static final int MIP_CHECK_PRECISION_FIELD_NUMBER = 128;
7433  private double mipCheckPrecision_;
7444  @java.lang.Override
7445  public boolean hasMipCheckPrecision() {
7446  return ((bitField4_ & 0x20000000) != 0);
7447  }
7458  @java.lang.Override
7459  public double getMipCheckPrecision() {
7460  return mipCheckPrecision_;
7461  }
7462 
7463  private byte memoizedIsInitialized = -1;
7464  @java.lang.Override
7465  public final boolean isInitialized() {
7466  byte isInitialized = memoizedIsInitialized;
7467  if (isInitialized == 1) return true;
7468  if (isInitialized == 0) return false;
7469 
7470  memoizedIsInitialized = 1;
7471  return true;
7472  }
7473 
7474  @java.lang.Override
7475  public void writeTo(com.google.protobuf.CodedOutputStream output)
7476  throws java.io.IOException {
7477  if (((bitField0_ & 0x00000002) != 0)) {
7478  output.writeEnum(1, preferredVariableOrder_);
7479  }
7480  if (((bitField0_ & 0x00000004) != 0)) {
7481  output.writeEnum(2, initialPolarity_);
7482  }
7483  if (((bitField0_ & 0x00000400) != 0)) {
7484  output.writeEnum(4, minimizationAlgorithm_);
7485  }
7486  if (((bitField0_ & 0x00002000) != 0)) {
7487  output.writeInt32(11, clauseCleanupPeriod_);
7488  }
7489  if (((bitField0_ & 0x00004000) != 0)) {
7490  output.writeInt32(13, clauseCleanupTarget_);
7491  }
7492  if (((bitField0_ & 0x00400000) != 0)) {
7493  output.writeDouble(15, variableActivityDecay_);
7494  }
7495  if (((bitField0_ & 0x00800000) != 0)) {
7496  output.writeDouble(16, maxVariableActivityValue_);
7497  }
7498  if (((bitField0_ & 0x08000000) != 0)) {
7499  output.writeDouble(17, clauseActivityDecay_);
7500  }
7501  if (((bitField0_ & 0x10000000) != 0)) {
7502  output.writeDouble(18, maxClauseActivityValue_);
7503  }
7504  if (((bitField0_ & 0x01000000) != 0)) {
7505  output.writeDouble(22, glucoseMaxDecay_);
7506  }
7507  if (((bitField0_ & 0x02000000) != 0)) {
7508  output.writeDouble(23, glucoseDecayIncrement_);
7509  }
7510  if (((bitField0_ & 0x04000000) != 0)) {
7511  output.writeInt32(24, glucoseDecayIncrementPeriod_);
7512  }
7513  if (((bitField0_ & 0x40000000) != 0)) {
7514  output.writeInt32(30, restartPeriod_);
7515  }
7516  if (((bitField1_ & 0x00004000) != 0)) {
7517  output.writeInt32(31, randomSeed_);
7518  }
7519  if (((bitField0_ & 0x00000040) != 0)) {
7520  output.writeDouble(32, randomBranchesRatio_);
7521  }
7522  if (((bitField1_ & 0x00002000) != 0)) {
7523  output.writeBool(33, treatBinaryClausesSeparately_);
7524  }
7525  if (((bitField0_ & 0x00000800) != 0)) {
7526  output.writeEnum(34, binaryMinimizationAlgorithm_);
7527  }
7528  if (((bitField2_ & 0x00002000) != 0)) {
7529  output.writeBool(35, useOptimizationHints_);
7530  }
7531  if (((bitField1_ & 0x00000080) != 0)) {
7532  output.writeDouble(36, maxTimeInSeconds_);
7533  }
7534  if (((bitField1_ & 0x00000200) != 0)) {
7535  output.writeInt64(37, maxNumberOfConflicts_);
7536  }
7537  if (((bitField1_ & 0x00000400) != 0)) {
7538  output.writeInt64(40, maxMemoryInMb_);
7539  }
7540  if (((bitField1_ & 0x00040000) != 0)) {
7541  output.writeBool(41, logSearchProgress_);
7542  }
7543  if (((bitField1_ & 0x00080000) != 0)) {
7544  output.writeBool(43, usePbResolution_);
7545  }
7546  if (((bitField0_ & 0x00000008) != 0)) {
7547  output.writeBool(44, usePhaseSaving_);
7548  }
7549  if (((bitField0_ & 0x00000020) != 0)) {
7550  output.writeDouble(45, randomPolarityRatio_);
7551  }
7552  if (((bitField0_ & 0x00040000) != 0)) {
7553  output.writeInt32(46, pbCleanupIncrement_);
7554  }
7555  if (((bitField0_ & 0x00080000) != 0)) {
7556  output.writeDouble(47, pbCleanupRatio_);
7557  }
7558  if (((bitField1_ & 0x00100000) != 0)) {
7559  output.writeBool(48, minimizeReductionDuringPbResolution_);
7560  }
7561  if (((bitField1_ & 0x00200000) != 0)) {
7562  output.writeBool(49, countAssumptionLevelsInLbd_);
7563  }
7564  if (((bitField2_ & 0x00004000) != 0)) {
7565  output.writeBool(50, minimizeCore_);
7566  }
7567  if (((bitField2_ & 0x00020000) != 0)) {
7568  output.writeEnum(51, maxSatAssumptionOrder_);
7569  }
7570  if (((bitField2_ & 0x00040000) != 0)) {
7571  output.writeBool(52, maxSatReverseAssumptionOrder_);
7572  }
7573  if (((bitField2_ & 0x00080000) != 0)) {
7574  output.writeEnum(53, maxSatStratification_);
7575  }
7576  if (((bitField1_ & 0x00400000) != 0)) {
7577  output.writeInt32(54, presolveBveThreshold_);
7578  }
7579  if (((bitField1_ & 0x00800000) != 0)) {
7580  output.writeInt32(55, presolveBveClauseWeight_);
7581  }
7582  if (((bitField0_ & 0x00001000) != 0)) {
7583  output.writeBool(56, subsumptionDuringConflictAnalysis_);
7584  }
7585  if (((bitField1_ & 0x01000000) != 0)) {
7586  output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
7587  }
7588  if (((bitField0_ & 0x00008000) != 0)) {
7589  output.writeEnum(58, clauseCleanupProtection_);
7590  }
7591  if (((bitField0_ & 0x00010000) != 0)) {
7592  output.writeInt32(59, clauseCleanupLbdBound_);
7593  }
7594  if (((bitField0_ & 0x00020000) != 0)) {
7595  output.writeEnum(60, clauseCleanupOrdering_);
7596  }
7597  for (int i = 0; i < restartAlgorithms_.size(); i++) {
7598  output.writeEnum(61, restartAlgorithms_.get(i));
7599  }
7600  if (((bitField0_ & 0x80000000) != 0)) {
7601  output.writeInt32(62, restartRunningWindowSize_);
7602  }
7603  if (((bitField1_ & 0x00000001) != 0)) {
7604  output.writeDouble(63, restartDlAverageRatio_);
7605  }
7606  if (((bitField1_ & 0x00000004) != 0)) {
7607  output.writeBool(64, useBlockingRestart_);
7608  }
7609  if (((bitField1_ & 0x00000008) != 0)) {
7610  output.writeInt32(65, blockingRestartWindowSize_);
7611  }
7612  if (((bitField1_ & 0x00000010) != 0)) {
7613  output.writeDouble(66, blockingRestartMultiplier_);
7614  }
7615  if (((bitField1_ & 0x00000100) != 0)) {
7616  output.writeDouble(67, maxDeterministicTime_);
7617  }
7618  if (((bitField1_ & 0x00000020) != 0)) {
7619  output.writeInt32(68, numConflictsBeforeStrategyChanges_);
7620  }
7621  if (((bitField1_ & 0x00000040) != 0)) {
7622  output.writeDouble(69, strategyChangeIncreaseRatio_);
7623  }
7624  if (((bitField0_ & 0x20000000) != 0)) {
7625  com.google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
7626  }
7627  if (((bitField1_ & 0x00000002) != 0)) {
7628  output.writeDouble(71, restartLbdAverageRatio_);
7629  }
7630  if (((bitField1_ & 0x04000000) != 0)) {
7631  output.writeBool(72, presolveUseBva_);
7632  }
7633  if (((bitField1_ & 0x08000000) != 0)) {
7634  output.writeInt32(73, presolveBvaThreshold_);
7635  }
7636  if (((bitField2_ & 0x00100000) != 0)) {
7637  output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
7638  }
7639  if (((bitField0_ & 0x00000080) != 0)) {
7640  output.writeBool(75, useErwaHeuristic_);
7641  }
7642  if (((bitField0_ & 0x00000100) != 0)) {
7643  output.writeDouble(76, initialVariablesActivity_);
7644  }
7645  if (((bitField0_ & 0x00000200) != 0)) {
7646  output.writeBool(77, alsoBumpVariablesInConflictReasons_);
7647  }
7648  if (((bitField2_ & 0x00200000) != 0)) {
7649  output.writeBool(78, useOverloadCheckerInCumulativeConstraint_);
7650  }
7651  if (((bitField2_ & 0x00400000) != 0)) {
7652  output.writeBool(79, useTimetableEdgeFindingInCumulativeConstraint_);
7653  }
7654  if (((bitField2_ & 0x00800000) != 0)) {
7655  output.writeBool(80, useDisjunctiveConstraintInCumulativeConstraint_);
7656  }
7657  if (((bitField3_ & 0x00001000) != 0)) {
7658  output.writeEnum(82, searchBranching_);
7659  }
7660  if (((bitField3_ & 0x00800000) != 0)) {
7661  output.writeBool(83, optimizeWithCore_);
7662  }
7663  if (((bitField2_ & 0x00008000) != 0)) {
7664  output.writeBool(84, findMultipleCores_);
7665  }
7666  if (((bitField3_ & 0x02000000) != 0)) {
7667  output.writeBool(85, optimizeWithMaxHs_);
7668  }
7669  if (((bitField1_ & 0x20000000) != 0)) {
7670  output.writeBool(86, cpModelPresolve_);
7671  }
7672  if (((bitField3_ & 0x04000000) != 0)) {
7673  output.writeBool(87, enumerateAllSolutions_);
7674  }
7675  if (((bitField1_ & 0x02000000) != 0)) {
7676  output.writeBool(88, presolveBlockedClause_);
7677  }
7678  if (((bitField2_ & 0x00010000) != 0)) {
7679  output.writeBool(89, coverOptimization_);
7680  }
7681  if (((bitField2_ & 0x01000000) != 0)) {
7682  output.writeInt32(90, linearizationLevel_);
7683  }
7684  if (((bitField2_ & 0x04000000) != 0)) {
7685  output.writeInt32(91, maxNumCuts_);
7686  }
7687  if (((bitField2_ & 0x08000000) != 0)) {
7688  output.writeBool(92, onlyAddCutsAtLevelZero_);
7689  }
7690  if (((bitField2_ & 0x00000002) != 0)) {
7691  output.writeBool(93, cpModelUseSatPresolve_);
7692  }
7693  if (((bitField3_ & 0x00008000) != 0)) {
7694  output.writeBool(94, exploitIntegerLpSolution_);
7695  }
7696  if (((bitField3_ & 0x40000000) != 0)) {
7697  output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
7698  }
7699  if (((bitField0_ & 0x00100000) != 0)) {
7700  output.writeInt32(96, minimizeWithPropagationRestartPeriod_);
7701  }
7702  if (((bitField0_ & 0x00200000) != 0)) {
7703  output.writeInt32(97, minimizeWithPropagationNumDecisions_);
7704  }
7705  if (((bitField3_ & 0x80000000) != 0)) {
7706  output.writeBool(98, stopAfterFirstSolution_);
7707  }
7708  if (((bitField3_ & 0x01000000) != 0)) {
7709  output.writeInt32(99, binarySearchNumConflicts_);
7710  }
7711  if (((bitField4_ & 0x00000002) != 0)) {
7712  output.writeInt32(100, numSearchWorkers_);
7713  }
7714  if (((bitField4_ & 0x00000080) != 0)) {
7715  output.writeBool(101, useLnsOnly_);
7716  }
7717  if (((bitField4_ & 0x00004000) != 0)) {
7718  output.writeBool(103, randomizeSearch_);
7719  }
7720  if (((bitField4_ & 0x00008000) != 0)) {
7721  output.writeInt64(104, searchRandomizationTolerance_);
7722  }
7723  if (((bitField4_ & 0x00000100) != 0)) {
7724  output.writeBool(105, lnsFocusOnDecisionVariables_);
7725  }
7726  if (((bitField3_ & 0x20000000) != 0)) {
7727  output.writeBool(106, instantiateAllVariables_);
7728  }
7729  if (((bitField2_ & 0x02000000) != 0)) {
7730  output.writeInt32(107, booleanEncodingLevel_);
7731  }
7732  if (((bitField4_ & 0x00010000) != 0)) {
7733  output.writeBool(108, useOptionalVariables_);
7734  }
7735  if (((bitField4_ & 0x00020000) != 0)) {
7736  output.writeBool(109, useExactLpReason_);
7737  }
7738  if (((bitField2_ & 0x00000001) != 0)) {
7739  output.writeInt32(110, cpModelProbingLevel_);
7740  }
7741  if (((bitField2_ & 0x10000000) != 0)) {
7742  output.writeBool(111, addKnapsackCuts_);
7743  }
7744  if (((bitField3_ & 0x00000010) != 0)) {
7745  output.writeBool(112, addLpConstraintsLazily_);
7746  }
7747  if (((bitField4_ & 0x00000020) != 0)) {
7748  output.writeBool(113, shareObjectiveBounds_);
7749  }
7750  if (((bitField4_ & 0x00000040) != 0)) {
7751  output.writeBool(114, shareLevelZeroBounds_);
7752  }
7753  if (((bitField3_ & 0x00000020) != 0)) {
7754  output.writeDouble(115, minOrthogonalityForLpConstraints_);
7755  }
7756  if (((bitField3_ & 0x00010000) != 0)) {
7757  output.writeBool(116, exploitAllLpSolution_);
7758  }
7759  if (((bitField2_ & 0x20000000) != 0)) {
7760  output.writeBool(117, addCgCuts_);
7761  }
7762  if (((bitField3_ & 0x00000008) != 0)) {
7763  output.writeInt32(119, maxIntegerRoundingScaling_);
7764  }
7765  if (((bitField2_ & 0x40000000) != 0)) {
7766  output.writeBool(120, addMirCuts_);
7767  }
7768  if (((bitField3_ & 0x00000080) != 0)) {
7769  output.writeInt32(121, maxConsecutiveInactiveCount_);
7770  }
7771  if (((bitField3_ & 0x00000800) != 0)) {
7772  output.writeInt32(122, newConstraintsBatchSize_);
7773  }
7774  if (((bitField3_ & 0x00400000) != 0)) {
7775  output.writeInt64(123, pseudoCostReliabilityThreshold_);
7776  }
7777  if (((bitField4_ & 0x01000000) != 0)) {
7778  output.writeDouble(124, mipMaxBound_);
7779  }
7780  if (((bitField4_ & 0x02000000) != 0)) {
7781  output.writeDouble(125, mipVarScaling_);
7782  }
7783  if (((bitField4_ & 0x08000000) != 0)) {
7784  output.writeDouble(126, mipWantedPrecision_);
7785  }
7786  if (((bitField4_ & 0x10000000) != 0)) {
7787  output.writeInt32(127, mipMaxActivityExponent_);
7788  }
7789  if (((bitField4_ & 0x20000000) != 0)) {
7790  output.writeDouble(128, mipCheckPrecision_);
7791  }
7792  if (((bitField4_ & 0x00000200) != 0)) {
7793  output.writeBool(129, useRinsLns_);
7794  }
7795  if (((bitField3_ & 0x00020000) != 0)) {
7796  output.writeBool(130, exploitBestSolution_);
7797  }
7798  if (((bitField3_ & 0x00080000) != 0)) {
7799  output.writeBool(131, exploitObjective_);
7800  }
7801  if (((bitField3_ & 0x10000000) != 0)) {
7802  output.writeBool(132, fillTightenedDomainsInResponse_);
7803  }
7804  if (((bitField4_ & 0x00080000) != 0)) {
7805  output.writeBool(133, useCombinedNoOverlap_);
7806  }
7807  if (((bitField4_ & 0x00000008) != 0)) {
7808  output.writeInt32(134, interleaveBatchSize_);
7809  }
7810  if (((bitField4_ & 0x00100000) != 0)) {
7811  output.writeBool(135, catchSigintSignal_);
7812  }
7813  if (((bitField4_ & 0x00000004) != 0)) {
7814  output.writeBool(136, interleaveSearch_);
7815  }
7816  if (((bitField4_ & 0x00002000) != 0)) {
7817  output.writeBool(137, diversifyLnsParams_);
7818  }
7819  if (((bitField1_ & 0x10000000) != 0)) {
7820  output.writeInt32(138, maxPresolveIterations_);
7821  }
7822  if (((bitField4_ & 0x00040000) != 0)) {
7823  output.writeBool(139, useBranchingInLp_);
7824  }
7825  if (((bitField2_ & 0x00000008) != 0)) {
7826  output.writeBool(140, expandElementConstraints_);
7827  }
7828  if (((bitField4_ & 0x00000010) != 0)) {
7829  output.writeBool(141, reduceMemoryUsageInInterleaveMode_);
7830  }
7831  if (((bitField3_ & 0x00100000) != 0)) {
7832  output.writeInt64(142, probingPeriodAtRoot_);
7833  }
7834  if (((bitField2_ & 0x00000010) != 0)) {
7835  output.writeBool(143, expandAutomatonConstraints_);
7836  }
7837  if (((bitField4_ & 0x00200000) != 0)) {
7838  output.writeBool(144, useImpliedBounds_);
7839  }
7840  if (((bitField2_ & 0x00000200) != 0)) {
7841  output.writeDouble(145, mergeNoOverlapWorkLimit_);
7842  }
7843  if (((bitField2_ & 0x00000400) != 0)) {
7844  output.writeDouble(146, mergeAtMostOneWorkLimit_);
7845  }
7846  if (((bitField2_ & 0x00000800) != 0)) {
7847  output.writeInt32(147, presolveSubstitutionLevel_);
7848  }
7849  if (((bitField3_ & 0x00000002) != 0)) {
7850  output.writeInt32(148, maxAllDiffCutSize_);
7851  }
7852  if (((bitField4_ & 0x00000001) != 0)) {
7853  output.writeBool(149, stopAfterPresolve_);
7854  }
7855  if (((bitField4_ & 0x00001000) != 0)) {
7856  output.writeBool(150, useRelaxationLns_);
7857  }
7858  if (((bitField1_ & 0x80000000) != 0)) {
7859  output.writeInt32(151, cpModelMaxNumPresolveOperations_);
7860  }
7861  if (((bitField3_ & 0x00000004) != 0)) {
7862  output.writeBool(152, addLinMaxCuts_);
7863  }
7864  if (((bitField3_ & 0x00002000) != 0)) {
7865  output.writeInt32(153, hintConflictLimit_);
7866  }
7867  if (((bitField3_ & 0x00000040) != 0)) {
7868  output.writeInt32(154, maxCutRoundsAtLevelZero_);
7869  }
7870  if (((bitField3_ & 0x00000100) != 0)) {
7871  output.writeDouble(155, cutMaxActiveCountValue_);
7872  }
7873  if (((bitField3_ & 0x00000200) != 0)) {
7874  output.writeDouble(156, cutActiveCountDecay_);
7875  }
7876  if (((bitField3_ & 0x00000400) != 0)) {
7877  output.writeInt32(157, cutCleanupTarget_);
7878  }
7879  if (((bitField2_ & 0x00000020) != 0)) {
7880  output.writeBool(158, expandTableConstraints_);
7881  }
7882  if (((bitField1_ & 0x00000800) != 0)) {
7883  output.writeDouble(159, absoluteGapLimit_);
7884  }
7885  if (((bitField1_ & 0x00001000) != 0)) {
7886  output.writeDouble(160, relativeGapLimit_);
7887  }
7888  if (((bitField3_ & 0x00040000) != 0)) {
7889  output.writeBool(161, exploitRelaxationSolution_);
7890  }
7891  if (((bitField1_ & 0x40000000) != 0)) {
7892  output.writeBool(162, cpModelPostsolveWithFullSolver_);
7893  }
7894  if (((bitField2_ & 0x00000004) != 0)) {
7895  output.writeBool(163, useSatInprocessing_);
7896  }
7897  if (((bitField4_ & 0x00000400) != 0)) {
7898  output.writeBool(164, useFeasibilityPump_);
7899  }
7900  if (((bitField4_ & 0x00000800) != 0)) {
7901  output.writeEnum(165, fpRounding_);
7902  }
7903  if (((bitField4_ & 0x04000000) != 0)) {
7904  output.writeBool(166, mipAutomaticallyScaleVariables_);
7905  }
7906  if (((bitField3_ & 0x00004000) != 0)) {
7907  output.writeBool(167, repairHint_);
7908  }
7909  if (((bitField0_ & 0x00000010) != 0)) {
7910  output.writeInt32(168, polarityRephaseIncrement_);
7911  }
7912  if (((bitField2_ & 0x80000000) != 0)) {
7913  output.writeBool(169, addZeroHalfCuts_);
7914  }
7915  if (((bitField2_ & 0x00000040) != 0)) {
7916  output.writeBool(170, expandAlldiffConstraints_);
7917  }
7918  if (((bitField0_ & 0x00000001) != 0)) {
7919  com.google.protobuf.GeneratedMessageV3.writeString(output, 171, name_);
7920  }
7921  if (((bitField3_ & 0x00000001) != 0)) {
7922  output.writeBool(172, addCliqueCuts_);
7923  }
7924  if (((bitField3_ & 0x08000000) != 0)) {
7925  output.writeBool(173, keepAllFeasibleSolutionsInPresolve_);
7926  }
7927  if (((bitField2_ & 0x00001000) != 0)) {
7928  output.writeBool(174, presolveExtractIntegerEnforcement_);
7929  }
7930  if (((bitField4_ & 0x00400000) != 0)) {
7931  output.writeBool(175, polishLpSolution_);
7932  }
7933  if (((bitField3_ & 0x00200000) != 0)) {
7934  output.writeBool(176, useProbingSearch_);
7935  }
7936  if (((bitField4_ & 0x00800000) != 0)) {
7937  output.writeBool(177, convertIntervals_);
7938  }
7939  if (((bitField1_ & 0x00008000) != 0)) {
7940  output.writeBool(178, permuteVariableRandomly_);
7941  }
7942  if (((bitField1_ & 0x00010000) != 0)) {
7943  output.writeBool(179, permutePresolveConstraintOrder_);
7944  }
7945  if (((bitField1_ & 0x00020000) != 0)) {
7946  output.writeBool(180, useAbslRandom_);
7947  }
7948  if (((bitField2_ & 0x00000100) != 0)) {
7949  output.writeBool(181, disableConstraintExpansion_);
7950  }
7951  if (((bitField2_ & 0x00000080) != 0)) {
7952  output.writeBool(182, expandReservoirConstraints_);
7953  }
7954  unknownFields.writeTo(output);
7955  }
7956 
7957  @java.lang.Override
7958  public int getSerializedSize() {
7959  int size = memoizedSize;
7960  if (size != -1) return size;
7961 
7962  size = 0;
7963  if (((bitField0_ & 0x00000002) != 0)) {
7964  size += com.google.protobuf.CodedOutputStream
7965  .computeEnumSize(1, preferredVariableOrder_);
7966  }
7967  if (((bitField0_ & 0x00000004) != 0)) {
7968  size += com.google.protobuf.CodedOutputStream
7969  .computeEnumSize(2, initialPolarity_);
7970  }
7971  if (((bitField0_ & 0x00000400) != 0)) {
7972  size += com.google.protobuf.CodedOutputStream
7973  .computeEnumSize(4, minimizationAlgorithm_);
7974  }
7975  if (((bitField0_ & 0x00002000) != 0)) {
7976  size += com.google.protobuf.CodedOutputStream
7977  .computeInt32Size(11, clauseCleanupPeriod_);
7978  }
7979  if (((bitField0_ & 0x00004000) != 0)) {
7980  size += com.google.protobuf.CodedOutputStream
7981  .computeInt32Size(13, clauseCleanupTarget_);
7982  }
7983  if (((bitField0_ & 0x00400000) != 0)) {
7984  size += com.google.protobuf.CodedOutputStream
7985  .computeDoubleSize(15, variableActivityDecay_);
7986  }
7987  if (((bitField0_ & 0x00800000) != 0)) {
7988  size += com.google.protobuf.CodedOutputStream
7989  .computeDoubleSize(16, maxVariableActivityValue_);
7990  }
7991  if (((bitField0_ & 0x08000000) != 0)) {
7992  size += com.google.protobuf.CodedOutputStream
7993  .computeDoubleSize(17, clauseActivityDecay_);
7994  }
7995  if (((bitField0_ & 0x10000000) != 0)) {
7996  size += com.google.protobuf.CodedOutputStream
7997  .computeDoubleSize(18, maxClauseActivityValue_);
7998  }
7999  if (((bitField0_ & 0x01000000) != 0)) {
8000  size += com.google.protobuf.CodedOutputStream
8001  .computeDoubleSize(22, glucoseMaxDecay_);
8002  }
8003  if (((bitField0_ & 0x02000000) != 0)) {
8004  size += com.google.protobuf.CodedOutputStream
8005  .computeDoubleSize(23, glucoseDecayIncrement_);
8006  }
8007  if (((bitField0_ & 0x04000000) != 0)) {
8008  size += com.google.protobuf.CodedOutputStream
8009  .computeInt32Size(24, glucoseDecayIncrementPeriod_);
8010  }
8011  if (((bitField0_ & 0x40000000) != 0)) {
8012  size += com.google.protobuf.CodedOutputStream
8013  .computeInt32Size(30, restartPeriod_);
8014  }
8015  if (((bitField1_ & 0x00004000) != 0)) {
8016  size += com.google.protobuf.CodedOutputStream
8017  .computeInt32Size(31, randomSeed_);
8018  }
8019  if (((bitField0_ & 0x00000040) != 0)) {
8020  size += com.google.protobuf.CodedOutputStream
8021  .computeDoubleSize(32, randomBranchesRatio_);
8022  }
8023  if (((bitField1_ & 0x00002000) != 0)) {
8024  size += com.google.protobuf.CodedOutputStream
8025  .computeBoolSize(33, treatBinaryClausesSeparately_);
8026  }
8027  if (((bitField0_ & 0x00000800) != 0)) {
8028  size += com.google.protobuf.CodedOutputStream
8029  .computeEnumSize(34, binaryMinimizationAlgorithm_);
8030  }
8031  if (((bitField2_ & 0x00002000) != 0)) {
8032  size += com.google.protobuf.CodedOutputStream
8033  .computeBoolSize(35, useOptimizationHints_);
8034  }
8035  if (((bitField1_ & 0x00000080) != 0)) {
8036  size += com.google.protobuf.CodedOutputStream
8037  .computeDoubleSize(36, maxTimeInSeconds_);
8038  }
8039  if (((bitField1_ & 0x00000200) != 0)) {
8040  size += com.google.protobuf.CodedOutputStream
8041  .computeInt64Size(37, maxNumberOfConflicts_);
8042  }
8043  if (((bitField1_ & 0x00000400) != 0)) {
8044  size += com.google.protobuf.CodedOutputStream
8045  .computeInt64Size(40, maxMemoryInMb_);
8046  }
8047  if (((bitField1_ & 0x00040000) != 0)) {
8048  size += com.google.protobuf.CodedOutputStream
8049  .computeBoolSize(41, logSearchProgress_);
8050  }
8051  if (((bitField1_ & 0x00080000) != 0)) {
8052  size += com.google.protobuf.CodedOutputStream
8053  .computeBoolSize(43, usePbResolution_);
8054  }
8055  if (((bitField0_ & 0x00000008) != 0)) {
8056  size += com.google.protobuf.CodedOutputStream
8057  .computeBoolSize(44, usePhaseSaving_);
8058  }
8059  if (((bitField0_ & 0x00000020) != 0)) {
8060  size += com.google.protobuf.CodedOutputStream
8061  .computeDoubleSize(45, randomPolarityRatio_);
8062  }
8063  if (((bitField0_ & 0x00040000) != 0)) {
8064  size += com.google.protobuf.CodedOutputStream
8065  .computeInt32Size(46, pbCleanupIncrement_);
8066  }
8067  if (((bitField0_ & 0x00080000) != 0)) {
8068  size += com.google.protobuf.CodedOutputStream
8069  .computeDoubleSize(47, pbCleanupRatio_);
8070  }
8071  if (((bitField1_ & 0x00100000) != 0)) {
8072  size += com.google.protobuf.CodedOutputStream
8073  .computeBoolSize(48, minimizeReductionDuringPbResolution_);
8074  }
8075  if (((bitField1_ & 0x00200000) != 0)) {
8076  size += com.google.protobuf.CodedOutputStream
8077  .computeBoolSize(49, countAssumptionLevelsInLbd_);
8078  }
8079  if (((bitField2_ & 0x00004000) != 0)) {
8080  size += com.google.protobuf.CodedOutputStream
8081  .computeBoolSize(50, minimizeCore_);
8082  }
8083  if (((bitField2_ & 0x00020000) != 0)) {
8084  size += com.google.protobuf.CodedOutputStream
8085  .computeEnumSize(51, maxSatAssumptionOrder_);
8086  }
8087  if (((bitField2_ & 0x00040000) != 0)) {
8088  size += com.google.protobuf.CodedOutputStream
8089  .computeBoolSize(52, maxSatReverseAssumptionOrder_);
8090  }
8091  if (((bitField2_ & 0x00080000) != 0)) {
8092  size += com.google.protobuf.CodedOutputStream
8093  .computeEnumSize(53, maxSatStratification_);
8094  }
8095  if (((bitField1_ & 0x00400000) != 0)) {
8096  size += com.google.protobuf.CodedOutputStream
8097  .computeInt32Size(54, presolveBveThreshold_);
8098  }
8099  if (((bitField1_ & 0x00800000) != 0)) {
8100  size += com.google.protobuf.CodedOutputStream
8101  .computeInt32Size(55, presolveBveClauseWeight_);
8102  }
8103  if (((bitField0_ & 0x00001000) != 0)) {
8104  size += com.google.protobuf.CodedOutputStream
8105  .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
8106  }
8107  if (((bitField1_ & 0x01000000) != 0)) {
8108  size += com.google.protobuf.CodedOutputStream
8109  .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
8110  }
8111  if (((bitField0_ & 0x00008000) != 0)) {
8112  size += com.google.protobuf.CodedOutputStream
8113  .computeEnumSize(58, clauseCleanupProtection_);
8114  }
8115  if (((bitField0_ & 0x00010000) != 0)) {
8116  size += com.google.protobuf.CodedOutputStream
8117  .computeInt32Size(59, clauseCleanupLbdBound_);
8118  }
8119  if (((bitField0_ & 0x00020000) != 0)) {
8120  size += com.google.protobuf.CodedOutputStream
8121  .computeEnumSize(60, clauseCleanupOrdering_);
8122  }
8123  {
8124  int dataSize = 0;
8125  for (int i = 0; i < restartAlgorithms_.size(); i++) {
8126  dataSize += com.google.protobuf.CodedOutputStream
8127  .computeEnumSizeNoTag(restartAlgorithms_.get(i));
8128  }
8129  size += dataSize;
8130  size += 2 * restartAlgorithms_.size();
8131  }
8132  if (((bitField0_ & 0x80000000) != 0)) {
8133  size += com.google.protobuf.CodedOutputStream
8134  .computeInt32Size(62, restartRunningWindowSize_);
8135  }
8136  if (((bitField1_ & 0x00000001) != 0)) {
8137  size += com.google.protobuf.CodedOutputStream
8138  .computeDoubleSize(63, restartDlAverageRatio_);
8139  }
8140  if (((bitField1_ & 0x00000004) != 0)) {
8141  size += com.google.protobuf.CodedOutputStream
8142  .computeBoolSize(64, useBlockingRestart_);
8143  }
8144  if (((bitField1_ & 0x00000008) != 0)) {
8145  size += com.google.protobuf.CodedOutputStream
8146  .computeInt32Size(65, blockingRestartWindowSize_);
8147  }
8148  if (((bitField1_ & 0x00000010) != 0)) {
8149  size += com.google.protobuf.CodedOutputStream
8150  .computeDoubleSize(66, blockingRestartMultiplier_);
8151  }
8152  if (((bitField1_ & 0x00000100) != 0)) {
8153  size += com.google.protobuf.CodedOutputStream
8154  .computeDoubleSize(67, maxDeterministicTime_);
8155  }
8156  if (((bitField1_ & 0x00000020) != 0)) {
8157  size += com.google.protobuf.CodedOutputStream
8158  .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
8159  }
8160  if (((bitField1_ & 0x00000040) != 0)) {
8161  size += com.google.protobuf.CodedOutputStream
8162  .computeDoubleSize(69, strategyChangeIncreaseRatio_);
8163  }
8164  if (((bitField0_ & 0x20000000) != 0)) {
8165  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
8166  }
8167  if (((bitField1_ & 0x00000002) != 0)) {
8168  size += com.google.protobuf.CodedOutputStream
8169  .computeDoubleSize(71, restartLbdAverageRatio_);
8170  }
8171  if (((bitField1_ & 0x04000000) != 0)) {
8172  size += com.google.protobuf.CodedOutputStream
8173  .computeBoolSize(72, presolveUseBva_);
8174  }
8175  if (((bitField1_ & 0x08000000) != 0)) {
8176  size += com.google.protobuf.CodedOutputStream
8177  .computeInt32Size(73, presolveBvaThreshold_);
8178  }
8179  if (((bitField2_ & 0x00100000) != 0)) {
8180  size += com.google.protobuf.CodedOutputStream
8181  .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
8182  }
8183  if (((bitField0_ & 0x00000080) != 0)) {
8184  size += com.google.protobuf.CodedOutputStream
8185  .computeBoolSize(75, useErwaHeuristic_);
8186  }
8187  if (((bitField0_ & 0x00000100) != 0)) {
8188  size += com.google.protobuf.CodedOutputStream
8189  .computeDoubleSize(76, initialVariablesActivity_);
8190  }
8191  if (((bitField0_ & 0x00000200) != 0)) {
8192  size += com.google.protobuf.CodedOutputStream
8193  .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
8194  }
8195  if (((bitField2_ & 0x00200000) != 0)) {
8196  size += com.google.protobuf.CodedOutputStream
8197  .computeBoolSize(78, useOverloadCheckerInCumulativeConstraint_);
8198  }
8199  if (((bitField2_ & 0x00400000) != 0)) {
8200  size += com.google.protobuf.CodedOutputStream
8201  .computeBoolSize(79, useTimetableEdgeFindingInCumulativeConstraint_);
8202  }
8203  if (((bitField2_ & 0x00800000) != 0)) {
8204  size += com.google.protobuf.CodedOutputStream
8205  .computeBoolSize(80, useDisjunctiveConstraintInCumulativeConstraint_);
8206  }
8207  if (((bitField3_ & 0x00001000) != 0)) {
8208  size += com.google.protobuf.CodedOutputStream
8209  .computeEnumSize(82, searchBranching_);
8210  }
8211  if (((bitField3_ & 0x00800000) != 0)) {
8212  size += com.google.protobuf.CodedOutputStream
8213  .computeBoolSize(83, optimizeWithCore_);
8214  }
8215  if (((bitField2_ & 0x00008000) != 0)) {
8216  size += com.google.protobuf.CodedOutputStream
8217  .computeBoolSize(84, findMultipleCores_);
8218  }
8219  if (((bitField3_ & 0x02000000) != 0)) {
8220  size += com.google.protobuf.CodedOutputStream
8221  .computeBoolSize(85, optimizeWithMaxHs_);
8222  }
8223  if (((bitField1_ & 0x20000000) != 0)) {
8224  size += com.google.protobuf.CodedOutputStream
8225  .computeBoolSize(86, cpModelPresolve_);
8226  }
8227  if (((bitField3_ & 0x04000000) != 0)) {
8228  size += com.google.protobuf.CodedOutputStream
8229  .computeBoolSize(87, enumerateAllSolutions_);
8230  }
8231  if (((bitField1_ & 0x02000000) != 0)) {
8232  size += com.google.protobuf.CodedOutputStream
8233  .computeBoolSize(88, presolveBlockedClause_);
8234  }
8235  if (((bitField2_ & 0x00010000) != 0)) {
8236  size += com.google.protobuf.CodedOutputStream
8237  .computeBoolSize(89, coverOptimization_);
8238  }
8239  if (((bitField2_ & 0x01000000) != 0)) {
8240  size += com.google.protobuf.CodedOutputStream
8241  .computeInt32Size(90, linearizationLevel_);
8242  }
8243  if (((bitField2_ & 0x04000000) != 0)) {
8244  size += com.google.protobuf.CodedOutputStream
8245  .computeInt32Size(91, maxNumCuts_);
8246  }
8247  if (((bitField2_ & 0x08000000) != 0)) {
8248  size += com.google.protobuf.CodedOutputStream
8249  .computeBoolSize(92, onlyAddCutsAtLevelZero_);
8250  }
8251  if (((bitField2_ & 0x00000002) != 0)) {
8252  size += com.google.protobuf.CodedOutputStream
8253  .computeBoolSize(93, cpModelUseSatPresolve_);
8254  }
8255  if (((bitField3_ & 0x00008000) != 0)) {
8256  size += com.google.protobuf.CodedOutputStream
8257  .computeBoolSize(94, exploitIntegerLpSolution_);
8258  }
8259  if (((bitField3_ & 0x40000000) != 0)) {
8260  size += com.google.protobuf.CodedOutputStream
8261  .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
8262  }
8263  if (((bitField0_ & 0x00100000) != 0)) {
8264  size += com.google.protobuf.CodedOutputStream
8265  .computeInt32Size(96, minimizeWithPropagationRestartPeriod_);
8266  }
8267  if (((bitField0_ & 0x00200000) != 0)) {
8268  size += com.google.protobuf.CodedOutputStream
8269  .computeInt32Size(97, minimizeWithPropagationNumDecisions_);
8270  }
8271  if (((bitField3_ & 0x80000000) != 0)) {
8272  size += com.google.protobuf.CodedOutputStream
8273  .computeBoolSize(98, stopAfterFirstSolution_);
8274  }
8275  if (((bitField3_ & 0x01000000) != 0)) {
8276  size += com.google.protobuf.CodedOutputStream
8277  .computeInt32Size(99, binarySearchNumConflicts_);
8278  }
8279  if (((bitField4_ & 0x00000002) != 0)) {
8280  size += com.google.protobuf.CodedOutputStream
8281  .computeInt32Size(100, numSearchWorkers_);
8282  }
8283  if (((bitField4_ & 0x00000080) != 0)) {
8284  size += com.google.protobuf.CodedOutputStream
8285  .computeBoolSize(101, useLnsOnly_);
8286  }
8287  if (((bitField4_ & 0x00004000) != 0)) {
8288  size += com.google.protobuf.CodedOutputStream
8289  .computeBoolSize(103, randomizeSearch_);
8290  }
8291  if (((bitField4_ & 0x00008000) != 0)) {
8292  size += com.google.protobuf.CodedOutputStream
8293  .computeInt64Size(104, searchRandomizationTolerance_);
8294  }
8295  if (((bitField4_ & 0x00000100) != 0)) {
8296  size += com.google.protobuf.CodedOutputStream
8297  .computeBoolSize(105, lnsFocusOnDecisionVariables_);
8298  }
8299  if (((bitField3_ & 0x20000000) != 0)) {
8300  size += com.google.protobuf.CodedOutputStream
8301  .computeBoolSize(106, instantiateAllVariables_);
8302  }
8303  if (((bitField2_ & 0x02000000) != 0)) {
8304  size += com.google.protobuf.CodedOutputStream
8305  .computeInt32Size(107, booleanEncodingLevel_);
8306  }
8307  if (((bitField4_ & 0x00010000) != 0)) {
8308  size += com.google.protobuf.CodedOutputStream
8309  .computeBoolSize(108, useOptionalVariables_);
8310  }
8311  if (((bitField4_ & 0x00020000) != 0)) {
8312  size += com.google.protobuf.CodedOutputStream
8313  .computeBoolSize(109, useExactLpReason_);
8314  }
8315  if (((bitField2_ & 0x00000001) != 0)) {
8316  size += com.google.protobuf.CodedOutputStream
8317  .computeInt32Size(110, cpModelProbingLevel_);
8318  }
8319  if (((bitField2_ & 0x10000000) != 0)) {
8320  size += com.google.protobuf.CodedOutputStream
8321  .computeBoolSize(111, addKnapsackCuts_);
8322  }
8323  if (((bitField3_ & 0x00000010) != 0)) {
8324  size += com.google.protobuf.CodedOutputStream
8325  .computeBoolSize(112, addLpConstraintsLazily_);
8326  }
8327  if (((bitField4_ & 0x00000020) != 0)) {
8328  size += com.google.protobuf.CodedOutputStream
8329  .computeBoolSize(113, shareObjectiveBounds_);
8330  }
8331  if (((bitField4_ & 0x00000040) != 0)) {
8332  size += com.google.protobuf.CodedOutputStream
8333  .computeBoolSize(114, shareLevelZeroBounds_);
8334  }
8335  if (((bitField3_ & 0x00000020) != 0)) {
8336  size += com.google.protobuf.CodedOutputStream
8337  .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
8338  }
8339  if (((bitField3_ & 0x00010000) != 0)) {
8340  size += com.google.protobuf.CodedOutputStream
8341  .computeBoolSize(116, exploitAllLpSolution_);
8342  }
8343  if (((bitField2_ & 0x20000000) != 0)) {
8344  size += com.google.protobuf.CodedOutputStream
8345  .computeBoolSize(117, addCgCuts_);
8346  }
8347  if (((bitField3_ & 0x00000008) != 0)) {
8348  size += com.google.protobuf.CodedOutputStream
8349  .computeInt32Size(119, maxIntegerRoundingScaling_);
8350  }
8351  if (((bitField2_ & 0x40000000) != 0)) {
8352  size += com.google.protobuf.CodedOutputStream
8353  .computeBoolSize(120, addMirCuts_);
8354  }
8355  if (((bitField3_ & 0x00000080) != 0)) {
8356  size += com.google.protobuf.CodedOutputStream
8357  .computeInt32Size(121, maxConsecutiveInactiveCount_);
8358  }
8359  if (((bitField3_ & 0x00000800) != 0)) {
8360  size += com.google.protobuf.CodedOutputStream
8361  .computeInt32Size(122, newConstraintsBatchSize_);
8362  }
8363  if (((bitField3_ & 0x00400000) != 0)) {
8364  size += com.google.protobuf.CodedOutputStream
8365  .computeInt64Size(123, pseudoCostReliabilityThreshold_);
8366  }
8367  if (((bitField4_ & 0x01000000) != 0)) {
8368  size += com.google.protobuf.CodedOutputStream
8369  .computeDoubleSize(124, mipMaxBound_);
8370  }
8371  if (((bitField4_ & 0x02000000) != 0)) {
8372  size += com.google.protobuf.CodedOutputStream
8373  .computeDoubleSize(125, mipVarScaling_);
8374  }
8375  if (((bitField4_ & 0x08000000) != 0)) {
8376  size += com.google.protobuf.CodedOutputStream
8377  .computeDoubleSize(126, mipWantedPrecision_);
8378  }
8379  if (((bitField4_ & 0x10000000) != 0)) {
8380  size += com.google.protobuf.CodedOutputStream
8381  .computeInt32Size(127, mipMaxActivityExponent_);
8382  }
8383  if (((bitField4_ & 0x20000000) != 0)) {
8384  size += com.google.protobuf.CodedOutputStream
8385  .computeDoubleSize(128, mipCheckPrecision_);
8386  }
8387  if (((bitField4_ & 0x00000200) != 0)) {
8388  size += com.google.protobuf.CodedOutputStream
8389  .computeBoolSize(129, useRinsLns_);
8390  }
8391  if (((bitField3_ & 0x00020000) != 0)) {
8392  size += com.google.protobuf.CodedOutputStream
8393  .computeBoolSize(130, exploitBestSolution_);
8394  }
8395  if (((bitField3_ & 0x00080000) != 0)) {
8396  size += com.google.protobuf.CodedOutputStream
8397  .computeBoolSize(131, exploitObjective_);
8398  }
8399  if (((bitField3_ & 0x10000000) != 0)) {
8400  size += com.google.protobuf.CodedOutputStream
8401  .computeBoolSize(132, fillTightenedDomainsInResponse_);
8402  }
8403  if (((bitField4_ & 0x00080000) != 0)) {
8404  size += com.google.protobuf.CodedOutputStream
8405  .computeBoolSize(133, useCombinedNoOverlap_);
8406  }
8407  if (((bitField4_ & 0x00000008) != 0)) {
8408  size += com.google.protobuf.CodedOutputStream
8409  .computeInt32Size(134, interleaveBatchSize_);
8410  }
8411  if (((bitField4_ & 0x00100000) != 0)) {
8412  size += com.google.protobuf.CodedOutputStream
8413  .computeBoolSize(135, catchSigintSignal_);
8414  }
8415  if (((bitField4_ & 0x00000004) != 0)) {
8416  size += com.google.protobuf.CodedOutputStream
8417  .computeBoolSize(136, interleaveSearch_);
8418  }
8419  if (((bitField4_ & 0x00002000) != 0)) {
8420  size += com.google.protobuf.CodedOutputStream
8421  .computeBoolSize(137, diversifyLnsParams_);
8422  }
8423  if (((bitField1_ & 0x10000000) != 0)) {
8424  size += com.google.protobuf.CodedOutputStream
8425  .computeInt32Size(138, maxPresolveIterations_);
8426  }
8427  if (((bitField4_ & 0x00040000) != 0)) {
8428  size += com.google.protobuf.CodedOutputStream
8429  .computeBoolSize(139, useBranchingInLp_);
8430  }
8431  if (((bitField2_ & 0x00000008) != 0)) {
8432  size += com.google.protobuf.CodedOutputStream
8433  .computeBoolSize(140, expandElementConstraints_);
8434  }
8435  if (((bitField4_ & 0x00000010) != 0)) {
8436  size += com.google.protobuf.CodedOutputStream
8437  .computeBoolSize(141, reduceMemoryUsageInInterleaveMode_);
8438  }
8439  if (((bitField3_ & 0x00100000) != 0)) {
8440  size += com.google.protobuf.CodedOutputStream
8441  .computeInt64Size(142, probingPeriodAtRoot_);
8442  }
8443  if (((bitField2_ & 0x00000010) != 0)) {
8444  size += com.google.protobuf.CodedOutputStream
8445  .computeBoolSize(143, expandAutomatonConstraints_);
8446  }
8447  if (((bitField4_ & 0x00200000) != 0)) {
8448  size += com.google.protobuf.CodedOutputStream
8449  .computeBoolSize(144, useImpliedBounds_);
8450  }
8451  if (((bitField2_ & 0x00000200) != 0)) {
8452  size += com.google.protobuf.CodedOutputStream
8453  .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
8454  }
8455  if (((bitField2_ & 0x00000400) != 0)) {
8456  size += com.google.protobuf.CodedOutputStream
8457  .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
8458  }
8459  if (((bitField2_ & 0x00000800) != 0)) {
8460  size += com.google.protobuf.CodedOutputStream
8461  .computeInt32Size(147, presolveSubstitutionLevel_);
8462  }
8463  if (((bitField3_ & 0x00000002) != 0)) {
8464  size += com.google.protobuf.CodedOutputStream
8465  .computeInt32Size(148, maxAllDiffCutSize_);
8466  }
8467  if (((bitField4_ & 0x00000001) != 0)) {
8468  size += com.google.protobuf.CodedOutputStream
8469  .computeBoolSize(149, stopAfterPresolve_);
8470  }
8471  if (((bitField4_ & 0x00001000) != 0)) {
8472  size += com.google.protobuf.CodedOutputStream
8473  .computeBoolSize(150, useRelaxationLns_);
8474  }
8475  if (((bitField1_ & 0x80000000) != 0)) {
8476  size += com.google.protobuf.CodedOutputStream
8477  .computeInt32Size(151, cpModelMaxNumPresolveOperations_);
8478  }
8479  if (((bitField3_ & 0x00000004) != 0)) {
8480  size += com.google.protobuf.CodedOutputStream
8481  .computeBoolSize(152, addLinMaxCuts_);
8482  }
8483  if (((bitField3_ & 0x00002000) != 0)) {
8484  size += com.google.protobuf.CodedOutputStream
8485  .computeInt32Size(153, hintConflictLimit_);
8486  }
8487  if (((bitField3_ & 0x00000040) != 0)) {
8488  size += com.google.protobuf.CodedOutputStream
8489  .computeInt32Size(154, maxCutRoundsAtLevelZero_);
8490  }
8491  if (((bitField3_ & 0x00000100) != 0)) {
8492  size += com.google.protobuf.CodedOutputStream
8493  .computeDoubleSize(155, cutMaxActiveCountValue_);
8494  }
8495  if (((bitField3_ & 0x00000200) != 0)) {
8496  size += com.google.protobuf.CodedOutputStream
8497  .computeDoubleSize(156, cutActiveCountDecay_);
8498  }
8499  if (((bitField3_ & 0x00000400) != 0)) {
8500  size += com.google.protobuf.CodedOutputStream
8501  .computeInt32Size(157, cutCleanupTarget_);
8502  }
8503  if (((bitField2_ & 0x00000020) != 0)) {
8504  size += com.google.protobuf.CodedOutputStream
8505  .computeBoolSize(158, expandTableConstraints_);
8506  }
8507  if (((bitField1_ & 0x00000800) != 0)) {
8508  size += com.google.protobuf.CodedOutputStream
8509  .computeDoubleSize(159, absoluteGapLimit_);
8510  }
8511  if (((bitField1_ & 0x00001000) != 0)) {
8512  size += com.google.protobuf.CodedOutputStream
8513  .computeDoubleSize(160, relativeGapLimit_);
8514  }
8515  if (((bitField3_ & 0x00040000) != 0)) {
8516  size += com.google.protobuf.CodedOutputStream
8517  .computeBoolSize(161, exploitRelaxationSolution_);
8518  }
8519  if (((bitField1_ & 0x40000000) != 0)) {
8520  size += com.google.protobuf.CodedOutputStream
8521  .computeBoolSize(162, cpModelPostsolveWithFullSolver_);
8522  }
8523  if (((bitField2_ & 0x00000004) != 0)) {
8524  size += com.google.protobuf.CodedOutputStream
8525  .computeBoolSize(163, useSatInprocessing_);
8526  }
8527  if (((bitField4_ & 0x00000400) != 0)) {
8528  size += com.google.protobuf.CodedOutputStream
8529  .computeBoolSize(164, useFeasibilityPump_);
8530  }
8531  if (((bitField4_ & 0x00000800) != 0)) {
8532  size += com.google.protobuf.CodedOutputStream
8533  .computeEnumSize(165, fpRounding_);
8534  }
8535  if (((bitField4_ & 0x04000000) != 0)) {
8536  size += com.google.protobuf.CodedOutputStream
8537  .computeBoolSize(166, mipAutomaticallyScaleVariables_);
8538  }
8539  if (((bitField3_ & 0x00004000) != 0)) {
8540  size += com.google.protobuf.CodedOutputStream
8541  .computeBoolSize(167, repairHint_);
8542  }
8543  if (((bitField0_ & 0x00000010) != 0)) {
8544  size += com.google.protobuf.CodedOutputStream
8545  .computeInt32Size(168, polarityRephaseIncrement_);
8546  }
8547  if (((bitField2_ & 0x80000000) != 0)) {
8548  size += com.google.protobuf.CodedOutputStream
8549  .computeBoolSize(169, addZeroHalfCuts_);
8550  }
8551  if (((bitField2_ & 0x00000040) != 0)) {
8552  size += com.google.protobuf.CodedOutputStream
8553  .computeBoolSize(170, expandAlldiffConstraints_);
8554  }
8555  if (((bitField0_ & 0x00000001) != 0)) {
8556  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(171, name_);
8557  }
8558  if (((bitField3_ & 0x00000001) != 0)) {
8559  size += com.google.protobuf.CodedOutputStream
8560  .computeBoolSize(172, addCliqueCuts_);
8561  }
8562  if (((bitField3_ & 0x08000000) != 0)) {
8563  size += com.google.protobuf.CodedOutputStream
8564  .computeBoolSize(173, keepAllFeasibleSolutionsInPresolve_);
8565  }
8566  if (((bitField2_ & 0x00001000) != 0)) {
8567  size += com.google.protobuf.CodedOutputStream
8568  .computeBoolSize(174, presolveExtractIntegerEnforcement_);
8569  }
8570  if (((bitField4_ & 0x00400000) != 0)) {
8571  size += com.google.protobuf.CodedOutputStream
8572  .computeBoolSize(175, polishLpSolution_);
8573  }
8574  if (((bitField3_ & 0x00200000) != 0)) {
8575  size += com.google.protobuf.CodedOutputStream
8576  .computeBoolSize(176, useProbingSearch_);
8577  }
8578  if (((bitField4_ & 0x00800000) != 0)) {
8579  size += com.google.protobuf.CodedOutputStream
8580  .computeBoolSize(177, convertIntervals_);
8581  }
8582  if (((bitField1_ & 0x00008000) != 0)) {
8583  size += com.google.protobuf.CodedOutputStream
8584  .computeBoolSize(178, permuteVariableRandomly_);
8585  }
8586  if (((bitField1_ & 0x00010000) != 0)) {
8587  size += com.google.protobuf.CodedOutputStream
8588  .computeBoolSize(179, permutePresolveConstraintOrder_);
8589  }
8590  if (((bitField1_ & 0x00020000) != 0)) {
8591  size += com.google.protobuf.CodedOutputStream
8592  .computeBoolSize(180, useAbslRandom_);
8593  }
8594  if (((bitField2_ & 0x00000100) != 0)) {
8595  size += com.google.protobuf.CodedOutputStream
8596  .computeBoolSize(181, disableConstraintExpansion_);
8597  }
8598  if (((bitField2_ & 0x00000080) != 0)) {
8599  size += com.google.protobuf.CodedOutputStream
8600  .computeBoolSize(182, expandReservoirConstraints_);
8601  }
8602  size += unknownFields.getSerializedSize();
8603  memoizedSize = size;
8604  return size;
8605  }
8606 
8607  @java.lang.Override
8608  public boolean equals(final java.lang.Object obj) {
8609  if (obj == this) {
8610  return true;
8611  }
8612  if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
8613  return super.equals(obj);
8614  }
8616 
8617  if (hasName() != other.hasName()) return false;
8618  if (hasName()) {
8619  if (!getName()
8620  .equals(other.getName())) return false;
8621  }
8622  if (hasPreferredVariableOrder() != other.hasPreferredVariableOrder()) return false;
8623  if (hasPreferredVariableOrder()) {
8624  if (preferredVariableOrder_ != other.preferredVariableOrder_) return false;
8625  }
8626  if (hasInitialPolarity() != other.hasInitialPolarity()) return false;
8627  if (hasInitialPolarity()) {
8628  if (initialPolarity_ != other.initialPolarity_) return false;
8629  }
8630  if (hasUsePhaseSaving() != other.hasUsePhaseSaving()) return false;
8631  if (hasUsePhaseSaving()) {
8632  if (getUsePhaseSaving()
8633  != other.getUsePhaseSaving()) return false;
8634  }
8635  if (hasPolarityRephaseIncrement() != other.hasPolarityRephaseIncrement()) return false;
8638  != other.getPolarityRephaseIncrement()) return false;
8639  }
8640  if (hasRandomPolarityRatio() != other.hasRandomPolarityRatio()) return false;
8641  if (hasRandomPolarityRatio()) {
8642  if (java.lang.Double.doubleToLongBits(getRandomPolarityRatio())
8643  != java.lang.Double.doubleToLongBits(
8644  other.getRandomPolarityRatio())) return false;
8645  }
8646  if (hasRandomBranchesRatio() != other.hasRandomBranchesRatio()) return false;
8647  if (hasRandomBranchesRatio()) {
8648  if (java.lang.Double.doubleToLongBits(getRandomBranchesRatio())
8649  != java.lang.Double.doubleToLongBits(
8650  other.getRandomBranchesRatio())) return false;
8651  }
8652  if (hasUseErwaHeuristic() != other.hasUseErwaHeuristic()) return false;
8653  if (hasUseErwaHeuristic()) {
8654  if (getUseErwaHeuristic()
8655  != other.getUseErwaHeuristic()) return false;
8656  }
8657  if (hasInitialVariablesActivity() != other.hasInitialVariablesActivity()) return false;
8659  if (java.lang.Double.doubleToLongBits(getInitialVariablesActivity())
8660  != java.lang.Double.doubleToLongBits(
8661  other.getInitialVariablesActivity())) return false;
8662  }
8663  if (hasAlsoBumpVariablesInConflictReasons() != other.hasAlsoBumpVariablesInConflictReasons()) return false;
8666  != other.getAlsoBumpVariablesInConflictReasons()) return false;
8667  }
8668  if (hasMinimizationAlgorithm() != other.hasMinimizationAlgorithm()) return false;
8669  if (hasMinimizationAlgorithm()) {
8670  if (minimizationAlgorithm_ != other.minimizationAlgorithm_) return false;
8671  }
8672  if (hasBinaryMinimizationAlgorithm() != other.hasBinaryMinimizationAlgorithm()) return false;
8674  if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_) return false;
8675  }
8676  if (hasSubsumptionDuringConflictAnalysis() != other.hasSubsumptionDuringConflictAnalysis()) return false;
8679  != other.getSubsumptionDuringConflictAnalysis()) return false;
8680  }
8681  if (hasClauseCleanupPeriod() != other.hasClauseCleanupPeriod()) return false;
8682  if (hasClauseCleanupPeriod()) {
8684  != other.getClauseCleanupPeriod()) return false;
8685  }
8686  if (hasClauseCleanupTarget() != other.hasClauseCleanupTarget()) return false;
8687  if (hasClauseCleanupTarget()) {
8689  != other.getClauseCleanupTarget()) return false;
8690  }
8691  if (hasClauseCleanupProtection() != other.hasClauseCleanupProtection()) return false;
8693  if (clauseCleanupProtection_ != other.clauseCleanupProtection_) return false;
8694  }
8695  if (hasClauseCleanupLbdBound() != other.hasClauseCleanupLbdBound()) return false;
8696  if (hasClauseCleanupLbdBound()) {
8698  != other.getClauseCleanupLbdBound()) return false;
8699  }
8700  if (hasClauseCleanupOrdering() != other.hasClauseCleanupOrdering()) return false;
8701  if (hasClauseCleanupOrdering()) {
8702  if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_) return false;
8703  }
8704  if (hasPbCleanupIncrement() != other.hasPbCleanupIncrement()) return false;
8705  if (hasPbCleanupIncrement()) {
8706  if (getPbCleanupIncrement()
8707  != other.getPbCleanupIncrement()) return false;
8708  }
8709  if (hasPbCleanupRatio() != other.hasPbCleanupRatio()) return false;
8710  if (hasPbCleanupRatio()) {
8711  if (java.lang.Double.doubleToLongBits(getPbCleanupRatio())
8712  != java.lang.Double.doubleToLongBits(
8713  other.getPbCleanupRatio())) return false;
8714  }
8715  if (hasMinimizeWithPropagationRestartPeriod() != other.hasMinimizeWithPropagationRestartPeriod()) return false;
8718  != other.getMinimizeWithPropagationRestartPeriod()) return false;
8719  }
8720  if (hasMinimizeWithPropagationNumDecisions() != other.hasMinimizeWithPropagationNumDecisions()) return false;
8723  != other.getMinimizeWithPropagationNumDecisions()) return false;
8724  }
8725  if (hasVariableActivityDecay() != other.hasVariableActivityDecay()) return false;
8726  if (hasVariableActivityDecay()) {
8727  if (java.lang.Double.doubleToLongBits(getVariableActivityDecay())
8728  != java.lang.Double.doubleToLongBits(
8729  other.getVariableActivityDecay())) return false;
8730  }
8731  if (hasMaxVariableActivityValue() != other.hasMaxVariableActivityValue()) return false;
8733  if (java.lang.Double.doubleToLongBits(getMaxVariableActivityValue())
8734  != java.lang.Double.doubleToLongBits(
8735  other.getMaxVariableActivityValue())) return false;
8736  }
8737  if (hasGlucoseMaxDecay() != other.hasGlucoseMaxDecay()) return false;
8738  if (hasGlucoseMaxDecay()) {
8739  if (java.lang.Double.doubleToLongBits(getGlucoseMaxDecay())
8740  != java.lang.Double.doubleToLongBits(
8741  other.getGlucoseMaxDecay())) return false;
8742  }
8743  if (hasGlucoseDecayIncrement() != other.hasGlucoseDecayIncrement()) return false;
8744  if (hasGlucoseDecayIncrement()) {
8745  if (java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement())
8746  != java.lang.Double.doubleToLongBits(
8747  other.getGlucoseDecayIncrement())) return false;
8748  }
8749  if (hasGlucoseDecayIncrementPeriod() != other.hasGlucoseDecayIncrementPeriod()) return false;
8752  != other.getGlucoseDecayIncrementPeriod()) return false;
8753  }
8754  if (hasClauseActivityDecay() != other.hasClauseActivityDecay()) return false;
8755  if (hasClauseActivityDecay()) {
8756  if (java.lang.Double.doubleToLongBits(getClauseActivityDecay())
8757  != java.lang.Double.doubleToLongBits(
8758  other.getClauseActivityDecay())) return false;
8759  }
8760  if (hasMaxClauseActivityValue() != other.hasMaxClauseActivityValue()) return false;
8761  if (hasMaxClauseActivityValue()) {
8762  if (java.lang.Double.doubleToLongBits(getMaxClauseActivityValue())
8763  != java.lang.Double.doubleToLongBits(
8764  other.getMaxClauseActivityValue())) return false;
8765  }
8766  if (!restartAlgorithms_.equals(other.restartAlgorithms_)) return false;
8767  if (hasDefaultRestartAlgorithms() != other.hasDefaultRestartAlgorithms()) return false;
8770  .equals(other.getDefaultRestartAlgorithms())) return false;
8771  }
8772  if (hasRestartPeriod() != other.hasRestartPeriod()) return false;
8773  if (hasRestartPeriod()) {
8774  if (getRestartPeriod()
8775  != other.getRestartPeriod()) return false;
8776  }
8777  if (hasRestartRunningWindowSize() != other.hasRestartRunningWindowSize()) return false;
8780  != other.getRestartRunningWindowSize()) return false;
8781  }
8782  if (hasRestartDlAverageRatio() != other.hasRestartDlAverageRatio()) return false;
8783  if (hasRestartDlAverageRatio()) {
8784  if (java.lang.Double.doubleToLongBits(getRestartDlAverageRatio())
8785  != java.lang.Double.doubleToLongBits(
8786  other.getRestartDlAverageRatio())) return false;
8787  }
8788  if (hasRestartLbdAverageRatio() != other.hasRestartLbdAverageRatio()) return false;
8789  if (hasRestartLbdAverageRatio()) {
8790  if (java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio())
8791  != java.lang.Double.doubleToLongBits(
8792  other.getRestartLbdAverageRatio())) return false;
8793  }
8794  if (hasUseBlockingRestart() != other.hasUseBlockingRestart()) return false;
8795  if (hasUseBlockingRestart()) {
8796  if (getUseBlockingRestart()
8797  != other.getUseBlockingRestart()) return false;
8798  }
8799  if (hasBlockingRestartWindowSize() != other.hasBlockingRestartWindowSize()) return false;
8802  != other.getBlockingRestartWindowSize()) return false;
8803  }
8804  if (hasBlockingRestartMultiplier() != other.hasBlockingRestartMultiplier()) return false;
8806  if (java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier())
8807  != java.lang.Double.doubleToLongBits(
8808  other.getBlockingRestartMultiplier())) return false;
8809  }
8810  if (hasNumConflictsBeforeStrategyChanges() != other.hasNumConflictsBeforeStrategyChanges()) return false;
8813  != other.getNumConflictsBeforeStrategyChanges()) return false;
8814  }
8815  if (hasStrategyChangeIncreaseRatio() != other.hasStrategyChangeIncreaseRatio()) return false;
8817  if (java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio())
8818  != java.lang.Double.doubleToLongBits(
8819  other.getStrategyChangeIncreaseRatio())) return false;
8820  }
8821  if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
8822  if (hasMaxTimeInSeconds()) {
8823  if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
8824  != java.lang.Double.doubleToLongBits(
8825  other.getMaxTimeInSeconds())) return false;
8826  }
8827  if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
8828  if (hasMaxDeterministicTime()) {
8829  if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
8830  != java.lang.Double.doubleToLongBits(
8831  other.getMaxDeterministicTime())) return false;
8832  }
8833  if (hasMaxNumberOfConflicts() != other.hasMaxNumberOfConflicts()) return false;
8834  if (hasMaxNumberOfConflicts()) {
8836  != other.getMaxNumberOfConflicts()) return false;
8837  }
8838  if (hasMaxMemoryInMb() != other.hasMaxMemoryInMb()) return false;
8839  if (hasMaxMemoryInMb()) {
8840  if (getMaxMemoryInMb()
8841  != other.getMaxMemoryInMb()) return false;
8842  }
8843  if (hasAbsoluteGapLimit() != other.hasAbsoluteGapLimit()) return false;
8844  if (hasAbsoluteGapLimit()) {
8845  if (java.lang.Double.doubleToLongBits(getAbsoluteGapLimit())
8846  != java.lang.Double.doubleToLongBits(
8847  other.getAbsoluteGapLimit())) return false;
8848  }
8849  if (hasRelativeGapLimit() != other.hasRelativeGapLimit()) return false;
8850  if (hasRelativeGapLimit()) {
8851  if (java.lang.Double.doubleToLongBits(getRelativeGapLimit())
8852  != java.lang.Double.doubleToLongBits(
8853  other.getRelativeGapLimit())) return false;
8854  }
8855  if (hasTreatBinaryClausesSeparately() != other.hasTreatBinaryClausesSeparately()) return false;
8858  != other.getTreatBinaryClausesSeparately()) return false;
8859  }
8860  if (hasRandomSeed() != other.hasRandomSeed()) return false;
8861  if (hasRandomSeed()) {
8862  if (getRandomSeed()
8863  != other.getRandomSeed()) return false;
8864  }
8865  if (hasPermuteVariableRandomly() != other.hasPermuteVariableRandomly()) return false;
8868  != other.getPermuteVariableRandomly()) return false;
8869  }
8870  if (hasPermutePresolveConstraintOrder() != other.hasPermutePresolveConstraintOrder()) return false;
8873  != other.getPermutePresolveConstraintOrder()) return false;
8874  }
8875  if (hasUseAbslRandom() != other.hasUseAbslRandom()) return false;
8876  if (hasUseAbslRandom()) {
8877  if (getUseAbslRandom()
8878  != other.getUseAbslRandom()) return false;
8879  }
8880  if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
8881  if (hasLogSearchProgress()) {
8882  if (getLogSearchProgress()
8883  != other.getLogSearchProgress()) return false;
8884  }
8885  if (hasUsePbResolution() != other.hasUsePbResolution()) return false;
8886  if (hasUsePbResolution()) {
8887  if (getUsePbResolution()
8888  != other.getUsePbResolution()) return false;
8889  }
8890  if (hasMinimizeReductionDuringPbResolution() != other.hasMinimizeReductionDuringPbResolution()) return false;
8893  != other.getMinimizeReductionDuringPbResolution()) return false;
8894  }
8895  if (hasCountAssumptionLevelsInLbd() != other.hasCountAssumptionLevelsInLbd()) return false;
8898  != other.getCountAssumptionLevelsInLbd()) return false;
8899  }
8900  if (hasPresolveBveThreshold() != other.hasPresolveBveThreshold()) return false;
8901  if (hasPresolveBveThreshold()) {
8903  != other.getPresolveBveThreshold()) return false;
8904  }
8905  if (hasPresolveBveClauseWeight() != other.hasPresolveBveClauseWeight()) return false;
8908  != other.getPresolveBveClauseWeight()) return false;
8909  }
8910  if (hasPresolveProbingDeterministicTimeLimit() != other.hasPresolveProbingDeterministicTimeLimit()) return false;
8912  if (java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit())
8913  != java.lang.Double.doubleToLongBits(
8914  other.getPresolveProbingDeterministicTimeLimit())) return false;
8915  }
8916  if (hasPresolveBlockedClause() != other.hasPresolveBlockedClause()) return false;
8917  if (hasPresolveBlockedClause()) {
8919  != other.getPresolveBlockedClause()) return false;
8920  }
8921  if (hasPresolveUseBva() != other.hasPresolveUseBva()) return false;
8922  if (hasPresolveUseBva()) {
8923  if (getPresolveUseBva()
8924  != other.getPresolveUseBva()) return false;
8925  }
8926  if (hasPresolveBvaThreshold() != other.hasPresolveBvaThreshold()) return false;
8927  if (hasPresolveBvaThreshold()) {
8929  != other.getPresolveBvaThreshold()) return false;
8930  }
8931  if (hasMaxPresolveIterations() != other.hasMaxPresolveIterations()) return false;
8932  if (hasMaxPresolveIterations()) {
8934  != other.getMaxPresolveIterations()) return false;
8935  }
8936  if (hasCpModelPresolve() != other.hasCpModelPresolve()) return false;
8937  if (hasCpModelPresolve()) {
8938  if (getCpModelPresolve()
8939  != other.getCpModelPresolve()) return false;
8940  }
8941  if (hasCpModelPostsolveWithFullSolver() != other.hasCpModelPostsolveWithFullSolver()) return false;
8944  != other.getCpModelPostsolveWithFullSolver()) return false;
8945  }
8946  if (hasCpModelMaxNumPresolveOperations() != other.hasCpModelMaxNumPresolveOperations()) return false;
8949  != other.getCpModelMaxNumPresolveOperations()) return false;
8950  }
8951  if (hasCpModelProbingLevel() != other.hasCpModelProbingLevel()) return false;
8952  if (hasCpModelProbingLevel()) {
8954  != other.getCpModelProbingLevel()) return false;
8955  }
8956  if (hasCpModelUseSatPresolve() != other.hasCpModelUseSatPresolve()) return false;
8957  if (hasCpModelUseSatPresolve()) {
8959  != other.getCpModelUseSatPresolve()) return false;
8960  }
8961  if (hasUseSatInprocessing() != other.hasUseSatInprocessing()) return false;
8962  if (hasUseSatInprocessing()) {
8963  if (getUseSatInprocessing()
8964  != other.getUseSatInprocessing()) return false;
8965  }
8966  if (hasExpandElementConstraints() != other.hasExpandElementConstraints()) return false;
8969  != other.getExpandElementConstraints()) return false;
8970  }
8971  if (hasExpandAutomatonConstraints() != other.hasExpandAutomatonConstraints()) return false;
8974  != other.getExpandAutomatonConstraints()) return false;
8975  }
8976  if (hasExpandTableConstraints() != other.hasExpandTableConstraints()) return false;
8977  if (hasExpandTableConstraints()) {
8979  != other.getExpandTableConstraints()) return false;
8980  }
8981  if (hasExpandAlldiffConstraints() != other.hasExpandAlldiffConstraints()) return false;
8984  != other.getExpandAlldiffConstraints()) return false;
8985  }
8986  if (hasExpandReservoirConstraints() != other.hasExpandReservoirConstraints()) return false;
8989  != other.getExpandReservoirConstraints()) return false;
8990  }
8991  if (hasDisableConstraintExpansion() != other.hasDisableConstraintExpansion()) return false;
8994  != other.getDisableConstraintExpansion()) return false;
8995  }
8996  if (hasMergeNoOverlapWorkLimit() != other.hasMergeNoOverlapWorkLimit()) return false;
8998  if (java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit())
8999  != java.lang.Double.doubleToLongBits(
9000  other.getMergeNoOverlapWorkLimit())) return false;
9001  }
9002  if (hasMergeAtMostOneWorkLimit() != other.hasMergeAtMostOneWorkLimit()) return false;
9004  if (java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit())
9005  != java.lang.Double.doubleToLongBits(
9006  other.getMergeAtMostOneWorkLimit())) return false;
9007  }
9008  if (hasPresolveSubstitutionLevel() != other.hasPresolveSubstitutionLevel()) return false;
9011  != other.getPresolveSubstitutionLevel()) return false;
9012  }
9013  if (hasPresolveExtractIntegerEnforcement() != other.hasPresolveExtractIntegerEnforcement()) return false;
9016  != other.getPresolveExtractIntegerEnforcement()) return false;
9017  }
9018  if (hasUseOptimizationHints() != other.hasUseOptimizationHints()) return false;
9019  if (hasUseOptimizationHints()) {
9021  != other.getUseOptimizationHints()) return false;
9022  }
9023  if (hasMinimizeCore() != other.hasMinimizeCore()) return false;
9024  if (hasMinimizeCore()) {
9025  if (getMinimizeCore()
9026  != other.getMinimizeCore()) return false;
9027  }
9028  if (hasFindMultipleCores() != other.hasFindMultipleCores()) return false;
9029  if (hasFindMultipleCores()) {
9030  if (getFindMultipleCores()
9031  != other.getFindMultipleCores()) return false;
9032  }
9033  if (hasCoverOptimization() != other.hasCoverOptimization()) return false;
9034  if (hasCoverOptimization()) {
9035  if (getCoverOptimization()
9036  != other.getCoverOptimization()) return false;
9037  }
9038  if (hasMaxSatAssumptionOrder() != other.hasMaxSatAssumptionOrder()) return false;
9039  if (hasMaxSatAssumptionOrder()) {
9040  if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_) return false;
9041  }
9042  if (hasMaxSatReverseAssumptionOrder() != other.hasMaxSatReverseAssumptionOrder()) return false;
9045  != other.getMaxSatReverseAssumptionOrder()) return false;
9046  }
9047  if (hasMaxSatStratification() != other.hasMaxSatStratification()) return false;
9048  if (hasMaxSatStratification()) {
9049  if (maxSatStratification_ != other.maxSatStratification_) return false;
9050  }
9051  if (hasUsePrecedencesInDisjunctiveConstraint() != other.hasUsePrecedencesInDisjunctiveConstraint()) return false;
9054  != other.getUsePrecedencesInDisjunctiveConstraint()) return false;
9055  }
9056  if (hasUseOverloadCheckerInCumulativeConstraint() != other.hasUseOverloadCheckerInCumulativeConstraint()) return false;
9059  != other.getUseOverloadCheckerInCumulativeConstraint()) return false;
9060  }
9061  if (hasUseTimetableEdgeFindingInCumulativeConstraint() != other.hasUseTimetableEdgeFindingInCumulativeConstraint()) return false;
9064  != other.getUseTimetableEdgeFindingInCumulativeConstraint()) return false;
9065  }
9066  if (hasUseDisjunctiveConstraintInCumulativeConstraint() != other.hasUseDisjunctiveConstraintInCumulativeConstraint()) return false;
9069  != other.getUseDisjunctiveConstraintInCumulativeConstraint()) return false;
9070  }
9071  if (hasLinearizationLevel() != other.hasLinearizationLevel()) return false;
9072  if (hasLinearizationLevel()) {
9073  if (getLinearizationLevel()
9074  != other.getLinearizationLevel()) return false;
9075  }
9076  if (hasBooleanEncodingLevel() != other.hasBooleanEncodingLevel()) return false;
9077  if (hasBooleanEncodingLevel()) {
9079  != other.getBooleanEncodingLevel()) return false;
9080  }
9081  if (hasMaxNumCuts() != other.hasMaxNumCuts()) return false;
9082  if (hasMaxNumCuts()) {
9083  if (getMaxNumCuts()
9084  != other.getMaxNumCuts()) return false;
9085  }
9086  if (hasOnlyAddCutsAtLevelZero() != other.hasOnlyAddCutsAtLevelZero()) return false;
9087  if (hasOnlyAddCutsAtLevelZero()) {
9089  != other.getOnlyAddCutsAtLevelZero()) return false;
9090  }
9091  if (hasAddKnapsackCuts() != other.hasAddKnapsackCuts()) return false;
9092  if (hasAddKnapsackCuts()) {
9093  if (getAddKnapsackCuts()
9094  != other.getAddKnapsackCuts()) return false;
9095  }
9096  if (hasAddCgCuts() != other.hasAddCgCuts()) return false;
9097  if (hasAddCgCuts()) {
9098  if (getAddCgCuts()
9099  != other.getAddCgCuts()) return false;
9100  }
9101  if (hasAddMirCuts() != other.hasAddMirCuts()) return false;
9102  if (hasAddMirCuts()) {
9103  if (getAddMirCuts()
9104  != other.getAddMirCuts()) return false;
9105  }
9106  if (hasAddZeroHalfCuts() != other.hasAddZeroHalfCuts()) return false;
9107  if (hasAddZeroHalfCuts()) {
9108  if (getAddZeroHalfCuts()
9109  != other.getAddZeroHalfCuts()) return false;
9110  }
9111  if (hasAddCliqueCuts() != other.hasAddCliqueCuts()) return false;
9112  if (hasAddCliqueCuts()) {
9113  if (getAddCliqueCuts()
9114  != other.getAddCliqueCuts()) return false;
9115  }
9116  if (hasMaxAllDiffCutSize() != other.hasMaxAllDiffCutSize()) return false;
9117  if (hasMaxAllDiffCutSize()) {
9118  if (getMaxAllDiffCutSize()
9119  != other.getMaxAllDiffCutSize()) return false;
9120  }
9121  if (hasAddLinMaxCuts() != other.hasAddLinMaxCuts()) return false;
9122  if (hasAddLinMaxCuts()) {
9123  if (getAddLinMaxCuts()
9124  != other.getAddLinMaxCuts()) return false;
9125  }
9126  if (hasMaxIntegerRoundingScaling() != other.hasMaxIntegerRoundingScaling()) return false;
9129  != other.getMaxIntegerRoundingScaling()) return false;
9130  }
9131  if (hasAddLpConstraintsLazily() != other.hasAddLpConstraintsLazily()) return false;
9132  if (hasAddLpConstraintsLazily()) {
9134  != other.getAddLpConstraintsLazily()) return false;
9135  }
9136  if (hasMinOrthogonalityForLpConstraints() != other.hasMinOrthogonalityForLpConstraints()) return false;
9138  if (java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints())
9139  != java.lang.Double.doubleToLongBits(
9140  other.getMinOrthogonalityForLpConstraints())) return false;
9141  }
9142  if (hasMaxCutRoundsAtLevelZero() != other.hasMaxCutRoundsAtLevelZero()) return false;
9145  != other.getMaxCutRoundsAtLevelZero()) return false;
9146  }
9147  if (hasMaxConsecutiveInactiveCount() != other.hasMaxConsecutiveInactiveCount()) return false;
9150  != other.getMaxConsecutiveInactiveCount()) return false;
9151  }
9152  if (hasCutMaxActiveCountValue() != other.hasCutMaxActiveCountValue()) return false;
9153  if (hasCutMaxActiveCountValue()) {
9154  if (java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue())
9155  != java.lang.Double.doubleToLongBits(
9156  other.getCutMaxActiveCountValue())) return false;
9157  }
9158  if (hasCutActiveCountDecay() != other.hasCutActiveCountDecay()) return false;
9159  if (hasCutActiveCountDecay()) {
9160  if (java.lang.Double.doubleToLongBits(getCutActiveCountDecay())
9161  != java.lang.Double.doubleToLongBits(
9162  other.getCutActiveCountDecay())) return false;
9163  }
9164  if (hasCutCleanupTarget() != other.hasCutCleanupTarget()) return false;
9165  if (hasCutCleanupTarget()) {
9166  if (getCutCleanupTarget()
9167  != other.getCutCleanupTarget()) return false;
9168  }
9169  if (hasNewConstraintsBatchSize() != other.hasNewConstraintsBatchSize()) return false;
9172  != other.getNewConstraintsBatchSize()) return false;
9173  }
9174  if (hasSearchBranching() != other.hasSearchBranching()) return false;
9175  if (hasSearchBranching()) {
9176  if (searchBranching_ != other.searchBranching_) return false;
9177  }
9178  if (hasHintConflictLimit() != other.hasHintConflictLimit()) return false;
9179  if (hasHintConflictLimit()) {
9180  if (getHintConflictLimit()
9181  != other.getHintConflictLimit()) return false;
9182  }
9183  if (hasRepairHint() != other.hasRepairHint()) return false;
9184  if (hasRepairHint()) {
9185  if (getRepairHint()
9186  != other.getRepairHint()) return false;
9187  }
9188  if (hasExploitIntegerLpSolution() != other.hasExploitIntegerLpSolution()) return false;
9191  != other.getExploitIntegerLpSolution()) return false;
9192  }
9193  if (hasExploitAllLpSolution() != other.hasExploitAllLpSolution()) return false;
9194  if (hasExploitAllLpSolution()) {
9196  != other.getExploitAllLpSolution()) return false;
9197  }
9198  if (hasExploitBestSolution() != other.hasExploitBestSolution()) return false;
9199  if (hasExploitBestSolution()) {
9201  != other.getExploitBestSolution()) return false;
9202  }
9203  if (hasExploitRelaxationSolution() != other.hasExploitRelaxationSolution()) return false;
9206  != other.getExploitRelaxationSolution()) return false;
9207  }
9208  if (hasExploitObjective() != other.hasExploitObjective()) return false;
9209  if (hasExploitObjective()) {
9210  if (getExploitObjective()
9211  != other.getExploitObjective()) return false;
9212  }
9213  if (hasProbingPeriodAtRoot() != other.hasProbingPeriodAtRoot()) return false;
9214  if (hasProbingPeriodAtRoot()) {
9216  != other.getProbingPeriodAtRoot()) return false;
9217  }
9218  if (hasUseProbingSearch() != other.hasUseProbingSearch()) return false;
9219  if (hasUseProbingSearch()) {
9220  if (getUseProbingSearch()
9221  != other.getUseProbingSearch()) return false;
9222  }
9223  if (hasPseudoCostReliabilityThreshold() != other.hasPseudoCostReliabilityThreshold()) return false;
9226  != other.getPseudoCostReliabilityThreshold()) return false;
9227  }
9228  if (hasOptimizeWithCore() != other.hasOptimizeWithCore()) return false;
9229  if (hasOptimizeWithCore()) {
9230  if (getOptimizeWithCore()
9231  != other.getOptimizeWithCore()) return false;
9232  }
9233  if (hasBinarySearchNumConflicts() != other.hasBinarySearchNumConflicts()) return false;
9236  != other.getBinarySearchNumConflicts()) return false;
9237  }
9238  if (hasOptimizeWithMaxHs() != other.hasOptimizeWithMaxHs()) return false;
9239  if (hasOptimizeWithMaxHs()) {
9240  if (getOptimizeWithMaxHs()
9241  != other.getOptimizeWithMaxHs()) return false;
9242  }
9243  if (hasEnumerateAllSolutions() != other.hasEnumerateAllSolutions()) return false;
9244  if (hasEnumerateAllSolutions()) {
9246  != other.getEnumerateAllSolutions()) return false;
9247  }
9248  if (hasKeepAllFeasibleSolutionsInPresolve() != other.hasKeepAllFeasibleSolutionsInPresolve()) return false;
9251  != other.getKeepAllFeasibleSolutionsInPresolve()) return false;
9252  }
9253  if (hasFillTightenedDomainsInResponse() != other.hasFillTightenedDomainsInResponse()) return false;
9256  != other.getFillTightenedDomainsInResponse()) return false;
9257  }
9258  if (hasInstantiateAllVariables() != other.hasInstantiateAllVariables()) return false;
9261  != other.getInstantiateAllVariables()) return false;
9262  }
9263  if (hasAutoDetectGreaterThanAtLeastOneOf() != other.hasAutoDetectGreaterThanAtLeastOneOf()) return false;
9266  != other.getAutoDetectGreaterThanAtLeastOneOf()) return false;
9267  }
9268  if (hasStopAfterFirstSolution() != other.hasStopAfterFirstSolution()) return false;
9269  if (hasStopAfterFirstSolution()) {
9271  != other.getStopAfterFirstSolution()) return false;
9272  }
9273  if (hasStopAfterPresolve() != other.hasStopAfterPresolve()) return false;
9274  if (hasStopAfterPresolve()) {
9275  if (getStopAfterPresolve()
9276  != other.getStopAfterPresolve()) return false;
9277  }
9278  if (hasNumSearchWorkers() != other.hasNumSearchWorkers()) return false;
9279  if (hasNumSearchWorkers()) {
9280  if (getNumSearchWorkers()
9281  != other.getNumSearchWorkers()) return false;
9282  }
9283  if (hasInterleaveSearch() != other.hasInterleaveSearch()) return false;
9284  if (hasInterleaveSearch()) {
9285  if (getInterleaveSearch()
9286  != other.getInterleaveSearch()) return false;
9287  }
9288  if (hasInterleaveBatchSize() != other.hasInterleaveBatchSize()) return false;
9289  if (hasInterleaveBatchSize()) {
9291  != other.getInterleaveBatchSize()) return false;
9292  }
9293  if (hasReduceMemoryUsageInInterleaveMode() != other.hasReduceMemoryUsageInInterleaveMode()) return false;
9296  != other.getReduceMemoryUsageInInterleaveMode()) return false;
9297  }
9298  if (hasShareObjectiveBounds() != other.hasShareObjectiveBounds()) return false;
9299  if (hasShareObjectiveBounds()) {
9301  != other.getShareObjectiveBounds()) return false;
9302  }
9303  if (hasShareLevelZeroBounds() != other.hasShareLevelZeroBounds()) return false;
9304  if (hasShareLevelZeroBounds()) {
9306  != other.getShareLevelZeroBounds()) return false;
9307  }
9308  if (hasUseLnsOnly() != other.hasUseLnsOnly()) return false;
9309  if (hasUseLnsOnly()) {
9310  if (getUseLnsOnly()
9311  != other.getUseLnsOnly()) return false;
9312  }
9313  if (hasLnsFocusOnDecisionVariables() != other.hasLnsFocusOnDecisionVariables()) return false;
9316  != other.getLnsFocusOnDecisionVariables()) return false;
9317  }
9318  if (hasUseRinsLns() != other.hasUseRinsLns()) return false;
9319  if (hasUseRinsLns()) {
9320  if (getUseRinsLns()
9321  != other.getUseRinsLns()) return false;
9322  }
9323  if (hasUseFeasibilityPump() != other.hasUseFeasibilityPump()) return false;
9324  if (hasUseFeasibilityPump()) {
9325  if (getUseFeasibilityPump()
9326  != other.getUseFeasibilityPump()) return false;
9327  }
9328  if (hasFpRounding() != other.hasFpRounding()) return false;
9329  if (hasFpRounding()) {
9330  if (fpRounding_ != other.fpRounding_) return false;
9331  }
9332  if (hasUseRelaxationLns() != other.hasUseRelaxationLns()) return false;
9333  if (hasUseRelaxationLns()) {
9334  if (getUseRelaxationLns()
9335  != other.getUseRelaxationLns()) return false;
9336  }
9337  if (hasDiversifyLnsParams() != other.hasDiversifyLnsParams()) return false;
9338  if (hasDiversifyLnsParams()) {
9339  if (getDiversifyLnsParams()
9340  != other.getDiversifyLnsParams()) return false;
9341  }
9342  if (hasRandomizeSearch() != other.hasRandomizeSearch()) return false;
9343  if (hasRandomizeSearch()) {
9344  if (getRandomizeSearch()
9345  != other.getRandomizeSearch()) return false;
9346  }
9347  if (hasSearchRandomizationTolerance() != other.hasSearchRandomizationTolerance()) return false;
9350  != other.getSearchRandomizationTolerance()) return false;
9351  }
9352  if (hasUseOptionalVariables() != other.hasUseOptionalVariables()) return false;
9353  if (hasUseOptionalVariables()) {
9355  != other.getUseOptionalVariables()) return false;
9356  }
9357  if (hasUseExactLpReason() != other.hasUseExactLpReason()) return false;
9358  if (hasUseExactLpReason()) {
9359  if (getUseExactLpReason()
9360  != other.getUseExactLpReason()) return false;
9361  }
9362  if (hasUseBranchingInLp() != other.hasUseBranchingInLp()) return false;
9363  if (hasUseBranchingInLp()) {
9364  if (getUseBranchingInLp()
9365  != other.getUseBranchingInLp()) return false;
9366  }
9367  if (hasUseCombinedNoOverlap() != other.hasUseCombinedNoOverlap()) return false;
9368  if (hasUseCombinedNoOverlap()) {
9370  != other.getUseCombinedNoOverlap()) return false;
9371  }
9372  if (hasCatchSigintSignal() != other.hasCatchSigintSignal()) return false;
9373  if (hasCatchSigintSignal()) {
9374  if (getCatchSigintSignal()
9375  != other.getCatchSigintSignal()) return false;
9376  }
9377  if (hasUseImpliedBounds() != other.hasUseImpliedBounds()) return false;
9378  if (hasUseImpliedBounds()) {
9379  if (getUseImpliedBounds()
9380  != other.getUseImpliedBounds()) return false;
9381  }
9382  if (hasPolishLpSolution() != other.hasPolishLpSolution()) return false;
9383  if (hasPolishLpSolution()) {
9384  if (getPolishLpSolution()
9385  != other.getPolishLpSolution()) return false;
9386  }
9387  if (hasConvertIntervals() != other.hasConvertIntervals()) return false;
9388  if (hasConvertIntervals()) {
9389  if (getConvertIntervals()
9390  != other.getConvertIntervals()) return false;
9391  }
9392  if (hasMipMaxBound() != other.hasMipMaxBound()) return false;
9393  if (hasMipMaxBound()) {
9394  if (java.lang.Double.doubleToLongBits(getMipMaxBound())
9395  != java.lang.Double.doubleToLongBits(
9396  other.getMipMaxBound())) return false;
9397  }
9398  if (hasMipVarScaling() != other.hasMipVarScaling()) return false;
9399  if (hasMipVarScaling()) {
9400  if (java.lang.Double.doubleToLongBits(getMipVarScaling())
9401  != java.lang.Double.doubleToLongBits(
9402  other.getMipVarScaling())) return false;
9403  }
9404  if (hasMipAutomaticallyScaleVariables() != other.hasMipAutomaticallyScaleVariables()) return false;
9407  != other.getMipAutomaticallyScaleVariables()) return false;
9408  }
9409  if (hasMipWantedPrecision() != other.hasMipWantedPrecision()) return false;
9410  if (hasMipWantedPrecision()) {
9411  if (java.lang.Double.doubleToLongBits(getMipWantedPrecision())
9412  != java.lang.Double.doubleToLongBits(
9413  other.getMipWantedPrecision())) return false;
9414  }
9415  if (hasMipMaxActivityExponent() != other.hasMipMaxActivityExponent()) return false;
9416  if (hasMipMaxActivityExponent()) {
9418  != other.getMipMaxActivityExponent()) return false;
9419  }
9420  if (hasMipCheckPrecision() != other.hasMipCheckPrecision()) return false;
9421  if (hasMipCheckPrecision()) {
9422  if (java.lang.Double.doubleToLongBits(getMipCheckPrecision())
9423  != java.lang.Double.doubleToLongBits(
9424  other.getMipCheckPrecision())) return false;
9425  }
9426  if (!unknownFields.equals(other.unknownFields)) return false;
9427  return true;
9428  }
9429 
9430  @java.lang.Override
9431  public int hashCode() {
9432  if (memoizedHashCode != 0) {
9433  return memoizedHashCode;
9434  }
9435  int hash = 41;
9436  hash = (19 * hash) + getDescriptor().hashCode();
9437  if (hasName()) {
9438  hash = (37 * hash) + NAME_FIELD_NUMBER;
9439  hash = (53 * hash) + getName().hashCode();
9440  }
9441  if (hasPreferredVariableOrder()) {
9442  hash = (37 * hash) + PREFERRED_VARIABLE_ORDER_FIELD_NUMBER;
9443  hash = (53 * hash) + preferredVariableOrder_;
9444  }
9445  if (hasInitialPolarity()) {
9446  hash = (37 * hash) + INITIAL_POLARITY_FIELD_NUMBER;
9447  hash = (53 * hash) + initialPolarity_;
9448  }
9449  if (hasUsePhaseSaving()) {
9450  hash = (37 * hash) + USE_PHASE_SAVING_FIELD_NUMBER;
9451  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9452  getUsePhaseSaving());
9453  }
9455  hash = (37 * hash) + POLARITY_REPHASE_INCREMENT_FIELD_NUMBER;
9456  hash = (53 * hash) + getPolarityRephaseIncrement();
9457  }
9458  if (hasRandomPolarityRatio()) {
9459  hash = (37 * hash) + RANDOM_POLARITY_RATIO_FIELD_NUMBER;
9460  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9461  java.lang.Double.doubleToLongBits(getRandomPolarityRatio()));
9462  }
9463  if (hasRandomBranchesRatio()) {
9464  hash = (37 * hash) + RANDOM_BRANCHES_RATIO_FIELD_NUMBER;
9465  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9466  java.lang.Double.doubleToLongBits(getRandomBranchesRatio()));
9467  }
9468  if (hasUseErwaHeuristic()) {
9469  hash = (37 * hash) + USE_ERWA_HEURISTIC_FIELD_NUMBER;
9470  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9472  }
9474  hash = (37 * hash) + INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER;
9475  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9476  java.lang.Double.doubleToLongBits(getInitialVariablesActivity()));
9477  }
9480  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9482  }
9483  if (hasMinimizationAlgorithm()) {
9484  hash = (37 * hash) + MINIMIZATION_ALGORITHM_FIELD_NUMBER;
9485  hash = (53 * hash) + minimizationAlgorithm_;
9486  }
9488  hash = (37 * hash) + BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER;
9489  hash = (53 * hash) + binaryMinimizationAlgorithm_;
9490  }
9493  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9495  }
9496  if (hasClauseCleanupPeriod()) {
9497  hash = (37 * hash) + CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER;
9498  hash = (53 * hash) + getClauseCleanupPeriod();
9499  }
9500  if (hasClauseCleanupTarget()) {
9501  hash = (37 * hash) + CLAUSE_CLEANUP_TARGET_FIELD_NUMBER;
9502  hash = (53 * hash) + getClauseCleanupTarget();
9503  }
9505  hash = (37 * hash) + CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER;
9506  hash = (53 * hash) + clauseCleanupProtection_;
9507  }
9508  if (hasClauseCleanupLbdBound()) {
9509  hash = (37 * hash) + CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER;
9510  hash = (53 * hash) + getClauseCleanupLbdBound();
9511  }
9512  if (hasClauseCleanupOrdering()) {
9513  hash = (37 * hash) + CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER;
9514  hash = (53 * hash) + clauseCleanupOrdering_;
9515  }
9516  if (hasPbCleanupIncrement()) {
9517  hash = (37 * hash) + PB_CLEANUP_INCREMENT_FIELD_NUMBER;
9518  hash = (53 * hash) + getPbCleanupIncrement();
9519  }
9520  if (hasPbCleanupRatio()) {
9521  hash = (37 * hash) + PB_CLEANUP_RATIO_FIELD_NUMBER;
9522  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9523  java.lang.Double.doubleToLongBits(getPbCleanupRatio()));
9524  }
9527  hash = (53 * hash) + getMinimizeWithPropagationRestartPeriod();
9528  }
9531  hash = (53 * hash) + getMinimizeWithPropagationNumDecisions();
9532  }
9533  if (hasVariableActivityDecay()) {
9534  hash = (37 * hash) + VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER;
9535  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9536  java.lang.Double.doubleToLongBits(getVariableActivityDecay()));
9537  }
9539  hash = (37 * hash) + MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER;
9540  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9541  java.lang.Double.doubleToLongBits(getMaxVariableActivityValue()));
9542  }
9543  if (hasGlucoseMaxDecay()) {
9544  hash = (37 * hash) + GLUCOSE_MAX_DECAY_FIELD_NUMBER;
9545  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9546  java.lang.Double.doubleToLongBits(getGlucoseMaxDecay()));
9547  }
9548  if (hasGlucoseDecayIncrement()) {
9549  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER;
9550  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9551  java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement()));
9552  }
9554  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER;
9555  hash = (53 * hash) + getGlucoseDecayIncrementPeriod();
9556  }
9557  if (hasClauseActivityDecay()) {
9558  hash = (37 * hash) + CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER;
9559  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9560  java.lang.Double.doubleToLongBits(getClauseActivityDecay()));
9561  }
9562  if (hasMaxClauseActivityValue()) {
9563  hash = (37 * hash) + MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER;
9564  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9565  java.lang.Double.doubleToLongBits(getMaxClauseActivityValue()));
9566  }
9567  if (getRestartAlgorithmsCount() > 0) {
9568  hash = (37 * hash) + RESTART_ALGORITHMS_FIELD_NUMBER;
9569  hash = (53 * hash) + restartAlgorithms_.hashCode();
9570  }
9572  hash = (37 * hash) + DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER;
9573  hash = (53 * hash) + getDefaultRestartAlgorithms().hashCode();
9574  }
9575  if (hasRestartPeriod()) {
9576  hash = (37 * hash) + RESTART_PERIOD_FIELD_NUMBER;
9577  hash = (53 * hash) + getRestartPeriod();
9578  }
9580  hash = (37 * hash) + RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER;
9581  hash = (53 * hash) + getRestartRunningWindowSize();
9582  }
9583  if (hasRestartDlAverageRatio()) {
9584  hash = (37 * hash) + RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER;
9585  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9586  java.lang.Double.doubleToLongBits(getRestartDlAverageRatio()));
9587  }
9588  if (hasRestartLbdAverageRatio()) {
9589  hash = (37 * hash) + RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER;
9590  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9591  java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio()));
9592  }
9593  if (hasUseBlockingRestart()) {
9594  hash = (37 * hash) + USE_BLOCKING_RESTART_FIELD_NUMBER;
9595  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9597  }
9599  hash = (37 * hash) + BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER;
9600  hash = (53 * hash) + getBlockingRestartWindowSize();
9601  }
9603  hash = (37 * hash) + BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER;
9604  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9605  java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier()));
9606  }
9609  hash = (53 * hash) + getNumConflictsBeforeStrategyChanges();
9610  }
9612  hash = (37 * hash) + STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER;
9613  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9614  java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio()));
9615  }
9616  if (hasMaxTimeInSeconds()) {
9617  hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
9618  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9619  java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
9620  }
9621  if (hasMaxDeterministicTime()) {
9622  hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
9623  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9624  java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
9625  }
9626  if (hasMaxNumberOfConflicts()) {
9627  hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER;
9628  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9630  }
9631  if (hasMaxMemoryInMb()) {
9632  hash = (37 * hash) + MAX_MEMORY_IN_MB_FIELD_NUMBER;
9633  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9634  getMaxMemoryInMb());
9635  }
9636  if (hasAbsoluteGapLimit()) {
9637  hash = (37 * hash) + ABSOLUTE_GAP_LIMIT_FIELD_NUMBER;
9638  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9639  java.lang.Double.doubleToLongBits(getAbsoluteGapLimit()));
9640  }
9641  if (hasRelativeGapLimit()) {
9642  hash = (37 * hash) + RELATIVE_GAP_LIMIT_FIELD_NUMBER;
9643  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9644  java.lang.Double.doubleToLongBits(getRelativeGapLimit()));
9645  }
9647  hash = (37 * hash) + TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER;
9648  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9650  }
9651  if (hasRandomSeed()) {
9652  hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
9653  hash = (53 * hash) + getRandomSeed();
9654  }
9656  hash = (37 * hash) + PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER;
9657  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9659  }
9662  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9664  }
9665  if (hasUseAbslRandom()) {
9666  hash = (37 * hash) + USE_ABSL_RANDOM_FIELD_NUMBER;
9667  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9668  getUseAbslRandom());
9669  }
9670  if (hasLogSearchProgress()) {
9671  hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
9672  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9674  }
9675  if (hasUsePbResolution()) {
9676  hash = (37 * hash) + USE_PB_RESOLUTION_FIELD_NUMBER;
9677  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9678  getUsePbResolution());
9679  }
9682  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9684  }
9686  hash = (37 * hash) + COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER;
9687  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9689  }
9690  if (hasPresolveBveThreshold()) {
9691  hash = (37 * hash) + PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER;
9692  hash = (53 * hash) + getPresolveBveThreshold();
9693  }
9695  hash = (37 * hash) + PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER;
9696  hash = (53 * hash) + getPresolveBveClauseWeight();
9697  }
9700  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9701  java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit()));
9702  }
9703  if (hasPresolveBlockedClause()) {
9704  hash = (37 * hash) + PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER;
9705  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9707  }
9708  if (hasPresolveUseBva()) {
9709  hash = (37 * hash) + PRESOLVE_USE_BVA_FIELD_NUMBER;
9710  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9711  getPresolveUseBva());
9712  }
9713  if (hasPresolveBvaThreshold()) {
9714  hash = (37 * hash) + PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER;
9715  hash = (53 * hash) + getPresolveBvaThreshold();
9716  }
9717  if (hasMaxPresolveIterations()) {
9718  hash = (37 * hash) + MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER;
9719  hash = (53 * hash) + getMaxPresolveIterations();
9720  }
9721  if (hasCpModelPresolve()) {
9722  hash = (37 * hash) + CP_MODEL_PRESOLVE_FIELD_NUMBER;
9723  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9724  getCpModelPresolve());
9725  }
9728  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9730  }
9733  hash = (53 * hash) + getCpModelMaxNumPresolveOperations();
9734  }
9735  if (hasCpModelProbingLevel()) {
9736  hash = (37 * hash) + CP_MODEL_PROBING_LEVEL_FIELD_NUMBER;
9737  hash = (53 * hash) + getCpModelProbingLevel();
9738  }
9739  if (hasCpModelUseSatPresolve()) {
9740  hash = (37 * hash) + CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER;
9741  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9743  }
9744  if (hasUseSatInprocessing()) {
9745  hash = (37 * hash) + USE_SAT_INPROCESSING_FIELD_NUMBER;
9746  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9748  }
9750  hash = (37 * hash) + EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER;
9751  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9753  }
9755  hash = (37 * hash) + EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER;
9756  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9758  }
9759  if (hasExpandTableConstraints()) {
9760  hash = (37 * hash) + EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER;
9761  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9763  }
9765  hash = (37 * hash) + EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER;
9766  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9768  }
9770  hash = (37 * hash) + EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER;
9771  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9773  }
9775  hash = (37 * hash) + DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER;
9776  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9778  }
9780  hash = (37 * hash) + MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER;
9781  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9782  java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit()));
9783  }
9785  hash = (37 * hash) + MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER;
9786  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9787  java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit()));
9788  }
9790  hash = (37 * hash) + PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER;
9791  hash = (53 * hash) + getPresolveSubstitutionLevel();
9792  }
9795  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9797  }
9798  if (hasUseOptimizationHints()) {
9799  hash = (37 * hash) + USE_OPTIMIZATION_HINTS_FIELD_NUMBER;
9800  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9802  }
9803  if (hasMinimizeCore()) {
9804  hash = (37 * hash) + MINIMIZE_CORE_FIELD_NUMBER;
9805  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9806  getMinimizeCore());
9807  }
9808  if (hasFindMultipleCores()) {
9809  hash = (37 * hash) + FIND_MULTIPLE_CORES_FIELD_NUMBER;
9810  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9812  }
9813  if (hasCoverOptimization()) {
9814  hash = (37 * hash) + COVER_OPTIMIZATION_FIELD_NUMBER;
9815  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9817  }
9818  if (hasMaxSatAssumptionOrder()) {
9819  hash = (37 * hash) + MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER;
9820  hash = (53 * hash) + maxSatAssumptionOrder_;
9821  }
9823  hash = (37 * hash) + MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER;
9824  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9826  }
9827  if (hasMaxSatStratification()) {
9828  hash = (37 * hash) + MAX_SAT_STRATIFICATION_FIELD_NUMBER;
9829  hash = (53 * hash) + maxSatStratification_;
9830  }
9833  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9835  }
9838  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9840  }
9843  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9845  }
9848  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9850  }
9851  if (hasLinearizationLevel()) {
9852  hash = (37 * hash) + LINEARIZATION_LEVEL_FIELD_NUMBER;
9853  hash = (53 * hash) + getLinearizationLevel();
9854  }
9855  if (hasBooleanEncodingLevel()) {
9856  hash = (37 * hash) + BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER;
9857  hash = (53 * hash) + getBooleanEncodingLevel();
9858  }
9859  if (hasMaxNumCuts()) {
9860  hash = (37 * hash) + MAX_NUM_CUTS_FIELD_NUMBER;
9861  hash = (53 * hash) + getMaxNumCuts();
9862  }
9863  if (hasOnlyAddCutsAtLevelZero()) {
9864  hash = (37 * hash) + ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER;
9865  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9867  }
9868  if (hasAddKnapsackCuts()) {
9869  hash = (37 * hash) + ADD_KNAPSACK_CUTS_FIELD_NUMBER;
9870  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9871  getAddKnapsackCuts());
9872  }
9873  if (hasAddCgCuts()) {
9874  hash = (37 * hash) + ADD_CG_CUTS_FIELD_NUMBER;
9875  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9876  getAddCgCuts());
9877  }
9878  if (hasAddMirCuts()) {
9879  hash = (37 * hash) + ADD_MIR_CUTS_FIELD_NUMBER;
9880  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9881  getAddMirCuts());
9882  }
9883  if (hasAddZeroHalfCuts()) {
9884  hash = (37 * hash) + ADD_ZERO_HALF_CUTS_FIELD_NUMBER;
9885  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9886  getAddZeroHalfCuts());
9887  }
9888  if (hasAddCliqueCuts()) {
9889  hash = (37 * hash) + ADD_CLIQUE_CUTS_FIELD_NUMBER;
9890  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9891  getAddCliqueCuts());
9892  }
9893  if (hasMaxAllDiffCutSize()) {
9894  hash = (37 * hash) + MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER;
9895  hash = (53 * hash) + getMaxAllDiffCutSize();
9896  }
9897  if (hasAddLinMaxCuts()) {
9898  hash = (37 * hash) + ADD_LIN_MAX_CUTS_FIELD_NUMBER;
9899  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9900  getAddLinMaxCuts());
9901  }
9903  hash = (37 * hash) + MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER;
9904  hash = (53 * hash) + getMaxIntegerRoundingScaling();
9905  }
9906  if (hasAddLpConstraintsLazily()) {
9907  hash = (37 * hash) + ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER;
9908  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9910  }
9913  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9914  java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints()));
9915  }
9917  hash = (37 * hash) + MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER;
9918  hash = (53 * hash) + getMaxCutRoundsAtLevelZero();
9919  }
9921  hash = (37 * hash) + MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER;
9922  hash = (53 * hash) + getMaxConsecutiveInactiveCount();
9923  }
9924  if (hasCutMaxActiveCountValue()) {
9925  hash = (37 * hash) + CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER;
9926  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9927  java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue()));
9928  }
9929  if (hasCutActiveCountDecay()) {
9930  hash = (37 * hash) + CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER;
9931  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9932  java.lang.Double.doubleToLongBits(getCutActiveCountDecay()));
9933  }
9934  if (hasCutCleanupTarget()) {
9935  hash = (37 * hash) + CUT_CLEANUP_TARGET_FIELD_NUMBER;
9936  hash = (53 * hash) + getCutCleanupTarget();
9937  }
9939  hash = (37 * hash) + NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER;
9940  hash = (53 * hash) + getNewConstraintsBatchSize();
9941  }
9942  if (hasSearchBranching()) {
9943  hash = (37 * hash) + SEARCH_BRANCHING_FIELD_NUMBER;
9944  hash = (53 * hash) + searchBranching_;
9945  }
9946  if (hasHintConflictLimit()) {
9947  hash = (37 * hash) + HINT_CONFLICT_LIMIT_FIELD_NUMBER;
9948  hash = (53 * hash) + getHintConflictLimit();
9949  }
9950  if (hasRepairHint()) {
9951  hash = (37 * hash) + REPAIR_HINT_FIELD_NUMBER;
9952  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9953  getRepairHint());
9954  }
9956  hash = (37 * hash) + EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER;
9957  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9959  }
9960  if (hasExploitAllLpSolution()) {
9961  hash = (37 * hash) + EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER;
9962  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9964  }
9965  if (hasExploitBestSolution()) {
9966  hash = (37 * hash) + EXPLOIT_BEST_SOLUTION_FIELD_NUMBER;
9967  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9969  }
9971  hash = (37 * hash) + EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER;
9972  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9974  }
9975  if (hasExploitObjective()) {
9976  hash = (37 * hash) + EXPLOIT_OBJECTIVE_FIELD_NUMBER;
9977  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9979  }
9980  if (hasProbingPeriodAtRoot()) {
9981  hash = (37 * hash) + PROBING_PERIOD_AT_ROOT_FIELD_NUMBER;
9982  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9984  }
9985  if (hasUseProbingSearch()) {
9986  hash = (37 * hash) + USE_PROBING_SEARCH_FIELD_NUMBER;
9987  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9989  }
9992  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9994  }
9995  if (hasOptimizeWithCore()) {
9996  hash = (37 * hash) + OPTIMIZE_WITH_CORE_FIELD_NUMBER;
9997  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9999  }
10001  hash = (37 * hash) + BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER;
10002  hash = (53 * hash) + getBinarySearchNumConflicts();
10003  }
10004  if (hasOptimizeWithMaxHs()) {
10005  hash = (37 * hash) + OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER;
10006  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10008  }
10009  if (hasEnumerateAllSolutions()) {
10010  hash = (37 * hash) + ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER;
10011  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10013  }
10016  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10018  }
10021  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10023  }
10025  hash = (37 * hash) + INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER;
10026  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10028  }
10031  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10033  }
10034  if (hasStopAfterFirstSolution()) {
10035  hash = (37 * hash) + STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER;
10036  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10038  }
10039  if (hasStopAfterPresolve()) {
10040  hash = (37 * hash) + STOP_AFTER_PRESOLVE_FIELD_NUMBER;
10041  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10043  }
10044  if (hasNumSearchWorkers()) {
10045  hash = (37 * hash) + NUM_SEARCH_WORKERS_FIELD_NUMBER;
10046  hash = (53 * hash) + getNumSearchWorkers();
10047  }
10048  if (hasInterleaveSearch()) {
10049  hash = (37 * hash) + INTERLEAVE_SEARCH_FIELD_NUMBER;
10050  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10052  }
10053  if (hasInterleaveBatchSize()) {
10054  hash = (37 * hash) + INTERLEAVE_BATCH_SIZE_FIELD_NUMBER;
10055  hash = (53 * hash) + getInterleaveBatchSize();
10056  }
10059  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10061  }
10062  if (hasShareObjectiveBounds()) {
10063  hash = (37 * hash) + SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER;
10064  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10066  }
10067  if (hasShareLevelZeroBounds()) {
10068  hash = (37 * hash) + SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER;
10069  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10071  }
10072  if (hasUseLnsOnly()) {
10073  hash = (37 * hash) + USE_LNS_ONLY_FIELD_NUMBER;
10074  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10075  getUseLnsOnly());
10076  }
10078  hash = (37 * hash) + LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER;
10079  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10081  }
10082  if (hasUseRinsLns()) {
10083  hash = (37 * hash) + USE_RINS_LNS_FIELD_NUMBER;
10084  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10085  getUseRinsLns());
10086  }
10087  if (hasUseFeasibilityPump()) {
10088  hash = (37 * hash) + USE_FEASIBILITY_PUMP_FIELD_NUMBER;
10089  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10091  }
10092  if (hasFpRounding()) {
10093  hash = (37 * hash) + FP_ROUNDING_FIELD_NUMBER;
10094  hash = (53 * hash) + fpRounding_;
10095  }
10096  if (hasUseRelaxationLns()) {
10097  hash = (37 * hash) + USE_RELAXATION_LNS_FIELD_NUMBER;
10098  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10100  }
10101  if (hasDiversifyLnsParams()) {
10102  hash = (37 * hash) + DIVERSIFY_LNS_PARAMS_FIELD_NUMBER;
10103  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10105  }
10106  if (hasRandomizeSearch()) {
10107  hash = (37 * hash) + RANDOMIZE_SEARCH_FIELD_NUMBER;
10108  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10109  getRandomizeSearch());
10110  }
10112  hash = (37 * hash) + SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER;
10113  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10115  }
10116  if (hasUseOptionalVariables()) {
10117  hash = (37 * hash) + USE_OPTIONAL_VARIABLES_FIELD_NUMBER;
10118  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10120  }
10121  if (hasUseExactLpReason()) {
10122  hash = (37 * hash) + USE_EXACT_LP_REASON_FIELD_NUMBER;
10123  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10125  }
10126  if (hasUseBranchingInLp()) {
10127  hash = (37 * hash) + USE_BRANCHING_IN_LP_FIELD_NUMBER;
10128  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10130  }
10131  if (hasUseCombinedNoOverlap()) {
10132  hash = (37 * hash) + USE_COMBINED_NO_OVERLAP_FIELD_NUMBER;
10133  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10135  }
10136  if (hasCatchSigintSignal()) {
10137  hash = (37 * hash) + CATCH_SIGINT_SIGNAL_FIELD_NUMBER;
10138  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10140  }
10141  if (hasUseImpliedBounds()) {
10142  hash = (37 * hash) + USE_IMPLIED_BOUNDS_FIELD_NUMBER;
10143  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10145  }
10146  if (hasPolishLpSolution()) {
10147  hash = (37 * hash) + POLISH_LP_SOLUTION_FIELD_NUMBER;
10148  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10150  }
10151  if (hasConvertIntervals()) {
10152  hash = (37 * hash) + CONVERT_INTERVALS_FIELD_NUMBER;
10153  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10155  }
10156  if (hasMipMaxBound()) {
10157  hash = (37 * hash) + MIP_MAX_BOUND_FIELD_NUMBER;
10158  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10159  java.lang.Double.doubleToLongBits(getMipMaxBound()));
10160  }
10161  if (hasMipVarScaling()) {
10162  hash = (37 * hash) + MIP_VAR_SCALING_FIELD_NUMBER;
10163  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10164  java.lang.Double.doubleToLongBits(getMipVarScaling()));
10165  }
10168  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10170  }
10171  if (hasMipWantedPrecision()) {
10172  hash = (37 * hash) + MIP_WANTED_PRECISION_FIELD_NUMBER;
10173  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10174  java.lang.Double.doubleToLongBits(getMipWantedPrecision()));
10175  }
10176  if (hasMipMaxActivityExponent()) {
10177  hash = (37 * hash) + MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER;
10178  hash = (53 * hash) + getMipMaxActivityExponent();
10179  }
10180  if (hasMipCheckPrecision()) {
10181  hash = (37 * hash) + MIP_CHECK_PRECISION_FIELD_NUMBER;
10182  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10183  java.lang.Double.doubleToLongBits(getMipCheckPrecision()));
10184  }
10185  hash = (29 * hash) + unknownFields.hashCode();
10186  memoizedHashCode = hash;
10187  return hash;
10188  }
10189 
10191  java.nio.ByteBuffer data)
10192  throws com.google.protobuf.InvalidProtocolBufferException {
10193  return PARSER.parseFrom(data);
10194  }
10196  java.nio.ByteBuffer data,
10197  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10198  throws com.google.protobuf.InvalidProtocolBufferException {
10199  return PARSER.parseFrom(data, extensionRegistry);
10200  }
10202  com.google.protobuf.ByteString data)
10203  throws com.google.protobuf.InvalidProtocolBufferException {
10204  return PARSER.parseFrom(data);
10205  }
10207  com.google.protobuf.ByteString data,
10208  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10209  throws com.google.protobuf.InvalidProtocolBufferException {
10210  return PARSER.parseFrom(data, extensionRegistry);
10211  }
10212  public static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
10213  throws com.google.protobuf.InvalidProtocolBufferException {
10214  return PARSER.parseFrom(data);
10215  }
10217  byte[] data,
10218  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10219  throws com.google.protobuf.InvalidProtocolBufferException {
10220  return PARSER.parseFrom(data, extensionRegistry);
10221  }
10222  public static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
10223  throws java.io.IOException {
10224  return com.google.protobuf.GeneratedMessageV3
10225  .parseWithIOException(PARSER, input);
10226  }
10228  java.io.InputStream input,
10229  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10230  throws java.io.IOException {
10231  return com.google.protobuf.GeneratedMessageV3
10232  .parseWithIOException(PARSER, input, extensionRegistry);
10233  }
10234  public static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
10235  throws java.io.IOException {
10236  return com.google.protobuf.GeneratedMessageV3
10237  .parseDelimitedWithIOException(PARSER, input);
10238  }
10240  java.io.InputStream input,
10241  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10242  throws java.io.IOException {
10243  return com.google.protobuf.GeneratedMessageV3
10244  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
10245  }
10247  com.google.protobuf.CodedInputStream input)
10248  throws java.io.IOException {
10249  return com.google.protobuf.GeneratedMessageV3
10250  .parseWithIOException(PARSER, input);
10251  }
10253  com.google.protobuf.CodedInputStream input,
10254  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10255  throws java.io.IOException {
10256  return com.google.protobuf.GeneratedMessageV3
10257  .parseWithIOException(PARSER, input, extensionRegistry);
10258  }
10259 
10260  @java.lang.Override
10261  public Builder newBuilderForType() { return newBuilder(); }
10262  public static Builder newBuilder() {
10263  return DEFAULT_INSTANCE.toBuilder();
10264  }
10265  public static Builder newBuilder(com.google.ortools.sat.SatParameters prototype) {
10266  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
10267  }
10268  @java.lang.Override
10269  public Builder toBuilder() {
10270  return this == DEFAULT_INSTANCE
10271  ? new Builder() : new Builder().mergeFrom(this);
10272  }
10273 
10274  @java.lang.Override
10276  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
10277  Builder builder = new Builder(parent);
10278  return builder;
10279  }
10289  public static final class Builder extends
10290  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
10291  // @@protoc_insertion_point(builder_implements:operations_research.sat.SatParameters)
10292  com.google.ortools.sat.SatParametersOrBuilder {
10293  public static final com.google.protobuf.Descriptors.Descriptor
10295  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
10296  }
10297 
10298  @java.lang.Override
10299  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
10301  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
10302  .ensureFieldAccessorsInitialized(
10304  }
10305 
10306  // Construct using com.google.ortools.sat.SatParameters.newBuilder()
10307  private Builder() {
10308  maybeForceBuilderInitialization();
10309  }
10310 
10311  private Builder(
10312  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
10313  super(parent);
10314  maybeForceBuilderInitialization();
10315  }
10316  private void maybeForceBuilderInitialization() {
10317  if (com.google.protobuf.GeneratedMessageV3
10318  .alwaysUseFieldBuilders) {
10319  }
10320  }
10321  @java.lang.Override
10322  public Builder clear() {
10323  super.clear();
10324  name_ = "";
10325  bitField0_ = (bitField0_ & ~0x00000001);
10326  preferredVariableOrder_ = 0;
10327  bitField0_ = (bitField0_ & ~0x00000002);
10328  initialPolarity_ = 1;
10329  bitField0_ = (bitField0_ & ~0x00000004);
10330  usePhaseSaving_ = true;
10331  bitField0_ = (bitField0_ & ~0x00000008);
10332  polarityRephaseIncrement_ = 1000;
10333  bitField0_ = (bitField0_ & ~0x00000010);
10334  randomPolarityRatio_ = 0D;
10335  bitField0_ = (bitField0_ & ~0x00000020);
10336  randomBranchesRatio_ = 0D;
10337  bitField0_ = (bitField0_ & ~0x00000040);
10338  useErwaHeuristic_ = false;
10339  bitField0_ = (bitField0_ & ~0x00000080);
10340  initialVariablesActivity_ = 0D;
10341  bitField0_ = (bitField0_ & ~0x00000100);
10342  alsoBumpVariablesInConflictReasons_ = false;
10343  bitField0_ = (bitField0_ & ~0x00000200);
10344  minimizationAlgorithm_ = 2;
10345  bitField0_ = (bitField0_ & ~0x00000400);
10346  binaryMinimizationAlgorithm_ = 1;
10347  bitField0_ = (bitField0_ & ~0x00000800);
10348  subsumptionDuringConflictAnalysis_ = true;
10349  bitField0_ = (bitField0_ & ~0x00001000);
10350  clauseCleanupPeriod_ = 10000;
10351  bitField0_ = (bitField0_ & ~0x00002000);
10352  clauseCleanupTarget_ = 10000;
10353  bitField0_ = (bitField0_ & ~0x00004000);
10354  clauseCleanupProtection_ = 0;
10355  bitField0_ = (bitField0_ & ~0x00008000);
10356  clauseCleanupLbdBound_ = 5;
10357  bitField0_ = (bitField0_ & ~0x00010000);
10358  clauseCleanupOrdering_ = 0;
10359  bitField0_ = (bitField0_ & ~0x00020000);
10360  pbCleanupIncrement_ = 200;
10361  bitField0_ = (bitField0_ & ~0x00040000);
10362  pbCleanupRatio_ = 0.5D;
10363  bitField0_ = (bitField0_ & ~0x00080000);
10364  minimizeWithPropagationRestartPeriod_ = 10;
10365  bitField0_ = (bitField0_ & ~0x00100000);
10366  minimizeWithPropagationNumDecisions_ = 1000;
10367  bitField0_ = (bitField0_ & ~0x00200000);
10368  variableActivityDecay_ = 0.8D;
10369  bitField0_ = (bitField0_ & ~0x00400000);
10370  maxVariableActivityValue_ = 1e+100D;
10371  bitField0_ = (bitField0_ & ~0x00800000);
10372  glucoseMaxDecay_ = 0.95D;
10373  bitField0_ = (bitField0_ & ~0x01000000);
10374  glucoseDecayIncrement_ = 0.01D;
10375  bitField0_ = (bitField0_ & ~0x02000000);
10376  glucoseDecayIncrementPeriod_ = 5000;
10377  bitField0_ = (bitField0_ & ~0x04000000);
10378  clauseActivityDecay_ = 0.999D;
10379  bitField0_ = (bitField0_ & ~0x08000000);
10380  maxClauseActivityValue_ = 1e+20D;
10381  bitField0_ = (bitField0_ & ~0x10000000);
10382  restartAlgorithms_ = java.util.Collections.emptyList();
10383  bitField0_ = (bitField0_ & ~0x20000000);
10384  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
10385  bitField0_ = (bitField0_ & ~0x40000000);
10386  restartPeriod_ = 50;
10387  bitField0_ = (bitField0_ & ~0x80000000);
10388  restartRunningWindowSize_ = 50;
10389  bitField1_ = (bitField1_ & ~0x00000001);
10390  restartDlAverageRatio_ = 1D;
10391  bitField1_ = (bitField1_ & ~0x00000002);
10392  restartLbdAverageRatio_ = 1D;
10393  bitField1_ = (bitField1_ & ~0x00000004);
10394  useBlockingRestart_ = false;
10395  bitField1_ = (bitField1_ & ~0x00000008);
10396  blockingRestartWindowSize_ = 5000;
10397  bitField1_ = (bitField1_ & ~0x00000010);
10398  blockingRestartMultiplier_ = 1.4D;
10399  bitField1_ = (bitField1_ & ~0x00000020);
10400  numConflictsBeforeStrategyChanges_ = 0;
10401  bitField1_ = (bitField1_ & ~0x00000040);
10402  strategyChangeIncreaseRatio_ = 0D;
10403  bitField1_ = (bitField1_ & ~0x00000080);
10404  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
10405  bitField1_ = (bitField1_ & ~0x00000100);
10406  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
10407  bitField1_ = (bitField1_ & ~0x00000200);
10408  maxNumberOfConflicts_ = 9223372036854775807L;
10409  bitField1_ = (bitField1_ & ~0x00000400);
10410  maxMemoryInMb_ = 10000L;
10411  bitField1_ = (bitField1_ & ~0x00000800);
10412  absoluteGapLimit_ = 0D;
10413  bitField1_ = (bitField1_ & ~0x00001000);
10414  relativeGapLimit_ = 0D;
10415  bitField1_ = (bitField1_ & ~0x00002000);
10416  treatBinaryClausesSeparately_ = true;
10417  bitField1_ = (bitField1_ & ~0x00004000);
10418  randomSeed_ = 1;
10419  bitField1_ = (bitField1_ & ~0x00008000);
10420  permuteVariableRandomly_ = false;
10421  bitField1_ = (bitField1_ & ~0x00010000);
10422  permutePresolveConstraintOrder_ = false;
10423  bitField1_ = (bitField1_ & ~0x00020000);
10424  useAbslRandom_ = false;
10425  bitField1_ = (bitField1_ & ~0x00040000);
10426  logSearchProgress_ = false;
10427  bitField1_ = (bitField1_ & ~0x00080000);
10428  usePbResolution_ = false;
10429  bitField1_ = (bitField1_ & ~0x00100000);
10430  minimizeReductionDuringPbResolution_ = false;
10431  bitField1_ = (bitField1_ & ~0x00200000);
10432  countAssumptionLevelsInLbd_ = true;
10433  bitField1_ = (bitField1_ & ~0x00400000);
10434  presolveBveThreshold_ = 500;
10435  bitField1_ = (bitField1_ & ~0x00800000);
10436  presolveBveClauseWeight_ = 3;
10437  bitField1_ = (bitField1_ & ~0x01000000);
10438  presolveProbingDeterministicTimeLimit_ = 30D;
10439  bitField1_ = (bitField1_ & ~0x02000000);
10440  presolveBlockedClause_ = true;
10441  bitField1_ = (bitField1_ & ~0x04000000);
10442  presolveUseBva_ = true;
10443  bitField1_ = (bitField1_ & ~0x08000000);
10444  presolveBvaThreshold_ = 1;
10445  bitField1_ = (bitField1_ & ~0x10000000);
10446  maxPresolveIterations_ = 3;
10447  bitField1_ = (bitField1_ & ~0x20000000);
10448  cpModelPresolve_ = true;
10449  bitField1_ = (bitField1_ & ~0x40000000);
10450  cpModelPostsolveWithFullSolver_ = false;
10451  bitField1_ = (bitField1_ & ~0x80000000);
10452  cpModelMaxNumPresolveOperations_ = 0;
10453  bitField2_ = (bitField2_ & ~0x00000001);
10454  cpModelProbingLevel_ = 2;
10455  bitField2_ = (bitField2_ & ~0x00000002);
10456  cpModelUseSatPresolve_ = true;
10457  bitField2_ = (bitField2_ & ~0x00000004);
10458  useSatInprocessing_ = false;
10459  bitField2_ = (bitField2_ & ~0x00000008);
10460  expandElementConstraints_ = true;
10461  bitField2_ = (bitField2_ & ~0x00000010);
10462  expandAutomatonConstraints_ = true;
10463  bitField2_ = (bitField2_ & ~0x00000020);
10464  expandTableConstraints_ = true;
10465  bitField2_ = (bitField2_ & ~0x00000040);
10466  expandAlldiffConstraints_ = false;
10467  bitField2_ = (bitField2_ & ~0x00000080);
10468  expandReservoirConstraints_ = true;
10469  bitField2_ = (bitField2_ & ~0x00000100);
10470  disableConstraintExpansion_ = false;
10471  bitField2_ = (bitField2_ & ~0x00000200);
10472  mergeNoOverlapWorkLimit_ = 1000000000000D;
10473  bitField2_ = (bitField2_ & ~0x00000400);
10474  mergeAtMostOneWorkLimit_ = 100000000D;
10475  bitField2_ = (bitField2_ & ~0x00000800);
10476  presolveSubstitutionLevel_ = 1;
10477  bitField2_ = (bitField2_ & ~0x00001000);
10478  presolveExtractIntegerEnforcement_ = false;
10479  bitField2_ = (bitField2_ & ~0x00002000);
10480  useOptimizationHints_ = true;
10481  bitField2_ = (bitField2_ & ~0x00004000);
10482  minimizeCore_ = true;
10483  bitField2_ = (bitField2_ & ~0x00008000);
10484  findMultipleCores_ = true;
10485  bitField2_ = (bitField2_ & ~0x00010000);
10486  coverOptimization_ = true;
10487  bitField2_ = (bitField2_ & ~0x00020000);
10488  maxSatAssumptionOrder_ = 0;
10489  bitField2_ = (bitField2_ & ~0x00040000);
10490  maxSatReverseAssumptionOrder_ = false;
10491  bitField2_ = (bitField2_ & ~0x00080000);
10492  maxSatStratification_ = 1;
10493  bitField2_ = (bitField2_ & ~0x00100000);
10494  usePrecedencesInDisjunctiveConstraint_ = true;
10495  bitField2_ = (bitField2_ & ~0x00200000);
10496  useOverloadCheckerInCumulativeConstraint_ = false;
10497  bitField2_ = (bitField2_ & ~0x00400000);
10498  useTimetableEdgeFindingInCumulativeConstraint_ = false;
10499  bitField2_ = (bitField2_ & ~0x00800000);
10500  useDisjunctiveConstraintInCumulativeConstraint_ = true;
10501  bitField2_ = (bitField2_ & ~0x01000000);
10502  linearizationLevel_ = 1;
10503  bitField2_ = (bitField2_ & ~0x02000000);
10504  booleanEncodingLevel_ = 1;
10505  bitField2_ = (bitField2_ & ~0x04000000);
10506  maxNumCuts_ = 10000;
10507  bitField2_ = (bitField2_ & ~0x08000000);
10508  onlyAddCutsAtLevelZero_ = false;
10509  bitField2_ = (bitField2_ & ~0x10000000);
10510  addKnapsackCuts_ = false;
10511  bitField2_ = (bitField2_ & ~0x20000000);
10512  addCgCuts_ = true;
10513  bitField2_ = (bitField2_ & ~0x40000000);
10514  addMirCuts_ = true;
10515  bitField2_ = (bitField2_ & ~0x80000000);
10516  addZeroHalfCuts_ = true;
10517  bitField3_ = (bitField3_ & ~0x00000001);
10518  addCliqueCuts_ = true;
10519  bitField3_ = (bitField3_ & ~0x00000002);
10520  maxAllDiffCutSize_ = 7;
10521  bitField3_ = (bitField3_ & ~0x00000004);
10522  addLinMaxCuts_ = true;
10523  bitField3_ = (bitField3_ & ~0x00000008);
10524  maxIntegerRoundingScaling_ = 600;
10525  bitField3_ = (bitField3_ & ~0x00000010);
10526  addLpConstraintsLazily_ = true;
10527  bitField3_ = (bitField3_ & ~0x00000020);
10528  minOrthogonalityForLpConstraints_ = 0.05D;
10529  bitField3_ = (bitField3_ & ~0x00000040);
10530  maxCutRoundsAtLevelZero_ = 1;
10531  bitField3_ = (bitField3_ & ~0x00000080);
10532  maxConsecutiveInactiveCount_ = 100;
10533  bitField3_ = (bitField3_ & ~0x00000100);
10534  cutMaxActiveCountValue_ = 10000000000D;
10535  bitField3_ = (bitField3_ & ~0x00000200);
10536  cutActiveCountDecay_ = 0.8D;
10537  bitField3_ = (bitField3_ & ~0x00000400);
10538  cutCleanupTarget_ = 1000;
10539  bitField3_ = (bitField3_ & ~0x00000800);
10540  newConstraintsBatchSize_ = 50;
10541  bitField3_ = (bitField3_ & ~0x00001000);
10542  searchBranching_ = 0;
10543  bitField3_ = (bitField3_ & ~0x00002000);
10544  hintConflictLimit_ = 10;
10545  bitField3_ = (bitField3_ & ~0x00004000);
10546  repairHint_ = false;
10547  bitField3_ = (bitField3_ & ~0x00008000);
10548  exploitIntegerLpSolution_ = true;
10549  bitField3_ = (bitField3_ & ~0x00010000);
10550  exploitAllLpSolution_ = true;
10551  bitField3_ = (bitField3_ & ~0x00020000);
10552  exploitBestSolution_ = false;
10553  bitField3_ = (bitField3_ & ~0x00040000);
10554  exploitRelaxationSolution_ = false;
10555  bitField3_ = (bitField3_ & ~0x00080000);
10556  exploitObjective_ = true;
10557  bitField3_ = (bitField3_ & ~0x00100000);
10558  probingPeriodAtRoot_ = 0L;
10559  bitField3_ = (bitField3_ & ~0x00200000);
10560  useProbingSearch_ = false;
10561  bitField3_ = (bitField3_ & ~0x00400000);
10562  pseudoCostReliabilityThreshold_ = 100L;
10563  bitField3_ = (bitField3_ & ~0x00800000);
10564  optimizeWithCore_ = false;
10565  bitField3_ = (bitField3_ & ~0x01000000);
10566  binarySearchNumConflicts_ = -1;
10567  bitField3_ = (bitField3_ & ~0x02000000);
10568  optimizeWithMaxHs_ = false;
10569  bitField3_ = (bitField3_ & ~0x04000000);
10570  enumerateAllSolutions_ = false;
10571  bitField3_ = (bitField3_ & ~0x08000000);
10572  keepAllFeasibleSolutionsInPresolve_ = false;
10573  bitField3_ = (bitField3_ & ~0x10000000);
10574  fillTightenedDomainsInResponse_ = false;
10575  bitField3_ = (bitField3_ & ~0x20000000);
10576  instantiateAllVariables_ = true;
10577  bitField3_ = (bitField3_ & ~0x40000000);
10578  autoDetectGreaterThanAtLeastOneOf_ = true;
10579  bitField3_ = (bitField3_ & ~0x80000000);
10580  stopAfterFirstSolution_ = false;
10581  bitField4_ = (bitField4_ & ~0x00000001);
10582  stopAfterPresolve_ = false;
10583  bitField4_ = (bitField4_ & ~0x00000002);
10584  numSearchWorkers_ = 1;
10585  bitField4_ = (bitField4_ & ~0x00000004);
10586  interleaveSearch_ = false;
10587  bitField4_ = (bitField4_ & ~0x00000008);
10588  interleaveBatchSize_ = 1;
10589  bitField4_ = (bitField4_ & ~0x00000010);
10590  reduceMemoryUsageInInterleaveMode_ = false;
10591  bitField4_ = (bitField4_ & ~0x00000020);
10592  shareObjectiveBounds_ = true;
10593  bitField4_ = (bitField4_ & ~0x00000040);
10594  shareLevelZeroBounds_ = true;
10595  bitField4_ = (bitField4_ & ~0x00000080);
10596  useLnsOnly_ = false;
10597  bitField4_ = (bitField4_ & ~0x00000100);
10598  lnsFocusOnDecisionVariables_ = false;
10599  bitField4_ = (bitField4_ & ~0x00000200);
10600  useRinsLns_ = true;
10601  bitField4_ = (bitField4_ & ~0x00000400);
10602  useFeasibilityPump_ = true;
10603  bitField4_ = (bitField4_ & ~0x00000800);
10604  fpRounding_ = 2;
10605  bitField4_ = (bitField4_ & ~0x00001000);
10606  useRelaxationLns_ = false;
10607  bitField4_ = (bitField4_ & ~0x00002000);
10608  diversifyLnsParams_ = false;
10609  bitField4_ = (bitField4_ & ~0x00004000);
10610  randomizeSearch_ = false;
10611  bitField4_ = (bitField4_ & ~0x00008000);
10612  searchRandomizationTolerance_ = 0L;
10613  bitField4_ = (bitField4_ & ~0x00010000);
10614  useOptionalVariables_ = true;
10615  bitField4_ = (bitField4_ & ~0x00020000);
10616  useExactLpReason_ = true;
10617  bitField4_ = (bitField4_ & ~0x00040000);
10618  useBranchingInLp_ = false;
10619  bitField4_ = (bitField4_ & ~0x00080000);
10620  useCombinedNoOverlap_ = false;
10621  bitField4_ = (bitField4_ & ~0x00100000);
10622  catchSigintSignal_ = true;
10623  bitField4_ = (bitField4_ & ~0x00200000);
10624  useImpliedBounds_ = true;
10625  bitField4_ = (bitField4_ & ~0x00400000);
10626  polishLpSolution_ = false;
10627  bitField4_ = (bitField4_ & ~0x00800000);
10628  convertIntervals_ = false;
10629  bitField4_ = (bitField4_ & ~0x01000000);
10630  mipMaxBound_ = 10000000D;
10631  bitField4_ = (bitField4_ & ~0x02000000);
10632  mipVarScaling_ = 1D;
10633  bitField4_ = (bitField4_ & ~0x04000000);
10634  mipAutomaticallyScaleVariables_ = true;
10635  bitField4_ = (bitField4_ & ~0x08000000);
10636  mipWantedPrecision_ = 1e-06D;
10637  bitField4_ = (bitField4_ & ~0x10000000);
10638  mipMaxActivityExponent_ = 53;
10639  bitField4_ = (bitField4_ & ~0x20000000);
10640  mipCheckPrecision_ = 0.0001D;
10641  bitField4_ = (bitField4_ & ~0x40000000);
10642  return this;
10643  }
10644 
10645  @java.lang.Override
10646  public com.google.protobuf.Descriptors.Descriptor
10648  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
10649  }
10650 
10651  @java.lang.Override
10654  }
10655 
10656  @java.lang.Override
10659  if (!result.isInitialized()) {
10660  throw newUninitializedMessageException(result);
10661  }
10662  return result;
10663  }
10664 
10665  @java.lang.Override
10668  int from_bitField0_ = bitField0_;
10669  int from_bitField1_ = bitField1_;
10670  int from_bitField2_ = bitField2_;
10671  int from_bitField3_ = bitField3_;
10672  int from_bitField4_ = bitField4_;
10673  int to_bitField0_ = 0;
10674  int to_bitField1_ = 0;
10675  int to_bitField2_ = 0;
10676  int to_bitField3_ = 0;
10677  int to_bitField4_ = 0;
10678  if (((from_bitField0_ & 0x00000001) != 0)) {
10679  to_bitField0_ |= 0x00000001;
10680  }
10681  result.name_ = name_;
10682  if (((from_bitField0_ & 0x00000002) != 0)) {
10683  to_bitField0_ |= 0x00000002;
10684  }
10685  result.preferredVariableOrder_ = preferredVariableOrder_;
10686  if (((from_bitField0_ & 0x00000004) != 0)) {
10687  to_bitField0_ |= 0x00000004;
10688  }
10689  result.initialPolarity_ = initialPolarity_;
10690  if (((from_bitField0_ & 0x00000008) != 0)) {
10691  to_bitField0_ |= 0x00000008;
10692  }
10693  result.usePhaseSaving_ = usePhaseSaving_;
10694  if (((from_bitField0_ & 0x00000010) != 0)) {
10695  to_bitField0_ |= 0x00000010;
10696  }
10697  result.polarityRephaseIncrement_ = polarityRephaseIncrement_;
10698  if (((from_bitField0_ & 0x00000020) != 0)) {
10699  result.randomPolarityRatio_ = randomPolarityRatio_;
10700  to_bitField0_ |= 0x00000020;
10701  }
10702  if (((from_bitField0_ & 0x00000040) != 0)) {
10703  result.randomBranchesRatio_ = randomBranchesRatio_;
10704  to_bitField0_ |= 0x00000040;
10705  }
10706  if (((from_bitField0_ & 0x00000080) != 0)) {
10707  result.useErwaHeuristic_ = useErwaHeuristic_;
10708  to_bitField0_ |= 0x00000080;
10709  }
10710  if (((from_bitField0_ & 0x00000100) != 0)) {
10711  result.initialVariablesActivity_ = initialVariablesActivity_;
10712  to_bitField0_ |= 0x00000100;
10713  }
10714  if (((from_bitField0_ & 0x00000200) != 0)) {
10715  result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
10716  to_bitField0_ |= 0x00000200;
10717  }
10718  if (((from_bitField0_ & 0x00000400) != 0)) {
10719  to_bitField0_ |= 0x00000400;
10720  }
10721  result.minimizationAlgorithm_ = minimizationAlgorithm_;
10722  if (((from_bitField0_ & 0x00000800) != 0)) {
10723  to_bitField0_ |= 0x00000800;
10724  }
10725  result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
10726  if (((from_bitField0_ & 0x00001000) != 0)) {
10727  to_bitField0_ |= 0x00001000;
10728  }
10729  result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
10730  if (((from_bitField0_ & 0x00002000) != 0)) {
10731  to_bitField0_ |= 0x00002000;
10732  }
10733  result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
10734  if (((from_bitField0_ & 0x00004000) != 0)) {
10735  to_bitField0_ |= 0x00004000;
10736  }
10737  result.clauseCleanupTarget_ = clauseCleanupTarget_;
10738  if (((from_bitField0_ & 0x00008000) != 0)) {
10739  to_bitField0_ |= 0x00008000;
10740  }
10741  result.clauseCleanupProtection_ = clauseCleanupProtection_;
10742  if (((from_bitField0_ & 0x00010000) != 0)) {
10743  to_bitField0_ |= 0x00010000;
10744  }
10745  result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
10746  if (((from_bitField0_ & 0x00020000) != 0)) {
10747  to_bitField0_ |= 0x00020000;
10748  }
10749  result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
10750  if (((from_bitField0_ & 0x00040000) != 0)) {
10751  to_bitField0_ |= 0x00040000;
10752  }
10753  result.pbCleanupIncrement_ = pbCleanupIncrement_;
10754  if (((from_bitField0_ & 0x00080000) != 0)) {
10755  to_bitField0_ |= 0x00080000;
10756  }
10757  result.pbCleanupRatio_ = pbCleanupRatio_;
10758  if (((from_bitField0_ & 0x00100000) != 0)) {
10759  to_bitField0_ |= 0x00100000;
10760  }
10761  result.minimizeWithPropagationRestartPeriod_ = minimizeWithPropagationRestartPeriod_;
10762  if (((from_bitField0_ & 0x00200000) != 0)) {
10763  to_bitField0_ |= 0x00200000;
10764  }
10765  result.minimizeWithPropagationNumDecisions_ = minimizeWithPropagationNumDecisions_;
10766  if (((from_bitField0_ & 0x00400000) != 0)) {
10767  to_bitField0_ |= 0x00400000;
10768  }
10769  result.variableActivityDecay_ = variableActivityDecay_;
10770  if (((from_bitField0_ & 0x00800000) != 0)) {
10771  to_bitField0_ |= 0x00800000;
10772  }
10773  result.maxVariableActivityValue_ = maxVariableActivityValue_;
10774  if (((from_bitField0_ & 0x01000000) != 0)) {
10775  to_bitField0_ |= 0x01000000;
10776  }
10777  result.glucoseMaxDecay_ = glucoseMaxDecay_;
10778  if (((from_bitField0_ & 0x02000000) != 0)) {
10779  to_bitField0_ |= 0x02000000;
10780  }
10781  result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
10782  if (((from_bitField0_ & 0x04000000) != 0)) {
10783  to_bitField0_ |= 0x04000000;
10784  }
10785  result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
10786  if (((from_bitField0_ & 0x08000000) != 0)) {
10787  to_bitField0_ |= 0x08000000;
10788  }
10789  result.clauseActivityDecay_ = clauseActivityDecay_;
10790  if (((from_bitField0_ & 0x10000000) != 0)) {
10791  to_bitField0_ |= 0x10000000;
10792  }
10793  result.maxClauseActivityValue_ = maxClauseActivityValue_;
10794  if (((bitField0_ & 0x20000000) != 0)) {
10795  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
10796  bitField0_ = (bitField0_ & ~0x20000000);
10797  }
10798  result.restartAlgorithms_ = restartAlgorithms_;
10799  if (((from_bitField0_ & 0x40000000) != 0)) {
10800  to_bitField0_ |= 0x20000000;
10801  }
10802  result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
10803  if (((from_bitField0_ & 0x80000000) != 0)) {
10804  to_bitField0_ |= 0x40000000;
10805  }
10806  result.restartPeriod_ = restartPeriod_;
10807  if (((from_bitField1_ & 0x00000001) != 0)) {
10808  to_bitField0_ |= 0x80000000;
10809  }
10810  result.restartRunningWindowSize_ = restartRunningWindowSize_;
10811  if (((from_bitField1_ & 0x00000002) != 0)) {
10812  to_bitField1_ |= 0x00000001;
10813  }
10814  result.restartDlAverageRatio_ = restartDlAverageRatio_;
10815  if (((from_bitField1_ & 0x00000004) != 0)) {
10816  to_bitField1_ |= 0x00000002;
10817  }
10818  result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
10819  if (((from_bitField1_ & 0x00000008) != 0)) {
10820  result.useBlockingRestart_ = useBlockingRestart_;
10821  to_bitField1_ |= 0x00000004;
10822  }
10823  if (((from_bitField1_ & 0x00000010) != 0)) {
10824  to_bitField1_ |= 0x00000008;
10825  }
10826  result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
10827  if (((from_bitField1_ & 0x00000020) != 0)) {
10828  to_bitField1_ |= 0x00000010;
10829  }
10830  result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
10831  if (((from_bitField1_ & 0x00000040) != 0)) {
10832  result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
10833  to_bitField1_ |= 0x00000020;
10834  }
10835  if (((from_bitField1_ & 0x00000080) != 0)) {
10836  result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
10837  to_bitField1_ |= 0x00000040;
10838  }
10839  if (((from_bitField1_ & 0x00000100) != 0)) {
10840  to_bitField1_ |= 0x00000080;
10841  }
10842  result.maxTimeInSeconds_ = maxTimeInSeconds_;
10843  if (((from_bitField1_ & 0x00000200) != 0)) {
10844  to_bitField1_ |= 0x00000100;
10845  }
10846  result.maxDeterministicTime_ = maxDeterministicTime_;
10847  if (((from_bitField1_ & 0x00000400) != 0)) {
10848  to_bitField1_ |= 0x00000200;
10849  }
10850  result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
10851  if (((from_bitField1_ & 0x00000800) != 0)) {
10852  to_bitField1_ |= 0x00000400;
10853  }
10854  result.maxMemoryInMb_ = maxMemoryInMb_;
10855  if (((from_bitField1_ & 0x00001000) != 0)) {
10856  result.absoluteGapLimit_ = absoluteGapLimit_;
10857  to_bitField1_ |= 0x00000800;
10858  }
10859  if (((from_bitField1_ & 0x00002000) != 0)) {
10860  result.relativeGapLimit_ = relativeGapLimit_;
10861  to_bitField1_ |= 0x00001000;
10862  }
10863  if (((from_bitField1_ & 0x00004000) != 0)) {
10864  to_bitField1_ |= 0x00002000;
10865  }
10866  result.treatBinaryClausesSeparately_ = treatBinaryClausesSeparately_;
10867  if (((from_bitField1_ & 0x00008000) != 0)) {
10868  to_bitField1_ |= 0x00004000;
10869  }
10870  result.randomSeed_ = randomSeed_;
10871  if (((from_bitField1_ & 0x00010000) != 0)) {
10872  result.permuteVariableRandomly_ = permuteVariableRandomly_;
10873  to_bitField1_ |= 0x00008000;
10874  }
10875  if (((from_bitField1_ & 0x00020000) != 0)) {
10876  result.permutePresolveConstraintOrder_ = permutePresolveConstraintOrder_;
10877  to_bitField1_ |= 0x00010000;
10878  }
10879  if (((from_bitField1_ & 0x00040000) != 0)) {
10880  result.useAbslRandom_ = useAbslRandom_;
10881  to_bitField1_ |= 0x00020000;
10882  }
10883  if (((from_bitField1_ & 0x00080000) != 0)) {
10884  result.logSearchProgress_ = logSearchProgress_;
10885  to_bitField1_ |= 0x00040000;
10886  }
10887  if (((from_bitField1_ & 0x00100000) != 0)) {
10888  result.usePbResolution_ = usePbResolution_;
10889  to_bitField1_ |= 0x00080000;
10890  }
10891  if (((from_bitField1_ & 0x00200000) != 0)) {
10892  result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
10893  to_bitField1_ |= 0x00100000;
10894  }
10895  if (((from_bitField1_ & 0x00400000) != 0)) {
10896  to_bitField1_ |= 0x00200000;
10897  }
10898  result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
10899  if (((from_bitField1_ & 0x00800000) != 0)) {
10900  to_bitField1_ |= 0x00400000;
10901  }
10902  result.presolveBveThreshold_ = presolveBveThreshold_;
10903  if (((from_bitField1_ & 0x01000000) != 0)) {
10904  to_bitField1_ |= 0x00800000;
10905  }
10906  result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
10907  if (((from_bitField1_ & 0x02000000) != 0)) {
10908  to_bitField1_ |= 0x01000000;
10909  }
10910  result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
10911  if (((from_bitField1_ & 0x04000000) != 0)) {
10912  to_bitField1_ |= 0x02000000;
10913  }
10914  result.presolveBlockedClause_ = presolveBlockedClause_;
10915  if (((from_bitField1_ & 0x08000000) != 0)) {
10916  to_bitField1_ |= 0x04000000;
10917  }
10918  result.presolveUseBva_ = presolveUseBva_;
10919  if (((from_bitField1_ & 0x10000000) != 0)) {
10920  to_bitField1_ |= 0x08000000;
10921  }
10922  result.presolveBvaThreshold_ = presolveBvaThreshold_;
10923  if (((from_bitField1_ & 0x20000000) != 0)) {
10924  to_bitField1_ |= 0x10000000;
10925  }
10926  result.maxPresolveIterations_ = maxPresolveIterations_;
10927  if (((from_bitField1_ & 0x40000000) != 0)) {
10928  to_bitField1_ |= 0x20000000;
10929  }
10930  result.cpModelPresolve_ = cpModelPresolve_;
10931  if (((from_bitField1_ & 0x80000000) != 0)) {
10932  result.cpModelPostsolveWithFullSolver_ = cpModelPostsolveWithFullSolver_;
10933  to_bitField1_ |= 0x40000000;
10934  }
10935  if (((from_bitField2_ & 0x00000001) != 0)) {
10936  result.cpModelMaxNumPresolveOperations_ = cpModelMaxNumPresolveOperations_;
10937  to_bitField1_ |= 0x80000000;
10938  }
10939  if (((from_bitField2_ & 0x00000002) != 0)) {
10940  to_bitField2_ |= 0x00000001;
10941  }
10942  result.cpModelProbingLevel_ = cpModelProbingLevel_;
10943  if (((from_bitField2_ & 0x00000004) != 0)) {
10944  to_bitField2_ |= 0x00000002;
10945  }
10946  result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
10947  if (((from_bitField2_ & 0x00000008) != 0)) {
10948  result.useSatInprocessing_ = useSatInprocessing_;
10949  to_bitField2_ |= 0x00000004;
10950  }
10951  if (((from_bitField2_ & 0x00000010) != 0)) {
10952  to_bitField2_ |= 0x00000008;
10953  }
10954  result.expandElementConstraints_ = expandElementConstraints_;
10955  if (((from_bitField2_ & 0x00000020) != 0)) {
10956  to_bitField2_ |= 0x00000010;
10957  }
10958  result.expandAutomatonConstraints_ = expandAutomatonConstraints_;
10959  if (((from_bitField2_ & 0x00000040) != 0)) {
10960  to_bitField2_ |= 0x00000020;
10961  }
10962  result.expandTableConstraints_ = expandTableConstraints_;
10963  if (((from_bitField2_ & 0x00000080) != 0)) {
10964  result.expandAlldiffConstraints_ = expandAlldiffConstraints_;
10965  to_bitField2_ |= 0x00000040;
10966  }
10967  if (((from_bitField2_ & 0x00000100) != 0)) {
10968  to_bitField2_ |= 0x00000080;
10969  }
10970  result.expandReservoirConstraints_ = expandReservoirConstraints_;
10971  if (((from_bitField2_ & 0x00000200) != 0)) {
10972  result.disableConstraintExpansion_ = disableConstraintExpansion_;
10973  to_bitField2_ |= 0x00000100;
10974  }
10975  if (((from_bitField2_ & 0x00000400) != 0)) {
10976  to_bitField2_ |= 0x00000200;
10977  }
10978  result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
10979  if (((from_bitField2_ & 0x00000800) != 0)) {
10980  to_bitField2_ |= 0x00000400;
10981  }
10982  result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
10983  if (((from_bitField2_ & 0x00001000) != 0)) {
10984  to_bitField2_ |= 0x00000800;
10985  }
10986  result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
10987  if (((from_bitField2_ & 0x00002000) != 0)) {
10988  result.presolveExtractIntegerEnforcement_ = presolveExtractIntegerEnforcement_;
10989  to_bitField2_ |= 0x00001000;
10990  }
10991  if (((from_bitField2_ & 0x00004000) != 0)) {
10992  to_bitField2_ |= 0x00002000;
10993  }
10994  result.useOptimizationHints_ = useOptimizationHints_;
10995  if (((from_bitField2_ & 0x00008000) != 0)) {
10996  to_bitField2_ |= 0x00004000;
10997  }
10998  result.minimizeCore_ = minimizeCore_;
10999  if (((from_bitField2_ & 0x00010000) != 0)) {
11000  to_bitField2_ |= 0x00008000;
11001  }
11002  result.findMultipleCores_ = findMultipleCores_;
11003  if (((from_bitField2_ & 0x00020000) != 0)) {
11004  to_bitField2_ |= 0x00010000;
11005  }
11006  result.coverOptimization_ = coverOptimization_;
11007  if (((from_bitField2_ & 0x00040000) != 0)) {
11008  to_bitField2_ |= 0x00020000;
11009  }
11010  result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
11011  if (((from_bitField2_ & 0x00080000) != 0)) {
11012  result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
11013  to_bitField2_ |= 0x00040000;
11014  }
11015  if (((from_bitField2_ & 0x00100000) != 0)) {
11016  to_bitField2_ |= 0x00080000;
11017  }
11018  result.maxSatStratification_ = maxSatStratification_;
11019  if (((from_bitField2_ & 0x00200000) != 0)) {
11020  to_bitField2_ |= 0x00100000;
11021  }
11022  result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
11023  if (((from_bitField2_ & 0x00400000) != 0)) {
11024  result.useOverloadCheckerInCumulativeConstraint_ = useOverloadCheckerInCumulativeConstraint_;
11025  to_bitField2_ |= 0x00200000;
11026  }
11027  if (((from_bitField2_ & 0x00800000) != 0)) {
11028  result.useTimetableEdgeFindingInCumulativeConstraint_ = useTimetableEdgeFindingInCumulativeConstraint_;
11029  to_bitField2_ |= 0x00400000;
11030  }
11031  if (((from_bitField2_ & 0x01000000) != 0)) {
11032  to_bitField2_ |= 0x00800000;
11033  }
11034  result.useDisjunctiveConstraintInCumulativeConstraint_ = useDisjunctiveConstraintInCumulativeConstraint_;
11035  if (((from_bitField2_ & 0x02000000) != 0)) {
11036  to_bitField2_ |= 0x01000000;
11037  }
11038  result.linearizationLevel_ = linearizationLevel_;
11039  if (((from_bitField2_ & 0x04000000) != 0)) {
11040  to_bitField2_ |= 0x02000000;
11041  }
11042  result.booleanEncodingLevel_ = booleanEncodingLevel_;
11043  if (((from_bitField2_ & 0x08000000) != 0)) {
11044  to_bitField2_ |= 0x04000000;
11045  }
11046  result.maxNumCuts_ = maxNumCuts_;
11047  if (((from_bitField2_ & 0x10000000) != 0)) {
11048  result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
11049  to_bitField2_ |= 0x08000000;
11050  }
11051  if (((from_bitField2_ & 0x20000000) != 0)) {
11052  result.addKnapsackCuts_ = addKnapsackCuts_;
11053  to_bitField2_ |= 0x10000000;
11054  }
11055  if (((from_bitField2_ & 0x40000000) != 0)) {
11056  to_bitField2_ |= 0x20000000;
11057  }
11058  result.addCgCuts_ = addCgCuts_;
11059  if (((from_bitField2_ & 0x80000000) != 0)) {
11060  to_bitField2_ |= 0x40000000;
11061  }
11062  result.addMirCuts_ = addMirCuts_;
11063  if (((from_bitField3_ & 0x00000001) != 0)) {
11064  to_bitField2_ |= 0x80000000;
11065  }
11066  result.addZeroHalfCuts_ = addZeroHalfCuts_;
11067  if (((from_bitField3_ & 0x00000002) != 0)) {
11068  to_bitField3_ |= 0x00000001;
11069  }
11070  result.addCliqueCuts_ = addCliqueCuts_;
11071  if (((from_bitField3_ & 0x00000004) != 0)) {
11072  to_bitField3_ |= 0x00000002;
11073  }
11074  result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
11075  if (((from_bitField3_ & 0x00000008) != 0)) {
11076  to_bitField3_ |= 0x00000004;
11077  }
11078  result.addLinMaxCuts_ = addLinMaxCuts_;
11079  if (((from_bitField3_ & 0x00000010) != 0)) {
11080  to_bitField3_ |= 0x00000008;
11081  }
11082  result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
11083  if (((from_bitField3_ & 0x00000020) != 0)) {
11084  to_bitField3_ |= 0x00000010;
11085  }
11086  result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
11087  if (((from_bitField3_ & 0x00000040) != 0)) {
11088  to_bitField3_ |= 0x00000020;
11089  }
11090  result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
11091  if (((from_bitField3_ & 0x00000080) != 0)) {
11092  to_bitField3_ |= 0x00000040;
11093  }
11094  result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
11095  if (((from_bitField3_ & 0x00000100) != 0)) {
11096  to_bitField3_ |= 0x00000080;
11097  }
11098  result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
11099  if (((from_bitField3_ & 0x00000200) != 0)) {
11100  to_bitField3_ |= 0x00000100;
11101  }
11102  result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
11103  if (((from_bitField3_ & 0x00000400) != 0)) {
11104  to_bitField3_ |= 0x00000200;
11105  }
11106  result.cutActiveCountDecay_ = cutActiveCountDecay_;
11107  if (((from_bitField3_ & 0x00000800) != 0)) {
11108  to_bitField3_ |= 0x00000400;
11109  }
11110  result.cutCleanupTarget_ = cutCleanupTarget_;
11111  if (((from_bitField3_ & 0x00001000) != 0)) {
11112  to_bitField3_ |= 0x00000800;
11113  }
11114  result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
11115  if (((from_bitField3_ & 0x00002000) != 0)) {
11116  to_bitField3_ |= 0x00001000;
11117  }
11118  result.searchBranching_ = searchBranching_;
11119  if (((from_bitField3_ & 0x00004000) != 0)) {
11120  to_bitField3_ |= 0x00002000;
11121  }
11122  result.hintConflictLimit_ = hintConflictLimit_;
11123  if (((from_bitField3_ & 0x00008000) != 0)) {
11124  result.repairHint_ = repairHint_;
11125  to_bitField3_ |= 0x00004000;
11126  }
11127  if (((from_bitField3_ & 0x00010000) != 0)) {
11128  to_bitField3_ |= 0x00008000;
11129  }
11130  result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
11131  if (((from_bitField3_ & 0x00020000) != 0)) {
11132  to_bitField3_ |= 0x00010000;
11133  }
11134  result.exploitAllLpSolution_ = exploitAllLpSolution_;
11135  if (((from_bitField3_ & 0x00040000) != 0)) {
11136  result.exploitBestSolution_ = exploitBestSolution_;
11137  to_bitField3_ |= 0x00020000;
11138  }
11139  if (((from_bitField3_ & 0x00080000) != 0)) {
11140  result.exploitRelaxationSolution_ = exploitRelaxationSolution_;
11141  to_bitField3_ |= 0x00040000;
11142  }
11143  if (((from_bitField3_ & 0x00100000) != 0)) {
11144  to_bitField3_ |= 0x00080000;
11145  }
11146  result.exploitObjective_ = exploitObjective_;
11147  if (((from_bitField3_ & 0x00200000) != 0)) {
11148  result.probingPeriodAtRoot_ = probingPeriodAtRoot_;
11149  to_bitField3_ |= 0x00100000;
11150  }
11151  if (((from_bitField3_ & 0x00400000) != 0)) {
11152  result.useProbingSearch_ = useProbingSearch_;
11153  to_bitField3_ |= 0x00200000;
11154  }
11155  if (((from_bitField3_ & 0x00800000) != 0)) {
11156  to_bitField3_ |= 0x00400000;
11157  }
11158  result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
11159  if (((from_bitField3_ & 0x01000000) != 0)) {
11160  result.optimizeWithCore_ = optimizeWithCore_;
11161  to_bitField3_ |= 0x00800000;
11162  }
11163  if (((from_bitField3_ & 0x02000000) != 0)) {
11164  to_bitField3_ |= 0x01000000;
11165  }
11166  result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
11167  if (((from_bitField3_ & 0x04000000) != 0)) {
11168  result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
11169  to_bitField3_ |= 0x02000000;
11170  }
11171  if (((from_bitField3_ & 0x08000000) != 0)) {
11172  result.enumerateAllSolutions_ = enumerateAllSolutions_;
11173  to_bitField3_ |= 0x04000000;
11174  }
11175  if (((from_bitField3_ & 0x10000000) != 0)) {
11176  result.keepAllFeasibleSolutionsInPresolve_ = keepAllFeasibleSolutionsInPresolve_;
11177  to_bitField3_ |= 0x08000000;
11178  }
11179  if (((from_bitField3_ & 0x20000000) != 0)) {
11180  result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
11181  to_bitField3_ |= 0x10000000;
11182  }
11183  if (((from_bitField3_ & 0x40000000) != 0)) {
11184  to_bitField3_ |= 0x20000000;
11185  }
11186  result.instantiateAllVariables_ = instantiateAllVariables_;
11187  if (((from_bitField3_ & 0x80000000) != 0)) {
11188  to_bitField3_ |= 0x40000000;
11189  }
11190  result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
11191  if (((from_bitField4_ & 0x00000001) != 0)) {
11192  result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
11193  to_bitField3_ |= 0x80000000;
11194  }
11195  if (((from_bitField4_ & 0x00000002) != 0)) {
11196  result.stopAfterPresolve_ = stopAfterPresolve_;
11197  to_bitField4_ |= 0x00000001;
11198  }
11199  if (((from_bitField4_ & 0x00000004) != 0)) {
11200  to_bitField4_ |= 0x00000002;
11201  }
11202  result.numSearchWorkers_ = numSearchWorkers_;
11203  if (((from_bitField4_ & 0x00000008) != 0)) {
11204  result.interleaveSearch_ = interleaveSearch_;
11205  to_bitField4_ |= 0x00000004;
11206  }
11207  if (((from_bitField4_ & 0x00000010) != 0)) {
11208  to_bitField4_ |= 0x00000008;
11209  }
11210  result.interleaveBatchSize_ = interleaveBatchSize_;
11211  if (((from_bitField4_ & 0x00000020) != 0)) {
11212  result.reduceMemoryUsageInInterleaveMode_ = reduceMemoryUsageInInterleaveMode_;
11213  to_bitField4_ |= 0x00000010;
11214  }
11215  if (((from_bitField4_ & 0x00000040) != 0)) {
11216  to_bitField4_ |= 0x00000020;
11217  }
11218  result.shareObjectiveBounds_ = shareObjectiveBounds_;
11219  if (((from_bitField4_ & 0x00000080) != 0)) {
11220  to_bitField4_ |= 0x00000040;
11221  }
11222  result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
11223  if (((from_bitField4_ & 0x00000100) != 0)) {
11224  result.useLnsOnly_ = useLnsOnly_;
11225  to_bitField4_ |= 0x00000080;
11226  }
11227  if (((from_bitField4_ & 0x00000200) != 0)) {
11228  result.lnsFocusOnDecisionVariables_ = lnsFocusOnDecisionVariables_;
11229  to_bitField4_ |= 0x00000100;
11230  }
11231  if (((from_bitField4_ & 0x00000400) != 0)) {
11232  to_bitField4_ |= 0x00000200;
11233  }
11234  result.useRinsLns_ = useRinsLns_;
11235  if (((from_bitField4_ & 0x00000800) != 0)) {
11236  to_bitField4_ |= 0x00000400;
11237  }
11238  result.useFeasibilityPump_ = useFeasibilityPump_;
11239  if (((from_bitField4_ & 0x00001000) != 0)) {
11240  to_bitField4_ |= 0x00000800;
11241  }
11242  result.fpRounding_ = fpRounding_;
11243  if (((from_bitField4_ & 0x00002000) != 0)) {
11244  result.useRelaxationLns_ = useRelaxationLns_;
11245  to_bitField4_ |= 0x00001000;
11246  }
11247  if (((from_bitField4_ & 0x00004000) != 0)) {
11248  result.diversifyLnsParams_ = diversifyLnsParams_;
11249  to_bitField4_ |= 0x00002000;
11250  }
11251  if (((from_bitField4_ & 0x00008000) != 0)) {
11252  result.randomizeSearch_ = randomizeSearch_;
11253  to_bitField4_ |= 0x00004000;
11254  }
11255  if (((from_bitField4_ & 0x00010000) != 0)) {
11256  result.searchRandomizationTolerance_ = searchRandomizationTolerance_;
11257  to_bitField4_ |= 0x00008000;
11258  }
11259  if (((from_bitField4_ & 0x00020000) != 0)) {
11260  to_bitField4_ |= 0x00010000;
11261  }
11262  result.useOptionalVariables_ = useOptionalVariables_;
11263  if (((from_bitField4_ & 0x00040000) != 0)) {
11264  to_bitField4_ |= 0x00020000;
11265  }
11266  result.useExactLpReason_ = useExactLpReason_;
11267  if (((from_bitField4_ & 0x00080000) != 0)) {
11268  result.useBranchingInLp_ = useBranchingInLp_;
11269  to_bitField4_ |= 0x00040000;
11270  }
11271  if (((from_bitField4_ & 0x00100000) != 0)) {
11272  result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
11273  to_bitField4_ |= 0x00080000;
11274  }
11275  if (((from_bitField4_ & 0x00200000) != 0)) {
11276  to_bitField4_ |= 0x00100000;
11277  }
11278  result.catchSigintSignal_ = catchSigintSignal_;
11279  if (((from_bitField4_ & 0x00400000) != 0)) {
11280  to_bitField4_ |= 0x00200000;
11281  }
11282  result.useImpliedBounds_ = useImpliedBounds_;
11283  if (((from_bitField4_ & 0x00800000) != 0)) {
11284  result.polishLpSolution_ = polishLpSolution_;
11285  to_bitField4_ |= 0x00400000;
11286  }
11287  if (((from_bitField4_ & 0x01000000) != 0)) {
11288  result.convertIntervals_ = convertIntervals_;
11289  to_bitField4_ |= 0x00800000;
11290  }
11291  if (((from_bitField4_ & 0x02000000) != 0)) {
11292  to_bitField4_ |= 0x01000000;
11293  }
11294  result.mipMaxBound_ = mipMaxBound_;
11295  if (((from_bitField4_ & 0x04000000) != 0)) {
11296  to_bitField4_ |= 0x02000000;
11297  }
11298  result.mipVarScaling_ = mipVarScaling_;
11299  if (((from_bitField4_ & 0x08000000) != 0)) {
11300  to_bitField4_ |= 0x04000000;
11301  }
11302  result.mipAutomaticallyScaleVariables_ = mipAutomaticallyScaleVariables_;
11303  if (((from_bitField4_ & 0x10000000) != 0)) {
11304  to_bitField4_ |= 0x08000000;
11305  }
11306  result.mipWantedPrecision_ = mipWantedPrecision_;
11307  if (((from_bitField4_ & 0x20000000) != 0)) {
11308  to_bitField4_ |= 0x10000000;
11309  }
11310  result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
11311  if (((from_bitField4_ & 0x40000000) != 0)) {
11312  to_bitField4_ |= 0x20000000;
11313  }
11314  result.mipCheckPrecision_ = mipCheckPrecision_;
11315  result.bitField0_ = to_bitField0_;
11316  result.bitField1_ = to_bitField1_;
11317  result.bitField2_ = to_bitField2_;
11318  result.bitField3_ = to_bitField3_;
11319  result.bitField4_ = to_bitField4_;
11320  onBuilt();
11321  return result;
11322  }
11323 
11324  @java.lang.Override
11325  public Builder clone() {
11326  return super.clone();
11327  }
11328  @java.lang.Override
11330  com.google.protobuf.Descriptors.FieldDescriptor field,
11331  java.lang.Object value) {
11332  return super.setField(field, value);
11333  }
11334  @java.lang.Override
11336  com.google.protobuf.Descriptors.FieldDescriptor field) {
11337  return super.clearField(field);
11338  }
11339  @java.lang.Override
11341  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
11342  return super.clearOneof(oneof);
11343  }
11344  @java.lang.Override
11346  com.google.protobuf.Descriptors.FieldDescriptor field,
11347  int index, java.lang.Object value) {
11348  return super.setRepeatedField(field, index, value);
11349  }
11350  @java.lang.Override
11352  com.google.protobuf.Descriptors.FieldDescriptor field,
11353  java.lang.Object value) {
11354  return super.addRepeatedField(field, value);
11355  }
11356  @java.lang.Override
11357  public Builder mergeFrom(com.google.protobuf.Message other) {
11358  if (other instanceof com.google.ortools.sat.SatParameters) {
11359  return mergeFrom((com.google.ortools.sat.SatParameters)other);
11360  } else {
11361  super.mergeFrom(other);
11362  return this;
11363  }
11364  }
11365 
11367  if (other == com.google.ortools.sat.SatParameters.getDefaultInstance()) return this;
11368  if (other.hasName()) {
11369  bitField0_ |= 0x00000001;
11370  name_ = other.name_;
11371  onChanged();
11372  }
11373  if (other.hasPreferredVariableOrder()) {
11374  setPreferredVariableOrder(other.getPreferredVariableOrder());
11375  }
11376  if (other.hasInitialPolarity()) {
11377  setInitialPolarity(other.getInitialPolarity());
11378  }
11379  if (other.hasUsePhaseSaving()) {
11380  setUsePhaseSaving(other.getUsePhaseSaving());
11381  }
11382  if (other.hasPolarityRephaseIncrement()) {
11383  setPolarityRephaseIncrement(other.getPolarityRephaseIncrement());
11384  }
11385  if (other.hasRandomPolarityRatio()) {
11386  setRandomPolarityRatio(other.getRandomPolarityRatio());
11387  }
11388  if (other.hasRandomBranchesRatio()) {
11389  setRandomBranchesRatio(other.getRandomBranchesRatio());
11390  }
11391  if (other.hasUseErwaHeuristic()) {
11392  setUseErwaHeuristic(other.getUseErwaHeuristic());
11393  }
11394  if (other.hasInitialVariablesActivity()) {
11395  setInitialVariablesActivity(other.getInitialVariablesActivity());
11396  }
11397  if (other.hasAlsoBumpVariablesInConflictReasons()) {
11398  setAlsoBumpVariablesInConflictReasons(other.getAlsoBumpVariablesInConflictReasons());
11399  }
11400  if (other.hasMinimizationAlgorithm()) {
11401  setMinimizationAlgorithm(other.getMinimizationAlgorithm());
11402  }
11403  if (other.hasBinaryMinimizationAlgorithm()) {
11404  setBinaryMinimizationAlgorithm(other.getBinaryMinimizationAlgorithm());
11405  }
11406  if (other.hasSubsumptionDuringConflictAnalysis()) {
11407  setSubsumptionDuringConflictAnalysis(other.getSubsumptionDuringConflictAnalysis());
11408  }
11409  if (other.hasClauseCleanupPeriod()) {
11410  setClauseCleanupPeriod(other.getClauseCleanupPeriod());
11411  }
11412  if (other.hasClauseCleanupTarget()) {
11413  setClauseCleanupTarget(other.getClauseCleanupTarget());
11414  }
11415  if (other.hasClauseCleanupProtection()) {
11416  setClauseCleanupProtection(other.getClauseCleanupProtection());
11417  }
11418  if (other.hasClauseCleanupLbdBound()) {
11419  setClauseCleanupLbdBound(other.getClauseCleanupLbdBound());
11420  }
11421  if (other.hasClauseCleanupOrdering()) {
11422  setClauseCleanupOrdering(other.getClauseCleanupOrdering());
11423  }
11424  if (other.hasPbCleanupIncrement()) {
11425  setPbCleanupIncrement(other.getPbCleanupIncrement());
11426  }
11427  if (other.hasPbCleanupRatio()) {
11428  setPbCleanupRatio(other.getPbCleanupRatio());
11429  }
11430  if (other.hasMinimizeWithPropagationRestartPeriod()) {
11431  setMinimizeWithPropagationRestartPeriod(other.getMinimizeWithPropagationRestartPeriod());
11432  }
11433  if (other.hasMinimizeWithPropagationNumDecisions()) {
11434  setMinimizeWithPropagationNumDecisions(other.getMinimizeWithPropagationNumDecisions());
11435  }
11436  if (other.hasVariableActivityDecay()) {
11437  setVariableActivityDecay(other.getVariableActivityDecay());
11438  }
11439  if (other.hasMaxVariableActivityValue()) {
11440  setMaxVariableActivityValue(other.getMaxVariableActivityValue());
11441  }
11442  if (other.hasGlucoseMaxDecay()) {
11443  setGlucoseMaxDecay(other.getGlucoseMaxDecay());
11444  }
11445  if (other.hasGlucoseDecayIncrement()) {
11446  setGlucoseDecayIncrement(other.getGlucoseDecayIncrement());
11447  }
11448  if (other.hasGlucoseDecayIncrementPeriod()) {
11449  setGlucoseDecayIncrementPeriod(other.getGlucoseDecayIncrementPeriod());
11450  }
11451  if (other.hasClauseActivityDecay()) {
11452  setClauseActivityDecay(other.getClauseActivityDecay());
11453  }
11454  if (other.hasMaxClauseActivityValue()) {
11455  setMaxClauseActivityValue(other.getMaxClauseActivityValue());
11456  }
11457  if (!other.restartAlgorithms_.isEmpty()) {
11458  if (restartAlgorithms_.isEmpty()) {
11459  restartAlgorithms_ = other.restartAlgorithms_;
11460  bitField0_ = (bitField0_ & ~0x20000000);
11461  } else {
11462  ensureRestartAlgorithmsIsMutable();
11463  restartAlgorithms_.addAll(other.restartAlgorithms_);
11464  }
11465  onChanged();
11466  }
11467  if (other.hasDefaultRestartAlgorithms()) {
11468  bitField0_ |= 0x40000000;
11469  defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
11470  onChanged();
11471  }
11472  if (other.hasRestartPeriod()) {
11473  setRestartPeriod(other.getRestartPeriod());
11474  }
11475  if (other.hasRestartRunningWindowSize()) {
11476  setRestartRunningWindowSize(other.getRestartRunningWindowSize());
11477  }
11478  if (other.hasRestartDlAverageRatio()) {
11479  setRestartDlAverageRatio(other.getRestartDlAverageRatio());
11480  }
11481  if (other.hasRestartLbdAverageRatio()) {
11482  setRestartLbdAverageRatio(other.getRestartLbdAverageRatio());
11483  }
11484  if (other.hasUseBlockingRestart()) {
11485  setUseBlockingRestart(other.getUseBlockingRestart());
11486  }
11487  if (other.hasBlockingRestartWindowSize()) {
11488  setBlockingRestartWindowSize(other.getBlockingRestartWindowSize());
11489  }
11490  if (other.hasBlockingRestartMultiplier()) {
11491  setBlockingRestartMultiplier(other.getBlockingRestartMultiplier());
11492  }
11493  if (other.hasNumConflictsBeforeStrategyChanges()) {
11494  setNumConflictsBeforeStrategyChanges(other.getNumConflictsBeforeStrategyChanges());
11495  }
11496  if (other.hasStrategyChangeIncreaseRatio()) {
11497  setStrategyChangeIncreaseRatio(other.getStrategyChangeIncreaseRatio());
11498  }
11499  if (other.hasMaxTimeInSeconds()) {
11500  setMaxTimeInSeconds(other.getMaxTimeInSeconds());
11501  }
11502  if (other.hasMaxDeterministicTime()) {
11503  setMaxDeterministicTime(other.getMaxDeterministicTime());
11504  }
11505  if (other.hasMaxNumberOfConflicts()) {
11506  setMaxNumberOfConflicts(other.getMaxNumberOfConflicts());
11507  }
11508  if (other.hasMaxMemoryInMb()) {
11509  setMaxMemoryInMb(other.getMaxMemoryInMb());
11510  }
11511  if (other.hasAbsoluteGapLimit()) {
11512  setAbsoluteGapLimit(other.getAbsoluteGapLimit());
11513  }
11514  if (other.hasRelativeGapLimit()) {
11515  setRelativeGapLimit(other.getRelativeGapLimit());
11516  }
11517  if (other.hasTreatBinaryClausesSeparately()) {
11518  setTreatBinaryClausesSeparately(other.getTreatBinaryClausesSeparately());
11519  }
11520  if (other.hasRandomSeed()) {
11521  setRandomSeed(other.getRandomSeed());
11522  }
11523  if (other.hasPermuteVariableRandomly()) {
11524  setPermuteVariableRandomly(other.getPermuteVariableRandomly());
11525  }
11526  if (other.hasPermutePresolveConstraintOrder()) {
11527  setPermutePresolveConstraintOrder(other.getPermutePresolveConstraintOrder());
11528  }
11529  if (other.hasUseAbslRandom()) {
11530  setUseAbslRandom(other.getUseAbslRandom());
11531  }
11532  if (other.hasLogSearchProgress()) {
11533  setLogSearchProgress(other.getLogSearchProgress());
11534  }
11535  if (other.hasUsePbResolution()) {
11536  setUsePbResolution(other.getUsePbResolution());
11537  }
11538  if (other.hasMinimizeReductionDuringPbResolution()) {
11539  setMinimizeReductionDuringPbResolution(other.getMinimizeReductionDuringPbResolution());
11540  }
11541  if (other.hasCountAssumptionLevelsInLbd()) {
11542  setCountAssumptionLevelsInLbd(other.getCountAssumptionLevelsInLbd());
11543  }
11544  if (other.hasPresolveBveThreshold()) {
11545  setPresolveBveThreshold(other.getPresolveBveThreshold());
11546  }
11547  if (other.hasPresolveBveClauseWeight()) {
11548  setPresolveBveClauseWeight(other.getPresolveBveClauseWeight());
11549  }
11550  if (other.hasPresolveProbingDeterministicTimeLimit()) {
11551  setPresolveProbingDeterministicTimeLimit(other.getPresolveProbingDeterministicTimeLimit());
11552  }
11553  if (other.hasPresolveBlockedClause()) {
11554  setPresolveBlockedClause(other.getPresolveBlockedClause());
11555  }
11556  if (other.hasPresolveUseBva()) {
11557  setPresolveUseBva(other.getPresolveUseBva());
11558  }
11559  if (other.hasPresolveBvaThreshold()) {
11560  setPresolveBvaThreshold(other.getPresolveBvaThreshold());
11561  }
11562  if (other.hasMaxPresolveIterations()) {
11563  setMaxPresolveIterations(other.getMaxPresolveIterations());
11564  }
11565  if (other.hasCpModelPresolve()) {
11566  setCpModelPresolve(other.getCpModelPresolve());
11567  }
11568  if (other.hasCpModelPostsolveWithFullSolver()) {
11569  setCpModelPostsolveWithFullSolver(other.getCpModelPostsolveWithFullSolver());
11570  }
11571  if (other.hasCpModelMaxNumPresolveOperations()) {
11572  setCpModelMaxNumPresolveOperations(other.getCpModelMaxNumPresolveOperations());
11573  }
11574  if (other.hasCpModelProbingLevel()) {
11575  setCpModelProbingLevel(other.getCpModelProbingLevel());
11576  }
11577  if (other.hasCpModelUseSatPresolve()) {
11578  setCpModelUseSatPresolve(other.getCpModelUseSatPresolve());
11579  }
11580  if (other.hasUseSatInprocessing()) {
11581  setUseSatInprocessing(other.getUseSatInprocessing());
11582  }
11583  if (other.hasExpandElementConstraints()) {
11584  setExpandElementConstraints(other.getExpandElementConstraints());
11585  }
11586  if (other.hasExpandAutomatonConstraints()) {
11587  setExpandAutomatonConstraints(other.getExpandAutomatonConstraints());
11588  }
11589  if (other.hasExpandTableConstraints()) {
11590  setExpandTableConstraints(other.getExpandTableConstraints());
11591  }
11592  if (other.hasExpandAlldiffConstraints()) {
11593  setExpandAlldiffConstraints(other.getExpandAlldiffConstraints());
11594  }
11595  if (other.hasExpandReservoirConstraints()) {
11596  setExpandReservoirConstraints(other.getExpandReservoirConstraints());
11597  }
11598  if (other.hasDisableConstraintExpansion()) {
11599  setDisableConstraintExpansion(other.getDisableConstraintExpansion());
11600  }
11601  if (other.hasMergeNoOverlapWorkLimit()) {
11602  setMergeNoOverlapWorkLimit(other.getMergeNoOverlapWorkLimit());
11603  }
11604  if (other.hasMergeAtMostOneWorkLimit()) {
11605  setMergeAtMostOneWorkLimit(other.getMergeAtMostOneWorkLimit());
11606  }
11607  if (other.hasPresolveSubstitutionLevel()) {
11608  setPresolveSubstitutionLevel(other.getPresolveSubstitutionLevel());
11609  }
11610  if (other.hasPresolveExtractIntegerEnforcement()) {
11611  setPresolveExtractIntegerEnforcement(other.getPresolveExtractIntegerEnforcement());
11612  }
11613  if (other.hasUseOptimizationHints()) {
11614  setUseOptimizationHints(other.getUseOptimizationHints());
11615  }
11616  if (other.hasMinimizeCore()) {
11617  setMinimizeCore(other.getMinimizeCore());
11618  }
11619  if (other.hasFindMultipleCores()) {
11620  setFindMultipleCores(other.getFindMultipleCores());
11621  }
11622  if (other.hasCoverOptimization()) {
11623  setCoverOptimization(other.getCoverOptimization());
11624  }
11625  if (other.hasMaxSatAssumptionOrder()) {
11626  setMaxSatAssumptionOrder(other.getMaxSatAssumptionOrder());
11627  }
11628  if (other.hasMaxSatReverseAssumptionOrder()) {
11629  setMaxSatReverseAssumptionOrder(other.getMaxSatReverseAssumptionOrder());
11630  }
11631  if (other.hasMaxSatStratification()) {
11632  setMaxSatStratification(other.getMaxSatStratification());
11633  }
11634  if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
11635  setUsePrecedencesInDisjunctiveConstraint(other.getUsePrecedencesInDisjunctiveConstraint());
11636  }
11637  if (other.hasUseOverloadCheckerInCumulativeConstraint()) {
11638  setUseOverloadCheckerInCumulativeConstraint(other.getUseOverloadCheckerInCumulativeConstraint());
11639  }
11640  if (other.hasUseTimetableEdgeFindingInCumulativeConstraint()) {
11641  setUseTimetableEdgeFindingInCumulativeConstraint(other.getUseTimetableEdgeFindingInCumulativeConstraint());
11642  }
11643  if (other.hasUseDisjunctiveConstraintInCumulativeConstraint()) {
11644  setUseDisjunctiveConstraintInCumulativeConstraint(other.getUseDisjunctiveConstraintInCumulativeConstraint());
11645  }
11646  if (other.hasLinearizationLevel()) {
11647  setLinearizationLevel(other.getLinearizationLevel());
11648  }
11649  if (other.hasBooleanEncodingLevel()) {
11650  setBooleanEncodingLevel(other.getBooleanEncodingLevel());
11651  }
11652  if (other.hasMaxNumCuts()) {
11653  setMaxNumCuts(other.getMaxNumCuts());
11654  }
11655  if (other.hasOnlyAddCutsAtLevelZero()) {
11656  setOnlyAddCutsAtLevelZero(other.getOnlyAddCutsAtLevelZero());
11657  }
11658  if (other.hasAddKnapsackCuts()) {
11659  setAddKnapsackCuts(other.getAddKnapsackCuts());
11660  }
11661  if (other.hasAddCgCuts()) {
11662  setAddCgCuts(other.getAddCgCuts());
11663  }
11664  if (other.hasAddMirCuts()) {
11665  setAddMirCuts(other.getAddMirCuts());
11666  }
11667  if (other.hasAddZeroHalfCuts()) {
11668  setAddZeroHalfCuts(other.getAddZeroHalfCuts());
11669  }
11670  if (other.hasAddCliqueCuts()) {
11671  setAddCliqueCuts(other.getAddCliqueCuts());
11672  }
11673  if (other.hasMaxAllDiffCutSize()) {
11674  setMaxAllDiffCutSize(other.getMaxAllDiffCutSize());
11675  }
11676  if (other.hasAddLinMaxCuts()) {
11677  setAddLinMaxCuts(other.getAddLinMaxCuts());
11678  }
11679  if (other.hasMaxIntegerRoundingScaling()) {
11680  setMaxIntegerRoundingScaling(other.getMaxIntegerRoundingScaling());
11681  }
11682  if (other.hasAddLpConstraintsLazily()) {
11683  setAddLpConstraintsLazily(other.getAddLpConstraintsLazily());
11684  }
11685  if (other.hasMinOrthogonalityForLpConstraints()) {
11686  setMinOrthogonalityForLpConstraints(other.getMinOrthogonalityForLpConstraints());
11687  }
11688  if (other.hasMaxCutRoundsAtLevelZero()) {
11689  setMaxCutRoundsAtLevelZero(other.getMaxCutRoundsAtLevelZero());
11690  }
11691  if (other.hasMaxConsecutiveInactiveCount()) {
11692  setMaxConsecutiveInactiveCount(other.getMaxConsecutiveInactiveCount());
11693  }
11694  if (other.hasCutMaxActiveCountValue()) {
11695  setCutMaxActiveCountValue(other.getCutMaxActiveCountValue());
11696  }
11697  if (other.hasCutActiveCountDecay()) {
11698  setCutActiveCountDecay(other.getCutActiveCountDecay());
11699  }
11700  if (other.hasCutCleanupTarget()) {
11701  setCutCleanupTarget(other.getCutCleanupTarget());
11702  }
11703  if (other.hasNewConstraintsBatchSize()) {
11704  setNewConstraintsBatchSize(other.getNewConstraintsBatchSize());
11705  }
11706  if (other.hasSearchBranching()) {
11707  setSearchBranching(other.getSearchBranching());
11708  }
11709  if (other.hasHintConflictLimit()) {
11710  setHintConflictLimit(other.getHintConflictLimit());
11711  }
11712  if (other.hasRepairHint()) {
11713  setRepairHint(other.getRepairHint());
11714  }
11715  if (other.hasExploitIntegerLpSolution()) {
11716  setExploitIntegerLpSolution(other.getExploitIntegerLpSolution());
11717  }
11718  if (other.hasExploitAllLpSolution()) {
11719  setExploitAllLpSolution(other.getExploitAllLpSolution());
11720  }
11721  if (other.hasExploitBestSolution()) {
11722  setExploitBestSolution(other.getExploitBestSolution());
11723  }
11724  if (other.hasExploitRelaxationSolution()) {
11725  setExploitRelaxationSolution(other.getExploitRelaxationSolution());
11726  }
11727  if (other.hasExploitObjective()) {
11728  setExploitObjective(other.getExploitObjective());
11729  }
11730  if (other.hasProbingPeriodAtRoot()) {
11731  setProbingPeriodAtRoot(other.getProbingPeriodAtRoot());
11732  }
11733  if (other.hasUseProbingSearch()) {
11734  setUseProbingSearch(other.getUseProbingSearch());
11735  }
11736  if (other.hasPseudoCostReliabilityThreshold()) {
11737  setPseudoCostReliabilityThreshold(other.getPseudoCostReliabilityThreshold());
11738  }
11739  if (other.hasOptimizeWithCore()) {
11740  setOptimizeWithCore(other.getOptimizeWithCore());
11741  }
11742  if (other.hasBinarySearchNumConflicts()) {
11743  setBinarySearchNumConflicts(other.getBinarySearchNumConflicts());
11744  }
11745  if (other.hasOptimizeWithMaxHs()) {
11746  setOptimizeWithMaxHs(other.getOptimizeWithMaxHs());
11747  }
11748  if (other.hasEnumerateAllSolutions()) {
11749  setEnumerateAllSolutions(other.getEnumerateAllSolutions());
11750  }
11751  if (other.hasKeepAllFeasibleSolutionsInPresolve()) {
11752  setKeepAllFeasibleSolutionsInPresolve(other.getKeepAllFeasibleSolutionsInPresolve());
11753  }
11754  if (other.hasFillTightenedDomainsInResponse()) {
11755  setFillTightenedDomainsInResponse(other.getFillTightenedDomainsInResponse());
11756  }
11757  if (other.hasInstantiateAllVariables()) {
11758  setInstantiateAllVariables(other.getInstantiateAllVariables());
11759  }
11760  if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
11761  setAutoDetectGreaterThanAtLeastOneOf(other.getAutoDetectGreaterThanAtLeastOneOf());
11762  }
11763  if (other.hasStopAfterFirstSolution()) {
11764  setStopAfterFirstSolution(other.getStopAfterFirstSolution());
11765  }
11766  if (other.hasStopAfterPresolve()) {
11767  setStopAfterPresolve(other.getStopAfterPresolve());
11768  }
11769  if (other.hasNumSearchWorkers()) {
11770  setNumSearchWorkers(other.getNumSearchWorkers());
11771  }
11772  if (other.hasInterleaveSearch()) {
11773  setInterleaveSearch(other.getInterleaveSearch());
11774  }
11775  if (other.hasInterleaveBatchSize()) {
11776  setInterleaveBatchSize(other.getInterleaveBatchSize());
11777  }
11778  if (other.hasReduceMemoryUsageInInterleaveMode()) {
11779  setReduceMemoryUsageInInterleaveMode(other.getReduceMemoryUsageInInterleaveMode());
11780  }
11781  if (other.hasShareObjectiveBounds()) {
11782  setShareObjectiveBounds(other.getShareObjectiveBounds());
11783  }
11784  if (other.hasShareLevelZeroBounds()) {
11785  setShareLevelZeroBounds(other.getShareLevelZeroBounds());
11786  }
11787  if (other.hasUseLnsOnly()) {
11788  setUseLnsOnly(other.getUseLnsOnly());
11789  }
11790  if (other.hasLnsFocusOnDecisionVariables()) {
11791  setLnsFocusOnDecisionVariables(other.getLnsFocusOnDecisionVariables());
11792  }
11793  if (other.hasUseRinsLns()) {
11794  setUseRinsLns(other.getUseRinsLns());
11795  }
11796  if (other.hasUseFeasibilityPump()) {
11797  setUseFeasibilityPump(other.getUseFeasibilityPump());
11798  }
11799  if (other.hasFpRounding()) {
11800  setFpRounding(other.getFpRounding());
11801  }
11802  if (other.hasUseRelaxationLns()) {
11803  setUseRelaxationLns(other.getUseRelaxationLns());
11804  }
11805  if (other.hasDiversifyLnsParams()) {
11806  setDiversifyLnsParams(other.getDiversifyLnsParams());
11807  }
11808  if (other.hasRandomizeSearch()) {
11809  setRandomizeSearch(other.getRandomizeSearch());
11810  }
11811  if (other.hasSearchRandomizationTolerance()) {
11812  setSearchRandomizationTolerance(other.getSearchRandomizationTolerance());
11813  }
11814  if (other.hasUseOptionalVariables()) {
11815  setUseOptionalVariables(other.getUseOptionalVariables());
11816  }
11817  if (other.hasUseExactLpReason()) {
11818  setUseExactLpReason(other.getUseExactLpReason());
11819  }
11820  if (other.hasUseBranchingInLp()) {
11821  setUseBranchingInLp(other.getUseBranchingInLp());
11822  }
11823  if (other.hasUseCombinedNoOverlap()) {
11824  setUseCombinedNoOverlap(other.getUseCombinedNoOverlap());
11825  }
11826  if (other.hasCatchSigintSignal()) {
11827  setCatchSigintSignal(other.getCatchSigintSignal());
11828  }
11829  if (other.hasUseImpliedBounds()) {
11830  setUseImpliedBounds(other.getUseImpliedBounds());
11831  }
11832  if (other.hasPolishLpSolution()) {
11833  setPolishLpSolution(other.getPolishLpSolution());
11834  }
11835  if (other.hasConvertIntervals()) {
11836  setConvertIntervals(other.getConvertIntervals());
11837  }
11838  if (other.hasMipMaxBound()) {
11839  setMipMaxBound(other.getMipMaxBound());
11840  }
11841  if (other.hasMipVarScaling()) {
11842  setMipVarScaling(other.getMipVarScaling());
11843  }
11844  if (other.hasMipAutomaticallyScaleVariables()) {
11845  setMipAutomaticallyScaleVariables(other.getMipAutomaticallyScaleVariables());
11846  }
11847  if (other.hasMipWantedPrecision()) {
11848  setMipWantedPrecision(other.getMipWantedPrecision());
11849  }
11850  if (other.hasMipMaxActivityExponent()) {
11851  setMipMaxActivityExponent(other.getMipMaxActivityExponent());
11852  }
11853  if (other.hasMipCheckPrecision()) {
11854  setMipCheckPrecision(other.getMipCheckPrecision());
11855  }
11856  this.mergeUnknownFields(other.unknownFields);
11857  onChanged();
11858  return this;
11859  }
11860 
11861  @java.lang.Override
11862  public final boolean isInitialized() {
11863  return true;
11864  }
11865 
11866  @java.lang.Override
11868  com.google.protobuf.CodedInputStream input,
11869  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11870  throws java.io.IOException {
11871  com.google.ortools.sat.SatParameters parsedMessage = null;
11872  try {
11873  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11874  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11875  parsedMessage = (com.google.ortools.sat.SatParameters) e.getUnfinishedMessage();
11876  throw e.unwrapIOException();
11877  } finally {
11878  if (parsedMessage != null) {
11879  mergeFrom(parsedMessage);
11880  }
11881  }
11882  return this;
11883  }
11884  private int bitField0_;
11885  private int bitField1_;
11886  private int bitField2_;
11887  private int bitField3_;
11888  private int bitField4_;
11889 
11890  private java.lang.Object name_ = "";
11900  public boolean hasName() {
11901  return ((bitField0_ & 0x00000001) != 0);
11902  }
11912  public java.lang.String getName() {
11913  java.lang.Object ref = name_;
11914  if (!(ref instanceof java.lang.String)) {
11915  com.google.protobuf.ByteString bs =
11916  (com.google.protobuf.ByteString) ref;
11917  java.lang.String s = bs.toStringUtf8();
11918  if (bs.isValidUtf8()) {
11919  name_ = s;
11920  }
11921  return s;
11922  } else {
11923  return (java.lang.String) ref;
11924  }
11925  }
11935  public com.google.protobuf.ByteString
11937  java.lang.Object ref = name_;
11938  if (ref instanceof String) {
11939  com.google.protobuf.ByteString b =
11940  com.google.protobuf.ByteString.copyFromUtf8(
11941  (java.lang.String) ref);
11942  name_ = b;
11943  return b;
11944  } else {
11945  return (com.google.protobuf.ByteString) ref;
11946  }
11947  }
11959  java.lang.String value) {
11960  if (value == null) {
11961  throw new NullPointerException();
11962  }
11963  bitField0_ |= 0x00000001;
11964  name_ = value;
11965  onChanged();
11966  return this;
11967  }
11977  public Builder clearName() {
11978  bitField0_ = (bitField0_ & ~0x00000001);
11979  name_ = getDefaultInstance().getName();
11980  onChanged();
11981  return this;
11982  }
11994  com.google.protobuf.ByteString value) {
11995  if (value == null) {
11996  throw new NullPointerException();
11997  }
11998  bitField0_ |= 0x00000001;
11999  name_ = value;
12000  onChanged();
12001  return this;
12002  }
12003 
12004  private int preferredVariableOrder_ = 0;
12009  @java.lang.Override public boolean hasPreferredVariableOrder() {
12010  return ((bitField0_ & 0x00000002) != 0);
12011  }
12016  @java.lang.Override
12018  @SuppressWarnings("deprecation")
12020  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
12021  }
12028  if (value == null) {
12029  throw new NullPointerException();
12030  }
12031  bitField0_ |= 0x00000002;
12032  preferredVariableOrder_ = value.getNumber();
12033  onChanged();
12034  return this;
12035  }
12041  bitField0_ = (bitField0_ & ~0x00000002);
12042  preferredVariableOrder_ = 0;
12043  onChanged();
12044  return this;
12045  }
12046 
12047  private int initialPolarity_ = 1;
12052  @java.lang.Override public boolean hasInitialPolarity() {
12053  return ((bitField0_ & 0x00000004) != 0);
12054  }
12059  @java.lang.Override
12061  @SuppressWarnings("deprecation")
12063  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
12064  }
12071  if (value == null) {
12072  throw new NullPointerException();
12073  }
12074  bitField0_ |= 0x00000004;
12075  initialPolarity_ = value.getNumber();
12076  onChanged();
12077  return this;
12078  }
12084  bitField0_ = (bitField0_ & ~0x00000004);
12085  initialPolarity_ = 1;
12086  onChanged();
12087  return this;
12088  }
12089 
12090  private boolean usePhaseSaving_ = true;
12107  @java.lang.Override
12108  public boolean hasUsePhaseSaving() {
12109  return ((bitField0_ & 0x00000008) != 0);
12110  }
12127  @java.lang.Override
12128  public boolean getUsePhaseSaving() {
12129  return usePhaseSaving_;
12130  }
12148  public Builder setUsePhaseSaving(boolean value) {
12149  bitField0_ |= 0x00000008;
12150  usePhaseSaving_ = value;
12151  onChanged();
12152  return this;
12153  }
12171  bitField0_ = (bitField0_ & ~0x00000008);
12172  usePhaseSaving_ = true;
12173  onChanged();
12174  return this;
12175  }
12176 
12177  private int polarityRephaseIncrement_ = 1000;
12188  @java.lang.Override
12189  public boolean hasPolarityRephaseIncrement() {
12190  return ((bitField0_ & 0x00000010) != 0);
12191  }
12202  @java.lang.Override
12204  return polarityRephaseIncrement_;
12205  }
12218  bitField0_ |= 0x00000010;
12219  polarityRephaseIncrement_ = value;
12220  onChanged();
12221  return this;
12222  }
12234  bitField0_ = (bitField0_ & ~0x00000010);
12235  polarityRephaseIncrement_ = 1000;
12236  onChanged();
12237  return this;
12238  }
12239 
12240  private double randomPolarityRatio_ ;
12253  @java.lang.Override
12254  public boolean hasRandomPolarityRatio() {
12255  return ((bitField0_ & 0x00000020) != 0);
12256  }
12269  @java.lang.Override
12270  public double getRandomPolarityRatio() {
12271  return randomPolarityRatio_;
12272  }
12286  public Builder setRandomPolarityRatio(double value) {
12287  bitField0_ |= 0x00000020;
12288  randomPolarityRatio_ = value;
12289  onChanged();
12290  return this;
12291  }
12305  bitField0_ = (bitField0_ & ~0x00000020);
12306  randomPolarityRatio_ = 0D;
12307  onChanged();
12308  return this;
12309  }
12310 
12311  private double randomBranchesRatio_ ;
12322  @java.lang.Override
12323  public boolean hasRandomBranchesRatio() {
12324  return ((bitField0_ & 0x00000040) != 0);
12325  }
12336  @java.lang.Override
12337  public double getRandomBranchesRatio() {
12338  return randomBranchesRatio_;
12339  }
12351  public Builder setRandomBranchesRatio(double value) {
12352  bitField0_ |= 0x00000040;
12353  randomBranchesRatio_ = value;
12354  onChanged();
12355  return this;
12356  }
12368  bitField0_ = (bitField0_ & ~0x00000040);
12369  randomBranchesRatio_ = 0D;
12370  onChanged();
12371  return this;
12372  }
12373 
12374  private boolean useErwaHeuristic_ ;
12385  @java.lang.Override
12386  public boolean hasUseErwaHeuristic() {
12387  return ((bitField0_ & 0x00000080) != 0);
12388  }
12399  @java.lang.Override
12400  public boolean getUseErwaHeuristic() {
12401  return useErwaHeuristic_;
12402  }
12414  public Builder setUseErwaHeuristic(boolean value) {
12415  bitField0_ |= 0x00000080;
12416  useErwaHeuristic_ = value;
12417  onChanged();
12418  return this;
12419  }
12431  bitField0_ = (bitField0_ & ~0x00000080);
12432  useErwaHeuristic_ = false;
12433  onChanged();
12434  return this;
12435  }
12436 
12437  private double initialVariablesActivity_ ;
12451  @java.lang.Override
12452  public boolean hasInitialVariablesActivity() {
12453  return ((bitField0_ & 0x00000100) != 0);
12454  }
12468  @java.lang.Override
12470  return initialVariablesActivity_;
12471  }
12486  public Builder setInitialVariablesActivity(double value) {
12487  bitField0_ |= 0x00000100;
12488  initialVariablesActivity_ = value;
12489  onChanged();
12490  return this;
12491  }
12506  bitField0_ = (bitField0_ & ~0x00000100);
12507  initialVariablesActivity_ = 0D;
12508  onChanged();
12509  return this;
12510  }
12511 
12512  private boolean alsoBumpVariablesInConflictReasons_ ;
12524  @java.lang.Override
12526  return ((bitField0_ & 0x00000200) != 0);
12527  }
12539  @java.lang.Override
12541  return alsoBumpVariablesInConflictReasons_;
12542  }
12556  bitField0_ |= 0x00000200;
12557  alsoBumpVariablesInConflictReasons_ = value;
12558  onChanged();
12559  return this;
12560  }
12573  bitField0_ = (bitField0_ & ~0x00000200);
12574  alsoBumpVariablesInConflictReasons_ = false;
12575  onChanged();
12576  return this;
12577  }
12578 
12579  private int minimizationAlgorithm_ = 2;
12584  @java.lang.Override public boolean hasMinimizationAlgorithm() {
12585  return ((bitField0_ & 0x00000400) != 0);
12586  }
12591  @java.lang.Override
12593  @SuppressWarnings("deprecation")
12595  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
12596  }
12603  if (value == null) {
12604  throw new NullPointerException();
12605  }
12606  bitField0_ |= 0x00000400;
12607  minimizationAlgorithm_ = value.getNumber();
12608  onChanged();
12609  return this;
12610  }
12616  bitField0_ = (bitField0_ & ~0x00000400);
12617  minimizationAlgorithm_ = 2;
12618  onChanged();
12619  return this;
12620  }
12621 
12622  private int binaryMinimizationAlgorithm_ = 1;
12627  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
12628  return ((bitField0_ & 0x00000800) != 0);
12629  }
12634  @java.lang.Override
12636  @SuppressWarnings("deprecation")
12639  }
12646  if (value == null) {
12647  throw new NullPointerException();
12648  }
12649  bitField0_ |= 0x00000800;
12650  binaryMinimizationAlgorithm_ = value.getNumber();
12651  onChanged();
12652  return this;
12653  }
12659  bitField0_ = (bitField0_ & ~0x00000800);
12660  binaryMinimizationAlgorithm_ = 1;
12661  onChanged();
12662  return this;
12663  }
12664 
12665  private boolean subsumptionDuringConflictAnalysis_ = true;
12677  @java.lang.Override
12679  return ((bitField0_ & 0x00001000) != 0);
12680  }
12692  @java.lang.Override
12694  return subsumptionDuringConflictAnalysis_;
12695  }
12709  bitField0_ |= 0x00001000;
12710  subsumptionDuringConflictAnalysis_ = value;
12711  onChanged();
12712  return this;
12713  }
12726  bitField0_ = (bitField0_ & ~0x00001000);
12727  subsumptionDuringConflictAnalysis_ = true;
12728  onChanged();
12729  return this;
12730  }
12731 
12732  private int clauseCleanupPeriod_ = 10000;
12741  @java.lang.Override
12742  public boolean hasClauseCleanupPeriod() {
12743  return ((bitField0_ & 0x00002000) != 0);
12744  }
12753  @java.lang.Override
12754  public int getClauseCleanupPeriod() {
12755  return clauseCleanupPeriod_;
12756  }
12766  public Builder setClauseCleanupPeriod(int value) {
12767  bitField0_ |= 0x00002000;
12768  clauseCleanupPeriod_ = value;
12769  onChanged();
12770  return this;
12771  }
12781  bitField0_ = (bitField0_ & ~0x00002000);
12782  clauseCleanupPeriod_ = 10000;
12783  onChanged();
12784  return this;
12785  }
12786 
12787  private int clauseCleanupTarget_ = 10000;
12797  @java.lang.Override
12798  public boolean hasClauseCleanupTarget() {
12799  return ((bitField0_ & 0x00004000) != 0);
12800  }
12810  @java.lang.Override
12811  public int getClauseCleanupTarget() {
12812  return clauseCleanupTarget_;
12813  }
12824  public Builder setClauseCleanupTarget(int value) {
12825  bitField0_ |= 0x00004000;
12826  clauseCleanupTarget_ = value;
12827  onChanged();
12828  return this;
12829  }
12840  bitField0_ = (bitField0_ & ~0x00004000);
12841  clauseCleanupTarget_ = 10000;
12842  onChanged();
12843  return this;
12844  }
12845 
12846  private int clauseCleanupProtection_ = 0;
12851  @java.lang.Override public boolean hasClauseCleanupProtection() {
12852  return ((bitField0_ & 0x00008000) != 0);
12853  }
12858  @java.lang.Override
12860  @SuppressWarnings("deprecation")
12862  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
12863  }
12870  if (value == null) {
12871  throw new NullPointerException();
12872  }
12873  bitField0_ |= 0x00008000;
12874  clauseCleanupProtection_ = value.getNumber();
12875  onChanged();
12876  return this;
12877  }
12883  bitField0_ = (bitField0_ & ~0x00008000);
12884  clauseCleanupProtection_ = 0;
12885  onChanged();
12886  return this;
12887  }
12888 
12889  private int clauseCleanupLbdBound_ = 5;
12899  @java.lang.Override
12900  public boolean hasClauseCleanupLbdBound() {
12901  return ((bitField0_ & 0x00010000) != 0);
12902  }
12912  @java.lang.Override
12914  return clauseCleanupLbdBound_;
12915  }
12926  public Builder setClauseCleanupLbdBound(int value) {
12927  bitField0_ |= 0x00010000;
12928  clauseCleanupLbdBound_ = value;
12929  onChanged();
12930  return this;
12931  }
12942  bitField0_ = (bitField0_ & ~0x00010000);
12943  clauseCleanupLbdBound_ = 5;
12944  onChanged();
12945  return this;
12946  }
12947 
12948  private int clauseCleanupOrdering_ = 0;
12953  @java.lang.Override public boolean hasClauseCleanupOrdering() {
12954  return ((bitField0_ & 0x00020000) != 0);
12955  }
12960  @java.lang.Override
12962  @SuppressWarnings("deprecation")
12964  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
12965  }
12972  if (value == null) {
12973  throw new NullPointerException();
12974  }
12975  bitField0_ |= 0x00020000;
12976  clauseCleanupOrdering_ = value.getNumber();
12977  onChanged();
12978  return this;
12979  }
12985  bitField0_ = (bitField0_ & ~0x00020000);
12986  clauseCleanupOrdering_ = 0;
12987  onChanged();
12988  return this;
12989  }
12990 
12991  private int pbCleanupIncrement_ = 200;
13000  @java.lang.Override
13001  public boolean hasPbCleanupIncrement() {
13002  return ((bitField0_ & 0x00040000) != 0);
13003  }
13012  @java.lang.Override
13013  public int getPbCleanupIncrement() {
13014  return pbCleanupIncrement_;
13015  }
13025  public Builder setPbCleanupIncrement(int value) {
13026  bitField0_ |= 0x00040000;
13027  pbCleanupIncrement_ = value;
13028  onChanged();
13029  return this;
13030  }
13040  bitField0_ = (bitField0_ & ~0x00040000);
13041  pbCleanupIncrement_ = 200;
13042  onChanged();
13043  return this;
13044  }
13045 
13046  private double pbCleanupRatio_ = 0.5D;
13051  @java.lang.Override
13052  public boolean hasPbCleanupRatio() {
13053  return ((bitField0_ & 0x00080000) != 0);
13054  }
13059  @java.lang.Override
13060  public double getPbCleanupRatio() {
13061  return pbCleanupRatio_;
13062  }
13068  public Builder setPbCleanupRatio(double value) {
13069  bitField0_ |= 0x00080000;
13070  pbCleanupRatio_ = value;
13071  onChanged();
13072  return this;
13073  }
13079  bitField0_ = (bitField0_ & ~0x00080000);
13080  pbCleanupRatio_ = 0.5D;
13081  onChanged();
13082  return this;
13083  }
13084 
13085  private int minimizeWithPropagationRestartPeriod_ = 10;
13104  @java.lang.Override
13106  return ((bitField0_ & 0x00100000) != 0);
13107  }
13126  @java.lang.Override
13128  return minimizeWithPropagationRestartPeriod_;
13129  }
13150  bitField0_ |= 0x00100000;
13151  minimizeWithPropagationRestartPeriod_ = value;
13152  onChanged();
13153  return this;
13154  }
13174  bitField0_ = (bitField0_ & ~0x00100000);
13175  minimizeWithPropagationRestartPeriod_ = 10;
13176  onChanged();
13177  return this;
13178  }
13179 
13180  private int minimizeWithPropagationNumDecisions_ = 1000;
13185  @java.lang.Override
13187  return ((bitField0_ & 0x00200000) != 0);
13188  }
13193  @java.lang.Override
13195  return minimizeWithPropagationNumDecisions_;
13196  }
13203  bitField0_ |= 0x00200000;
13204  minimizeWithPropagationNumDecisions_ = value;
13205  onChanged();
13206  return this;
13207  }
13213  bitField0_ = (bitField0_ & ~0x00200000);
13214  minimizeWithPropagationNumDecisions_ = 1000;
13215  onChanged();
13216  return this;
13217  }
13218 
13219  private double variableActivityDecay_ = 0.8D;
13234  @java.lang.Override
13235  public boolean hasVariableActivityDecay() {
13236  return ((bitField0_ & 0x00400000) != 0);
13237  }
13252  @java.lang.Override
13253  public double getVariableActivityDecay() {
13254  return variableActivityDecay_;
13255  }
13271  public Builder setVariableActivityDecay(double value) {
13272  bitField0_ |= 0x00400000;
13273  variableActivityDecay_ = value;
13274  onChanged();
13275  return this;
13276  }
13292  bitField0_ = (bitField0_ & ~0x00400000);
13293  variableActivityDecay_ = 0.8D;
13294  onChanged();
13295  return this;
13296  }
13297 
13298  private double maxVariableActivityValue_ = 1e+100D;
13303  @java.lang.Override
13304  public boolean hasMaxVariableActivityValue() {
13305  return ((bitField0_ & 0x00800000) != 0);
13306  }
13311  @java.lang.Override
13313  return maxVariableActivityValue_;
13314  }
13320  public Builder setMaxVariableActivityValue(double value) {
13321  bitField0_ |= 0x00800000;
13322  maxVariableActivityValue_ = value;
13323  onChanged();
13324  return this;
13325  }
13331  bitField0_ = (bitField0_ & ~0x00800000);
13332  maxVariableActivityValue_ = 1e+100D;
13333  onChanged();
13334  return this;
13335  }
13336 
13337  private double glucoseMaxDecay_ = 0.95D;
13349  @java.lang.Override
13350  public boolean hasGlucoseMaxDecay() {
13351  return ((bitField0_ & 0x01000000) != 0);
13352  }
13364  @java.lang.Override
13365  public double getGlucoseMaxDecay() {
13366  return glucoseMaxDecay_;
13367  }
13380  public Builder setGlucoseMaxDecay(double value) {
13381  bitField0_ |= 0x01000000;
13382  glucoseMaxDecay_ = value;
13383  onChanged();
13384  return this;
13385  }
13398  bitField0_ = (bitField0_ & ~0x01000000);
13399  glucoseMaxDecay_ = 0.95D;
13400  onChanged();
13401  return this;
13402  }
13403 
13404  private double glucoseDecayIncrement_ = 0.01D;
13409  @java.lang.Override
13410  public boolean hasGlucoseDecayIncrement() {
13411  return ((bitField0_ & 0x02000000) != 0);
13412  }
13417  @java.lang.Override
13418  public double getGlucoseDecayIncrement() {
13419  return glucoseDecayIncrement_;
13420  }
13426  public Builder setGlucoseDecayIncrement(double value) {
13427  bitField0_ |= 0x02000000;
13428  glucoseDecayIncrement_ = value;
13429  onChanged();
13430  return this;
13431  }
13437  bitField0_ = (bitField0_ & ~0x02000000);
13438  glucoseDecayIncrement_ = 0.01D;
13439  onChanged();
13440  return this;
13441  }
13442 
13443  private int glucoseDecayIncrementPeriod_ = 5000;
13448  @java.lang.Override
13450  return ((bitField0_ & 0x04000000) != 0);
13451  }
13456  @java.lang.Override
13458  return glucoseDecayIncrementPeriod_;
13459  }
13466  bitField0_ |= 0x04000000;
13467  glucoseDecayIncrementPeriod_ = value;
13468  onChanged();
13469  return this;
13470  }
13476  bitField0_ = (bitField0_ & ~0x04000000);
13477  glucoseDecayIncrementPeriod_ = 5000;
13478  onChanged();
13479  return this;
13480  }
13481 
13482  private double clauseActivityDecay_ = 0.999D;
13491  @java.lang.Override
13492  public boolean hasClauseActivityDecay() {
13493  return ((bitField0_ & 0x08000000) != 0);
13494  }
13503  @java.lang.Override
13504  public double getClauseActivityDecay() {
13505  return clauseActivityDecay_;
13506  }
13516  public Builder setClauseActivityDecay(double value) {
13517  bitField0_ |= 0x08000000;
13518  clauseActivityDecay_ = value;
13519  onChanged();
13520  return this;
13521  }
13531  bitField0_ = (bitField0_ & ~0x08000000);
13532  clauseActivityDecay_ = 0.999D;
13533  onChanged();
13534  return this;
13535  }
13536 
13537  private double maxClauseActivityValue_ = 1e+20D;
13542  @java.lang.Override
13543  public boolean hasMaxClauseActivityValue() {
13544  return ((bitField0_ & 0x10000000) != 0);
13545  }
13550  @java.lang.Override
13551  public double getMaxClauseActivityValue() {
13552  return maxClauseActivityValue_;
13553  }
13559  public Builder setMaxClauseActivityValue(double value) {
13560  bitField0_ |= 0x10000000;
13561  maxClauseActivityValue_ = value;
13562  onChanged();
13563  return this;
13564  }
13570  bitField0_ = (bitField0_ & ~0x10000000);
13571  maxClauseActivityValue_ = 1e+20D;
13572  onChanged();
13573  return this;
13574  }
13575 
13576  private java.util.List<java.lang.Integer> restartAlgorithms_ =
13577  java.util.Collections.emptyList();
13578  private void ensureRestartAlgorithmsIsMutable() {
13579  if (!((bitField0_ & 0x20000000) != 0)) {
13580  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
13581  bitField0_ |= 0x20000000;
13582  }
13583  }
13600  return new com.google.protobuf.Internal.ListAdapter<
13601  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
13602  }
13619  return restartAlgorithms_.size();
13620  }
13638  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
13639  }
13658  int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
13659  if (value == null) {
13660  throw new NullPointerException();
13661  }
13662  ensureRestartAlgorithmsIsMutable();
13663  restartAlgorithms_.set(index, value.getNumber());
13664  onChanged();
13665  return this;
13666  }
13684  if (value == null) {
13685  throw new NullPointerException();
13686  }
13687  ensureRestartAlgorithmsIsMutable();
13688  restartAlgorithms_.add(value.getNumber());
13689  onChanged();
13690  return this;
13691  }
13709  java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
13710  ensureRestartAlgorithmsIsMutable();
13711  for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
13712  restartAlgorithms_.add(value.getNumber());
13713  }
13714  onChanged();
13715  return this;
13716  }
13733  restartAlgorithms_ = java.util.Collections.emptyList();
13734  bitField0_ = (bitField0_ & ~0x20000000);
13735  onChanged();
13736  return this;
13737  }
13738 
13739  private java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
13744  public boolean hasDefaultRestartAlgorithms() {
13745  return ((bitField0_ & 0x40000000) != 0);
13746  }
13751  public java.lang.String getDefaultRestartAlgorithms() {
13752  java.lang.Object ref = defaultRestartAlgorithms_;
13753  if (!(ref instanceof java.lang.String)) {
13754  com.google.protobuf.ByteString bs =
13755  (com.google.protobuf.ByteString) ref;
13756  java.lang.String s = bs.toStringUtf8();
13757  if (bs.isValidUtf8()) {
13758  defaultRestartAlgorithms_ = s;
13759  }
13760  return s;
13761  } else {
13762  return (java.lang.String) ref;
13763  }
13764  }
13769  public com.google.protobuf.ByteString
13771  java.lang.Object ref = defaultRestartAlgorithms_;
13772  if (ref instanceof String) {
13773  com.google.protobuf.ByteString b =
13774  com.google.protobuf.ByteString.copyFromUtf8(
13775  (java.lang.String) ref);
13776  defaultRestartAlgorithms_ = b;
13777  return b;
13778  } else {
13779  return (com.google.protobuf.ByteString) ref;
13780  }
13781  }
13788  java.lang.String value) {
13789  if (value == null) {
13790  throw new NullPointerException();
13791  }
13792  bitField0_ |= 0x40000000;
13793  defaultRestartAlgorithms_ = value;
13794  onChanged();
13795  return this;
13796  }
13802  bitField0_ = (bitField0_ & ~0x40000000);
13803  defaultRestartAlgorithms_ = getDefaultInstance().getDefaultRestartAlgorithms();
13804  onChanged();
13805  return this;
13806  }
13813  com.google.protobuf.ByteString value) {
13814  if (value == null) {
13815  throw new NullPointerException();
13816  }
13817  bitField0_ |= 0x40000000;
13818  defaultRestartAlgorithms_ = value;
13819  onChanged();
13820  return this;
13821  }
13822 
13823  private int restartPeriod_ = 50;
13833  @java.lang.Override
13834  public boolean hasRestartPeriod() {
13835  return ((bitField0_ & 0x80000000) != 0);
13836  }
13846  @java.lang.Override
13847  public int getRestartPeriod() {
13848  return restartPeriod_;
13849  }
13860  public Builder setRestartPeriod(int value) {
13861  bitField0_ |= 0x80000000;
13862  restartPeriod_ = value;
13863  onChanged();
13864  return this;
13865  }
13876  bitField0_ = (bitField0_ & ~0x80000000);
13877  restartPeriod_ = 50;
13878  onChanged();
13879  return this;
13880  }
13881 
13882  private int restartRunningWindowSize_ = 50;
13891  @java.lang.Override
13892  public boolean hasRestartRunningWindowSize() {
13893  return ((bitField1_ & 0x00000001) != 0);
13894  }
13903  @java.lang.Override
13905  return restartRunningWindowSize_;
13906  }
13917  bitField1_ |= 0x00000001;
13918  restartRunningWindowSize_ = value;
13919  onChanged();
13920  return this;
13921  }
13931  bitField1_ = (bitField1_ & ~0x00000001);
13932  restartRunningWindowSize_ = 50;
13933  onChanged();
13934  return this;
13935  }
13936 
13937  private double restartDlAverageRatio_ = 1D;
13947  @java.lang.Override
13948  public boolean hasRestartDlAverageRatio() {
13949  return ((bitField1_ & 0x00000002) != 0);
13950  }
13960  @java.lang.Override
13961  public double getRestartDlAverageRatio() {
13962  return restartDlAverageRatio_;
13963  }
13974  public Builder setRestartDlAverageRatio(double value) {
13975  bitField1_ |= 0x00000002;
13976  restartDlAverageRatio_ = value;
13977  onChanged();
13978  return this;
13979  }
13990  bitField1_ = (bitField1_ & ~0x00000002);
13991  restartDlAverageRatio_ = 1D;
13992  onChanged();
13993  return this;
13994  }
13995 
13996  private double restartLbdAverageRatio_ = 1D;
14001  @java.lang.Override
14002  public boolean hasRestartLbdAverageRatio() {
14003  return ((bitField1_ & 0x00000004) != 0);
14004  }
14009  @java.lang.Override
14010  public double getRestartLbdAverageRatio() {
14011  return restartLbdAverageRatio_;
14012  }
14018  public Builder setRestartLbdAverageRatio(double value) {
14019  bitField1_ |= 0x00000004;
14020  restartLbdAverageRatio_ = value;
14021  onChanged();
14022  return this;
14023  }
14029  bitField1_ = (bitField1_ & ~0x00000004);
14030  restartLbdAverageRatio_ = 1D;
14031  onChanged();
14032  return this;
14033  }
14034 
14035  private boolean useBlockingRestart_ ;
14046  @java.lang.Override
14047  public boolean hasUseBlockingRestart() {
14048  return ((bitField1_ & 0x00000008) != 0);
14049  }
14060  @java.lang.Override
14061  public boolean getUseBlockingRestart() {
14062  return useBlockingRestart_;
14063  }
14075  public Builder setUseBlockingRestart(boolean value) {
14076  bitField1_ |= 0x00000008;
14077  useBlockingRestart_ = value;
14078  onChanged();
14079  return this;
14080  }
14092  bitField1_ = (bitField1_ & ~0x00000008);
14093  useBlockingRestart_ = false;
14094  onChanged();
14095  return this;
14096  }
14097 
14098  private int blockingRestartWindowSize_ = 5000;
14103  @java.lang.Override
14104  public boolean hasBlockingRestartWindowSize() {
14105  return ((bitField1_ & 0x00000010) != 0);
14106  }
14111  @java.lang.Override
14113  return blockingRestartWindowSize_;
14114  }
14121  bitField1_ |= 0x00000010;
14122  blockingRestartWindowSize_ = value;
14123  onChanged();
14124  return this;
14125  }
14131  bitField1_ = (bitField1_ & ~0x00000010);
14132  blockingRestartWindowSize_ = 5000;
14133  onChanged();
14134  return this;
14135  }
14136 
14137  private double blockingRestartMultiplier_ = 1.4D;
14142  @java.lang.Override
14143  public boolean hasBlockingRestartMultiplier() {
14144  return ((bitField1_ & 0x00000020) != 0);
14145  }
14150  @java.lang.Override
14152  return blockingRestartMultiplier_;
14153  }
14159  public Builder setBlockingRestartMultiplier(double value) {
14160  bitField1_ |= 0x00000020;
14161  blockingRestartMultiplier_ = value;
14162  onChanged();
14163  return this;
14164  }
14170  bitField1_ = (bitField1_ & ~0x00000020);
14171  blockingRestartMultiplier_ = 1.4D;
14172  onChanged();
14173  return this;
14174  }
14175 
14176  private int numConflictsBeforeStrategyChanges_ ;
14187  @java.lang.Override
14189  return ((bitField1_ & 0x00000040) != 0);
14190  }
14201  @java.lang.Override
14203  return numConflictsBeforeStrategyChanges_;
14204  }
14217  bitField1_ |= 0x00000040;
14218  numConflictsBeforeStrategyChanges_ = value;
14219  onChanged();
14220  return this;
14221  }
14233  bitField1_ = (bitField1_ & ~0x00000040);
14234  numConflictsBeforeStrategyChanges_ = 0;
14235  onChanged();
14236  return this;
14237  }
14238 
14239  private double strategyChangeIncreaseRatio_ ;
14249  @java.lang.Override
14251  return ((bitField1_ & 0x00000080) != 0);
14252  }
14262  @java.lang.Override
14264  return strategyChangeIncreaseRatio_;
14265  }
14277  bitField1_ |= 0x00000080;
14278  strategyChangeIncreaseRatio_ = value;
14279  onChanged();
14280  return this;
14281  }
14292  bitField1_ = (bitField1_ & ~0x00000080);
14293  strategyChangeIncreaseRatio_ = 0D;
14294  onChanged();
14295  return this;
14296  }
14297 
14298  private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
14308  @java.lang.Override
14309  public boolean hasMaxTimeInSeconds() {
14310  return ((bitField1_ & 0x00000100) != 0);
14311  }
14321  @java.lang.Override
14322  public double getMaxTimeInSeconds() {
14323  return maxTimeInSeconds_;
14324  }
14335  public Builder setMaxTimeInSeconds(double value) {
14336  bitField1_ |= 0x00000100;
14337  maxTimeInSeconds_ = value;
14338  onChanged();
14339  return this;
14340  }
14351  bitField1_ = (bitField1_ & ~0x00000100);
14352  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
14353  onChanged();
14354  return this;
14355  }
14356 
14357  private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
14368  @java.lang.Override
14369  public boolean hasMaxDeterministicTime() {
14370  return ((bitField1_ & 0x00000200) != 0);
14371  }
14382  @java.lang.Override
14383  public double getMaxDeterministicTime() {
14384  return maxDeterministicTime_;
14385  }
14397  public Builder setMaxDeterministicTime(double value) {
14398  bitField1_ |= 0x00000200;
14399  maxDeterministicTime_ = value;
14400  onChanged();
14401  return this;
14402  }
14414  bitField1_ = (bitField1_ & ~0x00000200);
14415  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
14416  onChanged();
14417  return this;
14418  }
14419 
14420  private long maxNumberOfConflicts_ = 9223372036854775807L;
14434  @java.lang.Override
14435  public boolean hasMaxNumberOfConflicts() {
14436  return ((bitField1_ & 0x00000400) != 0);
14437  }
14451  @java.lang.Override
14452  public long getMaxNumberOfConflicts() {
14453  return maxNumberOfConflicts_;
14454  }
14469  public Builder setMaxNumberOfConflicts(long value) {
14470  bitField1_ |= 0x00000400;
14471  maxNumberOfConflicts_ = value;
14472  onChanged();
14473  return this;
14474  }
14489  bitField1_ = (bitField1_ & ~0x00000400);
14490  maxNumberOfConflicts_ = 9223372036854775807L;
14491  onChanged();
14492  return this;
14493  }
14494 
14495  private long maxMemoryInMb_ = 10000L;
14507  @java.lang.Override
14508  public boolean hasMaxMemoryInMb() {
14509  return ((bitField1_ & 0x00000800) != 0);
14510  }
14522  @java.lang.Override
14523  public long getMaxMemoryInMb() {
14524  return maxMemoryInMb_;
14525  }
14538  public Builder setMaxMemoryInMb(long value) {
14539  bitField1_ |= 0x00000800;
14540  maxMemoryInMb_ = value;
14541  onChanged();
14542  return this;
14543  }
14556  bitField1_ = (bitField1_ & ~0x00000800);
14557  maxMemoryInMb_ = 10000L;
14558  onChanged();
14559  return this;
14560  }
14561 
14562  private double absoluteGapLimit_ ;
14580  @java.lang.Override
14581  public boolean hasAbsoluteGapLimit() {
14582  return ((bitField1_ & 0x00001000) != 0);
14583  }
14601  @java.lang.Override
14602  public double getAbsoluteGapLimit() {
14603  return absoluteGapLimit_;
14604  }
14623  public Builder setAbsoluteGapLimit(double value) {
14624  bitField1_ |= 0x00001000;
14625  absoluteGapLimit_ = value;
14626  onChanged();
14627  return this;
14628  }
14647  bitField1_ = (bitField1_ & ~0x00001000);
14648  absoluteGapLimit_ = 0D;
14649  onChanged();
14650  return this;
14651  }
14652 
14653  private double relativeGapLimit_ ;
14658  @java.lang.Override
14659  public boolean hasRelativeGapLimit() {
14660  return ((bitField1_ & 0x00002000) != 0);
14661  }
14666  @java.lang.Override
14667  public double getRelativeGapLimit() {
14668  return relativeGapLimit_;
14669  }
14675  public Builder setRelativeGapLimit(double value) {
14676  bitField1_ |= 0x00002000;
14677  relativeGapLimit_ = value;
14678  onChanged();
14679  return this;
14680  }
14686  bitField1_ = (bitField1_ & ~0x00002000);
14687  relativeGapLimit_ = 0D;
14688  onChanged();
14689  return this;
14690  }
14691 
14692  private boolean treatBinaryClausesSeparately_ = true;
14703  @java.lang.Override
14705  return ((bitField1_ & 0x00004000) != 0);
14706  }
14717  @java.lang.Override
14719  return treatBinaryClausesSeparately_;
14720  }
14733  bitField1_ |= 0x00004000;
14734  treatBinaryClausesSeparately_ = value;
14735  onChanged();
14736  return this;
14737  }
14749  bitField1_ = (bitField1_ & ~0x00004000);
14750  treatBinaryClausesSeparately_ = true;
14751  onChanged();
14752  return this;
14753  }
14754 
14755  private int randomSeed_ = 1;
14769  @java.lang.Override
14770  public boolean hasRandomSeed() {
14771  return ((bitField1_ & 0x00008000) != 0);
14772  }
14786  @java.lang.Override
14787  public int getRandomSeed() {
14788  return randomSeed_;
14789  }
14804  public Builder setRandomSeed(int value) {
14805  bitField1_ |= 0x00008000;
14806  randomSeed_ = value;
14807  onChanged();
14808  return this;
14809  }
14824  bitField1_ = (bitField1_ & ~0x00008000);
14825  randomSeed_ = 1;
14826  onChanged();
14827  return this;
14828  }
14829 
14830  private boolean permuteVariableRandomly_ ;
14842  @java.lang.Override
14843  public boolean hasPermuteVariableRandomly() {
14844  return ((bitField1_ & 0x00010000) != 0);
14845  }
14857  @java.lang.Override
14858  public boolean getPermuteVariableRandomly() {
14859  return permuteVariableRandomly_;
14860  }
14873  public Builder setPermuteVariableRandomly(boolean value) {
14874  bitField1_ |= 0x00010000;
14875  permuteVariableRandomly_ = value;
14876  onChanged();
14877  return this;
14878  }
14891  bitField1_ = (bitField1_ & ~0x00010000);
14892  permuteVariableRandomly_ = false;
14893  onChanged();
14894  return this;
14895  }
14896 
14897  private boolean permutePresolveConstraintOrder_ ;
14902  @java.lang.Override
14904  return ((bitField1_ & 0x00020000) != 0);
14905  }
14910  @java.lang.Override
14912  return permutePresolveConstraintOrder_;
14913  }
14920  bitField1_ |= 0x00020000;
14921  permutePresolveConstraintOrder_ = value;
14922  onChanged();
14923  return this;
14924  }
14930  bitField1_ = (bitField1_ & ~0x00020000);
14931  permutePresolveConstraintOrder_ = false;
14932  onChanged();
14933  return this;
14934  }
14935 
14936  private boolean useAbslRandom_ ;
14941  @java.lang.Override
14942  public boolean hasUseAbslRandom() {
14943  return ((bitField1_ & 0x00040000) != 0);
14944  }
14949  @java.lang.Override
14950  public boolean getUseAbslRandom() {
14951  return useAbslRandom_;
14952  }
14958  public Builder setUseAbslRandom(boolean value) {
14959  bitField1_ |= 0x00040000;
14960  useAbslRandom_ = value;
14961  onChanged();
14962  return this;
14963  }
14969  bitField1_ = (bitField1_ & ~0x00040000);
14970  useAbslRandom_ = false;
14971  onChanged();
14972  return this;
14973  }
14974 
14975  private boolean logSearchProgress_ ;
14984  @java.lang.Override
14985  public boolean hasLogSearchProgress() {
14986  return ((bitField1_ & 0x00080000) != 0);
14987  }
14996  @java.lang.Override
14997  public boolean getLogSearchProgress() {
14998  return logSearchProgress_;
14999  }
15009  public Builder setLogSearchProgress(boolean value) {
15010  bitField1_ |= 0x00080000;
15011  logSearchProgress_ = value;
15012  onChanged();
15013  return this;
15014  }
15024  bitField1_ = (bitField1_ & ~0x00080000);
15025  logSearchProgress_ = false;
15026  onChanged();
15027  return this;
15028  }
15029 
15030  private boolean usePbResolution_ ;
15042  @java.lang.Override
15043  public boolean hasUsePbResolution() {
15044  return ((bitField1_ & 0x00100000) != 0);
15045  }
15057  @java.lang.Override
15058  public boolean getUsePbResolution() {
15059  return usePbResolution_;
15060  }
15073  public Builder setUsePbResolution(boolean value) {
15074  bitField1_ |= 0x00100000;
15075  usePbResolution_ = value;
15076  onChanged();
15077  return this;
15078  }
15091  bitField1_ = (bitField1_ & ~0x00100000);
15092  usePbResolution_ = false;
15093  onChanged();
15094  return this;
15095  }
15096 
15097  private boolean minimizeReductionDuringPbResolution_ ;
15109  @java.lang.Override
15111  return ((bitField1_ & 0x00200000) != 0);
15112  }
15124  @java.lang.Override
15126  return minimizeReductionDuringPbResolution_;
15127  }
15141  bitField1_ |= 0x00200000;
15142  minimizeReductionDuringPbResolution_ = value;
15143  onChanged();
15144  return this;
15145  }
15158  bitField1_ = (bitField1_ & ~0x00200000);
15159  minimizeReductionDuringPbResolution_ = false;
15160  onChanged();
15161  return this;
15162  }
15163 
15164  private boolean countAssumptionLevelsInLbd_ = true;
15180  @java.lang.Override
15182  return ((bitField1_ & 0x00400000) != 0);
15183  }
15199  @java.lang.Override
15201  return countAssumptionLevelsInLbd_;
15202  }
15219  public Builder setCountAssumptionLevelsInLbd(boolean value) {
15220  bitField1_ |= 0x00400000;
15221  countAssumptionLevelsInLbd_ = value;
15222  onChanged();
15223  return this;
15224  }
15241  bitField1_ = (bitField1_ & ~0x00400000);
15242  countAssumptionLevelsInLbd_ = true;
15243  onChanged();
15244  return this;
15245  }
15246 
15247  private int presolveBveThreshold_ = 500;
15258  @java.lang.Override
15259  public boolean hasPresolveBveThreshold() {
15260  return ((bitField1_ & 0x00800000) != 0);
15261  }
15272  @java.lang.Override
15274  return presolveBveThreshold_;
15275  }
15287  public Builder setPresolveBveThreshold(int value) {
15288  bitField1_ |= 0x00800000;
15289  presolveBveThreshold_ = value;
15290  onChanged();
15291  return this;
15292  }
15304  bitField1_ = (bitField1_ & ~0x00800000);
15305  presolveBveThreshold_ = 500;
15306  onChanged();
15307  return this;
15308  }
15309 
15310  private int presolveBveClauseWeight_ = 3;
15320  @java.lang.Override
15321  public boolean hasPresolveBveClauseWeight() {
15322  return ((bitField1_ & 0x01000000) != 0);
15323  }
15333  @java.lang.Override
15335  return presolveBveClauseWeight_;
15336  }
15348  bitField1_ |= 0x01000000;
15349  presolveBveClauseWeight_ = value;
15350  onChanged();
15351  return this;
15352  }
15363  bitField1_ = (bitField1_ & ~0x01000000);
15364  presolveBveClauseWeight_ = 3;
15365  onChanged();
15366  return this;
15367  }
15368 
15369  private double presolveProbingDeterministicTimeLimit_ = 30D;
15379  @java.lang.Override
15381  return ((bitField1_ & 0x02000000) != 0);
15382  }
15392  @java.lang.Override
15394  return presolveProbingDeterministicTimeLimit_;
15395  }
15407  bitField1_ |= 0x02000000;
15408  presolveProbingDeterministicTimeLimit_ = value;
15409  onChanged();
15410  return this;
15411  }
15422  bitField1_ = (bitField1_ & ~0x02000000);
15423  presolveProbingDeterministicTimeLimit_ = 30D;
15424  onChanged();
15425  return this;
15426  }
15427 
15428  private boolean presolveBlockedClause_ = true;
15438  @java.lang.Override
15439  public boolean hasPresolveBlockedClause() {
15440  return ((bitField1_ & 0x04000000) != 0);
15441  }
15451  @java.lang.Override
15452  public boolean getPresolveBlockedClause() {
15453  return presolveBlockedClause_;
15454  }
15465  public Builder setPresolveBlockedClause(boolean value) {
15466  bitField1_ |= 0x04000000;
15467  presolveBlockedClause_ = value;
15468  onChanged();
15469  return this;
15470  }
15481  bitField1_ = (bitField1_ & ~0x04000000);
15482  presolveBlockedClause_ = true;
15483  onChanged();
15484  return this;
15485  }
15486 
15487  private boolean presolveUseBva_ = true;
15496  @java.lang.Override
15497  public boolean hasPresolveUseBva() {
15498  return ((bitField1_ & 0x08000000) != 0);
15499  }
15508  @java.lang.Override
15509  public boolean getPresolveUseBva() {
15510  return presolveUseBva_;
15511  }
15521  public Builder setPresolveUseBva(boolean value) {
15522  bitField1_ |= 0x08000000;
15523  presolveUseBva_ = value;
15524  onChanged();
15525  return this;
15526  }
15536  bitField1_ = (bitField1_ & ~0x08000000);
15537  presolveUseBva_ = true;
15538  onChanged();
15539  return this;
15540  }
15541 
15542  private int presolveBvaThreshold_ = 1;
15554  @java.lang.Override
15555  public boolean hasPresolveBvaThreshold() {
15556  return ((bitField1_ & 0x10000000) != 0);
15557  }
15569  @java.lang.Override
15571  return presolveBvaThreshold_;
15572  }
15585  public Builder setPresolveBvaThreshold(int value) {
15586  bitField1_ |= 0x10000000;
15587  presolveBvaThreshold_ = value;
15588  onChanged();
15589  return this;
15590  }
15603  bitField1_ = (bitField1_ & ~0x10000000);
15604  presolveBvaThreshold_ = 1;
15605  onChanged();
15606  return this;
15607  }
15608 
15609  private int maxPresolveIterations_ = 3;
15620  @java.lang.Override
15621  public boolean hasMaxPresolveIterations() {
15622  return ((bitField1_ & 0x20000000) != 0);
15623  }
15634  @java.lang.Override
15636  return maxPresolveIterations_;
15637  }
15649  public Builder setMaxPresolveIterations(int value) {
15650  bitField1_ |= 0x20000000;
15651  maxPresolveIterations_ = value;
15652  onChanged();
15653  return this;
15654  }
15666  bitField1_ = (bitField1_ & ~0x20000000);
15667  maxPresolveIterations_ = 3;
15668  onChanged();
15669  return this;
15670  }
15671 
15672  private boolean cpModelPresolve_ = true;
15681  @java.lang.Override
15682  public boolean hasCpModelPresolve() {
15683  return ((bitField1_ & 0x40000000) != 0);
15684  }
15693  @java.lang.Override
15694  public boolean getCpModelPresolve() {
15695  return cpModelPresolve_;
15696  }
15706  public Builder setCpModelPresolve(boolean value) {
15707  bitField1_ |= 0x40000000;
15708  cpModelPresolve_ = value;
15709  onChanged();
15710  return this;
15711  }
15721  bitField1_ = (bitField1_ & ~0x40000000);
15722  cpModelPresolve_ = true;
15723  onChanged();
15724  return this;
15725  }
15726 
15727  private boolean cpModelPostsolveWithFullSolver_ ;
15739  @java.lang.Override
15741  return ((bitField1_ & 0x80000000) != 0);
15742  }
15754  @java.lang.Override
15756  return cpModelPostsolveWithFullSolver_;
15757  }
15771  bitField1_ |= 0x80000000;
15772  cpModelPostsolveWithFullSolver_ = value;
15773  onChanged();
15774  return this;
15775  }
15788  bitField1_ = (bitField1_ & ~0x80000000);
15789  cpModelPostsolveWithFullSolver_ = false;
15790  onChanged();
15791  return this;
15792  }
15793 
15794  private int cpModelMaxNumPresolveOperations_ ;
15804  @java.lang.Override
15806  return ((bitField2_ & 0x00000001) != 0);
15807  }
15817  @java.lang.Override
15819  return cpModelMaxNumPresolveOperations_;
15820  }
15832  bitField2_ |= 0x00000001;
15833  cpModelMaxNumPresolveOperations_ = value;
15834  onChanged();
15835  return this;
15836  }
15847  bitField2_ = (bitField2_ & ~0x00000001);
15848  cpModelMaxNumPresolveOperations_ = 0;
15849  onChanged();
15850  return this;
15851  }
15852 
15853  private int cpModelProbingLevel_ = 2;
15862  @java.lang.Override
15863  public boolean hasCpModelProbingLevel() {
15864  return ((bitField2_ & 0x00000002) != 0);
15865  }
15874  @java.lang.Override
15875  public int getCpModelProbingLevel() {
15876  return cpModelProbingLevel_;
15877  }
15887  public Builder setCpModelProbingLevel(int value) {
15888  bitField2_ |= 0x00000002;
15889  cpModelProbingLevel_ = value;
15890  onChanged();
15891  return this;
15892  }
15902  bitField2_ = (bitField2_ & ~0x00000002);
15903  cpModelProbingLevel_ = 2;
15904  onChanged();
15905  return this;
15906  }
15907 
15908  private boolean cpModelUseSatPresolve_ = true;
15917  @java.lang.Override
15918  public boolean hasCpModelUseSatPresolve() {
15919  return ((bitField2_ & 0x00000004) != 0);
15920  }
15929  @java.lang.Override
15930  public boolean getCpModelUseSatPresolve() {
15931  return cpModelUseSatPresolve_;
15932  }
15942  public Builder setCpModelUseSatPresolve(boolean value) {
15943  bitField2_ |= 0x00000004;
15944  cpModelUseSatPresolve_ = value;
15945  onChanged();
15946  return this;
15947  }
15957  bitField2_ = (bitField2_ & ~0x00000004);
15958  cpModelUseSatPresolve_ = true;
15959  onChanged();
15960  return this;
15961  }
15962 
15963  private boolean useSatInprocessing_ ;
15968  @java.lang.Override
15969  public boolean hasUseSatInprocessing() {
15970  return ((bitField2_ & 0x00000008) != 0);
15971  }
15976  @java.lang.Override
15977  public boolean getUseSatInprocessing() {
15978  return useSatInprocessing_;
15979  }
15985  public Builder setUseSatInprocessing(boolean value) {
15986  bitField2_ |= 0x00000008;
15987  useSatInprocessing_ = value;
15988  onChanged();
15989  return this;
15990  }
15996  bitField2_ = (bitField2_ & ~0x00000008);
15997  useSatInprocessing_ = false;
15998  onChanged();
15999  return this;
16000  }
16001 
16002  private boolean expandElementConstraints_ = true;
16012  @java.lang.Override
16013  public boolean hasExpandElementConstraints() {
16014  return ((bitField2_ & 0x00000010) != 0);
16015  }
16025  @java.lang.Override
16026  public boolean getExpandElementConstraints() {
16027  return expandElementConstraints_;
16028  }
16039  public Builder setExpandElementConstraints(boolean value) {
16040  bitField2_ |= 0x00000010;
16041  expandElementConstraints_ = value;
16042  onChanged();
16043  return this;
16044  }
16055  bitField2_ = (bitField2_ & ~0x00000010);
16056  expandElementConstraints_ = true;
16057  onChanged();
16058  return this;
16059  }
16060 
16061  private boolean expandAutomatonConstraints_ = true;
16070  @java.lang.Override
16072  return ((bitField2_ & 0x00000020) != 0);
16073  }
16082  @java.lang.Override
16084  return expandAutomatonConstraints_;
16085  }
16095  public Builder setExpandAutomatonConstraints(boolean value) {
16096  bitField2_ |= 0x00000020;
16097  expandAutomatonConstraints_ = value;
16098  onChanged();
16099  return this;
16100  }
16110  bitField2_ = (bitField2_ & ~0x00000020);
16111  expandAutomatonConstraints_ = true;
16112  onChanged();
16113  return this;
16114  }
16115 
16116  private boolean expandTableConstraints_ = true;
16126  @java.lang.Override
16127  public boolean hasExpandTableConstraints() {
16128  return ((bitField2_ & 0x00000040) != 0);
16129  }
16139  @java.lang.Override
16140  public boolean getExpandTableConstraints() {
16141  return expandTableConstraints_;
16142  }
16153  public Builder setExpandTableConstraints(boolean value) {
16154  bitField2_ |= 0x00000040;
16155  expandTableConstraints_ = value;
16156  onChanged();
16157  return this;
16158  }
16169  bitField2_ = (bitField2_ & ~0x00000040);
16170  expandTableConstraints_ = true;
16171  onChanged();
16172  return this;
16173  }
16174 
16175  private boolean expandAlldiffConstraints_ ;
16185  @java.lang.Override
16186  public boolean hasExpandAlldiffConstraints() {
16187  return ((bitField2_ & 0x00000080) != 0);
16188  }
16198  @java.lang.Override
16199  public boolean getExpandAlldiffConstraints() {
16200  return expandAlldiffConstraints_;
16201  }
16212  public Builder setExpandAlldiffConstraints(boolean value) {
16213  bitField2_ |= 0x00000080;
16214  expandAlldiffConstraints_ = value;
16215  onChanged();
16216  return this;
16217  }
16228  bitField2_ = (bitField2_ & ~0x00000080);
16229  expandAlldiffConstraints_ = false;
16230  onChanged();
16231  return this;
16232  }
16233 
16234  private boolean expandReservoirConstraints_ = true;
16244  @java.lang.Override
16246  return ((bitField2_ & 0x00000100) != 0);
16247  }
16257  @java.lang.Override
16259  return expandReservoirConstraints_;
16260  }
16271  public Builder setExpandReservoirConstraints(boolean value) {
16272  bitField2_ |= 0x00000100;
16273  expandReservoirConstraints_ = value;
16274  onChanged();
16275  return this;
16276  }
16287  bitField2_ = (bitField2_ & ~0x00000100);
16288  expandReservoirConstraints_ = true;
16289  onChanged();
16290  return this;
16291  }
16292 
16293  private boolean disableConstraintExpansion_ ;
16303  @java.lang.Override
16305  return ((bitField2_ & 0x00000200) != 0);
16306  }
16316  @java.lang.Override
16318  return disableConstraintExpansion_;
16319  }
16330  public Builder setDisableConstraintExpansion(boolean value) {
16331  bitField2_ |= 0x00000200;
16332  disableConstraintExpansion_ = value;
16333  onChanged();
16334  return this;
16335  }
16346  bitField2_ = (bitField2_ & ~0x00000200);
16347  disableConstraintExpansion_ = false;
16348  onChanged();
16349  return this;
16350  }
16351 
16352  private double mergeNoOverlapWorkLimit_ = 1000000000000D;
16365  @java.lang.Override
16366  public boolean hasMergeNoOverlapWorkLimit() {
16367  return ((bitField2_ & 0x00000400) != 0);
16368  }
16381  @java.lang.Override
16382  public double getMergeNoOverlapWorkLimit() {
16383  return mergeNoOverlapWorkLimit_;
16384  }
16398  public Builder setMergeNoOverlapWorkLimit(double value) {
16399  bitField2_ |= 0x00000400;
16400  mergeNoOverlapWorkLimit_ = value;
16401  onChanged();
16402  return this;
16403  }
16417  bitField2_ = (bitField2_ & ~0x00000400);
16418  mergeNoOverlapWorkLimit_ = 1000000000000D;
16419  onChanged();
16420  return this;
16421  }
16422 
16423  private double mergeAtMostOneWorkLimit_ = 100000000D;
16428  @java.lang.Override
16429  public boolean hasMergeAtMostOneWorkLimit() {
16430  return ((bitField2_ & 0x00000800) != 0);
16431  }
16436  @java.lang.Override
16437  public double getMergeAtMostOneWorkLimit() {
16438  return mergeAtMostOneWorkLimit_;
16439  }
16445  public Builder setMergeAtMostOneWorkLimit(double value) {
16446  bitField2_ |= 0x00000800;
16447  mergeAtMostOneWorkLimit_ = value;
16448  onChanged();
16449  return this;
16450  }
16456  bitField2_ = (bitField2_ & ~0x00000800);
16457  mergeAtMostOneWorkLimit_ = 100000000D;
16458  onChanged();
16459  return this;
16460  }
16461 
16462  private int presolveSubstitutionLevel_ = 1;
16474  @java.lang.Override
16475  public boolean hasPresolveSubstitutionLevel() {
16476  return ((bitField2_ & 0x00001000) != 0);
16477  }
16489  @java.lang.Override
16491  return presolveSubstitutionLevel_;
16492  }
16506  bitField2_ |= 0x00001000;
16507  presolveSubstitutionLevel_ = value;
16508  onChanged();
16509  return this;
16510  }
16523  bitField2_ = (bitField2_ & ~0x00001000);
16524  presolveSubstitutionLevel_ = 1;
16525  onChanged();
16526  return this;
16527  }
16528 
16529  private boolean presolveExtractIntegerEnforcement_ ;
16543  @java.lang.Override
16545  return ((bitField2_ & 0x00002000) != 0);
16546  }
16560  @java.lang.Override
16562  return presolveExtractIntegerEnforcement_;
16563  }
16579  bitField2_ |= 0x00002000;
16580  presolveExtractIntegerEnforcement_ = value;
16581  onChanged();
16582  return this;
16583  }
16598  bitField2_ = (bitField2_ & ~0x00002000);
16599  presolveExtractIntegerEnforcement_ = false;
16600  onChanged();
16601  return this;
16602  }
16603 
16604  private boolean useOptimizationHints_ = true;
16616  @java.lang.Override
16617  public boolean hasUseOptimizationHints() {
16618  return ((bitField2_ & 0x00004000) != 0);
16619  }
16631  @java.lang.Override
16632  public boolean getUseOptimizationHints() {
16633  return useOptimizationHints_;
16634  }
16647  public Builder setUseOptimizationHints(boolean value) {
16648  bitField2_ |= 0x00004000;
16649  useOptimizationHints_ = value;
16650  onChanged();
16651  return this;
16652  }
16665  bitField2_ = (bitField2_ & ~0x00004000);
16666  useOptimizationHints_ = true;
16667  onChanged();
16668  return this;
16669  }
16670 
16671  private boolean minimizeCore_ = true;
16680  @java.lang.Override
16681  public boolean hasMinimizeCore() {
16682  return ((bitField2_ & 0x00008000) != 0);
16683  }
16692  @java.lang.Override
16693  public boolean getMinimizeCore() {
16694  return minimizeCore_;
16695  }
16705  public Builder setMinimizeCore(boolean value) {
16706  bitField2_ |= 0x00008000;
16707  minimizeCore_ = value;
16708  onChanged();
16709  return this;
16710  }
16720  bitField2_ = (bitField2_ & ~0x00008000);
16721  minimizeCore_ = true;
16722  onChanged();
16723  return this;
16724  }
16725 
16726  private boolean findMultipleCores_ = true;
16736  @java.lang.Override
16737  public boolean hasFindMultipleCores() {
16738  return ((bitField2_ & 0x00010000) != 0);
16739  }
16749  @java.lang.Override
16750  public boolean getFindMultipleCores() {
16751  return findMultipleCores_;
16752  }
16763  public Builder setFindMultipleCores(boolean value) {
16764  bitField2_ |= 0x00010000;
16765  findMultipleCores_ = value;
16766  onChanged();
16767  return this;
16768  }
16779  bitField2_ = (bitField2_ & ~0x00010000);
16780  findMultipleCores_ = true;
16781  onChanged();
16782  return this;
16783  }
16784 
16785  private boolean coverOptimization_ = true;
16795  @java.lang.Override
16796  public boolean hasCoverOptimization() {
16797  return ((bitField2_ & 0x00020000) != 0);
16798  }
16808  @java.lang.Override
16809  public boolean getCoverOptimization() {
16810  return coverOptimization_;
16811  }
16822  public Builder setCoverOptimization(boolean value) {
16823  bitField2_ |= 0x00020000;
16824  coverOptimization_ = value;
16825  onChanged();
16826  return this;
16827  }
16838  bitField2_ = (bitField2_ & ~0x00020000);
16839  coverOptimization_ = true;
16840  onChanged();
16841  return this;
16842  }
16843 
16844  private int maxSatAssumptionOrder_ = 0;
16849  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
16850  return ((bitField2_ & 0x00040000) != 0);
16851  }
16856  @java.lang.Override
16858  @SuppressWarnings("deprecation")
16861  }
16868  if (value == null) {
16869  throw new NullPointerException();
16870  }
16871  bitField2_ |= 0x00040000;
16872  maxSatAssumptionOrder_ = value.getNumber();
16873  onChanged();
16874  return this;
16875  }
16881  bitField2_ = (bitField2_ & ~0x00040000);
16882  maxSatAssumptionOrder_ = 0;
16883  onChanged();
16884  return this;
16885  }
16886 
16887  private boolean maxSatReverseAssumptionOrder_ ;
16897  @java.lang.Override
16899  return ((bitField2_ & 0x00080000) != 0);
16900  }
16910  @java.lang.Override
16912  return maxSatReverseAssumptionOrder_;
16913  }
16925  bitField2_ |= 0x00080000;
16926  maxSatReverseAssumptionOrder_ = value;
16927  onChanged();
16928  return this;
16929  }
16940  bitField2_ = (bitField2_ & ~0x00080000);
16941  maxSatReverseAssumptionOrder_ = false;
16942  onChanged();
16943  return this;
16944  }
16945 
16946  private int maxSatStratification_ = 1;
16951  @java.lang.Override public boolean hasMaxSatStratification() {
16952  return ((bitField2_ & 0x00100000) != 0);
16953  }
16958  @java.lang.Override
16960  @SuppressWarnings("deprecation")
16963  }
16970  if (value == null) {
16971  throw new NullPointerException();
16972  }
16973  bitField2_ |= 0x00100000;
16974  maxSatStratification_ = value.getNumber();
16975  onChanged();
16976  return this;
16977  }
16983  bitField2_ = (bitField2_ & ~0x00100000);
16984  maxSatStratification_ = 1;
16985  onChanged();
16986  return this;
16987  }
16988 
16989  private boolean usePrecedencesInDisjunctiveConstraint_ = true;
17005  @java.lang.Override
17007  return ((bitField2_ & 0x00200000) != 0);
17008  }
17024  @java.lang.Override
17026  return usePrecedencesInDisjunctiveConstraint_;
17027  }
17045  bitField2_ |= 0x00200000;
17046  usePrecedencesInDisjunctiveConstraint_ = value;
17047  onChanged();
17048  return this;
17049  }
17066  bitField2_ = (bitField2_ & ~0x00200000);
17067  usePrecedencesInDisjunctiveConstraint_ = true;
17068  onChanged();
17069  return this;
17070  }
17071 
17072  private boolean useOverloadCheckerInCumulativeConstraint_ ;
17086  @java.lang.Override
17088  return ((bitField2_ & 0x00400000) != 0);
17089  }
17103  @java.lang.Override
17105  return useOverloadCheckerInCumulativeConstraint_;
17106  }
17122  bitField2_ |= 0x00400000;
17123  useOverloadCheckerInCumulativeConstraint_ = value;
17124  onChanged();
17125  return this;
17126  }
17141  bitField2_ = (bitField2_ & ~0x00400000);
17142  useOverloadCheckerInCumulativeConstraint_ = false;
17143  onChanged();
17144  return this;
17145  }
17146 
17147  private boolean useTimetableEdgeFindingInCumulativeConstraint_ ;
17161  @java.lang.Override
17163  return ((bitField2_ & 0x00800000) != 0);
17164  }
17178  @java.lang.Override
17180  return useTimetableEdgeFindingInCumulativeConstraint_;
17181  }
17197  bitField2_ |= 0x00800000;
17198  useTimetableEdgeFindingInCumulativeConstraint_ = value;
17199  onChanged();
17200  return this;
17201  }
17216  bitField2_ = (bitField2_ & ~0x00800000);
17217  useTimetableEdgeFindingInCumulativeConstraint_ = false;
17218  onChanged();
17219  return this;
17220  }
17221 
17222  private boolean useDisjunctiveConstraintInCumulativeConstraint_ = true;
17238  @java.lang.Override
17240  return ((bitField2_ & 0x01000000) != 0);
17241  }
17257  @java.lang.Override
17259  return useDisjunctiveConstraintInCumulativeConstraint_;
17260  }
17278  bitField2_ |= 0x01000000;
17279  useDisjunctiveConstraintInCumulativeConstraint_ = value;
17280  onChanged();
17281  return this;
17282  }
17299  bitField2_ = (bitField2_ & ~0x01000000);
17300  useDisjunctiveConstraintInCumulativeConstraint_ = true;
17301  onChanged();
17302  return this;
17303  }
17304 
17305  private int linearizationLevel_ = 1;
17317  @java.lang.Override
17318  public boolean hasLinearizationLevel() {
17319  return ((bitField2_ & 0x02000000) != 0);
17320  }
17332  @java.lang.Override
17333  public int getLinearizationLevel() {
17334  return linearizationLevel_;
17335  }
17348  public Builder setLinearizationLevel(int value) {
17349  bitField2_ |= 0x02000000;
17350  linearizationLevel_ = value;
17351  onChanged();
17352  return this;
17353  }
17366  bitField2_ = (bitField2_ & ~0x02000000);
17367  linearizationLevel_ = 1;
17368  onChanged();
17369  return this;
17370  }
17371 
17372  private int booleanEncodingLevel_ = 1;
17382  @java.lang.Override
17383  public boolean hasBooleanEncodingLevel() {
17384  return ((bitField2_ & 0x04000000) != 0);
17385  }
17395  @java.lang.Override
17397  return booleanEncodingLevel_;
17398  }
17409  public Builder setBooleanEncodingLevel(int value) {
17410  bitField2_ |= 0x04000000;
17411  booleanEncodingLevel_ = value;
17412  onChanged();
17413  return this;
17414  }
17425  bitField2_ = (bitField2_ & ~0x04000000);
17426  booleanEncodingLevel_ = 1;
17427  onChanged();
17428  return this;
17429  }
17430 
17431  private int maxNumCuts_ = 10000;
17443  @java.lang.Override
17444  public boolean hasMaxNumCuts() {
17445  return ((bitField2_ & 0x08000000) != 0);
17446  }
17458  @java.lang.Override
17459  public int getMaxNumCuts() {
17460  return maxNumCuts_;
17461  }
17474  public Builder setMaxNumCuts(int value) {
17475  bitField2_ |= 0x08000000;
17476  maxNumCuts_ = value;
17477  onChanged();
17478  return this;
17479  }
17492  bitField2_ = (bitField2_ & ~0x08000000);
17493  maxNumCuts_ = 10000;
17494  onChanged();
17495  return this;
17496  }
17497 
17498  private boolean onlyAddCutsAtLevelZero_ ;
17508  @java.lang.Override
17509  public boolean hasOnlyAddCutsAtLevelZero() {
17510  return ((bitField2_ & 0x10000000) != 0);
17511  }
17521  @java.lang.Override
17522  public boolean getOnlyAddCutsAtLevelZero() {
17523  return onlyAddCutsAtLevelZero_;
17524  }
17535  public Builder setOnlyAddCutsAtLevelZero(boolean value) {
17536  bitField2_ |= 0x10000000;
17537  onlyAddCutsAtLevelZero_ = value;
17538  onChanged();
17539  return this;
17540  }
17551  bitField2_ = (bitField2_ & ~0x10000000);
17552  onlyAddCutsAtLevelZero_ = false;
17553  onChanged();
17554  return this;
17555  }
17556 
17557  private boolean addKnapsackCuts_ ;
17568  @java.lang.Override
17569  public boolean hasAddKnapsackCuts() {
17570  return ((bitField2_ & 0x20000000) != 0);
17571  }
17582  @java.lang.Override
17583  public boolean getAddKnapsackCuts() {
17584  return addKnapsackCuts_;
17585  }
17597  public Builder setAddKnapsackCuts(boolean value) {
17598  bitField2_ |= 0x20000000;
17599  addKnapsackCuts_ = value;
17600  onChanged();
17601  return this;
17602  }
17614  bitField2_ = (bitField2_ & ~0x20000000);
17615  addKnapsackCuts_ = false;
17616  onChanged();
17617  return this;
17618  }
17619 
17620  private boolean addCgCuts_ = true;
17630  @java.lang.Override
17631  public boolean hasAddCgCuts() {
17632  return ((bitField2_ & 0x40000000) != 0);
17633  }
17643  @java.lang.Override
17644  public boolean getAddCgCuts() {
17645  return addCgCuts_;
17646  }
17657  public Builder setAddCgCuts(boolean value) {
17658  bitField2_ |= 0x40000000;
17659  addCgCuts_ = value;
17660  onChanged();
17661  return this;
17662  }
17673  bitField2_ = (bitField2_ & ~0x40000000);
17674  addCgCuts_ = true;
17675  onChanged();
17676  return this;
17677  }
17678 
17679  private boolean addMirCuts_ = true;
17689  @java.lang.Override
17690  public boolean hasAddMirCuts() {
17691  return ((bitField2_ & 0x80000000) != 0);
17692  }
17702  @java.lang.Override
17703  public boolean getAddMirCuts() {
17704  return addMirCuts_;
17705  }
17716  public Builder setAddMirCuts(boolean value) {
17717  bitField2_ |= 0x80000000;
17718  addMirCuts_ = value;
17719  onChanged();
17720  return this;
17721  }
17732  bitField2_ = (bitField2_ & ~0x80000000);
17733  addMirCuts_ = true;
17734  onChanged();
17735  return this;
17736  }
17737 
17738  private boolean addZeroHalfCuts_ = true;
17748  @java.lang.Override
17749  public boolean hasAddZeroHalfCuts() {
17750  return ((bitField3_ & 0x00000001) != 0);
17751  }
17761  @java.lang.Override
17762  public boolean getAddZeroHalfCuts() {
17763  return addZeroHalfCuts_;
17764  }
17775  public Builder setAddZeroHalfCuts(boolean value) {
17776  bitField3_ |= 0x00000001;
17777  addZeroHalfCuts_ = value;
17778  onChanged();
17779  return this;
17780  }
17791  bitField3_ = (bitField3_ & ~0x00000001);
17792  addZeroHalfCuts_ = true;
17793  onChanged();
17794  return this;
17795  }
17796 
17797  private boolean addCliqueCuts_ = true;
17808  @java.lang.Override
17809  public boolean hasAddCliqueCuts() {
17810  return ((bitField3_ & 0x00000002) != 0);
17811  }
17822  @java.lang.Override
17823  public boolean getAddCliqueCuts() {
17824  return addCliqueCuts_;
17825  }
17837  public Builder setAddCliqueCuts(boolean value) {
17838  bitField3_ |= 0x00000002;
17839  addCliqueCuts_ = value;
17840  onChanged();
17841  return this;
17842  }
17854  bitField3_ = (bitField3_ & ~0x00000002);
17855  addCliqueCuts_ = true;
17856  onChanged();
17857  return this;
17858  }
17859 
17860  private int maxAllDiffCutSize_ = 7;
17871  @java.lang.Override
17872  public boolean hasMaxAllDiffCutSize() {
17873  return ((bitField3_ & 0x00000004) != 0);
17874  }
17885  @java.lang.Override
17886  public int getMaxAllDiffCutSize() {
17887  return maxAllDiffCutSize_;
17888  }
17900  public Builder setMaxAllDiffCutSize(int value) {
17901  bitField3_ |= 0x00000004;
17902  maxAllDiffCutSize_ = value;
17903  onChanged();
17904  return this;
17905  }
17917  bitField3_ = (bitField3_ & ~0x00000004);
17918  maxAllDiffCutSize_ = 7;
17919  onChanged();
17920  return this;
17921  }
17922 
17923  private boolean addLinMaxCuts_ = true;
17934  @java.lang.Override
17935  public boolean hasAddLinMaxCuts() {
17936  return ((bitField3_ & 0x00000008) != 0);
17937  }
17948  @java.lang.Override
17949  public boolean getAddLinMaxCuts() {
17950  return addLinMaxCuts_;
17951  }
17963  public Builder setAddLinMaxCuts(boolean value) {
17964  bitField3_ |= 0x00000008;
17965  addLinMaxCuts_ = value;
17966  onChanged();
17967  return this;
17968  }
17980  bitField3_ = (bitField3_ & ~0x00000008);
17981  addLinMaxCuts_ = true;
17982  onChanged();
17983  return this;
17984  }
17985 
17986  private int maxIntegerRoundingScaling_ = 600;
18001  @java.lang.Override
18002  public boolean hasMaxIntegerRoundingScaling() {
18003  return ((bitField3_ & 0x00000010) != 0);
18004  }
18019  @java.lang.Override
18021  return maxIntegerRoundingScaling_;
18022  }
18039  bitField3_ |= 0x00000010;
18040  maxIntegerRoundingScaling_ = value;
18041  onChanged();
18042  return this;
18043  }
18059  bitField3_ = (bitField3_ & ~0x00000010);
18060  maxIntegerRoundingScaling_ = 600;
18061  onChanged();
18062  return this;
18063  }
18064 
18065  private boolean addLpConstraintsLazily_ = true;
18077  @java.lang.Override
18078  public boolean hasAddLpConstraintsLazily() {
18079  return ((bitField3_ & 0x00000020) != 0);
18080  }
18092  @java.lang.Override
18093  public boolean getAddLpConstraintsLazily() {
18094  return addLpConstraintsLazily_;
18095  }
18108  public Builder setAddLpConstraintsLazily(boolean value) {
18109  bitField3_ |= 0x00000020;
18110  addLpConstraintsLazily_ = value;
18111  onChanged();
18112  return this;
18113  }
18126  bitField3_ = (bitField3_ & ~0x00000020);
18127  addLpConstraintsLazily_ = true;
18128  onChanged();
18129  return this;
18130  }
18131 
18132  private double minOrthogonalityForLpConstraints_ = 0.05D;
18145  @java.lang.Override
18147  return ((bitField3_ & 0x00000040) != 0);
18148  }
18161  @java.lang.Override
18163  return minOrthogonalityForLpConstraints_;
18164  }
18179  bitField3_ |= 0x00000040;
18180  minOrthogonalityForLpConstraints_ = value;
18181  onChanged();
18182  return this;
18183  }
18197  bitField3_ = (bitField3_ & ~0x00000040);
18198  minOrthogonalityForLpConstraints_ = 0.05D;
18199  onChanged();
18200  return this;
18201  }
18202 
18203  private int maxCutRoundsAtLevelZero_ = 1;
18212  @java.lang.Override
18213  public boolean hasMaxCutRoundsAtLevelZero() {
18214  return ((bitField3_ & 0x00000080) != 0);
18215  }
18224  @java.lang.Override
18226  return maxCutRoundsAtLevelZero_;
18227  }
18238  bitField3_ |= 0x00000080;
18239  maxCutRoundsAtLevelZero_ = value;
18240  onChanged();
18241  return this;
18242  }
18252  bitField3_ = (bitField3_ & ~0x00000080);
18253  maxCutRoundsAtLevelZero_ = 1;
18254  onChanged();
18255  return this;
18256  }
18257 
18258  private int maxConsecutiveInactiveCount_ = 100;
18269  @java.lang.Override
18271  return ((bitField3_ & 0x00000100) != 0);
18272  }
18283  @java.lang.Override
18285  return maxConsecutiveInactiveCount_;
18286  }
18299  bitField3_ |= 0x00000100;
18300  maxConsecutiveInactiveCount_ = value;
18301  onChanged();
18302  return this;
18303  }
18315  bitField3_ = (bitField3_ & ~0x00000100);
18316  maxConsecutiveInactiveCount_ = 100;
18317  onChanged();
18318  return this;
18319  }
18320 
18321  private double cutMaxActiveCountValue_ = 10000000000D;
18332  @java.lang.Override
18333  public boolean hasCutMaxActiveCountValue() {
18334  return ((bitField3_ & 0x00000200) != 0);
18335  }
18346  @java.lang.Override
18347  public double getCutMaxActiveCountValue() {
18348  return cutMaxActiveCountValue_;
18349  }
18361  public Builder setCutMaxActiveCountValue(double value) {
18362  bitField3_ |= 0x00000200;
18363  cutMaxActiveCountValue_ = value;
18364  onChanged();
18365  return this;
18366  }
18378  bitField3_ = (bitField3_ & ~0x00000200);
18379  cutMaxActiveCountValue_ = 10000000000D;
18380  onChanged();
18381  return this;
18382  }
18383 
18384  private double cutActiveCountDecay_ = 0.8D;
18389  @java.lang.Override
18390  public boolean hasCutActiveCountDecay() {
18391  return ((bitField3_ & 0x00000400) != 0);
18392  }
18397  @java.lang.Override
18398  public double getCutActiveCountDecay() {
18399  return cutActiveCountDecay_;
18400  }
18406  public Builder setCutActiveCountDecay(double value) {
18407  bitField3_ |= 0x00000400;
18408  cutActiveCountDecay_ = value;
18409  onChanged();
18410  return this;
18411  }
18417  bitField3_ = (bitField3_ & ~0x00000400);
18418  cutActiveCountDecay_ = 0.8D;
18419  onChanged();
18420  return this;
18421  }
18422 
18423  private int cutCleanupTarget_ = 1000;
18432  @java.lang.Override
18433  public boolean hasCutCleanupTarget() {
18434  return ((bitField3_ & 0x00000800) != 0);
18435  }
18444  @java.lang.Override
18445  public int getCutCleanupTarget() {
18446  return cutCleanupTarget_;
18447  }
18457  public Builder setCutCleanupTarget(int value) {
18458  bitField3_ |= 0x00000800;
18459  cutCleanupTarget_ = value;
18460  onChanged();
18461  return this;
18462  }
18472  bitField3_ = (bitField3_ & ~0x00000800);
18473  cutCleanupTarget_ = 1000;
18474  onChanged();
18475  return this;
18476  }
18477 
18478  private int newConstraintsBatchSize_ = 50;
18488  @java.lang.Override
18489  public boolean hasNewConstraintsBatchSize() {
18490  return ((bitField3_ & 0x00001000) != 0);
18491  }
18501  @java.lang.Override
18503  return newConstraintsBatchSize_;
18504  }
18516  bitField3_ |= 0x00001000;
18517  newConstraintsBatchSize_ = value;
18518  onChanged();
18519  return this;
18520  }
18531  bitField3_ = (bitField3_ & ~0x00001000);
18532  newConstraintsBatchSize_ = 50;
18533  onChanged();
18534  return this;
18535  }
18536 
18537  private int searchBranching_ = 0;
18542  @java.lang.Override public boolean hasSearchBranching() {
18543  return ((bitField3_ & 0x00002000) != 0);
18544  }
18549  @java.lang.Override
18551  @SuppressWarnings("deprecation")
18553  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
18554  }
18561  if (value == null) {
18562  throw new NullPointerException();
18563  }
18564  bitField3_ |= 0x00002000;
18565  searchBranching_ = value.getNumber();
18566  onChanged();
18567  return this;
18568  }
18574  bitField3_ = (bitField3_ & ~0x00002000);
18575  searchBranching_ = 0;
18576  onChanged();
18577  return this;
18578  }
18579 
18580  private int hintConflictLimit_ = 10;
18589  @java.lang.Override
18590  public boolean hasHintConflictLimit() {
18591  return ((bitField3_ & 0x00004000) != 0);
18592  }
18601  @java.lang.Override
18602  public int getHintConflictLimit() {
18603  return hintConflictLimit_;
18604  }
18614  public Builder setHintConflictLimit(int value) {
18615  bitField3_ |= 0x00004000;
18616  hintConflictLimit_ = value;
18617  onChanged();
18618  return this;
18619  }
18629  bitField3_ = (bitField3_ & ~0x00004000);
18630  hintConflictLimit_ = 10;
18631  onChanged();
18632  return this;
18633  }
18634 
18635  private boolean repairHint_ ;
18647  @java.lang.Override
18648  public boolean hasRepairHint() {
18649  return ((bitField3_ & 0x00008000) != 0);
18650  }
18662  @java.lang.Override
18663  public boolean getRepairHint() {
18664  return repairHint_;
18665  }
18678  public Builder setRepairHint(boolean value) {
18679  bitField3_ |= 0x00008000;
18680  repairHint_ = value;
18681  onChanged();
18682  return this;
18683  }
18696  bitField3_ = (bitField3_ & ~0x00008000);
18697  repairHint_ = false;
18698  onChanged();
18699  return this;
18700  }
18701 
18702  private boolean exploitIntegerLpSolution_ = true;
18714  @java.lang.Override
18715  public boolean hasExploitIntegerLpSolution() {
18716  return ((bitField3_ & 0x00010000) != 0);
18717  }
18729  @java.lang.Override
18730  public boolean getExploitIntegerLpSolution() {
18731  return exploitIntegerLpSolution_;
18732  }
18745  public Builder setExploitIntegerLpSolution(boolean value) {
18746  bitField3_ |= 0x00010000;
18747  exploitIntegerLpSolution_ = value;
18748  onChanged();
18749  return this;
18750  }
18763  bitField3_ = (bitField3_ & ~0x00010000);
18764  exploitIntegerLpSolution_ = true;
18765  onChanged();
18766  return this;
18767  }
18768 
18769  private boolean exploitAllLpSolution_ = true;
18780  @java.lang.Override
18781  public boolean hasExploitAllLpSolution() {
18782  return ((bitField3_ & 0x00020000) != 0);
18783  }
18794  @java.lang.Override
18795  public boolean getExploitAllLpSolution() {
18796  return exploitAllLpSolution_;
18797  }
18809  public Builder setExploitAllLpSolution(boolean value) {
18810  bitField3_ |= 0x00020000;
18811  exploitAllLpSolution_ = value;
18812  onChanged();
18813  return this;
18814  }
18826  bitField3_ = (bitField3_ & ~0x00020000);
18827  exploitAllLpSolution_ = true;
18828  onChanged();
18829  return this;
18830  }
18831 
18832  private boolean exploitBestSolution_ ;
18841  @java.lang.Override
18842  public boolean hasExploitBestSolution() {
18843  return ((bitField3_ & 0x00040000) != 0);
18844  }
18853  @java.lang.Override
18854  public boolean getExploitBestSolution() {
18855  return exploitBestSolution_;
18856  }
18866  public Builder setExploitBestSolution(boolean value) {
18867  bitField3_ |= 0x00040000;
18868  exploitBestSolution_ = value;
18869  onChanged();
18870  return this;
18871  }
18881  bitField3_ = (bitField3_ & ~0x00040000);
18882  exploitBestSolution_ = false;
18883  onChanged();
18884  return this;
18885  }
18886 
18887  private boolean exploitRelaxationSolution_ ;
18898  @java.lang.Override
18899  public boolean hasExploitRelaxationSolution() {
18900  return ((bitField3_ & 0x00080000) != 0);
18901  }
18912  @java.lang.Override
18913  public boolean getExploitRelaxationSolution() {
18914  return exploitRelaxationSolution_;
18915  }
18927  public Builder setExploitRelaxationSolution(boolean value) {
18928  bitField3_ |= 0x00080000;
18929  exploitRelaxationSolution_ = value;
18930  onChanged();
18931  return this;
18932  }
18944  bitField3_ = (bitField3_ & ~0x00080000);
18945  exploitRelaxationSolution_ = false;
18946  onChanged();
18947  return this;
18948  }
18949 
18950  private boolean exploitObjective_ = true;
18960  @java.lang.Override
18961  public boolean hasExploitObjective() {
18962  return ((bitField3_ & 0x00100000) != 0);
18963  }
18973  @java.lang.Override
18974  public boolean getExploitObjective() {
18975  return exploitObjective_;
18976  }
18987  public Builder setExploitObjective(boolean value) {
18988  bitField3_ |= 0x00100000;
18989  exploitObjective_ = value;
18990  onChanged();
18991  return this;
18992  }
19003  bitField3_ = (bitField3_ & ~0x00100000);
19004  exploitObjective_ = true;
19005  onChanged();
19006  return this;
19007  }
19008 
19009  private long probingPeriodAtRoot_ ;
19020  @java.lang.Override
19021  public boolean hasProbingPeriodAtRoot() {
19022  return ((bitField3_ & 0x00200000) != 0);
19023  }
19034  @java.lang.Override
19035  public long getProbingPeriodAtRoot() {
19036  return probingPeriodAtRoot_;
19037  }
19049  public Builder setProbingPeriodAtRoot(long value) {
19050  bitField3_ |= 0x00200000;
19051  probingPeriodAtRoot_ = value;
19052  onChanged();
19053  return this;
19054  }
19066  bitField3_ = (bitField3_ & ~0x00200000);
19067  probingPeriodAtRoot_ = 0L;
19068  onChanged();
19069  return this;
19070  }
19071 
19072  private boolean useProbingSearch_ ;
19082  @java.lang.Override
19083  public boolean hasUseProbingSearch() {
19084  return ((bitField3_ & 0x00400000) != 0);
19085  }
19095  @java.lang.Override
19096  public boolean getUseProbingSearch() {
19097  return useProbingSearch_;
19098  }
19109  public Builder setUseProbingSearch(boolean value) {
19110  bitField3_ |= 0x00400000;
19111  useProbingSearch_ = value;
19112  onChanged();
19113  return this;
19114  }
19125  bitField3_ = (bitField3_ & ~0x00400000);
19126  useProbingSearch_ = false;
19127  onChanged();
19128  return this;
19129  }
19130 
19131  private long pseudoCostReliabilityThreshold_ = 100L;
19141  @java.lang.Override
19143  return ((bitField3_ & 0x00800000) != 0);
19144  }
19154  @java.lang.Override
19156  return pseudoCostReliabilityThreshold_;
19157  }
19169  bitField3_ |= 0x00800000;
19170  pseudoCostReliabilityThreshold_ = value;
19171  onChanged();
19172  return this;
19173  }
19184  bitField3_ = (bitField3_ & ~0x00800000);
19185  pseudoCostReliabilityThreshold_ = 100L;
19186  onChanged();
19187  return this;
19188  }
19189 
19190  private boolean optimizeWithCore_ ;
19202  @java.lang.Override
19203  public boolean hasOptimizeWithCore() {
19204  return ((bitField3_ & 0x01000000) != 0);
19205  }
19217  @java.lang.Override
19218  public boolean getOptimizeWithCore() {
19219  return optimizeWithCore_;
19220  }
19233  public Builder setOptimizeWithCore(boolean value) {
19234  bitField3_ |= 0x01000000;
19235  optimizeWithCore_ = value;
19236  onChanged();
19237  return this;
19238  }
19251  bitField3_ = (bitField3_ & ~0x01000000);
19252  optimizeWithCore_ = false;
19253  onChanged();
19254  return this;
19255  }
19256 
19257  private int binarySearchNumConflicts_ = -1;
19269  @java.lang.Override
19270  public boolean hasBinarySearchNumConflicts() {
19271  return ((bitField3_ & 0x02000000) != 0);
19272  }
19284  @java.lang.Override
19286  return binarySearchNumConflicts_;
19287  }
19301  bitField3_ |= 0x02000000;
19302  binarySearchNumConflicts_ = value;
19303  onChanged();
19304  return this;
19305  }
19318  bitField3_ = (bitField3_ & ~0x02000000);
19319  binarySearchNumConflicts_ = -1;
19320  onChanged();
19321  return this;
19322  }
19323 
19324  private boolean optimizeWithMaxHs_ ;
19338  @java.lang.Override
19339  public boolean hasOptimizeWithMaxHs() {
19340  return ((bitField3_ & 0x04000000) != 0);
19341  }
19355  @java.lang.Override
19356  public boolean getOptimizeWithMaxHs() {
19357  return optimizeWithMaxHs_;
19358  }
19373  public Builder setOptimizeWithMaxHs(boolean value) {
19374  bitField3_ |= 0x04000000;
19375  optimizeWithMaxHs_ = value;
19376  onChanged();
19377  return this;
19378  }
19393  bitField3_ = (bitField3_ & ~0x04000000);
19394  optimizeWithMaxHs_ = false;
19395  onChanged();
19396  return this;
19397  }
19398 
19399  private boolean enumerateAllSolutions_ ;
19413  @java.lang.Override
19414  public boolean hasEnumerateAllSolutions() {
19415  return ((bitField3_ & 0x08000000) != 0);
19416  }
19430  @java.lang.Override
19431  public boolean getEnumerateAllSolutions() {
19432  return enumerateAllSolutions_;
19433  }
19448  public Builder setEnumerateAllSolutions(boolean value) {
19449  bitField3_ |= 0x08000000;
19450  enumerateAllSolutions_ = value;
19451  onChanged();
19452  return this;
19453  }
19468  bitField3_ = (bitField3_ & ~0x08000000);
19469  enumerateAllSolutions_ = false;
19470  onChanged();
19471  return this;
19472  }
19473 
19474  private boolean keepAllFeasibleSolutionsInPresolve_ ;
19489  @java.lang.Override
19491  return ((bitField3_ & 0x10000000) != 0);
19492  }
19507  @java.lang.Override
19509  return keepAllFeasibleSolutionsInPresolve_;
19510  }
19527  bitField3_ |= 0x10000000;
19528  keepAllFeasibleSolutionsInPresolve_ = value;
19529  onChanged();
19530  return this;
19531  }
19547  bitField3_ = (bitField3_ & ~0x10000000);
19548  keepAllFeasibleSolutionsInPresolve_ = false;
19549  onChanged();
19550  return this;
19551  }
19552 
19553  private boolean fillTightenedDomainsInResponse_ ;
19566  @java.lang.Override
19568  return ((bitField3_ & 0x20000000) != 0);
19569  }
19582  @java.lang.Override
19584  return fillTightenedDomainsInResponse_;
19585  }
19600  bitField3_ |= 0x20000000;
19601  fillTightenedDomainsInResponse_ = value;
19602  onChanged();
19603  return this;
19604  }
19618  bitField3_ = (bitField3_ & ~0x20000000);
19619  fillTightenedDomainsInResponse_ = false;
19620  onChanged();
19621  return this;
19622  }
19623 
19624  private boolean instantiateAllVariables_ = true;
19634  @java.lang.Override
19635  public boolean hasInstantiateAllVariables() {
19636  return ((bitField3_ & 0x40000000) != 0);
19637  }
19647  @java.lang.Override
19648  public boolean getInstantiateAllVariables() {
19649  return instantiateAllVariables_;
19650  }
19661  public Builder setInstantiateAllVariables(boolean value) {
19662  bitField3_ |= 0x40000000;
19663  instantiateAllVariables_ = value;
19664  onChanged();
19665  return this;
19666  }
19677  bitField3_ = (bitField3_ & ~0x40000000);
19678  instantiateAllVariables_ = true;
19679  onChanged();
19680  return this;
19681  }
19682 
19683  private boolean autoDetectGreaterThanAtLeastOneOf_ = true;
19695  @java.lang.Override
19697  return ((bitField3_ & 0x80000000) != 0);
19698  }
19710  @java.lang.Override
19712  return autoDetectGreaterThanAtLeastOneOf_;
19713  }
19727  bitField3_ |= 0x80000000;
19728  autoDetectGreaterThanAtLeastOneOf_ = value;
19729  onChanged();
19730  return this;
19731  }
19744  bitField3_ = (bitField3_ & ~0x80000000);
19745  autoDetectGreaterThanAtLeastOneOf_ = true;
19746  onChanged();
19747  return this;
19748  }
19749 
19750  private boolean stopAfterFirstSolution_ ;
19759  @java.lang.Override
19760  public boolean hasStopAfterFirstSolution() {
19761  return ((bitField4_ & 0x00000001) != 0);
19762  }
19771  @java.lang.Override
19772  public boolean getStopAfterFirstSolution() {
19773  return stopAfterFirstSolution_;
19774  }
19784  public Builder setStopAfterFirstSolution(boolean value) {
19785  bitField4_ |= 0x00000001;
19786  stopAfterFirstSolution_ = value;
19787  onChanged();
19788  return this;
19789  }
19799  bitField4_ = (bitField4_ & ~0x00000001);
19800  stopAfterFirstSolution_ = false;
19801  onChanged();
19802  return this;
19803  }
19804 
19805  private boolean stopAfterPresolve_ ;
19815  @java.lang.Override
19816  public boolean hasStopAfterPresolve() {
19817  return ((bitField4_ & 0x00000002) != 0);
19818  }
19828  @java.lang.Override
19829  public boolean getStopAfterPresolve() {
19830  return stopAfterPresolve_;
19831  }
19842  public Builder setStopAfterPresolve(boolean value) {
19843  bitField4_ |= 0x00000002;
19844  stopAfterPresolve_ = value;
19845  onChanged();
19846  return this;
19847  }
19858  bitField4_ = (bitField4_ & ~0x00000002);
19859  stopAfterPresolve_ = false;
19860  onChanged();
19861  return this;
19862  }
19863 
19864  private int numSearchWorkers_ = 1;
19878  @java.lang.Override
19879  public boolean hasNumSearchWorkers() {
19880  return ((bitField4_ & 0x00000004) != 0);
19881  }
19895  @java.lang.Override
19896  public int getNumSearchWorkers() {
19897  return numSearchWorkers_;
19898  }
19913  public Builder setNumSearchWorkers(int value) {
19914  bitField4_ |= 0x00000004;
19915  numSearchWorkers_ = value;
19916  onChanged();
19917  return this;
19918  }
19933  bitField4_ = (bitField4_ & ~0x00000004);
19934  numSearchWorkers_ = 1;
19935  onChanged();
19936  return this;
19937  }
19938 
19939  private boolean interleaveSearch_ ;
19952  @java.lang.Override
19953  public boolean hasInterleaveSearch() {
19954  return ((bitField4_ & 0x00000008) != 0);
19955  }
19968  @java.lang.Override
19969  public boolean getInterleaveSearch() {
19970  return interleaveSearch_;
19971  }
19985  public Builder setInterleaveSearch(boolean value) {
19986  bitField4_ |= 0x00000008;
19987  interleaveSearch_ = value;
19988  onChanged();
19989  return this;
19990  }
20004  bitField4_ = (bitField4_ & ~0x00000008);
20005  interleaveSearch_ = false;
20006  onChanged();
20007  return this;
20008  }
20009 
20010  private int interleaveBatchSize_ = 1;
20015  @java.lang.Override
20016  public boolean hasInterleaveBatchSize() {
20017  return ((bitField4_ & 0x00000010) != 0);
20018  }
20023  @java.lang.Override
20024  public int getInterleaveBatchSize() {
20025  return interleaveBatchSize_;
20026  }
20032  public Builder setInterleaveBatchSize(int value) {
20033  bitField4_ |= 0x00000010;
20034  interleaveBatchSize_ = value;
20035  onChanged();
20036  return this;
20037  }
20043  bitField4_ = (bitField4_ & ~0x00000010);
20044  interleaveBatchSize_ = 1;
20045  onChanged();
20046  return this;
20047  }
20048 
20049  private boolean reduceMemoryUsageInInterleaveMode_ ;
20058  @java.lang.Override
20060  return ((bitField4_ & 0x00000020) != 0);
20061  }
20070  @java.lang.Override
20072  return reduceMemoryUsageInInterleaveMode_;
20073  }
20084  bitField4_ |= 0x00000020;
20085  reduceMemoryUsageInInterleaveMode_ = value;
20086  onChanged();
20087  return this;
20088  }
20098  bitField4_ = (bitField4_ & ~0x00000020);
20099  reduceMemoryUsageInInterleaveMode_ = false;
20100  onChanged();
20101  return this;
20102  }
20103 
20104  private boolean shareObjectiveBounds_ = true;
20113  @java.lang.Override
20114  public boolean hasShareObjectiveBounds() {
20115  return ((bitField4_ & 0x00000040) != 0);
20116  }
20125  @java.lang.Override
20126  public boolean getShareObjectiveBounds() {
20127  return shareObjectiveBounds_;
20128  }
20138  public Builder setShareObjectiveBounds(boolean value) {
20139  bitField4_ |= 0x00000040;
20140  shareObjectiveBounds_ = value;
20141  onChanged();
20142  return this;
20143  }
20153  bitField4_ = (bitField4_ & ~0x00000040);
20154  shareObjectiveBounds_ = true;
20155  onChanged();
20156  return this;
20157  }
20158 
20159  private boolean shareLevelZeroBounds_ = true;
20168  @java.lang.Override
20169  public boolean hasShareLevelZeroBounds() {
20170  return ((bitField4_ & 0x00000080) != 0);
20171  }
20180  @java.lang.Override
20181  public boolean getShareLevelZeroBounds() {
20182  return shareLevelZeroBounds_;
20183  }
20193  public Builder setShareLevelZeroBounds(boolean value) {
20194  bitField4_ |= 0x00000080;
20195  shareLevelZeroBounds_ = value;
20196  onChanged();
20197  return this;
20198  }
20208  bitField4_ = (bitField4_ & ~0x00000080);
20209  shareLevelZeroBounds_ = true;
20210  onChanged();
20211  return this;
20212  }
20213 
20214  private boolean useLnsOnly_ ;
20223  @java.lang.Override
20224  public boolean hasUseLnsOnly() {
20225  return ((bitField4_ & 0x00000100) != 0);
20226  }
20235  @java.lang.Override
20236  public boolean getUseLnsOnly() {
20237  return useLnsOnly_;
20238  }
20248  public Builder setUseLnsOnly(boolean value) {
20249  bitField4_ |= 0x00000100;
20250  useLnsOnly_ = value;
20251  onChanged();
20252  return this;
20253  }
20263  bitField4_ = (bitField4_ & ~0x00000100);
20264  useLnsOnly_ = false;
20265  onChanged();
20266  return this;
20267  }
20268 
20269  private boolean lnsFocusOnDecisionVariables_ ;
20274  @java.lang.Override
20276  return ((bitField4_ & 0x00000200) != 0);
20277  }
20282  @java.lang.Override
20284  return lnsFocusOnDecisionVariables_;
20285  }
20291  public Builder setLnsFocusOnDecisionVariables(boolean value) {
20292  bitField4_ |= 0x00000200;
20293  lnsFocusOnDecisionVariables_ = value;
20294  onChanged();
20295  return this;
20296  }
20302  bitField4_ = (bitField4_ & ~0x00000200);
20303  lnsFocusOnDecisionVariables_ = false;
20304  onChanged();
20305  return this;
20306  }
20307 
20308  private boolean useRinsLns_ = true;
20317  @java.lang.Override
20318  public boolean hasUseRinsLns() {
20319  return ((bitField4_ & 0x00000400) != 0);
20320  }
20329  @java.lang.Override
20330  public boolean getUseRinsLns() {
20331  return useRinsLns_;
20332  }
20342  public Builder setUseRinsLns(boolean value) {
20343  bitField4_ |= 0x00000400;
20344  useRinsLns_ = value;
20345  onChanged();
20346  return this;
20347  }
20357  bitField4_ = (bitField4_ & ~0x00000400);
20358  useRinsLns_ = true;
20359  onChanged();
20360  return this;
20361  }
20362 
20363  private boolean useFeasibilityPump_ = true;
20372  @java.lang.Override
20373  public boolean hasUseFeasibilityPump() {
20374  return ((bitField4_ & 0x00000800) != 0);
20375  }
20384  @java.lang.Override
20385  public boolean getUseFeasibilityPump() {
20386  return useFeasibilityPump_;
20387  }
20397  public Builder setUseFeasibilityPump(boolean value) {
20398  bitField4_ |= 0x00000800;
20399  useFeasibilityPump_ = value;
20400  onChanged();
20401  return this;
20402  }
20412  bitField4_ = (bitField4_ & ~0x00000800);
20413  useFeasibilityPump_ = true;
20414  onChanged();
20415  return this;
20416  }
20417 
20418  private int fpRounding_ = 2;
20423  @java.lang.Override public boolean hasFpRounding() {
20424  return ((bitField4_ & 0x00001000) != 0);
20425  }
20430  @java.lang.Override
20432  @SuppressWarnings("deprecation")
20434  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
20435  }
20442  if (value == null) {
20443  throw new NullPointerException();
20444  }
20445  bitField4_ |= 0x00001000;
20446  fpRounding_ = value.getNumber();
20447  onChanged();
20448  return this;
20449  }
20455  bitField4_ = (bitField4_ & ~0x00001000);
20456  fpRounding_ = 2;
20457  onChanged();
20458  return this;
20459  }
20460 
20461  private boolean useRelaxationLns_ ;
20471  @java.lang.Override
20472  public boolean hasUseRelaxationLns() {
20473  return ((bitField4_ & 0x00002000) != 0);
20474  }
20484  @java.lang.Override
20485  public boolean getUseRelaxationLns() {
20486  return useRelaxationLns_;
20487  }
20498  public Builder setUseRelaxationLns(boolean value) {
20499  bitField4_ |= 0x00002000;
20500  useRelaxationLns_ = value;
20501  onChanged();
20502  return this;
20503  }
20514  bitField4_ = (bitField4_ & ~0x00002000);
20515  useRelaxationLns_ = false;
20516  onChanged();
20517  return this;
20518  }
20519 
20520  private boolean diversifyLnsParams_ ;
20529  @java.lang.Override
20530  public boolean hasDiversifyLnsParams() {
20531  return ((bitField4_ & 0x00004000) != 0);
20532  }
20541  @java.lang.Override
20542  public boolean getDiversifyLnsParams() {
20543  return diversifyLnsParams_;
20544  }
20554  public Builder setDiversifyLnsParams(boolean value) {
20555  bitField4_ |= 0x00004000;
20556  diversifyLnsParams_ = value;
20557  onChanged();
20558  return this;
20559  }
20569  bitField4_ = (bitField4_ & ~0x00004000);
20570  diversifyLnsParams_ = false;
20571  onChanged();
20572  return this;
20573  }
20574 
20575  private boolean randomizeSearch_ ;
20584  @java.lang.Override
20585  public boolean hasRandomizeSearch() {
20586  return ((bitField4_ & 0x00008000) != 0);
20587  }
20596  @java.lang.Override
20597  public boolean getRandomizeSearch() {
20598  return randomizeSearch_;
20599  }
20609  public Builder setRandomizeSearch(boolean value) {
20610  bitField4_ |= 0x00008000;
20611  randomizeSearch_ = value;
20612  onChanged();
20613  return this;
20614  }
20624  bitField4_ = (bitField4_ & ~0x00008000);
20625  randomizeSearch_ = false;
20626  onChanged();
20627  return this;
20628  }
20629 
20630  private long searchRandomizationTolerance_ ;
20645  @java.lang.Override
20647  return ((bitField4_ & 0x00010000) != 0);
20648  }
20663  @java.lang.Override
20665  return searchRandomizationTolerance_;
20666  }
20683  bitField4_ |= 0x00010000;
20684  searchRandomizationTolerance_ = value;
20685  onChanged();
20686  return this;
20687  }
20703  bitField4_ = (bitField4_ & ~0x00010000);
20704  searchRandomizationTolerance_ = 0L;
20705  onChanged();
20706  return this;
20707  }
20708 
20709  private boolean useOptionalVariables_ = true;
20720  @java.lang.Override
20721  public boolean hasUseOptionalVariables() {
20722  return ((bitField4_ & 0x00020000) != 0);
20723  }
20734  @java.lang.Override
20735  public boolean getUseOptionalVariables() {
20736  return useOptionalVariables_;
20737  }
20749  public Builder setUseOptionalVariables(boolean value) {
20750  bitField4_ |= 0x00020000;
20751  useOptionalVariables_ = value;
20752  onChanged();
20753  return this;
20754  }
20766  bitField4_ = (bitField4_ & ~0x00020000);
20767  useOptionalVariables_ = true;
20768  onChanged();
20769  return this;
20770  }
20771 
20772  private boolean useExactLpReason_ = true;
20784  @java.lang.Override
20785  public boolean hasUseExactLpReason() {
20786  return ((bitField4_ & 0x00040000) != 0);
20787  }
20799  @java.lang.Override
20800  public boolean getUseExactLpReason() {
20801  return useExactLpReason_;
20802  }
20815  public Builder setUseExactLpReason(boolean value) {
20816  bitField4_ |= 0x00040000;
20817  useExactLpReason_ = value;
20818  onChanged();
20819  return this;
20820  }
20833  bitField4_ = (bitField4_ & ~0x00040000);
20834  useExactLpReason_ = true;
20835  onChanged();
20836  return this;
20837  }
20838 
20839  private boolean useBranchingInLp_ ;
20850  @java.lang.Override
20851  public boolean hasUseBranchingInLp() {
20852  return ((bitField4_ & 0x00080000) != 0);
20853  }
20864  @java.lang.Override
20865  public boolean getUseBranchingInLp() {
20866  return useBranchingInLp_;
20867  }
20879  public Builder setUseBranchingInLp(boolean value) {
20880  bitField4_ |= 0x00080000;
20881  useBranchingInLp_ = value;
20882  onChanged();
20883  return this;
20884  }
20896  bitField4_ = (bitField4_ & ~0x00080000);
20897  useBranchingInLp_ = false;
20898  onChanged();
20899  return this;
20900  }
20901 
20902  private boolean useCombinedNoOverlap_ ;
20913  @java.lang.Override
20914  public boolean hasUseCombinedNoOverlap() {
20915  return ((bitField4_ & 0x00100000) != 0);
20916  }
20927  @java.lang.Override
20928  public boolean getUseCombinedNoOverlap() {
20929  return useCombinedNoOverlap_;
20930  }
20942  public Builder setUseCombinedNoOverlap(boolean value) {
20943  bitField4_ |= 0x00100000;
20944  useCombinedNoOverlap_ = value;
20945  onChanged();
20946  return this;
20947  }
20959  bitField4_ = (bitField4_ & ~0x00100000);
20960  useCombinedNoOverlap_ = false;
20961  onChanged();
20962  return this;
20963  }
20964 
20965  private boolean catchSigintSignal_ = true;
20976  @java.lang.Override
20977  public boolean hasCatchSigintSignal() {
20978  return ((bitField4_ & 0x00200000) != 0);
20979  }
20990  @java.lang.Override
20991  public boolean getCatchSigintSignal() {
20992  return catchSigintSignal_;
20993  }
21005  public Builder setCatchSigintSignal(boolean value) {
21006  bitField4_ |= 0x00200000;
21007  catchSigintSignal_ = value;
21008  onChanged();
21009  return this;
21010  }
21022  bitField4_ = (bitField4_ & ~0x00200000);
21023  catchSigintSignal_ = true;
21024  onChanged();
21025  return this;
21026  }
21027 
21028  private boolean useImpliedBounds_ = true;
21039  @java.lang.Override
21040  public boolean hasUseImpliedBounds() {
21041  return ((bitField4_ & 0x00400000) != 0);
21042  }
21053  @java.lang.Override
21054  public boolean getUseImpliedBounds() {
21055  return useImpliedBounds_;
21056  }
21068  public Builder setUseImpliedBounds(boolean value) {
21069  bitField4_ |= 0x00400000;
21070  useImpliedBounds_ = value;
21071  onChanged();
21072  return this;
21073  }
21085  bitField4_ = (bitField4_ & ~0x00400000);
21086  useImpliedBounds_ = true;
21087  onChanged();
21088  return this;
21089  }
21090 
21091  private boolean polishLpSolution_ ;
21103  @java.lang.Override
21104  public boolean hasPolishLpSolution() {
21105  return ((bitField4_ & 0x00800000) != 0);
21106  }
21118  @java.lang.Override
21119  public boolean getPolishLpSolution() {
21120  return polishLpSolution_;
21121  }
21134  public Builder setPolishLpSolution(boolean value) {
21135  bitField4_ |= 0x00800000;
21136  polishLpSolution_ = value;
21137  onChanged();
21138  return this;
21139  }
21152  bitField4_ = (bitField4_ & ~0x00800000);
21153  polishLpSolution_ = false;
21154  onChanged();
21155  return this;
21156  }
21157 
21158  private boolean convertIntervals_ ;
21169  @java.lang.Override
21170  public boolean hasConvertIntervals() {
21171  return ((bitField4_ & 0x01000000) != 0);
21172  }
21183  @java.lang.Override
21184  public boolean getConvertIntervals() {
21185  return convertIntervals_;
21186  }
21198  public Builder setConvertIntervals(boolean value) {
21199  bitField4_ |= 0x01000000;
21200  convertIntervals_ = value;
21201  onChanged();
21202  return this;
21203  }
21215  bitField4_ = (bitField4_ & ~0x01000000);
21216  convertIntervals_ = false;
21217  onChanged();
21218  return this;
21219  }
21220 
21221  private double mipMaxBound_ = 10000000D;
21232  @java.lang.Override
21233  public boolean hasMipMaxBound() {
21234  return ((bitField4_ & 0x02000000) != 0);
21235  }
21246  @java.lang.Override
21247  public double getMipMaxBound() {
21248  return mipMaxBound_;
21249  }
21261  public Builder setMipMaxBound(double value) {
21262  bitField4_ |= 0x02000000;
21263  mipMaxBound_ = value;
21264  onChanged();
21265  return this;
21266  }
21278  bitField4_ = (bitField4_ & ~0x02000000);
21279  mipMaxBound_ = 10000000D;
21280  onChanged();
21281  return this;
21282  }
21283 
21284  private double mipVarScaling_ = 1D;
21295  @java.lang.Override
21296  public boolean hasMipVarScaling() {
21297  return ((bitField4_ & 0x04000000) != 0);
21298  }
21309  @java.lang.Override
21310  public double getMipVarScaling() {
21311  return mipVarScaling_;
21312  }
21324  public Builder setMipVarScaling(double value) {
21325  bitField4_ |= 0x04000000;
21326  mipVarScaling_ = value;
21327  onChanged();
21328  return this;
21329  }
21341  bitField4_ = (bitField4_ & ~0x04000000);
21342  mipVarScaling_ = 1D;
21343  onChanged();
21344  return this;
21345  }
21346 
21347  private boolean mipAutomaticallyScaleVariables_ = true;
21360  @java.lang.Override
21362  return ((bitField4_ & 0x08000000) != 0);
21363  }
21376  @java.lang.Override
21378  return mipAutomaticallyScaleVariables_;
21379  }
21394  bitField4_ |= 0x08000000;
21395  mipAutomaticallyScaleVariables_ = value;
21396  onChanged();
21397  return this;
21398  }
21412  bitField4_ = (bitField4_ & ~0x08000000);
21413  mipAutomaticallyScaleVariables_ = true;
21414  onChanged();
21415  return this;
21416  }
21417 
21418  private double mipWantedPrecision_ = 1e-06D;
21436  @java.lang.Override
21437  public boolean hasMipWantedPrecision() {
21438  return ((bitField4_ & 0x10000000) != 0);
21439  }
21457  @java.lang.Override
21458  public double getMipWantedPrecision() {
21459  return mipWantedPrecision_;
21460  }
21479  public Builder setMipWantedPrecision(double value) {
21480  bitField4_ |= 0x10000000;
21481  mipWantedPrecision_ = value;
21482  onChanged();
21483  return this;
21484  }
21503  bitField4_ = (bitField4_ & ~0x10000000);
21504  mipWantedPrecision_ = 1e-06D;
21505  onChanged();
21506  return this;
21507  }
21508 
21509  private int mipMaxActivityExponent_ = 53;
21524  @java.lang.Override
21525  public boolean hasMipMaxActivityExponent() {
21526  return ((bitField4_ & 0x20000000) != 0);
21527  }
21542  @java.lang.Override
21544  return mipMaxActivityExponent_;
21545  }
21562  bitField4_ |= 0x20000000;
21563  mipMaxActivityExponent_ = value;
21564  onChanged();
21565  return this;
21566  }
21582  bitField4_ = (bitField4_ & ~0x20000000);
21583  mipMaxActivityExponent_ = 53;
21584  onChanged();
21585  return this;
21586  }
21587 
21588  private double mipCheckPrecision_ = 0.0001D;
21599  @java.lang.Override
21600  public boolean hasMipCheckPrecision() {
21601  return ((bitField4_ & 0x40000000) != 0);
21602  }
21613  @java.lang.Override
21614  public double getMipCheckPrecision() {
21615  return mipCheckPrecision_;
21616  }
21628  public Builder setMipCheckPrecision(double value) {
21629  bitField4_ |= 0x40000000;
21630  mipCheckPrecision_ = value;
21631  onChanged();
21632  return this;
21633  }
21645  bitField4_ = (bitField4_ & ~0x40000000);
21646  mipCheckPrecision_ = 0.0001D;
21647  onChanged();
21648  return this;
21649  }
21650  @java.lang.Override
21652  final com.google.protobuf.UnknownFieldSet unknownFields) {
21653  return super.setUnknownFields(unknownFields);
21654  }
21655 
21656  @java.lang.Override
21658  final com.google.protobuf.UnknownFieldSet unknownFields) {
21659  return super.mergeUnknownFields(unknownFields);
21660  }
21661 
21662 
21663  // @@protoc_insertion_point(builder_scope:operations_research.sat.SatParameters)
21664  }
21665 
21666  // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
21667  private static final com.google.ortools.sat.SatParameters DEFAULT_INSTANCE;
21668  static {
21669  DEFAULT_INSTANCE = new com.google.ortools.sat.SatParameters();
21670  }
21671 
21673  return DEFAULT_INSTANCE;
21674  }
21675 
21676  @java.lang.Deprecated public static final com.google.protobuf.Parser<SatParameters>
21677  PARSER = new com.google.protobuf.AbstractParser<SatParameters>() {
21678  @java.lang.Override
21679  public SatParameters parsePartialFrom(
21680  com.google.protobuf.CodedInputStream input,
21681  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
21682  throws com.google.protobuf.InvalidProtocolBufferException {
21683  return new SatParameters(input, extensionRegistry);
21684  }
21685  };
21686 
21687  public static com.google.protobuf.Parser<SatParameters> parser() {
21688  return PARSER;
21689  }
21690 
21691  @java.lang.Override
21692  public com.google.protobuf.Parser<SatParameters> getParserForType() {
21693  return PARSER;
21694  }
21695 
21696  @java.lang.Override
21698  return DEFAULT_INSTANCE;
21699  }
21700 
21701 }
21702 
static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER
static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER
static final int REDUCE_MEMORY_USAGE_IN_INTERLEAVE_MODE_FIELD_NUMBER
.lang.Override final boolean isInitialized()
.lang.Override double getRandomPolarityRatio()
Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value)
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean hasCatchSigintSignal()
static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER
.lang.Override boolean getShareObjectiveBounds()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override boolean getMinimizeReductionDuringPbResolution()
static final int USE_RINS_LNS_FIELD_NUMBER
static ClauseProtection forNumber(int value)
.lang.Override boolean getMinimizeReductionDuringPbResolution()
Builder setMaxMemoryInMb(long value)
.lang.Override boolean hasUseImpliedBounds()
.lang.Override boolean hasExploitAllLpSolution()
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean hasAddCgCuts()
java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER
Builder clearConvertIntervals()
Builder setCutMaxActiveCountValue(double value)
.lang.Override int getMipMaxActivityExponent()
Builder setUsePhaseSaving(boolean value)
.lang.Override boolean getRepairHint()
.lang.Override boolean getInterleaveSearch()
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
NO_BINARY_MINIMIZATION
NO_BINARY_MINIMIZATION = 0;
.lang.Override int getPresolveBveClauseWeight()
Builder clearExpandAutomatonConstraints()
static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER
Builder clearMinOrthogonalityForLpConstraints()
.lang.Override boolean getUseLnsOnly()
final int getNumber()
.lang.Override boolean getCountAssumptionLevelsInLbd()
.lang.Override boolean hasRandomizeSearch()
static BinaryMinizationAlgorithm forNumber(int value)
Builder setDiversifyLnsParams(boolean value)
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
.lang.Override boolean hasOptimizeWithMaxHs()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder clearClauseCleanupTarget()
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override boolean getPolishLpSolution()
.lang.Override boolean hasDiversifyLnsParams()
Builder clearAddCgCuts()
.lang.Override boolean hasClauseActivityDecay()
.lang.Override int getBooleanEncodingLevel()
.lang.Override boolean getShareLevelZeroBounds()
static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER
Builder clearCutCleanupTarget()
.lang.Override boolean hasUseExactLpReason()
Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value)
.lang.Override boolean hasRandomSeed()
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
.lang.Override boolean hasPresolveBlockedClause()
.lang.Override boolean hasUseCombinedNoOverlap()
.lang.Override boolean hasStopAfterFirstSolution()
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setPseudoCostReliabilityThreshold(long value)
static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setMergeNoOverlapWorkLimit(double value)
static final int ADD_MIR_CUTS_FIELD_NUMBER
Builder setUseRinsLns(boolean value)
Builder clearMipVarScaling()
static final int AUTO_DETECT_GREATER_THAN_AT_LEAST_ONE_OF_FIELD_NUMBER
.lang.Override int getLinearizationLevel()
.lang.Override boolean hasExploitRelaxationSolution()
.lang.Override boolean hasMaxMemoryInMb()
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
.lang.Override boolean hasMaxDeterministicTime()
Builder setNumSearchWorkers(int value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
Builder clearUseRinsLns()
static final int FIND_MULTIPLE_CORES_FIELD_NUMBER
.lang.Override boolean hasAddZeroHalfCuts()
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean getInterleaveSearch()
static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER
.lang.Override boolean getAddZeroHalfCuts()
.lang.Override boolean getDisableConstraintExpansion()
IN_REVERSE_ORDER
IN_REVERSE_ORDER = 1;
Builder clearVariableActivityDecay()
Builder setAlsoBumpVariablesInConflictReasons(boolean value)
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static final int RANDOM_SEED_FIELD_NUMBER
POLARITY_TRUE
POLARITY_TRUE = 0;
.lang.Override boolean hasUseProbingSearch()
.lang.Override boolean hasRandomSeed()
static com.google.protobuf.Internal.EnumLiteMap< BinaryMinizationAlgorithm > internalGetValueMap()
Builder clearUseLnsOnly()
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder clearGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
Builder setInterleaveSearch(boolean value)
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override double getRandomPolarityRatio()
.lang.Override boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
static final int CP_MODEL_PRESOLVE_FIELD_NUMBER
PSEUDO_COST_SEARCH
static VariableOrder forNumber(int value)
Builder setExpandTableConstraints(boolean value)
.lang.Override int getMaxAllDiffCutSize()
.lang.Override boolean hasUseOptionalVariables()
Builder clearReduceMemoryUsageInInterleaveMode()
Builder clearPolarityRephaseIncrement()
Builder setAddLpConstraintsLazily(boolean value)
Builder setMinimizeWithPropagationRestartPeriod(int value)
Builder clearShareObjectiveBounds()
.lang.Override boolean hasMergeNoOverlapWorkLimit()
.lang.Override boolean getStopAfterFirstSolution()
.lang.Override boolean hasUseImpliedBounds()
.lang.Override int getHintConflictLimit()
Builder clearMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override int getClauseCleanupPeriod()
SIMPLE
SIMPLE = 1;
Builder setBooleanEncodingLevel(int value)
.lang.Override boolean hasSearchRandomizationTolerance()
Builder setPresolveBvaThreshold(int value)
.lang.Override boolean hasExpandAutomatonConstraints()
static final int NAME_FIELD_NUMBER
.lang.Override boolean getInstantiateAllVariables()
.lang.Override boolean getCatchSigintSignal()
.lang.Override boolean getLogSearchProgress()
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
final int getNumber()
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER
Builder clearKeepAllFeasibleSolutionsInPresolve()
Builder clearClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER
.lang.Override boolean getPresolveExtractIntegerEnforcement()
static final int COVER_OPTIMIZATION_FIELD_NUMBER
final int getNumber()
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
Builder setCutCleanupTarget(int value)
.lang.Override double getCutMaxActiveCountValue()
.lang.Override boolean hasCutCleanupTarget()
Builder setMaxIntegerRoundingScaling(int value)
.lang.Override boolean hasFindMultipleCores()
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder clearRestartRunningWindowSize()
.lang.Override boolean getUseOptionalVariables()
static final int SUBSUMPTION_DURING_CONFLICT_ANALYSIS_FIELD_NUMBER
static final int MIP_CHECK_PRECISION_FIELD_NUMBER
.lang.Override boolean getUseFeasibilityPump()
Builder setAddKnapsackCuts(boolean value)
.lang.Override boolean getMaxSatReverseAssumptionOrder()
.lang.Override boolean getUseOptionalVariables()
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
static final int RANDOMIZE_SEARCH_FIELD_NUMBER
EXPERIMENTAL_BINARY_MINIMIZATION
EXPERIMENTAL_BINARY_MINIMIZATION = 3;
Builder clearAddZeroHalfCuts()
.lang.Override boolean getExploitObjective()
.lang.Override long getPseudoCostReliabilityThreshold()
.lang.Override double getMipWantedPrecision()
.lang.Override boolean getMinimizeCore()
.lang.Override int getRestartAlgorithmsCount()
POLARITY_RANDOM
POLARITY_RANDOM = 2;
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override int getPresolveBvaThreshold()
.lang.Override boolean getStopAfterPresolve()
Builder setCpModelMaxNumPresolveOperations(int value)
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean getCpModelPostsolveWithFullSolver()
.lang.Override boolean getPermuteVariableRandomly()
STRATIFICATION_ASCENT
final int getNumber()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasMipMaxBound()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean getPresolveBlockedClause()
.lang.Override boolean hasUseBlockingRestart()
.lang.Override boolean hasMaxDeterministicTime()
Builder clearRestartPeriod()
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Deprecated static FPRoundingMethod valueOf(int value)
.lang.Override int getHintConflictLimit()
Builder setExploitAllLpSolution(boolean value)
Builder setMaxSatReverseAssumptionOrder(boolean value)
Builder setCpModelUseSatPresolve(boolean value)
.lang.Override int getCutCleanupTarget()
.lang.Override boolean getExploitAllLpSolution()
final int getNumber()
Builder clearRestartAlgorithms()
Builder setMipMaxActivityExponent(int value)
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override int getMaxPresolveIterations()
Builder clearBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override int getRestartPeriod()
.lang.Override long getMaxNumberOfConflicts()
Builder setMaxCutRoundsAtLevelZero(int value)
Builder clearNewConstraintsBatchSize()
.lang.Override Builder clear()
static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER
.lang.Override boolean hasPolishLpSolution()
Builder clearLogSearchProgress()
Builder setAutoDetectGreaterThanAtLeastOneOf(boolean value)
.lang.Override boolean hasPresolveUseBva()
.lang.Override boolean getEnumerateAllSolutions()
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasRandomPolarityRatio()
Builder clearDiversifyLnsParams()
.lang.Override double getMinOrthogonalityForLpConstraints()
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean hasRandomizeSearch()
.lang.Override int getRestartRunningWindowSize()
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override int getMaxPresolveIterations()
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
Builder clearMinimizeWithPropagationRestartPeriod()
Builder clearMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder clearMipAutomaticallyScaleVariables()
Builder setSearchRandomizationTolerance(long value)
static final int INTERLEAVE_SEARCH_FIELD_NUMBER
.lang.Override boolean hasLinearizationLevel()
static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER
com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder setLnsFocusOnDecisionVariables(boolean value)
optional bool lns_focus_on_decision_variables = 105 [default = false];
static final int RESTART_ALGORITHMS_FIELD_NUMBER
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER
.lang.Override boolean hasMaxPresolveIterations()
static final int CONVERT_INTERVALS_FIELD_NUMBER
Builder setReduceMemoryUsageInInterleaveMode(boolean value)
.lang.Override boolean hasPresolveBveClauseWeight()
.lang.Deprecated static ClauseOrdering valueOf(int value)
static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER
Builder setOptimizeWithCore(boolean value)
static final int PRESOLVE_EXTRACT_INTEGER_ENFORCEMENT_FIELD_NUMBER
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
Builder setUseImpliedBounds(boolean value)
static final int ADD_ZERO_HALF_CUTS_FIELD_NUMBER
static final int MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER
Builder setMaxConsecutiveInactiveCount(int value)
static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER
Builder setAddZeroHalfCuts(boolean value)
static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER
Builder clearUseOptimizationHints()
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder clearMaxMemoryInMb()
static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER
.lang.Override double getCutMaxActiveCountValue()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.protobuf.ByteString getNameBytes()
.lang.Override boolean hasMaxCutRoundsAtLevelZero()
.lang.Override boolean hasOnlyAddCutsAtLevelZero()
Builder clearPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean hasPolarityRephaseIncrement()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setAbsoluteGapLimit(double value)
static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER
static final int FP_ROUNDING_FIELD_NUMBER
.lang.Override boolean hasLogSearchProgress()
Builder setPresolveSubstitutionLevel(int value)
.lang.Override boolean getUseProbingSearch()
Builder clearMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder clearName()
Builder setAddMirCuts(boolean value)
static final int MIP_VAR_SCALING_FIELD_NUMBER
.lang.Override boolean hasVariableActivityDecay()
Builder clearUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasNumSearchWorkers()
.lang.Override boolean hasBinarySearchNumConflicts()
static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER
.lang.Override boolean getExpandAlldiffConstraints()
static MaxSatAssumptionOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean hasClauseCleanupTarget()
.lang.Override double getGlucoseMaxDecay()
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
.lang.Override boolean hasRepairHint()
.lang.Override boolean hasUseCombinedNoOverlap()
.lang.Override boolean getUseExactLpReason()
.lang.Override boolean getUseLnsOnly()
.lang.Override boolean hasUseBlockingRestart()
.lang.Deprecated static BinaryMinizationAlgorithm valueOf(int value)
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasUseErwaHeuristic()
Builder setStopAfterFirstSolution(boolean value)
CLAUSE_ACTIVITY
ORDER_ASSUMPTION_BY_WEIGHT
ORDER_ASSUMPTION_BY_WEIGHT = 2;
.lang.Override double getVariableActivityDecay()
Builder clearMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasExpandReservoirConstraints()
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean getAddLinMaxCuts()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean getCpModelUseSatPresolve()
static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER
PROTECTION_LBD
static final int MINIMIZE_CORE_FIELD_NUMBER
Builder clearMaxNumberOfConflicts()
static final int USE_BRANCHING_IN_LP_FIELD_NUMBER
.lang.Override int getMipMaxActivityExponent()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER
Builder setUseFeasibilityPump(boolean value)
boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasMipWantedPrecision()
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER
.lang.Override boolean hasMaxCutRoundsAtLevelZero()
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
static MaxSatAssumptionOrder forNumber(int value)
Builder setPbCleanupIncrement(int value)
static final int MINIMIZE_WITH_PROPAGATION_NUM_DECISIONS_FIELD_NUMBER
.lang.Override int getNumSearchWorkers()
static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Internal.EnumLiteMap< SearchBranching > internalGetValueMap()
PORTFOLIO_SEARCH
static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER
Builder setPresolveExtractIntegerEnforcement(boolean value)
static final int USE_DISJUNCTIVE_CONSTRAINT_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override double getMergeNoOverlapWorkLimit()
com.google.protobuf.ByteString getNameBytes()
final int getNumber()
.lang.Override boolean getUseOptimizationHints()
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER
Builder clearCoverOptimization()
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER
.lang.Override double getInitialVariablesActivity()
.lang.Override boolean getUsePhaseSaving()
Builder clearBinarySearchNumConflicts()
.lang.Override boolean getUseFeasibilityPump()
Builder setMaxNumCuts(int value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER
static RestartAlgorithm forNumber(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder clearCutMaxActiveCountValue()
Builder setFindMultipleCores(boolean value)
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasCutCleanupTarget()
.lang.Override boolean getUsePhaseSaving()
static final int KEEP_ALL_FEASIBLE_SOLUTIONS_IN_PRESOLVE_FIELD_NUMBER
.lang.Override boolean getUseRelaxationLns()
static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER
Builder setGlucoseDecayIncrement(double value)
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Deprecated static ClauseProtection valueOf(int value)
.lang.Override boolean getUseBranchingInLp()
.lang.Override int getMaxIntegerRoundingScaling()
Builder setRestartDlAverageRatio(double value)
.lang.Override boolean hasStrategyChangeIncreaseRatio()
.lang.Override int hashCode()
Builder clearExploitAllLpSolution()
Builder clearInitialVariablesActivity()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override long getMaxMemoryInMb()
.lang.Override boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override double getRestartDlAverageRatio()
.lang.Override boolean getExploitBestSolution()
static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER
Builder setMaxDeterministicTime(double value)
final int getNumber()
Builder setConvertIntervals(boolean value)
Builder clearOnlyAddCutsAtLevelZero()
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasMergeNoOverlapWorkLimit()
.lang.Override boolean hasInstantiateAllVariables()
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasPseudoCostReliabilityThreshold()
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override boolean getConvertIntervals()
Builder clearExpandReservoirConstraints()
.lang.Override boolean getExpandElementConstraints()
Builder setExpandAutomatonConstraints(boolean value)
.lang.Override boolean hasMipMaxActivityExponent()
static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER
Builder clearAbsoluteGapLimit()
AUTOMATIC_SEARCH
.lang.Override boolean hasAddLpConstraintsLazily()
static final int PERMUTE_PRESOLVE_CONSTRAINT_ORDER_FIELD_NUMBER
.lang.Override boolean hasUseExactLpReason()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean hasShareObjectiveBounds()
Builder setMaxVariableActivityValue(double value)
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override double getRandomBranchesRatio()
Builder clearUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean hasExploitBestSolution()
.lang.Override boolean getStopAfterPresolve()
Builder clearMaxAllDiffCutSize()
IN_RANDOM_ORDER
IN_RANDOM_ORDER = 2;
.lang.Override boolean getDisableConstraintExpansion()
Builder clearExploitIntegerLpSolution()
.lang.Override boolean hasExpandAlldiffConstraints()
Builder clearLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override double getRandomBranchesRatio()
.lang.Override boolean hasConvertIntervals()
.lang.Override double getMipMaxBound()
BINARY_MINIMIZATION_WITH_REACHABILITY
BINARY_MINIMIZATION_WITH_REACHABILITY = 2;
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasRestartDlAverageRatio()
.lang.Override Builder clone()
static Builder newBuilder()
LBD_MOVING_AVERAGE_RESTART
.lang.Override Builder toBuilder()
Builder clearMipCheckPrecision()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override boolean getOptimizeWithCore()
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean hasPermuteVariableRandomly()
.lang.Override boolean getUseErwaHeuristic()
.lang.Override boolean hasPresolveUseBva()
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean getAddKnapsackCuts()
.lang.Override boolean hasClauseCleanupLbdBound()
.lang.Override boolean hasMipAutomaticallyScaleVariables()
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
.lang.Override boolean getUseImpliedBounds()
.lang.Override boolean hasLinearizationLevel()
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
Builder setCountAssumptionLevelsInLbd(boolean value)
.lang.Override boolean hasCountAssumptionLevelsInLbd()
.lang.Override long getMaxNumberOfConflicts()
.lang.Override boolean getPresolveUseBva()
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override boolean hasCutMaxActiveCountValue()
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override boolean hasPresolveSubstitutionLevel()
Builder setNumConflictsBeforeStrategyChanges(int value)
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setMipAutomaticallyScaleVariables(boolean value)
.lang.Override boolean hasMaxNumCuts()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input)
static final int CP_MODEL_MAX_NUM_PRESOLVE_OPERATIONS_FIELD_NUMBER
Builder clearRandomBranchesRatio()
.lang.Override boolean getExpandTableConstraints()
Builder setOptimizeWithMaxHs(boolean value)
.lang.Override boolean getUseImpliedBounds()
static ConflictMinimizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Builder clearRandomSeed()
.lang.Override boolean hasStrategyChangeIncreaseRatio()
static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER
Builder setMipCheckPrecision(double value)
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean hasDisableConstraintExpansion()
Builder setMinimizeCore(boolean value)
Builder clearUseDisjunctiveConstraintInCumulativeConstraint()
Builder setStopAfterPresolve(boolean value)
Builder setUseLnsOnly(boolean value)
Builder clearUseCombinedNoOverlap()
Builder addAllRestartAlgorithms(java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm > values)
.lang.Override double getMipWantedPrecision()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override boolean hasMipMaxBound()
.lang.Override boolean getOptimizeWithCore()
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean hasMipVarScaling()
Builder setPermuteVariableRandomly(boolean value)
.lang.Override int getNumConflictsBeforeStrategyChanges()
static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override com.google.ortools.sat.SatParameters buildPartial()
.lang.Override java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
Builder clearExpandAlldiffConstraints()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Parser< SatParameters > parser()
static ConflictMinimizationAlgorithm forNumber(int value)
.lang.Override final boolean isInitialized()
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean hasMinimizeCore()
Builder setUseBranchingInLp(boolean value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean getUseBlockingRestart()
Builder setStrategyChangeIncreaseRatio(double value)
static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder clearMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override double getMipCheckPrecision()
static final int ADD_CLIQUE_CUTS_FIELD_NUMBER
.lang.Override boolean hasUseRinsLns()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
FIXED_RESTART
Builder clearStrategyChangeIncreaseRatio()
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override boolean hasMipMaxActivityExponent()
Builder clearMaxNumCuts()
CLAUSE_LBD
static MaxSatStratificationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean getExpandReservoirConstraints()
.lang.Override com.google.ortools.sat.SatParameters build()
int getRestartAlgorithmsCount()
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data)
Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value)
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder clearMaxIntegerRoundingScaling()
.lang.Override boolean hasUsePhaseSaving()
.lang.Override int getClauseCleanupTarget()
Builder setRestartAlgorithms(int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value)
.lang.Override boolean getCpModelPostsolveWithFullSolver()
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder setInstantiateAllVariables(boolean value)
.lang.Override boolean getCoverOptimization()
.lang.Override boolean hasUseFeasibilityPump()
static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER
static final int PRESOLVE_USE_BVA_FIELD_NUMBER
.lang.Override boolean getPresolveUseBva()
.lang.Override boolean hasUseLnsOnly()
static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER
Builder clearSearchRandomizationTolerance()
Builder setPresolveBlockedClause(boolean value)
.lang.Override boolean getAddLpConstraintsLazily()
Builder clearMaxTimeInSeconds()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< ClauseOrdering > internalGetValueMap()
Builder setMaxPresolveIterations(int value)
Builder setEnumerateAllSolutions(boolean value)
Builder clearPseudoCostReliabilityThreshold()
.lang.Override boolean hasUsePhaseSaving()
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasExploitObjective()
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasMaxConsecutiveInactiveCount()
Builder setNameBytes(com.google.protobuf.ByteString value)
Builder clearExpandElementConstraints()
static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER
.lang.Override boolean hasPresolveBveThreshold()
.lang.Deprecated static MaxSatStratificationAlgorithm valueOf(int value)
.lang.Override boolean hasCoverOptimization()
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
Builder clearCpModelProbingLevel()
.lang.Override boolean hasCpModelUseSatPresolve()
.lang.Override boolean getMipAutomaticallyScaleVariables()
.lang.Override boolean hasExploitIntegerLpSolution()
.lang.Override long getProbingPeriodAtRoot()
static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER
.lang.Override boolean hasMipCheckPrecision()
.lang.Override boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [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 hasExpandAlldiffConstraints()
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasEnumerateAllSolutions()
static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER
.lang.Override int getRandomSeed()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setMaxNumberOfConflicts(long value)
.lang.Override boolean hasMaxNumberOfConflicts()
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
Builder setDefaultRestartAlgorithms(java.lang.String value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder clearAddLpConstraintsLazily()
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override int getRandomSeed()
Builder clearDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override int getClauseCleanupLbdBound()
.lang.Override boolean hasMaxIntegerRoundingScaling()
.lang.Override double getAbsoluteGapLimit()
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER
.lang.Override boolean hasMaxNumberOfConflicts()
Builder setUseTimetableEdgeFindingInCumulativeConstraint(boolean value)
.lang.Override boolean hasNewConstraintsBatchSize()
.lang.Override boolean getCpModelPresolve()
.lang.Override boolean hasRandomBranchesRatio()
.lang.Override int getBooleanEncodingLevel()
.lang.Override boolean getCpModelUseSatPresolve()
.lang.Override boolean hasAddLinMaxCuts()
Builder setUsePbResolution(boolean value)
Builder clearNumSearchWorkers()
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder setGlucoseDecayIncrementPeriod(int value)
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder clearUsePrecedencesInDisjunctiveConstraint()
static VariableOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Builder setClauseCleanupPeriod(int value)
static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasPresolveBvaThreshold()
Builder setTreatBinaryClausesSeparately(boolean value)
.lang.Override boolean hasUseFeasibilityPump()
Builder clearFindMultipleCores()
.lang.Override int getPresolveBveClauseWeight()
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
.lang.Override int getLinearizationLevel()
static final int MIP_WANTED_PRECISION_FIELD_NUMBER
.lang.Override int getBinarySearchNumConflicts()
.lang.Override double getMergeNoOverlapWorkLimit()
POLARITY_REVERSE_WEIGHTED_SIGN
IN_ORDER
static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER
static final int MIP_MAX_BOUND_FIELD_NUMBER
.lang.Override boolean getAddCliqueCuts()
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean getDiversifyLnsParams()
.lang.Override boolean hasUseOptionalVariables()
.lang.Override boolean hasPresolveBlockedClause()
static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
Builder setPbCleanupRatio(double value)
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasMaxIntegerRoundingScaling()
static final int ADD_KNAPSACK_CUTS_FIELD_NUMBER
com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
Builder clearAddCliqueCuts()
Builder clearMipWantedPrecision()
.lang.Override boolean hasGlucoseMaxDecay()
Builder setInitialVariablesActivity(double value)
Builder clearBooleanEncodingLevel()
Builder clearSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
static ClauseProtection valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
DEFAULT_ASSUMPTION_ORDER
DEFAULT_ASSUMPTION_ORDER = 0;
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasClauseCleanupPeriod()
Builder setUseDisjunctiveConstraintInCumulativeConstraint(boolean value)
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
.lang.Override boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
.lang.Override boolean hasCpModelUseSatPresolve()
static final int FILL_TIGHTENED_DOMAINS_IN_RESPONSE_FIELD_NUMBER
Builder setBlockingRestartMultiplier(double value)
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override long getProbingPeriodAtRoot()
Builder clearRepairHint()
static ClauseOrdering forNumber(int value)
Builder setSubsumptionDuringConflictAnalysis(boolean value)
.lang.Override boolean getMipAutomaticallyScaleVariables()
static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER
.lang.Override boolean hasCoverOptimization()
.lang.Override boolean hasUseBranchingInLp()
.lang.Override boolean hasShareLevelZeroBounds()
.lang.Override boolean getMaxSatReverseAssumptionOrder()
Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value)
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean hasExpandTableConstraints()
static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER
.lang.Override boolean hasPresolveSubstitutionLevel()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
static final int USE_PRECEDENCES_IN_DISJUNCTIVE_CONSTRAINT_FIELD_NUMBER
static MaxSatStratificationAlgorithm forNumber(int value)
LOCK_BASED
.lang.Override boolean hasPresolveBveThreshold()
Builder clearStopAfterPresolve()
.lang.Override int getBinarySearchNumConflicts()
.lang.Override boolean getEnumerateAllSolutions()
.lang.Override int getPbCleanupIncrement()
static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER
.lang.Override boolean hasStopAfterFirstSolution()
.lang.Override boolean getAddCliqueCuts()
Builder setRelativeGapLimit(double value)
optional double relative_gap_limit = 160 [default = 0];
static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER
.lang.Override int getMaxConsecutiveInactiveCount()
Builder setRestartLbdAverageRatio(double value)
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override int getPolarityRephaseIncrement()
static com.google.protobuf.Internal.EnumLiteMap< FPRoundingMethod > internalGetValueMap()
Builder setCoverOptimization(boolean value)
Builder setExpandElementConstraints(boolean value)
Builder clearUseBlockingRestart()
static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
POLARITY_WEIGHTED_SIGN
.lang.Override int getMaxIntegerRoundingScaling()
Builder setPresolveProbingDeterministicTimeLimit(double value)
static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER
Builder clearOptimizeWithMaxHs()
Builder clearEnumerateAllSolutions()
.lang.Override boolean hasInitialVariablesActivity()
.lang.Override boolean getDiversifyLnsParams()
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean getCountAssumptionLevelsInLbd()
Builder setProbingPeriodAtRoot(long value)
static com.google.protobuf.Internal.EnumLiteMap< ConflictMinimizationAlgorithm > internalGetValueMap()
Builder clearRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasInitialVariablesActivity()
Builder clearBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
Builder clearMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder clearGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER
.lang.Override boolean hasCpModelProbingLevel()
Builder clearPresolveExtractIntegerEnforcement()
static final int CUT_CLEANUP_TARGET_FIELD_NUMBER
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
Builder setUseExactLpReason(boolean value)
.lang.Override boolean hasTreatBinaryClausesSeparately()
static final int MAX_NUM_CUTS_FIELD_NUMBER
static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER
Builder setShareLevelZeroBounds(boolean value)
.lang.Override int getCutCleanupTarget()
.lang.Override boolean hasMaxPresolveIterations()
Builder clearPresolveProbingDeterministicTimeLimit()
.lang.Override boolean hasMipCheckPrecision()
static RestartAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override int getCpModelProbingLevel()
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
Builder setPresolveBveThreshold(int value)
static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER
.lang.Override boolean hasMaxTimeInSeconds()
.lang.Override boolean hasRestartPeriod()
.lang.Override boolean hasRestartPeriod()
static final int USE_LNS_ONLY_FIELD_NUMBER
Builder setHintConflictLimit(int value)
Builder setRestartRunningWindowSize(int value)
Builder setMinimizeWithPropagationNumDecisions(int value)
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getRandomizeSearch()
Builder setInterleaveBatchSize(int value)
optional int32 interleave_batch_size = 134 [default = 1];
static final int USE_SAT_INPROCESSING_FIELD_NUMBER
.lang.Override int getMaxNumCuts()
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER
static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Deprecated static SearchBranching valueOf(int value)
final int getNumber()
Builder setPermutePresolveConstraintOrder(boolean value)
optional bool permute_presolve_constraint_order = 179 [default = false];
Builder setMaxTimeInSeconds(double value)
.lang.Override int getCpModelMaxNumPresolveOperations()
Builder setRandomizeSearch(boolean value)
Builder clearNumConflictsBeforeStrategyChanges()
Builder clearRandomPolarityRatio()
.lang.Deprecated static VariableOrder valueOf(int value)
static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER
Builder setExpandAlldiffConstraints(boolean value)
static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER
Builder setLinearizationLevel(int value)
static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER
Builder setUseOptimizationHints(boolean value)
.lang.Override boolean hasPbCleanupIncrement()
Builder clearRandomizeSearch()
.lang.Override double getMipVarScaling()
.lang.Override boolean hasMaxConsecutiveInactiveCount()
Builder setExploitIntegerLpSolution(boolean value)
static final int MIN_ORTHOGONALITY_FOR_LP_CONSTRAINTS_FIELD_NUMBER
.lang.Override double getGlucoseMaxDecay()
Builder clearPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setAddCgCuts(boolean value)
.lang.Override double getClauseActivityDecay()
.lang.Override int getMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasPresolveBveClauseWeight()
.lang.Override boolean hasUseOptimizationHints()
.lang.Override boolean getExpandElementConstraints()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
Builder clearUseOptionalVariables()
.lang.Override double getMaxTimeInSeconds()
static final int REPAIR_HINT_FIELD_NUMBER
.lang.Override boolean hasRandomPolarityRatio()
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
Builder setMinOrthogonalityForLpConstraints(double value)
.lang.Override int getNewConstraintsBatchSize()
.lang.Override boolean hasInterleaveSearch()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean hasRestartRunningWindowSize()
.lang.Override int getMaxAllDiffCutSize()
.lang.Override boolean getExploitAllLpSolution()
.lang.Override double getMaxDeterministicTime()
static com.google.protobuf.Internal.EnumLiteMap< RestartAlgorithm > internalGetValueMap()
.lang.Override int getPbCleanupIncrement()
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
Builder clearAddKnapsackCuts()
.lang.Override boolean hasExpandElementConstraints()
.lang.Override boolean getConvertIntervals()
.lang.Override boolean hasMaxAllDiffCutSize()
Builder clearUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override double getRestartDlAverageRatio()
.lang.Override boolean getExpandReservoirConstraints()
.lang.Override boolean getCatchSigintSignal()
Builder setBlockingRestartWindowSize(int value)
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean hasAddMirCuts()
NEAREST_INTEGER
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean getFindMultipleCores()
.lang.Override boolean hasMinimizeCore()
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override boolean getUseErwaHeuristic()
Builder clearFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value)
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean getAddCgCuts()
Builder setDisableConstraintExpansion(boolean value)
.lang.Override boolean hasCountAssumptionLevelsInLbd()
static FPRoundingMethod forNumber(int value)
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
Builder setShareObjectiveBounds(boolean value)
.lang.Override boolean getStopAfterFirstSolution()
static FPRoundingMethod valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Builder clearUsePhaseSaving()
static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER
static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER
.lang.Override boolean equals(final java.lang.Object obj)
static final int POLISH_LP_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
Builder setClauseActivityDecay(double value)
.lang.Override boolean hasRestartDlAverageRatio()
.lang.Override boolean getAddKnapsackCuts()
static BinaryMinizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override double getMipVarScaling()
.lang.Override int getPresolveBveThreshold()
Builder clearExpandTableConstraints()
.lang.Override boolean hasAddZeroHalfCuts()
.lang.Override boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasFindMultipleCores()
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasHintConflictLimit()
Builder clearCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
static final int RESTART_PERIOD_FIELD_NUMBER
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
Builder setUseAbslRandom(boolean value)
optional bool use_absl_random = 180 [default = false];
Builder clearUsePbResolution()
.lang.Override boolean getShareObjectiveBounds()
.lang.Override boolean getUsePbResolution()
Builder setCutActiveCountDecay(double value)
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasOptimizeWithCore()
static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER
.lang.Override boolean hasShareObjectiveBounds()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data)
Builder setExpandReservoirConstraints(boolean value)
.lang.Override boolean hasEnumerateAllSolutions()
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
Builder clearAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
static final int PB_CLEANUP_RATIO_FIELD_NUMBER
Builder clearOptimizeWithCore()
Builder clearUseExactLpReason()
.lang.Override boolean getRandomizeSearch()
static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER
Builder clearMipMaxBound()
.lang.Override boolean hasPresolveBvaThreshold()
Builder setPolarityRephaseIncrement(int value)
static com.google.protobuf.Internal.EnumLiteMap< Polarity > internalGetValueMap()
.lang.Override java.lang.String getName()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasMaxMemoryInMb()
.lang.Override boolean hasExploitObjective()
final int getNumber()
.lang.Override double getVariableActivityDecay()
static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override long getMaxMemoryInMb()
Builder setMipWantedPrecision(double value)
.lang.Override boolean hasExpandElementConstraints()
.lang.Override int getPolarityRephaseIncrement()
Builder setUseOverloadCheckerInCumulativeConstraint(boolean value)
Builder setNewConstraintsBatchSize(int value)
.lang.Deprecated static final com.google.protobuf.Parser< SatParameters > PARSER
.lang.Override com.google.protobuf.Parser< SatParameters > getParserForType()
.lang.Override boolean hasUseProbingSearch()
Builder setAddLinMaxCuts(boolean value)
Builder clearMaxDeterministicTime()
.lang.Override int getPresolveSubstitutionLevel()
Builder setRandomBranchesRatio(double value)
static com.google.protobuf.Internal.EnumLiteMap< ClauseProtection > internalGetValueMap()
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean getUseRelaxationLns()
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasConvertIntervals()
.lang.Override boolean hasClauseCleanupLbdBound()
static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER
.lang.Override double getInitialVariablesActivity()
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean hasAddKnapsackCuts()
.lang.Override double getPresolveProbingDeterministicTimeLimit()
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Override double getMipCheckPrecision()
Builder clearHintConflictLimit()
.lang.Override boolean hasClauseActivityDecay()
Builder clearInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
POLARITY_FALSE
POLARITY_FALSE = 1;
static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER
static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER
.lang.Override boolean getExpandAutomatonConstraints()
.lang.Override double getAbsoluteGapLimit()
static final int USE_PB_RESOLUTION_FIELD_NUMBER
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
PROTECTION_ALWAYS
Builder setMaxAllDiffCutSize(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder clearPresolveSubstitutionLevel()
.lang.Override boolean getRepairHint()
Builder clearStopAfterFirstSolution()
.lang.Override boolean hasShareLevelZeroBounds()
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean getOnlyAddCutsAtLevelZero()
.lang.Override boolean hasInstantiateAllVariables()
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean hasAbsoluteGapLimit()
Builder setAddCliqueCuts(boolean value)
Builder clearAddMirCuts()
Builder clearPresolveBvaThreshold()
.lang.Override boolean hasOptimizeWithMaxHs()
Builder setCpModelProbingLevel(int value)
static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER
.lang.Override boolean hasMaxNumCuts()
.lang.Override boolean getOptimizeWithMaxHs()
Builder setClauseCleanupTarget(int value)
.lang.Override boolean hasUseRinsLns()
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
.lang.Override boolean hasExpandReservoirConstraints()
static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER
NONE
NONE = 0;
static final int ADD_CG_CUTS_FIELD_NUMBER
.lang.Override boolean hasBooleanEncodingLevel()
Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value)
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder clearUseImpliedBounds()
static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setRepairHint(boolean value)
.lang.Override boolean hasVariableActivityDecay()
HINT_SEARCH
.lang.Override int getPresolveBveThreshold()
static final int SEARCH_BRANCHING_FIELD_NUMBER
Builder clearInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override int getMaxCutRoundsAtLevelZero()
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
Builder setLogSearchProgress(boolean value)
Builder clearUseFeasibilityPump()
Builder clearPresolveBveClauseWeight()
Builder setUseErwaHeuristic(boolean value)
.lang.Override boolean hasBinarySearchNumConflicts()
.lang.Override boolean getAddMirCuts()
Builder clearGlucoseMaxDecay()
.lang.Deprecated static ConflictMinimizationAlgorithm valueOf(int value)
Builder clearCpModelMaxNumPresolveOperations()
.lang.Override boolean hasCpModelProbingLevel()
.lang.Override boolean hasExploitBestSolution()
Builder clearMinimizeCore()
.lang.Deprecated static RestartAlgorithm valueOf(int value)
Builder clearRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
static final int NUM_CONFLICTS_BEFORE_STRATEGY_CHANGES_FIELD_NUMBER
Builder clearUseErwaHeuristic()
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
Builder clearClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder clearUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER
static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
Builder clearUseRelaxationLns()
.lang.Override boolean hasLogSearchProgress()
Builder clearExploitObjective()
Builder setPolishLpSolution(boolean value)
Builder setOnlyAddCutsAtLevelZero(boolean value)
Builder setDefaultRestartAlgorithmsBytes(com.google.protobuf.ByteString value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder clearMaxSatReverseAssumptionOrder()
.lang.Override boolean getCoverOptimization()
static com.google.protobuf.Internal.EnumLiteMap< MaxSatStratificationAlgorithm > internalGetValueMap()
BINARY_MINIMIZATION_FIRST
BINARY_MINIMIZATION_FIRST = 1;
.lang.Override int getMaxCutRoundsAtLevelZero()
Builder clearExploitRelaxationSolution()
.lang.Override boolean hasClauseCleanupTarget()
static final int MINIMIZE_REDUCTION_DURING_PB_RESOLUTION_FIELD_NUMBER
static com.google.protobuf.Internal.EnumLiteMap< MaxSatAssumptionOrder > internalGetValueMap()
Builder clearInterleaveSearch()
.lang.Override int getPresolveBvaThreshold()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
ORDER_ASSUMPTION_BY_DEPTH
ORDER_ASSUMPTION_BY_DEPTH = 1;
Builder clearPresolveBlockedClause()
Builder clearPermuteVariableRandomly()
.lang.Override boolean hasCatchSigintSignal()
.lang.Override int getNumSearchWorkers()
.lang.Override double getStrategyChangeIncreaseRatio()
Builder setPresolveBveClauseWeight(int value)
.lang.Override boolean getPermuteVariableRandomly()
static final int PRESOLVE_PROBING_DETERMINISTIC_TIME_LIMIT_FIELD_NUMBER
.lang.Override boolean getUseProbingSearch()
Builder setCpModelPostsolveWithFullSolver(boolean value)
Builder setUseCombinedNoOverlap(boolean value)
Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value)
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER
.lang.Override int getNumConflictsBeforeStrategyChanges()
.lang.Override boolean getUseBlockingRestart()
.lang.Override boolean hasPolishLpSolution()
STRATIFICATION_DESCENT
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER
final int getNumber()
Builder setMipVarScaling(double value)
.lang.Override boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
Builder setUseRelaxationLns(boolean value)
.lang.Override boolean hasOnlyAddCutsAtLevelZero()
Builder setBinarySearchNumConflicts(int value)
.lang.Override boolean hasMaxTimeInSeconds()
.lang.Override boolean hasRandomBranchesRatio()
static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER
.lang.Override boolean getOnlyAddCutsAtLevelZero()
static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER
static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER
.lang.Override boolean hasMipAutomaticallyScaleVariables()
static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder clearRestartDlAverageRatio()
Builder clearCatchSigintSignal()
Builder setKeepAllFeasibleSolutionsInPresolve(boolean value)
.lang.Override int getMaxNumCuts()
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
Builder clearPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION = 4;
.lang.Override boolean getPresolveExtractIntegerEnforcement()
Builder clearCpModelPostsolveWithFullSolver()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasName()
.lang.Deprecated static Polarity valueOf(int value)
final int getNumber()
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override boolean getUseCombinedNoOverlap()
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
static final int EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER
.lang.Override int getMinimizeWithPropagationRestartPeriod()
.lang.Override int getSerializedSize()
.lang.Override long getSearchRandomizationTolerance()
static final int USE_PROBING_SEARCH_FIELD_NUMBER
.lang.Override boolean hasUseRelaxationLns()
Builder clearSubsumptionDuringConflictAnalysis()
.lang.Override boolean getExpandAutomatonConstraints()
Builder clearUseBranchingInLp()
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
Builder setPresolveUseBva(boolean value)
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
Builder clearCpModelPresolve()
static Builder newBuilder(com.google.ortools.sat.SatParameters prototype)
.lang.Override boolean hasAddKnapsackCuts()
PORTFOLIO_WITH_QUICK_RESTART_SEARCH
.lang.Override boolean getAddMirCuts()
.lang.Override boolean getOptimizeWithMaxHs()
.lang.Override boolean hasClauseCleanupPeriod()
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
EXPERIMENTAL
EXPERIMENTAL = 3;
Builder clearAlsoBumpVariablesInConflictReasons()
.lang.Override boolean hasRepairHint()
static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER
DL_MOVING_AVERAGE_RESTART
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder clearPolishLpSolution()
Builder clearMaxConsecutiveInactiveCount()
static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER
Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value)
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasCpModelPresolve()
Builder clearClauseCleanupPeriod()
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean getUseOptimizationHints()
Builder clearPresolveBveThreshold()
static final int USE_ABSL_RANDOM_FIELD_NUMBER
.lang.Override boolean hasAddLpConstraintsLazily()
Builder clearMipMaxActivityExponent()
.lang.Override double getMaxDeterministicTime()
static SearchBranching forNumber(int value)
Builder setMergeAtMostOneWorkLimit(double value)
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
static final int USE_RELAXATION_LNS_FIELD_NUMBER
.lang.Override boolean hasMipVarScaling()
Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value)
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasUseOptimizationHints()
Builder setMaxClauseActivityValue(double value)
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override double getMaxTimeInSeconds()
.lang.Override boolean getFillTightenedDomainsInResponse()
.lang.Override boolean hasExpandTableConstraints()
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
static ClauseOrdering valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean getExpandTableConstraints()
static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER
static final int USE_EXACT_LP_REASON_FIELD_NUMBER
static final int INITIAL_POLARITY_FIELD_NUMBER
RECURSIVE
RECURSIVE = 2;
.lang.Override boolean hasProbingPeriodAtRoot()
Builder clearLinearizationLevel()
Builder setMipMaxBound(double value)
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasCpModelPresolve()
.lang.Override boolean getFillTightenedDomainsInResponse()
static Polarity forNumber(int value)
Builder setRandomPolarityRatio(double value)
.lang.Override boolean hasUsePbResolution()
.lang.Override int getClauseCleanupLbdBound()
.lang.Override double getMinOrthogonalityForLpConstraints()
STRATIFICATION_NONE
.lang.Override double getStrategyChangeIncreaseRatio()
Builder clearInstantiateAllVariables()
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
PROTECTION_NONE
.lang.Override boolean getAddCgCuts()
Builder clearShareLevelZeroBounds()
.lang.Override boolean hasCutMaxActiveCountValue()
Builder setClauseCleanupLbdBound(int value)
static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER
static final int NUM_SEARCH_WORKERS_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder clearDisableConstraintExpansion()
Builder setRestartPeriod(int value)
Builder clearCpModelUseSatPresolve()
.lang.Override int getRestartRunningWindowSize()
static final int USE_OVERLOAD_CHECKER_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
Builder setVariableActivityDecay(double value)
Builder clearAddLinMaxCuts()
.lang.Override boolean hasExpandAutomatonConstraints()
Builder setCpModelPresolve(boolean value)
.lang.Override boolean hasGlucoseMaxDecay()
.lang.Override int getRestartPeriod()
.lang.Override int getClauseCleanupTarget()
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
NO_RESTART
NO_RESTART = 0;
.lang.Override boolean getUseCombinedNoOverlap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
Builder setRandomSeed(int value)
.lang.Override boolean getUseExactLpReason()
.lang.Override boolean hasStopAfterPresolve()
.lang.Override boolean getLogSearchProgress()
.lang.Override boolean hasRestartRunningWindowSize()
static final int USE_TIMETABLE_EDGE_FINDING_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER
Builder clearTreatBinaryClausesSeparately()
.lang.Override java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER
.lang.Override boolean getExpandAlldiffConstraints()
Builder setUsePrecedencesInDisjunctiveConstraint(boolean value)
.lang.Override boolean hasUsePbResolution()
.lang.Override boolean hasMaxAllDiffCutSize()
.lang.Override boolean getUseBranchingInLp()
static final int USE_PHASE_SAVING_FIELD_NUMBER
.lang.Override boolean hasAddLinMaxCuts()
.lang.Override long getPseudoCostReliabilityThreshold()
static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER
.lang.Override boolean getExploitObjective()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
Builder clearPbCleanupIncrement()
Builder setExploitBestSolution(boolean value)
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
Builder clearMergeNoOverlapWorkLimit()
.lang.Override boolean hasAbsoluteGapLimit()
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
FIXED_SEARCH
.lang.Override boolean getUseRinsLns()
static final int MINIMIZE_WITH_PROPAGATION_RESTART_PERIOD_FIELD_NUMBER
.lang.Override int getMaxConsecutiveInactiveCount()
static Polarity valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean hasNewConstraintsBatchSize()
.lang.Override boolean getUsePbResolution()
.lang.Override boolean hasOptimizeWithCore()
Builder setExploitRelaxationSolution(boolean value)
.lang.Override int getNewConstraintsBatchSize()
.lang.Override boolean hasExploitAllLpSolution()
.lang.Override boolean hasUseRelaxationLns()
static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER
.lang.Override long getSearchRandomizationTolerance()
static final int LINEARIZATION_LEVEL_FIELD_NUMBER
static SearchBranching valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override double getClauseActivityDecay()
static com.google.ortools.sat.SatParameters getDefaultInstance()
Builder setMinimizeReductionDuringPbResolution(boolean value)
.lang.Override boolean hasProbingPeriodAtRoot()
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Deprecated static MaxSatAssumptionOrder valueOf(int value)
.lang.Override boolean hasUseBranchingInLp()
static final int USE_BLOCKING_RESTART_FIELD_NUMBER
.lang.Override boolean hasBooleanEncodingLevel()
.lang.Override boolean hasUseErwaHeuristic()
.lang.Override boolean hasAddCliqueCuts()
Builder setUseOptionalVariables(boolean value)
.lang.Override boolean getPresolveBlockedClause()
static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER
.lang.Override boolean hasExploitIntegerLpSolution()
static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasDisableConstraintExpansion()
.lang.Override boolean hasPseudoCostReliabilityThreshold()
.lang.Override int getCpModelMaxNumPresolveOperations()
LUBY_RESTART
.lang.Override boolean hasPermuteVariableRandomly()
Builder clearProbingPeriodAtRoot()
.lang.Override Builder newBuilderForType()
Builder clearPresolveUseBva()
static com.google.protobuf.Internal.EnumLiteMap< VariableOrder > internalGetValueMap()
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
LP_SEARCH
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setCatchSigintSignal(boolean value)
.lang.Override boolean getUseRinsLns()
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean getTreatBinaryClausesSeparately()
Builder clearExploitBestSolution()
.lang.Override boolean getShareLevelZeroBounds()
Builder setUseProbingSearch(boolean value)
.lang.Override boolean hasInterleaveSearch()
.lang.Override boolean hasAddMirCuts()
Builder clearUseProbingSearch()
static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER
Builder setExploitObjective(boolean value)
.lang.Override boolean getFindMultipleCores()
.lang.Override boolean hasStopAfterPresolve()
.lang.Override boolean hasDiversifyLnsParams()
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean hasSearchRandomizationTolerance()
.lang.Override boolean getPolishLpSolution()
static final int MAX_MEMORY_IN_MB_FIELD_NUMBER
.lang.Override double getPresolveProbingDeterministicTimeLimit()
static final int CP_MODEL_POSTSOLVE_WITH_FULL_SOLVER_FIELD_NUMBER
.lang.Override boolean getAddLinMaxCuts()
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasAddCgCuts()
.lang.Override boolean getAddLpConstraintsLazily()
Builder clearBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean hasNumSearchWorkers()
.lang.Override boolean hasUseLnsOnly()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
Builder clearMinimizeReductionDuringPbResolution()
ACTIVE_LOCK_BASED
.lang.Override int getPresolveSubstitutionLevel()
.lang.Override boolean getCpModelPresolve()
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
PROPAGATION_ASSISTED
Builder mergeFrom(com.google.ortools.sat.SatParameters other)
static com.google.ortools.sat.SatParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
Builder clearMaxCutRoundsAtLevelZero()
.lang.Override int getClauseCleanupPeriod()
.lang.Override boolean hasPbCleanupIncrement()
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
Builder clearMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearFillTightenedDomainsInResponse()
java.lang.String getName()
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder clearClauseCleanupLbdBound()
Builder setFillTightenedDomainsInResponse(boolean value)
Builder setUseBlockingRestart(boolean value)
Builder setUseSatInprocessing(boolean value)
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean getInstantiateAllVariables()
.lang.Override int getCpModelProbingLevel()
Builder clearMaxPresolveIterations()
.lang.Override boolean getMinimizeCore()
.lang.Override boolean getExploitBestSolution()
static final int ALSO_BUMP_VARIABLES_IN_CONFLICT_REASONS_FIELD_NUMBER
boolean hasName()
static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER
Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value)
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
static final int USE_ERWA_HEURISTIC_FIELD_NUMBER
Builder clearCountAssumptionLevelsInLbd()
Builder setGlucoseMaxDecay(double value)
.lang.Override boolean hasExploitRelaxationSolution()
Builder clearClauseActivityDecay()
static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER
static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasMipWantedPrecision()
.lang.Override boolean hasAddCliqueCuts()
Builder setName(java.lang.String value)
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean getAddZeroHalfCuts()
.lang.Override double getMipMaxBound()
.lang.Override boolean hasPolarityRephaseIncrement()
Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value)
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean hasHintConflictLimit()