Java Reference

Java Reference

SatParameters.java
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/sat/sat_parameters.proto
3 
4 package com.google.ortools.sat;
5 
15 public final class SatParameters extends
16  com.google.protobuf.GeneratedMessageV3 implements
17  // @@protoc_insertion_point(message_implements:operations_research.sat.SatParameters)
19 private static final long serialVersionUID = 0L;
20  // Use SatParameters.newBuilder() to construct.
21  private SatParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
22  super(builder);
23  }
24  private SatParameters() {
25  name_ = "";
26  preferredVariableOrder_ = 0;
27  initialPolarity_ = 1;
28  usePhaseSaving_ = true;
29  polarityRephaseIncrement_ = 1000;
30  minimizationAlgorithm_ = 2;
31  binaryMinimizationAlgorithm_ = 1;
32  subsumptionDuringConflictAnalysis_ = true;
33  clauseCleanupPeriod_ = 10000;
34  clauseCleanupRatio_ = 0.5D;
35  clauseCleanupProtection_ = 0;
36  clauseCleanupLbdBound_ = 5;
37  clauseCleanupOrdering_ = 0;
38  pbCleanupIncrement_ = 200;
39  pbCleanupRatio_ = 0.5D;
40  minimizeWithPropagationRestartPeriod_ = 10;
41  minimizeWithPropagationNumDecisions_ = 1000;
42  variableActivityDecay_ = 0.8D;
43  maxVariableActivityValue_ = 1e+100D;
44  glucoseMaxDecay_ = 0.95D;
45  glucoseDecayIncrement_ = 0.01D;
46  glucoseDecayIncrementPeriod_ = 5000;
47  clauseActivityDecay_ = 0.999D;
48  maxClauseActivityValue_ = 1e+20D;
49  restartAlgorithms_ = java.util.Collections.emptyList();
50  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
51  restartPeriod_ = 50;
52  restartRunningWindowSize_ = 50;
53  restartDlAverageRatio_ = 1D;
54  restartLbdAverageRatio_ = 1D;
55  blockingRestartWindowSize_ = 5000;
56  blockingRestartMultiplier_ = 1.4D;
57  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
58  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
59  maxNumberOfConflicts_ = 9223372036854775807L;
60  maxMemoryInMb_ = 10000L;
61  treatBinaryClausesSeparately_ = true;
62  randomSeed_ = 1;
63  logSubsolverStatistics_ = true;
64  logPrefix_ = "";
65  logToStdout_ = true;
66  countAssumptionLevelsInLbd_ = true;
67  presolveBveThreshold_ = 500;
68  presolveBveClauseWeight_ = 3;
69  presolveProbingDeterministicTimeLimit_ = 30D;
70  presolveBlockedClause_ = true;
71  presolveUseBva_ = true;
72  presolveBvaThreshold_ = 1;
73  maxPresolveIterations_ = 3;
74  cpModelPresolve_ = true;
75  cpModelProbingLevel_ = 2;
76  cpModelUseSatPresolve_ = true;
77  expandElementConstraints_ = true;
78  expandAutomatonConstraints_ = true;
79  expandTableConstraints_ = true;
80  expandReservoirConstraints_ = true;
81  mergeNoOverlapWorkLimit_ = 1000000000000D;
82  mergeAtMostOneWorkLimit_ = 100000000D;
83  presolveSubstitutionLevel_ = 1;
84  useOptimizationHints_ = true;
85  minimizeCore_ = true;
86  findMultipleCores_ = true;
87  coverOptimization_ = true;
88  maxSatAssumptionOrder_ = 0;
89  maxSatStratification_ = 1;
90  usePrecedencesInDisjunctiveConstraint_ = true;
91  useDisjunctiveConstraintInCumulativeConstraint_ = true;
92  linearizationLevel_ = 1;
93  booleanEncodingLevel_ = 1;
94  maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
95  maxNumCuts_ = 10000;
96  addCgCuts_ = true;
97  addMirCuts_ = true;
98  addZeroHalfCuts_ = true;
99  addCliqueCuts_ = true;
100  maxAllDiffCutSize_ = 7;
101  addLinMaxCuts_ = true;
102  maxIntegerRoundingScaling_ = 600;
103  addLpConstraintsLazily_ = true;
104  minOrthogonalityForLpConstraints_ = 0.05D;
105  maxCutRoundsAtLevelZero_ = 1;
106  maxConsecutiveInactiveCount_ = 100;
107  cutMaxActiveCountValue_ = 10000000000D;
108  cutActiveCountDecay_ = 0.8D;
109  cutCleanupTarget_ = 1000;
110  newConstraintsBatchSize_ = 50;
111  searchBranching_ = 0;
112  hintConflictLimit_ = 10;
113  exploitIntegerLpSolution_ = true;
114  exploitAllLpSolution_ = true;
115  exploitObjective_ = true;
116  pseudoCostReliabilityThreshold_ = 100L;
117  binarySearchNumConflicts_ = -1;
118  instantiateAllVariables_ = true;
119  autoDetectGreaterThanAtLeastOneOf_ = true;
120  interleaveBatchSize_ = 1;
121  shareObjectiveBounds_ = true;
122  shareLevelZeroBounds_ = true;
123  lnsExpandIntervalsInConstraintGraph_ = true;
124  solutionPoolSize_ = 3;
125  useRinsLns_ = true;
126  useFeasibilityPump_ = true;
127  fpRounding_ = 2;
128  useOptionalVariables_ = true;
129  useExactLpReason_ = true;
130  catchSigintSignal_ = true;
131  useImpliedBounds_ = true;
132  convertIntervals_ = true;
133  symmetryLevel_ = 2;
134  mipMaxBound_ = 10000000D;
135  mipVarScaling_ = 1D;
136  mipAutomaticallyScaleVariables_ = true;
137  mipWantedPrecision_ = 1e-06D;
138  mipMaxActivityExponent_ = 53;
139  mipCheckPrecision_ = 0.0001D;
140  }
141 
142  @java.lang.Override
143  @SuppressWarnings({"unused"})
144  protected java.lang.Object newInstance(
145  UnusedPrivateParameter unused) {
146  return new SatParameters();
147  }
148 
149  @java.lang.Override
150  public final com.google.protobuf.UnknownFieldSet
152  return this.unknownFields;
153  }
154  private SatParameters(
155  com.google.protobuf.CodedInputStream input,
156  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
157  throws com.google.protobuf.InvalidProtocolBufferException {
158  this();
159  if (extensionRegistry == null) {
160  throw new java.lang.NullPointerException();
161  }
162  int mutable_bitField0_ = 0;
163  int mutable_bitField1_ = 0;
164  int mutable_bitField2_ = 0;
165  int mutable_bitField3_ = 0;
166  int mutable_bitField4_ = 0;
167  int mutable_bitField5_ = 0;
168  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
169  com.google.protobuf.UnknownFieldSet.newBuilder();
170  try {
171  boolean done = false;
172  while (!done) {
173  int tag = input.readTag();
174  switch (tag) {
175  case 0:
176  done = true;
177  break;
178  case 8: {
179  int rawValue = input.readEnum();
180  @SuppressWarnings("deprecation")
181  com.google.ortools.sat.SatParameters.VariableOrder value = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(rawValue);
182  if (value == null) {
183  unknownFields.mergeVarintField(1, rawValue);
184  } else {
185  bitField0_ |= 0x00000002;
186  preferredVariableOrder_ = rawValue;
187  }
188  break;
189  }
190  case 16: {
191  int rawValue = input.readEnum();
192  @SuppressWarnings("deprecation")
193  com.google.ortools.sat.SatParameters.Polarity value = com.google.ortools.sat.SatParameters.Polarity.valueOf(rawValue);
194  if (value == null) {
195  unknownFields.mergeVarintField(2, rawValue);
196  } else {
197  bitField0_ |= 0x00000004;
198  initialPolarity_ = rawValue;
199  }
200  break;
201  }
202  case 32: {
203  int rawValue = input.readEnum();
204  @SuppressWarnings("deprecation")
205  com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(rawValue);
206  if (value == null) {
207  unknownFields.mergeVarintField(4, rawValue);
208  } else {
209  bitField0_ |= 0x00000400;
210  minimizationAlgorithm_ = rawValue;
211  }
212  break;
213  }
214  case 88: {
215  bitField0_ |= 0x00002000;
216  clauseCleanupPeriod_ = input.readInt32();
217  break;
218  }
219  case 104: {
220  bitField0_ |= 0x00004000;
221  clauseCleanupTarget_ = input.readInt32();
222  break;
223  }
224  case 121: {
225  bitField0_ |= 0x00800000;
226  variableActivityDecay_ = input.readDouble();
227  break;
228  }
229  case 129: {
230  bitField0_ |= 0x01000000;
231  maxVariableActivityValue_ = input.readDouble();
232  break;
233  }
234  case 137: {
235  bitField0_ |= 0x10000000;
236  clauseActivityDecay_ = input.readDouble();
237  break;
238  }
239  case 145: {
240  bitField0_ |= 0x20000000;
241  maxClauseActivityValue_ = input.readDouble();
242  break;
243  }
244  case 177: {
245  bitField0_ |= 0x02000000;
246  glucoseMaxDecay_ = input.readDouble();
247  break;
248  }
249  case 185: {
250  bitField0_ |= 0x04000000;
251  glucoseDecayIncrement_ = input.readDouble();
252  break;
253  }
254  case 192: {
255  bitField0_ |= 0x08000000;
256  glucoseDecayIncrementPeriod_ = input.readInt32();
257  break;
258  }
259  case 240: {
260  bitField0_ |= 0x80000000;
261  restartPeriod_ = input.readInt32();
262  break;
263  }
264  case 248: {
265  bitField1_ |= 0x00008000;
266  randomSeed_ = input.readInt32();
267  break;
268  }
269  case 257: {
270  bitField0_ |= 0x00000040;
271  randomBranchesRatio_ = input.readDouble();
272  break;
273  }
274  case 264: {
275  bitField1_ |= 0x00004000;
276  treatBinaryClausesSeparately_ = input.readBool();
277  break;
278  }
279  case 272: {
280  int rawValue = input.readEnum();
281  @SuppressWarnings("deprecation")
282  com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(rawValue);
283  if (value == null) {
284  unknownFields.mergeVarintField(34, rawValue);
285  } else {
286  bitField0_ |= 0x00000800;
287  binaryMinimizationAlgorithm_ = rawValue;
288  }
289  break;
290  }
291  case 280: {
292  bitField2_ |= 0x00040000;
293  useOptimizationHints_ = input.readBool();
294  break;
295  }
296  case 289: {
297  bitField1_ |= 0x00000100;
298  maxTimeInSeconds_ = input.readDouble();
299  break;
300  }
301  case 296: {
302  bitField1_ |= 0x00000400;
303  maxNumberOfConflicts_ = input.readInt64();
304  break;
305  }
306  case 320: {
307  bitField1_ |= 0x00000800;
308  maxMemoryInMb_ = input.readInt64();
309  break;
310  }
311  case 328: {
312  bitField1_ |= 0x00080000;
313  logSearchProgress_ = input.readBool();
314  break;
315  }
316  case 344: {
317  bitField1_ |= 0x01000000;
318  usePbResolution_ = input.readBool();
319  break;
320  }
321  case 352: {
322  bitField0_ |= 0x00000008;
323  usePhaseSaving_ = input.readBool();
324  break;
325  }
326  case 361: {
327  bitField0_ |= 0x00000020;
328  randomPolarityRatio_ = input.readDouble();
329  break;
330  }
331  case 368: {
332  bitField0_ |= 0x00080000;
333  pbCleanupIncrement_ = input.readInt32();
334  break;
335  }
336  case 377: {
337  bitField0_ |= 0x00100000;
338  pbCleanupRatio_ = input.readDouble();
339  break;
340  }
341  case 384: {
342  bitField1_ |= 0x02000000;
343  minimizeReductionDuringPbResolution_ = input.readBool();
344  break;
345  }
346  case 392: {
347  bitField1_ |= 0x04000000;
348  countAssumptionLevelsInLbd_ = input.readBool();
349  break;
350  }
351  case 400: {
352  bitField2_ |= 0x00080000;
353  minimizeCore_ = input.readBool();
354  break;
355  }
356  case 408: {
357  int rawValue = input.readEnum();
358  @SuppressWarnings("deprecation")
359  com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(rawValue);
360  if (value == null) {
361  unknownFields.mergeVarintField(51, rawValue);
362  } else {
363  bitField2_ |= 0x00400000;
364  maxSatAssumptionOrder_ = rawValue;
365  }
366  break;
367  }
368  case 416: {
369  bitField2_ |= 0x00800000;
370  maxSatReverseAssumptionOrder_ = input.readBool();
371  break;
372  }
373  case 424: {
374  int rawValue = input.readEnum();
375  @SuppressWarnings("deprecation")
376  com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(rawValue);
377  if (value == null) {
378  unknownFields.mergeVarintField(53, rawValue);
379  } else {
380  bitField2_ |= 0x01000000;
381  maxSatStratification_ = rawValue;
382  }
383  break;
384  }
385  case 432: {
386  bitField1_ |= 0x08000000;
387  presolveBveThreshold_ = input.readInt32();
388  break;
389  }
390  case 440: {
391  bitField1_ |= 0x10000000;
392  presolveBveClauseWeight_ = input.readInt32();
393  break;
394  }
395  case 448: {
396  bitField0_ |= 0x00001000;
397  subsumptionDuringConflictAnalysis_ = input.readBool();
398  break;
399  }
400  case 457: {
401  bitField1_ |= 0x20000000;
402  presolveProbingDeterministicTimeLimit_ = input.readDouble();
403  break;
404  }
405  case 464: {
406  int rawValue = input.readEnum();
407  @SuppressWarnings("deprecation")
408  com.google.ortools.sat.SatParameters.ClauseProtection value = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(rawValue);
409  if (value == null) {
410  unknownFields.mergeVarintField(58, rawValue);
411  } else {
412  bitField0_ |= 0x00010000;
413  clauseCleanupProtection_ = rawValue;
414  }
415  break;
416  }
417  case 472: {
418  bitField0_ |= 0x00020000;
419  clauseCleanupLbdBound_ = input.readInt32();
420  break;
421  }
422  case 480: {
423  int rawValue = input.readEnum();
424  @SuppressWarnings("deprecation")
425  com.google.ortools.sat.SatParameters.ClauseOrdering value = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(rawValue);
426  if (value == null) {
427  unknownFields.mergeVarintField(60, rawValue);
428  } else {
429  bitField0_ |= 0x00040000;
430  clauseCleanupOrdering_ = rawValue;
431  }
432  break;
433  }
434  case 488: {
435  int rawValue = input.readEnum();
436  @SuppressWarnings("deprecation")
437  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
438  if (value == null) {
439  unknownFields.mergeVarintField(61, rawValue);
440  } else {
441  if (!((mutable_bitField0_ & 0x40000000) != 0)) {
442  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
443  mutable_bitField0_ |= 0x40000000;
444  }
445  restartAlgorithms_.add(rawValue);
446  }
447  break;
448  }
449  case 490: {
450  int length = input.readRawVarint32();
451  int oldLimit = input.pushLimit(length);
452  while(input.getBytesUntilLimit() > 0) {
453  int rawValue = input.readEnum();
454  @SuppressWarnings("deprecation")
455  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
456  if (value == null) {
457  unknownFields.mergeVarintField(61, rawValue);
458  } else {
459  if (!((mutable_bitField0_ & 0x40000000) != 0)) {
460  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
461  mutable_bitField0_ |= 0x40000000;
462  }
463  restartAlgorithms_.add(rawValue);
464  }
465  }
466  input.popLimit(oldLimit);
467  break;
468  }
469  case 496: {
470  bitField1_ |= 0x00000001;
471  restartRunningWindowSize_ = input.readInt32();
472  break;
473  }
474  case 505: {
475  bitField1_ |= 0x00000002;
476  restartDlAverageRatio_ = input.readDouble();
477  break;
478  }
479  case 512: {
480  bitField1_ |= 0x00000008;
481  useBlockingRestart_ = input.readBool();
482  break;
483  }
484  case 520: {
485  bitField1_ |= 0x00000010;
486  blockingRestartWindowSize_ = input.readInt32();
487  break;
488  }
489  case 529: {
490  bitField1_ |= 0x00000020;
491  blockingRestartMultiplier_ = input.readDouble();
492  break;
493  }
494  case 537: {
495  bitField1_ |= 0x00000200;
496  maxDeterministicTime_ = input.readDouble();
497  break;
498  }
499  case 544: {
500  bitField1_ |= 0x00000040;
501  numConflictsBeforeStrategyChanges_ = input.readInt32();
502  break;
503  }
504  case 553: {
505  bitField1_ |= 0x00000080;
506  strategyChangeIncreaseRatio_ = input.readDouble();
507  break;
508  }
509  case 562: {
510  com.google.protobuf.ByteString bs = input.readBytes();
511  bitField0_ |= 0x40000000;
512  defaultRestartAlgorithms_ = bs;
513  break;
514  }
515  case 569: {
516  bitField1_ |= 0x00000004;
517  restartLbdAverageRatio_ = input.readDouble();
518  break;
519  }
520  case 576: {
521  bitField1_ |= 0x80000000;
522  presolveUseBva_ = input.readBool();
523  break;
524  }
525  case 584: {
526  bitField2_ |= 0x00000001;
527  presolveBvaThreshold_ = input.readInt32();
528  break;
529  }
530  case 592: {
531  bitField2_ |= 0x02000000;
532  usePrecedencesInDisjunctiveConstraint_ = input.readBool();
533  break;
534  }
535  case 600: {
536  bitField0_ |= 0x00000080;
537  useErwaHeuristic_ = input.readBool();
538  break;
539  }
540  case 609: {
541  bitField0_ |= 0x00000100;
542  initialVariablesActivity_ = input.readDouble();
543  break;
544  }
545  case 616: {
546  bitField0_ |= 0x00000200;
547  alsoBumpVariablesInConflictReasons_ = input.readBool();
548  break;
549  }
550  case 624: {
551  bitField2_ |= 0x04000000;
552  useOverloadCheckerInCumulativeConstraint_ = input.readBool();
553  break;
554  }
555  case 632: {
556  bitField2_ |= 0x08000000;
557  useTimetableEdgeFindingInCumulativeConstraint_ = input.readBool();
558  break;
559  }
560  case 640: {
561  bitField2_ |= 0x10000000;
562  useDisjunctiveConstraintInCumulativeConstraint_ = input.readBool();
563  break;
564  }
565  case 656: {
566  int rawValue = input.readEnum();
567  @SuppressWarnings("deprecation")
568  com.google.ortools.sat.SatParameters.SearchBranching value = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(rawValue);
569  if (value == null) {
570  unknownFields.mergeVarintField(82, rawValue);
571  } else {
572  bitField3_ |= 0x00040000;
573  searchBranching_ = rawValue;
574  }
575  break;
576  }
577  case 664: {
578  bitField3_ |= 0x40000000;
579  optimizeWithCore_ = input.readBool();
580  break;
581  }
582  case 672: {
583  bitField2_ |= 0x00100000;
584  findMultipleCores_ = input.readBool();
585  break;
586  }
587  case 680: {
588  bitField4_ |= 0x00000002;
589  optimizeWithMaxHs_ = input.readBool();
590  break;
591  }
592  case 688: {
593  bitField2_ |= 0x00000004;
594  cpModelPresolve_ = input.readBool();
595  break;
596  }
597  case 696: {
598  bitField4_ |= 0x00000004;
599  enumerateAllSolutions_ = input.readBool();
600  break;
601  }
602  case 704: {
603  bitField1_ |= 0x40000000;
604  presolveBlockedClause_ = input.readBool();
605  break;
606  }
607  case 712: {
608  bitField2_ |= 0x00200000;
609  coverOptimization_ = input.readBool();
610  break;
611  }
612  case 720: {
613  bitField2_ |= 0x20000000;
614  linearizationLevel_ = input.readInt32();
615  break;
616  }
617  case 728: {
618  bitField3_ |= 0x00000001;
619  maxNumCuts_ = input.readInt32();
620  break;
621  }
622  case 736: {
623  bitField3_ |= 0x00000002;
624  onlyAddCutsAtLevelZero_ = input.readBool();
625  break;
626  }
627  case 744: {
628  bitField2_ |= 0x00000040;
629  cpModelUseSatPresolve_ = input.readBool();
630  break;
631  }
632  case 752: {
633  bitField3_ |= 0x00400000;
634  exploitIntegerLpSolution_ = input.readBool();
635  break;
636  }
637  case 760: {
638  bitField4_ |= 0x00000040;
639  autoDetectGreaterThanAtLeastOneOf_ = input.readBool();
640  break;
641  }
642  case 768: {
643  bitField0_ |= 0x00200000;
644  minimizeWithPropagationRestartPeriod_ = input.readInt32();
645  break;
646  }
647  case 776: {
648  bitField0_ |= 0x00400000;
649  minimizeWithPropagationNumDecisions_ = input.readInt32();
650  break;
651  }
652  case 784: {
653  bitField4_ |= 0x00000080;
654  stopAfterFirstSolution_ = input.readBool();
655  break;
656  }
657  case 792: {
658  bitField4_ |= 0x00000001;
659  binarySearchNumConflicts_ = input.readInt32();
660  break;
661  }
662  case 800: {
663  bitField4_ |= 0x00000200;
664  numSearchWorkers_ = input.readInt32();
665  break;
666  }
667  case 808: {
668  bitField4_ |= 0x00008000;
669  useLnsOnly_ = input.readBool();
670  break;
671  }
672  case 824: {
673  bitField4_ |= 0x01000000;
674  randomizeSearch_ = input.readBool();
675  break;
676  }
677  case 832: {
678  bitField4_ |= 0x02000000;
679  searchRandomizationTolerance_ = input.readInt64();
680  break;
681  }
682  case 840: {
683  bitField4_ |= 0x00010000;
684  lnsFocusOnDecisionVariables_ = input.readBool();
685  break;
686  }
687  case 848: {
688  bitField4_ |= 0x00000020;
689  instantiateAllVariables_ = input.readBool();
690  break;
691  }
692  case 856: {
693  bitField2_ |= 0x40000000;
694  booleanEncodingLevel_ = input.readInt32();
695  break;
696  }
697  case 864: {
698  bitField4_ |= 0x04000000;
699  useOptionalVariables_ = input.readBool();
700  break;
701  }
702  case 872: {
703  bitField4_ |= 0x08000000;
704  useExactLpReason_ = input.readBool();
705  break;
706  }
707  case 880: {
708  bitField2_ |= 0x00000020;
709  cpModelProbingLevel_ = input.readInt32();
710  break;
711  }
712  case 888: {
713  bitField3_ |= 0x00000004;
714  addKnapsackCuts_ = input.readBool();
715  break;
716  }
717  case 896: {
718  bitField3_ |= 0x00000400;
719  addLpConstraintsLazily_ = input.readBool();
720  break;
721  }
722  case 904: {
723  bitField4_ |= 0x00002000;
724  shareObjectiveBounds_ = input.readBool();
725  break;
726  }
727  case 912: {
728  bitField4_ |= 0x00004000;
729  shareLevelZeroBounds_ = input.readBool();
730  break;
731  }
732  case 921: {
733  bitField3_ |= 0x00000800;
734  minOrthogonalityForLpConstraints_ = input.readDouble();
735  break;
736  }
737  case 928: {
738  bitField3_ |= 0x00800000;
739  exploitAllLpSolution_ = input.readBool();
740  break;
741  }
742  case 936: {
743  bitField3_ |= 0x00000008;
744  addCgCuts_ = input.readBool();
745  break;
746  }
747  case 952: {
748  bitField3_ |= 0x00000200;
749  maxIntegerRoundingScaling_ = input.readInt32();
750  break;
751  }
752  case 960: {
753  bitField3_ |= 0x00000010;
754  addMirCuts_ = input.readBool();
755  break;
756  }
757  case 968: {
758  bitField3_ |= 0x00002000;
759  maxConsecutiveInactiveCount_ = input.readInt32();
760  break;
761  }
762  case 976: {
763  bitField3_ |= 0x00020000;
764  newConstraintsBatchSize_ = input.readInt32();
765  break;
766  }
767  case 984: {
768  bitField3_ |= 0x20000000;
769  pseudoCostReliabilityThreshold_ = input.readInt64();
770  break;
771  }
772  case 993: {
773  bitField5_ |= 0x00000008;
774  mipMaxBound_ = input.readDouble();
775  break;
776  }
777  case 1001: {
778  bitField5_ |= 0x00000010;
779  mipVarScaling_ = input.readDouble();
780  break;
781  }
782  case 1009: {
783  bitField5_ |= 0x00000040;
784  mipWantedPrecision_ = input.readDouble();
785  break;
786  }
787  case 1016: {
788  bitField5_ |= 0x00000080;
789  mipMaxActivityExponent_ = input.readInt32();
790  break;
791  }
792  case 1025: {
793  bitField5_ |= 0x00000100;
794  mipCheckPrecision_ = input.readDouble();
795  break;
796  }
797  case 1032: {
798  bitField4_ |= 0x00080000;
799  useRinsLns_ = input.readBool();
800  break;
801  }
802  case 1040: {
803  bitField3_ |= 0x01000000;
804  exploitBestSolution_ = input.readBool();
805  break;
806  }
807  case 1048: {
808  bitField3_ |= 0x04000000;
809  exploitObjective_ = input.readBool();
810  break;
811  }
812  case 1056: {
813  bitField4_ |= 0x00000010;
814  fillTightenedDomainsInResponse_ = input.readBool();
815  break;
816  }
817  case 1064: {
818  bitField4_ |= 0x20000000;
819  useCombinedNoOverlap_ = input.readBool();
820  break;
821  }
822  case 1072: {
823  bitField4_ |= 0x00000800;
824  interleaveBatchSize_ = input.readInt32();
825  break;
826  }
827  case 1080: {
828  bitField4_ |= 0x40000000;
829  catchSigintSignal_ = input.readBool();
830  break;
831  }
832  case 1088: {
833  bitField4_ |= 0x00000400;
834  interleaveSearch_ = input.readBool();
835  break;
836  }
837  case 1096: {
838  bitField4_ |= 0x00800000;
839  diversifyLnsParams_ = input.readBool();
840  break;
841  }
842  case 1104: {
843  bitField2_ |= 0x00000002;
844  maxPresolveIterations_ = input.readInt32();
845  break;
846  }
847  case 1112: {
848  bitField4_ |= 0x10000000;
849  useBranchingInLp_ = input.readBool();
850  break;
851  }
852  case 1120: {
853  bitField2_ |= 0x00000100;
854  expandElementConstraints_ = input.readBool();
855  break;
856  }
857  case 1128: {
858  bitField4_ |= 0x00001000;
859  reduceMemoryUsageInInterleaveMode_ = input.readBool();
860  break;
861  }
862  case 1136: {
863  bitField3_ |= 0x08000000;
864  probingPeriodAtRoot_ = input.readInt64();
865  break;
866  }
867  case 1144: {
868  bitField2_ |= 0x00000200;
869  expandAutomatonConstraints_ = input.readBool();
870  break;
871  }
872  case 1152: {
873  bitField4_ |= 0x80000000;
874  useImpliedBounds_ = input.readBool();
875  break;
876  }
877  case 1161: {
878  bitField2_ |= 0x00004000;
879  mergeNoOverlapWorkLimit_ = input.readDouble();
880  break;
881  }
882  case 1169: {
883  bitField2_ |= 0x00008000;
884  mergeAtMostOneWorkLimit_ = input.readDouble();
885  break;
886  }
887  case 1176: {
888  bitField2_ |= 0x00010000;
889  presolveSubstitutionLevel_ = input.readInt32();
890  break;
891  }
892  case 1184: {
893  bitField3_ |= 0x00000080;
894  maxAllDiffCutSize_ = input.readInt32();
895  break;
896  }
897  case 1192: {
898  bitField4_ |= 0x00000100;
899  stopAfterPresolve_ = input.readBool();
900  break;
901  }
902  case 1200: {
903  bitField4_ |= 0x00400000;
904  useRelaxationLns_ = input.readBool();
905  break;
906  }
907  case 1208: {
908  bitField2_ |= 0x00000010;
909  cpModelMaxNumPresolveOperations_ = input.readInt32();
910  break;
911  }
912  case 1216: {
913  bitField3_ |= 0x00000100;
914  addLinMaxCuts_ = input.readBool();
915  break;
916  }
917  case 1224: {
918  bitField3_ |= 0x00080000;
919  hintConflictLimit_ = input.readInt32();
920  break;
921  }
922  case 1232: {
923  bitField3_ |= 0x00001000;
924  maxCutRoundsAtLevelZero_ = input.readInt32();
925  break;
926  }
927  case 1241: {
928  bitField3_ |= 0x00004000;
929  cutMaxActiveCountValue_ = input.readDouble();
930  break;
931  }
932  case 1249: {
933  bitField3_ |= 0x00008000;
934  cutActiveCountDecay_ = input.readDouble();
935  break;
936  }
937  case 1256: {
938  bitField3_ |= 0x00010000;
939  cutCleanupTarget_ = input.readInt32();
940  break;
941  }
942  case 1264: {
943  bitField2_ |= 0x00000400;
944  expandTableConstraints_ = input.readBool();
945  break;
946  }
947  case 1273: {
948  bitField1_ |= 0x00001000;
949  absoluteGapLimit_ = input.readDouble();
950  break;
951  }
952  case 1281: {
953  bitField1_ |= 0x00002000;
954  relativeGapLimit_ = input.readDouble();
955  break;
956  }
957  case 1288: {
958  bitField3_ |= 0x02000000;
959  exploitRelaxationSolution_ = input.readBool();
960  break;
961  }
962  case 1296: {
963  bitField2_ |= 0x00000008;
964  cpModelPostsolveWithFullSolver_ = input.readBool();
965  break;
966  }
967  case 1304: {
968  bitField2_ |= 0x00000080;
969  useSatInprocessing_ = input.readBool();
970  break;
971  }
972  case 1312: {
973  bitField4_ |= 0x00100000;
974  useFeasibilityPump_ = input.readBool();
975  break;
976  }
977  case 1320: {
978  int rawValue = input.readEnum();
979  @SuppressWarnings("deprecation")
980  com.google.ortools.sat.SatParameters.FPRoundingMethod value = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(rawValue);
981  if (value == null) {
982  unknownFields.mergeVarintField(165, rawValue);
983  } else {
984  bitField4_ |= 0x00200000;
985  fpRounding_ = rawValue;
986  }
987  break;
988  }
989  case 1328: {
990  bitField5_ |= 0x00000020;
991  mipAutomaticallyScaleVariables_ = input.readBool();
992  break;
993  }
994  case 1336: {
995  bitField3_ |= 0x00100000;
996  repairHint_ = input.readBool();
997  break;
998  }
999  case 1344: {
1000  bitField0_ |= 0x00000010;
1001  polarityRephaseIncrement_ = input.readInt32();
1002  break;
1003  }
1004  case 1352: {
1005  bitField3_ |= 0x00000020;
1006  addZeroHalfCuts_ = input.readBool();
1007  break;
1008  }
1009  case 1360: {
1010  bitField2_ |= 0x00000800;
1011  expandAlldiffConstraints_ = input.readBool();
1012  break;
1013  }
1014  case 1370: {
1015  com.google.protobuf.ByteString bs = input.readBytes();
1016  bitField0_ |= 0x00000001;
1017  name_ = bs;
1018  break;
1019  }
1020  case 1376: {
1021  bitField3_ |= 0x00000040;
1022  addCliqueCuts_ = input.readBool();
1023  break;
1024  }
1025  case 1384: {
1026  bitField4_ |= 0x00000008;
1027  keepAllFeasibleSolutionsInPresolve_ = input.readBool();
1028  break;
1029  }
1030  case 1392: {
1031  bitField2_ |= 0x00020000;
1032  presolveExtractIntegerEnforcement_ = input.readBool();
1033  break;
1034  }
1035  case 1400: {
1036  bitField5_ |= 0x00000001;
1037  polishLpSolution_ = input.readBool();
1038  break;
1039  }
1040  case 1408: {
1041  bitField3_ |= 0x10000000;
1042  useProbingSearch_ = input.readBool();
1043  break;
1044  }
1045  case 1416: {
1046  bitField5_ |= 0x00000002;
1047  convertIntervals_ = input.readBool();
1048  break;
1049  }
1050  case 1424: {
1051  bitField1_ |= 0x00010000;
1052  permuteVariableRandomly_ = input.readBool();
1053  break;
1054  }
1055  case 1432: {
1056  bitField1_ |= 0x00020000;
1057  permutePresolveConstraintOrder_ = input.readBool();
1058  break;
1059  }
1060  case 1440: {
1061  bitField1_ |= 0x00040000;
1062  useAbslRandom_ = input.readBool();
1063  break;
1064  }
1065  case 1448: {
1066  bitField2_ |= 0x00002000;
1067  disableConstraintExpansion_ = input.readBool();
1068  break;
1069  }
1070  case 1456: {
1071  bitField2_ |= 0x00001000;
1072  expandReservoirConstraints_ = input.readBool();
1073  break;
1074  }
1075  case 1464: {
1076  bitField5_ |= 0x00000004;
1077  symmetryLevel_ = input.readInt32();
1078  break;
1079  }
1080  case 1472: {
1081  bitField4_ |= 0x00020000;
1082  lnsExpandIntervalsInConstraintGraph_ = input.readBool();
1083  break;
1084  }
1085  case 1482: {
1086  com.google.protobuf.ByteString bs = input.readBytes();
1087  bitField1_ |= 0x00200000;
1088  logPrefix_ = bs;
1089  break;
1090  }
1091  case 1488: {
1092  bitField1_ |= 0x00400000;
1093  logToStdout_ = input.readBool();
1094  break;
1095  }
1096  case 1496: {
1097  bitField1_ |= 0x00800000;
1098  logToResponse_ = input.readBool();
1099  break;
1100  }
1101  case 1504: {
1102  bitField3_ |= 0x80000000;
1103  optimizeWithLbTreeSearch_ = input.readBool();
1104  break;
1105  }
1106  case 1512: {
1107  bitField1_ |= 0x00100000;
1108  logSubsolverStatistics_ = input.readBool();
1109  break;
1110  }
1111  case 1521: {
1112  bitField0_ |= 0x00008000;
1113  clauseCleanupRatio_ = input.readDouble();
1114  break;
1115  }
1116  case 1528: {
1117  bitField2_ |= 0x80000000;
1118  maxDomainSizeWhenEncodingEqNeqConstraints_ = input.readInt32();
1119  break;
1120  }
1121  case 1536: {
1122  bitField3_ |= 0x00200000;
1123  fixVariablesToTheirHintedValue_ = input.readBool();
1124  break;
1125  }
1126  case 1544: {
1127  bitField4_ |= 0x00040000;
1128  solutionPoolSize_ = input.readInt32();
1129  break;
1130  }
1131  default: {
1132  if (!parseUnknownField(
1133  input, unknownFields, extensionRegistry, tag)) {
1134  done = true;
1135  }
1136  break;
1137  }
1138  }
1139  }
1140  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1141  throw e.setUnfinishedMessage(this);
1142  } catch (java.io.IOException e) {
1143  throw new com.google.protobuf.InvalidProtocolBufferException(
1144  e).setUnfinishedMessage(this);
1145  } finally {
1146  if (((mutable_bitField0_ & 0x40000000) != 0)) {
1147  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
1148  }
1149  this.unknownFields = unknownFields.build();
1150  makeExtensionsImmutable();
1151  }
1152  }
1153  public static final com.google.protobuf.Descriptors.Descriptor
1155  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
1156  }
1157 
1158  @java.lang.Override
1159  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1161  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
1162  .ensureFieldAccessorsInitialized(
1164  }
1165 
1174  public enum VariableOrder
1175  implements com.google.protobuf.ProtocolMessageEnum {
1192  ;
1193 
1201  public static final int IN_ORDER_VALUE = 0;
1205  public static final int IN_REVERSE_ORDER_VALUE = 1;
1209  public static final int IN_RANDOM_ORDER_VALUE = 2;
1210 
1211 
1212  public final int getNumber() {
1213  return value;
1214  }
1215 
1221  @java.lang.Deprecated
1222  public static VariableOrder valueOf(int value) {
1223  return forNumber(value);
1224  }
1225 
1230  public static VariableOrder forNumber(int value) {
1231  switch (value) {
1232  case 0: return IN_ORDER;
1233  case 1: return IN_REVERSE_ORDER;
1234  case 2: return IN_RANDOM_ORDER;
1235  default: return null;
1236  }
1237  }
1238 
1239  public static com.google.protobuf.Internal.EnumLiteMap<VariableOrder>
1241  return internalValueMap;
1242  }
1243  private static final com.google.protobuf.Internal.EnumLiteMap<
1244  VariableOrder> internalValueMap =
1245  new com.google.protobuf.Internal.EnumLiteMap<VariableOrder>() {
1246  public VariableOrder findValueByNumber(int number) {
1247  return VariableOrder.forNumber(number);
1248  }
1249  };
1250 
1251  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1253  return getDescriptor().getValues().get(ordinal());
1254  }
1255  public final com.google.protobuf.Descriptors.EnumDescriptor
1257  return getDescriptor();
1258  }
1259  public static final com.google.protobuf.Descriptors.EnumDescriptor
1261  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
1262  }
1263 
1264  private static final VariableOrder[] VALUES = values();
1265 
1266  public static VariableOrder valueOf(
1267  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1268  if (desc.getType() != getDescriptor()) {
1269  throw new java.lang.IllegalArgumentException(
1270  "EnumValueDescriptor is not for this type.");
1271  }
1272  return VALUES[desc.getIndex()];
1273  }
1274 
1275  private final int value;
1276 
1277  private VariableOrder(int value) {
1278  this.value = value;
1279  }
1280 
1281  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.VariableOrder)
1282  }
1283 
1295  public enum Polarity
1296  implements com.google.protobuf.ProtocolMessageEnum {
1328  ;
1329 
1333  public static final int POLARITY_TRUE_VALUE = 0;
1337  public static final int POLARITY_FALSE_VALUE = 1;
1341  public static final int POLARITY_RANDOM_VALUE = 2;
1352  public static final int POLARITY_WEIGHTED_SIGN_VALUE = 3;
1360  public static final int POLARITY_REVERSE_WEIGHTED_SIGN_VALUE = 4;
1361 
1362 
1363  public final int getNumber() {
1364  return value;
1365  }
1366 
1372  @java.lang.Deprecated
1373  public static Polarity valueOf(int value) {
1374  return forNumber(value);
1375  }
1376 
1381  public static Polarity forNumber(int value) {
1382  switch (value) {
1383  case 0: return POLARITY_TRUE;
1384  case 1: return POLARITY_FALSE;
1385  case 2: return POLARITY_RANDOM;
1386  case 3: return POLARITY_WEIGHTED_SIGN;
1387  case 4: return POLARITY_REVERSE_WEIGHTED_SIGN;
1388  default: return null;
1389  }
1390  }
1391 
1392  public static com.google.protobuf.Internal.EnumLiteMap<Polarity>
1394  return internalValueMap;
1395  }
1396  private static final com.google.protobuf.Internal.EnumLiteMap<
1397  Polarity> internalValueMap =
1398  new com.google.protobuf.Internal.EnumLiteMap<Polarity>() {
1399  public Polarity findValueByNumber(int number) {
1400  return Polarity.forNumber(number);
1401  }
1402  };
1403 
1404  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1406  return getDescriptor().getValues().get(ordinal());
1407  }
1408  public final com.google.protobuf.Descriptors.EnumDescriptor
1410  return getDescriptor();
1411  }
1412  public static final com.google.protobuf.Descriptors.EnumDescriptor
1414  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
1415  }
1416 
1417  private static final Polarity[] VALUES = values();
1418 
1419  public static Polarity valueOf(
1420  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1421  if (desc.getType() != getDescriptor()) {
1422  throw new java.lang.IllegalArgumentException(
1423  "EnumValueDescriptor is not for this type.");
1424  }
1425  return VALUES[desc.getIndex()];
1426  }
1427 
1428  private final int value;
1429 
1430  private Polarity(int value) {
1431  this.value = value;
1432  }
1433 
1434  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.Polarity)
1435  }
1436 
1445  implements com.google.protobuf.ProtocolMessageEnum {
1449  NONE(0),
1462  ;
1463 
1467  public static final int NONE_VALUE = 0;
1471  public static final int SIMPLE_VALUE = 1;
1475  public static final int RECURSIVE_VALUE = 2;
1479  public static final int EXPERIMENTAL_VALUE = 3;
1480 
1481 
1482  public final int getNumber() {
1483  return value;
1484  }
1485 
1491  @java.lang.Deprecated
1492  public static ConflictMinimizationAlgorithm valueOf(int value) {
1493  return forNumber(value);
1494  }
1495 
1500  public static ConflictMinimizationAlgorithm forNumber(int value) {
1501  switch (value) {
1502  case 0: return NONE;
1503  case 1: return SIMPLE;
1504  case 2: return RECURSIVE;
1505  case 3: return EXPERIMENTAL;
1506  default: return null;
1507  }
1508  }
1509 
1510  public static com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>
1512  return internalValueMap;
1513  }
1514  private static final com.google.protobuf.Internal.EnumLiteMap<
1515  ConflictMinimizationAlgorithm> internalValueMap =
1516  new com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>() {
1517  public ConflictMinimizationAlgorithm findValueByNumber(int number) {
1519  }
1520  };
1521 
1522  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1524  return getDescriptor().getValues().get(ordinal());
1525  }
1526  public final com.google.protobuf.Descriptors.EnumDescriptor
1528  return getDescriptor();
1529  }
1530  public static final com.google.protobuf.Descriptors.EnumDescriptor
1532  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
1533  }
1534 
1535  private static final ConflictMinimizationAlgorithm[] VALUES = values();
1536 
1538  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1539  if (desc.getType() != getDescriptor()) {
1540  throw new java.lang.IllegalArgumentException(
1541  "EnumValueDescriptor is not for this type.");
1542  }
1543  return VALUES[desc.getIndex()];
1544  }
1545 
1546  private final int value;
1547 
1548  private ConflictMinimizationAlgorithm(int value) {
1549  this.value = value;
1550  }
1551 
1552  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ConflictMinimizationAlgorithm)
1553  }
1554 
1564  implements com.google.protobuf.ProtocolMessageEnum {
1585  ;
1586 
1590  public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
1594  public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
1598  public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
1602  public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
1606  public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
1607 
1608 
1609  public final int getNumber() {
1610  return value;
1611  }
1612 
1618  @java.lang.Deprecated
1619  public static BinaryMinizationAlgorithm valueOf(int value) {
1620  return forNumber(value);
1621  }
1622 
1627  public static BinaryMinizationAlgorithm forNumber(int value) {
1628  switch (value) {
1629  case 0: return NO_BINARY_MINIMIZATION;
1630  case 1: return BINARY_MINIMIZATION_FIRST;
1631  case 4: return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
1632  case 2: return BINARY_MINIMIZATION_WITH_REACHABILITY;
1633  case 3: return EXPERIMENTAL_BINARY_MINIMIZATION;
1634  default: return null;
1635  }
1636  }
1637 
1638  public static com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>
1640  return internalValueMap;
1641  }
1642  private static final com.google.protobuf.Internal.EnumLiteMap<
1643  BinaryMinizationAlgorithm> internalValueMap =
1644  new com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>() {
1645  public BinaryMinizationAlgorithm findValueByNumber(int number) {
1646  return BinaryMinizationAlgorithm.forNumber(number);
1647  }
1648  };
1649 
1650  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1652  return getDescriptor().getValues().get(ordinal());
1653  }
1654  public final com.google.protobuf.Descriptors.EnumDescriptor
1656  return getDescriptor();
1657  }
1658  public static final com.google.protobuf.Descriptors.EnumDescriptor
1660  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
1661  }
1662 
1663  private static final BinaryMinizationAlgorithm[] VALUES = values();
1664 
1666  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1667  if (desc.getType() != getDescriptor()) {
1668  throw new java.lang.IllegalArgumentException(
1669  "EnumValueDescriptor is not for this type.");
1670  }
1671  return VALUES[desc.getIndex()];
1672  }
1673 
1674  private final int value;
1675 
1676  private BinaryMinizationAlgorithm(int value) {
1677  this.value = value;
1678  }
1679 
1680  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.BinaryMinizationAlgorithm)
1681  }
1682 
1692  public enum ClauseProtection
1693  implements com.google.protobuf.ProtocolMessageEnum {
1718  ;
1719 
1727  public static final int PROTECTION_NONE_VALUE = 0;
1735  public static final int PROTECTION_ALWAYS_VALUE = 1;
1743  public static final int PROTECTION_LBD_VALUE = 2;
1744 
1745 
1746  public final int getNumber() {
1747  return value;
1748  }
1749 
1755  @java.lang.Deprecated
1756  public static ClauseProtection valueOf(int value) {
1757  return forNumber(value);
1758  }
1759 
1764  public static ClauseProtection forNumber(int value) {
1765  switch (value) {
1766  case 0: return PROTECTION_NONE;
1767  case 1: return PROTECTION_ALWAYS;
1768  case 2: return PROTECTION_LBD;
1769  default: return null;
1770  }
1771  }
1772 
1773  public static com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>
1775  return internalValueMap;
1776  }
1777  private static final com.google.protobuf.Internal.EnumLiteMap<
1778  ClauseProtection> internalValueMap =
1779  new com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>() {
1780  public ClauseProtection findValueByNumber(int number) {
1781  return ClauseProtection.forNumber(number);
1782  }
1783  };
1784 
1785  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1787  return getDescriptor().getValues().get(ordinal());
1788  }
1789  public final com.google.protobuf.Descriptors.EnumDescriptor
1791  return getDescriptor();
1792  }
1793  public static final com.google.protobuf.Descriptors.EnumDescriptor
1795  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
1796  }
1797 
1798  private static final ClauseProtection[] VALUES = values();
1799 
1800  public static ClauseProtection valueOf(
1801  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1802  if (desc.getType() != getDescriptor()) {
1803  throw new java.lang.IllegalArgumentException(
1804  "EnumValueDescriptor is not for this type.");
1805  }
1806  return VALUES[desc.getIndex()];
1807  }
1808 
1809  private final int value;
1810 
1811  private ClauseProtection(int value) {
1812  this.value = value;
1813  }
1814 
1815  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseProtection)
1816  }
1817 
1826  public enum ClauseOrdering
1827  implements com.google.protobuf.ProtocolMessageEnum {
1844  ;
1845 
1853  public static final int CLAUSE_ACTIVITY_VALUE = 0;
1861  public static final int CLAUSE_LBD_VALUE = 1;
1862 
1863 
1864  public final int getNumber() {
1865  return value;
1866  }
1867 
1873  @java.lang.Deprecated
1874  public static ClauseOrdering valueOf(int value) {
1875  return forNumber(value);
1876  }
1877 
1882  public static ClauseOrdering forNumber(int value) {
1883  switch (value) {
1884  case 0: return CLAUSE_ACTIVITY;
1885  case 1: return CLAUSE_LBD;
1886  default: return null;
1887  }
1888  }
1889 
1890  public static com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>
1892  return internalValueMap;
1893  }
1894  private static final com.google.protobuf.Internal.EnumLiteMap<
1895  ClauseOrdering> internalValueMap =
1896  new com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>() {
1897  public ClauseOrdering findValueByNumber(int number) {
1898  return ClauseOrdering.forNumber(number);
1899  }
1900  };
1901 
1902  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1904  return getDescriptor().getValues().get(ordinal());
1905  }
1906  public final com.google.protobuf.Descriptors.EnumDescriptor
1908  return getDescriptor();
1909  }
1910  public static final com.google.protobuf.Descriptors.EnumDescriptor
1912  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
1913  }
1914 
1915  private static final ClauseOrdering[] VALUES = values();
1916 
1917  public static ClauseOrdering valueOf(
1918  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1919  if (desc.getType() != getDescriptor()) {
1920  throw new java.lang.IllegalArgumentException(
1921  "EnumValueDescriptor is not for this type.");
1922  }
1923  return VALUES[desc.getIndex()];
1924  }
1925 
1926  private final int value;
1927 
1928  private ClauseOrdering(int value) {
1929  this.value = value;
1930  }
1931 
1932  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseOrdering)
1933  }
1934 
1946  public enum RestartAlgorithm
1947  implements com.google.protobuf.ProtocolMessageEnum {
1984  ;
1985 
1989  public static final int NO_RESTART_VALUE = 0;
1997  public static final int LUBY_RESTART_VALUE = 1;
2005  public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
2013  public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
2021  public static final int FIXED_RESTART_VALUE = 4;
2022 
2023 
2024  public final int getNumber() {
2025  return value;
2026  }
2027 
2033  @java.lang.Deprecated
2034  public static RestartAlgorithm valueOf(int value) {
2035  return forNumber(value);
2036  }
2037 
2042  public static RestartAlgorithm forNumber(int value) {
2043  switch (value) {
2044  case 0: return NO_RESTART;
2045  case 1: return LUBY_RESTART;
2046  case 2: return DL_MOVING_AVERAGE_RESTART;
2047  case 3: return LBD_MOVING_AVERAGE_RESTART;
2048  case 4: return FIXED_RESTART;
2049  default: return null;
2050  }
2051  }
2052 
2053  public static com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>
2055  return internalValueMap;
2056  }
2057  private static final com.google.protobuf.Internal.EnumLiteMap<
2058  RestartAlgorithm> internalValueMap =
2059  new com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>() {
2060  public RestartAlgorithm findValueByNumber(int number) {
2061  return RestartAlgorithm.forNumber(number);
2062  }
2063  };
2064 
2065  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2067  return getDescriptor().getValues().get(ordinal());
2068  }
2069  public final com.google.protobuf.Descriptors.EnumDescriptor
2071  return getDescriptor();
2072  }
2073  public static final com.google.protobuf.Descriptors.EnumDescriptor
2075  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
2076  }
2077 
2078  private static final RestartAlgorithm[] VALUES = values();
2079 
2080  public static RestartAlgorithm valueOf(
2081  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2082  if (desc.getType() != getDescriptor()) {
2083  throw new java.lang.IllegalArgumentException(
2084  "EnumValueDescriptor is not for this type.");
2085  }
2086  return VALUES[desc.getIndex()];
2087  }
2088 
2089  private final int value;
2090 
2091  private RestartAlgorithm(int value) {
2092  this.value = value;
2093  }
2094 
2095  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.RestartAlgorithm)
2096  }
2097 
2106  implements com.google.protobuf.ProtocolMessageEnum {
2119  ;
2120 
2124  public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
2128  public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
2132  public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
2133 
2134 
2135  public final int getNumber() {
2136  return value;
2137  }
2138 
2144  @java.lang.Deprecated
2145  public static MaxSatAssumptionOrder valueOf(int value) {
2146  return forNumber(value);
2147  }
2148 
2153  public static MaxSatAssumptionOrder forNumber(int value) {
2154  switch (value) {
2155  case 0: return DEFAULT_ASSUMPTION_ORDER;
2156  case 1: return ORDER_ASSUMPTION_BY_DEPTH;
2157  case 2: return ORDER_ASSUMPTION_BY_WEIGHT;
2158  default: return null;
2159  }
2160  }
2161 
2162  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>
2164  return internalValueMap;
2165  }
2166  private static final com.google.protobuf.Internal.EnumLiteMap<
2167  MaxSatAssumptionOrder> internalValueMap =
2168  new com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>() {
2169  public MaxSatAssumptionOrder findValueByNumber(int number) {
2170  return MaxSatAssumptionOrder.forNumber(number);
2171  }
2172  };
2173 
2174  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2176  return getDescriptor().getValues().get(ordinal());
2177  }
2178  public final com.google.protobuf.Descriptors.EnumDescriptor
2180  return getDescriptor();
2181  }
2182  public static final com.google.protobuf.Descriptors.EnumDescriptor
2184  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
2185  }
2186 
2187  private static final MaxSatAssumptionOrder[] VALUES = values();
2188 
2190  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2191  if (desc.getType() != getDescriptor()) {
2192  throw new java.lang.IllegalArgumentException(
2193  "EnumValueDescriptor is not for this type.");
2194  }
2195  return VALUES[desc.getIndex()];
2196  }
2197 
2198  private final int value;
2199 
2200  private MaxSatAssumptionOrder(int value) {
2201  this.value = value;
2202  }
2203 
2204  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatAssumptionOrder)
2205  }
2206 
2215  implements com.google.protobuf.ProtocolMessageEnum {
2244  ;
2245 
2253  public static final int STRATIFICATION_NONE_VALUE = 0;
2262  public static final int STRATIFICATION_DESCENT_VALUE = 1;
2273  public static final int STRATIFICATION_ASCENT_VALUE = 2;
2274 
2275 
2276  public final int getNumber() {
2277  return value;
2278  }
2279 
2285  @java.lang.Deprecated
2286  public static MaxSatStratificationAlgorithm valueOf(int value) {
2287  return forNumber(value);
2288  }
2289 
2294  public static MaxSatStratificationAlgorithm forNumber(int value) {
2295  switch (value) {
2296  case 0: return STRATIFICATION_NONE;
2297  case 1: return STRATIFICATION_DESCENT;
2298  case 2: return STRATIFICATION_ASCENT;
2299  default: return null;
2300  }
2301  }
2302 
2303  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>
2305  return internalValueMap;
2306  }
2307  private static final com.google.protobuf.Internal.EnumLiteMap<
2308  MaxSatStratificationAlgorithm> internalValueMap =
2309  new com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>() {
2310  public MaxSatStratificationAlgorithm findValueByNumber(int number) {
2312  }
2313  };
2314 
2315  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2317  return getDescriptor().getValues().get(ordinal());
2318  }
2319  public final com.google.protobuf.Descriptors.EnumDescriptor
2321  return getDescriptor();
2322  }
2323  public static final com.google.protobuf.Descriptors.EnumDescriptor
2325  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
2326  }
2327 
2328  private static final MaxSatStratificationAlgorithm[] VALUES = values();
2329 
2331  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2332  if (desc.getType() != getDescriptor()) {
2333  throw new java.lang.IllegalArgumentException(
2334  "EnumValueDescriptor is not for this type.");
2335  }
2336  return VALUES[desc.getIndex()];
2337  }
2338 
2339  private final int value;
2340 
2341  private MaxSatStratificationAlgorithm(int value) {
2342  this.value = value;
2343  }
2344 
2345  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatStratificationAlgorithm)
2346  }
2347 
2355  public enum SearchBranching
2356  implements com.google.protobuf.ProtocolMessageEnum {
2424  ;
2425 
2434  public static final int AUTOMATIC_SEARCH_VALUE = 0;
2444  public static final int FIXED_SEARCH_VALUE = 1;
2452  public static final int PORTFOLIO_SEARCH_VALUE = 2;
2462  public static final int LP_SEARCH_VALUE = 3;
2472  public static final int PSEUDO_COST_SEARCH_VALUE = 4;
2482  public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
2492  public static final int HINT_SEARCH_VALUE = 6;
2493 
2494 
2495  public final int getNumber() {
2496  return value;
2497  }
2498 
2504  @java.lang.Deprecated
2505  public static SearchBranching valueOf(int value) {
2506  return forNumber(value);
2507  }
2508 
2513  public static SearchBranching forNumber(int value) {
2514  switch (value) {
2515  case 0: return AUTOMATIC_SEARCH;
2516  case 1: return FIXED_SEARCH;
2517  case 2: return PORTFOLIO_SEARCH;
2518  case 3: return LP_SEARCH;
2519  case 4: return PSEUDO_COST_SEARCH;
2520  case 5: return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
2521  case 6: return HINT_SEARCH;
2522  default: return null;
2523  }
2524  }
2525 
2526  public static com.google.protobuf.Internal.EnumLiteMap<SearchBranching>
2528  return internalValueMap;
2529  }
2530  private static final com.google.protobuf.Internal.EnumLiteMap<
2531  SearchBranching> internalValueMap =
2532  new com.google.protobuf.Internal.EnumLiteMap<SearchBranching>() {
2533  public SearchBranching findValueByNumber(int number) {
2534  return SearchBranching.forNumber(number);
2535  }
2536  };
2537 
2538  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2540  return getDescriptor().getValues().get(ordinal());
2541  }
2542  public final com.google.protobuf.Descriptors.EnumDescriptor
2544  return getDescriptor();
2545  }
2546  public static final com.google.protobuf.Descriptors.EnumDescriptor
2548  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
2549  }
2550 
2551  private static final SearchBranching[] VALUES = values();
2552 
2553  public static SearchBranching valueOf(
2554  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2555  if (desc.getType() != getDescriptor()) {
2556  throw new java.lang.IllegalArgumentException(
2557  "EnumValueDescriptor is not for this type.");
2558  }
2559  return VALUES[desc.getIndex()];
2560  }
2561 
2562  private final int value;
2563 
2564  private SearchBranching(int value) {
2565  this.value = value;
2566  }
2567 
2568  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.SearchBranching)
2569  }
2570 
2578  public enum FPRoundingMethod
2579  implements com.google.protobuf.ProtocolMessageEnum {
2620  ;
2621 
2629  public static final int NEAREST_INTEGER_VALUE = 0;
2639  public static final int LOCK_BASED_VALUE = 1;
2648  public static final int ACTIVE_LOCK_BASED_VALUE = 3;
2661  public static final int PROPAGATION_ASSISTED_VALUE = 2;
2662 
2663 
2664  public final int getNumber() {
2665  return value;
2666  }
2667 
2673  @java.lang.Deprecated
2674  public static FPRoundingMethod valueOf(int value) {
2675  return forNumber(value);
2676  }
2677 
2682  public static FPRoundingMethod forNumber(int value) {
2683  switch (value) {
2684  case 0: return NEAREST_INTEGER;
2685  case 1: return LOCK_BASED;
2686  case 3: return ACTIVE_LOCK_BASED;
2687  case 2: return PROPAGATION_ASSISTED;
2688  default: return null;
2689  }
2690  }
2691 
2692  public static com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>
2694  return internalValueMap;
2695  }
2696  private static final com.google.protobuf.Internal.EnumLiteMap<
2697  FPRoundingMethod> internalValueMap =
2698  new com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>() {
2699  public FPRoundingMethod findValueByNumber(int number) {
2700  return FPRoundingMethod.forNumber(number);
2701  }
2702  };
2703 
2704  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2706  return getDescriptor().getValues().get(ordinal());
2707  }
2708  public final com.google.protobuf.Descriptors.EnumDescriptor
2710  return getDescriptor();
2711  }
2712  public static final com.google.protobuf.Descriptors.EnumDescriptor
2714  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(10);
2715  }
2716 
2717  private static final FPRoundingMethod[] VALUES = values();
2718 
2719  public static FPRoundingMethod valueOf(
2720  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2721  if (desc.getType() != getDescriptor()) {
2722  throw new java.lang.IllegalArgumentException(
2723  "EnumValueDescriptor is not for this type.");
2724  }
2725  return VALUES[desc.getIndex()];
2726  }
2727 
2728  private final int value;
2729 
2730  private FPRoundingMethod(int value) {
2731  this.value = value;
2732  }
2733 
2734  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.FPRoundingMethod)
2735  }
2736 
2737  private int bitField0_;
2738  private int bitField1_;
2739  private int bitField2_;
2740  private int bitField3_;
2741  private int bitField4_;
2742  private int bitField5_;
2743  public static final int NAME_FIELD_NUMBER = 171;
2744  private volatile java.lang.Object name_;
2754  @java.lang.Override
2755  public boolean hasName() {
2756  return ((bitField0_ & 0x00000001) != 0);
2757  }
2767  @java.lang.Override
2768  public java.lang.String getName() {
2769  java.lang.Object ref = name_;
2770  if (ref instanceof java.lang.String) {
2771  return (java.lang.String) ref;
2772  } else {
2773  com.google.protobuf.ByteString bs =
2774  (com.google.protobuf.ByteString) ref;
2775  java.lang.String s = bs.toStringUtf8();
2776  if (bs.isValidUtf8()) {
2777  name_ = s;
2778  }
2779  return s;
2780  }
2781  }
2791  @java.lang.Override
2792  public com.google.protobuf.ByteString
2794  java.lang.Object ref = name_;
2795  if (ref instanceof java.lang.String) {
2796  com.google.protobuf.ByteString b =
2797  com.google.protobuf.ByteString.copyFromUtf8(
2798  (java.lang.String) ref);
2799  name_ = b;
2800  return b;
2801  } else {
2802  return (com.google.protobuf.ByteString) ref;
2803  }
2804  }
2805 
2806  public static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER = 1;
2807  private int preferredVariableOrder_;
2812  @java.lang.Override public boolean hasPreferredVariableOrder() {
2813  return ((bitField0_ & 0x00000002) != 0);
2814  }
2820  @SuppressWarnings("deprecation")
2822  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
2823  }
2824 
2825  public static final int INITIAL_POLARITY_FIELD_NUMBER = 2;
2826  private int initialPolarity_;
2831  @java.lang.Override public boolean hasInitialPolarity() {
2832  return ((bitField0_ & 0x00000004) != 0);
2833  }
2839  @SuppressWarnings("deprecation")
2841  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
2842  }
2843 
2844  public static final int USE_PHASE_SAVING_FIELD_NUMBER = 44;
2845  private boolean usePhaseSaving_;
2862  @java.lang.Override
2863  public boolean hasUsePhaseSaving() {
2864  return ((bitField0_ & 0x00000008) != 0);
2865  }
2882  @java.lang.Override
2883  public boolean getUsePhaseSaving() {
2884  return usePhaseSaving_;
2885  }
2886 
2887  public static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER = 168;
2888  private int polarityRephaseIncrement_;
2899  @java.lang.Override
2900  public boolean hasPolarityRephaseIncrement() {
2901  return ((bitField0_ & 0x00000010) != 0);
2902  }
2913  @java.lang.Override
2915  return polarityRephaseIncrement_;
2916  }
2917 
2918  public static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER = 45;
2919  private double randomPolarityRatio_;
2932  @java.lang.Override
2933  public boolean hasRandomPolarityRatio() {
2934  return ((bitField0_ & 0x00000020) != 0);
2935  }
2948  @java.lang.Override
2949  public double getRandomPolarityRatio() {
2950  return randomPolarityRatio_;
2951  }
2952 
2953  public static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER = 32;
2954  private double randomBranchesRatio_;
2965  @java.lang.Override
2966  public boolean hasRandomBranchesRatio() {
2967  return ((bitField0_ & 0x00000040) != 0);
2968  }
2979  @java.lang.Override
2980  public double getRandomBranchesRatio() {
2981  return randomBranchesRatio_;
2982  }
2983 
2984  public static final int USE_ERWA_HEURISTIC_FIELD_NUMBER = 75;
2985  private boolean useErwaHeuristic_;
2996  @java.lang.Override
2997  public boolean hasUseErwaHeuristic() {
2998  return ((bitField0_ & 0x00000080) != 0);
2999  }
3010  @java.lang.Override
3011  public boolean getUseErwaHeuristic() {
3012  return useErwaHeuristic_;
3013  }
3014 
3015  public static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER = 76;
3016  private double initialVariablesActivity_;
3030  @java.lang.Override
3031  public boolean hasInitialVariablesActivity() {
3032  return ((bitField0_ & 0x00000100) != 0);
3033  }
3047  @java.lang.Override
3049  return initialVariablesActivity_;
3050  }
3051 
3053  private boolean alsoBumpVariablesInConflictReasons_;
3065  @java.lang.Override
3067  return ((bitField0_ & 0x00000200) != 0);
3068  }
3080  @java.lang.Override
3082  return alsoBumpVariablesInConflictReasons_;
3083  }
3084 
3085  public static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER = 4;
3086  private int minimizationAlgorithm_;
3091  @java.lang.Override public boolean hasMinimizationAlgorithm() {
3092  return ((bitField0_ & 0x00000400) != 0);
3093  }
3099  @SuppressWarnings("deprecation")
3101  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
3102  }
3103 
3104  public static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER = 34;
3105  private int binaryMinimizationAlgorithm_;
3110  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
3111  return ((bitField0_ & 0x00000800) != 0);
3112  }
3118  @SuppressWarnings("deprecation")
3121  }
3122 
3124  private boolean subsumptionDuringConflictAnalysis_;
3136  @java.lang.Override
3138  return ((bitField0_ & 0x00001000) != 0);
3139  }
3151  @java.lang.Override
3153  return subsumptionDuringConflictAnalysis_;
3154  }
3155 
3156  public static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER = 11;
3157  private int clauseCleanupPeriod_;
3166  @java.lang.Override
3167  public boolean hasClauseCleanupPeriod() {
3168  return ((bitField0_ & 0x00002000) != 0);
3169  }
3178  @java.lang.Override
3179  public int getClauseCleanupPeriod() {
3180  return clauseCleanupPeriod_;
3181  }
3182 
3183  public static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER = 13;
3184  private int clauseCleanupTarget_;
3194  @java.lang.Override
3195  public boolean hasClauseCleanupTarget() {
3196  return ((bitField0_ & 0x00004000) != 0);
3197  }
3207  @java.lang.Override
3208  public int getClauseCleanupTarget() {
3209  return clauseCleanupTarget_;
3210  }
3211 
3212  public static final int CLAUSE_CLEANUP_RATIO_FIELD_NUMBER = 190;
3213  private double clauseCleanupRatio_;
3224  @java.lang.Override
3225  public boolean hasClauseCleanupRatio() {
3226  return ((bitField0_ & 0x00008000) != 0);
3227  }
3238  @java.lang.Override
3239  public double getClauseCleanupRatio() {
3240  return clauseCleanupRatio_;
3241  }
3242 
3243  public static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER = 58;
3244  private int clauseCleanupProtection_;
3249  @java.lang.Override public boolean hasClauseCleanupProtection() {
3250  return ((bitField0_ & 0x00010000) != 0);
3251  }
3257  @SuppressWarnings("deprecation")
3259  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
3260  }
3261 
3262  public static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER = 59;
3263  private int clauseCleanupLbdBound_;
3273  @java.lang.Override
3274  public boolean hasClauseCleanupLbdBound() {
3275  return ((bitField0_ & 0x00020000) != 0);
3276  }
3286  @java.lang.Override
3288  return clauseCleanupLbdBound_;
3289  }
3290 
3291  public static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER = 60;
3292  private int clauseCleanupOrdering_;
3297  @java.lang.Override public boolean hasClauseCleanupOrdering() {
3298  return ((bitField0_ & 0x00040000) != 0);
3299  }
3305  @SuppressWarnings("deprecation")
3307  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
3308  }
3309 
3310  public static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER = 46;
3311  private int pbCleanupIncrement_;
3320  @java.lang.Override
3321  public boolean hasPbCleanupIncrement() {
3322  return ((bitField0_ & 0x00080000) != 0);
3323  }
3332  @java.lang.Override
3333  public int getPbCleanupIncrement() {
3334  return pbCleanupIncrement_;
3335  }
3336 
3337  public static final int PB_CLEANUP_RATIO_FIELD_NUMBER = 47;
3338  private double pbCleanupRatio_;
3343  @java.lang.Override
3344  public boolean hasPbCleanupRatio() {
3345  return ((bitField0_ & 0x00100000) != 0);
3346  }
3351  @java.lang.Override
3352  public double getPbCleanupRatio() {
3353  return pbCleanupRatio_;
3354  }
3355 
3357  private int minimizeWithPropagationRestartPeriod_;
3376  @java.lang.Override
3378  return ((bitField0_ & 0x00200000) != 0);
3379  }
3398  @java.lang.Override
3400  return minimizeWithPropagationRestartPeriod_;
3401  }
3402 
3404  private int minimizeWithPropagationNumDecisions_;
3409  @java.lang.Override
3411  return ((bitField0_ & 0x00400000) != 0);
3412  }
3417  @java.lang.Override
3419  return minimizeWithPropagationNumDecisions_;
3420  }
3421 
3422  public static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER = 15;
3423  private double variableActivityDecay_;
3438  @java.lang.Override
3439  public boolean hasVariableActivityDecay() {
3440  return ((bitField0_ & 0x00800000) != 0);
3441  }
3456  @java.lang.Override
3457  public double getVariableActivityDecay() {
3458  return variableActivityDecay_;
3459  }
3460 
3461  public static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER = 16;
3462  private double maxVariableActivityValue_;
3467  @java.lang.Override
3468  public boolean hasMaxVariableActivityValue() {
3469  return ((bitField0_ & 0x01000000) != 0);
3470  }
3475  @java.lang.Override
3477  return maxVariableActivityValue_;
3478  }
3479 
3480  public static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER = 22;
3481  private double glucoseMaxDecay_;
3493  @java.lang.Override
3494  public boolean hasGlucoseMaxDecay() {
3495  return ((bitField0_ & 0x02000000) != 0);
3496  }
3508  @java.lang.Override
3509  public double getGlucoseMaxDecay() {
3510  return glucoseMaxDecay_;
3511  }
3512 
3513  public static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER = 23;
3514  private double glucoseDecayIncrement_;
3519  @java.lang.Override
3520  public boolean hasGlucoseDecayIncrement() {
3521  return ((bitField0_ & 0x04000000) != 0);
3522  }
3527  @java.lang.Override
3528  public double getGlucoseDecayIncrement() {
3529  return glucoseDecayIncrement_;
3530  }
3531 
3532  public static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER = 24;
3533  private int glucoseDecayIncrementPeriod_;
3538  @java.lang.Override
3540  return ((bitField0_ & 0x08000000) != 0);
3541  }
3546  @java.lang.Override
3548  return glucoseDecayIncrementPeriod_;
3549  }
3550 
3551  public static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER = 17;
3552  private double clauseActivityDecay_;
3561  @java.lang.Override
3562  public boolean hasClauseActivityDecay() {
3563  return ((bitField0_ & 0x10000000) != 0);
3564  }
3573  @java.lang.Override
3574  public double getClauseActivityDecay() {
3575  return clauseActivityDecay_;
3576  }
3577 
3578  public static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER = 18;
3579  private double maxClauseActivityValue_;
3584  @java.lang.Override
3585  public boolean hasMaxClauseActivityValue() {
3586  return ((bitField0_ & 0x20000000) != 0);
3587  }
3592  @java.lang.Override
3593  public double getMaxClauseActivityValue() {
3594  return maxClauseActivityValue_;
3595  }
3596 
3597  public static final int RESTART_ALGORITHMS_FIELD_NUMBER = 61;
3598  private java.util.List<java.lang.Integer> restartAlgorithms_;
3599  private static final com.google.protobuf.Internal.ListAdapter.Converter<
3600  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm> restartAlgorithms_converter_ =
3601  new com.google.protobuf.Internal.ListAdapter.Converter<
3602  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>() {
3603  public com.google.ortools.sat.SatParameters.RestartAlgorithm convert(java.lang.Integer from) {
3604  @SuppressWarnings("deprecation")
3606  return result == null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
3607  }
3608  };
3624  @java.lang.Override
3626  return new com.google.protobuf.Internal.ListAdapter<
3627  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
3628  }
3644  @java.lang.Override
3646  return restartAlgorithms_.size();
3647  }
3664  @java.lang.Override
3666  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
3667  }
3668 
3669  public static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER = 70;
3670  private volatile java.lang.Object defaultRestartAlgorithms_;
3675  @java.lang.Override
3676  public boolean hasDefaultRestartAlgorithms() {
3677  return ((bitField0_ & 0x40000000) != 0);
3678  }
3683  @java.lang.Override
3684  public java.lang.String getDefaultRestartAlgorithms() {
3685  java.lang.Object ref = defaultRestartAlgorithms_;
3686  if (ref instanceof java.lang.String) {
3687  return (java.lang.String) ref;
3688  } else {
3689  com.google.protobuf.ByteString bs =
3690  (com.google.protobuf.ByteString) ref;
3691  java.lang.String s = bs.toStringUtf8();
3692  if (bs.isValidUtf8()) {
3693  defaultRestartAlgorithms_ = s;
3694  }
3695  return s;
3696  }
3697  }
3702  @java.lang.Override
3703  public com.google.protobuf.ByteString
3705  java.lang.Object ref = defaultRestartAlgorithms_;
3706  if (ref instanceof java.lang.String) {
3707  com.google.protobuf.ByteString b =
3708  com.google.protobuf.ByteString.copyFromUtf8(
3709  (java.lang.String) ref);
3710  defaultRestartAlgorithms_ = b;
3711  return b;
3712  } else {
3713  return (com.google.protobuf.ByteString) ref;
3714  }
3715  }
3716 
3717  public static final int RESTART_PERIOD_FIELD_NUMBER = 30;
3718  private int restartPeriod_;
3728  @java.lang.Override
3729  public boolean hasRestartPeriod() {
3730  return ((bitField0_ & 0x80000000) != 0);
3731  }
3741  @java.lang.Override
3742  public int getRestartPeriod() {
3743  return restartPeriod_;
3744  }
3745 
3746  public static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER = 62;
3747  private int restartRunningWindowSize_;
3756  @java.lang.Override
3757  public boolean hasRestartRunningWindowSize() {
3758  return ((bitField1_ & 0x00000001) != 0);
3759  }
3768  @java.lang.Override
3770  return restartRunningWindowSize_;
3771  }
3772 
3773  public static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER = 63;
3774  private double restartDlAverageRatio_;
3784  @java.lang.Override
3785  public boolean hasRestartDlAverageRatio() {
3786  return ((bitField1_ & 0x00000002) != 0);
3787  }
3797  @java.lang.Override
3798  public double getRestartDlAverageRatio() {
3799  return restartDlAverageRatio_;
3800  }
3801 
3802  public static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER = 71;
3803  private double restartLbdAverageRatio_;
3808  @java.lang.Override
3809  public boolean hasRestartLbdAverageRatio() {
3810  return ((bitField1_ & 0x00000004) != 0);
3811  }
3816  @java.lang.Override
3817  public double getRestartLbdAverageRatio() {
3818  return restartLbdAverageRatio_;
3819  }
3820 
3821  public static final int USE_BLOCKING_RESTART_FIELD_NUMBER = 64;
3822  private boolean useBlockingRestart_;
3833  @java.lang.Override
3834  public boolean hasUseBlockingRestart() {
3835  return ((bitField1_ & 0x00000008) != 0);
3836  }
3847  @java.lang.Override
3848  public boolean getUseBlockingRestart() {
3849  return useBlockingRestart_;
3850  }
3851 
3852  public static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER = 65;
3853  private int blockingRestartWindowSize_;
3858  @java.lang.Override
3859  public boolean hasBlockingRestartWindowSize() {
3860  return ((bitField1_ & 0x00000010) != 0);
3861  }
3866  @java.lang.Override
3868  return blockingRestartWindowSize_;
3869  }
3870 
3871  public static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER = 66;
3872  private double blockingRestartMultiplier_;
3877  @java.lang.Override
3878  public boolean hasBlockingRestartMultiplier() {
3879  return ((bitField1_ & 0x00000020) != 0);
3880  }
3885  @java.lang.Override
3887  return blockingRestartMultiplier_;
3888  }
3889 
3891  private int numConflictsBeforeStrategyChanges_;
3902  @java.lang.Override
3904  return ((bitField1_ & 0x00000040) != 0);
3905  }
3916  @java.lang.Override
3918  return numConflictsBeforeStrategyChanges_;
3919  }
3920 
3921  public static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER = 69;
3922  private double strategyChangeIncreaseRatio_;
3932  @java.lang.Override
3934  return ((bitField1_ & 0x00000080) != 0);
3935  }
3945  @java.lang.Override
3947  return strategyChangeIncreaseRatio_;
3948  }
3949 
3950  public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 36;
3951  private double maxTimeInSeconds_;
3961  @java.lang.Override
3962  public boolean hasMaxTimeInSeconds() {
3963  return ((bitField1_ & 0x00000100) != 0);
3964  }
3974  @java.lang.Override
3975  public double getMaxTimeInSeconds() {
3976  return maxTimeInSeconds_;
3977  }
3978 
3979  public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 67;
3980  private double maxDeterministicTime_;
3991  @java.lang.Override
3992  public boolean hasMaxDeterministicTime() {
3993  return ((bitField1_ & 0x00000200) != 0);
3994  }
4005  @java.lang.Override
4006  public double getMaxDeterministicTime() {
4007  return maxDeterministicTime_;
4008  }
4009 
4010  public static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER = 37;
4011  private long maxNumberOfConflicts_;
4025  @java.lang.Override
4026  public boolean hasMaxNumberOfConflicts() {
4027  return ((bitField1_ & 0x00000400) != 0);
4028  }
4042  @java.lang.Override
4043  public long getMaxNumberOfConflicts() {
4044  return maxNumberOfConflicts_;
4045  }
4046 
4047  public static final int MAX_MEMORY_IN_MB_FIELD_NUMBER = 40;
4048  private long maxMemoryInMb_;
4060  @java.lang.Override
4061  public boolean hasMaxMemoryInMb() {
4062  return ((bitField1_ & 0x00000800) != 0);
4063  }
4075  @java.lang.Override
4076  public long getMaxMemoryInMb() {
4077  return maxMemoryInMb_;
4078  }
4079 
4080  public static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER = 159;
4081  private double absoluteGapLimit_;
4099  @java.lang.Override
4100  public boolean hasAbsoluteGapLimit() {
4101  return ((bitField1_ & 0x00001000) != 0);
4102  }
4120  @java.lang.Override
4121  public double getAbsoluteGapLimit() {
4122  return absoluteGapLimit_;
4123  }
4124 
4125  public static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER = 160;
4126  private double relativeGapLimit_;
4131  @java.lang.Override
4132  public boolean hasRelativeGapLimit() {
4133  return ((bitField1_ & 0x00002000) != 0);
4134  }
4139  @java.lang.Override
4140  public double getRelativeGapLimit() {
4141  return relativeGapLimit_;
4142  }
4143 
4144  public static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER = 33;
4145  private boolean treatBinaryClausesSeparately_;
4156  @java.lang.Override
4158  return ((bitField1_ & 0x00004000) != 0);
4159  }
4170  @java.lang.Override
4172  return treatBinaryClausesSeparately_;
4173  }
4174 
4175  public static final int RANDOM_SEED_FIELD_NUMBER = 31;
4176  private int randomSeed_;
4190  @java.lang.Override
4191  public boolean hasRandomSeed() {
4192  return ((bitField1_ & 0x00008000) != 0);
4193  }
4207  @java.lang.Override
4208  public int getRandomSeed() {
4209  return randomSeed_;
4210  }
4211 
4212  public static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER = 178;
4213  private boolean permuteVariableRandomly_;
4225  @java.lang.Override
4226  public boolean hasPermuteVariableRandomly() {
4227  return ((bitField1_ & 0x00010000) != 0);
4228  }
4240  @java.lang.Override
4241  public boolean getPermuteVariableRandomly() {
4242  return permuteVariableRandomly_;
4243  }
4244 
4245  public static final int PERMUTE_PRESOLVE_CONSTRAINT_ORDER_FIELD_NUMBER = 179;
4246  private boolean permutePresolveConstraintOrder_;
4251  @java.lang.Override
4253  return ((bitField1_ & 0x00020000) != 0);
4254  }
4259  @java.lang.Override
4261  return permutePresolveConstraintOrder_;
4262  }
4263 
4264  public static final int USE_ABSL_RANDOM_FIELD_NUMBER = 180;
4265  private boolean useAbslRandom_;
4270  @java.lang.Override
4271  public boolean hasUseAbslRandom() {
4272  return ((bitField1_ & 0x00040000) != 0);
4273  }
4278  @java.lang.Override
4279  public boolean getUseAbslRandom() {
4280  return useAbslRandom_;
4281  }
4282 
4283  public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 41;
4284  private boolean logSearchProgress_;
4294  @java.lang.Override
4295  public boolean hasLogSearchProgress() {
4296  return ((bitField1_ & 0x00080000) != 0);
4297  }
4307  @java.lang.Override
4308  public boolean getLogSearchProgress() {
4309  return logSearchProgress_;
4310  }
4311 
4312  public static final int LOG_SUBSOLVER_STATISTICS_FIELD_NUMBER = 189;
4313  private boolean logSubsolverStatistics_;
4324  @java.lang.Override
4325  public boolean hasLogSubsolverStatistics() {
4326  return ((bitField1_ & 0x00100000) != 0);
4327  }
4338  @java.lang.Override
4339  public boolean getLogSubsolverStatistics() {
4340  return logSubsolverStatistics_;
4341  }
4342 
4343  public static final int LOG_PREFIX_FIELD_NUMBER = 185;
4344  private volatile java.lang.Object logPrefix_;
4353  @java.lang.Override
4354  public boolean hasLogPrefix() {
4355  return ((bitField1_ & 0x00200000) != 0);
4356  }
4365  @java.lang.Override
4366  public java.lang.String getLogPrefix() {
4367  java.lang.Object ref = logPrefix_;
4368  if (ref instanceof java.lang.String) {
4369  return (java.lang.String) ref;
4370  } else {
4371  com.google.protobuf.ByteString bs =
4372  (com.google.protobuf.ByteString) ref;
4373  java.lang.String s = bs.toStringUtf8();
4374  if (bs.isValidUtf8()) {
4375  logPrefix_ = s;
4376  }
4377  return s;
4378  }
4379  }
4388  @java.lang.Override
4389  public com.google.protobuf.ByteString
4391  java.lang.Object ref = logPrefix_;
4392  if (ref instanceof java.lang.String) {
4393  com.google.protobuf.ByteString b =
4394  com.google.protobuf.ByteString.copyFromUtf8(
4395  (java.lang.String) ref);
4396  logPrefix_ = b;
4397  return b;
4398  } else {
4399  return (com.google.protobuf.ByteString) ref;
4400  }
4401  }
4402 
4403  public static final int LOG_TO_STDOUT_FIELD_NUMBER = 186;
4404  private boolean logToStdout_;
4413  @java.lang.Override
4414  public boolean hasLogToStdout() {
4415  return ((bitField1_ & 0x00400000) != 0);
4416  }
4425  @java.lang.Override
4426  public boolean getLogToStdout() {
4427  return logToStdout_;
4428  }
4429 
4430  public static final int LOG_TO_RESPONSE_FIELD_NUMBER = 187;
4431  private boolean logToResponse_;
4440  @java.lang.Override
4441  public boolean hasLogToResponse() {
4442  return ((bitField1_ & 0x00800000) != 0);
4443  }
4452  @java.lang.Override
4453  public boolean getLogToResponse() {
4454  return logToResponse_;
4455  }
4456 
4457  public static final int USE_PB_RESOLUTION_FIELD_NUMBER = 43;
4458  private boolean usePbResolution_;
4470  @java.lang.Override
4471  public boolean hasUsePbResolution() {
4472  return ((bitField1_ & 0x01000000) != 0);
4473  }
4485  @java.lang.Override
4486  public boolean getUsePbResolution() {
4487  return usePbResolution_;
4488  }
4489 
4491  private boolean minimizeReductionDuringPbResolution_;
4503  @java.lang.Override
4505  return ((bitField1_ & 0x02000000) != 0);
4506  }
4518  @java.lang.Override
4520  return minimizeReductionDuringPbResolution_;
4521  }
4522 
4523  public static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER = 49;
4524  private boolean countAssumptionLevelsInLbd_;
4540  @java.lang.Override
4542  return ((bitField1_ & 0x04000000) != 0);
4543  }
4559  @java.lang.Override
4561  return countAssumptionLevelsInLbd_;
4562  }
4563 
4564  public static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER = 54;
4565  private int presolveBveThreshold_;
4576  @java.lang.Override
4577  public boolean hasPresolveBveThreshold() {
4578  return ((bitField1_ & 0x08000000) != 0);
4579  }
4590  @java.lang.Override
4592  return presolveBveThreshold_;
4593  }
4594 
4595  public static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER = 55;
4596  private int presolveBveClauseWeight_;
4606  @java.lang.Override
4607  public boolean hasPresolveBveClauseWeight() {
4608  return ((bitField1_ & 0x10000000) != 0);
4609  }
4619  @java.lang.Override
4621  return presolveBveClauseWeight_;
4622  }
4623 
4625  private double presolveProbingDeterministicTimeLimit_;
4635  @java.lang.Override
4637  return ((bitField1_ & 0x20000000) != 0);
4638  }
4648  @java.lang.Override
4650  return presolveProbingDeterministicTimeLimit_;
4651  }
4652 
4653  public static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER = 88;
4654  private boolean presolveBlockedClause_;
4664  @java.lang.Override
4665  public boolean hasPresolveBlockedClause() {
4666  return ((bitField1_ & 0x40000000) != 0);
4667  }
4677  @java.lang.Override
4678  public boolean getPresolveBlockedClause() {
4679  return presolveBlockedClause_;
4680  }
4681 
4682  public static final int PRESOLVE_USE_BVA_FIELD_NUMBER = 72;
4683  private boolean presolveUseBva_;
4692  @java.lang.Override
4693  public boolean hasPresolveUseBva() {
4694  return ((bitField1_ & 0x80000000) != 0);
4695  }
4704  @java.lang.Override
4705  public boolean getPresolveUseBva() {
4706  return presolveUseBva_;
4707  }
4708 
4709  public static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER = 73;
4710  private int presolveBvaThreshold_;
4722  @java.lang.Override
4723  public boolean hasPresolveBvaThreshold() {
4724  return ((bitField2_ & 0x00000001) != 0);
4725  }
4737  @java.lang.Override
4739  return presolveBvaThreshold_;
4740  }
4741 
4742  public static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER = 138;
4743  private int maxPresolveIterations_;
4754  @java.lang.Override
4755  public boolean hasMaxPresolveIterations() {
4756  return ((bitField2_ & 0x00000002) != 0);
4757  }
4768  @java.lang.Override
4770  return maxPresolveIterations_;
4771  }
4772 
4773  public static final int CP_MODEL_PRESOLVE_FIELD_NUMBER = 86;
4774  private boolean cpModelPresolve_;
4783  @java.lang.Override
4784  public boolean hasCpModelPresolve() {
4785  return ((bitField2_ & 0x00000004) != 0);
4786  }
4795  @java.lang.Override
4796  public boolean getCpModelPresolve() {
4797  return cpModelPresolve_;
4798  }
4799 
4801  private boolean cpModelPostsolveWithFullSolver_;
4813  @java.lang.Override
4815  return ((bitField2_ & 0x00000008) != 0);
4816  }
4828  @java.lang.Override
4830  return cpModelPostsolveWithFullSolver_;
4831  }
4832 
4834  private int cpModelMaxNumPresolveOperations_;
4844  @java.lang.Override
4846  return ((bitField2_ & 0x00000010) != 0);
4847  }
4857  @java.lang.Override
4859  return cpModelMaxNumPresolveOperations_;
4860  }
4861 
4862  public static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER = 110;
4863  private int cpModelProbingLevel_;
4872  @java.lang.Override
4873  public boolean hasCpModelProbingLevel() {
4874  return ((bitField2_ & 0x00000020) != 0);
4875  }
4884  @java.lang.Override
4885  public int getCpModelProbingLevel() {
4886  return cpModelProbingLevel_;
4887  }
4888 
4889  public static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER = 93;
4890  private boolean cpModelUseSatPresolve_;
4899  @java.lang.Override
4900  public boolean hasCpModelUseSatPresolve() {
4901  return ((bitField2_ & 0x00000040) != 0);
4902  }
4911  @java.lang.Override
4912  public boolean getCpModelUseSatPresolve() {
4913  return cpModelUseSatPresolve_;
4914  }
4915 
4916  public static final int USE_SAT_INPROCESSING_FIELD_NUMBER = 163;
4917  private boolean useSatInprocessing_;
4922  @java.lang.Override
4923  public boolean hasUseSatInprocessing() {
4924  return ((bitField2_ & 0x00000080) != 0);
4925  }
4930  @java.lang.Override
4931  public boolean getUseSatInprocessing() {
4932  return useSatInprocessing_;
4933  }
4934 
4935  public static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER = 140;
4936  private boolean expandElementConstraints_;
4946  @java.lang.Override
4947  public boolean hasExpandElementConstraints() {
4948  return ((bitField2_ & 0x00000100) != 0);
4949  }
4959  @java.lang.Override
4960  public boolean getExpandElementConstraints() {
4961  return expandElementConstraints_;
4962  }
4963 
4964  public static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER = 143;
4965  private boolean expandAutomatonConstraints_;
4974  @java.lang.Override
4976  return ((bitField2_ & 0x00000200) != 0);
4977  }
4986  @java.lang.Override
4988  return expandAutomatonConstraints_;
4989  }
4990 
4991  public static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER = 158;
4992  private boolean expandTableConstraints_;
5002  @java.lang.Override
5003  public boolean hasExpandTableConstraints() {
5004  return ((bitField2_ & 0x00000400) != 0);
5005  }
5015  @java.lang.Override
5016  public boolean getExpandTableConstraints() {
5017  return expandTableConstraints_;
5018  }
5019 
5020  public static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER = 170;
5021  private boolean expandAlldiffConstraints_;
5031  @java.lang.Override
5032  public boolean hasExpandAlldiffConstraints() {
5033  return ((bitField2_ & 0x00000800) != 0);
5034  }
5044  @java.lang.Override
5045  public boolean getExpandAlldiffConstraints() {
5046  return expandAlldiffConstraints_;
5047  }
5048 
5049  public static final int EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER = 182;
5050  private boolean expandReservoirConstraints_;
5060  @java.lang.Override
5062  return ((bitField2_ & 0x00001000) != 0);
5063  }
5073  @java.lang.Override
5075  return expandReservoirConstraints_;
5076  }
5077 
5078  public static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER = 181;
5079  private boolean disableConstraintExpansion_;
5089  @java.lang.Override
5091  return ((bitField2_ & 0x00002000) != 0);
5092  }
5102  @java.lang.Override
5104  return disableConstraintExpansion_;
5105  }
5106 
5107  public static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER = 145;
5108  private double mergeNoOverlapWorkLimit_;
5121  @java.lang.Override
5122  public boolean hasMergeNoOverlapWorkLimit() {
5123  return ((bitField2_ & 0x00004000) != 0);
5124  }
5137  @java.lang.Override
5138  public double getMergeNoOverlapWorkLimit() {
5139  return mergeNoOverlapWorkLimit_;
5140  }
5141 
5142  public static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER = 146;
5143  private double mergeAtMostOneWorkLimit_;
5148  @java.lang.Override
5149  public boolean hasMergeAtMostOneWorkLimit() {
5150  return ((bitField2_ & 0x00008000) != 0);
5151  }
5156  @java.lang.Override
5157  public double getMergeAtMostOneWorkLimit() {
5158  return mergeAtMostOneWorkLimit_;
5159  }
5160 
5161  public static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER = 147;
5162  private int presolveSubstitutionLevel_;
5174  @java.lang.Override
5175  public boolean hasPresolveSubstitutionLevel() {
5176  return ((bitField2_ & 0x00010000) != 0);
5177  }
5189  @java.lang.Override
5191  return presolveSubstitutionLevel_;
5192  }
5193 
5195  private boolean presolveExtractIntegerEnforcement_;
5209  @java.lang.Override
5211  return ((bitField2_ & 0x00020000) != 0);
5212  }
5226  @java.lang.Override
5228  return presolveExtractIntegerEnforcement_;
5229  }
5230 
5231  public static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER = 35;
5232  private boolean useOptimizationHints_;
5244  @java.lang.Override
5245  public boolean hasUseOptimizationHints() {
5246  return ((bitField2_ & 0x00040000) != 0);
5247  }
5259  @java.lang.Override
5260  public boolean getUseOptimizationHints() {
5261  return useOptimizationHints_;
5262  }
5263 
5264  public static final int MINIMIZE_CORE_FIELD_NUMBER = 50;
5265  private boolean minimizeCore_;
5274  @java.lang.Override
5275  public boolean hasMinimizeCore() {
5276  return ((bitField2_ & 0x00080000) != 0);
5277  }
5286  @java.lang.Override
5287  public boolean getMinimizeCore() {
5288  return minimizeCore_;
5289  }
5290 
5291  public static final int FIND_MULTIPLE_CORES_FIELD_NUMBER = 84;
5292  private boolean findMultipleCores_;
5302  @java.lang.Override
5303  public boolean hasFindMultipleCores() {
5304  return ((bitField2_ & 0x00100000) != 0);
5305  }
5315  @java.lang.Override
5316  public boolean getFindMultipleCores() {
5317  return findMultipleCores_;
5318  }
5319 
5320  public static final int COVER_OPTIMIZATION_FIELD_NUMBER = 89;
5321  private boolean coverOptimization_;
5331  @java.lang.Override
5332  public boolean hasCoverOptimization() {
5333  return ((bitField2_ & 0x00200000) != 0);
5334  }
5344  @java.lang.Override
5345  public boolean getCoverOptimization() {
5346  return coverOptimization_;
5347  }
5348 
5349  public static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER = 51;
5350  private int maxSatAssumptionOrder_;
5355  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
5356  return ((bitField2_ & 0x00400000) != 0);
5357  }
5363  @SuppressWarnings("deprecation")
5366  }
5367 
5369  private boolean maxSatReverseAssumptionOrder_;
5379  @java.lang.Override
5381  return ((bitField2_ & 0x00800000) != 0);
5382  }
5392  @java.lang.Override
5394  return maxSatReverseAssumptionOrder_;
5395  }
5396 
5397  public static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER = 53;
5398  private int maxSatStratification_;
5403  @java.lang.Override public boolean hasMaxSatStratification() {
5404  return ((bitField2_ & 0x01000000) != 0);
5405  }
5411  @SuppressWarnings("deprecation")
5414  }
5415 
5417  private boolean usePrecedencesInDisjunctiveConstraint_;
5433  @java.lang.Override
5435  return ((bitField2_ & 0x02000000) != 0);
5436  }
5452  @java.lang.Override
5454  return usePrecedencesInDisjunctiveConstraint_;
5455  }
5456 
5458  private boolean useOverloadCheckerInCumulativeConstraint_;
5472  @java.lang.Override
5474  return ((bitField2_ & 0x04000000) != 0);
5475  }
5489  @java.lang.Override
5491  return useOverloadCheckerInCumulativeConstraint_;
5492  }
5493 
5495  private boolean useTimetableEdgeFindingInCumulativeConstraint_;
5509  @java.lang.Override
5511  return ((bitField2_ & 0x08000000) != 0);
5512  }
5526  @java.lang.Override
5528  return useTimetableEdgeFindingInCumulativeConstraint_;
5529  }
5530 
5532  private boolean useDisjunctiveConstraintInCumulativeConstraint_;
5548  @java.lang.Override
5550  return ((bitField2_ & 0x10000000) != 0);
5551  }
5567  @java.lang.Override
5569  return useDisjunctiveConstraintInCumulativeConstraint_;
5570  }
5571 
5572  public static final int LINEARIZATION_LEVEL_FIELD_NUMBER = 90;
5573  private int linearizationLevel_;
5585  @java.lang.Override
5586  public boolean hasLinearizationLevel() {
5587  return ((bitField2_ & 0x20000000) != 0);
5588  }
5600  @java.lang.Override
5601  public int getLinearizationLevel() {
5602  return linearizationLevel_;
5603  }
5604 
5605  public static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER = 107;
5606  private int booleanEncodingLevel_;
5616  @java.lang.Override
5617  public boolean hasBooleanEncodingLevel() {
5618  return ((bitField2_ & 0x40000000) != 0);
5619  }
5629  @java.lang.Override
5631  return booleanEncodingLevel_;
5632  }
5633 
5635  private int maxDomainSizeWhenEncodingEqNeqConstraints_;
5647  @java.lang.Override
5649  return ((bitField2_ & 0x80000000) != 0);
5650  }
5662  @java.lang.Override
5664  return maxDomainSizeWhenEncodingEqNeqConstraints_;
5665  }
5666 
5667  public static final int MAX_NUM_CUTS_FIELD_NUMBER = 91;
5668  private int maxNumCuts_;
5680  @java.lang.Override
5681  public boolean hasMaxNumCuts() {
5682  return ((bitField3_ & 0x00000001) != 0);
5683  }
5695  @java.lang.Override
5696  public int getMaxNumCuts() {
5697  return maxNumCuts_;
5698  }
5699 
5700  public static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER = 92;
5701  private boolean onlyAddCutsAtLevelZero_;
5711  @java.lang.Override
5712  public boolean hasOnlyAddCutsAtLevelZero() {
5713  return ((bitField3_ & 0x00000002) != 0);
5714  }
5724  @java.lang.Override
5725  public boolean getOnlyAddCutsAtLevelZero() {
5726  return onlyAddCutsAtLevelZero_;
5727  }
5728 
5729  public static final int ADD_KNAPSACK_CUTS_FIELD_NUMBER = 111;
5730  private boolean addKnapsackCuts_;
5741  @java.lang.Override
5742  public boolean hasAddKnapsackCuts() {
5743  return ((bitField3_ & 0x00000004) != 0);
5744  }
5755  @java.lang.Override
5756  public boolean getAddKnapsackCuts() {
5757  return addKnapsackCuts_;
5758  }
5759 
5760  public static final int ADD_CG_CUTS_FIELD_NUMBER = 117;
5761  private boolean addCgCuts_;
5771  @java.lang.Override
5772  public boolean hasAddCgCuts() {
5773  return ((bitField3_ & 0x00000008) != 0);
5774  }
5784  @java.lang.Override
5785  public boolean getAddCgCuts() {
5786  return addCgCuts_;
5787  }
5788 
5789  public static final int ADD_MIR_CUTS_FIELD_NUMBER = 120;
5790  private boolean addMirCuts_;
5800  @java.lang.Override
5801  public boolean hasAddMirCuts() {
5802  return ((bitField3_ & 0x00000010) != 0);
5803  }
5813  @java.lang.Override
5814  public boolean getAddMirCuts() {
5815  return addMirCuts_;
5816  }
5817 
5818  public static final int ADD_ZERO_HALF_CUTS_FIELD_NUMBER = 169;
5819  private boolean addZeroHalfCuts_;
5829  @java.lang.Override
5830  public boolean hasAddZeroHalfCuts() {
5831  return ((bitField3_ & 0x00000020) != 0);
5832  }
5842  @java.lang.Override
5843  public boolean getAddZeroHalfCuts() {
5844  return addZeroHalfCuts_;
5845  }
5846 
5847  public static final int ADD_CLIQUE_CUTS_FIELD_NUMBER = 172;
5848  private boolean addCliqueCuts_;
5859  @java.lang.Override
5860  public boolean hasAddCliqueCuts() {
5861  return ((bitField3_ & 0x00000040) != 0);
5862  }
5873  @java.lang.Override
5874  public boolean getAddCliqueCuts() {
5875  return addCliqueCuts_;
5876  }
5877 
5878  public static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER = 148;
5879  private int maxAllDiffCutSize_;
5890  @java.lang.Override
5891  public boolean hasMaxAllDiffCutSize() {
5892  return ((bitField3_ & 0x00000080) != 0);
5893  }
5904  @java.lang.Override
5905  public int getMaxAllDiffCutSize() {
5906  return maxAllDiffCutSize_;
5907  }
5908 
5909  public static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER = 152;
5910  private boolean addLinMaxCuts_;
5921  @java.lang.Override
5922  public boolean hasAddLinMaxCuts() {
5923  return ((bitField3_ & 0x00000100) != 0);
5924  }
5935  @java.lang.Override
5936  public boolean getAddLinMaxCuts() {
5937  return addLinMaxCuts_;
5938  }
5939 
5940  public static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER = 119;
5941  private int maxIntegerRoundingScaling_;
5956  @java.lang.Override
5957  public boolean hasMaxIntegerRoundingScaling() {
5958  return ((bitField3_ & 0x00000200) != 0);
5959  }
5974  @java.lang.Override
5976  return maxIntegerRoundingScaling_;
5977  }
5978 
5979  public static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER = 112;
5980  private boolean addLpConstraintsLazily_;
5992  @java.lang.Override
5993  public boolean hasAddLpConstraintsLazily() {
5994  return ((bitField3_ & 0x00000400) != 0);
5995  }
6007  @java.lang.Override
6008  public boolean getAddLpConstraintsLazily() {
6009  return addLpConstraintsLazily_;
6010  }
6011 
6013  private double minOrthogonalityForLpConstraints_;
6026  @java.lang.Override
6028  return ((bitField3_ & 0x00000800) != 0);
6029  }
6042  @java.lang.Override
6044  return minOrthogonalityForLpConstraints_;
6045  }
6046 
6047  public static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER = 154;
6048  private int maxCutRoundsAtLevelZero_;
6057  @java.lang.Override
6058  public boolean hasMaxCutRoundsAtLevelZero() {
6059  return ((bitField3_ & 0x00001000) != 0);
6060  }
6069  @java.lang.Override
6071  return maxCutRoundsAtLevelZero_;
6072  }
6073 
6074  public static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER = 121;
6075  private int maxConsecutiveInactiveCount_;
6086  @java.lang.Override
6088  return ((bitField3_ & 0x00002000) != 0);
6089  }
6100  @java.lang.Override
6102  return maxConsecutiveInactiveCount_;
6103  }
6104 
6105  public static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER = 155;
6106  private double cutMaxActiveCountValue_;
6117  @java.lang.Override
6118  public boolean hasCutMaxActiveCountValue() {
6119  return ((bitField3_ & 0x00004000) != 0);
6120  }
6131  @java.lang.Override
6132  public double getCutMaxActiveCountValue() {
6133  return cutMaxActiveCountValue_;
6134  }
6135 
6136  public static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER = 156;
6137  private double cutActiveCountDecay_;
6142  @java.lang.Override
6143  public boolean hasCutActiveCountDecay() {
6144  return ((bitField3_ & 0x00008000) != 0);
6145  }
6150  @java.lang.Override
6151  public double getCutActiveCountDecay() {
6152  return cutActiveCountDecay_;
6153  }
6154 
6155  public static final int CUT_CLEANUP_TARGET_FIELD_NUMBER = 157;
6156  private int cutCleanupTarget_;
6165  @java.lang.Override
6166  public boolean hasCutCleanupTarget() {
6167  return ((bitField3_ & 0x00010000) != 0);
6168  }
6177  @java.lang.Override
6178  public int getCutCleanupTarget() {
6179  return cutCleanupTarget_;
6180  }
6181 
6182  public static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER = 122;
6183  private int newConstraintsBatchSize_;
6193  @java.lang.Override
6194  public boolean hasNewConstraintsBatchSize() {
6195  return ((bitField3_ & 0x00020000) != 0);
6196  }
6206  @java.lang.Override
6208  return newConstraintsBatchSize_;
6209  }
6210 
6211  public static final int SEARCH_BRANCHING_FIELD_NUMBER = 82;
6212  private int searchBranching_;
6217  @java.lang.Override public boolean hasSearchBranching() {
6218  return ((bitField3_ & 0x00040000) != 0);
6219  }
6225  @SuppressWarnings("deprecation")
6227  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
6228  }
6229 
6230  public static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER = 153;
6231  private int hintConflictLimit_;
6240  @java.lang.Override
6241  public boolean hasHintConflictLimit() {
6242  return ((bitField3_ & 0x00080000) != 0);
6243  }
6252  @java.lang.Override
6253  public int getHintConflictLimit() {
6254  return hintConflictLimit_;
6255  }
6256 
6257  public static final int REPAIR_HINT_FIELD_NUMBER = 167;
6258  private boolean repairHint_;
6270  @java.lang.Override
6271  public boolean hasRepairHint() {
6272  return ((bitField3_ & 0x00100000) != 0);
6273  }
6285  @java.lang.Override
6286  public boolean getRepairHint() {
6287  return repairHint_;
6288  }
6289 
6291  private boolean fixVariablesToTheirHintedValue_;
6301  @java.lang.Override
6303  return ((bitField3_ & 0x00200000) != 0);
6304  }
6314  @java.lang.Override
6316  return fixVariablesToTheirHintedValue_;
6317  }
6318 
6319  public static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER = 94;
6320  private boolean exploitIntegerLpSolution_;
6332  @java.lang.Override
6333  public boolean hasExploitIntegerLpSolution() {
6334  return ((bitField3_ & 0x00400000) != 0);
6335  }
6347  @java.lang.Override
6348  public boolean getExploitIntegerLpSolution() {
6349  return exploitIntegerLpSolution_;
6350  }
6351 
6352  public static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER = 116;
6353  private boolean exploitAllLpSolution_;
6364  @java.lang.Override
6365  public boolean hasExploitAllLpSolution() {
6366  return ((bitField3_ & 0x00800000) != 0);
6367  }
6378  @java.lang.Override
6379  public boolean getExploitAllLpSolution() {
6380  return exploitAllLpSolution_;
6381  }
6382 
6383  public static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER = 130;
6384  private boolean exploitBestSolution_;
6393  @java.lang.Override
6394  public boolean hasExploitBestSolution() {
6395  return ((bitField3_ & 0x01000000) != 0);
6396  }
6405  @java.lang.Override
6406  public boolean getExploitBestSolution() {
6407  return exploitBestSolution_;
6408  }
6409 
6410  public static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER = 161;
6411  private boolean exploitRelaxationSolution_;
6422  @java.lang.Override
6423  public boolean hasExploitRelaxationSolution() {
6424  return ((bitField3_ & 0x02000000) != 0);
6425  }
6436  @java.lang.Override
6437  public boolean getExploitRelaxationSolution() {
6438  return exploitRelaxationSolution_;
6439  }
6440 
6441  public static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER = 131;
6442  private boolean exploitObjective_;
6452  @java.lang.Override
6453  public boolean hasExploitObjective() {
6454  return ((bitField3_ & 0x04000000) != 0);
6455  }
6465  @java.lang.Override
6466  public boolean getExploitObjective() {
6467  return exploitObjective_;
6468  }
6469 
6470  public static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER = 142;
6471  private long probingPeriodAtRoot_;
6482  @java.lang.Override
6483  public boolean hasProbingPeriodAtRoot() {
6484  return ((bitField3_ & 0x08000000) != 0);
6485  }
6496  @java.lang.Override
6497  public long getProbingPeriodAtRoot() {
6498  return probingPeriodAtRoot_;
6499  }
6500 
6501  public static final int USE_PROBING_SEARCH_FIELD_NUMBER = 176;
6502  private boolean useProbingSearch_;
6512  @java.lang.Override
6513  public boolean hasUseProbingSearch() {
6514  return ((bitField3_ & 0x10000000) != 0);
6515  }
6525  @java.lang.Override
6526  public boolean getUseProbingSearch() {
6527  return useProbingSearch_;
6528  }
6529 
6530  public static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER = 123;
6531  private long pseudoCostReliabilityThreshold_;
6541  @java.lang.Override
6543  return ((bitField3_ & 0x20000000) != 0);
6544  }
6554  @java.lang.Override
6556  return pseudoCostReliabilityThreshold_;
6557  }
6558 
6559  public static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER = 83;
6560  private boolean optimizeWithCore_;
6572  @java.lang.Override
6573  public boolean hasOptimizeWithCore() {
6574  return ((bitField3_ & 0x40000000) != 0);
6575  }
6587  @java.lang.Override
6588  public boolean getOptimizeWithCore() {
6589  return optimizeWithCore_;
6590  }
6591 
6592  public static final int OPTIMIZE_WITH_LB_TREE_SEARCH_FIELD_NUMBER = 188;
6593  private boolean optimizeWithLbTreeSearch_;
6606  @java.lang.Override
6607  public boolean hasOptimizeWithLbTreeSearch() {
6608  return ((bitField3_ & 0x80000000) != 0);
6609  }
6622  @java.lang.Override
6623  public boolean getOptimizeWithLbTreeSearch() {
6624  return optimizeWithLbTreeSearch_;
6625  }
6626 
6627  public static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER = 99;
6628  private int binarySearchNumConflicts_;
6640  @java.lang.Override
6641  public boolean hasBinarySearchNumConflicts() {
6642  return ((bitField4_ & 0x00000001) != 0);
6643  }
6655  @java.lang.Override
6657  return binarySearchNumConflicts_;
6658  }
6659 
6660  public static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER = 85;
6661  private boolean optimizeWithMaxHs_;
6675  @java.lang.Override
6676  public boolean hasOptimizeWithMaxHs() {
6677  return ((bitField4_ & 0x00000002) != 0);
6678  }
6692  @java.lang.Override
6693  public boolean getOptimizeWithMaxHs() {
6694  return optimizeWithMaxHs_;
6695  }
6696 
6697  public static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER = 87;
6698  private boolean enumerateAllSolutions_;
6712  @java.lang.Override
6713  public boolean hasEnumerateAllSolutions() {
6714  return ((bitField4_ & 0x00000004) != 0);
6715  }
6729  @java.lang.Override
6730  public boolean getEnumerateAllSolutions() {
6731  return enumerateAllSolutions_;
6732  }
6733 
6735  private boolean keepAllFeasibleSolutionsInPresolve_;
6750  @java.lang.Override
6752  return ((bitField4_ & 0x00000008) != 0);
6753  }
6768  @java.lang.Override
6770  return keepAllFeasibleSolutionsInPresolve_;
6771  }
6772 
6774  private boolean fillTightenedDomainsInResponse_;
6787  @java.lang.Override
6789  return ((bitField4_ & 0x00000010) != 0);
6790  }
6803  @java.lang.Override
6805  return fillTightenedDomainsInResponse_;
6806  }
6807 
6808  public static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER = 106;
6809  private boolean instantiateAllVariables_;
6819  @java.lang.Override
6820  public boolean hasInstantiateAllVariables() {
6821  return ((bitField4_ & 0x00000020) != 0);
6822  }
6832  @java.lang.Override
6833  public boolean getInstantiateAllVariables() {
6834  return instantiateAllVariables_;
6835  }
6836 
6838  private boolean autoDetectGreaterThanAtLeastOneOf_;
6850  @java.lang.Override
6852  return ((bitField4_ & 0x00000040) != 0);
6853  }
6865  @java.lang.Override
6867  return autoDetectGreaterThanAtLeastOneOf_;
6868  }
6869 
6870  public static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER = 98;
6871  private boolean stopAfterFirstSolution_;
6880  @java.lang.Override
6881  public boolean hasStopAfterFirstSolution() {
6882  return ((bitField4_ & 0x00000080) != 0);
6883  }
6892  @java.lang.Override
6893  public boolean getStopAfterFirstSolution() {
6894  return stopAfterFirstSolution_;
6895  }
6896 
6897  public static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER = 149;
6898  private boolean stopAfterPresolve_;
6908  @java.lang.Override
6909  public boolean hasStopAfterPresolve() {
6910  return ((bitField4_ & 0x00000100) != 0);
6911  }
6921  @java.lang.Override
6922  public boolean getStopAfterPresolve() {
6923  return stopAfterPresolve_;
6924  }
6925 
6926  public static final int NUM_SEARCH_WORKERS_FIELD_NUMBER = 100;
6927  private int numSearchWorkers_;
6942  @java.lang.Override
6943  public boolean hasNumSearchWorkers() {
6944  return ((bitField4_ & 0x00000200) != 0);
6945  }
6960  @java.lang.Override
6961  public int getNumSearchWorkers() {
6962  return numSearchWorkers_;
6963  }
6964 
6965  public static final int INTERLEAVE_SEARCH_FIELD_NUMBER = 136;
6966  private boolean interleaveSearch_;
6979  @java.lang.Override
6980  public boolean hasInterleaveSearch() {
6981  return ((bitField4_ & 0x00000400) != 0);
6982  }
6995  @java.lang.Override
6996  public boolean getInterleaveSearch() {
6997  return interleaveSearch_;
6998  }
6999 
7000  public static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER = 134;
7001  private int interleaveBatchSize_;
7006  @java.lang.Override
7007  public boolean hasInterleaveBatchSize() {
7008  return ((bitField4_ & 0x00000800) != 0);
7009  }
7014  @java.lang.Override
7015  public int getInterleaveBatchSize() {
7016  return interleaveBatchSize_;
7017  }
7018 
7020  private boolean reduceMemoryUsageInInterleaveMode_;
7029  @java.lang.Override
7031  return ((bitField4_ & 0x00001000) != 0);
7032  }
7041  @java.lang.Override
7043  return reduceMemoryUsageInInterleaveMode_;
7044  }
7045 
7046  public static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER = 113;
7047  private boolean shareObjectiveBounds_;
7056  @java.lang.Override
7057  public boolean hasShareObjectiveBounds() {
7058  return ((bitField4_ & 0x00002000) != 0);
7059  }
7068  @java.lang.Override
7069  public boolean getShareObjectiveBounds() {
7070  return shareObjectiveBounds_;
7071  }
7072 
7073  public static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER = 114;
7074  private boolean shareLevelZeroBounds_;
7083  @java.lang.Override
7084  public boolean hasShareLevelZeroBounds() {
7085  return ((bitField4_ & 0x00004000) != 0);
7086  }
7095  @java.lang.Override
7096  public boolean getShareLevelZeroBounds() {
7097  return shareLevelZeroBounds_;
7098  }
7099 
7100  public static final int USE_LNS_ONLY_FIELD_NUMBER = 101;
7101  private boolean useLnsOnly_;
7110  @java.lang.Override
7111  public boolean hasUseLnsOnly() {
7112  return ((bitField4_ & 0x00008000) != 0);
7113  }
7122  @java.lang.Override
7123  public boolean getUseLnsOnly() {
7124  return useLnsOnly_;
7125  }
7126 
7127  public static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER = 105;
7128  private boolean lnsFocusOnDecisionVariables_;
7133  @java.lang.Override
7135  return ((bitField4_ & 0x00010000) != 0);
7136  }
7141  @java.lang.Override
7143  return lnsFocusOnDecisionVariables_;
7144  }
7145 
7147  private boolean lnsExpandIntervalsInConstraintGraph_;
7152  @java.lang.Override
7154  return ((bitField4_ & 0x00020000) != 0);
7155  }
7160  @java.lang.Override
7162  return lnsExpandIntervalsInConstraintGraph_;
7163  }
7164 
7165  public static final int SOLUTION_POOL_SIZE_FIELD_NUMBER = 193;
7166  private int solutionPoolSize_;
7176  @java.lang.Override
7177  public boolean hasSolutionPoolSize() {
7178  return ((bitField4_ & 0x00040000) != 0);
7179  }
7189  @java.lang.Override
7190  public int getSolutionPoolSize() {
7191  return solutionPoolSize_;
7192  }
7193 
7194  public static final int USE_RINS_LNS_FIELD_NUMBER = 129;
7195  private boolean useRinsLns_;
7204  @java.lang.Override
7205  public boolean hasUseRinsLns() {
7206  return ((bitField4_ & 0x00080000) != 0);
7207  }
7216  @java.lang.Override
7217  public boolean getUseRinsLns() {
7218  return useRinsLns_;
7219  }
7220 
7221  public static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER = 164;
7222  private boolean useFeasibilityPump_;
7231  @java.lang.Override
7232  public boolean hasUseFeasibilityPump() {
7233  return ((bitField4_ & 0x00100000) != 0);
7234  }
7243  @java.lang.Override
7244  public boolean getUseFeasibilityPump() {
7245  return useFeasibilityPump_;
7246  }
7247 
7248  public static final int FP_ROUNDING_FIELD_NUMBER = 165;
7249  private int fpRounding_;
7254  @java.lang.Override public boolean hasFpRounding() {
7255  return ((bitField4_ & 0x00200000) != 0);
7256  }
7262  @SuppressWarnings("deprecation")
7264  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
7265  }
7266 
7267  public static final int USE_RELAXATION_LNS_FIELD_NUMBER = 150;
7268  private boolean useRelaxationLns_;
7278  @java.lang.Override
7279  public boolean hasUseRelaxationLns() {
7280  return ((bitField4_ & 0x00400000) != 0);
7281  }
7291  @java.lang.Override
7292  public boolean getUseRelaxationLns() {
7293  return useRelaxationLns_;
7294  }
7295 
7296  public static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER = 137;
7297  private boolean diversifyLnsParams_;
7306  @java.lang.Override
7307  public boolean hasDiversifyLnsParams() {
7308  return ((bitField4_ & 0x00800000) != 0);
7309  }
7318  @java.lang.Override
7319  public boolean getDiversifyLnsParams() {
7320  return diversifyLnsParams_;
7321  }
7322 
7323  public static final int RANDOMIZE_SEARCH_FIELD_NUMBER = 103;
7324  private boolean randomizeSearch_;
7333  @java.lang.Override
7334  public boolean hasRandomizeSearch() {
7335  return ((bitField4_ & 0x01000000) != 0);
7336  }
7345  @java.lang.Override
7346  public boolean getRandomizeSearch() {
7347  return randomizeSearch_;
7348  }
7349 
7350  public static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER = 104;
7351  private long searchRandomizationTolerance_;
7366  @java.lang.Override
7368  return ((bitField4_ & 0x02000000) != 0);
7369  }
7384  @java.lang.Override
7386  return searchRandomizationTolerance_;
7387  }
7388 
7389  public static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER = 108;
7390  private boolean useOptionalVariables_;
7401  @java.lang.Override
7402  public boolean hasUseOptionalVariables() {
7403  return ((bitField4_ & 0x04000000) != 0);
7404  }
7415  @java.lang.Override
7416  public boolean getUseOptionalVariables() {
7417  return useOptionalVariables_;
7418  }
7419 
7420  public static final int USE_EXACT_LP_REASON_FIELD_NUMBER = 109;
7421  private boolean useExactLpReason_;
7433  @java.lang.Override
7434  public boolean hasUseExactLpReason() {
7435  return ((bitField4_ & 0x08000000) != 0);
7436  }
7448  @java.lang.Override
7449  public boolean getUseExactLpReason() {
7450  return useExactLpReason_;
7451  }
7452 
7453  public static final int USE_BRANCHING_IN_LP_FIELD_NUMBER = 139;
7454  private boolean useBranchingInLp_;
7465  @java.lang.Override
7466  public boolean hasUseBranchingInLp() {
7467  return ((bitField4_ & 0x10000000) != 0);
7468  }
7479  @java.lang.Override
7480  public boolean getUseBranchingInLp() {
7481  return useBranchingInLp_;
7482  }
7483 
7484  public static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER = 133;
7485  private boolean useCombinedNoOverlap_;
7496  @java.lang.Override
7497  public boolean hasUseCombinedNoOverlap() {
7498  return ((bitField4_ & 0x20000000) != 0);
7499  }
7510  @java.lang.Override
7511  public boolean getUseCombinedNoOverlap() {
7512  return useCombinedNoOverlap_;
7513  }
7514 
7515  public static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER = 135;
7516  private boolean catchSigintSignal_;
7527  @java.lang.Override
7528  public boolean hasCatchSigintSignal() {
7529  return ((bitField4_ & 0x40000000) != 0);
7530  }
7541  @java.lang.Override
7542  public boolean getCatchSigintSignal() {
7543  return catchSigintSignal_;
7544  }
7545 
7546  public static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER = 144;
7547  private boolean useImpliedBounds_;
7558  @java.lang.Override
7559  public boolean hasUseImpliedBounds() {
7560  return ((bitField4_ & 0x80000000) != 0);
7561  }
7572  @java.lang.Override
7573  public boolean getUseImpliedBounds() {
7574  return useImpliedBounds_;
7575  }
7576 
7577  public static final int POLISH_LP_SOLUTION_FIELD_NUMBER = 175;
7578  private boolean polishLpSolution_;
7590  @java.lang.Override
7591  public boolean hasPolishLpSolution() {
7592  return ((bitField5_ & 0x00000001) != 0);
7593  }
7605  @java.lang.Override
7606  public boolean getPolishLpSolution() {
7607  return polishLpSolution_;
7608  }
7609 
7610  public static final int CONVERT_INTERVALS_FIELD_NUMBER = 177;
7611  private boolean convertIntervals_;
7622  @java.lang.Override
7623  public boolean hasConvertIntervals() {
7624  return ((bitField5_ & 0x00000002) != 0);
7625  }
7636  @java.lang.Override
7637  public boolean getConvertIntervals() {
7638  return convertIntervals_;
7639  }
7640 
7641  public static final int SYMMETRY_LEVEL_FIELD_NUMBER = 183;
7642  private int symmetryLevel_;
7654  @java.lang.Override
7655  public boolean hasSymmetryLevel() {
7656  return ((bitField5_ & 0x00000004) != 0);
7657  }
7669  @java.lang.Override
7670  public int getSymmetryLevel() {
7671  return symmetryLevel_;
7672  }
7673 
7674  public static final int MIP_MAX_BOUND_FIELD_NUMBER = 124;
7675  private double mipMaxBound_;
7686  @java.lang.Override
7687  public boolean hasMipMaxBound() {
7688  return ((bitField5_ & 0x00000008) != 0);
7689  }
7700  @java.lang.Override
7701  public double getMipMaxBound() {
7702  return mipMaxBound_;
7703  }
7704 
7705  public static final int MIP_VAR_SCALING_FIELD_NUMBER = 125;
7706  private double mipVarScaling_;
7717  @java.lang.Override
7718  public boolean hasMipVarScaling() {
7719  return ((bitField5_ & 0x00000010) != 0);
7720  }
7731  @java.lang.Override
7732  public double getMipVarScaling() {
7733  return mipVarScaling_;
7734  }
7735 
7736  public static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER = 166;
7737  private boolean mipAutomaticallyScaleVariables_;
7750  @java.lang.Override
7752  return ((bitField5_ & 0x00000020) != 0);
7753  }
7766  @java.lang.Override
7768  return mipAutomaticallyScaleVariables_;
7769  }
7770 
7771  public static final int MIP_WANTED_PRECISION_FIELD_NUMBER = 126;
7772  private double mipWantedPrecision_;
7790  @java.lang.Override
7791  public boolean hasMipWantedPrecision() {
7792  return ((bitField5_ & 0x00000040) != 0);
7793  }
7811  @java.lang.Override
7812  public double getMipWantedPrecision() {
7813  return mipWantedPrecision_;
7814  }
7815 
7816  public static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER = 127;
7817  private int mipMaxActivityExponent_;
7832  @java.lang.Override
7833  public boolean hasMipMaxActivityExponent() {
7834  return ((bitField5_ & 0x00000080) != 0);
7835  }
7850  @java.lang.Override
7852  return mipMaxActivityExponent_;
7853  }
7854 
7855  public static final int MIP_CHECK_PRECISION_FIELD_NUMBER = 128;
7856  private double mipCheckPrecision_;
7867  @java.lang.Override
7868  public boolean hasMipCheckPrecision() {
7869  return ((bitField5_ & 0x00000100) != 0);
7870  }
7881  @java.lang.Override
7882  public double getMipCheckPrecision() {
7883  return mipCheckPrecision_;
7884  }
7885 
7886  private byte memoizedIsInitialized = -1;
7887  @java.lang.Override
7888  public final boolean isInitialized() {
7889  byte isInitialized = memoizedIsInitialized;
7890  if (isInitialized == 1) return true;
7891  if (isInitialized == 0) return false;
7892 
7893  memoizedIsInitialized = 1;
7894  return true;
7895  }
7896 
7897  @java.lang.Override
7898  public void writeTo(com.google.protobuf.CodedOutputStream output)
7899  throws java.io.IOException {
7900  if (((bitField0_ & 0x00000002) != 0)) {
7901  output.writeEnum(1, preferredVariableOrder_);
7902  }
7903  if (((bitField0_ & 0x00000004) != 0)) {
7904  output.writeEnum(2, initialPolarity_);
7905  }
7906  if (((bitField0_ & 0x00000400) != 0)) {
7907  output.writeEnum(4, minimizationAlgorithm_);
7908  }
7909  if (((bitField0_ & 0x00002000) != 0)) {
7910  output.writeInt32(11, clauseCleanupPeriod_);
7911  }
7912  if (((bitField0_ & 0x00004000) != 0)) {
7913  output.writeInt32(13, clauseCleanupTarget_);
7914  }
7915  if (((bitField0_ & 0x00800000) != 0)) {
7916  output.writeDouble(15, variableActivityDecay_);
7917  }
7918  if (((bitField0_ & 0x01000000) != 0)) {
7919  output.writeDouble(16, maxVariableActivityValue_);
7920  }
7921  if (((bitField0_ & 0x10000000) != 0)) {
7922  output.writeDouble(17, clauseActivityDecay_);
7923  }
7924  if (((bitField0_ & 0x20000000) != 0)) {
7925  output.writeDouble(18, maxClauseActivityValue_);
7926  }
7927  if (((bitField0_ & 0x02000000) != 0)) {
7928  output.writeDouble(22, glucoseMaxDecay_);
7929  }
7930  if (((bitField0_ & 0x04000000) != 0)) {
7931  output.writeDouble(23, glucoseDecayIncrement_);
7932  }
7933  if (((bitField0_ & 0x08000000) != 0)) {
7934  output.writeInt32(24, glucoseDecayIncrementPeriod_);
7935  }
7936  if (((bitField0_ & 0x80000000) != 0)) {
7937  output.writeInt32(30, restartPeriod_);
7938  }
7939  if (((bitField1_ & 0x00008000) != 0)) {
7940  output.writeInt32(31, randomSeed_);
7941  }
7942  if (((bitField0_ & 0x00000040) != 0)) {
7943  output.writeDouble(32, randomBranchesRatio_);
7944  }
7945  if (((bitField1_ & 0x00004000) != 0)) {
7946  output.writeBool(33, treatBinaryClausesSeparately_);
7947  }
7948  if (((bitField0_ & 0x00000800) != 0)) {
7949  output.writeEnum(34, binaryMinimizationAlgorithm_);
7950  }
7951  if (((bitField2_ & 0x00040000) != 0)) {
7952  output.writeBool(35, useOptimizationHints_);
7953  }
7954  if (((bitField1_ & 0x00000100) != 0)) {
7955  output.writeDouble(36, maxTimeInSeconds_);
7956  }
7957  if (((bitField1_ & 0x00000400) != 0)) {
7958  output.writeInt64(37, maxNumberOfConflicts_);
7959  }
7960  if (((bitField1_ & 0x00000800) != 0)) {
7961  output.writeInt64(40, maxMemoryInMb_);
7962  }
7963  if (((bitField1_ & 0x00080000) != 0)) {
7964  output.writeBool(41, logSearchProgress_);
7965  }
7966  if (((bitField1_ & 0x01000000) != 0)) {
7967  output.writeBool(43, usePbResolution_);
7968  }
7969  if (((bitField0_ & 0x00000008) != 0)) {
7970  output.writeBool(44, usePhaseSaving_);
7971  }
7972  if (((bitField0_ & 0x00000020) != 0)) {
7973  output.writeDouble(45, randomPolarityRatio_);
7974  }
7975  if (((bitField0_ & 0x00080000) != 0)) {
7976  output.writeInt32(46, pbCleanupIncrement_);
7977  }
7978  if (((bitField0_ & 0x00100000) != 0)) {
7979  output.writeDouble(47, pbCleanupRatio_);
7980  }
7981  if (((bitField1_ & 0x02000000) != 0)) {
7982  output.writeBool(48, minimizeReductionDuringPbResolution_);
7983  }
7984  if (((bitField1_ & 0x04000000) != 0)) {
7985  output.writeBool(49, countAssumptionLevelsInLbd_);
7986  }
7987  if (((bitField2_ & 0x00080000) != 0)) {
7988  output.writeBool(50, minimizeCore_);
7989  }
7990  if (((bitField2_ & 0x00400000) != 0)) {
7991  output.writeEnum(51, maxSatAssumptionOrder_);
7992  }
7993  if (((bitField2_ & 0x00800000) != 0)) {
7994  output.writeBool(52, maxSatReverseAssumptionOrder_);
7995  }
7996  if (((bitField2_ & 0x01000000) != 0)) {
7997  output.writeEnum(53, maxSatStratification_);
7998  }
7999  if (((bitField1_ & 0x08000000) != 0)) {
8000  output.writeInt32(54, presolveBveThreshold_);
8001  }
8002  if (((bitField1_ & 0x10000000) != 0)) {
8003  output.writeInt32(55, presolveBveClauseWeight_);
8004  }
8005  if (((bitField0_ & 0x00001000) != 0)) {
8006  output.writeBool(56, subsumptionDuringConflictAnalysis_);
8007  }
8008  if (((bitField1_ & 0x20000000) != 0)) {
8009  output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
8010  }
8011  if (((bitField0_ & 0x00010000) != 0)) {
8012  output.writeEnum(58, clauseCleanupProtection_);
8013  }
8014  if (((bitField0_ & 0x00020000) != 0)) {
8015  output.writeInt32(59, clauseCleanupLbdBound_);
8016  }
8017  if (((bitField0_ & 0x00040000) != 0)) {
8018  output.writeEnum(60, clauseCleanupOrdering_);
8019  }
8020  for (int i = 0; i < restartAlgorithms_.size(); i++) {
8021  output.writeEnum(61, restartAlgorithms_.get(i));
8022  }
8023  if (((bitField1_ & 0x00000001) != 0)) {
8024  output.writeInt32(62, restartRunningWindowSize_);
8025  }
8026  if (((bitField1_ & 0x00000002) != 0)) {
8027  output.writeDouble(63, restartDlAverageRatio_);
8028  }
8029  if (((bitField1_ & 0x00000008) != 0)) {
8030  output.writeBool(64, useBlockingRestart_);
8031  }
8032  if (((bitField1_ & 0x00000010) != 0)) {
8033  output.writeInt32(65, blockingRestartWindowSize_);
8034  }
8035  if (((bitField1_ & 0x00000020) != 0)) {
8036  output.writeDouble(66, blockingRestartMultiplier_);
8037  }
8038  if (((bitField1_ & 0x00000200) != 0)) {
8039  output.writeDouble(67, maxDeterministicTime_);
8040  }
8041  if (((bitField1_ & 0x00000040) != 0)) {
8042  output.writeInt32(68, numConflictsBeforeStrategyChanges_);
8043  }
8044  if (((bitField1_ & 0x00000080) != 0)) {
8045  output.writeDouble(69, strategyChangeIncreaseRatio_);
8046  }
8047  if (((bitField0_ & 0x40000000) != 0)) {
8048  com.google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
8049  }
8050  if (((bitField1_ & 0x00000004) != 0)) {
8051  output.writeDouble(71, restartLbdAverageRatio_);
8052  }
8053  if (((bitField1_ & 0x80000000) != 0)) {
8054  output.writeBool(72, presolveUseBva_);
8055  }
8056  if (((bitField2_ & 0x00000001) != 0)) {
8057  output.writeInt32(73, presolveBvaThreshold_);
8058  }
8059  if (((bitField2_ & 0x02000000) != 0)) {
8060  output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
8061  }
8062  if (((bitField0_ & 0x00000080) != 0)) {
8063  output.writeBool(75, useErwaHeuristic_);
8064  }
8065  if (((bitField0_ & 0x00000100) != 0)) {
8066  output.writeDouble(76, initialVariablesActivity_);
8067  }
8068  if (((bitField0_ & 0x00000200) != 0)) {
8069  output.writeBool(77, alsoBumpVariablesInConflictReasons_);
8070  }
8071  if (((bitField2_ & 0x04000000) != 0)) {
8072  output.writeBool(78, useOverloadCheckerInCumulativeConstraint_);
8073  }
8074  if (((bitField2_ & 0x08000000) != 0)) {
8075  output.writeBool(79, useTimetableEdgeFindingInCumulativeConstraint_);
8076  }
8077  if (((bitField2_ & 0x10000000) != 0)) {
8078  output.writeBool(80, useDisjunctiveConstraintInCumulativeConstraint_);
8079  }
8080  if (((bitField3_ & 0x00040000) != 0)) {
8081  output.writeEnum(82, searchBranching_);
8082  }
8083  if (((bitField3_ & 0x40000000) != 0)) {
8084  output.writeBool(83, optimizeWithCore_);
8085  }
8086  if (((bitField2_ & 0x00100000) != 0)) {
8087  output.writeBool(84, findMultipleCores_);
8088  }
8089  if (((bitField4_ & 0x00000002) != 0)) {
8090  output.writeBool(85, optimizeWithMaxHs_);
8091  }
8092  if (((bitField2_ & 0x00000004) != 0)) {
8093  output.writeBool(86, cpModelPresolve_);
8094  }
8095  if (((bitField4_ & 0x00000004) != 0)) {
8096  output.writeBool(87, enumerateAllSolutions_);
8097  }
8098  if (((bitField1_ & 0x40000000) != 0)) {
8099  output.writeBool(88, presolveBlockedClause_);
8100  }
8101  if (((bitField2_ & 0x00200000) != 0)) {
8102  output.writeBool(89, coverOptimization_);
8103  }
8104  if (((bitField2_ & 0x20000000) != 0)) {
8105  output.writeInt32(90, linearizationLevel_);
8106  }
8107  if (((bitField3_ & 0x00000001) != 0)) {
8108  output.writeInt32(91, maxNumCuts_);
8109  }
8110  if (((bitField3_ & 0x00000002) != 0)) {
8111  output.writeBool(92, onlyAddCutsAtLevelZero_);
8112  }
8113  if (((bitField2_ & 0x00000040) != 0)) {
8114  output.writeBool(93, cpModelUseSatPresolve_);
8115  }
8116  if (((bitField3_ & 0x00400000) != 0)) {
8117  output.writeBool(94, exploitIntegerLpSolution_);
8118  }
8119  if (((bitField4_ & 0x00000040) != 0)) {
8120  output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
8121  }
8122  if (((bitField0_ & 0x00200000) != 0)) {
8123  output.writeInt32(96, minimizeWithPropagationRestartPeriod_);
8124  }
8125  if (((bitField0_ & 0x00400000) != 0)) {
8126  output.writeInt32(97, minimizeWithPropagationNumDecisions_);
8127  }
8128  if (((bitField4_ & 0x00000080) != 0)) {
8129  output.writeBool(98, stopAfterFirstSolution_);
8130  }
8131  if (((bitField4_ & 0x00000001) != 0)) {
8132  output.writeInt32(99, binarySearchNumConflicts_);
8133  }
8134  if (((bitField4_ & 0x00000200) != 0)) {
8135  output.writeInt32(100, numSearchWorkers_);
8136  }
8137  if (((bitField4_ & 0x00008000) != 0)) {
8138  output.writeBool(101, useLnsOnly_);
8139  }
8140  if (((bitField4_ & 0x01000000) != 0)) {
8141  output.writeBool(103, randomizeSearch_);
8142  }
8143  if (((bitField4_ & 0x02000000) != 0)) {
8144  output.writeInt64(104, searchRandomizationTolerance_);
8145  }
8146  if (((bitField4_ & 0x00010000) != 0)) {
8147  output.writeBool(105, lnsFocusOnDecisionVariables_);
8148  }
8149  if (((bitField4_ & 0x00000020) != 0)) {
8150  output.writeBool(106, instantiateAllVariables_);
8151  }
8152  if (((bitField2_ & 0x40000000) != 0)) {
8153  output.writeInt32(107, booleanEncodingLevel_);
8154  }
8155  if (((bitField4_ & 0x04000000) != 0)) {
8156  output.writeBool(108, useOptionalVariables_);
8157  }
8158  if (((bitField4_ & 0x08000000) != 0)) {
8159  output.writeBool(109, useExactLpReason_);
8160  }
8161  if (((bitField2_ & 0x00000020) != 0)) {
8162  output.writeInt32(110, cpModelProbingLevel_);
8163  }
8164  if (((bitField3_ & 0x00000004) != 0)) {
8165  output.writeBool(111, addKnapsackCuts_);
8166  }
8167  if (((bitField3_ & 0x00000400) != 0)) {
8168  output.writeBool(112, addLpConstraintsLazily_);
8169  }
8170  if (((bitField4_ & 0x00002000) != 0)) {
8171  output.writeBool(113, shareObjectiveBounds_);
8172  }
8173  if (((bitField4_ & 0x00004000) != 0)) {
8174  output.writeBool(114, shareLevelZeroBounds_);
8175  }
8176  if (((bitField3_ & 0x00000800) != 0)) {
8177  output.writeDouble(115, minOrthogonalityForLpConstraints_);
8178  }
8179  if (((bitField3_ & 0x00800000) != 0)) {
8180  output.writeBool(116, exploitAllLpSolution_);
8181  }
8182  if (((bitField3_ & 0x00000008) != 0)) {
8183  output.writeBool(117, addCgCuts_);
8184  }
8185  if (((bitField3_ & 0x00000200) != 0)) {
8186  output.writeInt32(119, maxIntegerRoundingScaling_);
8187  }
8188  if (((bitField3_ & 0x00000010) != 0)) {
8189  output.writeBool(120, addMirCuts_);
8190  }
8191  if (((bitField3_ & 0x00002000) != 0)) {
8192  output.writeInt32(121, maxConsecutiveInactiveCount_);
8193  }
8194  if (((bitField3_ & 0x00020000) != 0)) {
8195  output.writeInt32(122, newConstraintsBatchSize_);
8196  }
8197  if (((bitField3_ & 0x20000000) != 0)) {
8198  output.writeInt64(123, pseudoCostReliabilityThreshold_);
8199  }
8200  if (((bitField5_ & 0x00000008) != 0)) {
8201  output.writeDouble(124, mipMaxBound_);
8202  }
8203  if (((bitField5_ & 0x00000010) != 0)) {
8204  output.writeDouble(125, mipVarScaling_);
8205  }
8206  if (((bitField5_ & 0x00000040) != 0)) {
8207  output.writeDouble(126, mipWantedPrecision_);
8208  }
8209  if (((bitField5_ & 0x00000080) != 0)) {
8210  output.writeInt32(127, mipMaxActivityExponent_);
8211  }
8212  if (((bitField5_ & 0x00000100) != 0)) {
8213  output.writeDouble(128, mipCheckPrecision_);
8214  }
8215  if (((bitField4_ & 0x00080000) != 0)) {
8216  output.writeBool(129, useRinsLns_);
8217  }
8218  if (((bitField3_ & 0x01000000) != 0)) {
8219  output.writeBool(130, exploitBestSolution_);
8220  }
8221  if (((bitField3_ & 0x04000000) != 0)) {
8222  output.writeBool(131, exploitObjective_);
8223  }
8224  if (((bitField4_ & 0x00000010) != 0)) {
8225  output.writeBool(132, fillTightenedDomainsInResponse_);
8226  }
8227  if (((bitField4_ & 0x20000000) != 0)) {
8228  output.writeBool(133, useCombinedNoOverlap_);
8229  }
8230  if (((bitField4_ & 0x00000800) != 0)) {
8231  output.writeInt32(134, interleaveBatchSize_);
8232  }
8233  if (((bitField4_ & 0x40000000) != 0)) {
8234  output.writeBool(135, catchSigintSignal_);
8235  }
8236  if (((bitField4_ & 0x00000400) != 0)) {
8237  output.writeBool(136, interleaveSearch_);
8238  }
8239  if (((bitField4_ & 0x00800000) != 0)) {
8240  output.writeBool(137, diversifyLnsParams_);
8241  }
8242  if (((bitField2_ & 0x00000002) != 0)) {
8243  output.writeInt32(138, maxPresolveIterations_);
8244  }
8245  if (((bitField4_ & 0x10000000) != 0)) {
8246  output.writeBool(139, useBranchingInLp_);
8247  }
8248  if (((bitField2_ & 0x00000100) != 0)) {
8249  output.writeBool(140, expandElementConstraints_);
8250  }
8251  if (((bitField4_ & 0x00001000) != 0)) {
8252  output.writeBool(141, reduceMemoryUsageInInterleaveMode_);
8253  }
8254  if (((bitField3_ & 0x08000000) != 0)) {
8255  output.writeInt64(142, probingPeriodAtRoot_);
8256  }
8257  if (((bitField2_ & 0x00000200) != 0)) {
8258  output.writeBool(143, expandAutomatonConstraints_);
8259  }
8260  if (((bitField4_ & 0x80000000) != 0)) {
8261  output.writeBool(144, useImpliedBounds_);
8262  }
8263  if (((bitField2_ & 0x00004000) != 0)) {
8264  output.writeDouble(145, mergeNoOverlapWorkLimit_);
8265  }
8266  if (((bitField2_ & 0x00008000) != 0)) {
8267  output.writeDouble(146, mergeAtMostOneWorkLimit_);
8268  }
8269  if (((bitField2_ & 0x00010000) != 0)) {
8270  output.writeInt32(147, presolveSubstitutionLevel_);
8271  }
8272  if (((bitField3_ & 0x00000080) != 0)) {
8273  output.writeInt32(148, maxAllDiffCutSize_);
8274  }
8275  if (((bitField4_ & 0x00000100) != 0)) {
8276  output.writeBool(149, stopAfterPresolve_);
8277  }
8278  if (((bitField4_ & 0x00400000) != 0)) {
8279  output.writeBool(150, useRelaxationLns_);
8280  }
8281  if (((bitField2_ & 0x00000010) != 0)) {
8282  output.writeInt32(151, cpModelMaxNumPresolveOperations_);
8283  }
8284  if (((bitField3_ & 0x00000100) != 0)) {
8285  output.writeBool(152, addLinMaxCuts_);
8286  }
8287  if (((bitField3_ & 0x00080000) != 0)) {
8288  output.writeInt32(153, hintConflictLimit_);
8289  }
8290  if (((bitField3_ & 0x00001000) != 0)) {
8291  output.writeInt32(154, maxCutRoundsAtLevelZero_);
8292  }
8293  if (((bitField3_ & 0x00004000) != 0)) {
8294  output.writeDouble(155, cutMaxActiveCountValue_);
8295  }
8296  if (((bitField3_ & 0x00008000) != 0)) {
8297  output.writeDouble(156, cutActiveCountDecay_);
8298  }
8299  if (((bitField3_ & 0x00010000) != 0)) {
8300  output.writeInt32(157, cutCleanupTarget_);
8301  }
8302  if (((bitField2_ & 0x00000400) != 0)) {
8303  output.writeBool(158, expandTableConstraints_);
8304  }
8305  if (((bitField1_ & 0x00001000) != 0)) {
8306  output.writeDouble(159, absoluteGapLimit_);
8307  }
8308  if (((bitField1_ & 0x00002000) != 0)) {
8309  output.writeDouble(160, relativeGapLimit_);
8310  }
8311  if (((bitField3_ & 0x02000000) != 0)) {
8312  output.writeBool(161, exploitRelaxationSolution_);
8313  }
8314  if (((bitField2_ & 0x00000008) != 0)) {
8315  output.writeBool(162, cpModelPostsolveWithFullSolver_);
8316  }
8317  if (((bitField2_ & 0x00000080) != 0)) {
8318  output.writeBool(163, useSatInprocessing_);
8319  }
8320  if (((bitField4_ & 0x00100000) != 0)) {
8321  output.writeBool(164, useFeasibilityPump_);
8322  }
8323  if (((bitField4_ & 0x00200000) != 0)) {
8324  output.writeEnum(165, fpRounding_);
8325  }
8326  if (((bitField5_ & 0x00000020) != 0)) {
8327  output.writeBool(166, mipAutomaticallyScaleVariables_);
8328  }
8329  if (((bitField3_ & 0x00100000) != 0)) {
8330  output.writeBool(167, repairHint_);
8331  }
8332  if (((bitField0_ & 0x00000010) != 0)) {
8333  output.writeInt32(168, polarityRephaseIncrement_);
8334  }
8335  if (((bitField3_ & 0x00000020) != 0)) {
8336  output.writeBool(169, addZeroHalfCuts_);
8337  }
8338  if (((bitField2_ & 0x00000800) != 0)) {
8339  output.writeBool(170, expandAlldiffConstraints_);
8340  }
8341  if (((bitField0_ & 0x00000001) != 0)) {
8342  com.google.protobuf.GeneratedMessageV3.writeString(output, 171, name_);
8343  }
8344  if (((bitField3_ & 0x00000040) != 0)) {
8345  output.writeBool(172, addCliqueCuts_);
8346  }
8347  if (((bitField4_ & 0x00000008) != 0)) {
8348  output.writeBool(173, keepAllFeasibleSolutionsInPresolve_);
8349  }
8350  if (((bitField2_ & 0x00020000) != 0)) {
8351  output.writeBool(174, presolveExtractIntegerEnforcement_);
8352  }
8353  if (((bitField5_ & 0x00000001) != 0)) {
8354  output.writeBool(175, polishLpSolution_);
8355  }
8356  if (((bitField3_ & 0x10000000) != 0)) {
8357  output.writeBool(176, useProbingSearch_);
8358  }
8359  if (((bitField5_ & 0x00000002) != 0)) {
8360  output.writeBool(177, convertIntervals_);
8361  }
8362  if (((bitField1_ & 0x00010000) != 0)) {
8363  output.writeBool(178, permuteVariableRandomly_);
8364  }
8365  if (((bitField1_ & 0x00020000) != 0)) {
8366  output.writeBool(179, permutePresolveConstraintOrder_);
8367  }
8368  if (((bitField1_ & 0x00040000) != 0)) {
8369  output.writeBool(180, useAbslRandom_);
8370  }
8371  if (((bitField2_ & 0x00002000) != 0)) {
8372  output.writeBool(181, disableConstraintExpansion_);
8373  }
8374  if (((bitField2_ & 0x00001000) != 0)) {
8375  output.writeBool(182, expandReservoirConstraints_);
8376  }
8377  if (((bitField5_ & 0x00000004) != 0)) {
8378  output.writeInt32(183, symmetryLevel_);
8379  }
8380  if (((bitField4_ & 0x00020000) != 0)) {
8381  output.writeBool(184, lnsExpandIntervalsInConstraintGraph_);
8382  }
8383  if (((bitField1_ & 0x00200000) != 0)) {
8384  com.google.protobuf.GeneratedMessageV3.writeString(output, 185, logPrefix_);
8385  }
8386  if (((bitField1_ & 0x00400000) != 0)) {
8387  output.writeBool(186, logToStdout_);
8388  }
8389  if (((bitField1_ & 0x00800000) != 0)) {
8390  output.writeBool(187, logToResponse_);
8391  }
8392  if (((bitField3_ & 0x80000000) != 0)) {
8393  output.writeBool(188, optimizeWithLbTreeSearch_);
8394  }
8395  if (((bitField1_ & 0x00100000) != 0)) {
8396  output.writeBool(189, logSubsolverStatistics_);
8397  }
8398  if (((bitField0_ & 0x00008000) != 0)) {
8399  output.writeDouble(190, clauseCleanupRatio_);
8400  }
8401  if (((bitField2_ & 0x80000000) != 0)) {
8402  output.writeInt32(191, maxDomainSizeWhenEncodingEqNeqConstraints_);
8403  }
8404  if (((bitField3_ & 0x00200000) != 0)) {
8405  output.writeBool(192, fixVariablesToTheirHintedValue_);
8406  }
8407  if (((bitField4_ & 0x00040000) != 0)) {
8408  output.writeInt32(193, solutionPoolSize_);
8409  }
8410  unknownFields.writeTo(output);
8411  }
8412 
8413  @java.lang.Override
8414  public int getSerializedSize() {
8415  int size = memoizedSize;
8416  if (size != -1) return size;
8417 
8418  size = 0;
8419  if (((bitField0_ & 0x00000002) != 0)) {
8420  size += com.google.protobuf.CodedOutputStream
8421  .computeEnumSize(1, preferredVariableOrder_);
8422  }
8423  if (((bitField0_ & 0x00000004) != 0)) {
8424  size += com.google.protobuf.CodedOutputStream
8425  .computeEnumSize(2, initialPolarity_);
8426  }
8427  if (((bitField0_ & 0x00000400) != 0)) {
8428  size += com.google.protobuf.CodedOutputStream
8429  .computeEnumSize(4, minimizationAlgorithm_);
8430  }
8431  if (((bitField0_ & 0x00002000) != 0)) {
8432  size += com.google.protobuf.CodedOutputStream
8433  .computeInt32Size(11, clauseCleanupPeriod_);
8434  }
8435  if (((bitField0_ & 0x00004000) != 0)) {
8436  size += com.google.protobuf.CodedOutputStream
8437  .computeInt32Size(13, clauseCleanupTarget_);
8438  }
8439  if (((bitField0_ & 0x00800000) != 0)) {
8440  size += com.google.protobuf.CodedOutputStream
8441  .computeDoubleSize(15, variableActivityDecay_);
8442  }
8443  if (((bitField0_ & 0x01000000) != 0)) {
8444  size += com.google.protobuf.CodedOutputStream
8445  .computeDoubleSize(16, maxVariableActivityValue_);
8446  }
8447  if (((bitField0_ & 0x10000000) != 0)) {
8448  size += com.google.protobuf.CodedOutputStream
8449  .computeDoubleSize(17, clauseActivityDecay_);
8450  }
8451  if (((bitField0_ & 0x20000000) != 0)) {
8452  size += com.google.protobuf.CodedOutputStream
8453  .computeDoubleSize(18, maxClauseActivityValue_);
8454  }
8455  if (((bitField0_ & 0x02000000) != 0)) {
8456  size += com.google.protobuf.CodedOutputStream
8457  .computeDoubleSize(22, glucoseMaxDecay_);
8458  }
8459  if (((bitField0_ & 0x04000000) != 0)) {
8460  size += com.google.protobuf.CodedOutputStream
8461  .computeDoubleSize(23, glucoseDecayIncrement_);
8462  }
8463  if (((bitField0_ & 0x08000000) != 0)) {
8464  size += com.google.protobuf.CodedOutputStream
8465  .computeInt32Size(24, glucoseDecayIncrementPeriod_);
8466  }
8467  if (((bitField0_ & 0x80000000) != 0)) {
8468  size += com.google.protobuf.CodedOutputStream
8469  .computeInt32Size(30, restartPeriod_);
8470  }
8471  if (((bitField1_ & 0x00008000) != 0)) {
8472  size += com.google.protobuf.CodedOutputStream
8473  .computeInt32Size(31, randomSeed_);
8474  }
8475  if (((bitField0_ & 0x00000040) != 0)) {
8476  size += com.google.protobuf.CodedOutputStream
8477  .computeDoubleSize(32, randomBranchesRatio_);
8478  }
8479  if (((bitField1_ & 0x00004000) != 0)) {
8480  size += com.google.protobuf.CodedOutputStream
8481  .computeBoolSize(33, treatBinaryClausesSeparately_);
8482  }
8483  if (((bitField0_ & 0x00000800) != 0)) {
8484  size += com.google.protobuf.CodedOutputStream
8485  .computeEnumSize(34, binaryMinimizationAlgorithm_);
8486  }
8487  if (((bitField2_ & 0x00040000) != 0)) {
8488  size += com.google.protobuf.CodedOutputStream
8489  .computeBoolSize(35, useOptimizationHints_);
8490  }
8491  if (((bitField1_ & 0x00000100) != 0)) {
8492  size += com.google.protobuf.CodedOutputStream
8493  .computeDoubleSize(36, maxTimeInSeconds_);
8494  }
8495  if (((bitField1_ & 0x00000400) != 0)) {
8496  size += com.google.protobuf.CodedOutputStream
8497  .computeInt64Size(37, maxNumberOfConflicts_);
8498  }
8499  if (((bitField1_ & 0x00000800) != 0)) {
8500  size += com.google.protobuf.CodedOutputStream
8501  .computeInt64Size(40, maxMemoryInMb_);
8502  }
8503  if (((bitField1_ & 0x00080000) != 0)) {
8504  size += com.google.protobuf.CodedOutputStream
8505  .computeBoolSize(41, logSearchProgress_);
8506  }
8507  if (((bitField1_ & 0x01000000) != 0)) {
8508  size += com.google.protobuf.CodedOutputStream
8509  .computeBoolSize(43, usePbResolution_);
8510  }
8511  if (((bitField0_ & 0x00000008) != 0)) {
8512  size += com.google.protobuf.CodedOutputStream
8513  .computeBoolSize(44, usePhaseSaving_);
8514  }
8515  if (((bitField0_ & 0x00000020) != 0)) {
8516  size += com.google.protobuf.CodedOutputStream
8517  .computeDoubleSize(45, randomPolarityRatio_);
8518  }
8519  if (((bitField0_ & 0x00080000) != 0)) {
8520  size += com.google.protobuf.CodedOutputStream
8521  .computeInt32Size(46, pbCleanupIncrement_);
8522  }
8523  if (((bitField0_ & 0x00100000) != 0)) {
8524  size += com.google.protobuf.CodedOutputStream
8525  .computeDoubleSize(47, pbCleanupRatio_);
8526  }
8527  if (((bitField1_ & 0x02000000) != 0)) {
8528  size += com.google.protobuf.CodedOutputStream
8529  .computeBoolSize(48, minimizeReductionDuringPbResolution_);
8530  }
8531  if (((bitField1_ & 0x04000000) != 0)) {
8532  size += com.google.protobuf.CodedOutputStream
8533  .computeBoolSize(49, countAssumptionLevelsInLbd_);
8534  }
8535  if (((bitField2_ & 0x00080000) != 0)) {
8536  size += com.google.protobuf.CodedOutputStream
8537  .computeBoolSize(50, minimizeCore_);
8538  }
8539  if (((bitField2_ & 0x00400000) != 0)) {
8540  size += com.google.protobuf.CodedOutputStream
8541  .computeEnumSize(51, maxSatAssumptionOrder_);
8542  }
8543  if (((bitField2_ & 0x00800000) != 0)) {
8544  size += com.google.protobuf.CodedOutputStream
8545  .computeBoolSize(52, maxSatReverseAssumptionOrder_);
8546  }
8547  if (((bitField2_ & 0x01000000) != 0)) {
8548  size += com.google.protobuf.CodedOutputStream
8549  .computeEnumSize(53, maxSatStratification_);
8550  }
8551  if (((bitField1_ & 0x08000000) != 0)) {
8552  size += com.google.protobuf.CodedOutputStream
8553  .computeInt32Size(54, presolveBveThreshold_);
8554  }
8555  if (((bitField1_ & 0x10000000) != 0)) {
8556  size += com.google.protobuf.CodedOutputStream
8557  .computeInt32Size(55, presolveBveClauseWeight_);
8558  }
8559  if (((bitField0_ & 0x00001000) != 0)) {
8560  size += com.google.protobuf.CodedOutputStream
8561  .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
8562  }
8563  if (((bitField1_ & 0x20000000) != 0)) {
8564  size += com.google.protobuf.CodedOutputStream
8565  .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
8566  }
8567  if (((bitField0_ & 0x00010000) != 0)) {
8568  size += com.google.protobuf.CodedOutputStream
8569  .computeEnumSize(58, clauseCleanupProtection_);
8570  }
8571  if (((bitField0_ & 0x00020000) != 0)) {
8572  size += com.google.protobuf.CodedOutputStream
8573  .computeInt32Size(59, clauseCleanupLbdBound_);
8574  }
8575  if (((bitField0_ & 0x00040000) != 0)) {
8576  size += com.google.protobuf.CodedOutputStream
8577  .computeEnumSize(60, clauseCleanupOrdering_);
8578  }
8579  {
8580  int dataSize = 0;
8581  for (int i = 0; i < restartAlgorithms_.size(); i++) {
8582  dataSize += com.google.protobuf.CodedOutputStream
8583  .computeEnumSizeNoTag(restartAlgorithms_.get(i));
8584  }
8585  size += dataSize;
8586  size += 2 * restartAlgorithms_.size();
8587  }
8588  if (((bitField1_ & 0x00000001) != 0)) {
8589  size += com.google.protobuf.CodedOutputStream
8590  .computeInt32Size(62, restartRunningWindowSize_);
8591  }
8592  if (((bitField1_ & 0x00000002) != 0)) {
8593  size += com.google.protobuf.CodedOutputStream
8594  .computeDoubleSize(63, restartDlAverageRatio_);
8595  }
8596  if (((bitField1_ & 0x00000008) != 0)) {
8597  size += com.google.protobuf.CodedOutputStream
8598  .computeBoolSize(64, useBlockingRestart_);
8599  }
8600  if (((bitField1_ & 0x00000010) != 0)) {
8601  size += com.google.protobuf.CodedOutputStream
8602  .computeInt32Size(65, blockingRestartWindowSize_);
8603  }
8604  if (((bitField1_ & 0x00000020) != 0)) {
8605  size += com.google.protobuf.CodedOutputStream
8606  .computeDoubleSize(66, blockingRestartMultiplier_);
8607  }
8608  if (((bitField1_ & 0x00000200) != 0)) {
8609  size += com.google.protobuf.CodedOutputStream
8610  .computeDoubleSize(67, maxDeterministicTime_);
8611  }
8612  if (((bitField1_ & 0x00000040) != 0)) {
8613  size += com.google.protobuf.CodedOutputStream
8614  .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
8615  }
8616  if (((bitField1_ & 0x00000080) != 0)) {
8617  size += com.google.protobuf.CodedOutputStream
8618  .computeDoubleSize(69, strategyChangeIncreaseRatio_);
8619  }
8620  if (((bitField0_ & 0x40000000) != 0)) {
8621  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
8622  }
8623  if (((bitField1_ & 0x00000004) != 0)) {
8624  size += com.google.protobuf.CodedOutputStream
8625  .computeDoubleSize(71, restartLbdAverageRatio_);
8626  }
8627  if (((bitField1_ & 0x80000000) != 0)) {
8628  size += com.google.protobuf.CodedOutputStream
8629  .computeBoolSize(72, presolveUseBva_);
8630  }
8631  if (((bitField2_ & 0x00000001) != 0)) {
8632  size += com.google.protobuf.CodedOutputStream
8633  .computeInt32Size(73, presolveBvaThreshold_);
8634  }
8635  if (((bitField2_ & 0x02000000) != 0)) {
8636  size += com.google.protobuf.CodedOutputStream
8637  .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
8638  }
8639  if (((bitField0_ & 0x00000080) != 0)) {
8640  size += com.google.protobuf.CodedOutputStream
8641  .computeBoolSize(75, useErwaHeuristic_);
8642  }
8643  if (((bitField0_ & 0x00000100) != 0)) {
8644  size += com.google.protobuf.CodedOutputStream
8645  .computeDoubleSize(76, initialVariablesActivity_);
8646  }
8647  if (((bitField0_ & 0x00000200) != 0)) {
8648  size += com.google.protobuf.CodedOutputStream
8649  .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
8650  }
8651  if (((bitField2_ & 0x04000000) != 0)) {
8652  size += com.google.protobuf.CodedOutputStream
8653  .computeBoolSize(78, useOverloadCheckerInCumulativeConstraint_);
8654  }
8655  if (((bitField2_ & 0x08000000) != 0)) {
8656  size += com.google.protobuf.CodedOutputStream
8657  .computeBoolSize(79, useTimetableEdgeFindingInCumulativeConstraint_);
8658  }
8659  if (((bitField2_ & 0x10000000) != 0)) {
8660  size += com.google.protobuf.CodedOutputStream
8661  .computeBoolSize(80, useDisjunctiveConstraintInCumulativeConstraint_);
8662  }
8663  if (((bitField3_ & 0x00040000) != 0)) {
8664  size += com.google.protobuf.CodedOutputStream
8665  .computeEnumSize(82, searchBranching_);
8666  }
8667  if (((bitField3_ & 0x40000000) != 0)) {
8668  size += com.google.protobuf.CodedOutputStream
8669  .computeBoolSize(83, optimizeWithCore_);
8670  }
8671  if (((bitField2_ & 0x00100000) != 0)) {
8672  size += com.google.protobuf.CodedOutputStream
8673  .computeBoolSize(84, findMultipleCores_);
8674  }
8675  if (((bitField4_ & 0x00000002) != 0)) {
8676  size += com.google.protobuf.CodedOutputStream
8677  .computeBoolSize(85, optimizeWithMaxHs_);
8678  }
8679  if (((bitField2_ & 0x00000004) != 0)) {
8680  size += com.google.protobuf.CodedOutputStream
8681  .computeBoolSize(86, cpModelPresolve_);
8682  }
8683  if (((bitField4_ & 0x00000004) != 0)) {
8684  size += com.google.protobuf.CodedOutputStream
8685  .computeBoolSize(87, enumerateAllSolutions_);
8686  }
8687  if (((bitField1_ & 0x40000000) != 0)) {
8688  size += com.google.protobuf.CodedOutputStream
8689  .computeBoolSize(88, presolveBlockedClause_);
8690  }
8691  if (((bitField2_ & 0x00200000) != 0)) {
8692  size += com.google.protobuf.CodedOutputStream
8693  .computeBoolSize(89, coverOptimization_);
8694  }
8695  if (((bitField2_ & 0x20000000) != 0)) {
8696  size += com.google.protobuf.CodedOutputStream
8697  .computeInt32Size(90, linearizationLevel_);
8698  }
8699  if (((bitField3_ & 0x00000001) != 0)) {
8700  size += com.google.protobuf.CodedOutputStream
8701  .computeInt32Size(91, maxNumCuts_);
8702  }
8703  if (((bitField3_ & 0x00000002) != 0)) {
8704  size += com.google.protobuf.CodedOutputStream
8705  .computeBoolSize(92, onlyAddCutsAtLevelZero_);
8706  }
8707  if (((bitField2_ & 0x00000040) != 0)) {
8708  size += com.google.protobuf.CodedOutputStream
8709  .computeBoolSize(93, cpModelUseSatPresolve_);
8710  }
8711  if (((bitField3_ & 0x00400000) != 0)) {
8712  size += com.google.protobuf.CodedOutputStream
8713  .computeBoolSize(94, exploitIntegerLpSolution_);
8714  }
8715  if (((bitField4_ & 0x00000040) != 0)) {
8716  size += com.google.protobuf.CodedOutputStream
8717  .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
8718  }
8719  if (((bitField0_ & 0x00200000) != 0)) {
8720  size += com.google.protobuf.CodedOutputStream
8721  .computeInt32Size(96, minimizeWithPropagationRestartPeriod_);
8722  }
8723  if (((bitField0_ & 0x00400000) != 0)) {
8724  size += com.google.protobuf.CodedOutputStream
8725  .computeInt32Size(97, minimizeWithPropagationNumDecisions_);
8726  }
8727  if (((bitField4_ & 0x00000080) != 0)) {
8728  size += com.google.protobuf.CodedOutputStream
8729  .computeBoolSize(98, stopAfterFirstSolution_);
8730  }
8731  if (((bitField4_ & 0x00000001) != 0)) {
8732  size += com.google.protobuf.CodedOutputStream
8733  .computeInt32Size(99, binarySearchNumConflicts_);
8734  }
8735  if (((bitField4_ & 0x00000200) != 0)) {
8736  size += com.google.protobuf.CodedOutputStream
8737  .computeInt32Size(100, numSearchWorkers_);
8738  }
8739  if (((bitField4_ & 0x00008000) != 0)) {
8740  size += com.google.protobuf.CodedOutputStream
8741  .computeBoolSize(101, useLnsOnly_);
8742  }
8743  if (((bitField4_ & 0x01000000) != 0)) {
8744  size += com.google.protobuf.CodedOutputStream
8745  .computeBoolSize(103, randomizeSearch_);
8746  }
8747  if (((bitField4_ & 0x02000000) != 0)) {
8748  size += com.google.protobuf.CodedOutputStream
8749  .computeInt64Size(104, searchRandomizationTolerance_);
8750  }
8751  if (((bitField4_ & 0x00010000) != 0)) {
8752  size += com.google.protobuf.CodedOutputStream
8753  .computeBoolSize(105, lnsFocusOnDecisionVariables_);
8754  }
8755  if (((bitField4_ & 0x00000020) != 0)) {
8756  size += com.google.protobuf.CodedOutputStream
8757  .computeBoolSize(106, instantiateAllVariables_);
8758  }
8759  if (((bitField2_ & 0x40000000) != 0)) {
8760  size += com.google.protobuf.CodedOutputStream
8761  .computeInt32Size(107, booleanEncodingLevel_);
8762  }
8763  if (((bitField4_ & 0x04000000) != 0)) {
8764  size += com.google.protobuf.CodedOutputStream
8765  .computeBoolSize(108, useOptionalVariables_);
8766  }
8767  if (((bitField4_ & 0x08000000) != 0)) {
8768  size += com.google.protobuf.CodedOutputStream
8769  .computeBoolSize(109, useExactLpReason_);
8770  }
8771  if (((bitField2_ & 0x00000020) != 0)) {
8772  size += com.google.protobuf.CodedOutputStream
8773  .computeInt32Size(110, cpModelProbingLevel_);
8774  }
8775  if (((bitField3_ & 0x00000004) != 0)) {
8776  size += com.google.protobuf.CodedOutputStream
8777  .computeBoolSize(111, addKnapsackCuts_);
8778  }
8779  if (((bitField3_ & 0x00000400) != 0)) {
8780  size += com.google.protobuf.CodedOutputStream
8781  .computeBoolSize(112, addLpConstraintsLazily_);
8782  }
8783  if (((bitField4_ & 0x00002000) != 0)) {
8784  size += com.google.protobuf.CodedOutputStream
8785  .computeBoolSize(113, shareObjectiveBounds_);
8786  }
8787  if (((bitField4_ & 0x00004000) != 0)) {
8788  size += com.google.protobuf.CodedOutputStream
8789  .computeBoolSize(114, shareLevelZeroBounds_);
8790  }
8791  if (((bitField3_ & 0x00000800) != 0)) {
8792  size += com.google.protobuf.CodedOutputStream
8793  .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
8794  }
8795  if (((bitField3_ & 0x00800000) != 0)) {
8796  size += com.google.protobuf.CodedOutputStream
8797  .computeBoolSize(116, exploitAllLpSolution_);
8798  }
8799  if (((bitField3_ & 0x00000008) != 0)) {
8800  size += com.google.protobuf.CodedOutputStream
8801  .computeBoolSize(117, addCgCuts_);
8802  }
8803  if (((bitField3_ & 0x00000200) != 0)) {
8804  size += com.google.protobuf.CodedOutputStream
8805  .computeInt32Size(119, maxIntegerRoundingScaling_);
8806  }
8807  if (((bitField3_ & 0x00000010) != 0)) {
8808  size += com.google.protobuf.CodedOutputStream
8809  .computeBoolSize(120, addMirCuts_);
8810  }
8811  if (((bitField3_ & 0x00002000) != 0)) {
8812  size += com.google.protobuf.CodedOutputStream
8813  .computeInt32Size(121, maxConsecutiveInactiveCount_);
8814  }
8815  if (((bitField3_ & 0x00020000) != 0)) {
8816  size += com.google.protobuf.CodedOutputStream
8817  .computeInt32Size(122, newConstraintsBatchSize_);
8818  }
8819  if (((bitField3_ & 0x20000000) != 0)) {
8820  size += com.google.protobuf.CodedOutputStream
8821  .computeInt64Size(123, pseudoCostReliabilityThreshold_);
8822  }
8823  if (((bitField5_ & 0x00000008) != 0)) {
8824  size += com.google.protobuf.CodedOutputStream
8825  .computeDoubleSize(124, mipMaxBound_);
8826  }
8827  if (((bitField5_ & 0x00000010) != 0)) {
8828  size += com.google.protobuf.CodedOutputStream
8829  .computeDoubleSize(125, mipVarScaling_);
8830  }
8831  if (((bitField5_ & 0x00000040) != 0)) {
8832  size += com.google.protobuf.CodedOutputStream
8833  .computeDoubleSize(126, mipWantedPrecision_);
8834  }
8835  if (((bitField5_ & 0x00000080) != 0)) {
8836  size += com.google.protobuf.CodedOutputStream
8837  .computeInt32Size(127, mipMaxActivityExponent_);
8838  }
8839  if (((bitField5_ & 0x00000100) != 0)) {
8840  size += com.google.protobuf.CodedOutputStream
8841  .computeDoubleSize(128, mipCheckPrecision_);
8842  }
8843  if (((bitField4_ & 0x00080000) != 0)) {
8844  size += com.google.protobuf.CodedOutputStream
8845  .computeBoolSize(129, useRinsLns_);
8846  }
8847  if (((bitField3_ & 0x01000000) != 0)) {
8848  size += com.google.protobuf.CodedOutputStream
8849  .computeBoolSize(130, exploitBestSolution_);
8850  }
8851  if (((bitField3_ & 0x04000000) != 0)) {
8852  size += com.google.protobuf.CodedOutputStream
8853  .computeBoolSize(131, exploitObjective_);
8854  }
8855  if (((bitField4_ & 0x00000010) != 0)) {
8856  size += com.google.protobuf.CodedOutputStream
8857  .computeBoolSize(132, fillTightenedDomainsInResponse_);
8858  }
8859  if (((bitField4_ & 0x20000000) != 0)) {
8860  size += com.google.protobuf.CodedOutputStream
8861  .computeBoolSize(133, useCombinedNoOverlap_);
8862  }
8863  if (((bitField4_ & 0x00000800) != 0)) {
8864  size += com.google.protobuf.CodedOutputStream
8865  .computeInt32Size(134, interleaveBatchSize_);
8866  }
8867  if (((bitField4_ & 0x40000000) != 0)) {
8868  size += com.google.protobuf.CodedOutputStream
8869  .computeBoolSize(135, catchSigintSignal_);
8870  }
8871  if (((bitField4_ & 0x00000400) != 0)) {
8872  size += com.google.protobuf.CodedOutputStream
8873  .computeBoolSize(136, interleaveSearch_);
8874  }
8875  if (((bitField4_ & 0x00800000) != 0)) {
8876  size += com.google.protobuf.CodedOutputStream
8877  .computeBoolSize(137, diversifyLnsParams_);
8878  }
8879  if (((bitField2_ & 0x00000002) != 0)) {
8880  size += com.google.protobuf.CodedOutputStream
8881  .computeInt32Size(138, maxPresolveIterations_);
8882  }
8883  if (((bitField4_ & 0x10000000) != 0)) {
8884  size += com.google.protobuf.CodedOutputStream
8885  .computeBoolSize(139, useBranchingInLp_);
8886  }
8887  if (((bitField2_ & 0x00000100) != 0)) {
8888  size += com.google.protobuf.CodedOutputStream
8889  .computeBoolSize(140, expandElementConstraints_);
8890  }
8891  if (((bitField4_ & 0x00001000) != 0)) {
8892  size += com.google.protobuf.CodedOutputStream
8893  .computeBoolSize(141, reduceMemoryUsageInInterleaveMode_);
8894  }
8895  if (((bitField3_ & 0x08000000) != 0)) {
8896  size += com.google.protobuf.CodedOutputStream
8897  .computeInt64Size(142, probingPeriodAtRoot_);
8898  }
8899  if (((bitField2_ & 0x00000200) != 0)) {
8900  size += com.google.protobuf.CodedOutputStream
8901  .computeBoolSize(143, expandAutomatonConstraints_);
8902  }
8903  if (((bitField4_ & 0x80000000) != 0)) {
8904  size += com.google.protobuf.CodedOutputStream
8905  .computeBoolSize(144, useImpliedBounds_);
8906  }
8907  if (((bitField2_ & 0x00004000) != 0)) {
8908  size += com.google.protobuf.CodedOutputStream
8909  .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
8910  }
8911  if (((bitField2_ & 0x00008000) != 0)) {
8912  size += com.google.protobuf.CodedOutputStream
8913  .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
8914  }
8915  if (((bitField2_ & 0x00010000) != 0)) {
8916  size += com.google.protobuf.CodedOutputStream
8917  .computeInt32Size(147, presolveSubstitutionLevel_);
8918  }
8919  if (((bitField3_ & 0x00000080) != 0)) {
8920  size += com.google.protobuf.CodedOutputStream
8921  .computeInt32Size(148, maxAllDiffCutSize_);
8922  }
8923  if (((bitField4_ & 0x00000100) != 0)) {
8924  size += com.google.protobuf.CodedOutputStream
8925  .computeBoolSize(149, stopAfterPresolve_);
8926  }
8927  if (((bitField4_ & 0x00400000) != 0)) {
8928  size += com.google.protobuf.CodedOutputStream
8929  .computeBoolSize(150, useRelaxationLns_);
8930  }
8931  if (((bitField2_ & 0x00000010) != 0)) {
8932  size += com.google.protobuf.CodedOutputStream
8933  .computeInt32Size(151, cpModelMaxNumPresolveOperations_);
8934  }
8935  if (((bitField3_ & 0x00000100) != 0)) {
8936  size += com.google.protobuf.CodedOutputStream
8937  .computeBoolSize(152, addLinMaxCuts_);
8938  }
8939  if (((bitField3_ & 0x00080000) != 0)) {
8940  size += com.google.protobuf.CodedOutputStream
8941  .computeInt32Size(153, hintConflictLimit_);
8942  }
8943  if (((bitField3_ & 0x00001000) != 0)) {
8944  size += com.google.protobuf.CodedOutputStream
8945  .computeInt32Size(154, maxCutRoundsAtLevelZero_);
8946  }
8947  if (((bitField3_ & 0x00004000) != 0)) {
8948  size += com.google.protobuf.CodedOutputStream
8949  .computeDoubleSize(155, cutMaxActiveCountValue_);
8950  }
8951  if (((bitField3_ & 0x00008000) != 0)) {
8952  size += com.google.protobuf.CodedOutputStream
8953  .computeDoubleSize(156, cutActiveCountDecay_);
8954  }
8955  if (((bitField3_ & 0x00010000) != 0)) {
8956  size += com.google.protobuf.CodedOutputStream
8957  .computeInt32Size(157, cutCleanupTarget_);
8958  }
8959  if (((bitField2_ & 0x00000400) != 0)) {
8960  size += com.google.protobuf.CodedOutputStream
8961  .computeBoolSize(158, expandTableConstraints_);
8962  }
8963  if (((bitField1_ & 0x00001000) != 0)) {
8964  size += com.google.protobuf.CodedOutputStream
8965  .computeDoubleSize(159, absoluteGapLimit_);
8966  }
8967  if (((bitField1_ & 0x00002000) != 0)) {
8968  size += com.google.protobuf.CodedOutputStream
8969  .computeDoubleSize(160, relativeGapLimit_);
8970  }
8971  if (((bitField3_ & 0x02000000) != 0)) {
8972  size += com.google.protobuf.CodedOutputStream
8973  .computeBoolSize(161, exploitRelaxationSolution_);
8974  }
8975  if (((bitField2_ & 0x00000008) != 0)) {
8976  size += com.google.protobuf.CodedOutputStream
8977  .computeBoolSize(162, cpModelPostsolveWithFullSolver_);
8978  }
8979  if (((bitField2_ & 0x00000080) != 0)) {
8980  size += com.google.protobuf.CodedOutputStream
8981  .computeBoolSize(163, useSatInprocessing_);
8982  }
8983  if (((bitField4_ & 0x00100000) != 0)) {
8984  size += com.google.protobuf.CodedOutputStream
8985  .computeBoolSize(164, useFeasibilityPump_);
8986  }
8987  if (((bitField4_ & 0x00200000) != 0)) {
8988  size += com.google.protobuf.CodedOutputStream
8989  .computeEnumSize(165, fpRounding_);
8990  }
8991  if (((bitField5_ & 0x00000020) != 0)) {
8992  size += com.google.protobuf.CodedOutputStream
8993  .computeBoolSize(166, mipAutomaticallyScaleVariables_);
8994  }
8995  if (((bitField3_ & 0x00100000) != 0)) {
8996  size += com.google.protobuf.CodedOutputStream
8997  .computeBoolSize(167, repairHint_);
8998  }
8999  if (((bitField0_ & 0x00000010) != 0)) {
9000  size += com.google.protobuf.CodedOutputStream
9001  .computeInt32Size(168, polarityRephaseIncrement_);
9002  }
9003  if (((bitField3_ & 0x00000020) != 0)) {
9004  size += com.google.protobuf.CodedOutputStream
9005  .computeBoolSize(169, addZeroHalfCuts_);
9006  }
9007  if (((bitField2_ & 0x00000800) != 0)) {
9008  size += com.google.protobuf.CodedOutputStream
9009  .computeBoolSize(170, expandAlldiffConstraints_);
9010  }
9011  if (((bitField0_ & 0x00000001) != 0)) {
9012  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(171, name_);
9013  }
9014  if (((bitField3_ & 0x00000040) != 0)) {
9015  size += com.google.protobuf.CodedOutputStream
9016  .computeBoolSize(172, addCliqueCuts_);
9017  }
9018  if (((bitField4_ & 0x00000008) != 0)) {
9019  size += com.google.protobuf.CodedOutputStream
9020  .computeBoolSize(173, keepAllFeasibleSolutionsInPresolve_);
9021  }
9022  if (((bitField2_ & 0x00020000) != 0)) {
9023  size += com.google.protobuf.CodedOutputStream
9024  .computeBoolSize(174, presolveExtractIntegerEnforcement_);
9025  }
9026  if (((bitField5_ & 0x00000001) != 0)) {
9027  size += com.google.protobuf.CodedOutputStream
9028  .computeBoolSize(175, polishLpSolution_);
9029  }
9030  if (((bitField3_ & 0x10000000) != 0)) {
9031  size += com.google.protobuf.CodedOutputStream
9032  .computeBoolSize(176, useProbingSearch_);
9033  }
9034  if (((bitField5_ & 0x00000002) != 0)) {
9035  size += com.google.protobuf.CodedOutputStream
9036  .computeBoolSize(177, convertIntervals_);
9037  }
9038  if (((bitField1_ & 0x00010000) != 0)) {
9039  size += com.google.protobuf.CodedOutputStream
9040  .computeBoolSize(178, permuteVariableRandomly_);
9041  }
9042  if (((bitField1_ & 0x00020000) != 0)) {
9043  size += com.google.protobuf.CodedOutputStream
9044  .computeBoolSize(179, permutePresolveConstraintOrder_);
9045  }
9046  if (((bitField1_ & 0x00040000) != 0)) {
9047  size += com.google.protobuf.CodedOutputStream
9048  .computeBoolSize(180, useAbslRandom_);
9049  }
9050  if (((bitField2_ & 0x00002000) != 0)) {
9051  size += com.google.protobuf.CodedOutputStream
9052  .computeBoolSize(181, disableConstraintExpansion_);
9053  }
9054  if (((bitField2_ & 0x00001000) != 0)) {
9055  size += com.google.protobuf.CodedOutputStream
9056  .computeBoolSize(182, expandReservoirConstraints_);
9057  }
9058  if (((bitField5_ & 0x00000004) != 0)) {
9059  size += com.google.protobuf.CodedOutputStream
9060  .computeInt32Size(183, symmetryLevel_);
9061  }
9062  if (((bitField4_ & 0x00020000) != 0)) {
9063  size += com.google.protobuf.CodedOutputStream
9064  .computeBoolSize(184, lnsExpandIntervalsInConstraintGraph_);
9065  }
9066  if (((bitField1_ & 0x00200000) != 0)) {
9067  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(185, logPrefix_);
9068  }
9069  if (((bitField1_ & 0x00400000) != 0)) {
9070  size += com.google.protobuf.CodedOutputStream
9071  .computeBoolSize(186, logToStdout_);
9072  }
9073  if (((bitField1_ & 0x00800000) != 0)) {
9074  size += com.google.protobuf.CodedOutputStream
9075  .computeBoolSize(187, logToResponse_);
9076  }
9077  if (((bitField3_ & 0x80000000) != 0)) {
9078  size += com.google.protobuf.CodedOutputStream
9079  .computeBoolSize(188, optimizeWithLbTreeSearch_);
9080  }
9081  if (((bitField1_ & 0x00100000) != 0)) {
9082  size += com.google.protobuf.CodedOutputStream
9083  .computeBoolSize(189, logSubsolverStatistics_);
9084  }
9085  if (((bitField0_ & 0x00008000) != 0)) {
9086  size += com.google.protobuf.CodedOutputStream
9087  .computeDoubleSize(190, clauseCleanupRatio_);
9088  }
9089  if (((bitField2_ & 0x80000000) != 0)) {
9090  size += com.google.protobuf.CodedOutputStream
9091  .computeInt32Size(191, maxDomainSizeWhenEncodingEqNeqConstraints_);
9092  }
9093  if (((bitField3_ & 0x00200000) != 0)) {
9094  size += com.google.protobuf.CodedOutputStream
9095  .computeBoolSize(192, fixVariablesToTheirHintedValue_);
9096  }
9097  if (((bitField4_ & 0x00040000) != 0)) {
9098  size += com.google.protobuf.CodedOutputStream
9099  .computeInt32Size(193, solutionPoolSize_);
9100  }
9101  size += unknownFields.getSerializedSize();
9102  memoizedSize = size;
9103  return size;
9104  }
9105 
9106  @java.lang.Override
9107  public boolean equals(final java.lang.Object obj) {
9108  if (obj == this) {
9109  return true;
9110  }
9111  if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
9112  return super.equals(obj);
9113  }
9115 
9116  if (hasName() != other.hasName()) return false;
9117  if (hasName()) {
9118  if (!getName()
9119  .equals(other.getName())) return false;
9120  }
9121  if (hasPreferredVariableOrder() != other.hasPreferredVariableOrder()) return false;
9122  if (hasPreferredVariableOrder()) {
9123  if (preferredVariableOrder_ != other.preferredVariableOrder_) return false;
9124  }
9125  if (hasInitialPolarity() != other.hasInitialPolarity()) return false;
9126  if (hasInitialPolarity()) {
9127  if (initialPolarity_ != other.initialPolarity_) return false;
9128  }
9129  if (hasUsePhaseSaving() != other.hasUsePhaseSaving()) return false;
9130  if (hasUsePhaseSaving()) {
9131  if (getUsePhaseSaving()
9132  != other.getUsePhaseSaving()) return false;
9133  }
9134  if (hasPolarityRephaseIncrement() != other.hasPolarityRephaseIncrement()) return false;
9137  != other.getPolarityRephaseIncrement()) return false;
9138  }
9139  if (hasRandomPolarityRatio() != other.hasRandomPolarityRatio()) return false;
9140  if (hasRandomPolarityRatio()) {
9141  if (java.lang.Double.doubleToLongBits(getRandomPolarityRatio())
9142  != java.lang.Double.doubleToLongBits(
9143  other.getRandomPolarityRatio())) return false;
9144  }
9145  if (hasRandomBranchesRatio() != other.hasRandomBranchesRatio()) return false;
9146  if (hasRandomBranchesRatio()) {
9147  if (java.lang.Double.doubleToLongBits(getRandomBranchesRatio())
9148  != java.lang.Double.doubleToLongBits(
9149  other.getRandomBranchesRatio())) return false;
9150  }
9151  if (hasUseErwaHeuristic() != other.hasUseErwaHeuristic()) return false;
9152  if (hasUseErwaHeuristic()) {
9153  if (getUseErwaHeuristic()
9154  != other.getUseErwaHeuristic()) return false;
9155  }
9156  if (hasInitialVariablesActivity() != other.hasInitialVariablesActivity()) return false;
9158  if (java.lang.Double.doubleToLongBits(getInitialVariablesActivity())
9159  != java.lang.Double.doubleToLongBits(
9160  other.getInitialVariablesActivity())) return false;
9161  }
9162  if (hasAlsoBumpVariablesInConflictReasons() != other.hasAlsoBumpVariablesInConflictReasons()) return false;
9165  != other.getAlsoBumpVariablesInConflictReasons()) return false;
9166  }
9167  if (hasMinimizationAlgorithm() != other.hasMinimizationAlgorithm()) return false;
9168  if (hasMinimizationAlgorithm()) {
9169  if (minimizationAlgorithm_ != other.minimizationAlgorithm_) return false;
9170  }
9171  if (hasBinaryMinimizationAlgorithm() != other.hasBinaryMinimizationAlgorithm()) return false;
9173  if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_) return false;
9174  }
9175  if (hasSubsumptionDuringConflictAnalysis() != other.hasSubsumptionDuringConflictAnalysis()) return false;
9178  != other.getSubsumptionDuringConflictAnalysis()) return false;
9179  }
9180  if (hasClauseCleanupPeriod() != other.hasClauseCleanupPeriod()) return false;
9181  if (hasClauseCleanupPeriod()) {
9183  != other.getClauseCleanupPeriod()) return false;
9184  }
9185  if (hasClauseCleanupTarget() != other.hasClauseCleanupTarget()) return false;
9186  if (hasClauseCleanupTarget()) {
9188  != other.getClauseCleanupTarget()) return false;
9189  }
9190  if (hasClauseCleanupRatio() != other.hasClauseCleanupRatio()) return false;
9191  if (hasClauseCleanupRatio()) {
9192  if (java.lang.Double.doubleToLongBits(getClauseCleanupRatio())
9193  != java.lang.Double.doubleToLongBits(
9194  other.getClauseCleanupRatio())) return false;
9195  }
9196  if (hasClauseCleanupProtection() != other.hasClauseCleanupProtection()) return false;
9198  if (clauseCleanupProtection_ != other.clauseCleanupProtection_) return false;
9199  }
9200  if (hasClauseCleanupLbdBound() != other.hasClauseCleanupLbdBound()) return false;
9201  if (hasClauseCleanupLbdBound()) {
9203  != other.getClauseCleanupLbdBound()) return false;
9204  }
9205  if (hasClauseCleanupOrdering() != other.hasClauseCleanupOrdering()) return false;
9206  if (hasClauseCleanupOrdering()) {
9207  if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_) return false;
9208  }
9209  if (hasPbCleanupIncrement() != other.hasPbCleanupIncrement()) return false;
9210  if (hasPbCleanupIncrement()) {
9211  if (getPbCleanupIncrement()
9212  != other.getPbCleanupIncrement()) return false;
9213  }
9214  if (hasPbCleanupRatio() != other.hasPbCleanupRatio()) return false;
9215  if (hasPbCleanupRatio()) {
9216  if (java.lang.Double.doubleToLongBits(getPbCleanupRatio())
9217  != java.lang.Double.doubleToLongBits(
9218  other.getPbCleanupRatio())) return false;
9219  }
9220  if (hasMinimizeWithPropagationRestartPeriod() != other.hasMinimizeWithPropagationRestartPeriod()) return false;
9223  != other.getMinimizeWithPropagationRestartPeriod()) return false;
9224  }
9225  if (hasMinimizeWithPropagationNumDecisions() != other.hasMinimizeWithPropagationNumDecisions()) return false;
9228  != other.getMinimizeWithPropagationNumDecisions()) return false;
9229  }
9230  if (hasVariableActivityDecay() != other.hasVariableActivityDecay()) return false;
9231  if (hasVariableActivityDecay()) {
9232  if (java.lang.Double.doubleToLongBits(getVariableActivityDecay())
9233  != java.lang.Double.doubleToLongBits(
9234  other.getVariableActivityDecay())) return false;
9235  }
9236  if (hasMaxVariableActivityValue() != other.hasMaxVariableActivityValue()) return false;
9238  if (java.lang.Double.doubleToLongBits(getMaxVariableActivityValue())
9239  != java.lang.Double.doubleToLongBits(
9240  other.getMaxVariableActivityValue())) return false;
9241  }
9242  if (hasGlucoseMaxDecay() != other.hasGlucoseMaxDecay()) return false;
9243  if (hasGlucoseMaxDecay()) {
9244  if (java.lang.Double.doubleToLongBits(getGlucoseMaxDecay())
9245  != java.lang.Double.doubleToLongBits(
9246  other.getGlucoseMaxDecay())) return false;
9247  }
9248  if (hasGlucoseDecayIncrement() != other.hasGlucoseDecayIncrement()) return false;
9249  if (hasGlucoseDecayIncrement()) {
9250  if (java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement())
9251  != java.lang.Double.doubleToLongBits(
9252  other.getGlucoseDecayIncrement())) return false;
9253  }
9254  if (hasGlucoseDecayIncrementPeriod() != other.hasGlucoseDecayIncrementPeriod()) return false;
9257  != other.getGlucoseDecayIncrementPeriod()) return false;
9258  }
9259  if (hasClauseActivityDecay() != other.hasClauseActivityDecay()) return false;
9260  if (hasClauseActivityDecay()) {
9261  if (java.lang.Double.doubleToLongBits(getClauseActivityDecay())
9262  != java.lang.Double.doubleToLongBits(
9263  other.getClauseActivityDecay())) return false;
9264  }
9265  if (hasMaxClauseActivityValue() != other.hasMaxClauseActivityValue()) return false;
9266  if (hasMaxClauseActivityValue()) {
9267  if (java.lang.Double.doubleToLongBits(getMaxClauseActivityValue())
9268  != java.lang.Double.doubleToLongBits(
9269  other.getMaxClauseActivityValue())) return false;
9270  }
9271  if (!restartAlgorithms_.equals(other.restartAlgorithms_)) return false;
9272  if (hasDefaultRestartAlgorithms() != other.hasDefaultRestartAlgorithms()) return false;
9275  .equals(other.getDefaultRestartAlgorithms())) return false;
9276  }
9277  if (hasRestartPeriod() != other.hasRestartPeriod()) return false;
9278  if (hasRestartPeriod()) {
9279  if (getRestartPeriod()
9280  != other.getRestartPeriod()) return false;
9281  }
9282  if (hasRestartRunningWindowSize() != other.hasRestartRunningWindowSize()) return false;
9285  != other.getRestartRunningWindowSize()) return false;
9286  }
9287  if (hasRestartDlAverageRatio() != other.hasRestartDlAverageRatio()) return false;
9288  if (hasRestartDlAverageRatio()) {
9289  if (java.lang.Double.doubleToLongBits(getRestartDlAverageRatio())
9290  != java.lang.Double.doubleToLongBits(
9291  other.getRestartDlAverageRatio())) return false;
9292  }
9293  if (hasRestartLbdAverageRatio() != other.hasRestartLbdAverageRatio()) return false;
9294  if (hasRestartLbdAverageRatio()) {
9295  if (java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio())
9296  != java.lang.Double.doubleToLongBits(
9297  other.getRestartLbdAverageRatio())) return false;
9298  }
9299  if (hasUseBlockingRestart() != other.hasUseBlockingRestart()) return false;
9300  if (hasUseBlockingRestart()) {
9301  if (getUseBlockingRestart()
9302  != other.getUseBlockingRestart()) return false;
9303  }
9304  if (hasBlockingRestartWindowSize() != other.hasBlockingRestartWindowSize()) return false;
9307  != other.getBlockingRestartWindowSize()) return false;
9308  }
9309  if (hasBlockingRestartMultiplier() != other.hasBlockingRestartMultiplier()) return false;
9311  if (java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier())
9312  != java.lang.Double.doubleToLongBits(
9313  other.getBlockingRestartMultiplier())) return false;
9314  }
9315  if (hasNumConflictsBeforeStrategyChanges() != other.hasNumConflictsBeforeStrategyChanges()) return false;
9318  != other.getNumConflictsBeforeStrategyChanges()) return false;
9319  }
9320  if (hasStrategyChangeIncreaseRatio() != other.hasStrategyChangeIncreaseRatio()) return false;
9322  if (java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio())
9323  != java.lang.Double.doubleToLongBits(
9324  other.getStrategyChangeIncreaseRatio())) return false;
9325  }
9326  if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
9327  if (hasMaxTimeInSeconds()) {
9328  if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
9329  != java.lang.Double.doubleToLongBits(
9330  other.getMaxTimeInSeconds())) return false;
9331  }
9332  if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
9333  if (hasMaxDeterministicTime()) {
9334  if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
9335  != java.lang.Double.doubleToLongBits(
9336  other.getMaxDeterministicTime())) return false;
9337  }
9338  if (hasMaxNumberOfConflicts() != other.hasMaxNumberOfConflicts()) return false;
9339  if (hasMaxNumberOfConflicts()) {
9341  != other.getMaxNumberOfConflicts()) return false;
9342  }
9343  if (hasMaxMemoryInMb() != other.hasMaxMemoryInMb()) return false;
9344  if (hasMaxMemoryInMb()) {
9345  if (getMaxMemoryInMb()
9346  != other.getMaxMemoryInMb()) return false;
9347  }
9348  if (hasAbsoluteGapLimit() != other.hasAbsoluteGapLimit()) return false;
9349  if (hasAbsoluteGapLimit()) {
9350  if (java.lang.Double.doubleToLongBits(getAbsoluteGapLimit())
9351  != java.lang.Double.doubleToLongBits(
9352  other.getAbsoluteGapLimit())) return false;
9353  }
9354  if (hasRelativeGapLimit() != other.hasRelativeGapLimit()) return false;
9355  if (hasRelativeGapLimit()) {
9356  if (java.lang.Double.doubleToLongBits(getRelativeGapLimit())
9357  != java.lang.Double.doubleToLongBits(
9358  other.getRelativeGapLimit())) return false;
9359  }
9360  if (hasTreatBinaryClausesSeparately() != other.hasTreatBinaryClausesSeparately()) return false;
9363  != other.getTreatBinaryClausesSeparately()) return false;
9364  }
9365  if (hasRandomSeed() != other.hasRandomSeed()) return false;
9366  if (hasRandomSeed()) {
9367  if (getRandomSeed()
9368  != other.getRandomSeed()) return false;
9369  }
9370  if (hasPermuteVariableRandomly() != other.hasPermuteVariableRandomly()) return false;
9373  != other.getPermuteVariableRandomly()) return false;
9374  }
9375  if (hasPermutePresolveConstraintOrder() != other.hasPermutePresolveConstraintOrder()) return false;
9378  != other.getPermutePresolveConstraintOrder()) return false;
9379  }
9380  if (hasUseAbslRandom() != other.hasUseAbslRandom()) return false;
9381  if (hasUseAbslRandom()) {
9382  if (getUseAbslRandom()
9383  != other.getUseAbslRandom()) return false;
9384  }
9385  if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
9386  if (hasLogSearchProgress()) {
9387  if (getLogSearchProgress()
9388  != other.getLogSearchProgress()) return false;
9389  }
9390  if (hasLogSubsolverStatistics() != other.hasLogSubsolverStatistics()) return false;
9391  if (hasLogSubsolverStatistics()) {
9393  != other.getLogSubsolverStatistics()) return false;
9394  }
9395  if (hasLogPrefix() != other.hasLogPrefix()) return false;
9396  if (hasLogPrefix()) {
9397  if (!getLogPrefix()
9398  .equals(other.getLogPrefix())) return false;
9399  }
9400  if (hasLogToStdout() != other.hasLogToStdout()) return false;
9401  if (hasLogToStdout()) {
9402  if (getLogToStdout()
9403  != other.getLogToStdout()) return false;
9404  }
9405  if (hasLogToResponse() != other.hasLogToResponse()) return false;
9406  if (hasLogToResponse()) {
9407  if (getLogToResponse()
9408  != other.getLogToResponse()) return false;
9409  }
9410  if (hasUsePbResolution() != other.hasUsePbResolution()) return false;
9411  if (hasUsePbResolution()) {
9412  if (getUsePbResolution()
9413  != other.getUsePbResolution()) return false;
9414  }
9415  if (hasMinimizeReductionDuringPbResolution() != other.hasMinimizeReductionDuringPbResolution()) return false;
9418  != other.getMinimizeReductionDuringPbResolution()) return false;
9419  }
9420  if (hasCountAssumptionLevelsInLbd() != other.hasCountAssumptionLevelsInLbd()) return false;
9423  != other.getCountAssumptionLevelsInLbd()) return false;
9424  }
9425  if (hasPresolveBveThreshold() != other.hasPresolveBveThreshold()) return false;
9426  if (hasPresolveBveThreshold()) {
9428  != other.getPresolveBveThreshold()) return false;
9429  }
9430  if (hasPresolveBveClauseWeight() != other.hasPresolveBveClauseWeight()) return false;
9433  != other.getPresolveBveClauseWeight()) return false;
9434  }
9435  if (hasPresolveProbingDeterministicTimeLimit() != other.hasPresolveProbingDeterministicTimeLimit()) return false;
9437  if (java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit())
9438  != java.lang.Double.doubleToLongBits(
9439  other.getPresolveProbingDeterministicTimeLimit())) return false;
9440  }
9441  if (hasPresolveBlockedClause() != other.hasPresolveBlockedClause()) return false;
9442  if (hasPresolveBlockedClause()) {
9444  != other.getPresolveBlockedClause()) return false;
9445  }
9446  if (hasPresolveUseBva() != other.hasPresolveUseBva()) return false;
9447  if (hasPresolveUseBva()) {
9448  if (getPresolveUseBva()
9449  != other.getPresolveUseBva()) return false;
9450  }
9451  if (hasPresolveBvaThreshold() != other.hasPresolveBvaThreshold()) return false;
9452  if (hasPresolveBvaThreshold()) {
9454  != other.getPresolveBvaThreshold()) return false;
9455  }
9456  if (hasMaxPresolveIterations() != other.hasMaxPresolveIterations()) return false;
9457  if (hasMaxPresolveIterations()) {
9459  != other.getMaxPresolveIterations()) return false;
9460  }
9461  if (hasCpModelPresolve() != other.hasCpModelPresolve()) return false;
9462  if (hasCpModelPresolve()) {
9463  if (getCpModelPresolve()
9464  != other.getCpModelPresolve()) return false;
9465  }
9466  if (hasCpModelPostsolveWithFullSolver() != other.hasCpModelPostsolveWithFullSolver()) return false;
9469  != other.getCpModelPostsolveWithFullSolver()) return false;
9470  }
9471  if (hasCpModelMaxNumPresolveOperations() != other.hasCpModelMaxNumPresolveOperations()) return false;
9474  != other.getCpModelMaxNumPresolveOperations()) return false;
9475  }
9476  if (hasCpModelProbingLevel() != other.hasCpModelProbingLevel()) return false;
9477  if (hasCpModelProbingLevel()) {
9479  != other.getCpModelProbingLevel()) return false;
9480  }
9481  if (hasCpModelUseSatPresolve() != other.hasCpModelUseSatPresolve()) return false;
9482  if (hasCpModelUseSatPresolve()) {
9484  != other.getCpModelUseSatPresolve()) return false;
9485  }
9486  if (hasUseSatInprocessing() != other.hasUseSatInprocessing()) return false;
9487  if (hasUseSatInprocessing()) {
9488  if (getUseSatInprocessing()
9489  != other.getUseSatInprocessing()) return false;
9490  }
9491  if (hasExpandElementConstraints() != other.hasExpandElementConstraints()) return false;
9494  != other.getExpandElementConstraints()) return false;
9495  }
9496  if (hasExpandAutomatonConstraints() != other.hasExpandAutomatonConstraints()) return false;
9499  != other.getExpandAutomatonConstraints()) return false;
9500  }
9501  if (hasExpandTableConstraints() != other.hasExpandTableConstraints()) return false;
9502  if (hasExpandTableConstraints()) {
9504  != other.getExpandTableConstraints()) return false;
9505  }
9506  if (hasExpandAlldiffConstraints() != other.hasExpandAlldiffConstraints()) return false;
9509  != other.getExpandAlldiffConstraints()) return false;
9510  }
9511  if (hasExpandReservoirConstraints() != other.hasExpandReservoirConstraints()) return false;
9514  != other.getExpandReservoirConstraints()) return false;
9515  }
9516  if (hasDisableConstraintExpansion() != other.hasDisableConstraintExpansion()) return false;
9519  != other.getDisableConstraintExpansion()) return false;
9520  }
9521  if (hasMergeNoOverlapWorkLimit() != other.hasMergeNoOverlapWorkLimit()) return false;
9523  if (java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit())
9524  != java.lang.Double.doubleToLongBits(
9525  other.getMergeNoOverlapWorkLimit())) return false;
9526  }
9527  if (hasMergeAtMostOneWorkLimit() != other.hasMergeAtMostOneWorkLimit()) return false;
9529  if (java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit())
9530  != java.lang.Double.doubleToLongBits(
9531  other.getMergeAtMostOneWorkLimit())) return false;
9532  }
9533  if (hasPresolveSubstitutionLevel() != other.hasPresolveSubstitutionLevel()) return false;
9536  != other.getPresolveSubstitutionLevel()) return false;
9537  }
9538  if (hasPresolveExtractIntegerEnforcement() != other.hasPresolveExtractIntegerEnforcement()) return false;
9541  != other.getPresolveExtractIntegerEnforcement()) return false;
9542  }
9543  if (hasUseOptimizationHints() != other.hasUseOptimizationHints()) return false;
9544  if (hasUseOptimizationHints()) {
9546  != other.getUseOptimizationHints()) return false;
9547  }
9548  if (hasMinimizeCore() != other.hasMinimizeCore()) return false;
9549  if (hasMinimizeCore()) {
9550  if (getMinimizeCore()
9551  != other.getMinimizeCore()) return false;
9552  }
9553  if (hasFindMultipleCores() != other.hasFindMultipleCores()) return false;
9554  if (hasFindMultipleCores()) {
9555  if (getFindMultipleCores()
9556  != other.getFindMultipleCores()) return false;
9557  }
9558  if (hasCoverOptimization() != other.hasCoverOptimization()) return false;
9559  if (hasCoverOptimization()) {
9560  if (getCoverOptimization()
9561  != other.getCoverOptimization()) return false;
9562  }
9563  if (hasMaxSatAssumptionOrder() != other.hasMaxSatAssumptionOrder()) return false;
9564  if (hasMaxSatAssumptionOrder()) {
9565  if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_) return false;
9566  }
9567  if (hasMaxSatReverseAssumptionOrder() != other.hasMaxSatReverseAssumptionOrder()) return false;
9570  != other.getMaxSatReverseAssumptionOrder()) return false;
9571  }
9572  if (hasMaxSatStratification() != other.hasMaxSatStratification()) return false;
9573  if (hasMaxSatStratification()) {
9574  if (maxSatStratification_ != other.maxSatStratification_) return false;
9575  }
9576  if (hasUsePrecedencesInDisjunctiveConstraint() != other.hasUsePrecedencesInDisjunctiveConstraint()) return false;
9579  != other.getUsePrecedencesInDisjunctiveConstraint()) return false;
9580  }
9581  if (hasUseOverloadCheckerInCumulativeConstraint() != other.hasUseOverloadCheckerInCumulativeConstraint()) return false;
9584  != other.getUseOverloadCheckerInCumulativeConstraint()) return false;
9585  }
9586  if (hasUseTimetableEdgeFindingInCumulativeConstraint() != other.hasUseTimetableEdgeFindingInCumulativeConstraint()) return false;
9589  != other.getUseTimetableEdgeFindingInCumulativeConstraint()) return false;
9590  }
9591  if (hasUseDisjunctiveConstraintInCumulativeConstraint() != other.hasUseDisjunctiveConstraintInCumulativeConstraint()) return false;
9594  != other.getUseDisjunctiveConstraintInCumulativeConstraint()) return false;
9595  }
9596  if (hasLinearizationLevel() != other.hasLinearizationLevel()) return false;
9597  if (hasLinearizationLevel()) {
9598  if (getLinearizationLevel()
9599  != other.getLinearizationLevel()) return false;
9600  }
9601  if (hasBooleanEncodingLevel() != other.hasBooleanEncodingLevel()) return false;
9602  if (hasBooleanEncodingLevel()) {
9604  != other.getBooleanEncodingLevel()) return false;
9605  }
9606  if (hasMaxDomainSizeWhenEncodingEqNeqConstraints() != other.hasMaxDomainSizeWhenEncodingEqNeqConstraints()) return false;
9609  != other.getMaxDomainSizeWhenEncodingEqNeqConstraints()) return false;
9610  }
9611  if (hasMaxNumCuts() != other.hasMaxNumCuts()) return false;
9612  if (hasMaxNumCuts()) {
9613  if (getMaxNumCuts()
9614  != other.getMaxNumCuts()) return false;
9615  }
9616  if (hasOnlyAddCutsAtLevelZero() != other.hasOnlyAddCutsAtLevelZero()) return false;
9617  if (hasOnlyAddCutsAtLevelZero()) {
9619  != other.getOnlyAddCutsAtLevelZero()) return false;
9620  }
9621  if (hasAddKnapsackCuts() != other.hasAddKnapsackCuts()) return false;
9622  if (hasAddKnapsackCuts()) {
9623  if (getAddKnapsackCuts()
9624  != other.getAddKnapsackCuts()) return false;
9625  }
9626  if (hasAddCgCuts() != other.hasAddCgCuts()) return false;
9627  if (hasAddCgCuts()) {
9628  if (getAddCgCuts()
9629  != other.getAddCgCuts()) return false;
9630  }
9631  if (hasAddMirCuts() != other.hasAddMirCuts()) return false;
9632  if (hasAddMirCuts()) {
9633  if (getAddMirCuts()
9634  != other.getAddMirCuts()) return false;
9635  }
9636  if (hasAddZeroHalfCuts() != other.hasAddZeroHalfCuts()) return false;
9637  if (hasAddZeroHalfCuts()) {
9638  if (getAddZeroHalfCuts()
9639  != other.getAddZeroHalfCuts()) return false;
9640  }
9641  if (hasAddCliqueCuts() != other.hasAddCliqueCuts()) return false;
9642  if (hasAddCliqueCuts()) {
9643  if (getAddCliqueCuts()
9644  != other.getAddCliqueCuts()) return false;
9645  }
9646  if (hasMaxAllDiffCutSize() != other.hasMaxAllDiffCutSize()) return false;
9647  if (hasMaxAllDiffCutSize()) {
9648  if (getMaxAllDiffCutSize()
9649  != other.getMaxAllDiffCutSize()) return false;
9650  }
9651  if (hasAddLinMaxCuts() != other.hasAddLinMaxCuts()) return false;
9652  if (hasAddLinMaxCuts()) {
9653  if (getAddLinMaxCuts()
9654  != other.getAddLinMaxCuts()) return false;
9655  }
9656  if (hasMaxIntegerRoundingScaling() != other.hasMaxIntegerRoundingScaling()) return false;
9659  != other.getMaxIntegerRoundingScaling()) return false;
9660  }
9661  if (hasAddLpConstraintsLazily() != other.hasAddLpConstraintsLazily()) return false;
9662  if (hasAddLpConstraintsLazily()) {
9664  != other.getAddLpConstraintsLazily()) return false;
9665  }
9666  if (hasMinOrthogonalityForLpConstraints() != other.hasMinOrthogonalityForLpConstraints()) return false;
9668  if (java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints())
9669  != java.lang.Double.doubleToLongBits(
9670  other.getMinOrthogonalityForLpConstraints())) return false;
9671  }
9672  if (hasMaxCutRoundsAtLevelZero() != other.hasMaxCutRoundsAtLevelZero()) return false;
9675  != other.getMaxCutRoundsAtLevelZero()) return false;
9676  }
9677  if (hasMaxConsecutiveInactiveCount() != other.hasMaxConsecutiveInactiveCount()) return false;
9680  != other.getMaxConsecutiveInactiveCount()) return false;
9681  }
9682  if (hasCutMaxActiveCountValue() != other.hasCutMaxActiveCountValue()) return false;
9683  if (hasCutMaxActiveCountValue()) {
9684  if (java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue())
9685  != java.lang.Double.doubleToLongBits(
9686  other.getCutMaxActiveCountValue())) return false;
9687  }
9688  if (hasCutActiveCountDecay() != other.hasCutActiveCountDecay()) return false;
9689  if (hasCutActiveCountDecay()) {
9690  if (java.lang.Double.doubleToLongBits(getCutActiveCountDecay())
9691  != java.lang.Double.doubleToLongBits(
9692  other.getCutActiveCountDecay())) return false;
9693  }
9694  if (hasCutCleanupTarget() != other.hasCutCleanupTarget()) return false;
9695  if (hasCutCleanupTarget()) {
9696  if (getCutCleanupTarget()
9697  != other.getCutCleanupTarget()) return false;
9698  }
9699  if (hasNewConstraintsBatchSize() != other.hasNewConstraintsBatchSize()) return false;
9702  != other.getNewConstraintsBatchSize()) return false;
9703  }
9704  if (hasSearchBranching() != other.hasSearchBranching()) return false;
9705  if (hasSearchBranching()) {
9706  if (searchBranching_ != other.searchBranching_) return false;
9707  }
9708  if (hasHintConflictLimit() != other.hasHintConflictLimit()) return false;
9709  if (hasHintConflictLimit()) {
9710  if (getHintConflictLimit()
9711  != other.getHintConflictLimit()) return false;
9712  }
9713  if (hasRepairHint() != other.hasRepairHint()) return false;
9714  if (hasRepairHint()) {
9715  if (getRepairHint()
9716  != other.getRepairHint()) return false;
9717  }
9718  if (hasFixVariablesToTheirHintedValue() != other.hasFixVariablesToTheirHintedValue()) return false;
9721  != other.getFixVariablesToTheirHintedValue()) return false;
9722  }
9723  if (hasExploitIntegerLpSolution() != other.hasExploitIntegerLpSolution()) return false;
9726  != other.getExploitIntegerLpSolution()) return false;
9727  }
9728  if (hasExploitAllLpSolution() != other.hasExploitAllLpSolution()) return false;
9729  if (hasExploitAllLpSolution()) {
9731  != other.getExploitAllLpSolution()) return false;
9732  }
9733  if (hasExploitBestSolution() != other.hasExploitBestSolution()) return false;
9734  if (hasExploitBestSolution()) {
9736  != other.getExploitBestSolution()) return false;
9737  }
9738  if (hasExploitRelaxationSolution() != other.hasExploitRelaxationSolution()) return false;
9741  != other.getExploitRelaxationSolution()) return false;
9742  }
9743  if (hasExploitObjective() != other.hasExploitObjective()) return false;
9744  if (hasExploitObjective()) {
9745  if (getExploitObjective()
9746  != other.getExploitObjective()) return false;
9747  }
9748  if (hasProbingPeriodAtRoot() != other.hasProbingPeriodAtRoot()) return false;
9749  if (hasProbingPeriodAtRoot()) {
9751  != other.getProbingPeriodAtRoot()) return false;
9752  }
9753  if (hasUseProbingSearch() != other.hasUseProbingSearch()) return false;
9754  if (hasUseProbingSearch()) {
9755  if (getUseProbingSearch()
9756  != other.getUseProbingSearch()) return false;
9757  }
9758  if (hasPseudoCostReliabilityThreshold() != other.hasPseudoCostReliabilityThreshold()) return false;
9761  != other.getPseudoCostReliabilityThreshold()) return false;
9762  }
9763  if (hasOptimizeWithCore() != other.hasOptimizeWithCore()) return false;
9764  if (hasOptimizeWithCore()) {
9765  if (getOptimizeWithCore()
9766  != other.getOptimizeWithCore()) return false;
9767  }
9768  if (hasOptimizeWithLbTreeSearch() != other.hasOptimizeWithLbTreeSearch()) return false;
9771  != other.getOptimizeWithLbTreeSearch()) return false;
9772  }
9773  if (hasBinarySearchNumConflicts() != other.hasBinarySearchNumConflicts()) return false;
9776  != other.getBinarySearchNumConflicts()) return false;
9777  }
9778  if (hasOptimizeWithMaxHs() != other.hasOptimizeWithMaxHs()) return false;
9779  if (hasOptimizeWithMaxHs()) {
9780  if (getOptimizeWithMaxHs()
9781  != other.getOptimizeWithMaxHs()) return false;
9782  }
9783  if (hasEnumerateAllSolutions() != other.hasEnumerateAllSolutions()) return false;
9784  if (hasEnumerateAllSolutions()) {
9786  != other.getEnumerateAllSolutions()) return false;
9787  }
9788  if (hasKeepAllFeasibleSolutionsInPresolve() != other.hasKeepAllFeasibleSolutionsInPresolve()) return false;
9791  != other.getKeepAllFeasibleSolutionsInPresolve()) return false;
9792  }
9793  if (hasFillTightenedDomainsInResponse() != other.hasFillTightenedDomainsInResponse()) return false;
9796  != other.getFillTightenedDomainsInResponse()) return false;
9797  }
9798  if (hasInstantiateAllVariables() != other.hasInstantiateAllVariables()) return false;
9801  != other.getInstantiateAllVariables()) return false;
9802  }
9803  if (hasAutoDetectGreaterThanAtLeastOneOf() != other.hasAutoDetectGreaterThanAtLeastOneOf()) return false;
9806  != other.getAutoDetectGreaterThanAtLeastOneOf()) return false;
9807  }
9808  if (hasStopAfterFirstSolution() != other.hasStopAfterFirstSolution()) return false;
9809  if (hasStopAfterFirstSolution()) {
9811  != other.getStopAfterFirstSolution()) return false;
9812  }
9813  if (hasStopAfterPresolve() != other.hasStopAfterPresolve()) return false;
9814  if (hasStopAfterPresolve()) {
9815  if (getStopAfterPresolve()
9816  != other.getStopAfterPresolve()) return false;
9817  }
9818  if (hasNumSearchWorkers() != other.hasNumSearchWorkers()) return false;
9819  if (hasNumSearchWorkers()) {
9820  if (getNumSearchWorkers()
9821  != other.getNumSearchWorkers()) return false;
9822  }
9823  if (hasInterleaveSearch() != other.hasInterleaveSearch()) return false;
9824  if (hasInterleaveSearch()) {
9825  if (getInterleaveSearch()
9826  != other.getInterleaveSearch()) return false;
9827  }
9828  if (hasInterleaveBatchSize() != other.hasInterleaveBatchSize()) return false;
9829  if (hasInterleaveBatchSize()) {
9831  != other.getInterleaveBatchSize()) return false;
9832  }
9833  if (hasReduceMemoryUsageInInterleaveMode() != other.hasReduceMemoryUsageInInterleaveMode()) return false;
9836  != other.getReduceMemoryUsageInInterleaveMode()) return false;
9837  }
9838  if (hasShareObjectiveBounds() != other.hasShareObjectiveBounds()) return false;
9839  if (hasShareObjectiveBounds()) {
9841  != other.getShareObjectiveBounds()) return false;
9842  }
9843  if (hasShareLevelZeroBounds() != other.hasShareLevelZeroBounds()) return false;
9844  if (hasShareLevelZeroBounds()) {
9846  != other.getShareLevelZeroBounds()) return false;
9847  }
9848  if (hasUseLnsOnly() != other.hasUseLnsOnly()) return false;
9849  if (hasUseLnsOnly()) {
9850  if (getUseLnsOnly()
9851  != other.getUseLnsOnly()) return false;
9852  }
9853  if (hasLnsFocusOnDecisionVariables() != other.hasLnsFocusOnDecisionVariables()) return false;
9856  != other.getLnsFocusOnDecisionVariables()) return false;
9857  }
9858  if (hasLnsExpandIntervalsInConstraintGraph() != other.hasLnsExpandIntervalsInConstraintGraph()) return false;
9861  != other.getLnsExpandIntervalsInConstraintGraph()) return false;
9862  }
9863  if (hasSolutionPoolSize() != other.hasSolutionPoolSize()) return false;
9864  if (hasSolutionPoolSize()) {
9865  if (getSolutionPoolSize()
9866  != other.getSolutionPoolSize()) return false;
9867  }
9868  if (hasUseRinsLns() != other.hasUseRinsLns()) return false;
9869  if (hasUseRinsLns()) {
9870  if (getUseRinsLns()
9871  != other.getUseRinsLns()) return false;
9872  }
9873  if (hasUseFeasibilityPump() != other.hasUseFeasibilityPump()) return false;
9874  if (hasUseFeasibilityPump()) {
9875  if (getUseFeasibilityPump()
9876  != other.getUseFeasibilityPump()) return false;
9877  }
9878  if (hasFpRounding() != other.hasFpRounding()) return false;
9879  if (hasFpRounding()) {
9880  if (fpRounding_ != other.fpRounding_) return false;
9881  }
9882  if (hasUseRelaxationLns() != other.hasUseRelaxationLns()) return false;
9883  if (hasUseRelaxationLns()) {
9884  if (getUseRelaxationLns()
9885  != other.getUseRelaxationLns()) return false;
9886  }
9887  if (hasDiversifyLnsParams() != other.hasDiversifyLnsParams()) return false;
9888  if (hasDiversifyLnsParams()) {
9889  if (getDiversifyLnsParams()
9890  != other.getDiversifyLnsParams()) return false;
9891  }
9892  if (hasRandomizeSearch() != other.hasRandomizeSearch()) return false;
9893  if (hasRandomizeSearch()) {
9894  if (getRandomizeSearch()
9895  != other.getRandomizeSearch()) return false;
9896  }
9897  if (hasSearchRandomizationTolerance() != other.hasSearchRandomizationTolerance()) return false;
9900  != other.getSearchRandomizationTolerance()) return false;
9901  }
9902  if (hasUseOptionalVariables() != other.hasUseOptionalVariables()) return false;
9903  if (hasUseOptionalVariables()) {
9905  != other.getUseOptionalVariables()) return false;
9906  }
9907  if (hasUseExactLpReason() != other.hasUseExactLpReason()) return false;
9908  if (hasUseExactLpReason()) {
9909  if (getUseExactLpReason()
9910  != other.getUseExactLpReason()) return false;
9911  }
9912  if (hasUseBranchingInLp() != other.hasUseBranchingInLp()) return false;
9913  if (hasUseBranchingInLp()) {
9914  if (getUseBranchingInLp()
9915  != other.getUseBranchingInLp()) return false;
9916  }
9917  if (hasUseCombinedNoOverlap() != other.hasUseCombinedNoOverlap()) return false;
9918  if (hasUseCombinedNoOverlap()) {
9920  != other.getUseCombinedNoOverlap()) return false;
9921  }
9922  if (hasCatchSigintSignal() != other.hasCatchSigintSignal()) return false;
9923  if (hasCatchSigintSignal()) {
9924  if (getCatchSigintSignal()
9925  != other.getCatchSigintSignal()) return false;
9926  }
9927  if (hasUseImpliedBounds() != other.hasUseImpliedBounds()) return false;
9928  if (hasUseImpliedBounds()) {
9929  if (getUseImpliedBounds()
9930  != other.getUseImpliedBounds()) return false;
9931  }
9932  if (hasPolishLpSolution() != other.hasPolishLpSolution()) return false;
9933  if (hasPolishLpSolution()) {
9934  if (getPolishLpSolution()
9935  != other.getPolishLpSolution()) return false;
9936  }
9937  if (hasConvertIntervals() != other.hasConvertIntervals()) return false;
9938  if (hasConvertIntervals()) {
9939  if (getConvertIntervals()
9940  != other.getConvertIntervals()) return false;
9941  }
9942  if (hasSymmetryLevel() != other.hasSymmetryLevel()) return false;
9943  if (hasSymmetryLevel()) {
9944  if (getSymmetryLevel()
9945  != other.getSymmetryLevel()) return false;
9946  }
9947  if (hasMipMaxBound() != other.hasMipMaxBound()) return false;
9948  if (hasMipMaxBound()) {
9949  if (java.lang.Double.doubleToLongBits(getMipMaxBound())
9950  != java.lang.Double.doubleToLongBits(
9951  other.getMipMaxBound())) return false;
9952  }
9953  if (hasMipVarScaling() != other.hasMipVarScaling()) return false;
9954  if (hasMipVarScaling()) {
9955  if (java.lang.Double.doubleToLongBits(getMipVarScaling())
9956  != java.lang.Double.doubleToLongBits(
9957  other.getMipVarScaling())) return false;
9958  }
9959  if (hasMipAutomaticallyScaleVariables() != other.hasMipAutomaticallyScaleVariables()) return false;
9962  != other.getMipAutomaticallyScaleVariables()) return false;
9963  }
9964  if (hasMipWantedPrecision() != other.hasMipWantedPrecision()) return false;
9965  if (hasMipWantedPrecision()) {
9966  if (java.lang.Double.doubleToLongBits(getMipWantedPrecision())
9967  != java.lang.Double.doubleToLongBits(
9968  other.getMipWantedPrecision())) return false;
9969  }
9970  if (hasMipMaxActivityExponent() != other.hasMipMaxActivityExponent()) return false;
9971  if (hasMipMaxActivityExponent()) {
9973  != other.getMipMaxActivityExponent()) return false;
9974  }
9975  if (hasMipCheckPrecision() != other.hasMipCheckPrecision()) return false;
9976  if (hasMipCheckPrecision()) {
9977  if (java.lang.Double.doubleToLongBits(getMipCheckPrecision())
9978  != java.lang.Double.doubleToLongBits(
9979  other.getMipCheckPrecision())) return false;
9980  }
9981  if (!unknownFields.equals(other.unknownFields)) return false;
9982  return true;
9983  }
9984 
9985  @java.lang.Override
9986  public int hashCode() {
9987  if (memoizedHashCode != 0) {
9988  return memoizedHashCode;
9989  }
9990  int hash = 41;
9991  hash = (19 * hash) + getDescriptor().hashCode();
9992  if (hasName()) {
9993  hash = (37 * hash) + NAME_FIELD_NUMBER;
9994  hash = (53 * hash) + getName().hashCode();
9995  }
9996  if (hasPreferredVariableOrder()) {
9997  hash = (37 * hash) + PREFERRED_VARIABLE_ORDER_FIELD_NUMBER;
9998  hash = (53 * hash) + preferredVariableOrder_;
9999  }
10000  if (hasInitialPolarity()) {
10001  hash = (37 * hash) + INITIAL_POLARITY_FIELD_NUMBER;
10002  hash = (53 * hash) + initialPolarity_;
10003  }
10004  if (hasUsePhaseSaving()) {
10005  hash = (37 * hash) + USE_PHASE_SAVING_FIELD_NUMBER;
10006  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10007  getUsePhaseSaving());
10008  }
10010  hash = (37 * hash) + POLARITY_REPHASE_INCREMENT_FIELD_NUMBER;
10011  hash = (53 * hash) + getPolarityRephaseIncrement();
10012  }
10013  if (hasRandomPolarityRatio()) {
10014  hash = (37 * hash) + RANDOM_POLARITY_RATIO_FIELD_NUMBER;
10015  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10016  java.lang.Double.doubleToLongBits(getRandomPolarityRatio()));
10017  }
10018  if (hasRandomBranchesRatio()) {
10019  hash = (37 * hash) + RANDOM_BRANCHES_RATIO_FIELD_NUMBER;
10020  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10021  java.lang.Double.doubleToLongBits(getRandomBranchesRatio()));
10022  }
10023  if (hasUseErwaHeuristic()) {
10024  hash = (37 * hash) + USE_ERWA_HEURISTIC_FIELD_NUMBER;
10025  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10027  }
10029  hash = (37 * hash) + INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER;
10030  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10031  java.lang.Double.doubleToLongBits(getInitialVariablesActivity()));
10032  }
10035  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10037  }
10038  if (hasMinimizationAlgorithm()) {
10039  hash = (37 * hash) + MINIMIZATION_ALGORITHM_FIELD_NUMBER;
10040  hash = (53 * hash) + minimizationAlgorithm_;
10041  }
10043  hash = (37 * hash) + BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER;
10044  hash = (53 * hash) + binaryMinimizationAlgorithm_;
10045  }
10048  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10050  }
10051  if (hasClauseCleanupPeriod()) {
10052  hash = (37 * hash) + CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER;
10053  hash = (53 * hash) + getClauseCleanupPeriod();
10054  }
10055  if (hasClauseCleanupTarget()) {
10056  hash = (37 * hash) + CLAUSE_CLEANUP_TARGET_FIELD_NUMBER;
10057  hash = (53 * hash) + getClauseCleanupTarget();
10058  }
10059  if (hasClauseCleanupRatio()) {
10060  hash = (37 * hash) + CLAUSE_CLEANUP_RATIO_FIELD_NUMBER;
10061  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10062  java.lang.Double.doubleToLongBits(getClauseCleanupRatio()));
10063  }
10065  hash = (37 * hash) + CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER;
10066  hash = (53 * hash) + clauseCleanupProtection_;
10067  }
10068  if (hasClauseCleanupLbdBound()) {
10069  hash = (37 * hash) + CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER;
10070  hash = (53 * hash) + getClauseCleanupLbdBound();
10071  }
10072  if (hasClauseCleanupOrdering()) {
10073  hash = (37 * hash) + CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER;
10074  hash = (53 * hash) + clauseCleanupOrdering_;
10075  }
10076  if (hasPbCleanupIncrement()) {
10077  hash = (37 * hash) + PB_CLEANUP_INCREMENT_FIELD_NUMBER;
10078  hash = (53 * hash) + getPbCleanupIncrement();
10079  }
10080  if (hasPbCleanupRatio()) {
10081  hash = (37 * hash) + PB_CLEANUP_RATIO_FIELD_NUMBER;
10082  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10083  java.lang.Double.doubleToLongBits(getPbCleanupRatio()));
10084  }
10087  hash = (53 * hash) + getMinimizeWithPropagationRestartPeriod();
10088  }
10091  hash = (53 * hash) + getMinimizeWithPropagationNumDecisions();
10092  }
10093  if (hasVariableActivityDecay()) {
10094  hash = (37 * hash) + VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER;
10095  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10096  java.lang.Double.doubleToLongBits(getVariableActivityDecay()));
10097  }
10099  hash = (37 * hash) + MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER;
10100  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10101  java.lang.Double.doubleToLongBits(getMaxVariableActivityValue()));
10102  }
10103  if (hasGlucoseMaxDecay()) {
10104  hash = (37 * hash) + GLUCOSE_MAX_DECAY_FIELD_NUMBER;
10105  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10106  java.lang.Double.doubleToLongBits(getGlucoseMaxDecay()));
10107  }
10108  if (hasGlucoseDecayIncrement()) {
10109  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER;
10110  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10111  java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement()));
10112  }
10114  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER;
10115  hash = (53 * hash) + getGlucoseDecayIncrementPeriod();
10116  }
10117  if (hasClauseActivityDecay()) {
10118  hash = (37 * hash) + CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER;
10119  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10120  java.lang.Double.doubleToLongBits(getClauseActivityDecay()));
10121  }
10122  if (hasMaxClauseActivityValue()) {
10123  hash = (37 * hash) + MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER;
10124  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10125  java.lang.Double.doubleToLongBits(getMaxClauseActivityValue()));
10126  }
10127  if (getRestartAlgorithmsCount() > 0) {
10128  hash = (37 * hash) + RESTART_ALGORITHMS_FIELD_NUMBER;
10129  hash = (53 * hash) + restartAlgorithms_.hashCode();
10130  }
10132  hash = (37 * hash) + DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER;
10133  hash = (53 * hash) + getDefaultRestartAlgorithms().hashCode();
10134  }
10135  if (hasRestartPeriod()) {
10136  hash = (37 * hash) + RESTART_PERIOD_FIELD_NUMBER;
10137  hash = (53 * hash) + getRestartPeriod();
10138  }
10140  hash = (37 * hash) + RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER;
10141  hash = (53 * hash) + getRestartRunningWindowSize();
10142  }
10143  if (hasRestartDlAverageRatio()) {
10144  hash = (37 * hash) + RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER;
10145  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10146  java.lang.Double.doubleToLongBits(getRestartDlAverageRatio()));
10147  }
10148  if (hasRestartLbdAverageRatio()) {
10149  hash = (37 * hash) + RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER;
10150  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10151  java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio()));
10152  }
10153  if (hasUseBlockingRestart()) {
10154  hash = (37 * hash) + USE_BLOCKING_RESTART_FIELD_NUMBER;
10155  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10157  }
10159  hash = (37 * hash) + BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER;
10160  hash = (53 * hash) + getBlockingRestartWindowSize();
10161  }
10163  hash = (37 * hash) + BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER;
10164  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10165  java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier()));
10166  }
10169  hash = (53 * hash) + getNumConflictsBeforeStrategyChanges();
10170  }
10172  hash = (37 * hash) + STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER;
10173  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10174  java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio()));
10175  }
10176  if (hasMaxTimeInSeconds()) {
10177  hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
10178  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10179  java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
10180  }
10181  if (hasMaxDeterministicTime()) {
10182  hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
10183  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10184  java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
10185  }
10186  if (hasMaxNumberOfConflicts()) {
10187  hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER;
10188  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10190  }
10191  if (hasMaxMemoryInMb()) {
10192  hash = (37 * hash) + MAX_MEMORY_IN_MB_FIELD_NUMBER;
10193  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10194  getMaxMemoryInMb());
10195  }
10196  if (hasAbsoluteGapLimit()) {
10197  hash = (37 * hash) + ABSOLUTE_GAP_LIMIT_FIELD_NUMBER;
10198  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10199  java.lang.Double.doubleToLongBits(getAbsoluteGapLimit()));
10200  }
10201  if (hasRelativeGapLimit()) {
10202  hash = (37 * hash) + RELATIVE_GAP_LIMIT_FIELD_NUMBER;
10203  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10204  java.lang.Double.doubleToLongBits(getRelativeGapLimit()));
10205  }
10207  hash = (37 * hash) + TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER;
10208  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10210  }
10211  if (hasRandomSeed()) {
10212  hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
10213  hash = (53 * hash) + getRandomSeed();
10214  }
10216  hash = (37 * hash) + PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER;
10217  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10219  }
10222  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10224  }
10225  if (hasUseAbslRandom()) {
10226  hash = (37 * hash) + USE_ABSL_RANDOM_FIELD_NUMBER;
10227  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10228  getUseAbslRandom());
10229  }
10230  if (hasLogSearchProgress()) {
10231  hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
10232  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10234  }
10235  if (hasLogSubsolverStatistics()) {
10236  hash = (37 * hash) + LOG_SUBSOLVER_STATISTICS_FIELD_NUMBER;
10237  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10239  }
10240  if (hasLogPrefix()) {
10241  hash = (37 * hash) + LOG_PREFIX_FIELD_NUMBER;
10242  hash = (53 * hash) + getLogPrefix().hashCode();
10243  }
10244  if (hasLogToStdout()) {
10245  hash = (37 * hash) + LOG_TO_STDOUT_FIELD_NUMBER;
10246  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10247  getLogToStdout());
10248  }
10249  if (hasLogToResponse()) {
10250  hash = (37 * hash) + LOG_TO_RESPONSE_FIELD_NUMBER;
10251  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10252  getLogToResponse());
10253  }
10254  if (hasUsePbResolution()) {
10255  hash = (37 * hash) + USE_PB_RESOLUTION_FIELD_NUMBER;
10256  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10257  getUsePbResolution());
10258  }
10261  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10263  }
10265  hash = (37 * hash) + COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER;
10266  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10268  }
10269  if (hasPresolveBveThreshold()) {
10270  hash = (37 * hash) + PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER;
10271  hash = (53 * hash) + getPresolveBveThreshold();
10272  }
10274  hash = (37 * hash) + PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER;
10275  hash = (53 * hash) + getPresolveBveClauseWeight();
10276  }
10279  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10280  java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit()));
10281  }
10282  if (hasPresolveBlockedClause()) {
10283  hash = (37 * hash) + PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER;
10284  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10286  }
10287  if (hasPresolveUseBva()) {
10288  hash = (37 * hash) + PRESOLVE_USE_BVA_FIELD_NUMBER;
10289  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10290  getPresolveUseBva());
10291  }
10292  if (hasPresolveBvaThreshold()) {
10293  hash = (37 * hash) + PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER;
10294  hash = (53 * hash) + getPresolveBvaThreshold();
10295  }
10296  if (hasMaxPresolveIterations()) {
10297  hash = (37 * hash) + MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER;
10298  hash = (53 * hash) + getMaxPresolveIterations();
10299  }
10300  if (hasCpModelPresolve()) {
10301  hash = (37 * hash) + CP_MODEL_PRESOLVE_FIELD_NUMBER;
10302  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10303  getCpModelPresolve());
10304  }
10307  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10309  }
10312  hash = (53 * hash) + getCpModelMaxNumPresolveOperations();
10313  }
10314  if (hasCpModelProbingLevel()) {
10315  hash = (37 * hash) + CP_MODEL_PROBING_LEVEL_FIELD_NUMBER;
10316  hash = (53 * hash) + getCpModelProbingLevel();
10317  }
10318  if (hasCpModelUseSatPresolve()) {
10319  hash = (37 * hash) + CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER;
10320  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10322  }
10323  if (hasUseSatInprocessing()) {
10324  hash = (37 * hash) + USE_SAT_INPROCESSING_FIELD_NUMBER;
10325  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10327  }
10329  hash = (37 * hash) + EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER;
10330  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10332  }
10334  hash = (37 * hash) + EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER;
10335  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10337  }
10338  if (hasExpandTableConstraints()) {
10339  hash = (37 * hash) + EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER;
10340  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10342  }
10344  hash = (37 * hash) + EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER;
10345  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10347  }
10349  hash = (37 * hash) + EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER;
10350  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10352  }
10354  hash = (37 * hash) + DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER;
10355  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10357  }
10359  hash = (37 * hash) + MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER;
10360  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10361  java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit()));
10362  }
10364  hash = (37 * hash) + MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER;
10365  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10366  java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit()));
10367  }
10369  hash = (37 * hash) + PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER;
10370  hash = (53 * hash) + getPresolveSubstitutionLevel();
10371  }
10374  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10376  }
10377  if (hasUseOptimizationHints()) {
10378  hash = (37 * hash) + USE_OPTIMIZATION_HINTS_FIELD_NUMBER;
10379  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10381  }
10382  if (hasMinimizeCore()) {
10383  hash = (37 * hash) + MINIMIZE_CORE_FIELD_NUMBER;
10384  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10385  getMinimizeCore());
10386  }
10387  if (hasFindMultipleCores()) {
10388  hash = (37 * hash) + FIND_MULTIPLE_CORES_FIELD_NUMBER;
10389  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10391  }
10392  if (hasCoverOptimization()) {
10393  hash = (37 * hash) + COVER_OPTIMIZATION_FIELD_NUMBER;
10394  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10396  }
10397  if (hasMaxSatAssumptionOrder()) {
10398  hash = (37 * hash) + MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER;
10399  hash = (53 * hash) + maxSatAssumptionOrder_;
10400  }
10402  hash = (37 * hash) + MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER;
10403  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10405  }
10406  if (hasMaxSatStratification()) {
10407  hash = (37 * hash) + MAX_SAT_STRATIFICATION_FIELD_NUMBER;
10408  hash = (53 * hash) + maxSatStratification_;
10409  }
10412  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10414  }
10417  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10419  }
10422  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10424  }
10427  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10429  }
10430  if (hasLinearizationLevel()) {
10431  hash = (37 * hash) + LINEARIZATION_LEVEL_FIELD_NUMBER;
10432  hash = (53 * hash) + getLinearizationLevel();
10433  }
10434  if (hasBooleanEncodingLevel()) {
10435  hash = (37 * hash) + BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER;
10436  hash = (53 * hash) + getBooleanEncodingLevel();
10437  }
10440  hash = (53 * hash) + getMaxDomainSizeWhenEncodingEqNeqConstraints();
10441  }
10442  if (hasMaxNumCuts()) {
10443  hash = (37 * hash) + MAX_NUM_CUTS_FIELD_NUMBER;
10444  hash = (53 * hash) + getMaxNumCuts();
10445  }
10446  if (hasOnlyAddCutsAtLevelZero()) {
10447  hash = (37 * hash) + ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER;
10448  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10450  }
10451  if (hasAddKnapsackCuts()) {
10452  hash = (37 * hash) + ADD_KNAPSACK_CUTS_FIELD_NUMBER;
10453  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10454  getAddKnapsackCuts());
10455  }
10456  if (hasAddCgCuts()) {
10457  hash = (37 * hash) + ADD_CG_CUTS_FIELD_NUMBER;
10458  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10459  getAddCgCuts());
10460  }
10461  if (hasAddMirCuts()) {
10462  hash = (37 * hash) + ADD_MIR_CUTS_FIELD_NUMBER;
10463  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10464  getAddMirCuts());
10465  }
10466  if (hasAddZeroHalfCuts()) {
10467  hash = (37 * hash) + ADD_ZERO_HALF_CUTS_FIELD_NUMBER;
10468  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10469  getAddZeroHalfCuts());
10470  }
10471  if (hasAddCliqueCuts()) {
10472  hash = (37 * hash) + ADD_CLIQUE_CUTS_FIELD_NUMBER;
10473  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10474  getAddCliqueCuts());
10475  }
10476  if (hasMaxAllDiffCutSize()) {
10477  hash = (37 * hash) + MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER;
10478  hash = (53 * hash) + getMaxAllDiffCutSize();
10479  }
10480  if (hasAddLinMaxCuts()) {
10481  hash = (37 * hash) + ADD_LIN_MAX_CUTS_FIELD_NUMBER;
10482  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10483  getAddLinMaxCuts());
10484  }
10486  hash = (37 * hash) + MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER;
10487  hash = (53 * hash) + getMaxIntegerRoundingScaling();
10488  }
10489  if (hasAddLpConstraintsLazily()) {
10490  hash = (37 * hash) + ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER;
10491  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10493  }
10496  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10497  java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints()));
10498  }
10500  hash = (37 * hash) + MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER;
10501  hash = (53 * hash) + getMaxCutRoundsAtLevelZero();
10502  }
10504  hash = (37 * hash) + MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER;
10505  hash = (53 * hash) + getMaxConsecutiveInactiveCount();
10506  }
10507  if (hasCutMaxActiveCountValue()) {
10508  hash = (37 * hash) + CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER;
10509  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10510  java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue()));
10511  }
10512  if (hasCutActiveCountDecay()) {
10513  hash = (37 * hash) + CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER;
10514  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10515  java.lang.Double.doubleToLongBits(getCutActiveCountDecay()));
10516  }
10517  if (hasCutCleanupTarget()) {
10518  hash = (37 * hash) + CUT_CLEANUP_TARGET_FIELD_NUMBER;
10519  hash = (53 * hash) + getCutCleanupTarget();
10520  }
10522  hash = (37 * hash) + NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER;
10523  hash = (53 * hash) + getNewConstraintsBatchSize();
10524  }
10525  if (hasSearchBranching()) {
10526  hash = (37 * hash) + SEARCH_BRANCHING_FIELD_NUMBER;
10527  hash = (53 * hash) + searchBranching_;
10528  }
10529  if (hasHintConflictLimit()) {
10530  hash = (37 * hash) + HINT_CONFLICT_LIMIT_FIELD_NUMBER;
10531  hash = (53 * hash) + getHintConflictLimit();
10532  }
10533  if (hasRepairHint()) {
10534  hash = (37 * hash) + REPAIR_HINT_FIELD_NUMBER;
10535  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10536  getRepairHint());
10537  }
10540  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10542  }
10544  hash = (37 * hash) + EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER;
10545  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10547  }
10548  if (hasExploitAllLpSolution()) {
10549  hash = (37 * hash) + EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER;
10550  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10552  }
10553  if (hasExploitBestSolution()) {
10554  hash = (37 * hash) + EXPLOIT_BEST_SOLUTION_FIELD_NUMBER;
10555  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10557  }
10559  hash = (37 * hash) + EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER;
10560  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10562  }
10563  if (hasExploitObjective()) {
10564  hash = (37 * hash) + EXPLOIT_OBJECTIVE_FIELD_NUMBER;
10565  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10567  }
10568  if (hasProbingPeriodAtRoot()) {
10569  hash = (37 * hash) + PROBING_PERIOD_AT_ROOT_FIELD_NUMBER;
10570  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10572  }
10573  if (hasUseProbingSearch()) {
10574  hash = (37 * hash) + USE_PROBING_SEARCH_FIELD_NUMBER;
10575  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10577  }
10580  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10582  }
10583  if (hasOptimizeWithCore()) {
10584  hash = (37 * hash) + OPTIMIZE_WITH_CORE_FIELD_NUMBER;
10585  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10587  }
10589  hash = (37 * hash) + OPTIMIZE_WITH_LB_TREE_SEARCH_FIELD_NUMBER;
10590  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10592  }
10594  hash = (37 * hash) + BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER;
10595  hash = (53 * hash) + getBinarySearchNumConflicts();
10596  }
10597  if (hasOptimizeWithMaxHs()) {
10598  hash = (37 * hash) + OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER;
10599  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10601  }
10602  if (hasEnumerateAllSolutions()) {
10603  hash = (37 * hash) + ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER;
10604  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10606  }
10609  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10611  }
10614  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10616  }
10618  hash = (37 * hash) + INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER;
10619  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10621  }
10624  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10626  }
10627  if (hasStopAfterFirstSolution()) {
10628  hash = (37 * hash) + STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER;
10629  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10631  }
10632  if (hasStopAfterPresolve()) {
10633  hash = (37 * hash) + STOP_AFTER_PRESOLVE_FIELD_NUMBER;
10634  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10636  }
10637  if (hasNumSearchWorkers()) {
10638  hash = (37 * hash) + NUM_SEARCH_WORKERS_FIELD_NUMBER;
10639  hash = (53 * hash) + getNumSearchWorkers();
10640  }
10641  if (hasInterleaveSearch()) {
10642  hash = (37 * hash) + INTERLEAVE_SEARCH_FIELD_NUMBER;
10643  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10645  }
10646  if (hasInterleaveBatchSize()) {
10647  hash = (37 * hash) + INTERLEAVE_BATCH_SIZE_FIELD_NUMBER;
10648  hash = (53 * hash) + getInterleaveBatchSize();
10649  }
10652  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10654  }
10655  if (hasShareObjectiveBounds()) {
10656  hash = (37 * hash) + SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER;
10657  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10659  }
10660  if (hasShareLevelZeroBounds()) {
10661  hash = (37 * hash) + SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER;
10662  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10664  }
10665  if (hasUseLnsOnly()) {
10666  hash = (37 * hash) + USE_LNS_ONLY_FIELD_NUMBER;
10667  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10668  getUseLnsOnly());
10669  }
10671  hash = (37 * hash) + LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER;
10672  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10674  }
10677  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10679  }
10680  if (hasSolutionPoolSize()) {
10681  hash = (37 * hash) + SOLUTION_POOL_SIZE_FIELD_NUMBER;
10682  hash = (53 * hash) + getSolutionPoolSize();
10683  }
10684  if (hasUseRinsLns()) {
10685  hash = (37 * hash) + USE_RINS_LNS_FIELD_NUMBER;
10686  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10687  getUseRinsLns());
10688  }
10689  if (hasUseFeasibilityPump()) {
10690  hash = (37 * hash) + USE_FEASIBILITY_PUMP_FIELD_NUMBER;
10691  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10693  }
10694  if (hasFpRounding()) {
10695  hash = (37 * hash) + FP_ROUNDING_FIELD_NUMBER;
10696  hash = (53 * hash) + fpRounding_;
10697  }
10698  if (hasUseRelaxationLns()) {
10699  hash = (37 * hash) + USE_RELAXATION_LNS_FIELD_NUMBER;
10700  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10702  }
10703  if (hasDiversifyLnsParams()) {
10704  hash = (37 * hash) + DIVERSIFY_LNS_PARAMS_FIELD_NUMBER;
10705  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10707  }
10708  if (hasRandomizeSearch()) {
10709  hash = (37 * hash) + RANDOMIZE_SEARCH_FIELD_NUMBER;
10710  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10711  getRandomizeSearch());
10712  }
10714  hash = (37 * hash) + SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER;
10715  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10717  }
10718  if (hasUseOptionalVariables()) {
10719  hash = (37 * hash) + USE_OPTIONAL_VARIABLES_FIELD_NUMBER;
10720  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10722  }
10723  if (hasUseExactLpReason()) {
10724  hash = (37 * hash) + USE_EXACT_LP_REASON_FIELD_NUMBER;
10725  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10727  }
10728  if (hasUseBranchingInLp()) {
10729  hash = (37 * hash) + USE_BRANCHING_IN_LP_FIELD_NUMBER;
10730  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10732  }
10733  if (hasUseCombinedNoOverlap()) {
10734  hash = (37 * hash) + USE_COMBINED_NO_OVERLAP_FIELD_NUMBER;
10735  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10737  }
10738  if (hasCatchSigintSignal()) {
10739  hash = (37 * hash) + CATCH_SIGINT_SIGNAL_FIELD_NUMBER;
10740  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10742  }
10743  if (hasUseImpliedBounds()) {
10744  hash = (37 * hash) + USE_IMPLIED_BOUNDS_FIELD_NUMBER;
10745  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10747  }
10748  if (hasPolishLpSolution()) {
10749  hash = (37 * hash) + POLISH_LP_SOLUTION_FIELD_NUMBER;
10750  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10752  }
10753  if (hasConvertIntervals()) {
10754  hash = (37 * hash) + CONVERT_INTERVALS_FIELD_NUMBER;
10755  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10757  }
10758  if (hasSymmetryLevel()) {
10759  hash = (37 * hash) + SYMMETRY_LEVEL_FIELD_NUMBER;
10760  hash = (53 * hash) + getSymmetryLevel();
10761  }
10762  if (hasMipMaxBound()) {
10763  hash = (37 * hash) + MIP_MAX_BOUND_FIELD_NUMBER;
10764  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10765  java.lang.Double.doubleToLongBits(getMipMaxBound()));
10766  }
10767  if (hasMipVarScaling()) {
10768  hash = (37 * hash) + MIP_VAR_SCALING_FIELD_NUMBER;
10769  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10770  java.lang.Double.doubleToLongBits(getMipVarScaling()));
10771  }
10774  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10776  }
10777  if (hasMipWantedPrecision()) {
10778  hash = (37 * hash) + MIP_WANTED_PRECISION_FIELD_NUMBER;
10779  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10780  java.lang.Double.doubleToLongBits(getMipWantedPrecision()));
10781  }
10782  if (hasMipMaxActivityExponent()) {
10783  hash = (37 * hash) + MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER;
10784  hash = (53 * hash) + getMipMaxActivityExponent();
10785  }
10786  if (hasMipCheckPrecision()) {
10787  hash = (37 * hash) + MIP_CHECK_PRECISION_FIELD_NUMBER;
10788  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10789  java.lang.Double.doubleToLongBits(getMipCheckPrecision()));
10790  }
10791  hash = (29 * hash) + unknownFields.hashCode();
10792  memoizedHashCode = hash;
10793  return hash;
10794  }
10795 
10797  java.nio.ByteBuffer data)
10798  throws com.google.protobuf.InvalidProtocolBufferException {
10799  return PARSER.parseFrom(data);
10800  }
10802  java.nio.ByteBuffer data,
10803  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10804  throws com.google.protobuf.InvalidProtocolBufferException {
10805  return PARSER.parseFrom(data, extensionRegistry);
10806  }
10808  com.google.protobuf.ByteString data)
10809  throws com.google.protobuf.InvalidProtocolBufferException {
10810  return PARSER.parseFrom(data);
10811  }
10813  com.google.protobuf.ByteString data,
10814  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10815  throws com.google.protobuf.InvalidProtocolBufferException {
10816  return PARSER.parseFrom(data, extensionRegistry);
10817  }
10818  public static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
10819  throws com.google.protobuf.InvalidProtocolBufferException {
10820  return PARSER.parseFrom(data);
10821  }
10823  byte[] data,
10824  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10825  throws com.google.protobuf.InvalidProtocolBufferException {
10826  return PARSER.parseFrom(data, extensionRegistry);
10827  }
10828  public static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
10829  throws java.io.IOException {
10830  return com.google.protobuf.GeneratedMessageV3
10831  .parseWithIOException(PARSER, input);
10832  }
10834  java.io.InputStream input,
10835  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10836  throws java.io.IOException {
10837  return com.google.protobuf.GeneratedMessageV3
10838  .parseWithIOException(PARSER, input, extensionRegistry);
10839  }
10840  public static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
10841  throws java.io.IOException {
10842  return com.google.protobuf.GeneratedMessageV3
10843  .parseDelimitedWithIOException(PARSER, input);
10844  }
10846  java.io.InputStream input,
10847  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10848  throws java.io.IOException {
10849  return com.google.protobuf.GeneratedMessageV3
10850  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
10851  }
10853  com.google.protobuf.CodedInputStream input)
10854  throws java.io.IOException {
10855  return com.google.protobuf.GeneratedMessageV3
10856  .parseWithIOException(PARSER, input);
10857  }
10859  com.google.protobuf.CodedInputStream input,
10860  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10861  throws java.io.IOException {
10862  return com.google.protobuf.GeneratedMessageV3
10863  .parseWithIOException(PARSER, input, extensionRegistry);
10864  }
10865 
10866  @java.lang.Override
10867  public Builder newBuilderForType() { return newBuilder(); }
10868  public static Builder newBuilder() {
10869  return DEFAULT_INSTANCE.toBuilder();
10870  }
10871  public static Builder newBuilder(com.google.ortools.sat.SatParameters prototype) {
10872  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
10873  }
10874  @java.lang.Override
10875  public Builder toBuilder() {
10876  return this == DEFAULT_INSTANCE
10877  ? new Builder() : new Builder().mergeFrom(this);
10878  }
10879 
10880  @java.lang.Override
10882  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
10883  Builder builder = new Builder(parent);
10884  return builder;
10885  }
10895  public static final class Builder extends
10896  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
10897  // @@protoc_insertion_point(builder_implements:operations_research.sat.SatParameters)
10898  com.google.ortools.sat.SatParametersOrBuilder {
10899  public static final com.google.protobuf.Descriptors.Descriptor
10901  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
10902  }
10903 
10904  @java.lang.Override
10905  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
10907  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
10908  .ensureFieldAccessorsInitialized(
10910  }
10911 
10912  // Construct using com.google.ortools.sat.SatParameters.newBuilder()
10913  private Builder() {
10914  maybeForceBuilderInitialization();
10915  }
10916 
10917  private Builder(
10918  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
10919  super(parent);
10920  maybeForceBuilderInitialization();
10921  }
10922  private void maybeForceBuilderInitialization() {
10923  if (com.google.protobuf.GeneratedMessageV3
10924  .alwaysUseFieldBuilders) {
10925  }
10926  }
10927  @java.lang.Override
10928  public Builder clear() {
10929  super.clear();
10930  name_ = "";
10931  bitField0_ = (bitField0_ & ~0x00000001);
10932  preferredVariableOrder_ = 0;
10933  bitField0_ = (bitField0_ & ~0x00000002);
10934  initialPolarity_ = 1;
10935  bitField0_ = (bitField0_ & ~0x00000004);
10936  usePhaseSaving_ = true;
10937  bitField0_ = (bitField0_ & ~0x00000008);
10938  polarityRephaseIncrement_ = 1000;
10939  bitField0_ = (bitField0_ & ~0x00000010);
10940  randomPolarityRatio_ = 0D;
10941  bitField0_ = (bitField0_ & ~0x00000020);
10942  randomBranchesRatio_ = 0D;
10943  bitField0_ = (bitField0_ & ~0x00000040);
10944  useErwaHeuristic_ = false;
10945  bitField0_ = (bitField0_ & ~0x00000080);
10946  initialVariablesActivity_ = 0D;
10947  bitField0_ = (bitField0_ & ~0x00000100);
10948  alsoBumpVariablesInConflictReasons_ = false;
10949  bitField0_ = (bitField0_ & ~0x00000200);
10950  minimizationAlgorithm_ = 2;
10951  bitField0_ = (bitField0_ & ~0x00000400);
10952  binaryMinimizationAlgorithm_ = 1;
10953  bitField0_ = (bitField0_ & ~0x00000800);
10954  subsumptionDuringConflictAnalysis_ = true;
10955  bitField0_ = (bitField0_ & ~0x00001000);
10956  clauseCleanupPeriod_ = 10000;
10957  bitField0_ = (bitField0_ & ~0x00002000);
10958  clauseCleanupTarget_ = 0;
10959  bitField0_ = (bitField0_ & ~0x00004000);
10960  clauseCleanupRatio_ = 0.5D;
10961  bitField0_ = (bitField0_ & ~0x00008000);
10962  clauseCleanupProtection_ = 0;
10963  bitField0_ = (bitField0_ & ~0x00010000);
10964  clauseCleanupLbdBound_ = 5;
10965  bitField0_ = (bitField0_ & ~0x00020000);
10966  clauseCleanupOrdering_ = 0;
10967  bitField0_ = (bitField0_ & ~0x00040000);
10968  pbCleanupIncrement_ = 200;
10969  bitField0_ = (bitField0_ & ~0x00080000);
10970  pbCleanupRatio_ = 0.5D;
10971  bitField0_ = (bitField0_ & ~0x00100000);
10972  minimizeWithPropagationRestartPeriod_ = 10;
10973  bitField0_ = (bitField0_ & ~0x00200000);
10974  minimizeWithPropagationNumDecisions_ = 1000;
10975  bitField0_ = (bitField0_ & ~0x00400000);
10976  variableActivityDecay_ = 0.8D;
10977  bitField0_ = (bitField0_ & ~0x00800000);
10978  maxVariableActivityValue_ = 1e+100D;
10979  bitField0_ = (bitField0_ & ~0x01000000);
10980  glucoseMaxDecay_ = 0.95D;
10981  bitField0_ = (bitField0_ & ~0x02000000);
10982  glucoseDecayIncrement_ = 0.01D;
10983  bitField0_ = (bitField0_ & ~0x04000000);
10984  glucoseDecayIncrementPeriod_ = 5000;
10985  bitField0_ = (bitField0_ & ~0x08000000);
10986  clauseActivityDecay_ = 0.999D;
10987  bitField0_ = (bitField0_ & ~0x10000000);
10988  maxClauseActivityValue_ = 1e+20D;
10989  bitField0_ = (bitField0_ & ~0x20000000);
10990  restartAlgorithms_ = java.util.Collections.emptyList();
10991  bitField0_ = (bitField0_ & ~0x40000000);
10992  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
10993  bitField0_ = (bitField0_ & ~0x80000000);
10994  restartPeriod_ = 50;
10995  bitField1_ = (bitField1_ & ~0x00000001);
10996  restartRunningWindowSize_ = 50;
10997  bitField1_ = (bitField1_ & ~0x00000002);
10998  restartDlAverageRatio_ = 1D;
10999  bitField1_ = (bitField1_ & ~0x00000004);
11000  restartLbdAverageRatio_ = 1D;
11001  bitField1_ = (bitField1_ & ~0x00000008);
11002  useBlockingRestart_ = false;
11003  bitField1_ = (bitField1_ & ~0x00000010);
11004  blockingRestartWindowSize_ = 5000;
11005  bitField1_ = (bitField1_ & ~0x00000020);
11006  blockingRestartMultiplier_ = 1.4D;
11007  bitField1_ = (bitField1_ & ~0x00000040);
11008  numConflictsBeforeStrategyChanges_ = 0;
11009  bitField1_ = (bitField1_ & ~0x00000080);
11010  strategyChangeIncreaseRatio_ = 0D;
11011  bitField1_ = (bitField1_ & ~0x00000100);
11012  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
11013  bitField1_ = (bitField1_ & ~0x00000200);
11014  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
11015  bitField1_ = (bitField1_ & ~0x00000400);
11016  maxNumberOfConflicts_ = 9223372036854775807L;
11017  bitField1_ = (bitField1_ & ~0x00000800);
11018  maxMemoryInMb_ = 10000L;
11019  bitField1_ = (bitField1_ & ~0x00001000);
11020  absoluteGapLimit_ = 0D;
11021  bitField1_ = (bitField1_ & ~0x00002000);
11022  relativeGapLimit_ = 0D;
11023  bitField1_ = (bitField1_ & ~0x00004000);
11024  treatBinaryClausesSeparately_ = true;
11025  bitField1_ = (bitField1_ & ~0x00008000);
11026  randomSeed_ = 1;
11027  bitField1_ = (bitField1_ & ~0x00010000);
11028  permuteVariableRandomly_ = false;
11029  bitField1_ = (bitField1_ & ~0x00020000);
11030  permutePresolveConstraintOrder_ = false;
11031  bitField1_ = (bitField1_ & ~0x00040000);
11032  useAbslRandom_ = false;
11033  bitField1_ = (bitField1_ & ~0x00080000);
11034  logSearchProgress_ = false;
11035  bitField1_ = (bitField1_ & ~0x00100000);
11036  logSubsolverStatistics_ = true;
11037  bitField1_ = (bitField1_ & ~0x00200000);
11038  logPrefix_ = "";
11039  bitField1_ = (bitField1_ & ~0x00400000);
11040  logToStdout_ = true;
11041  bitField1_ = (bitField1_ & ~0x00800000);
11042  logToResponse_ = false;
11043  bitField1_ = (bitField1_ & ~0x01000000);
11044  usePbResolution_ = false;
11045  bitField1_ = (bitField1_ & ~0x02000000);
11046  minimizeReductionDuringPbResolution_ = false;
11047  bitField1_ = (bitField1_ & ~0x04000000);
11048  countAssumptionLevelsInLbd_ = true;
11049  bitField1_ = (bitField1_ & ~0x08000000);
11050  presolveBveThreshold_ = 500;
11051  bitField1_ = (bitField1_ & ~0x10000000);
11052  presolveBveClauseWeight_ = 3;
11053  bitField1_ = (bitField1_ & ~0x20000000);
11054  presolveProbingDeterministicTimeLimit_ = 30D;
11055  bitField1_ = (bitField1_ & ~0x40000000);
11056  presolveBlockedClause_ = true;
11057  bitField1_ = (bitField1_ & ~0x80000000);
11058  presolveUseBva_ = true;
11059  bitField2_ = (bitField2_ & ~0x00000001);
11060  presolveBvaThreshold_ = 1;
11061  bitField2_ = (bitField2_ & ~0x00000002);
11062  maxPresolveIterations_ = 3;
11063  bitField2_ = (bitField2_ & ~0x00000004);
11064  cpModelPresolve_ = true;
11065  bitField2_ = (bitField2_ & ~0x00000008);
11066  cpModelPostsolveWithFullSolver_ = false;
11067  bitField2_ = (bitField2_ & ~0x00000010);
11068  cpModelMaxNumPresolveOperations_ = 0;
11069  bitField2_ = (bitField2_ & ~0x00000020);
11070  cpModelProbingLevel_ = 2;
11071  bitField2_ = (bitField2_ & ~0x00000040);
11072  cpModelUseSatPresolve_ = true;
11073  bitField2_ = (bitField2_ & ~0x00000080);
11074  useSatInprocessing_ = false;
11075  bitField2_ = (bitField2_ & ~0x00000100);
11076  expandElementConstraints_ = true;
11077  bitField2_ = (bitField2_ & ~0x00000200);
11078  expandAutomatonConstraints_ = true;
11079  bitField2_ = (bitField2_ & ~0x00000400);
11080  expandTableConstraints_ = true;
11081  bitField2_ = (bitField2_ & ~0x00000800);
11082  expandAlldiffConstraints_ = false;
11083  bitField2_ = (bitField2_ & ~0x00001000);
11084  expandReservoirConstraints_ = true;
11085  bitField2_ = (bitField2_ & ~0x00002000);
11086  disableConstraintExpansion_ = false;
11087  bitField2_ = (bitField2_ & ~0x00004000);
11088  mergeNoOverlapWorkLimit_ = 1000000000000D;
11089  bitField2_ = (bitField2_ & ~0x00008000);
11090  mergeAtMostOneWorkLimit_ = 100000000D;
11091  bitField2_ = (bitField2_ & ~0x00010000);
11092  presolveSubstitutionLevel_ = 1;
11093  bitField2_ = (bitField2_ & ~0x00020000);
11094  presolveExtractIntegerEnforcement_ = false;
11095  bitField2_ = (bitField2_ & ~0x00040000);
11096  useOptimizationHints_ = true;
11097  bitField2_ = (bitField2_ & ~0x00080000);
11098  minimizeCore_ = true;
11099  bitField2_ = (bitField2_ & ~0x00100000);
11100  findMultipleCores_ = true;
11101  bitField2_ = (bitField2_ & ~0x00200000);
11102  coverOptimization_ = true;
11103  bitField2_ = (bitField2_ & ~0x00400000);
11104  maxSatAssumptionOrder_ = 0;
11105  bitField2_ = (bitField2_ & ~0x00800000);
11106  maxSatReverseAssumptionOrder_ = false;
11107  bitField2_ = (bitField2_ & ~0x01000000);
11108  maxSatStratification_ = 1;
11109  bitField2_ = (bitField2_ & ~0x02000000);
11110  usePrecedencesInDisjunctiveConstraint_ = true;
11111  bitField2_ = (bitField2_ & ~0x04000000);
11112  useOverloadCheckerInCumulativeConstraint_ = false;
11113  bitField2_ = (bitField2_ & ~0x08000000);
11114  useTimetableEdgeFindingInCumulativeConstraint_ = false;
11115  bitField2_ = (bitField2_ & ~0x10000000);
11116  useDisjunctiveConstraintInCumulativeConstraint_ = true;
11117  bitField2_ = (bitField2_ & ~0x20000000);
11118  linearizationLevel_ = 1;
11119  bitField2_ = (bitField2_ & ~0x40000000);
11120  booleanEncodingLevel_ = 1;
11121  bitField2_ = (bitField2_ & ~0x80000000);
11122  maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
11123  bitField3_ = (bitField3_ & ~0x00000001);
11124  maxNumCuts_ = 10000;
11125  bitField3_ = (bitField3_ & ~0x00000002);
11126  onlyAddCutsAtLevelZero_ = false;
11127  bitField3_ = (bitField3_ & ~0x00000004);
11128  addKnapsackCuts_ = false;
11129  bitField3_ = (bitField3_ & ~0x00000008);
11130  addCgCuts_ = true;
11131  bitField3_ = (bitField3_ & ~0x00000010);
11132  addMirCuts_ = true;
11133  bitField3_ = (bitField3_ & ~0x00000020);
11134  addZeroHalfCuts_ = true;
11135  bitField3_ = (bitField3_ & ~0x00000040);
11136  addCliqueCuts_ = true;
11137  bitField3_ = (bitField3_ & ~0x00000080);
11138  maxAllDiffCutSize_ = 7;
11139  bitField3_ = (bitField3_ & ~0x00000100);
11140  addLinMaxCuts_ = true;
11141  bitField3_ = (bitField3_ & ~0x00000200);
11142  maxIntegerRoundingScaling_ = 600;
11143  bitField3_ = (bitField3_ & ~0x00000400);
11144  addLpConstraintsLazily_ = true;
11145  bitField3_ = (bitField3_ & ~0x00000800);
11146  minOrthogonalityForLpConstraints_ = 0.05D;
11147  bitField3_ = (bitField3_ & ~0x00001000);
11148  maxCutRoundsAtLevelZero_ = 1;
11149  bitField3_ = (bitField3_ & ~0x00002000);
11150  maxConsecutiveInactiveCount_ = 100;
11151  bitField3_ = (bitField3_ & ~0x00004000);
11152  cutMaxActiveCountValue_ = 10000000000D;
11153  bitField3_ = (bitField3_ & ~0x00008000);
11154  cutActiveCountDecay_ = 0.8D;
11155  bitField3_ = (bitField3_ & ~0x00010000);
11156  cutCleanupTarget_ = 1000;
11157  bitField3_ = (bitField3_ & ~0x00020000);
11158  newConstraintsBatchSize_ = 50;
11159  bitField3_ = (bitField3_ & ~0x00040000);
11160  searchBranching_ = 0;
11161  bitField3_ = (bitField3_ & ~0x00080000);
11162  hintConflictLimit_ = 10;
11163  bitField3_ = (bitField3_ & ~0x00100000);
11164  repairHint_ = false;
11165  bitField3_ = (bitField3_ & ~0x00200000);
11166  fixVariablesToTheirHintedValue_ = false;
11167  bitField3_ = (bitField3_ & ~0x00400000);
11168  exploitIntegerLpSolution_ = true;
11169  bitField3_ = (bitField3_ & ~0x00800000);
11170  exploitAllLpSolution_ = true;
11171  bitField3_ = (bitField3_ & ~0x01000000);
11172  exploitBestSolution_ = false;
11173  bitField3_ = (bitField3_ & ~0x02000000);
11174  exploitRelaxationSolution_ = false;
11175  bitField3_ = (bitField3_ & ~0x04000000);
11176  exploitObjective_ = true;
11177  bitField3_ = (bitField3_ & ~0x08000000);
11178  probingPeriodAtRoot_ = 0L;
11179  bitField3_ = (bitField3_ & ~0x10000000);
11180  useProbingSearch_ = false;
11181  bitField3_ = (bitField3_ & ~0x20000000);
11182  pseudoCostReliabilityThreshold_ = 100L;
11183  bitField3_ = (bitField3_ & ~0x40000000);
11184  optimizeWithCore_ = false;
11185  bitField3_ = (bitField3_ & ~0x80000000);
11186  optimizeWithLbTreeSearch_ = false;
11187  bitField4_ = (bitField4_ & ~0x00000001);
11188  binarySearchNumConflicts_ = -1;
11189  bitField4_ = (bitField4_ & ~0x00000002);
11190  optimizeWithMaxHs_ = false;
11191  bitField4_ = (bitField4_ & ~0x00000004);
11192  enumerateAllSolutions_ = false;
11193  bitField4_ = (bitField4_ & ~0x00000008);
11194  keepAllFeasibleSolutionsInPresolve_ = false;
11195  bitField4_ = (bitField4_ & ~0x00000010);
11196  fillTightenedDomainsInResponse_ = false;
11197  bitField4_ = (bitField4_ & ~0x00000020);
11198  instantiateAllVariables_ = true;
11199  bitField4_ = (bitField4_ & ~0x00000040);
11200  autoDetectGreaterThanAtLeastOneOf_ = true;
11201  bitField4_ = (bitField4_ & ~0x00000080);
11202  stopAfterFirstSolution_ = false;
11203  bitField4_ = (bitField4_ & ~0x00000100);
11204  stopAfterPresolve_ = false;
11205  bitField4_ = (bitField4_ & ~0x00000200);
11206  numSearchWorkers_ = 0;
11207  bitField4_ = (bitField4_ & ~0x00000400);
11208  interleaveSearch_ = false;
11209  bitField4_ = (bitField4_ & ~0x00000800);
11210  interleaveBatchSize_ = 1;
11211  bitField4_ = (bitField4_ & ~0x00001000);
11212  reduceMemoryUsageInInterleaveMode_ = false;
11213  bitField4_ = (bitField4_ & ~0x00002000);
11214  shareObjectiveBounds_ = true;
11215  bitField4_ = (bitField4_ & ~0x00004000);
11216  shareLevelZeroBounds_ = true;
11217  bitField4_ = (bitField4_ & ~0x00008000);
11218  useLnsOnly_ = false;
11219  bitField4_ = (bitField4_ & ~0x00010000);
11220  lnsFocusOnDecisionVariables_ = false;
11221  bitField4_ = (bitField4_ & ~0x00020000);
11222  lnsExpandIntervalsInConstraintGraph_ = true;
11223  bitField4_ = (bitField4_ & ~0x00040000);
11224  solutionPoolSize_ = 3;
11225  bitField4_ = (bitField4_ & ~0x00080000);
11226  useRinsLns_ = true;
11227  bitField4_ = (bitField4_ & ~0x00100000);
11228  useFeasibilityPump_ = true;
11229  bitField4_ = (bitField4_ & ~0x00200000);
11230  fpRounding_ = 2;
11231  bitField4_ = (bitField4_ & ~0x00400000);
11232  useRelaxationLns_ = false;
11233  bitField4_ = (bitField4_ & ~0x00800000);
11234  diversifyLnsParams_ = false;
11235  bitField4_ = (bitField4_ & ~0x01000000);
11236  randomizeSearch_ = false;
11237  bitField4_ = (bitField4_ & ~0x02000000);
11238  searchRandomizationTolerance_ = 0L;
11239  bitField4_ = (bitField4_ & ~0x04000000);
11240  useOptionalVariables_ = true;
11241  bitField4_ = (bitField4_ & ~0x08000000);
11242  useExactLpReason_ = true;
11243  bitField4_ = (bitField4_ & ~0x10000000);
11244  useBranchingInLp_ = false;
11245  bitField4_ = (bitField4_ & ~0x20000000);
11246  useCombinedNoOverlap_ = false;
11247  bitField4_ = (bitField4_ & ~0x40000000);
11248  catchSigintSignal_ = true;
11249  bitField4_ = (bitField4_ & ~0x80000000);
11250  useImpliedBounds_ = true;
11251  bitField5_ = (bitField5_ & ~0x00000001);
11252  polishLpSolution_ = false;
11253  bitField5_ = (bitField5_ & ~0x00000002);
11254  convertIntervals_ = true;
11255  bitField5_ = (bitField5_ & ~0x00000004);
11256  symmetryLevel_ = 2;
11257  bitField5_ = (bitField5_ & ~0x00000008);
11258  mipMaxBound_ = 10000000D;
11259  bitField5_ = (bitField5_ & ~0x00000010);
11260  mipVarScaling_ = 1D;
11261  bitField5_ = (bitField5_ & ~0x00000020);
11262  mipAutomaticallyScaleVariables_ = true;
11263  bitField5_ = (bitField5_ & ~0x00000040);
11264  mipWantedPrecision_ = 1e-06D;
11265  bitField5_ = (bitField5_ & ~0x00000080);
11266  mipMaxActivityExponent_ = 53;
11267  bitField5_ = (bitField5_ & ~0x00000100);
11268  mipCheckPrecision_ = 0.0001D;
11269  bitField5_ = (bitField5_ & ~0x00000200);
11270  return this;
11271  }
11272 
11273  @java.lang.Override
11274  public com.google.protobuf.Descriptors.Descriptor
11276  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
11277  }
11278 
11279  @java.lang.Override
11282  }
11283 
11284  @java.lang.Override
11287  if (!result.isInitialized()) {
11288  throw newUninitializedMessageException(result);
11289  }
11290  return result;
11291  }
11292 
11293  @java.lang.Override
11296  int from_bitField0_ = bitField0_;
11297  int from_bitField1_ = bitField1_;
11298  int from_bitField2_ = bitField2_;
11299  int from_bitField3_ = bitField3_;
11300  int from_bitField4_ = bitField4_;
11301  int from_bitField5_ = bitField5_;
11302  int to_bitField0_ = 0;
11303  int to_bitField1_ = 0;
11304  int to_bitField2_ = 0;
11305  int to_bitField3_ = 0;
11306  int to_bitField4_ = 0;
11307  int to_bitField5_ = 0;
11308  if (((from_bitField0_ & 0x00000001) != 0)) {
11309  to_bitField0_ |= 0x00000001;
11310  }
11311  result.name_ = name_;
11312  if (((from_bitField0_ & 0x00000002) != 0)) {
11313  to_bitField0_ |= 0x00000002;
11314  }
11315  result.preferredVariableOrder_ = preferredVariableOrder_;
11316  if (((from_bitField0_ & 0x00000004) != 0)) {
11317  to_bitField0_ |= 0x00000004;
11318  }
11319  result.initialPolarity_ = initialPolarity_;
11320  if (((from_bitField0_ & 0x00000008) != 0)) {
11321  to_bitField0_ |= 0x00000008;
11322  }
11323  result.usePhaseSaving_ = usePhaseSaving_;
11324  if (((from_bitField0_ & 0x00000010) != 0)) {
11325  to_bitField0_ |= 0x00000010;
11326  }
11327  result.polarityRephaseIncrement_ = polarityRephaseIncrement_;
11328  if (((from_bitField0_ & 0x00000020) != 0)) {
11329  result.randomPolarityRatio_ = randomPolarityRatio_;
11330  to_bitField0_ |= 0x00000020;
11331  }
11332  if (((from_bitField0_ & 0x00000040) != 0)) {
11333  result.randomBranchesRatio_ = randomBranchesRatio_;
11334  to_bitField0_ |= 0x00000040;
11335  }
11336  if (((from_bitField0_ & 0x00000080) != 0)) {
11337  result.useErwaHeuristic_ = useErwaHeuristic_;
11338  to_bitField0_ |= 0x00000080;
11339  }
11340  if (((from_bitField0_ & 0x00000100) != 0)) {
11341  result.initialVariablesActivity_ = initialVariablesActivity_;
11342  to_bitField0_ |= 0x00000100;
11343  }
11344  if (((from_bitField0_ & 0x00000200) != 0)) {
11345  result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
11346  to_bitField0_ |= 0x00000200;
11347  }
11348  if (((from_bitField0_ & 0x00000400) != 0)) {
11349  to_bitField0_ |= 0x00000400;
11350  }
11351  result.minimizationAlgorithm_ = minimizationAlgorithm_;
11352  if (((from_bitField0_ & 0x00000800) != 0)) {
11353  to_bitField0_ |= 0x00000800;
11354  }
11355  result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
11356  if (((from_bitField0_ & 0x00001000) != 0)) {
11357  to_bitField0_ |= 0x00001000;
11358  }
11359  result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
11360  if (((from_bitField0_ & 0x00002000) != 0)) {
11361  to_bitField0_ |= 0x00002000;
11362  }
11363  result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
11364  if (((from_bitField0_ & 0x00004000) != 0)) {
11365  result.clauseCleanupTarget_ = clauseCleanupTarget_;
11366  to_bitField0_ |= 0x00004000;
11367  }
11368  if (((from_bitField0_ & 0x00008000) != 0)) {
11369  to_bitField0_ |= 0x00008000;
11370  }
11371  result.clauseCleanupRatio_ = clauseCleanupRatio_;
11372  if (((from_bitField0_ & 0x00010000) != 0)) {
11373  to_bitField0_ |= 0x00010000;
11374  }
11375  result.clauseCleanupProtection_ = clauseCleanupProtection_;
11376  if (((from_bitField0_ & 0x00020000) != 0)) {
11377  to_bitField0_ |= 0x00020000;
11378  }
11379  result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
11380  if (((from_bitField0_ & 0x00040000) != 0)) {
11381  to_bitField0_ |= 0x00040000;
11382  }
11383  result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
11384  if (((from_bitField0_ & 0x00080000) != 0)) {
11385  to_bitField0_ |= 0x00080000;
11386  }
11387  result.pbCleanupIncrement_ = pbCleanupIncrement_;
11388  if (((from_bitField0_ & 0x00100000) != 0)) {
11389  to_bitField0_ |= 0x00100000;
11390  }
11391  result.pbCleanupRatio_ = pbCleanupRatio_;
11392  if (((from_bitField0_ & 0x00200000) != 0)) {
11393  to_bitField0_ |= 0x00200000;
11394  }
11395  result.minimizeWithPropagationRestartPeriod_ = minimizeWithPropagationRestartPeriod_;
11396  if (((from_bitField0_ & 0x00400000) != 0)) {
11397  to_bitField0_ |= 0x00400000;
11398  }
11399  result.minimizeWithPropagationNumDecisions_ = minimizeWithPropagationNumDecisions_;
11400  if (((from_bitField0_ & 0x00800000) != 0)) {
11401  to_bitField0_ |= 0x00800000;
11402  }
11403  result.variableActivityDecay_ = variableActivityDecay_;
11404  if (((from_bitField0_ & 0x01000000) != 0)) {
11405  to_bitField0_ |= 0x01000000;
11406  }
11407  result.maxVariableActivityValue_ = maxVariableActivityValue_;
11408  if (((from_bitField0_ & 0x02000000) != 0)) {
11409  to_bitField0_ |= 0x02000000;
11410  }
11411  result.glucoseMaxDecay_ = glucoseMaxDecay_;
11412  if (((from_bitField0_ & 0x04000000) != 0)) {
11413  to_bitField0_ |= 0x04000000;
11414  }
11415  result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
11416  if (((from_bitField0_ & 0x08000000) != 0)) {
11417  to_bitField0_ |= 0x08000000;
11418  }
11419  result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
11420  if (((from_bitField0_ & 0x10000000) != 0)) {
11421  to_bitField0_ |= 0x10000000;
11422  }
11423  result.clauseActivityDecay_ = clauseActivityDecay_;
11424  if (((from_bitField0_ & 0x20000000) != 0)) {
11425  to_bitField0_ |= 0x20000000;
11426  }
11427  result.maxClauseActivityValue_ = maxClauseActivityValue_;
11428  if (((bitField0_ & 0x40000000) != 0)) {
11429  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
11430  bitField0_ = (bitField0_ & ~0x40000000);
11431  }
11432  result.restartAlgorithms_ = restartAlgorithms_;
11433  if (((from_bitField0_ & 0x80000000) != 0)) {
11434  to_bitField0_ |= 0x40000000;
11435  }
11436  result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
11437  if (((from_bitField1_ & 0x00000001) != 0)) {
11438  to_bitField0_ |= 0x80000000;
11439  }
11440  result.restartPeriod_ = restartPeriod_;
11441  if (((from_bitField1_ & 0x00000002) != 0)) {
11442  to_bitField1_ |= 0x00000001;
11443  }
11444  result.restartRunningWindowSize_ = restartRunningWindowSize_;
11445  if (((from_bitField1_ & 0x00000004) != 0)) {
11446  to_bitField1_ |= 0x00000002;
11447  }
11448  result.restartDlAverageRatio_ = restartDlAverageRatio_;
11449  if (((from_bitField1_ & 0x00000008) != 0)) {
11450  to_bitField1_ |= 0x00000004;
11451  }
11452  result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
11453  if (((from_bitField1_ & 0x00000010) != 0)) {
11454  result.useBlockingRestart_ = useBlockingRestart_;
11455  to_bitField1_ |= 0x00000008;
11456  }
11457  if (((from_bitField1_ & 0x00000020) != 0)) {
11458  to_bitField1_ |= 0x00000010;
11459  }
11460  result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
11461  if (((from_bitField1_ & 0x00000040) != 0)) {
11462  to_bitField1_ |= 0x00000020;
11463  }
11464  result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
11465  if (((from_bitField1_ & 0x00000080) != 0)) {
11466  result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
11467  to_bitField1_ |= 0x00000040;
11468  }
11469  if (((from_bitField1_ & 0x00000100) != 0)) {
11470  result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
11471  to_bitField1_ |= 0x00000080;
11472  }
11473  if (((from_bitField1_ & 0x00000200) != 0)) {
11474  to_bitField1_ |= 0x00000100;
11475  }
11476  result.maxTimeInSeconds_ = maxTimeInSeconds_;
11477  if (((from_bitField1_ & 0x00000400) != 0)) {
11478  to_bitField1_ |= 0x00000200;
11479  }
11480  result.maxDeterministicTime_ = maxDeterministicTime_;
11481  if (((from_bitField1_ & 0x00000800) != 0)) {
11482  to_bitField1_ |= 0x00000400;
11483  }
11484  result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
11485  if (((from_bitField1_ & 0x00001000) != 0)) {
11486  to_bitField1_ |= 0x00000800;
11487  }
11488  result.maxMemoryInMb_ = maxMemoryInMb_;
11489  if (((from_bitField1_ & 0x00002000) != 0)) {
11490  result.absoluteGapLimit_ = absoluteGapLimit_;
11491  to_bitField1_ |= 0x00001000;
11492  }
11493  if (((from_bitField1_ & 0x00004000) != 0)) {
11494  result.relativeGapLimit_ = relativeGapLimit_;
11495  to_bitField1_ |= 0x00002000;
11496  }
11497  if (((from_bitField1_ & 0x00008000) != 0)) {
11498  to_bitField1_ |= 0x00004000;
11499  }
11500  result.treatBinaryClausesSeparately_ = treatBinaryClausesSeparately_;
11501  if (((from_bitField1_ & 0x00010000) != 0)) {
11502  to_bitField1_ |= 0x00008000;
11503  }
11504  result.randomSeed_ = randomSeed_;
11505  if (((from_bitField1_ & 0x00020000) != 0)) {
11506  result.permuteVariableRandomly_ = permuteVariableRandomly_;
11507  to_bitField1_ |= 0x00010000;
11508  }
11509  if (((from_bitField1_ & 0x00040000) != 0)) {
11510  result.permutePresolveConstraintOrder_ = permutePresolveConstraintOrder_;
11511  to_bitField1_ |= 0x00020000;
11512  }
11513  if (((from_bitField1_ & 0x00080000) != 0)) {
11514  result.useAbslRandom_ = useAbslRandom_;
11515  to_bitField1_ |= 0x00040000;
11516  }
11517  if (((from_bitField1_ & 0x00100000) != 0)) {
11518  result.logSearchProgress_ = logSearchProgress_;
11519  to_bitField1_ |= 0x00080000;
11520  }
11521  if (((from_bitField1_ & 0x00200000) != 0)) {
11522  to_bitField1_ |= 0x00100000;
11523  }
11524  result.logSubsolverStatistics_ = logSubsolverStatistics_;
11525  if (((from_bitField1_ & 0x00400000) != 0)) {
11526  to_bitField1_ |= 0x00200000;
11527  }
11528  result.logPrefix_ = logPrefix_;
11529  if (((from_bitField1_ & 0x00800000) != 0)) {
11530  to_bitField1_ |= 0x00400000;
11531  }
11532  result.logToStdout_ = logToStdout_;
11533  if (((from_bitField1_ & 0x01000000) != 0)) {
11534  result.logToResponse_ = logToResponse_;
11535  to_bitField1_ |= 0x00800000;
11536  }
11537  if (((from_bitField1_ & 0x02000000) != 0)) {
11538  result.usePbResolution_ = usePbResolution_;
11539  to_bitField1_ |= 0x01000000;
11540  }
11541  if (((from_bitField1_ & 0x04000000) != 0)) {
11542  result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
11543  to_bitField1_ |= 0x02000000;
11544  }
11545  if (((from_bitField1_ & 0x08000000) != 0)) {
11546  to_bitField1_ |= 0x04000000;
11547  }
11548  result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
11549  if (((from_bitField1_ & 0x10000000) != 0)) {
11550  to_bitField1_ |= 0x08000000;
11551  }
11552  result.presolveBveThreshold_ = presolveBveThreshold_;
11553  if (((from_bitField1_ & 0x20000000) != 0)) {
11554  to_bitField1_ |= 0x10000000;
11555  }
11556  result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
11557  if (((from_bitField1_ & 0x40000000) != 0)) {
11558  to_bitField1_ |= 0x20000000;
11559  }
11560  result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
11561  if (((from_bitField1_ & 0x80000000) != 0)) {
11562  to_bitField1_ |= 0x40000000;
11563  }
11564  result.presolveBlockedClause_ = presolveBlockedClause_;
11565  if (((from_bitField2_ & 0x00000001) != 0)) {
11566  to_bitField1_ |= 0x80000000;
11567  }
11568  result.presolveUseBva_ = presolveUseBva_;
11569  if (((from_bitField2_ & 0x00000002) != 0)) {
11570  to_bitField2_ |= 0x00000001;
11571  }
11572  result.presolveBvaThreshold_ = presolveBvaThreshold_;
11573  if (((from_bitField2_ & 0x00000004) != 0)) {
11574  to_bitField2_ |= 0x00000002;
11575  }
11576  result.maxPresolveIterations_ = maxPresolveIterations_;
11577  if (((from_bitField2_ & 0x00000008) != 0)) {
11578  to_bitField2_ |= 0x00000004;
11579  }
11580  result.cpModelPresolve_ = cpModelPresolve_;
11581  if (((from_bitField2_ & 0x00000010) != 0)) {
11582  result.cpModelPostsolveWithFullSolver_ = cpModelPostsolveWithFullSolver_;
11583  to_bitField2_ |= 0x00000008;
11584  }
11585  if (((from_bitField2_ & 0x00000020) != 0)) {
11586  result.cpModelMaxNumPresolveOperations_ = cpModelMaxNumPresolveOperations_;
11587  to_bitField2_ |= 0x00000010;
11588  }
11589  if (((from_bitField2_ & 0x00000040) != 0)) {
11590  to_bitField2_ |= 0x00000020;
11591  }
11592  result.cpModelProbingLevel_ = cpModelProbingLevel_;
11593  if (((from_bitField2_ & 0x00000080) != 0)) {
11594  to_bitField2_ |= 0x00000040;
11595  }
11596  result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
11597  if (((from_bitField2_ & 0x00000100) != 0)) {
11598  result.useSatInprocessing_ = useSatInprocessing_;
11599  to_bitField2_ |= 0x00000080;
11600  }
11601  if (((from_bitField2_ & 0x00000200) != 0)) {
11602  to_bitField2_ |= 0x00000100;
11603  }
11604  result.expandElementConstraints_ = expandElementConstraints_;
11605  if (((from_bitField2_ & 0x00000400) != 0)) {
11606  to_bitField2_ |= 0x00000200;
11607  }
11608  result.expandAutomatonConstraints_ = expandAutomatonConstraints_;
11609  if (((from_bitField2_ & 0x00000800) != 0)) {
11610  to_bitField2_ |= 0x00000400;
11611  }
11612  result.expandTableConstraints_ = expandTableConstraints_;
11613  if (((from_bitField2_ & 0x00001000) != 0)) {
11614  result.expandAlldiffConstraints_ = expandAlldiffConstraints_;
11615  to_bitField2_ |= 0x00000800;
11616  }
11617  if (((from_bitField2_ & 0x00002000) != 0)) {
11618  to_bitField2_ |= 0x00001000;
11619  }
11620  result.expandReservoirConstraints_ = expandReservoirConstraints_;
11621  if (((from_bitField2_ & 0x00004000) != 0)) {
11622  result.disableConstraintExpansion_ = disableConstraintExpansion_;
11623  to_bitField2_ |= 0x00002000;
11624  }
11625  if (((from_bitField2_ & 0x00008000) != 0)) {
11626  to_bitField2_ |= 0x00004000;
11627  }
11628  result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
11629  if (((from_bitField2_ & 0x00010000) != 0)) {
11630  to_bitField2_ |= 0x00008000;
11631  }
11632  result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
11633  if (((from_bitField2_ & 0x00020000) != 0)) {
11634  to_bitField2_ |= 0x00010000;
11635  }
11636  result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
11637  if (((from_bitField2_ & 0x00040000) != 0)) {
11638  result.presolveExtractIntegerEnforcement_ = presolveExtractIntegerEnforcement_;
11639  to_bitField2_ |= 0x00020000;
11640  }
11641  if (((from_bitField2_ & 0x00080000) != 0)) {
11642  to_bitField2_ |= 0x00040000;
11643  }
11644  result.useOptimizationHints_ = useOptimizationHints_;
11645  if (((from_bitField2_ & 0x00100000) != 0)) {
11646  to_bitField2_ |= 0x00080000;
11647  }
11648  result.minimizeCore_ = minimizeCore_;
11649  if (((from_bitField2_ & 0x00200000) != 0)) {
11650  to_bitField2_ |= 0x00100000;
11651  }
11652  result.findMultipleCores_ = findMultipleCores_;
11653  if (((from_bitField2_ & 0x00400000) != 0)) {
11654  to_bitField2_ |= 0x00200000;
11655  }
11656  result.coverOptimization_ = coverOptimization_;
11657  if (((from_bitField2_ & 0x00800000) != 0)) {
11658  to_bitField2_ |= 0x00400000;
11659  }
11660  result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
11661  if (((from_bitField2_ & 0x01000000) != 0)) {
11662  result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
11663  to_bitField2_ |= 0x00800000;
11664  }
11665  if (((from_bitField2_ & 0x02000000) != 0)) {
11666  to_bitField2_ |= 0x01000000;
11667  }
11668  result.maxSatStratification_ = maxSatStratification_;
11669  if (((from_bitField2_ & 0x04000000) != 0)) {
11670  to_bitField2_ |= 0x02000000;
11671  }
11672  result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
11673  if (((from_bitField2_ & 0x08000000) != 0)) {
11674  result.useOverloadCheckerInCumulativeConstraint_ = useOverloadCheckerInCumulativeConstraint_;
11675  to_bitField2_ |= 0x04000000;
11676  }
11677  if (((from_bitField2_ & 0x10000000) != 0)) {
11678  result.useTimetableEdgeFindingInCumulativeConstraint_ = useTimetableEdgeFindingInCumulativeConstraint_;
11679  to_bitField2_ |= 0x08000000;
11680  }
11681  if (((from_bitField2_ & 0x20000000) != 0)) {
11682  to_bitField2_ |= 0x10000000;
11683  }
11684  result.useDisjunctiveConstraintInCumulativeConstraint_ = useDisjunctiveConstraintInCumulativeConstraint_;
11685  if (((from_bitField2_ & 0x40000000) != 0)) {
11686  to_bitField2_ |= 0x20000000;
11687  }
11688  result.linearizationLevel_ = linearizationLevel_;
11689  if (((from_bitField2_ & 0x80000000) != 0)) {
11690  to_bitField2_ |= 0x40000000;
11691  }
11692  result.booleanEncodingLevel_ = booleanEncodingLevel_;
11693  if (((from_bitField3_ & 0x00000001) != 0)) {
11694  to_bitField2_ |= 0x80000000;
11695  }
11696  result.maxDomainSizeWhenEncodingEqNeqConstraints_ = maxDomainSizeWhenEncodingEqNeqConstraints_;
11697  if (((from_bitField3_ & 0x00000002) != 0)) {
11698  to_bitField3_ |= 0x00000001;
11699  }
11700  result.maxNumCuts_ = maxNumCuts_;
11701  if (((from_bitField3_ & 0x00000004) != 0)) {
11702  result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
11703  to_bitField3_ |= 0x00000002;
11704  }
11705  if (((from_bitField3_ & 0x00000008) != 0)) {
11706  result.addKnapsackCuts_ = addKnapsackCuts_;
11707  to_bitField3_ |= 0x00000004;
11708  }
11709  if (((from_bitField3_ & 0x00000010) != 0)) {
11710  to_bitField3_ |= 0x00000008;
11711  }
11712  result.addCgCuts_ = addCgCuts_;
11713  if (((from_bitField3_ & 0x00000020) != 0)) {
11714  to_bitField3_ |= 0x00000010;
11715  }
11716  result.addMirCuts_ = addMirCuts_;
11717  if (((from_bitField3_ & 0x00000040) != 0)) {
11718  to_bitField3_ |= 0x00000020;
11719  }
11720  result.addZeroHalfCuts_ = addZeroHalfCuts_;
11721  if (((from_bitField3_ & 0x00000080) != 0)) {
11722  to_bitField3_ |= 0x00000040;
11723  }
11724  result.addCliqueCuts_ = addCliqueCuts_;
11725  if (((from_bitField3_ & 0x00000100) != 0)) {
11726  to_bitField3_ |= 0x00000080;
11727  }
11728  result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
11729  if (((from_bitField3_ & 0x00000200) != 0)) {
11730  to_bitField3_ |= 0x00000100;
11731  }
11732  result.addLinMaxCuts_ = addLinMaxCuts_;
11733  if (((from_bitField3_ & 0x00000400) != 0)) {
11734  to_bitField3_ |= 0x00000200;
11735  }
11736  result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
11737  if (((from_bitField3_ & 0x00000800) != 0)) {
11738  to_bitField3_ |= 0x00000400;
11739  }
11740  result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
11741  if (((from_bitField3_ & 0x00001000) != 0)) {
11742  to_bitField3_ |= 0x00000800;
11743  }
11744  result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
11745  if (((from_bitField3_ & 0x00002000) != 0)) {
11746  to_bitField3_ |= 0x00001000;
11747  }
11748  result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
11749  if (((from_bitField3_ & 0x00004000) != 0)) {
11750  to_bitField3_ |= 0x00002000;
11751  }
11752  result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
11753  if (((from_bitField3_ & 0x00008000) != 0)) {
11754  to_bitField3_ |= 0x00004000;
11755  }
11756  result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
11757  if (((from_bitField3_ & 0x00010000) != 0)) {
11758  to_bitField3_ |= 0x00008000;
11759  }
11760  result.cutActiveCountDecay_ = cutActiveCountDecay_;
11761  if (((from_bitField3_ & 0x00020000) != 0)) {
11762  to_bitField3_ |= 0x00010000;
11763  }
11764  result.cutCleanupTarget_ = cutCleanupTarget_;
11765  if (((from_bitField3_ & 0x00040000) != 0)) {
11766  to_bitField3_ |= 0x00020000;
11767  }
11768  result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
11769  if (((from_bitField3_ & 0x00080000) != 0)) {
11770  to_bitField3_ |= 0x00040000;
11771  }
11772  result.searchBranching_ = searchBranching_;
11773  if (((from_bitField3_ & 0x00100000) != 0)) {
11774  to_bitField3_ |= 0x00080000;
11775  }
11776  result.hintConflictLimit_ = hintConflictLimit_;
11777  if (((from_bitField3_ & 0x00200000) != 0)) {
11778  result.repairHint_ = repairHint_;
11779  to_bitField3_ |= 0x00100000;
11780  }
11781  if (((from_bitField3_ & 0x00400000) != 0)) {
11782  result.fixVariablesToTheirHintedValue_ = fixVariablesToTheirHintedValue_;
11783  to_bitField3_ |= 0x00200000;
11784  }
11785  if (((from_bitField3_ & 0x00800000) != 0)) {
11786  to_bitField3_ |= 0x00400000;
11787  }
11788  result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
11789  if (((from_bitField3_ & 0x01000000) != 0)) {
11790  to_bitField3_ |= 0x00800000;
11791  }
11792  result.exploitAllLpSolution_ = exploitAllLpSolution_;
11793  if (((from_bitField3_ & 0x02000000) != 0)) {
11794  result.exploitBestSolution_ = exploitBestSolution_;
11795  to_bitField3_ |= 0x01000000;
11796  }
11797  if (((from_bitField3_ & 0x04000000) != 0)) {
11798  result.exploitRelaxationSolution_ = exploitRelaxationSolution_;
11799  to_bitField3_ |= 0x02000000;
11800  }
11801  if (((from_bitField3_ & 0x08000000) != 0)) {
11802  to_bitField3_ |= 0x04000000;
11803  }
11804  result.exploitObjective_ = exploitObjective_;
11805  if (((from_bitField3_ & 0x10000000) != 0)) {
11806  result.probingPeriodAtRoot_ = probingPeriodAtRoot_;
11807  to_bitField3_ |= 0x08000000;
11808  }
11809  if (((from_bitField3_ & 0x20000000) != 0)) {
11810  result.useProbingSearch_ = useProbingSearch_;
11811  to_bitField3_ |= 0x10000000;
11812  }
11813  if (((from_bitField3_ & 0x40000000) != 0)) {
11814  to_bitField3_ |= 0x20000000;
11815  }
11816  result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
11817  if (((from_bitField3_ & 0x80000000) != 0)) {
11818  result.optimizeWithCore_ = optimizeWithCore_;
11819  to_bitField3_ |= 0x40000000;
11820  }
11821  if (((from_bitField4_ & 0x00000001) != 0)) {
11822  result.optimizeWithLbTreeSearch_ = optimizeWithLbTreeSearch_;
11823  to_bitField3_ |= 0x80000000;
11824  }
11825  if (((from_bitField4_ & 0x00000002) != 0)) {
11826  to_bitField4_ |= 0x00000001;
11827  }
11828  result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
11829  if (((from_bitField4_ & 0x00000004) != 0)) {
11830  result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
11831  to_bitField4_ |= 0x00000002;
11832  }
11833  if (((from_bitField4_ & 0x00000008) != 0)) {
11834  result.enumerateAllSolutions_ = enumerateAllSolutions_;
11835  to_bitField4_ |= 0x00000004;
11836  }
11837  if (((from_bitField4_ & 0x00000010) != 0)) {
11838  result.keepAllFeasibleSolutionsInPresolve_ = keepAllFeasibleSolutionsInPresolve_;
11839  to_bitField4_ |= 0x00000008;
11840  }
11841  if (((from_bitField4_ & 0x00000020) != 0)) {
11842  result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
11843  to_bitField4_ |= 0x00000010;
11844  }
11845  if (((from_bitField4_ & 0x00000040) != 0)) {
11846  to_bitField4_ |= 0x00000020;
11847  }
11848  result.instantiateAllVariables_ = instantiateAllVariables_;
11849  if (((from_bitField4_ & 0x00000080) != 0)) {
11850  to_bitField4_ |= 0x00000040;
11851  }
11852  result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
11853  if (((from_bitField4_ & 0x00000100) != 0)) {
11854  result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
11855  to_bitField4_ |= 0x00000080;
11856  }
11857  if (((from_bitField4_ & 0x00000200) != 0)) {
11858  result.stopAfterPresolve_ = stopAfterPresolve_;
11859  to_bitField4_ |= 0x00000100;
11860  }
11861  if (((from_bitField4_ & 0x00000400) != 0)) {
11862  result.numSearchWorkers_ = numSearchWorkers_;
11863  to_bitField4_ |= 0x00000200;
11864  }
11865  if (((from_bitField4_ & 0x00000800) != 0)) {
11866  result.interleaveSearch_ = interleaveSearch_;
11867  to_bitField4_ |= 0x00000400;
11868  }
11869  if (((from_bitField4_ & 0x00001000) != 0)) {
11870  to_bitField4_ |= 0x00000800;
11871  }
11872  result.interleaveBatchSize_ = interleaveBatchSize_;
11873  if (((from_bitField4_ & 0x00002000) != 0)) {
11874  result.reduceMemoryUsageInInterleaveMode_ = reduceMemoryUsageInInterleaveMode_;
11875  to_bitField4_ |= 0x00001000;
11876  }
11877  if (((from_bitField4_ & 0x00004000) != 0)) {
11878  to_bitField4_ |= 0x00002000;
11879  }
11880  result.shareObjectiveBounds_ = shareObjectiveBounds_;
11881  if (((from_bitField4_ & 0x00008000) != 0)) {
11882  to_bitField4_ |= 0x00004000;
11883  }
11884  result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
11885  if (((from_bitField4_ & 0x00010000) != 0)) {
11886  result.useLnsOnly_ = useLnsOnly_;
11887  to_bitField4_ |= 0x00008000;
11888  }
11889  if (((from_bitField4_ & 0x00020000) != 0)) {
11890  result.lnsFocusOnDecisionVariables_ = lnsFocusOnDecisionVariables_;
11891  to_bitField4_ |= 0x00010000;
11892  }
11893  if (((from_bitField4_ & 0x00040000) != 0)) {
11894  to_bitField4_ |= 0x00020000;
11895  }
11896  result.lnsExpandIntervalsInConstraintGraph_ = lnsExpandIntervalsInConstraintGraph_;
11897  if (((from_bitField4_ & 0x00080000) != 0)) {
11898  to_bitField4_ |= 0x00040000;
11899  }
11900  result.solutionPoolSize_ = solutionPoolSize_;
11901  if (((from_bitField4_ & 0x00100000) != 0)) {
11902  to_bitField4_ |= 0x00080000;
11903  }
11904  result.useRinsLns_ = useRinsLns_;
11905  if (((from_bitField4_ & 0x00200000) != 0)) {
11906  to_bitField4_ |= 0x00100000;
11907  }
11908  result.useFeasibilityPump_ = useFeasibilityPump_;
11909  if (((from_bitField4_ & 0x00400000) != 0)) {
11910  to_bitField4_ |= 0x00200000;
11911  }
11912  result.fpRounding_ = fpRounding_;
11913  if (((from_bitField4_ & 0x00800000) != 0)) {
11914  result.useRelaxationLns_ = useRelaxationLns_;
11915  to_bitField4_ |= 0x00400000;
11916  }
11917  if (((from_bitField4_ & 0x01000000) != 0)) {
11918  result.diversifyLnsParams_ = diversifyLnsParams_;
11919  to_bitField4_ |= 0x00800000;
11920  }
11921  if (((from_bitField4_ & 0x02000000) != 0)) {
11922  result.randomizeSearch_ = randomizeSearch_;
11923  to_bitField4_ |= 0x01000000;
11924  }
11925  if (((from_bitField4_ & 0x04000000) != 0)) {
11926  result.searchRandomizationTolerance_ = searchRandomizationTolerance_;
11927  to_bitField4_ |= 0x02000000;
11928  }
11929  if (((from_bitField4_ & 0x08000000) != 0)) {
11930  to_bitField4_ |= 0x04000000;
11931  }
11932  result.useOptionalVariables_ = useOptionalVariables_;
11933  if (((from_bitField4_ & 0x10000000) != 0)) {
11934  to_bitField4_ |= 0x08000000;
11935  }
11936  result.useExactLpReason_ = useExactLpReason_;
11937  if (((from_bitField4_ & 0x20000000) != 0)) {
11938  result.useBranchingInLp_ = useBranchingInLp_;
11939  to_bitField4_ |= 0x10000000;
11940  }
11941  if (((from_bitField4_ & 0x40000000) != 0)) {
11942  result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
11943  to_bitField4_ |= 0x20000000;
11944  }
11945  if (((from_bitField4_ & 0x80000000) != 0)) {
11946  to_bitField4_ |= 0x40000000;
11947  }
11948  result.catchSigintSignal_ = catchSigintSignal_;
11949  if (((from_bitField5_ & 0x00000001) != 0)) {
11950  to_bitField4_ |= 0x80000000;
11951  }
11952  result.useImpliedBounds_ = useImpliedBounds_;
11953  if (((from_bitField5_ & 0x00000002) != 0)) {
11954  result.polishLpSolution_ = polishLpSolution_;
11955  to_bitField5_ |= 0x00000001;
11956  }
11957  if (((from_bitField5_ & 0x00000004) != 0)) {
11958  to_bitField5_ |= 0x00000002;
11959  }
11960  result.convertIntervals_ = convertIntervals_;
11961  if (((from_bitField5_ & 0x00000008) != 0)) {
11962  to_bitField5_ |= 0x00000004;
11963  }
11964  result.symmetryLevel_ = symmetryLevel_;
11965  if (((from_bitField5_ & 0x00000010) != 0)) {
11966  to_bitField5_ |= 0x00000008;
11967  }
11968  result.mipMaxBound_ = mipMaxBound_;
11969  if (((from_bitField5_ & 0x00000020) != 0)) {
11970  to_bitField5_ |= 0x00000010;
11971  }
11972  result.mipVarScaling_ = mipVarScaling_;
11973  if (((from_bitField5_ & 0x00000040) != 0)) {
11974  to_bitField5_ |= 0x00000020;
11975  }
11976  result.mipAutomaticallyScaleVariables_ = mipAutomaticallyScaleVariables_;
11977  if (((from_bitField5_ & 0x00000080) != 0)) {
11978  to_bitField5_ |= 0x00000040;
11979  }
11980  result.mipWantedPrecision_ = mipWantedPrecision_;
11981  if (((from_bitField5_ & 0x00000100) != 0)) {
11982  to_bitField5_ |= 0x00000080;
11983  }
11984  result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
11985  if (((from_bitField5_ & 0x00000200) != 0)) {
11986  to_bitField5_ |= 0x00000100;
11987  }
11988  result.mipCheckPrecision_ = mipCheckPrecision_;
11989  result.bitField0_ = to_bitField0_;
11990  result.bitField1_ = to_bitField1_;
11991  result.bitField2_ = to_bitField2_;
11992  result.bitField3_ = to_bitField3_;
11993  result.bitField4_ = to_bitField4_;
11994  result.bitField5_ = to_bitField5_;
11995  onBuilt();
11996  return result;
11997  }
11998 
11999  @java.lang.Override
12000  public Builder clone() {
12001  return super.clone();
12002  }
12003  @java.lang.Override
12005  com.google.protobuf.Descriptors.FieldDescriptor field,
12006  java.lang.Object value) {
12007  return super.setField(field, value);
12008  }
12009  @java.lang.Override
12011  com.google.protobuf.Descriptors.FieldDescriptor field) {
12012  return super.clearField(field);
12013  }
12014  @java.lang.Override
12016  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
12017  return super.clearOneof(oneof);
12018  }
12019  @java.lang.Override
12021  com.google.protobuf.Descriptors.FieldDescriptor field,
12022  int index, java.lang.Object value) {
12023  return super.setRepeatedField(field, index, value);
12024  }
12025  @java.lang.Override
12027  com.google.protobuf.Descriptors.FieldDescriptor field,
12028  java.lang.Object value) {
12029  return super.addRepeatedField(field, value);
12030  }
12031  @java.lang.Override
12032  public Builder mergeFrom(com.google.protobuf.Message other) {
12033  if (other instanceof com.google.ortools.sat.SatParameters) {
12034  return mergeFrom((com.google.ortools.sat.SatParameters)other);
12035  } else {
12036  super.mergeFrom(other);
12037  return this;
12038  }
12039  }
12040 
12042  if (other == com.google.ortools.sat.SatParameters.getDefaultInstance()) return this;
12043  if (other.hasName()) {
12044  bitField0_ |= 0x00000001;
12045  name_ = other.name_;
12046  onChanged();
12047  }
12048  if (other.hasPreferredVariableOrder()) {
12049  setPreferredVariableOrder(other.getPreferredVariableOrder());
12050  }
12051  if (other.hasInitialPolarity()) {
12052  setInitialPolarity(other.getInitialPolarity());
12053  }
12054  if (other.hasUsePhaseSaving()) {
12055  setUsePhaseSaving(other.getUsePhaseSaving());
12056  }
12057  if (other.hasPolarityRephaseIncrement()) {
12058  setPolarityRephaseIncrement(other.getPolarityRephaseIncrement());
12059  }
12060  if (other.hasRandomPolarityRatio()) {
12061  setRandomPolarityRatio(other.getRandomPolarityRatio());
12062  }
12063  if (other.hasRandomBranchesRatio()) {
12064  setRandomBranchesRatio(other.getRandomBranchesRatio());
12065  }
12066  if (other.hasUseErwaHeuristic()) {
12067  setUseErwaHeuristic(other.getUseErwaHeuristic());
12068  }
12069  if (other.hasInitialVariablesActivity()) {
12070  setInitialVariablesActivity(other.getInitialVariablesActivity());
12071  }
12072  if (other.hasAlsoBumpVariablesInConflictReasons()) {
12073  setAlsoBumpVariablesInConflictReasons(other.getAlsoBumpVariablesInConflictReasons());
12074  }
12075  if (other.hasMinimizationAlgorithm()) {
12076  setMinimizationAlgorithm(other.getMinimizationAlgorithm());
12077  }
12078  if (other.hasBinaryMinimizationAlgorithm()) {
12079  setBinaryMinimizationAlgorithm(other.getBinaryMinimizationAlgorithm());
12080  }
12081  if (other.hasSubsumptionDuringConflictAnalysis()) {
12082  setSubsumptionDuringConflictAnalysis(other.getSubsumptionDuringConflictAnalysis());
12083  }
12084  if (other.hasClauseCleanupPeriod()) {
12085  setClauseCleanupPeriod(other.getClauseCleanupPeriod());
12086  }
12087  if (other.hasClauseCleanupTarget()) {
12088  setClauseCleanupTarget(other.getClauseCleanupTarget());
12089  }
12090  if (other.hasClauseCleanupRatio()) {
12091  setClauseCleanupRatio(other.getClauseCleanupRatio());
12092  }
12093  if (other.hasClauseCleanupProtection()) {
12094  setClauseCleanupProtection(other.getClauseCleanupProtection());
12095  }
12096  if (other.hasClauseCleanupLbdBound()) {
12097  setClauseCleanupLbdBound(other.getClauseCleanupLbdBound());
12098  }
12099  if (other.hasClauseCleanupOrdering()) {
12100  setClauseCleanupOrdering(other.getClauseCleanupOrdering());
12101  }
12102  if (other.hasPbCleanupIncrement()) {
12103  setPbCleanupIncrement(other.getPbCleanupIncrement());
12104  }
12105  if (other.hasPbCleanupRatio()) {
12106  setPbCleanupRatio(other.getPbCleanupRatio());
12107  }
12108  if (other.hasMinimizeWithPropagationRestartPeriod()) {
12109  setMinimizeWithPropagationRestartPeriod(other.getMinimizeWithPropagationRestartPeriod());
12110  }
12111  if (other.hasMinimizeWithPropagationNumDecisions()) {
12112  setMinimizeWithPropagationNumDecisions(other.getMinimizeWithPropagationNumDecisions());
12113  }
12114  if (other.hasVariableActivityDecay()) {
12115  setVariableActivityDecay(other.getVariableActivityDecay());
12116  }
12117  if (other.hasMaxVariableActivityValue()) {
12118  setMaxVariableActivityValue(other.getMaxVariableActivityValue());
12119  }
12120  if (other.hasGlucoseMaxDecay()) {
12121  setGlucoseMaxDecay(other.getGlucoseMaxDecay());
12122  }
12123  if (other.hasGlucoseDecayIncrement()) {
12124  setGlucoseDecayIncrement(other.getGlucoseDecayIncrement());
12125  }
12126  if (other.hasGlucoseDecayIncrementPeriod()) {
12127  setGlucoseDecayIncrementPeriod(other.getGlucoseDecayIncrementPeriod());
12128  }
12129  if (other.hasClauseActivityDecay()) {
12130  setClauseActivityDecay(other.getClauseActivityDecay());
12131  }
12132  if (other.hasMaxClauseActivityValue()) {
12133  setMaxClauseActivityValue(other.getMaxClauseActivityValue());
12134  }
12135  if (!other.restartAlgorithms_.isEmpty()) {
12136  if (restartAlgorithms_.isEmpty()) {
12137  restartAlgorithms_ = other.restartAlgorithms_;
12138  bitField0_ = (bitField0_ & ~0x40000000);
12139  } else {
12140  ensureRestartAlgorithmsIsMutable();
12141  restartAlgorithms_.addAll(other.restartAlgorithms_);
12142  }
12143  onChanged();
12144  }
12145  if (other.hasDefaultRestartAlgorithms()) {
12146  bitField0_ |= 0x80000000;
12147  defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
12148  onChanged();
12149  }
12150  if (other.hasRestartPeriod()) {
12151  setRestartPeriod(other.getRestartPeriod());
12152  }
12153  if (other.hasRestartRunningWindowSize()) {
12154  setRestartRunningWindowSize(other.getRestartRunningWindowSize());
12155  }
12156  if (other.hasRestartDlAverageRatio()) {
12157  setRestartDlAverageRatio(other.getRestartDlAverageRatio());
12158  }
12159  if (other.hasRestartLbdAverageRatio()) {
12160  setRestartLbdAverageRatio(other.getRestartLbdAverageRatio());
12161  }
12162  if (other.hasUseBlockingRestart()) {
12163  setUseBlockingRestart(other.getUseBlockingRestart());
12164  }
12165  if (other.hasBlockingRestartWindowSize()) {
12166  setBlockingRestartWindowSize(other.getBlockingRestartWindowSize());
12167  }
12168  if (other.hasBlockingRestartMultiplier()) {
12169  setBlockingRestartMultiplier(other.getBlockingRestartMultiplier());
12170  }
12171  if (other.hasNumConflictsBeforeStrategyChanges()) {
12172  setNumConflictsBeforeStrategyChanges(other.getNumConflictsBeforeStrategyChanges());
12173  }
12174  if (other.hasStrategyChangeIncreaseRatio()) {
12175  setStrategyChangeIncreaseRatio(other.getStrategyChangeIncreaseRatio());
12176  }
12177  if (other.hasMaxTimeInSeconds()) {
12178  setMaxTimeInSeconds(other.getMaxTimeInSeconds());
12179  }
12180  if (other.hasMaxDeterministicTime()) {
12181  setMaxDeterministicTime(other.getMaxDeterministicTime());
12182  }
12183  if (other.hasMaxNumberOfConflicts()) {
12184  setMaxNumberOfConflicts(other.getMaxNumberOfConflicts());
12185  }
12186  if (other.hasMaxMemoryInMb()) {
12187  setMaxMemoryInMb(other.getMaxMemoryInMb());
12188  }
12189  if (other.hasAbsoluteGapLimit()) {
12190  setAbsoluteGapLimit(other.getAbsoluteGapLimit());
12191  }
12192  if (other.hasRelativeGapLimit()) {
12193  setRelativeGapLimit(other.getRelativeGapLimit());
12194  }
12195  if (other.hasTreatBinaryClausesSeparately()) {
12196  setTreatBinaryClausesSeparately(other.getTreatBinaryClausesSeparately());
12197  }
12198  if (other.hasRandomSeed()) {
12199  setRandomSeed(other.getRandomSeed());
12200  }
12201  if (other.hasPermuteVariableRandomly()) {
12202  setPermuteVariableRandomly(other.getPermuteVariableRandomly());
12203  }
12204  if (other.hasPermutePresolveConstraintOrder()) {
12205  setPermutePresolveConstraintOrder(other.getPermutePresolveConstraintOrder());
12206  }
12207  if (other.hasUseAbslRandom()) {
12208  setUseAbslRandom(other.getUseAbslRandom());
12209  }
12210  if (other.hasLogSearchProgress()) {
12211  setLogSearchProgress(other.getLogSearchProgress());
12212  }
12213  if (other.hasLogSubsolverStatistics()) {
12214  setLogSubsolverStatistics(other.getLogSubsolverStatistics());
12215  }
12216  if (other.hasLogPrefix()) {
12217  bitField1_ |= 0x00400000;
12218  logPrefix_ = other.logPrefix_;
12219  onChanged();
12220  }
12221  if (other.hasLogToStdout()) {
12222  setLogToStdout(other.getLogToStdout());
12223  }
12224  if (other.hasLogToResponse()) {
12225  setLogToResponse(other.getLogToResponse());
12226  }
12227  if (other.hasUsePbResolution()) {
12228  setUsePbResolution(other.getUsePbResolution());
12229  }
12230  if (other.hasMinimizeReductionDuringPbResolution()) {
12231  setMinimizeReductionDuringPbResolution(other.getMinimizeReductionDuringPbResolution());
12232  }
12233  if (other.hasCountAssumptionLevelsInLbd()) {
12234  setCountAssumptionLevelsInLbd(other.getCountAssumptionLevelsInLbd());
12235  }
12236  if (other.hasPresolveBveThreshold()) {
12237  setPresolveBveThreshold(other.getPresolveBveThreshold());
12238  }
12239  if (other.hasPresolveBveClauseWeight()) {
12240  setPresolveBveClauseWeight(other.getPresolveBveClauseWeight());
12241  }
12242  if (other.hasPresolveProbingDeterministicTimeLimit()) {
12243  setPresolveProbingDeterministicTimeLimit(other.getPresolveProbingDeterministicTimeLimit());
12244  }
12245  if (other.hasPresolveBlockedClause()) {
12246  setPresolveBlockedClause(other.getPresolveBlockedClause());
12247  }
12248  if (other.hasPresolveUseBva()) {
12249  setPresolveUseBva(other.getPresolveUseBva());
12250  }
12251  if (other.hasPresolveBvaThreshold()) {
12252  setPresolveBvaThreshold(other.getPresolveBvaThreshold());
12253  }
12254  if (other.hasMaxPresolveIterations()) {
12255  setMaxPresolveIterations(other.getMaxPresolveIterations());
12256  }
12257  if (other.hasCpModelPresolve()) {
12258  setCpModelPresolve(other.getCpModelPresolve());
12259  }
12260  if (other.hasCpModelPostsolveWithFullSolver()) {
12261  setCpModelPostsolveWithFullSolver(other.getCpModelPostsolveWithFullSolver());
12262  }
12263  if (other.hasCpModelMaxNumPresolveOperations()) {
12264  setCpModelMaxNumPresolveOperations(other.getCpModelMaxNumPresolveOperations());
12265  }
12266  if (other.hasCpModelProbingLevel()) {
12267  setCpModelProbingLevel(other.getCpModelProbingLevel());
12268  }
12269  if (other.hasCpModelUseSatPresolve()) {
12270  setCpModelUseSatPresolve(other.getCpModelUseSatPresolve());
12271  }
12272  if (other.hasUseSatInprocessing()) {
12273  setUseSatInprocessing(other.getUseSatInprocessing());
12274  }
12275  if (other.hasExpandElementConstraints()) {
12276  setExpandElementConstraints(other.getExpandElementConstraints());
12277  }
12278  if (other.hasExpandAutomatonConstraints()) {
12279  setExpandAutomatonConstraints(other.getExpandAutomatonConstraints());
12280  }
12281  if (other.hasExpandTableConstraints()) {
12282  setExpandTableConstraints(other.getExpandTableConstraints());
12283  }
12284  if (other.hasExpandAlldiffConstraints()) {
12285  setExpandAlldiffConstraints(other.getExpandAlldiffConstraints());
12286  }
12287  if (other.hasExpandReservoirConstraints()) {
12288  setExpandReservoirConstraints(other.getExpandReservoirConstraints());
12289  }
12290  if (other.hasDisableConstraintExpansion()) {
12291  setDisableConstraintExpansion(other.getDisableConstraintExpansion());
12292  }
12293  if (other.hasMergeNoOverlapWorkLimit()) {
12294  setMergeNoOverlapWorkLimit(other.getMergeNoOverlapWorkLimit());
12295  }
12296  if (other.hasMergeAtMostOneWorkLimit()) {
12297  setMergeAtMostOneWorkLimit(other.getMergeAtMostOneWorkLimit());
12298  }
12299  if (other.hasPresolveSubstitutionLevel()) {
12300  setPresolveSubstitutionLevel(other.getPresolveSubstitutionLevel());
12301  }
12302  if (other.hasPresolveExtractIntegerEnforcement()) {
12303  setPresolveExtractIntegerEnforcement(other.getPresolveExtractIntegerEnforcement());
12304  }
12305  if (other.hasUseOptimizationHints()) {
12306  setUseOptimizationHints(other.getUseOptimizationHints());
12307  }
12308  if (other.hasMinimizeCore()) {
12309  setMinimizeCore(other.getMinimizeCore());
12310  }
12311  if (other.hasFindMultipleCores()) {
12312  setFindMultipleCores(other.getFindMultipleCores());
12313  }
12314  if (other.hasCoverOptimization()) {
12315  setCoverOptimization(other.getCoverOptimization());
12316  }
12317  if (other.hasMaxSatAssumptionOrder()) {
12318  setMaxSatAssumptionOrder(other.getMaxSatAssumptionOrder());
12319  }
12320  if (other.hasMaxSatReverseAssumptionOrder()) {
12321  setMaxSatReverseAssumptionOrder(other.getMaxSatReverseAssumptionOrder());
12322  }
12323  if (other.hasMaxSatStratification()) {
12324  setMaxSatStratification(other.getMaxSatStratification());
12325  }
12326  if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
12327  setUsePrecedencesInDisjunctiveConstraint(other.getUsePrecedencesInDisjunctiveConstraint());
12328  }
12329  if (other.hasUseOverloadCheckerInCumulativeConstraint()) {
12330  setUseOverloadCheckerInCumulativeConstraint(other.getUseOverloadCheckerInCumulativeConstraint());
12331  }
12332  if (other.hasUseTimetableEdgeFindingInCumulativeConstraint()) {
12333  setUseTimetableEdgeFindingInCumulativeConstraint(other.getUseTimetableEdgeFindingInCumulativeConstraint());
12334  }
12335  if (other.hasUseDisjunctiveConstraintInCumulativeConstraint()) {
12336  setUseDisjunctiveConstraintInCumulativeConstraint(other.getUseDisjunctiveConstraintInCumulativeConstraint());
12337  }
12338  if (other.hasLinearizationLevel()) {
12339  setLinearizationLevel(other.getLinearizationLevel());
12340  }
12341  if (other.hasBooleanEncodingLevel()) {
12342  setBooleanEncodingLevel(other.getBooleanEncodingLevel());
12343  }
12344  if (other.hasMaxDomainSizeWhenEncodingEqNeqConstraints()) {
12345  setMaxDomainSizeWhenEncodingEqNeqConstraints(other.getMaxDomainSizeWhenEncodingEqNeqConstraints());
12346  }
12347  if (other.hasMaxNumCuts()) {
12348  setMaxNumCuts(other.getMaxNumCuts());
12349  }
12350  if (other.hasOnlyAddCutsAtLevelZero()) {
12351  setOnlyAddCutsAtLevelZero(other.getOnlyAddCutsAtLevelZero());
12352  }
12353  if (other.hasAddKnapsackCuts()) {
12354  setAddKnapsackCuts(other.getAddKnapsackCuts());
12355  }
12356  if (other.hasAddCgCuts()) {
12357  setAddCgCuts(other.getAddCgCuts());
12358  }
12359  if (other.hasAddMirCuts()) {
12360  setAddMirCuts(other.getAddMirCuts());
12361  }
12362  if (other.hasAddZeroHalfCuts()) {
12363  setAddZeroHalfCuts(other.getAddZeroHalfCuts());
12364  }
12365  if (other.hasAddCliqueCuts()) {
12366  setAddCliqueCuts(other.getAddCliqueCuts());
12367  }
12368  if (other.hasMaxAllDiffCutSize()) {
12369  setMaxAllDiffCutSize(other.getMaxAllDiffCutSize());
12370  }
12371  if (other.hasAddLinMaxCuts()) {
12372  setAddLinMaxCuts(other.getAddLinMaxCuts());
12373  }
12374  if (other.hasMaxIntegerRoundingScaling()) {
12375  setMaxIntegerRoundingScaling(other.getMaxIntegerRoundingScaling());
12376  }
12377  if (other.hasAddLpConstraintsLazily()) {
12378  setAddLpConstraintsLazily(other.getAddLpConstraintsLazily());
12379  }
12380  if (other.hasMinOrthogonalityForLpConstraints()) {
12381  setMinOrthogonalityForLpConstraints(other.getMinOrthogonalityForLpConstraints());
12382  }
12383  if (other.hasMaxCutRoundsAtLevelZero()) {
12384  setMaxCutRoundsAtLevelZero(other.getMaxCutRoundsAtLevelZero());
12385  }
12386  if (other.hasMaxConsecutiveInactiveCount()) {
12387  setMaxConsecutiveInactiveCount(other.getMaxConsecutiveInactiveCount());
12388  }
12389  if (other.hasCutMaxActiveCountValue()) {
12390  setCutMaxActiveCountValue(other.getCutMaxActiveCountValue());
12391  }
12392  if (other.hasCutActiveCountDecay()) {
12393  setCutActiveCountDecay(other.getCutActiveCountDecay());
12394  }
12395  if (other.hasCutCleanupTarget()) {
12396  setCutCleanupTarget(other.getCutCleanupTarget());
12397  }
12398  if (other.hasNewConstraintsBatchSize()) {
12399  setNewConstraintsBatchSize(other.getNewConstraintsBatchSize());
12400  }
12401  if (other.hasSearchBranching()) {
12402  setSearchBranching(other.getSearchBranching());
12403  }
12404  if (other.hasHintConflictLimit()) {
12405  setHintConflictLimit(other.getHintConflictLimit());
12406  }
12407  if (other.hasRepairHint()) {
12408  setRepairHint(other.getRepairHint());
12409  }
12410  if (other.hasFixVariablesToTheirHintedValue()) {
12411  setFixVariablesToTheirHintedValue(other.getFixVariablesToTheirHintedValue());
12412  }
12413  if (other.hasExploitIntegerLpSolution()) {
12414  setExploitIntegerLpSolution(other.getExploitIntegerLpSolution());
12415  }
12416  if (other.hasExploitAllLpSolution()) {
12417  setExploitAllLpSolution(other.getExploitAllLpSolution());
12418  }
12419  if (other.hasExploitBestSolution()) {
12420  setExploitBestSolution(other.getExploitBestSolution());
12421  }
12422  if (other.hasExploitRelaxationSolution()) {
12423  setExploitRelaxationSolution(other.getExploitRelaxationSolution());
12424  }
12425  if (other.hasExploitObjective()) {
12426  setExploitObjective(other.getExploitObjective());
12427  }
12428  if (other.hasProbingPeriodAtRoot()) {
12429  setProbingPeriodAtRoot(other.getProbingPeriodAtRoot());
12430  }
12431  if (other.hasUseProbingSearch()) {
12432  setUseProbingSearch(other.getUseProbingSearch());
12433  }
12434  if (other.hasPseudoCostReliabilityThreshold()) {
12435  setPseudoCostReliabilityThreshold(other.getPseudoCostReliabilityThreshold());
12436  }
12437  if (other.hasOptimizeWithCore()) {
12438  setOptimizeWithCore(other.getOptimizeWithCore());
12439  }
12440  if (other.hasOptimizeWithLbTreeSearch()) {
12441  setOptimizeWithLbTreeSearch(other.getOptimizeWithLbTreeSearch());
12442  }
12443  if (other.hasBinarySearchNumConflicts()) {
12444  setBinarySearchNumConflicts(other.getBinarySearchNumConflicts());
12445  }
12446  if (other.hasOptimizeWithMaxHs()) {
12447  setOptimizeWithMaxHs(other.getOptimizeWithMaxHs());
12448  }
12449  if (other.hasEnumerateAllSolutions()) {
12450  setEnumerateAllSolutions(other.getEnumerateAllSolutions());
12451  }
12452  if (other.hasKeepAllFeasibleSolutionsInPresolve()) {
12453  setKeepAllFeasibleSolutionsInPresolve(other.getKeepAllFeasibleSolutionsInPresolve());
12454  }
12455  if (other.hasFillTightenedDomainsInResponse()) {
12456  setFillTightenedDomainsInResponse(other.getFillTightenedDomainsInResponse());
12457  }
12458  if (other.hasInstantiateAllVariables()) {
12459  setInstantiateAllVariables(other.getInstantiateAllVariables());
12460  }
12461  if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
12462  setAutoDetectGreaterThanAtLeastOneOf(other.getAutoDetectGreaterThanAtLeastOneOf());
12463  }
12464  if (other.hasStopAfterFirstSolution()) {
12465  setStopAfterFirstSolution(other.getStopAfterFirstSolution());
12466  }
12467  if (other.hasStopAfterPresolve()) {
12468  setStopAfterPresolve(other.getStopAfterPresolve());
12469  }
12470  if (other.hasNumSearchWorkers()) {
12471  setNumSearchWorkers(other.getNumSearchWorkers());
12472  }
12473  if (other.hasInterleaveSearch()) {
12474  setInterleaveSearch(other.getInterleaveSearch());
12475  }
12476  if (other.hasInterleaveBatchSize()) {
12477  setInterleaveBatchSize(other.getInterleaveBatchSize());
12478  }
12479  if (other.hasReduceMemoryUsageInInterleaveMode()) {
12480  setReduceMemoryUsageInInterleaveMode(other.getReduceMemoryUsageInInterleaveMode());
12481  }
12482  if (other.hasShareObjectiveBounds()) {
12483  setShareObjectiveBounds(other.getShareObjectiveBounds());
12484  }
12485  if (other.hasShareLevelZeroBounds()) {
12486  setShareLevelZeroBounds(other.getShareLevelZeroBounds());
12487  }
12488  if (other.hasUseLnsOnly()) {
12489  setUseLnsOnly(other.getUseLnsOnly());
12490  }
12491  if (other.hasLnsFocusOnDecisionVariables()) {
12492  setLnsFocusOnDecisionVariables(other.getLnsFocusOnDecisionVariables());
12493  }
12494  if (other.hasLnsExpandIntervalsInConstraintGraph()) {
12495  setLnsExpandIntervalsInConstraintGraph(other.getLnsExpandIntervalsInConstraintGraph());
12496  }
12497  if (other.hasSolutionPoolSize()) {
12498  setSolutionPoolSize(other.getSolutionPoolSize());
12499  }
12500  if (other.hasUseRinsLns()) {
12501  setUseRinsLns(other.getUseRinsLns());
12502  }
12503  if (other.hasUseFeasibilityPump()) {
12504  setUseFeasibilityPump(other.getUseFeasibilityPump());
12505  }
12506  if (other.hasFpRounding()) {
12507  setFpRounding(other.getFpRounding());
12508  }
12509  if (other.hasUseRelaxationLns()) {
12510  setUseRelaxationLns(other.getUseRelaxationLns());
12511  }
12512  if (other.hasDiversifyLnsParams()) {
12513  setDiversifyLnsParams(other.getDiversifyLnsParams());
12514  }
12515  if (other.hasRandomizeSearch()) {
12516  setRandomizeSearch(other.getRandomizeSearch());
12517  }
12518  if (other.hasSearchRandomizationTolerance()) {
12519  setSearchRandomizationTolerance(other.getSearchRandomizationTolerance());
12520  }
12521  if (other.hasUseOptionalVariables()) {
12522  setUseOptionalVariables(other.getUseOptionalVariables());
12523  }
12524  if (other.hasUseExactLpReason()) {
12525  setUseExactLpReason(other.getUseExactLpReason());
12526  }
12527  if (other.hasUseBranchingInLp()) {
12528  setUseBranchingInLp(other.getUseBranchingInLp());
12529  }
12530  if (other.hasUseCombinedNoOverlap()) {
12531  setUseCombinedNoOverlap(other.getUseCombinedNoOverlap());
12532  }
12533  if (other.hasCatchSigintSignal()) {
12534  setCatchSigintSignal(other.getCatchSigintSignal());
12535  }
12536  if (other.hasUseImpliedBounds()) {
12537  setUseImpliedBounds(other.getUseImpliedBounds());
12538  }
12539  if (other.hasPolishLpSolution()) {
12540  setPolishLpSolution(other.getPolishLpSolution());
12541  }
12542  if (other.hasConvertIntervals()) {
12543  setConvertIntervals(other.getConvertIntervals());
12544  }
12545  if (other.hasSymmetryLevel()) {
12546  setSymmetryLevel(other.getSymmetryLevel());
12547  }
12548  if (other.hasMipMaxBound()) {
12549  setMipMaxBound(other.getMipMaxBound());
12550  }
12551  if (other.hasMipVarScaling()) {
12552  setMipVarScaling(other.getMipVarScaling());
12553  }
12554  if (other.hasMipAutomaticallyScaleVariables()) {
12555  setMipAutomaticallyScaleVariables(other.getMipAutomaticallyScaleVariables());
12556  }
12557  if (other.hasMipWantedPrecision()) {
12558  setMipWantedPrecision(other.getMipWantedPrecision());
12559  }
12560  if (other.hasMipMaxActivityExponent()) {
12561  setMipMaxActivityExponent(other.getMipMaxActivityExponent());
12562  }
12563  if (other.hasMipCheckPrecision()) {
12564  setMipCheckPrecision(other.getMipCheckPrecision());
12565  }
12566  this.mergeUnknownFields(other.unknownFields);
12567  onChanged();
12568  return this;
12569  }
12570 
12571  @java.lang.Override
12572  public final boolean isInitialized() {
12573  return true;
12574  }
12575 
12576  @java.lang.Override
12578  com.google.protobuf.CodedInputStream input,
12579  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12580  throws java.io.IOException {
12581  com.google.ortools.sat.SatParameters parsedMessage = null;
12582  try {
12583  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
12584  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12585  parsedMessage = (com.google.ortools.sat.SatParameters) e.getUnfinishedMessage();
12586  throw e.unwrapIOException();
12587  } finally {
12588  if (parsedMessage != null) {
12589  mergeFrom(parsedMessage);
12590  }
12591  }
12592  return this;
12593  }
12594  private int bitField0_;
12595  private int bitField1_;
12596  private int bitField2_;
12597  private int bitField3_;
12598  private int bitField4_;
12599  private int bitField5_;
12600 
12601  private java.lang.Object name_ = "";
12611  public boolean hasName() {
12612  return ((bitField0_ & 0x00000001) != 0);
12613  }
12623  public java.lang.String getName() {
12624  java.lang.Object ref = name_;
12625  if (!(ref instanceof java.lang.String)) {
12626  com.google.protobuf.ByteString bs =
12627  (com.google.protobuf.ByteString) ref;
12628  java.lang.String s = bs.toStringUtf8();
12629  if (bs.isValidUtf8()) {
12630  name_ = s;
12631  }
12632  return s;
12633  } else {
12634  return (java.lang.String) ref;
12635  }
12636  }
12646  public com.google.protobuf.ByteString
12648  java.lang.Object ref = name_;
12649  if (ref instanceof String) {
12650  com.google.protobuf.ByteString b =
12651  com.google.protobuf.ByteString.copyFromUtf8(
12652  (java.lang.String) ref);
12653  name_ = b;
12654  return b;
12655  } else {
12656  return (com.google.protobuf.ByteString) ref;
12657  }
12658  }
12670  java.lang.String value) {
12671  if (value == null) {
12672  throw new NullPointerException();
12673  }
12674  bitField0_ |= 0x00000001;
12675  name_ = value;
12676  onChanged();
12677  return this;
12678  }
12688  public Builder clearName() {
12689  bitField0_ = (bitField0_ & ~0x00000001);
12690  name_ = getDefaultInstance().getName();
12691  onChanged();
12692  return this;
12693  }
12705  com.google.protobuf.ByteString value) {
12706  if (value == null) {
12707  throw new NullPointerException();
12708  }
12709  bitField0_ |= 0x00000001;
12710  name_ = value;
12711  onChanged();
12712  return this;
12713  }
12714 
12715  private int preferredVariableOrder_ = 0;
12720  @java.lang.Override public boolean hasPreferredVariableOrder() {
12721  return ((bitField0_ & 0x00000002) != 0);
12722  }
12727  @java.lang.Override
12729  @SuppressWarnings("deprecation")
12731  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
12732  }
12739  if (value == null) {
12740  throw new NullPointerException();
12741  }
12742  bitField0_ |= 0x00000002;
12743  preferredVariableOrder_ = value.getNumber();
12744  onChanged();
12745  return this;
12746  }
12752  bitField0_ = (bitField0_ & ~0x00000002);
12753  preferredVariableOrder_ = 0;
12754  onChanged();
12755  return this;
12756  }
12757 
12758  private int initialPolarity_ = 1;
12763  @java.lang.Override public boolean hasInitialPolarity() {
12764  return ((bitField0_ & 0x00000004) != 0);
12765  }
12770  @java.lang.Override
12772  @SuppressWarnings("deprecation")
12774  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
12775  }
12782  if (value == null) {
12783  throw new NullPointerException();
12784  }
12785  bitField0_ |= 0x00000004;
12786  initialPolarity_ = value.getNumber();
12787  onChanged();
12788  return this;
12789  }
12795  bitField0_ = (bitField0_ & ~0x00000004);
12796  initialPolarity_ = 1;
12797  onChanged();
12798  return this;
12799  }
12800 
12801  private boolean usePhaseSaving_ = true;
12818  @java.lang.Override
12819  public boolean hasUsePhaseSaving() {
12820  return ((bitField0_ & 0x00000008) != 0);
12821  }
12838  @java.lang.Override
12839  public boolean getUsePhaseSaving() {
12840  return usePhaseSaving_;
12841  }
12859  public Builder setUsePhaseSaving(boolean value) {
12860  bitField0_ |= 0x00000008;
12861  usePhaseSaving_ = value;
12862  onChanged();
12863  return this;
12864  }
12882  bitField0_ = (bitField0_ & ~0x00000008);
12883  usePhaseSaving_ = true;
12884  onChanged();
12885  return this;
12886  }
12887 
12888  private int polarityRephaseIncrement_ = 1000;
12899  @java.lang.Override
12900  public boolean hasPolarityRephaseIncrement() {
12901  return ((bitField0_ & 0x00000010) != 0);
12902  }
12913  @java.lang.Override
12915  return polarityRephaseIncrement_;
12916  }
12929  bitField0_ |= 0x00000010;
12930  polarityRephaseIncrement_ = value;
12931  onChanged();
12932  return this;
12933  }
12945  bitField0_ = (bitField0_ & ~0x00000010);
12946  polarityRephaseIncrement_ = 1000;
12947  onChanged();
12948  return this;
12949  }
12950 
12951  private double randomPolarityRatio_ ;
12964  @java.lang.Override
12965  public boolean hasRandomPolarityRatio() {
12966  return ((bitField0_ & 0x00000020) != 0);
12967  }
12980  @java.lang.Override
12981  public double getRandomPolarityRatio() {
12982  return randomPolarityRatio_;
12983  }
12997  public Builder setRandomPolarityRatio(double value) {
12998  bitField0_ |= 0x00000020;
12999  randomPolarityRatio_ = value;
13000  onChanged();
13001  return this;
13002  }
13016  bitField0_ = (bitField0_ & ~0x00000020);
13017  randomPolarityRatio_ = 0D;
13018  onChanged();
13019  return this;
13020  }
13021 
13022  private double randomBranchesRatio_ ;
13033  @java.lang.Override
13034  public boolean hasRandomBranchesRatio() {
13035  return ((bitField0_ & 0x00000040) != 0);
13036  }
13047  @java.lang.Override
13048  public double getRandomBranchesRatio() {
13049  return randomBranchesRatio_;
13050  }
13062  public Builder setRandomBranchesRatio(double value) {
13063  bitField0_ |= 0x00000040;
13064  randomBranchesRatio_ = value;
13065  onChanged();
13066  return this;
13067  }
13079  bitField0_ = (bitField0_ & ~0x00000040);
13080  randomBranchesRatio_ = 0D;
13081  onChanged();
13082  return this;
13083  }
13084 
13085  private boolean useErwaHeuristic_ ;
13096  @java.lang.Override
13097  public boolean hasUseErwaHeuristic() {
13098  return ((bitField0_ & 0x00000080) != 0);
13099  }
13110  @java.lang.Override
13111  public boolean getUseErwaHeuristic() {
13112  return useErwaHeuristic_;
13113  }
13125  public Builder setUseErwaHeuristic(boolean value) {
13126  bitField0_ |= 0x00000080;
13127  useErwaHeuristic_ = value;
13128  onChanged();
13129  return this;
13130  }
13142  bitField0_ = (bitField0_ & ~0x00000080);
13143  useErwaHeuristic_ = false;
13144  onChanged();
13145  return this;
13146  }
13147 
13148  private double initialVariablesActivity_ ;
13162  @java.lang.Override
13163  public boolean hasInitialVariablesActivity() {
13164  return ((bitField0_ & 0x00000100) != 0);
13165  }
13179  @java.lang.Override
13181  return initialVariablesActivity_;
13182  }
13197  public Builder setInitialVariablesActivity(double value) {
13198  bitField0_ |= 0x00000100;
13199  initialVariablesActivity_ = value;
13200  onChanged();
13201  return this;
13202  }
13217  bitField0_ = (bitField0_ & ~0x00000100);
13218  initialVariablesActivity_ = 0D;
13219  onChanged();
13220  return this;
13221  }
13222 
13223  private boolean alsoBumpVariablesInConflictReasons_ ;
13235  @java.lang.Override
13237  return ((bitField0_ & 0x00000200) != 0);
13238  }
13250  @java.lang.Override
13252  return alsoBumpVariablesInConflictReasons_;
13253  }
13267  bitField0_ |= 0x00000200;
13268  alsoBumpVariablesInConflictReasons_ = value;
13269  onChanged();
13270  return this;
13271  }
13284  bitField0_ = (bitField0_ & ~0x00000200);
13285  alsoBumpVariablesInConflictReasons_ = false;
13286  onChanged();
13287  return this;
13288  }
13289 
13290  private int minimizationAlgorithm_ = 2;
13295  @java.lang.Override public boolean hasMinimizationAlgorithm() {
13296  return ((bitField0_ & 0x00000400) != 0);
13297  }
13302  @java.lang.Override
13304  @SuppressWarnings("deprecation")
13306  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
13307  }
13314  if (value == null) {
13315  throw new NullPointerException();
13316  }
13317  bitField0_ |= 0x00000400;
13318  minimizationAlgorithm_ = value.getNumber();
13319  onChanged();
13320  return this;
13321  }
13327  bitField0_ = (bitField0_ & ~0x00000400);
13328  minimizationAlgorithm_ = 2;
13329  onChanged();
13330  return this;
13331  }
13332 
13333  private int binaryMinimizationAlgorithm_ = 1;
13338  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
13339  return ((bitField0_ & 0x00000800) != 0);
13340  }
13345  @java.lang.Override
13347  @SuppressWarnings("deprecation")
13350  }
13357  if (value == null) {
13358  throw new NullPointerException();
13359  }
13360  bitField0_ |= 0x00000800;
13361  binaryMinimizationAlgorithm_ = value.getNumber();
13362  onChanged();
13363  return this;
13364  }
13370  bitField0_ = (bitField0_ & ~0x00000800);
13371  binaryMinimizationAlgorithm_ = 1;
13372  onChanged();
13373  return this;
13374  }
13375 
13376  private boolean subsumptionDuringConflictAnalysis_ = true;
13388  @java.lang.Override
13390  return ((bitField0_ & 0x00001000) != 0);
13391  }
13403  @java.lang.Override
13405  return subsumptionDuringConflictAnalysis_;
13406  }
13420  bitField0_ |= 0x00001000;
13421  subsumptionDuringConflictAnalysis_ = value;
13422  onChanged();
13423  return this;
13424  }
13437  bitField0_ = (bitField0_ & ~0x00001000);
13438  subsumptionDuringConflictAnalysis_ = true;
13439  onChanged();
13440  return this;
13441  }
13442 
13443  private int clauseCleanupPeriod_ = 10000;
13452  @java.lang.Override
13453  public boolean hasClauseCleanupPeriod() {
13454  return ((bitField0_ & 0x00002000) != 0);
13455  }
13464  @java.lang.Override
13465  public int getClauseCleanupPeriod() {
13466  return clauseCleanupPeriod_;
13467  }
13477  public Builder setClauseCleanupPeriod(int value) {
13478  bitField0_ |= 0x00002000;
13479  clauseCleanupPeriod_ = value;
13480  onChanged();
13481  return this;
13482  }
13492  bitField0_ = (bitField0_ & ~0x00002000);
13493  clauseCleanupPeriod_ = 10000;
13494  onChanged();
13495  return this;
13496  }
13497 
13498  private int clauseCleanupTarget_ ;
13508  @java.lang.Override
13509  public boolean hasClauseCleanupTarget() {
13510  return ((bitField0_ & 0x00004000) != 0);
13511  }
13521  @java.lang.Override
13522  public int getClauseCleanupTarget() {
13523  return clauseCleanupTarget_;
13524  }
13535  public Builder setClauseCleanupTarget(int value) {
13536  bitField0_ |= 0x00004000;
13537  clauseCleanupTarget_ = value;
13538  onChanged();
13539  return this;
13540  }
13551  bitField0_ = (bitField0_ & ~0x00004000);
13552  clauseCleanupTarget_ = 0;
13553  onChanged();
13554  return this;
13555  }
13556 
13557  private double clauseCleanupRatio_ = 0.5D;
13568  @java.lang.Override
13569  public boolean hasClauseCleanupRatio() {
13570  return ((bitField0_ & 0x00008000) != 0);
13571  }
13582  @java.lang.Override
13583  public double getClauseCleanupRatio() {
13584  return clauseCleanupRatio_;
13585  }
13597  public Builder setClauseCleanupRatio(double value) {
13598  bitField0_ |= 0x00008000;
13599  clauseCleanupRatio_ = value;
13600  onChanged();
13601  return this;
13602  }
13614  bitField0_ = (bitField0_ & ~0x00008000);
13615  clauseCleanupRatio_ = 0.5D;
13616  onChanged();
13617  return this;
13618  }
13619 
13620  private int clauseCleanupProtection_ = 0;
13625  @java.lang.Override public boolean hasClauseCleanupProtection() {
13626  return ((bitField0_ & 0x00010000) != 0);
13627  }
13632  @java.lang.Override
13634  @SuppressWarnings("deprecation")
13636  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
13637  }
13644  if (value == null) {
13645  throw new NullPointerException();
13646  }
13647  bitField0_ |= 0x00010000;
13648  clauseCleanupProtection_ = value.getNumber();
13649  onChanged();
13650  return this;
13651  }
13657  bitField0_ = (bitField0_ & ~0x00010000);
13658  clauseCleanupProtection_ = 0;
13659  onChanged();
13660  return this;
13661  }
13662 
13663  private int clauseCleanupLbdBound_ = 5;
13673  @java.lang.Override
13674  public boolean hasClauseCleanupLbdBound() {
13675  return ((bitField0_ & 0x00020000) != 0);
13676  }
13686  @java.lang.Override
13688  return clauseCleanupLbdBound_;
13689  }
13700  public Builder setClauseCleanupLbdBound(int value) {
13701  bitField0_ |= 0x00020000;
13702  clauseCleanupLbdBound_ = value;
13703  onChanged();
13704  return this;
13705  }
13716  bitField0_ = (bitField0_ & ~0x00020000);
13717  clauseCleanupLbdBound_ = 5;
13718  onChanged();
13719  return this;
13720  }
13721 
13722  private int clauseCleanupOrdering_ = 0;
13727  @java.lang.Override public boolean hasClauseCleanupOrdering() {
13728  return ((bitField0_ & 0x00040000) != 0);
13729  }
13734  @java.lang.Override
13736  @SuppressWarnings("deprecation")
13738  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
13739  }
13746  if (value == null) {
13747  throw new NullPointerException();
13748  }
13749  bitField0_ |= 0x00040000;
13750  clauseCleanupOrdering_ = value.getNumber();
13751  onChanged();
13752  return this;
13753  }
13759  bitField0_ = (bitField0_ & ~0x00040000);
13760  clauseCleanupOrdering_ = 0;
13761  onChanged();
13762  return this;
13763  }
13764 
13765  private int pbCleanupIncrement_ = 200;
13774  @java.lang.Override
13775  public boolean hasPbCleanupIncrement() {
13776  return ((bitField0_ & 0x00080000) != 0);
13777  }
13786  @java.lang.Override
13787  public int getPbCleanupIncrement() {
13788  return pbCleanupIncrement_;
13789  }
13799  public Builder setPbCleanupIncrement(int value) {
13800  bitField0_ |= 0x00080000;
13801  pbCleanupIncrement_ = value;
13802  onChanged();
13803  return this;
13804  }
13814  bitField0_ = (bitField0_ & ~0x00080000);
13815  pbCleanupIncrement_ = 200;
13816  onChanged();
13817  return this;
13818  }
13819 
13820  private double pbCleanupRatio_ = 0.5D;
13825  @java.lang.Override
13826  public boolean hasPbCleanupRatio() {
13827  return ((bitField0_ & 0x00100000) != 0);
13828  }
13833  @java.lang.Override
13834  public double getPbCleanupRatio() {
13835  return pbCleanupRatio_;
13836  }
13842  public Builder setPbCleanupRatio(double value) {
13843  bitField0_ |= 0x00100000;
13844  pbCleanupRatio_ = value;
13845  onChanged();
13846  return this;
13847  }
13853  bitField0_ = (bitField0_ & ~0x00100000);
13854  pbCleanupRatio_ = 0.5D;
13855  onChanged();
13856  return this;
13857  }
13858 
13859  private int minimizeWithPropagationRestartPeriod_ = 10;
13878  @java.lang.Override
13880  return ((bitField0_ & 0x00200000) != 0);
13881  }
13900  @java.lang.Override
13902  return minimizeWithPropagationRestartPeriod_;
13903  }
13924  bitField0_ |= 0x00200000;
13925  minimizeWithPropagationRestartPeriod_ = value;
13926  onChanged();
13927  return this;
13928  }
13948  bitField0_ = (bitField0_ & ~0x00200000);
13949  minimizeWithPropagationRestartPeriod_ = 10;
13950  onChanged();
13951  return this;
13952  }
13953 
13954  private int minimizeWithPropagationNumDecisions_ = 1000;
13959  @java.lang.Override
13961  return ((bitField0_ & 0x00400000) != 0);
13962  }
13967  @java.lang.Override
13969  return minimizeWithPropagationNumDecisions_;
13970  }
13977  bitField0_ |= 0x00400000;
13978  minimizeWithPropagationNumDecisions_ = value;
13979  onChanged();
13980  return this;
13981  }
13987  bitField0_ = (bitField0_ & ~0x00400000);
13988  minimizeWithPropagationNumDecisions_ = 1000;
13989  onChanged();
13990  return this;
13991  }
13992 
13993  private double variableActivityDecay_ = 0.8D;
14008  @java.lang.Override
14009  public boolean hasVariableActivityDecay() {
14010  return ((bitField0_ & 0x00800000) != 0);
14011  }
14026  @java.lang.Override
14027  public double getVariableActivityDecay() {
14028  return variableActivityDecay_;
14029  }
14045  public Builder setVariableActivityDecay(double value) {
14046  bitField0_ |= 0x00800000;
14047  variableActivityDecay_ = value;
14048  onChanged();
14049  return this;
14050  }
14066  bitField0_ = (bitField0_ & ~0x00800000);
14067  variableActivityDecay_ = 0.8D;
14068  onChanged();
14069  return this;
14070  }
14071 
14072  private double maxVariableActivityValue_ = 1e+100D;
14077  @java.lang.Override
14078  public boolean hasMaxVariableActivityValue() {
14079  return ((bitField0_ & 0x01000000) != 0);
14080  }
14085  @java.lang.Override
14087  return maxVariableActivityValue_;
14088  }
14094  public Builder setMaxVariableActivityValue(double value) {
14095  bitField0_ |= 0x01000000;
14096  maxVariableActivityValue_ = value;
14097  onChanged();
14098  return this;
14099  }
14105  bitField0_ = (bitField0_ & ~0x01000000);
14106  maxVariableActivityValue_ = 1e+100D;
14107  onChanged();
14108  return this;
14109  }
14110 
14111  private double glucoseMaxDecay_ = 0.95D;
14123  @java.lang.Override
14124  public boolean hasGlucoseMaxDecay() {
14125  return ((bitField0_ & 0x02000000) != 0);
14126  }
14138  @java.lang.Override
14139  public double getGlucoseMaxDecay() {
14140  return glucoseMaxDecay_;
14141  }
14154  public Builder setGlucoseMaxDecay(double value) {
14155  bitField0_ |= 0x02000000;
14156  glucoseMaxDecay_ = value;
14157  onChanged();
14158  return this;
14159  }
14172  bitField0_ = (bitField0_ & ~0x02000000);
14173  glucoseMaxDecay_ = 0.95D;
14174  onChanged();
14175  return this;
14176  }
14177 
14178  private double glucoseDecayIncrement_ = 0.01D;
14183  @java.lang.Override
14184  public boolean hasGlucoseDecayIncrement() {
14185  return ((bitField0_ & 0x04000000) != 0);
14186  }
14191  @java.lang.Override
14192  public double getGlucoseDecayIncrement() {
14193  return glucoseDecayIncrement_;
14194  }
14200  public Builder setGlucoseDecayIncrement(double value) {
14201  bitField0_ |= 0x04000000;
14202  glucoseDecayIncrement_ = value;
14203  onChanged();
14204  return this;
14205  }
14211  bitField0_ = (bitField0_ & ~0x04000000);
14212  glucoseDecayIncrement_ = 0.01D;
14213  onChanged();
14214  return this;
14215  }
14216 
14217  private int glucoseDecayIncrementPeriod_ = 5000;
14222  @java.lang.Override
14224  return ((bitField0_ & 0x08000000) != 0);
14225  }
14230  @java.lang.Override
14232  return glucoseDecayIncrementPeriod_;
14233  }
14240  bitField0_ |= 0x08000000;
14241  glucoseDecayIncrementPeriod_ = value;
14242  onChanged();
14243  return this;
14244  }
14250  bitField0_ = (bitField0_ & ~0x08000000);
14251  glucoseDecayIncrementPeriod_ = 5000;
14252  onChanged();
14253  return this;
14254  }
14255 
14256  private double clauseActivityDecay_ = 0.999D;
14265  @java.lang.Override
14266  public boolean hasClauseActivityDecay() {
14267  return ((bitField0_ & 0x10000000) != 0);
14268  }
14277  @java.lang.Override
14278  public double getClauseActivityDecay() {
14279  return clauseActivityDecay_;
14280  }
14290  public Builder setClauseActivityDecay(double value) {
14291  bitField0_ |= 0x10000000;
14292  clauseActivityDecay_ = value;
14293  onChanged();
14294  return this;
14295  }
14305  bitField0_ = (bitField0_ & ~0x10000000);
14306  clauseActivityDecay_ = 0.999D;
14307  onChanged();
14308  return this;
14309  }
14310 
14311  private double maxClauseActivityValue_ = 1e+20D;
14316  @java.lang.Override
14317  public boolean hasMaxClauseActivityValue() {
14318  return ((bitField0_ & 0x20000000) != 0);
14319  }
14324  @java.lang.Override
14325  public double getMaxClauseActivityValue() {
14326  return maxClauseActivityValue_;
14327  }
14333  public Builder setMaxClauseActivityValue(double value) {
14334  bitField0_ |= 0x20000000;
14335  maxClauseActivityValue_ = value;
14336  onChanged();
14337  return this;
14338  }
14344  bitField0_ = (bitField0_ & ~0x20000000);
14345  maxClauseActivityValue_ = 1e+20D;
14346  onChanged();
14347  return this;
14348  }
14349 
14350  private java.util.List<java.lang.Integer> restartAlgorithms_ =
14351  java.util.Collections.emptyList();
14352  private void ensureRestartAlgorithmsIsMutable() {
14353  if (!((bitField0_ & 0x40000000) != 0)) {
14354  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
14355  bitField0_ |= 0x40000000;
14356  }
14357  }
14374  return new com.google.protobuf.Internal.ListAdapter<
14375  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
14376  }
14393  return restartAlgorithms_.size();
14394  }
14412  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
14413  }
14432  int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
14433  if (value == null) {
14434  throw new NullPointerException();
14435  }
14436  ensureRestartAlgorithmsIsMutable();
14437  restartAlgorithms_.set(index, value.getNumber());
14438  onChanged();
14439  return this;
14440  }
14458  if (value == null) {
14459  throw new NullPointerException();
14460  }
14461  ensureRestartAlgorithmsIsMutable();
14462  restartAlgorithms_.add(value.getNumber());
14463  onChanged();
14464  return this;
14465  }
14483  java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
14484  ensureRestartAlgorithmsIsMutable();
14485  for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
14486  restartAlgorithms_.add(value.getNumber());
14487  }
14488  onChanged();
14489  return this;
14490  }
14507  restartAlgorithms_ = java.util.Collections.emptyList();
14508  bitField0_ = (bitField0_ & ~0x40000000);
14509  onChanged();
14510  return this;
14511  }
14512 
14513  private java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
14518  public boolean hasDefaultRestartAlgorithms() {
14519  return ((bitField0_ & 0x80000000) != 0);
14520  }
14525  public java.lang.String getDefaultRestartAlgorithms() {
14526  java.lang.Object ref = defaultRestartAlgorithms_;
14527  if (!(ref instanceof java.lang.String)) {
14528  com.google.protobuf.ByteString bs =
14529  (com.google.protobuf.ByteString) ref;
14530  java.lang.String s = bs.toStringUtf8();
14531  if (bs.isValidUtf8()) {
14532  defaultRestartAlgorithms_ = s;
14533  }
14534  return s;
14535  } else {
14536  return (java.lang.String) ref;
14537  }
14538  }
14543  public com.google.protobuf.ByteString
14545  java.lang.Object ref = defaultRestartAlgorithms_;
14546  if (ref instanceof String) {
14547  com.google.protobuf.ByteString b =
14548  com.google.protobuf.ByteString.copyFromUtf8(
14549  (java.lang.String) ref);
14550  defaultRestartAlgorithms_ = b;
14551  return b;
14552  } else {
14553  return (com.google.protobuf.ByteString) ref;
14554  }
14555  }
14562  java.lang.String value) {
14563  if (value == null) {
14564  throw new NullPointerException();
14565  }
14566  bitField0_ |= 0x80000000;
14567  defaultRestartAlgorithms_ = value;
14568  onChanged();
14569  return this;
14570  }
14576  bitField0_ = (bitField0_ & ~0x80000000);
14577  defaultRestartAlgorithms_ = getDefaultInstance().getDefaultRestartAlgorithms();
14578  onChanged();
14579  return this;
14580  }
14587  com.google.protobuf.ByteString value) {
14588  if (value == null) {
14589  throw new NullPointerException();
14590  }
14591  bitField0_ |= 0x80000000;
14592  defaultRestartAlgorithms_ = value;
14593  onChanged();
14594  return this;
14595  }
14596 
14597  private int restartPeriod_ = 50;
14607  @java.lang.Override
14608  public boolean hasRestartPeriod() {
14609  return ((bitField1_ & 0x00000001) != 0);
14610  }
14620  @java.lang.Override
14621  public int getRestartPeriod() {
14622  return restartPeriod_;
14623  }
14634  public Builder setRestartPeriod(int value) {
14635  bitField1_ |= 0x00000001;
14636  restartPeriod_ = value;
14637  onChanged();
14638  return this;
14639  }
14650  bitField1_ = (bitField1_ & ~0x00000001);
14651  restartPeriod_ = 50;
14652  onChanged();
14653  return this;
14654  }
14655 
14656  private int restartRunningWindowSize_ = 50;
14665  @java.lang.Override
14666  public boolean hasRestartRunningWindowSize() {
14667  return ((bitField1_ & 0x00000002) != 0);
14668  }
14677  @java.lang.Override
14679  return restartRunningWindowSize_;
14680  }
14691  bitField1_ |= 0x00000002;
14692  restartRunningWindowSize_ = value;
14693  onChanged();
14694  return this;
14695  }
14705  bitField1_ = (bitField1_ & ~0x00000002);
14706  restartRunningWindowSize_ = 50;
14707  onChanged();
14708  return this;
14709  }
14710 
14711  private double restartDlAverageRatio_ = 1D;
14721  @java.lang.Override
14722  public boolean hasRestartDlAverageRatio() {
14723  return ((bitField1_ & 0x00000004) != 0);
14724  }
14734  @java.lang.Override
14735  public double getRestartDlAverageRatio() {
14736  return restartDlAverageRatio_;
14737  }
14748  public Builder setRestartDlAverageRatio(double value) {
14749  bitField1_ |= 0x00000004;
14750  restartDlAverageRatio_ = value;
14751  onChanged();
14752  return this;
14753  }
14764  bitField1_ = (bitField1_ & ~0x00000004);
14765  restartDlAverageRatio_ = 1D;
14766  onChanged();
14767  return this;
14768  }
14769 
14770  private double restartLbdAverageRatio_ = 1D;
14775  @java.lang.Override
14776  public boolean hasRestartLbdAverageRatio() {
14777  return ((bitField1_ & 0x00000008) != 0);
14778  }
14783  @java.lang.Override
14784  public double getRestartLbdAverageRatio() {
14785  return restartLbdAverageRatio_;
14786  }
14792  public Builder setRestartLbdAverageRatio(double value) {
14793  bitField1_ |= 0x00000008;
14794  restartLbdAverageRatio_ = value;
14795  onChanged();
14796  return this;
14797  }
14803  bitField1_ = (bitField1_ & ~0x00000008);
14804  restartLbdAverageRatio_ = 1D;
14805  onChanged();
14806  return this;
14807  }
14808 
14809  private boolean useBlockingRestart_ ;
14820  @java.lang.Override
14821  public boolean hasUseBlockingRestart() {
14822  return ((bitField1_ & 0x00000010) != 0);
14823  }
14834  @java.lang.Override
14835  public boolean getUseBlockingRestart() {
14836  return useBlockingRestart_;
14837  }
14849  public Builder setUseBlockingRestart(boolean value) {
14850  bitField1_ |= 0x00000010;
14851  useBlockingRestart_ = value;
14852  onChanged();
14853  return this;
14854  }
14866  bitField1_ = (bitField1_ & ~0x00000010);
14867  useBlockingRestart_ = false;
14868  onChanged();
14869  return this;
14870  }
14871 
14872  private int blockingRestartWindowSize_ = 5000;
14877  @java.lang.Override
14878  public boolean hasBlockingRestartWindowSize() {
14879  return ((bitField1_ & 0x00000020) != 0);
14880  }
14885  @java.lang.Override
14887  return blockingRestartWindowSize_;
14888  }
14895  bitField1_ |= 0x00000020;
14896  blockingRestartWindowSize_ = value;
14897  onChanged();
14898  return this;
14899  }
14905  bitField1_ = (bitField1_ & ~0x00000020);
14906  blockingRestartWindowSize_ = 5000;
14907  onChanged();
14908  return this;
14909  }
14910 
14911  private double blockingRestartMultiplier_ = 1.4D;
14916  @java.lang.Override
14917  public boolean hasBlockingRestartMultiplier() {
14918  return ((bitField1_ & 0x00000040) != 0);
14919  }
14924  @java.lang.Override
14926  return blockingRestartMultiplier_;
14927  }
14933  public Builder setBlockingRestartMultiplier(double value) {
14934  bitField1_ |= 0x00000040;
14935  blockingRestartMultiplier_ = value;
14936  onChanged();
14937  return this;
14938  }
14944  bitField1_ = (bitField1_ & ~0x00000040);
14945  blockingRestartMultiplier_ = 1.4D;
14946  onChanged();
14947  return this;
14948  }
14949 
14950  private int numConflictsBeforeStrategyChanges_ ;
14961  @java.lang.Override
14963  return ((bitField1_ & 0x00000080) != 0);
14964  }
14975  @java.lang.Override
14977  return numConflictsBeforeStrategyChanges_;
14978  }
14991  bitField1_ |= 0x00000080;
14992  numConflictsBeforeStrategyChanges_ = value;
14993  onChanged();
14994  return this;
14995  }
15007  bitField1_ = (bitField1_ & ~0x00000080);
15008  numConflictsBeforeStrategyChanges_ = 0;
15009  onChanged();
15010  return this;
15011  }
15012 
15013  private double strategyChangeIncreaseRatio_ ;
15023  @java.lang.Override
15025  return ((bitField1_ & 0x00000100) != 0);
15026  }
15036  @java.lang.Override
15038  return strategyChangeIncreaseRatio_;
15039  }
15051  bitField1_ |= 0x00000100;
15052  strategyChangeIncreaseRatio_ = value;
15053  onChanged();
15054  return this;
15055  }
15066  bitField1_ = (bitField1_ & ~0x00000100);
15067  strategyChangeIncreaseRatio_ = 0D;
15068  onChanged();
15069  return this;
15070  }
15071 
15072  private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
15082  @java.lang.Override
15083  public boolean hasMaxTimeInSeconds() {
15084  return ((bitField1_ & 0x00000200) != 0);
15085  }
15095  @java.lang.Override
15096  public double getMaxTimeInSeconds() {
15097  return maxTimeInSeconds_;
15098  }
15109  public Builder setMaxTimeInSeconds(double value) {
15110  bitField1_ |= 0x00000200;
15111  maxTimeInSeconds_ = value;
15112  onChanged();
15113  return this;
15114  }
15125  bitField1_ = (bitField1_ & ~0x00000200);
15126  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
15127  onChanged();
15128  return this;
15129  }
15130 
15131  private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
15142  @java.lang.Override
15143  public boolean hasMaxDeterministicTime() {
15144  return ((bitField1_ & 0x00000400) != 0);
15145  }
15156  @java.lang.Override
15157  public double getMaxDeterministicTime() {
15158  return maxDeterministicTime_;
15159  }
15171  public Builder setMaxDeterministicTime(double value) {
15172  bitField1_ |= 0x00000400;
15173  maxDeterministicTime_ = value;
15174  onChanged();
15175  return this;
15176  }
15188  bitField1_ = (bitField1_ & ~0x00000400);
15189  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
15190  onChanged();
15191  return this;
15192  }
15193 
15194  private long maxNumberOfConflicts_ = 9223372036854775807L;
15208  @java.lang.Override
15209  public boolean hasMaxNumberOfConflicts() {
15210  return ((bitField1_ & 0x00000800) != 0);
15211  }
15225  @java.lang.Override
15226  public long getMaxNumberOfConflicts() {
15227  return maxNumberOfConflicts_;
15228  }
15243  public Builder setMaxNumberOfConflicts(long value) {
15244  bitField1_ |= 0x00000800;
15245  maxNumberOfConflicts_ = value;
15246  onChanged();
15247  return this;
15248  }
15263  bitField1_ = (bitField1_ & ~0x00000800);
15264  maxNumberOfConflicts_ = 9223372036854775807L;
15265  onChanged();
15266  return this;
15267  }
15268 
15269  private long maxMemoryInMb_ = 10000L;
15281  @java.lang.Override
15282  public boolean hasMaxMemoryInMb() {
15283  return ((bitField1_ & 0x00001000) != 0);
15284  }
15296  @java.lang.Override
15297  public long getMaxMemoryInMb() {
15298  return maxMemoryInMb_;
15299  }
15312  public Builder setMaxMemoryInMb(long value) {
15313  bitField1_ |= 0x00001000;
15314  maxMemoryInMb_ = value;
15315  onChanged();
15316  return this;
15317  }
15330  bitField1_ = (bitField1_ & ~0x00001000);
15331  maxMemoryInMb_ = 10000L;
15332  onChanged();
15333  return this;
15334  }
15335 
15336  private double absoluteGapLimit_ ;
15354  @java.lang.Override
15355  public boolean hasAbsoluteGapLimit() {
15356  return ((bitField1_ & 0x00002000) != 0);
15357  }
15375  @java.lang.Override
15376  public double getAbsoluteGapLimit() {
15377  return absoluteGapLimit_;
15378  }
15397  public Builder setAbsoluteGapLimit(double value) {
15398  bitField1_ |= 0x00002000;
15399  absoluteGapLimit_ = value;
15400  onChanged();
15401  return this;
15402  }
15421  bitField1_ = (bitField1_ & ~0x00002000);
15422  absoluteGapLimit_ = 0D;
15423  onChanged();
15424  return this;
15425  }
15426 
15427  private double relativeGapLimit_ ;
15432  @java.lang.Override
15433  public boolean hasRelativeGapLimit() {
15434  return ((bitField1_ & 0x00004000) != 0);
15435  }
15440  @java.lang.Override
15441  public double getRelativeGapLimit() {
15442  return relativeGapLimit_;
15443  }
15449  public Builder setRelativeGapLimit(double value) {
15450  bitField1_ |= 0x00004000;
15451  relativeGapLimit_ = value;
15452  onChanged();
15453  return this;
15454  }
15460  bitField1_ = (bitField1_ & ~0x00004000);
15461  relativeGapLimit_ = 0D;
15462  onChanged();
15463  return this;
15464  }
15465 
15466  private boolean treatBinaryClausesSeparately_ = true;
15477  @java.lang.Override
15479  return ((bitField1_ & 0x00008000) != 0);
15480  }
15491  @java.lang.Override
15493  return treatBinaryClausesSeparately_;
15494  }
15507  bitField1_ |= 0x00008000;
15508  treatBinaryClausesSeparately_ = value;
15509  onChanged();
15510  return this;
15511  }
15523  bitField1_ = (bitField1_ & ~0x00008000);
15524  treatBinaryClausesSeparately_ = true;
15525  onChanged();
15526  return this;
15527  }
15528 
15529  private int randomSeed_ = 1;
15543  @java.lang.Override
15544  public boolean hasRandomSeed() {
15545  return ((bitField1_ & 0x00010000) != 0);
15546  }
15560  @java.lang.Override
15561  public int getRandomSeed() {
15562  return randomSeed_;
15563  }
15578  public Builder setRandomSeed(int value) {
15579  bitField1_ |= 0x00010000;
15580  randomSeed_ = value;
15581  onChanged();
15582  return this;
15583  }
15598  bitField1_ = (bitField1_ & ~0x00010000);
15599  randomSeed_ = 1;
15600  onChanged();
15601  return this;
15602  }
15603 
15604  private boolean permuteVariableRandomly_ ;
15616  @java.lang.Override
15617  public boolean hasPermuteVariableRandomly() {
15618  return ((bitField1_ & 0x00020000) != 0);
15619  }
15631  @java.lang.Override
15632  public boolean getPermuteVariableRandomly() {
15633  return permuteVariableRandomly_;
15634  }
15647  public Builder setPermuteVariableRandomly(boolean value) {
15648  bitField1_ |= 0x00020000;
15649  permuteVariableRandomly_ = value;
15650  onChanged();
15651  return this;
15652  }
15665  bitField1_ = (bitField1_ & ~0x00020000);
15666  permuteVariableRandomly_ = false;
15667  onChanged();
15668  return this;
15669  }
15670 
15671  private boolean permutePresolveConstraintOrder_ ;
15676  @java.lang.Override
15678  return ((bitField1_ & 0x00040000) != 0);
15679  }
15684  @java.lang.Override
15686  return permutePresolveConstraintOrder_;
15687  }
15694  bitField1_ |= 0x00040000;
15695  permutePresolveConstraintOrder_ = value;
15696  onChanged();
15697  return this;
15698  }
15704  bitField1_ = (bitField1_ & ~0x00040000);
15705  permutePresolveConstraintOrder_ = false;
15706  onChanged();
15707  return this;
15708  }
15709 
15710  private boolean useAbslRandom_ ;
15715  @java.lang.Override
15716  public boolean hasUseAbslRandom() {
15717  return ((bitField1_ & 0x00080000) != 0);
15718  }
15723  @java.lang.Override
15724  public boolean getUseAbslRandom() {
15725  return useAbslRandom_;
15726  }
15732  public Builder setUseAbslRandom(boolean value) {
15733  bitField1_ |= 0x00080000;
15734  useAbslRandom_ = value;
15735  onChanged();
15736  return this;
15737  }
15743  bitField1_ = (bitField1_ & ~0x00080000);
15744  useAbslRandom_ = false;
15745  onChanged();
15746  return this;
15747  }
15748 
15749  private boolean logSearchProgress_ ;
15759  @java.lang.Override
15760  public boolean hasLogSearchProgress() {
15761  return ((bitField1_ & 0x00100000) != 0);
15762  }
15772  @java.lang.Override
15773  public boolean getLogSearchProgress() {
15774  return logSearchProgress_;
15775  }
15786  public Builder setLogSearchProgress(boolean value) {
15787  bitField1_ |= 0x00100000;
15788  logSearchProgress_ = value;
15789  onChanged();
15790  return this;
15791  }
15802  bitField1_ = (bitField1_ & ~0x00100000);
15803  logSearchProgress_ = false;
15804  onChanged();
15805  return this;
15806  }
15807 
15808  private boolean logSubsolverStatistics_ = true;
15819  @java.lang.Override
15820  public boolean hasLogSubsolverStatistics() {
15821  return ((bitField1_ & 0x00200000) != 0);
15822  }
15833  @java.lang.Override
15834  public boolean getLogSubsolverStatistics() {
15835  return logSubsolverStatistics_;
15836  }
15848  public Builder setLogSubsolverStatistics(boolean value) {
15849  bitField1_ |= 0x00200000;
15850  logSubsolverStatistics_ = value;
15851  onChanged();
15852  return this;
15853  }
15865  bitField1_ = (bitField1_ & ~0x00200000);
15866  logSubsolverStatistics_ = true;
15867  onChanged();
15868  return this;
15869  }
15870 
15871  private java.lang.Object logPrefix_ = "";
15880  public boolean hasLogPrefix() {
15881  return ((bitField1_ & 0x00400000) != 0);
15882  }
15891  public java.lang.String getLogPrefix() {
15892  java.lang.Object ref = logPrefix_;
15893  if (!(ref instanceof java.lang.String)) {
15894  com.google.protobuf.ByteString bs =
15895  (com.google.protobuf.ByteString) ref;
15896  java.lang.String s = bs.toStringUtf8();
15897  if (bs.isValidUtf8()) {
15898  logPrefix_ = s;
15899  }
15900  return s;
15901  } else {
15902  return (java.lang.String) ref;
15903  }
15904  }
15913  public com.google.protobuf.ByteString
15915  java.lang.Object ref = logPrefix_;
15916  if (ref instanceof String) {
15917  com.google.protobuf.ByteString b =
15918  com.google.protobuf.ByteString.copyFromUtf8(
15919  (java.lang.String) ref);
15920  logPrefix_ = b;
15921  return b;
15922  } else {
15923  return (com.google.protobuf.ByteString) ref;
15924  }
15925  }
15936  java.lang.String value) {
15937  if (value == null) {
15938  throw new NullPointerException();
15939  }
15940  bitField1_ |= 0x00400000;
15941  logPrefix_ = value;
15942  onChanged();
15943  return this;
15944  }
15954  bitField1_ = (bitField1_ & ~0x00400000);
15955  logPrefix_ = getDefaultInstance().getLogPrefix();
15956  onChanged();
15957  return this;
15958  }
15969  com.google.protobuf.ByteString value) {
15970  if (value == null) {
15971  throw new NullPointerException();
15972  }
15973  bitField1_ |= 0x00400000;
15974  logPrefix_ = value;
15975  onChanged();
15976  return this;
15977  }
15978 
15979  private boolean logToStdout_ = true;
15988  @java.lang.Override
15989  public boolean hasLogToStdout() {
15990  return ((bitField1_ & 0x00800000) != 0);
15991  }
16000  @java.lang.Override
16001  public boolean getLogToStdout() {
16002  return logToStdout_;
16003  }
16013  public Builder setLogToStdout(boolean value) {
16014  bitField1_ |= 0x00800000;
16015  logToStdout_ = value;
16016  onChanged();
16017  return this;
16018  }
16028  bitField1_ = (bitField1_ & ~0x00800000);
16029  logToStdout_ = true;
16030  onChanged();
16031  return this;
16032  }
16033 
16034  private boolean logToResponse_ ;
16043  @java.lang.Override
16044  public boolean hasLogToResponse() {
16045  return ((bitField1_ & 0x01000000) != 0);
16046  }
16055  @java.lang.Override
16056  public boolean getLogToResponse() {
16057  return logToResponse_;
16058  }
16068  public Builder setLogToResponse(boolean value) {
16069  bitField1_ |= 0x01000000;
16070  logToResponse_ = value;
16071  onChanged();
16072  return this;
16073  }
16083  bitField1_ = (bitField1_ & ~0x01000000);
16084  logToResponse_ = false;
16085  onChanged();
16086  return this;
16087  }
16088 
16089  private boolean usePbResolution_ ;
16101  @java.lang.Override
16102  public boolean hasUsePbResolution() {
16103  return ((bitField1_ & 0x02000000) != 0);
16104  }
16116  @java.lang.Override
16117  public boolean getUsePbResolution() {
16118  return usePbResolution_;
16119  }
16132  public Builder setUsePbResolution(boolean value) {
16133  bitField1_ |= 0x02000000;
16134  usePbResolution_ = value;
16135  onChanged();
16136  return this;
16137  }
16150  bitField1_ = (bitField1_ & ~0x02000000);
16151  usePbResolution_ = false;
16152  onChanged();
16153  return this;
16154  }
16155 
16156  private boolean minimizeReductionDuringPbResolution_ ;
16168  @java.lang.Override
16170  return ((bitField1_ & 0x04000000) != 0);
16171  }
16183  @java.lang.Override
16185  return minimizeReductionDuringPbResolution_;
16186  }
16200  bitField1_ |= 0x04000000;
16201  minimizeReductionDuringPbResolution_ = value;
16202  onChanged();
16203  return this;
16204  }
16217  bitField1_ = (bitField1_ & ~0x04000000);
16218  minimizeReductionDuringPbResolution_ = false;
16219  onChanged();
16220  return this;
16221  }
16222 
16223  private boolean countAssumptionLevelsInLbd_ = true;
16239  @java.lang.Override
16241  return ((bitField1_ & 0x08000000) != 0);
16242  }
16258  @java.lang.Override
16260  return countAssumptionLevelsInLbd_;
16261  }
16278  public Builder setCountAssumptionLevelsInLbd(boolean value) {
16279  bitField1_ |= 0x08000000;
16280  countAssumptionLevelsInLbd_ = value;
16281  onChanged();
16282  return this;
16283  }
16300  bitField1_ = (bitField1_ & ~0x08000000);
16301  countAssumptionLevelsInLbd_ = true;
16302  onChanged();
16303  return this;
16304  }
16305 
16306  private int presolveBveThreshold_ = 500;
16317  @java.lang.Override
16318  public boolean hasPresolveBveThreshold() {
16319  return ((bitField1_ & 0x10000000) != 0);
16320  }
16331  @java.lang.Override
16333  return presolveBveThreshold_;
16334  }
16346  public Builder setPresolveBveThreshold(int value) {
16347  bitField1_ |= 0x10000000;
16348  presolveBveThreshold_ = value;
16349  onChanged();
16350  return this;
16351  }
16363  bitField1_ = (bitField1_ & ~0x10000000);
16364  presolveBveThreshold_ = 500;
16365  onChanged();
16366  return this;
16367  }
16368 
16369  private int presolveBveClauseWeight_ = 3;
16379  @java.lang.Override
16380  public boolean hasPresolveBveClauseWeight() {
16381  return ((bitField1_ & 0x20000000) != 0);
16382  }
16392  @java.lang.Override
16394  return presolveBveClauseWeight_;
16395  }
16407  bitField1_ |= 0x20000000;
16408  presolveBveClauseWeight_ = value;
16409  onChanged();
16410  return this;
16411  }
16422  bitField1_ = (bitField1_ & ~0x20000000);
16423  presolveBveClauseWeight_ = 3;
16424  onChanged();
16425  return this;
16426  }
16427 
16428  private double presolveProbingDeterministicTimeLimit_ = 30D;
16438  @java.lang.Override
16440  return ((bitField1_ & 0x40000000) != 0);
16441  }
16451  @java.lang.Override
16453  return presolveProbingDeterministicTimeLimit_;
16454  }
16466  bitField1_ |= 0x40000000;
16467  presolveProbingDeterministicTimeLimit_ = value;
16468  onChanged();
16469  return this;
16470  }
16481  bitField1_ = (bitField1_ & ~0x40000000);
16482  presolveProbingDeterministicTimeLimit_ = 30D;
16483  onChanged();
16484  return this;
16485  }
16486 
16487  private boolean presolveBlockedClause_ = true;
16497  @java.lang.Override
16498  public boolean hasPresolveBlockedClause() {
16499  return ((bitField1_ & 0x80000000) != 0);
16500  }
16510  @java.lang.Override
16511  public boolean getPresolveBlockedClause() {
16512  return presolveBlockedClause_;
16513  }
16524  public Builder setPresolveBlockedClause(boolean value) {
16525  bitField1_ |= 0x80000000;
16526  presolveBlockedClause_ = value;
16527  onChanged();
16528  return this;
16529  }
16540  bitField1_ = (bitField1_ & ~0x80000000);
16541  presolveBlockedClause_ = true;
16542  onChanged();
16543  return this;
16544  }
16545 
16546  private boolean presolveUseBva_ = true;
16555  @java.lang.Override
16556  public boolean hasPresolveUseBva() {
16557  return ((bitField2_ & 0x00000001) != 0);
16558  }
16567  @java.lang.Override
16568  public boolean getPresolveUseBva() {
16569  return presolveUseBva_;
16570  }
16580  public Builder setPresolveUseBva(boolean value) {
16581  bitField2_ |= 0x00000001;
16582  presolveUseBva_ = value;
16583  onChanged();
16584  return this;
16585  }
16595  bitField2_ = (bitField2_ & ~0x00000001);
16596  presolveUseBva_ = true;
16597  onChanged();
16598  return this;
16599  }
16600 
16601  private int presolveBvaThreshold_ = 1;
16613  @java.lang.Override
16614  public boolean hasPresolveBvaThreshold() {
16615  return ((bitField2_ & 0x00000002) != 0);
16616  }
16628  @java.lang.Override
16630  return presolveBvaThreshold_;
16631  }
16644  public Builder setPresolveBvaThreshold(int value) {
16645  bitField2_ |= 0x00000002;
16646  presolveBvaThreshold_ = value;
16647  onChanged();
16648  return this;
16649  }
16662  bitField2_ = (bitField2_ & ~0x00000002);
16663  presolveBvaThreshold_ = 1;
16664  onChanged();
16665  return this;
16666  }
16667 
16668  private int maxPresolveIterations_ = 3;
16679  @java.lang.Override
16680  public boolean hasMaxPresolveIterations() {
16681  return ((bitField2_ & 0x00000004) != 0);
16682  }
16693  @java.lang.Override
16695  return maxPresolveIterations_;
16696  }
16708  public Builder setMaxPresolveIterations(int value) {
16709  bitField2_ |= 0x00000004;
16710  maxPresolveIterations_ = value;
16711  onChanged();
16712  return this;
16713  }
16725  bitField2_ = (bitField2_ & ~0x00000004);
16726  maxPresolveIterations_ = 3;
16727  onChanged();
16728  return this;
16729  }
16730 
16731  private boolean cpModelPresolve_ = true;
16740  @java.lang.Override
16741  public boolean hasCpModelPresolve() {
16742  return ((bitField2_ & 0x00000008) != 0);
16743  }
16752  @java.lang.Override
16753  public boolean getCpModelPresolve() {
16754  return cpModelPresolve_;
16755  }
16765  public Builder setCpModelPresolve(boolean value) {
16766  bitField2_ |= 0x00000008;
16767  cpModelPresolve_ = value;
16768  onChanged();
16769  return this;
16770  }
16780  bitField2_ = (bitField2_ & ~0x00000008);
16781  cpModelPresolve_ = true;
16782  onChanged();
16783  return this;
16784  }
16785 
16786  private boolean cpModelPostsolveWithFullSolver_ ;
16798  @java.lang.Override
16800  return ((bitField2_ & 0x00000010) != 0);
16801  }
16813  @java.lang.Override
16815  return cpModelPostsolveWithFullSolver_;
16816  }
16830  bitField2_ |= 0x00000010;
16831  cpModelPostsolveWithFullSolver_ = value;
16832  onChanged();
16833  return this;
16834  }
16847  bitField2_ = (bitField2_ & ~0x00000010);
16848  cpModelPostsolveWithFullSolver_ = false;
16849  onChanged();
16850  return this;
16851  }
16852 
16853  private int cpModelMaxNumPresolveOperations_ ;
16863  @java.lang.Override
16865  return ((bitField2_ & 0x00000020) != 0);
16866  }
16876  @java.lang.Override
16878  return cpModelMaxNumPresolveOperations_;
16879  }
16891  bitField2_ |= 0x00000020;
16892  cpModelMaxNumPresolveOperations_ = value;
16893  onChanged();
16894  return this;
16895  }
16906  bitField2_ = (bitField2_ & ~0x00000020);
16907  cpModelMaxNumPresolveOperations_ = 0;
16908  onChanged();
16909  return this;
16910  }
16911 
16912  private int cpModelProbingLevel_ = 2;
16921  @java.lang.Override
16922  public boolean hasCpModelProbingLevel() {
16923  return ((bitField2_ & 0x00000040) != 0);
16924  }
16933  @java.lang.Override
16934  public int getCpModelProbingLevel() {
16935  return cpModelProbingLevel_;
16936  }
16946  public Builder setCpModelProbingLevel(int value) {
16947  bitField2_ |= 0x00000040;
16948  cpModelProbingLevel_ = value;
16949  onChanged();
16950  return this;
16951  }
16961  bitField2_ = (bitField2_ & ~0x00000040);
16962  cpModelProbingLevel_ = 2;
16963  onChanged();
16964  return this;
16965  }
16966 
16967  private boolean cpModelUseSatPresolve_ = true;
16976  @java.lang.Override
16977  public boolean hasCpModelUseSatPresolve() {
16978  return ((bitField2_ & 0x00000080) != 0);
16979  }
16988  @java.lang.Override
16989  public boolean getCpModelUseSatPresolve() {
16990  return cpModelUseSatPresolve_;
16991  }
17001  public Builder setCpModelUseSatPresolve(boolean value) {
17002  bitField2_ |= 0x00000080;
17003  cpModelUseSatPresolve_ = value;
17004  onChanged();
17005  return this;
17006  }
17016  bitField2_ = (bitField2_ & ~0x00000080);
17017  cpModelUseSatPresolve_ = true;
17018  onChanged();
17019  return this;
17020  }
17021 
17022  private boolean useSatInprocessing_ ;
17027  @java.lang.Override
17028  public boolean hasUseSatInprocessing() {
17029  return ((bitField2_ & 0x00000100) != 0);
17030  }
17035  @java.lang.Override
17036  public boolean getUseSatInprocessing() {
17037  return useSatInprocessing_;
17038  }
17044  public Builder setUseSatInprocessing(boolean value) {
17045  bitField2_ |= 0x00000100;
17046  useSatInprocessing_ = value;
17047  onChanged();
17048  return this;
17049  }
17055  bitField2_ = (bitField2_ & ~0x00000100);
17056  useSatInprocessing_ = false;
17057  onChanged();
17058  return this;
17059  }
17060 
17061  private boolean expandElementConstraints_ = true;
17071  @java.lang.Override
17072  public boolean hasExpandElementConstraints() {
17073  return ((bitField2_ & 0x00000200) != 0);
17074  }
17084  @java.lang.Override
17085  public boolean getExpandElementConstraints() {
17086  return expandElementConstraints_;
17087  }
17098  public Builder setExpandElementConstraints(boolean value) {
17099  bitField2_ |= 0x00000200;
17100  expandElementConstraints_ = value;
17101  onChanged();
17102  return this;
17103  }
17114  bitField2_ = (bitField2_ & ~0x00000200);
17115  expandElementConstraints_ = true;
17116  onChanged();
17117  return this;
17118  }
17119 
17120  private boolean expandAutomatonConstraints_ = true;
17129  @java.lang.Override
17131  return ((bitField2_ & 0x00000400) != 0);
17132  }
17141  @java.lang.Override
17143  return expandAutomatonConstraints_;
17144  }
17154  public Builder setExpandAutomatonConstraints(boolean value) {
17155  bitField2_ |= 0x00000400;
17156  expandAutomatonConstraints_ = value;
17157  onChanged();
17158  return this;
17159  }
17169  bitField2_ = (bitField2_ & ~0x00000400);
17170  expandAutomatonConstraints_ = true;
17171  onChanged();
17172  return this;
17173  }
17174 
17175  private boolean expandTableConstraints_ = true;
17185  @java.lang.Override
17186  public boolean hasExpandTableConstraints() {
17187  return ((bitField2_ & 0x00000800) != 0);
17188  }
17198  @java.lang.Override
17199  public boolean getExpandTableConstraints() {
17200  return expandTableConstraints_;
17201  }
17212  public Builder setExpandTableConstraints(boolean value) {
17213  bitField2_ |= 0x00000800;
17214  expandTableConstraints_ = value;
17215  onChanged();
17216  return this;
17217  }
17228  bitField2_ = (bitField2_ & ~0x00000800);
17229  expandTableConstraints_ = true;
17230  onChanged();
17231  return this;
17232  }
17233 
17234  private boolean expandAlldiffConstraints_ ;
17244  @java.lang.Override
17245  public boolean hasExpandAlldiffConstraints() {
17246  return ((bitField2_ & 0x00001000) != 0);
17247  }
17257  @java.lang.Override
17258  public boolean getExpandAlldiffConstraints() {
17259  return expandAlldiffConstraints_;
17260  }
17271  public Builder setExpandAlldiffConstraints(boolean value) {
17272  bitField2_ |= 0x00001000;
17273  expandAlldiffConstraints_ = value;
17274  onChanged();
17275  return this;
17276  }
17287  bitField2_ = (bitField2_ & ~0x00001000);
17288  expandAlldiffConstraints_ = false;
17289  onChanged();
17290  return this;
17291  }
17292 
17293  private boolean expandReservoirConstraints_ = true;
17303  @java.lang.Override
17305  return ((bitField2_ & 0x00002000) != 0);
17306  }
17316  @java.lang.Override
17318  return expandReservoirConstraints_;
17319  }
17330  public Builder setExpandReservoirConstraints(boolean value) {
17331  bitField2_ |= 0x00002000;
17332  expandReservoirConstraints_ = value;
17333  onChanged();
17334  return this;
17335  }
17346  bitField2_ = (bitField2_ & ~0x00002000);
17347  expandReservoirConstraints_ = true;
17348  onChanged();
17349  return this;
17350  }
17351 
17352  private boolean disableConstraintExpansion_ ;
17362  @java.lang.Override
17364  return ((bitField2_ & 0x00004000) != 0);
17365  }
17375  @java.lang.Override
17377  return disableConstraintExpansion_;
17378  }
17389  public Builder setDisableConstraintExpansion(boolean value) {
17390  bitField2_ |= 0x00004000;
17391  disableConstraintExpansion_ = value;
17392  onChanged();
17393  return this;
17394  }
17405  bitField2_ = (bitField2_ & ~0x00004000);
17406  disableConstraintExpansion_ = false;
17407  onChanged();
17408  return this;
17409  }
17410 
17411  private double mergeNoOverlapWorkLimit_ = 1000000000000D;
17424  @java.lang.Override
17425  public boolean hasMergeNoOverlapWorkLimit() {
17426  return ((bitField2_ & 0x00008000) != 0);
17427  }
17440  @java.lang.Override
17441  public double getMergeNoOverlapWorkLimit() {
17442  return mergeNoOverlapWorkLimit_;
17443  }
17457  public Builder setMergeNoOverlapWorkLimit(double value) {
17458  bitField2_ |= 0x00008000;
17459  mergeNoOverlapWorkLimit_ = value;
17460  onChanged();
17461  return this;
17462  }
17476  bitField2_ = (bitField2_ & ~0x00008000);
17477  mergeNoOverlapWorkLimit_ = 1000000000000D;
17478  onChanged();
17479  return this;
17480  }
17481 
17482  private double mergeAtMostOneWorkLimit_ = 100000000D;
17487  @java.lang.Override
17488  public boolean hasMergeAtMostOneWorkLimit() {
17489  return ((bitField2_ & 0x00010000) != 0);
17490  }
17495  @java.lang.Override
17496  public double getMergeAtMostOneWorkLimit() {
17497  return mergeAtMostOneWorkLimit_;
17498  }
17504  public Builder setMergeAtMostOneWorkLimit(double value) {
17505  bitField2_ |= 0x00010000;
17506  mergeAtMostOneWorkLimit_ = value;
17507  onChanged();
17508  return this;
17509  }
17515  bitField2_ = (bitField2_ & ~0x00010000);
17516  mergeAtMostOneWorkLimit_ = 100000000D;
17517  onChanged();
17518  return this;
17519  }
17520 
17521  private int presolveSubstitutionLevel_ = 1;
17533  @java.lang.Override
17534  public boolean hasPresolveSubstitutionLevel() {
17535  return ((bitField2_ & 0x00020000) != 0);
17536  }
17548  @java.lang.Override
17550  return presolveSubstitutionLevel_;
17551  }
17565  bitField2_ |= 0x00020000;
17566  presolveSubstitutionLevel_ = value;
17567  onChanged();
17568  return this;
17569  }
17582  bitField2_ = (bitField2_ & ~0x00020000);
17583  presolveSubstitutionLevel_ = 1;
17584  onChanged();
17585  return this;
17586  }
17587 
17588  private boolean presolveExtractIntegerEnforcement_ ;
17602  @java.lang.Override
17604  return ((bitField2_ & 0x00040000) != 0);
17605  }
17619  @java.lang.Override
17621  return presolveExtractIntegerEnforcement_;
17622  }
17638  bitField2_ |= 0x00040000;
17639  presolveExtractIntegerEnforcement_ = value;
17640  onChanged();
17641  return this;
17642  }
17657  bitField2_ = (bitField2_ & ~0x00040000);
17658  presolveExtractIntegerEnforcement_ = false;
17659  onChanged();
17660  return this;
17661  }
17662 
17663  private boolean useOptimizationHints_ = true;
17675  @java.lang.Override
17676  public boolean hasUseOptimizationHints() {
17677  return ((bitField2_ & 0x00080000) != 0);
17678  }
17690  @java.lang.Override
17691  public boolean getUseOptimizationHints() {
17692  return useOptimizationHints_;
17693  }
17706  public Builder setUseOptimizationHints(boolean value) {
17707  bitField2_ |= 0x00080000;
17708  useOptimizationHints_ = value;
17709  onChanged();
17710  return this;
17711  }
17724  bitField2_ = (bitField2_ & ~0x00080000);
17725  useOptimizationHints_ = true;
17726  onChanged();
17727  return this;
17728  }
17729 
17730  private boolean minimizeCore_ = true;
17739  @java.lang.Override
17740  public boolean hasMinimizeCore() {
17741  return ((bitField2_ & 0x00100000) != 0);
17742  }
17751  @java.lang.Override
17752  public boolean getMinimizeCore() {
17753  return minimizeCore_;
17754  }
17764  public Builder setMinimizeCore(boolean value) {
17765  bitField2_ |= 0x00100000;
17766  minimizeCore_ = value;
17767  onChanged();
17768  return this;
17769  }
17779  bitField2_ = (bitField2_ & ~0x00100000);
17780  minimizeCore_ = true;
17781  onChanged();
17782  return this;
17783  }
17784 
17785  private boolean findMultipleCores_ = true;
17795  @java.lang.Override
17796  public boolean hasFindMultipleCores() {
17797  return ((bitField2_ & 0x00200000) != 0);
17798  }
17808  @java.lang.Override
17809  public boolean getFindMultipleCores() {
17810  return findMultipleCores_;
17811  }
17822  public Builder setFindMultipleCores(boolean value) {
17823  bitField2_ |= 0x00200000;
17824  findMultipleCores_ = value;
17825  onChanged();
17826  return this;
17827  }
17838  bitField2_ = (bitField2_ & ~0x00200000);
17839  findMultipleCores_ = true;
17840  onChanged();
17841  return this;
17842  }
17843 
17844  private boolean coverOptimization_ = true;
17854  @java.lang.Override
17855  public boolean hasCoverOptimization() {
17856  return ((bitField2_ & 0x00400000) != 0);
17857  }
17867  @java.lang.Override
17868  public boolean getCoverOptimization() {
17869  return coverOptimization_;
17870  }
17881  public Builder setCoverOptimization(boolean value) {
17882  bitField2_ |= 0x00400000;
17883  coverOptimization_ = value;
17884  onChanged();
17885  return this;
17886  }
17897  bitField2_ = (bitField2_ & ~0x00400000);
17898  coverOptimization_ = true;
17899  onChanged();
17900  return this;
17901  }
17902 
17903  private int maxSatAssumptionOrder_ = 0;
17908  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
17909  return ((bitField2_ & 0x00800000) != 0);
17910  }
17915  @java.lang.Override
17917  @SuppressWarnings("deprecation")
17920  }
17927  if (value == null) {
17928  throw new NullPointerException();
17929  }
17930  bitField2_ |= 0x00800000;
17931  maxSatAssumptionOrder_ = value.getNumber();
17932  onChanged();
17933  return this;
17934  }
17940  bitField2_ = (bitField2_ & ~0x00800000);
17941  maxSatAssumptionOrder_ = 0;
17942  onChanged();
17943  return this;
17944  }
17945 
17946  private boolean maxSatReverseAssumptionOrder_ ;
17956  @java.lang.Override
17958  return ((bitField2_ & 0x01000000) != 0);
17959  }
17969  @java.lang.Override
17971  return maxSatReverseAssumptionOrder_;
17972  }
17984  bitField2_ |= 0x01000000;
17985  maxSatReverseAssumptionOrder_ = value;
17986  onChanged();
17987  return this;
17988  }
17999  bitField2_ = (bitField2_ & ~0x01000000);
18000  maxSatReverseAssumptionOrder_ = false;
18001  onChanged();
18002  return this;
18003  }
18004 
18005  private int maxSatStratification_ = 1;
18010  @java.lang.Override public boolean hasMaxSatStratification() {
18011  return ((bitField2_ & 0x02000000) != 0);
18012  }
18017  @java.lang.Override
18019  @SuppressWarnings("deprecation")
18022  }
18029  if (value == null) {
18030  throw new NullPointerException();
18031  }
18032  bitField2_ |= 0x02000000;
18033  maxSatStratification_ = value.getNumber();
18034  onChanged();
18035  return this;
18036  }
18042  bitField2_ = (bitField2_ & ~0x02000000);
18043  maxSatStratification_ = 1;
18044  onChanged();
18045  return this;
18046  }
18047 
18048  private boolean usePrecedencesInDisjunctiveConstraint_ = true;
18064  @java.lang.Override
18066  return ((bitField2_ & 0x04000000) != 0);
18067  }
18083  @java.lang.Override
18085  return usePrecedencesInDisjunctiveConstraint_;
18086  }
18104  bitField2_ |= 0x04000000;
18105  usePrecedencesInDisjunctiveConstraint_ = value;
18106  onChanged();
18107  return this;
18108  }
18125  bitField2_ = (bitField2_ & ~0x04000000);
18126  usePrecedencesInDisjunctiveConstraint_ = true;
18127  onChanged();
18128  return this;
18129  }
18130 
18131  private boolean useOverloadCheckerInCumulativeConstraint_ ;
18145  @java.lang.Override
18147  return ((bitField2_ & 0x08000000) != 0);
18148  }
18162  @java.lang.Override
18164  return useOverloadCheckerInCumulativeConstraint_;
18165  }
18181  bitField2_ |= 0x08000000;
18182  useOverloadCheckerInCumulativeConstraint_ = value;
18183  onChanged();
18184  return this;
18185  }
18200  bitField2_ = (bitField2_ & ~0x08000000);
18201  useOverloadCheckerInCumulativeConstraint_ = false;
18202  onChanged();
18203  return this;
18204  }
18205 
18206  private boolean useTimetableEdgeFindingInCumulativeConstraint_ ;
18220  @java.lang.Override
18222  return ((bitField2_ & 0x10000000) != 0);
18223  }
18237  @java.lang.Override
18239  return useTimetableEdgeFindingInCumulativeConstraint_;
18240  }
18256  bitField2_ |= 0x10000000;
18257  useTimetableEdgeFindingInCumulativeConstraint_ = value;
18258  onChanged();
18259  return this;
18260  }
18275  bitField2_ = (bitField2_ & ~0x10000000);
18276  useTimetableEdgeFindingInCumulativeConstraint_ = false;
18277  onChanged();
18278  return this;
18279  }
18280 
18281  private boolean useDisjunctiveConstraintInCumulativeConstraint_ = true;
18297  @java.lang.Override
18299  return ((bitField2_ & 0x20000000) != 0);
18300  }
18316  @java.lang.Override
18318  return useDisjunctiveConstraintInCumulativeConstraint_;
18319  }
18337  bitField2_ |= 0x20000000;
18338  useDisjunctiveConstraintInCumulativeConstraint_ = value;
18339  onChanged();
18340  return this;
18341  }
18358  bitField2_ = (bitField2_ & ~0x20000000);
18359  useDisjunctiveConstraintInCumulativeConstraint_ = true;
18360  onChanged();
18361  return this;
18362  }
18363 
18364  private int linearizationLevel_ = 1;
18376  @java.lang.Override
18377  public boolean hasLinearizationLevel() {
18378  return ((bitField2_ & 0x40000000) != 0);
18379  }
18391  @java.lang.Override
18392  public int getLinearizationLevel() {
18393  return linearizationLevel_;
18394  }
18407  public Builder setLinearizationLevel(int value) {
18408  bitField2_ |= 0x40000000;
18409  linearizationLevel_ = value;
18410  onChanged();
18411  return this;
18412  }
18425  bitField2_ = (bitField2_ & ~0x40000000);
18426  linearizationLevel_ = 1;
18427  onChanged();
18428  return this;
18429  }
18430 
18431  private int booleanEncodingLevel_ = 1;
18441  @java.lang.Override
18442  public boolean hasBooleanEncodingLevel() {
18443  return ((bitField2_ & 0x80000000) != 0);
18444  }
18454  @java.lang.Override
18456  return booleanEncodingLevel_;
18457  }
18468  public Builder setBooleanEncodingLevel(int value) {
18469  bitField2_ |= 0x80000000;
18470  booleanEncodingLevel_ = value;
18471  onChanged();
18472  return this;
18473  }
18484  bitField2_ = (bitField2_ & ~0x80000000);
18485  booleanEncodingLevel_ = 1;
18486  onChanged();
18487  return this;
18488  }
18489 
18490  private int maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
18502  @java.lang.Override
18504  return ((bitField3_ & 0x00000001) != 0);
18505  }
18517  @java.lang.Override
18519  return maxDomainSizeWhenEncodingEqNeqConstraints_;
18520  }
18534  bitField3_ |= 0x00000001;
18535  maxDomainSizeWhenEncodingEqNeqConstraints_ = value;
18536  onChanged();
18537  return this;
18538  }
18551  bitField3_ = (bitField3_ & ~0x00000001);
18552  maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
18553  onChanged();
18554  return this;
18555  }
18556 
18557  private int maxNumCuts_ = 10000;
18569  @java.lang.Override
18570  public boolean hasMaxNumCuts() {
18571  return ((bitField3_ & 0x00000002) != 0);
18572  }
18584  @java.lang.Override
18585  public int getMaxNumCuts() {
18586  return maxNumCuts_;
18587  }
18600  public Builder setMaxNumCuts(int value) {
18601  bitField3_ |= 0x00000002;
18602  maxNumCuts_ = value;
18603  onChanged();
18604  return this;
18605  }
18618  bitField3_ = (bitField3_ & ~0x00000002);
18619  maxNumCuts_ = 10000;
18620  onChanged();
18621  return this;
18622  }
18623 
18624  private boolean onlyAddCutsAtLevelZero_ ;
18634  @java.lang.Override
18635  public boolean hasOnlyAddCutsAtLevelZero() {
18636  return ((bitField3_ & 0x00000004) != 0);
18637  }
18647  @java.lang.Override
18648  public boolean getOnlyAddCutsAtLevelZero() {
18649  return onlyAddCutsAtLevelZero_;
18650  }
18661  public Builder setOnlyAddCutsAtLevelZero(boolean value) {
18662  bitField3_ |= 0x00000004;
18663  onlyAddCutsAtLevelZero_ = value;
18664  onChanged();
18665  return this;
18666  }
18677  bitField3_ = (bitField3_ & ~0x00000004);
18678  onlyAddCutsAtLevelZero_ = false;
18679  onChanged();
18680  return this;
18681  }
18682 
18683  private boolean addKnapsackCuts_ ;
18694  @java.lang.Override
18695  public boolean hasAddKnapsackCuts() {
18696  return ((bitField3_ & 0x00000008) != 0);
18697  }
18708  @java.lang.Override
18709  public boolean getAddKnapsackCuts() {
18710  return addKnapsackCuts_;
18711  }
18723  public Builder setAddKnapsackCuts(boolean value) {
18724  bitField3_ |= 0x00000008;
18725  addKnapsackCuts_ = value;
18726  onChanged();
18727  return this;
18728  }
18740  bitField3_ = (bitField3_ & ~0x00000008);
18741  addKnapsackCuts_ = false;
18742  onChanged();
18743  return this;
18744  }
18745 
18746  private boolean addCgCuts_ = true;
18756  @java.lang.Override
18757  public boolean hasAddCgCuts() {
18758  return ((bitField3_ & 0x00000010) != 0);
18759  }
18769  @java.lang.Override
18770  public boolean getAddCgCuts() {
18771  return addCgCuts_;
18772  }
18783  public Builder setAddCgCuts(boolean value) {
18784  bitField3_ |= 0x00000010;
18785  addCgCuts_ = value;
18786  onChanged();
18787  return this;
18788  }
18799  bitField3_ = (bitField3_ & ~0x00000010);
18800  addCgCuts_ = true;
18801  onChanged();
18802  return this;
18803  }
18804 
18805  private boolean addMirCuts_ = true;
18815  @java.lang.Override
18816  public boolean hasAddMirCuts() {
18817  return ((bitField3_ & 0x00000020) != 0);
18818  }
18828  @java.lang.Override
18829  public boolean getAddMirCuts() {
18830  return addMirCuts_;
18831  }
18842  public Builder setAddMirCuts(boolean value) {
18843  bitField3_ |= 0x00000020;
18844  addMirCuts_ = value;
18845  onChanged();
18846  return this;
18847  }
18858  bitField3_ = (bitField3_ & ~0x00000020);
18859  addMirCuts_ = true;
18860  onChanged();
18861  return this;
18862  }
18863 
18864  private boolean addZeroHalfCuts_ = true;
18874  @java.lang.Override
18875  public boolean hasAddZeroHalfCuts() {
18876  return ((bitField3_ & 0x00000040) != 0);
18877  }
18887  @java.lang.Override
18888  public boolean getAddZeroHalfCuts() {
18889  return addZeroHalfCuts_;
18890  }
18901  public Builder setAddZeroHalfCuts(boolean value) {
18902  bitField3_ |= 0x00000040;
18903  addZeroHalfCuts_ = value;
18904  onChanged();
18905  return this;
18906  }
18917  bitField3_ = (bitField3_ & ~0x00000040);
18918  addZeroHalfCuts_ = true;
18919  onChanged();
18920  return this;
18921  }
18922 
18923  private boolean addCliqueCuts_ = true;
18934  @java.lang.Override
18935  public boolean hasAddCliqueCuts() {
18936  return ((bitField3_ & 0x00000080) != 0);
18937  }
18948  @java.lang.Override
18949  public boolean getAddCliqueCuts() {
18950  return addCliqueCuts_;
18951  }
18963  public Builder setAddCliqueCuts(boolean value) {
18964  bitField3_ |= 0x00000080;
18965  addCliqueCuts_ = value;
18966  onChanged();
18967  return this;
18968  }
18980  bitField3_ = (bitField3_ & ~0x00000080);
18981  addCliqueCuts_ = true;
18982  onChanged();
18983  return this;
18984  }
18985 
18986  private int maxAllDiffCutSize_ = 7;
18997  @java.lang.Override
18998  public boolean hasMaxAllDiffCutSize() {
18999  return ((bitField3_ & 0x00000100) != 0);
19000  }
19011  @java.lang.Override
19012  public int getMaxAllDiffCutSize() {
19013  return maxAllDiffCutSize_;
19014  }
19026  public Builder setMaxAllDiffCutSize(int value) {
19027  bitField3_ |= 0x00000100;
19028  maxAllDiffCutSize_ = value;
19029  onChanged();
19030  return this;
19031  }
19043  bitField3_ = (bitField3_ & ~0x00000100);
19044  maxAllDiffCutSize_ = 7;
19045  onChanged();
19046  return this;
19047  }
19048 
19049  private boolean addLinMaxCuts_ = true;
19060  @java.lang.Override
19061  public boolean hasAddLinMaxCuts() {
19062  return ((bitField3_ & 0x00000200) != 0);
19063  }
19074  @java.lang.Override
19075  public boolean getAddLinMaxCuts() {
19076  return addLinMaxCuts_;
19077  }
19089  public Builder setAddLinMaxCuts(boolean value) {
19090  bitField3_ |= 0x00000200;
19091  addLinMaxCuts_ = value;
19092  onChanged();
19093  return this;
19094  }
19106  bitField3_ = (bitField3_ & ~0x00000200);
19107  addLinMaxCuts_ = true;
19108  onChanged();
19109  return this;
19110  }
19111 
19112  private int maxIntegerRoundingScaling_ = 600;
19127  @java.lang.Override
19128  public boolean hasMaxIntegerRoundingScaling() {
19129  return ((bitField3_ & 0x00000400) != 0);
19130  }
19145  @java.lang.Override
19147  return maxIntegerRoundingScaling_;
19148  }
19165  bitField3_ |= 0x00000400;
19166  maxIntegerRoundingScaling_ = value;
19167  onChanged();
19168  return this;
19169  }
19185  bitField3_ = (bitField3_ & ~0x00000400);
19186  maxIntegerRoundingScaling_ = 600;
19187  onChanged();
19188  return this;
19189  }
19190 
19191  private boolean addLpConstraintsLazily_ = true;
19203  @java.lang.Override
19204  public boolean hasAddLpConstraintsLazily() {
19205  return ((bitField3_ & 0x00000800) != 0);
19206  }
19218  @java.lang.Override
19219  public boolean getAddLpConstraintsLazily() {
19220  return addLpConstraintsLazily_;
19221  }
19234  public Builder setAddLpConstraintsLazily(boolean value) {
19235  bitField3_ |= 0x00000800;
19236  addLpConstraintsLazily_ = value;
19237  onChanged();
19238  return this;
19239  }
19252  bitField3_ = (bitField3_ & ~0x00000800);
19253  addLpConstraintsLazily_ = true;
19254  onChanged();
19255  return this;
19256  }
19257 
19258  private double minOrthogonalityForLpConstraints_ = 0.05D;
19271  @java.lang.Override
19273  return ((bitField3_ & 0x00001000) != 0);
19274  }
19287  @java.lang.Override
19289  return minOrthogonalityForLpConstraints_;
19290  }
19305  bitField3_ |= 0x00001000;
19306  minOrthogonalityForLpConstraints_ = value;
19307  onChanged();
19308  return this;
19309  }
19323  bitField3_ = (bitField3_ & ~0x00001000);
19324  minOrthogonalityForLpConstraints_ = 0.05D;
19325  onChanged();
19326  return this;
19327  }
19328 
19329  private int maxCutRoundsAtLevelZero_ = 1;
19338  @java.lang.Override
19339  public boolean hasMaxCutRoundsAtLevelZero() {
19340  return ((bitField3_ & 0x00002000) != 0);
19341  }
19350  @java.lang.Override
19352  return maxCutRoundsAtLevelZero_;
19353  }
19364  bitField3_ |= 0x00002000;
19365  maxCutRoundsAtLevelZero_ = value;
19366  onChanged();
19367  return this;
19368  }
19378  bitField3_ = (bitField3_ & ~0x00002000);
19379  maxCutRoundsAtLevelZero_ = 1;
19380  onChanged();
19381  return this;
19382  }
19383 
19384  private int maxConsecutiveInactiveCount_ = 100;
19395  @java.lang.Override
19397  return ((bitField3_ & 0x00004000) != 0);
19398  }
19409  @java.lang.Override
19411  return maxConsecutiveInactiveCount_;
19412  }
19425  bitField3_ |= 0x00004000;
19426  maxConsecutiveInactiveCount_ = value;
19427  onChanged();
19428  return this;
19429  }
19441  bitField3_ = (bitField3_ & ~0x00004000);
19442  maxConsecutiveInactiveCount_ = 100;
19443  onChanged();
19444  return this;
19445  }
19446 
19447  private double cutMaxActiveCountValue_ = 10000000000D;
19458  @java.lang.Override
19459  public boolean hasCutMaxActiveCountValue() {
19460  return ((bitField3_ & 0x00008000) != 0);
19461  }
19472  @java.lang.Override
19473  public double getCutMaxActiveCountValue() {
19474  return cutMaxActiveCountValue_;
19475  }
19487  public Builder setCutMaxActiveCountValue(double value) {
19488  bitField3_ |= 0x00008000;
19489  cutMaxActiveCountValue_ = value;
19490  onChanged();
19491  return this;
19492  }
19504  bitField3_ = (bitField3_ & ~0x00008000);
19505  cutMaxActiveCountValue_ = 10000000000D;
19506  onChanged();
19507  return this;
19508  }
19509 
19510  private double cutActiveCountDecay_ = 0.8D;
19515  @java.lang.Override
19516  public boolean hasCutActiveCountDecay() {
19517  return ((bitField3_ & 0x00010000) != 0);
19518  }
19523  @java.lang.Override
19524  public double getCutActiveCountDecay() {
19525  return cutActiveCountDecay_;
19526  }
19532  public Builder setCutActiveCountDecay(double value) {
19533  bitField3_ |= 0x00010000;
19534  cutActiveCountDecay_ = value;
19535  onChanged();
19536  return this;
19537  }
19543  bitField3_ = (bitField3_ & ~0x00010000);
19544  cutActiveCountDecay_ = 0.8D;
19545  onChanged();
19546  return this;
19547  }
19548 
19549  private int cutCleanupTarget_ = 1000;
19558  @java.lang.Override
19559  public boolean hasCutCleanupTarget() {
19560  return ((bitField3_ & 0x00020000) != 0);
19561  }
19570  @java.lang.Override
19571  public int getCutCleanupTarget() {
19572  return cutCleanupTarget_;
19573  }
19583  public Builder setCutCleanupTarget(int value) {
19584  bitField3_ |= 0x00020000;
19585  cutCleanupTarget_ = value;
19586  onChanged();
19587  return this;
19588  }
19598  bitField3_ = (bitField3_ & ~0x00020000);
19599  cutCleanupTarget_ = 1000;
19600  onChanged();
19601  return this;
19602  }
19603 
19604  private int newConstraintsBatchSize_ = 50;
19614  @java.lang.Override
19615  public boolean hasNewConstraintsBatchSize() {
19616  return ((bitField3_ & 0x00040000) != 0);
19617  }
19627  @java.lang.Override
19629  return newConstraintsBatchSize_;
19630  }
19642  bitField3_ |= 0x00040000;
19643  newConstraintsBatchSize_ = value;
19644  onChanged();
19645  return this;
19646  }
19657  bitField3_ = (bitField3_ & ~0x00040000);
19658  newConstraintsBatchSize_ = 50;
19659  onChanged();
19660  return this;
19661  }
19662 
19663  private int searchBranching_ = 0;
19668  @java.lang.Override public boolean hasSearchBranching() {
19669  return ((bitField3_ & 0x00080000) != 0);
19670  }
19675  @java.lang.Override
19677  @SuppressWarnings("deprecation")
19679  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
19680  }
19687  if (value == null) {
19688  throw new NullPointerException();
19689  }
19690  bitField3_ |= 0x00080000;
19691  searchBranching_ = value.getNumber();
19692  onChanged();
19693  return this;
19694  }
19700  bitField3_ = (bitField3_ & ~0x00080000);
19701  searchBranching_ = 0;
19702  onChanged();
19703  return this;
19704  }
19705 
19706  private int hintConflictLimit_ = 10;
19715  @java.lang.Override
19716  public boolean hasHintConflictLimit() {
19717  return ((bitField3_ & 0x00100000) != 0);
19718  }
19727  @java.lang.Override
19728  public int getHintConflictLimit() {
19729  return hintConflictLimit_;
19730  }
19740  public Builder setHintConflictLimit(int value) {
19741  bitField3_ |= 0x00100000;
19742  hintConflictLimit_ = value;
19743  onChanged();
19744  return this;
19745  }
19755  bitField3_ = (bitField3_ & ~0x00100000);
19756  hintConflictLimit_ = 10;
19757  onChanged();
19758  return this;
19759  }
19760 
19761  private boolean repairHint_ ;
19773  @java.lang.Override
19774  public boolean hasRepairHint() {
19775  return ((bitField3_ & 0x00200000) != 0);
19776  }
19788  @java.lang.Override
19789  public boolean getRepairHint() {
19790  return repairHint_;
19791  }
19804  public Builder setRepairHint(boolean value) {
19805  bitField3_ |= 0x00200000;
19806  repairHint_ = value;
19807  onChanged();
19808  return this;
19809  }
19822  bitField3_ = (bitField3_ & ~0x00200000);
19823  repairHint_ = false;
19824  onChanged();
19825  return this;
19826  }
19827 
19828  private boolean fixVariablesToTheirHintedValue_ ;
19838  @java.lang.Override
19840  return ((bitField3_ & 0x00400000) != 0);
19841  }
19851  @java.lang.Override
19853  return fixVariablesToTheirHintedValue_;
19854  }
19866  bitField3_ |= 0x00400000;
19867  fixVariablesToTheirHintedValue_ = value;
19868  onChanged();
19869  return this;
19870  }
19881  bitField3_ = (bitField3_ & ~0x00400000);
19882  fixVariablesToTheirHintedValue_ = false;
19883  onChanged();
19884  return this;
19885  }
19886 
19887  private boolean exploitIntegerLpSolution_ = true;
19899  @java.lang.Override
19900  public boolean hasExploitIntegerLpSolution() {
19901  return ((bitField3_ & 0x00800000) != 0);
19902  }
19914  @java.lang.Override
19915  public boolean getExploitIntegerLpSolution() {
19916  return exploitIntegerLpSolution_;
19917  }
19930  public Builder setExploitIntegerLpSolution(boolean value) {
19931  bitField3_ |= 0x00800000;
19932  exploitIntegerLpSolution_ = value;
19933  onChanged();
19934  return this;
19935  }
19948  bitField3_ = (bitField3_ & ~0x00800000);
19949  exploitIntegerLpSolution_ = true;
19950  onChanged();
19951  return this;
19952  }
19953 
19954  private boolean exploitAllLpSolution_ = true;
19965  @java.lang.Override
19966  public boolean hasExploitAllLpSolution() {
19967  return ((bitField3_ & 0x01000000) != 0);
19968  }
19979  @java.lang.Override
19980  public boolean getExploitAllLpSolution() {
19981  return exploitAllLpSolution_;
19982  }
19994  public Builder setExploitAllLpSolution(boolean value) {
19995  bitField3_ |= 0x01000000;
19996  exploitAllLpSolution_ = value;
19997  onChanged();
19998  return this;
19999  }
20011  bitField3_ = (bitField3_ & ~0x01000000);
20012  exploitAllLpSolution_ = true;
20013  onChanged();
20014  return this;
20015  }
20016 
20017  private boolean exploitBestSolution_ ;
20026  @java.lang.Override
20027  public boolean hasExploitBestSolution() {
20028  return ((bitField3_ & 0x02000000) != 0);
20029  }
20038  @java.lang.Override
20039  public boolean getExploitBestSolution() {
20040  return exploitBestSolution_;
20041  }
20051  public Builder setExploitBestSolution(boolean value) {
20052  bitField3_ |= 0x02000000;
20053  exploitBestSolution_ = value;
20054  onChanged();
20055  return this;
20056  }
20066  bitField3_ = (bitField3_ & ~0x02000000);
20067  exploitBestSolution_ = false;
20068  onChanged();
20069  return this;
20070  }
20071 
20072  private boolean exploitRelaxationSolution_ ;
20083  @java.lang.Override
20084  public boolean hasExploitRelaxationSolution() {
20085  return ((bitField3_ & 0x04000000) != 0);
20086  }
20097  @java.lang.Override
20098  public boolean getExploitRelaxationSolution() {
20099  return exploitRelaxationSolution_;
20100  }
20112  public Builder setExploitRelaxationSolution(boolean value) {
20113  bitField3_ |= 0x04000000;
20114  exploitRelaxationSolution_ = value;
20115  onChanged();
20116  return this;
20117  }
20129  bitField3_ = (bitField3_ & ~0x04000000);
20130  exploitRelaxationSolution_ = false;
20131  onChanged();
20132  return this;
20133  }
20134 
20135  private boolean exploitObjective_ = true;
20145  @java.lang.Override
20146  public boolean hasExploitObjective() {
20147  return ((bitField3_ & 0x08000000) != 0);
20148  }
20158  @java.lang.Override
20159  public boolean getExploitObjective() {
20160  return exploitObjective_;
20161  }
20172  public Builder setExploitObjective(boolean value) {
20173  bitField3_ |= 0x08000000;
20174  exploitObjective_ = value;
20175  onChanged();
20176  return this;
20177  }
20188  bitField3_ = (bitField3_ & ~0x08000000);
20189  exploitObjective_ = true;
20190  onChanged();
20191  return this;
20192  }
20193 
20194  private long probingPeriodAtRoot_ ;
20205  @java.lang.Override
20206  public boolean hasProbingPeriodAtRoot() {
20207  return ((bitField3_ & 0x10000000) != 0);
20208  }
20219  @java.lang.Override
20220  public long getProbingPeriodAtRoot() {
20221  return probingPeriodAtRoot_;
20222  }
20234  public Builder setProbingPeriodAtRoot(long value) {
20235  bitField3_ |= 0x10000000;
20236  probingPeriodAtRoot_ = value;
20237  onChanged();
20238  return this;
20239  }
20251  bitField3_ = (bitField3_ & ~0x10000000);
20252  probingPeriodAtRoot_ = 0L;
20253  onChanged();
20254  return this;
20255  }
20256 
20257  private boolean useProbingSearch_ ;
20267  @java.lang.Override
20268  public boolean hasUseProbingSearch() {
20269  return ((bitField3_ & 0x20000000) != 0);
20270  }
20280  @java.lang.Override
20281  public boolean getUseProbingSearch() {
20282  return useProbingSearch_;
20283  }
20294  public Builder setUseProbingSearch(boolean value) {
20295  bitField3_ |= 0x20000000;
20296  useProbingSearch_ = value;
20297  onChanged();
20298  return this;
20299  }
20310  bitField3_ = (bitField3_ & ~0x20000000);
20311  useProbingSearch_ = false;
20312  onChanged();
20313  return this;
20314  }
20315 
20316  private long pseudoCostReliabilityThreshold_ = 100L;
20326  @java.lang.Override
20328  return ((bitField3_ & 0x40000000) != 0);
20329  }
20339  @java.lang.Override
20341  return pseudoCostReliabilityThreshold_;
20342  }
20354  bitField3_ |= 0x40000000;
20355  pseudoCostReliabilityThreshold_ = value;
20356  onChanged();
20357  return this;
20358  }
20369  bitField3_ = (bitField3_ & ~0x40000000);
20370  pseudoCostReliabilityThreshold_ = 100L;
20371  onChanged();
20372  return this;
20373  }
20374 
20375  private boolean optimizeWithCore_ ;
20387  @java.lang.Override
20388  public boolean hasOptimizeWithCore() {
20389  return ((bitField3_ & 0x80000000) != 0);
20390  }
20402  @java.lang.Override
20403  public boolean getOptimizeWithCore() {
20404  return optimizeWithCore_;
20405  }
20418  public Builder setOptimizeWithCore(boolean value) {
20419  bitField3_ |= 0x80000000;
20420  optimizeWithCore_ = value;
20421  onChanged();
20422  return this;
20423  }
20436  bitField3_ = (bitField3_ & ~0x80000000);
20437  optimizeWithCore_ = false;
20438  onChanged();
20439  return this;
20440  }
20441 
20442  private boolean optimizeWithLbTreeSearch_ ;
20455  @java.lang.Override
20456  public boolean hasOptimizeWithLbTreeSearch() {
20457  return ((bitField4_ & 0x00000001) != 0);
20458  }
20471  @java.lang.Override
20472  public boolean getOptimizeWithLbTreeSearch() {
20473  return optimizeWithLbTreeSearch_;
20474  }
20488  public Builder setOptimizeWithLbTreeSearch(boolean value) {
20489  bitField4_ |= 0x00000001;
20490  optimizeWithLbTreeSearch_ = value;
20491  onChanged();
20492  return this;
20493  }
20507  bitField4_ = (bitField4_ & ~0x00000001);
20508  optimizeWithLbTreeSearch_ = false;
20509  onChanged();
20510  return this;
20511  }
20512 
20513  private int binarySearchNumConflicts_ = -1;
20525  @java.lang.Override
20526  public boolean hasBinarySearchNumConflicts() {
20527  return ((bitField4_ & 0x00000002) != 0);
20528  }
20540  @java.lang.Override
20542  return binarySearchNumConflicts_;
20543  }
20557  bitField4_ |= 0x00000002;
20558  binarySearchNumConflicts_ = value;
20559  onChanged();
20560  return this;
20561  }
20574  bitField4_ = (bitField4_ & ~0x00000002);
20575  binarySearchNumConflicts_ = -1;
20576  onChanged();
20577  return this;
20578  }
20579 
20580  private boolean optimizeWithMaxHs_ ;
20594  @java.lang.Override
20595  public boolean hasOptimizeWithMaxHs() {
20596  return ((bitField4_ & 0x00000004) != 0);
20597  }
20611  @java.lang.Override
20612  public boolean getOptimizeWithMaxHs() {
20613  return optimizeWithMaxHs_;
20614  }
20629  public Builder setOptimizeWithMaxHs(boolean value) {
20630  bitField4_ |= 0x00000004;
20631  optimizeWithMaxHs_ = value;
20632  onChanged();
20633  return this;
20634  }
20649  bitField4_ = (bitField4_ & ~0x00000004);
20650  optimizeWithMaxHs_ = false;
20651  onChanged();
20652  return this;
20653  }
20654 
20655  private boolean enumerateAllSolutions_ ;
20669  @java.lang.Override
20670  public boolean hasEnumerateAllSolutions() {
20671  return ((bitField4_ & 0x00000008) != 0);
20672  }
20686  @java.lang.Override
20687  public boolean getEnumerateAllSolutions() {
20688  return enumerateAllSolutions_;
20689  }
20704  public Builder setEnumerateAllSolutions(boolean value) {
20705  bitField4_ |= 0x00000008;
20706  enumerateAllSolutions_ = value;
20707  onChanged();
20708  return this;
20709  }
20724  bitField4_ = (bitField4_ & ~0x00000008);
20725  enumerateAllSolutions_ = false;
20726  onChanged();
20727  return this;
20728  }
20729 
20730  private boolean keepAllFeasibleSolutionsInPresolve_ ;
20745  @java.lang.Override
20747  return ((bitField4_ & 0x00000010) != 0);
20748  }
20763  @java.lang.Override
20765  return keepAllFeasibleSolutionsInPresolve_;
20766  }
20783  bitField4_ |= 0x00000010;
20784  keepAllFeasibleSolutionsInPresolve_ = value;
20785  onChanged();
20786  return this;
20787  }
20803  bitField4_ = (bitField4_ & ~0x00000010);
20804  keepAllFeasibleSolutionsInPresolve_ = false;
20805  onChanged();
20806  return this;
20807  }
20808 
20809  private boolean fillTightenedDomainsInResponse_ ;
20822  @java.lang.Override
20824  return ((bitField4_ & 0x00000020) != 0);
20825  }
20838  @java.lang.Override
20840  return fillTightenedDomainsInResponse_;
20841  }
20856  bitField4_ |= 0x00000020;
20857  fillTightenedDomainsInResponse_ = value;
20858  onChanged();
20859  return this;
20860  }
20874  bitField4_ = (bitField4_ & ~0x00000020);
20875  fillTightenedDomainsInResponse_ = false;
20876  onChanged();
20877  return this;
20878  }
20879 
20880  private boolean instantiateAllVariables_ = true;
20890  @java.lang.Override
20891  public boolean hasInstantiateAllVariables() {
20892  return ((bitField4_ & 0x00000040) != 0);
20893  }
20903  @java.lang.Override
20904  public boolean getInstantiateAllVariables() {
20905  return instantiateAllVariables_;
20906  }
20917  public Builder setInstantiateAllVariables(boolean value) {
20918  bitField4_ |= 0x00000040;
20919  instantiateAllVariables_ = value;
20920  onChanged();
20921  return this;
20922  }
20933  bitField4_ = (bitField4_ & ~0x00000040);
20934  instantiateAllVariables_ = true;
20935  onChanged();
20936  return this;
20937  }
20938 
20939  private boolean autoDetectGreaterThanAtLeastOneOf_ = true;
20951  @java.lang.Override
20953  return ((bitField4_ & 0x00000080) != 0);
20954  }
20966  @java.lang.Override
20968  return autoDetectGreaterThanAtLeastOneOf_;
20969  }
20983  bitField4_ |= 0x00000080;
20984  autoDetectGreaterThanAtLeastOneOf_ = value;
20985  onChanged();
20986  return this;
20987  }
21000  bitField4_ = (bitField4_ & ~0x00000080);
21001  autoDetectGreaterThanAtLeastOneOf_ = true;
21002  onChanged();
21003  return this;
21004  }
21005 
21006  private boolean stopAfterFirstSolution_ ;
21015  @java.lang.Override
21016  public boolean hasStopAfterFirstSolution() {
21017  return ((bitField4_ & 0x00000100) != 0);
21018  }
21027  @java.lang.Override
21028  public boolean getStopAfterFirstSolution() {
21029  return stopAfterFirstSolution_;
21030  }
21040  public Builder setStopAfterFirstSolution(boolean value) {
21041  bitField4_ |= 0x00000100;
21042  stopAfterFirstSolution_ = value;
21043  onChanged();
21044  return this;
21045  }
21055  bitField4_ = (bitField4_ & ~0x00000100);
21056  stopAfterFirstSolution_ = false;
21057  onChanged();
21058  return this;
21059  }
21060 
21061  private boolean stopAfterPresolve_ ;
21071  @java.lang.Override
21072  public boolean hasStopAfterPresolve() {
21073  return ((bitField4_ & 0x00000200) != 0);
21074  }
21084  @java.lang.Override
21085  public boolean getStopAfterPresolve() {
21086  return stopAfterPresolve_;
21087  }
21098  public Builder setStopAfterPresolve(boolean value) {
21099  bitField4_ |= 0x00000200;
21100  stopAfterPresolve_ = value;
21101  onChanged();
21102  return this;
21103  }
21114  bitField4_ = (bitField4_ & ~0x00000200);
21115  stopAfterPresolve_ = false;
21116  onChanged();
21117  return this;
21118  }
21119 
21120  private int numSearchWorkers_ ;
21135  @java.lang.Override
21136  public boolean hasNumSearchWorkers() {
21137  return ((bitField4_ & 0x00000400) != 0);
21138  }
21153  @java.lang.Override
21154  public int getNumSearchWorkers() {
21155  return numSearchWorkers_;
21156  }
21172  public Builder setNumSearchWorkers(int value) {
21173  bitField4_ |= 0x00000400;
21174  numSearchWorkers_ = value;
21175  onChanged();
21176  return this;
21177  }
21193  bitField4_ = (bitField4_ & ~0x00000400);
21194  numSearchWorkers_ = 0;
21195  onChanged();
21196  return this;
21197  }
21198 
21199  private boolean interleaveSearch_ ;
21212  @java.lang.Override
21213  public boolean hasInterleaveSearch() {
21214  return ((bitField4_ & 0x00000800) != 0);
21215  }
21228  @java.lang.Override
21229  public boolean getInterleaveSearch() {
21230  return interleaveSearch_;
21231  }
21245  public Builder setInterleaveSearch(boolean value) {
21246  bitField4_ |= 0x00000800;
21247  interleaveSearch_ = value;
21248  onChanged();
21249  return this;
21250  }
21264  bitField4_ = (bitField4_ & ~0x00000800);
21265  interleaveSearch_ = false;
21266  onChanged();
21267  return this;
21268  }
21269 
21270  private int interleaveBatchSize_ = 1;
21275  @java.lang.Override
21276  public boolean hasInterleaveBatchSize() {
21277  return ((bitField4_ & 0x00001000) != 0);
21278  }
21283  @java.lang.Override
21284  public int getInterleaveBatchSize() {
21285  return interleaveBatchSize_;
21286  }
21292  public Builder setInterleaveBatchSize(int value) {
21293  bitField4_ |= 0x00001000;
21294  interleaveBatchSize_ = value;
21295  onChanged();
21296  return this;
21297  }
21303  bitField4_ = (bitField4_ & ~0x00001000);
21304  interleaveBatchSize_ = 1;
21305  onChanged();
21306  return this;
21307  }
21308 
21309  private boolean reduceMemoryUsageInInterleaveMode_ ;
21318  @java.lang.Override
21320  return ((bitField4_ & 0x00002000) != 0);
21321  }
21330  @java.lang.Override
21332  return reduceMemoryUsageInInterleaveMode_;
21333  }
21344  bitField4_ |= 0x00002000;
21345  reduceMemoryUsageInInterleaveMode_ = value;
21346  onChanged();
21347  return this;
21348  }
21358  bitField4_ = (bitField4_ & ~0x00002000);
21359  reduceMemoryUsageInInterleaveMode_ = false;
21360  onChanged();
21361  return this;
21362  }
21363 
21364  private boolean shareObjectiveBounds_ = true;
21373  @java.lang.Override
21374  public boolean hasShareObjectiveBounds() {
21375  return ((bitField4_ & 0x00004000) != 0);
21376  }
21385  @java.lang.Override
21386  public boolean getShareObjectiveBounds() {
21387  return shareObjectiveBounds_;
21388  }
21398  public Builder setShareObjectiveBounds(boolean value) {
21399  bitField4_ |= 0x00004000;
21400  shareObjectiveBounds_ = value;
21401  onChanged();
21402  return this;
21403  }
21413  bitField4_ = (bitField4_ & ~0x00004000);
21414  shareObjectiveBounds_ = true;
21415  onChanged();
21416  return this;
21417  }
21418 
21419  private boolean shareLevelZeroBounds_ = true;
21428  @java.lang.Override
21429  public boolean hasShareLevelZeroBounds() {
21430  return ((bitField4_ & 0x00008000) != 0);
21431  }
21440  @java.lang.Override
21441  public boolean getShareLevelZeroBounds() {
21442  return shareLevelZeroBounds_;
21443  }
21453  public Builder setShareLevelZeroBounds(boolean value) {
21454  bitField4_ |= 0x00008000;
21455  shareLevelZeroBounds_ = value;
21456  onChanged();
21457  return this;
21458  }
21468  bitField4_ = (bitField4_ & ~0x00008000);
21469  shareLevelZeroBounds_ = true;
21470  onChanged();
21471  return this;
21472  }
21473 
21474  private boolean useLnsOnly_ ;
21483  @java.lang.Override
21484  public boolean hasUseLnsOnly() {
21485  return ((bitField4_ & 0x00010000) != 0);
21486  }
21495  @java.lang.Override
21496  public boolean getUseLnsOnly() {
21497  return useLnsOnly_;
21498  }
21508  public Builder setUseLnsOnly(boolean value) {
21509  bitField4_ |= 0x00010000;
21510  useLnsOnly_ = value;
21511  onChanged();
21512  return this;
21513  }
21523  bitField4_ = (bitField4_ & ~0x00010000);
21524  useLnsOnly_ = false;
21525  onChanged();
21526  return this;
21527  }
21528 
21529  private boolean lnsFocusOnDecisionVariables_ ;
21534  @java.lang.Override
21536  return ((bitField4_ & 0x00020000) != 0);
21537  }
21542  @java.lang.Override
21544  return lnsFocusOnDecisionVariables_;
21545  }
21551  public Builder setLnsFocusOnDecisionVariables(boolean value) {
21552  bitField4_ |= 0x00020000;
21553  lnsFocusOnDecisionVariables_ = value;
21554  onChanged();
21555  return this;
21556  }
21562  bitField4_ = (bitField4_ & ~0x00020000);
21563  lnsFocusOnDecisionVariables_ = false;
21564  onChanged();
21565  return this;
21566  }
21567 
21568  private boolean lnsExpandIntervalsInConstraintGraph_ = true;
21573  @java.lang.Override
21575  return ((bitField4_ & 0x00040000) != 0);
21576  }
21581  @java.lang.Override
21583  return lnsExpandIntervalsInConstraintGraph_;
21584  }
21591  bitField4_ |= 0x00040000;
21592  lnsExpandIntervalsInConstraintGraph_ = value;
21593  onChanged();
21594  return this;
21595  }
21601  bitField4_ = (bitField4_ & ~0x00040000);
21602  lnsExpandIntervalsInConstraintGraph_ = true;
21603  onChanged();
21604  return this;
21605  }
21606 
21607  private int solutionPoolSize_ = 3;
21617  @java.lang.Override
21618  public boolean hasSolutionPoolSize() {
21619  return ((bitField4_ & 0x00080000) != 0);
21620  }
21630  @java.lang.Override
21631  public int getSolutionPoolSize() {
21632  return solutionPoolSize_;
21633  }
21644  public Builder setSolutionPoolSize(int value) {
21645  bitField4_ |= 0x00080000;
21646  solutionPoolSize_ = value;
21647  onChanged();
21648  return this;
21649  }
21660  bitField4_ = (bitField4_ & ~0x00080000);
21661  solutionPoolSize_ = 3;
21662  onChanged();
21663  return this;
21664  }
21665 
21666  private boolean useRinsLns_ = true;
21675  @java.lang.Override
21676  public boolean hasUseRinsLns() {
21677  return ((bitField4_ & 0x00100000) != 0);
21678  }
21687  @java.lang.Override
21688  public boolean getUseRinsLns() {
21689  return useRinsLns_;
21690  }
21700  public Builder setUseRinsLns(boolean value) {
21701  bitField4_ |= 0x00100000;
21702  useRinsLns_ = value;
21703  onChanged();
21704  return this;
21705  }
21715  bitField4_ = (bitField4_ & ~0x00100000);
21716  useRinsLns_ = true;
21717  onChanged();
21718  return this;
21719  }
21720 
21721  private boolean useFeasibilityPump_ = true;
21730  @java.lang.Override
21731  public boolean hasUseFeasibilityPump() {
21732  return ((bitField4_ & 0x00200000) != 0);
21733  }
21742  @java.lang.Override
21743  public boolean getUseFeasibilityPump() {
21744  return useFeasibilityPump_;
21745  }
21755  public Builder setUseFeasibilityPump(boolean value) {
21756  bitField4_ |= 0x00200000;
21757  useFeasibilityPump_ = value;
21758  onChanged();
21759  return this;
21760  }
21770  bitField4_ = (bitField4_ & ~0x00200000);
21771  useFeasibilityPump_ = true;
21772  onChanged();
21773  return this;
21774  }
21775 
21776  private int fpRounding_ = 2;
21781  @java.lang.Override public boolean hasFpRounding() {
21782  return ((bitField4_ & 0x00400000) != 0);
21783  }
21788  @java.lang.Override
21790  @SuppressWarnings("deprecation")
21792  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
21793  }
21800  if (value == null) {
21801  throw new NullPointerException();
21802  }
21803  bitField4_ |= 0x00400000;
21804  fpRounding_ = value.getNumber();
21805  onChanged();
21806  return this;
21807  }
21813  bitField4_ = (bitField4_ & ~0x00400000);
21814  fpRounding_ = 2;
21815  onChanged();
21816  return this;
21817  }
21818 
21819  private boolean useRelaxationLns_ ;
21829  @java.lang.Override
21830  public boolean hasUseRelaxationLns() {
21831  return ((bitField4_ & 0x00800000) != 0);
21832  }
21842  @java.lang.Override
21843  public boolean getUseRelaxationLns() {
21844  return useRelaxationLns_;
21845  }
21856  public Builder setUseRelaxationLns(boolean value) {
21857  bitField4_ |= 0x00800000;
21858  useRelaxationLns_ = value;
21859  onChanged();
21860  return this;
21861  }
21872  bitField4_ = (bitField4_ & ~0x00800000);
21873  useRelaxationLns_ = false;
21874  onChanged();
21875  return this;
21876  }
21877 
21878  private boolean diversifyLnsParams_ ;
21887  @java.lang.Override
21888  public boolean hasDiversifyLnsParams() {
21889  return ((bitField4_ & 0x01000000) != 0);
21890  }
21899  @java.lang.Override
21900  public boolean getDiversifyLnsParams() {
21901  return diversifyLnsParams_;
21902  }
21912  public Builder setDiversifyLnsParams(boolean value) {
21913  bitField4_ |= 0x01000000;
21914  diversifyLnsParams_ = value;
21915  onChanged();
21916  return this;
21917  }
21927  bitField4_ = (bitField4_ & ~0x01000000);
21928  diversifyLnsParams_ = false;
21929  onChanged();
21930  return this;
21931  }
21932 
21933  private boolean randomizeSearch_ ;
21942  @java.lang.Override
21943  public boolean hasRandomizeSearch() {
21944  return ((bitField4_ & 0x02000000) != 0);
21945  }
21954  @java.lang.Override
21955  public boolean getRandomizeSearch() {
21956  return randomizeSearch_;
21957  }
21967  public Builder setRandomizeSearch(boolean value) {
21968  bitField4_ |= 0x02000000;
21969  randomizeSearch_ = value;
21970  onChanged();
21971  return this;
21972  }
21982  bitField4_ = (bitField4_ & ~0x02000000);
21983  randomizeSearch_ = false;
21984  onChanged();
21985  return this;
21986  }
21987 
21988  private long searchRandomizationTolerance_ ;
22003  @java.lang.Override
22005  return ((bitField4_ & 0x04000000) != 0);
22006  }
22021  @java.lang.Override
22023  return searchRandomizationTolerance_;
22024  }
22041  bitField4_ |= 0x04000000;
22042  searchRandomizationTolerance_ = value;
22043  onChanged();
22044  return this;
22045  }
22061  bitField4_ = (bitField4_ & ~0x04000000);
22062  searchRandomizationTolerance_ = 0L;
22063  onChanged();
22064  return this;
22065  }
22066 
22067  private boolean useOptionalVariables_ = true;
22078  @java.lang.Override
22079  public boolean hasUseOptionalVariables() {
22080  return ((bitField4_ & 0x08000000) != 0);
22081  }
22092  @java.lang.Override
22093  public boolean getUseOptionalVariables() {
22094  return useOptionalVariables_;
22095  }
22107  public Builder setUseOptionalVariables(boolean value) {
22108  bitField4_ |= 0x08000000;
22109  useOptionalVariables_ = value;
22110  onChanged();
22111  return this;
22112  }
22124  bitField4_ = (bitField4_ & ~0x08000000);
22125  useOptionalVariables_ = true;
22126  onChanged();
22127  return this;
22128  }
22129 
22130  private boolean useExactLpReason_ = true;
22142  @java.lang.Override
22143  public boolean hasUseExactLpReason() {
22144  return ((bitField4_ & 0x10000000) != 0);
22145  }
22157  @java.lang.Override
22158  public boolean getUseExactLpReason() {
22159  return useExactLpReason_;
22160  }
22173  public Builder setUseExactLpReason(boolean value) {
22174  bitField4_ |= 0x10000000;
22175  useExactLpReason_ = value;
22176  onChanged();
22177  return this;
22178  }
22191  bitField4_ = (bitField4_ & ~0x10000000);
22192  useExactLpReason_ = true;
22193  onChanged();
22194  return this;
22195  }
22196 
22197  private boolean useBranchingInLp_ ;
22208  @java.lang.Override
22209  public boolean hasUseBranchingInLp() {
22210  return ((bitField4_ & 0x20000000) != 0);
22211  }
22222  @java.lang.Override
22223  public boolean getUseBranchingInLp() {
22224  return useBranchingInLp_;
22225  }
22237  public Builder setUseBranchingInLp(boolean value) {
22238  bitField4_ |= 0x20000000;
22239  useBranchingInLp_ = value;
22240  onChanged();
22241  return this;
22242  }
22254  bitField4_ = (bitField4_ & ~0x20000000);
22255  useBranchingInLp_ = false;
22256  onChanged();
22257  return this;
22258  }
22259 
22260  private boolean useCombinedNoOverlap_ ;
22271  @java.lang.Override
22272  public boolean hasUseCombinedNoOverlap() {
22273  return ((bitField4_ & 0x40000000) != 0);
22274  }
22285  @java.lang.Override
22286  public boolean getUseCombinedNoOverlap() {
22287  return useCombinedNoOverlap_;
22288  }
22300  public Builder setUseCombinedNoOverlap(boolean value) {
22301  bitField4_ |= 0x40000000;
22302  useCombinedNoOverlap_ = value;
22303  onChanged();
22304  return this;
22305  }
22317  bitField4_ = (bitField4_ & ~0x40000000);
22318  useCombinedNoOverlap_ = false;
22319  onChanged();
22320  return this;
22321  }
22322 
22323  private boolean catchSigintSignal_ = true;
22334  @java.lang.Override
22335  public boolean hasCatchSigintSignal() {
22336  return ((bitField4_ & 0x80000000) != 0);
22337  }
22348  @java.lang.Override
22349  public boolean getCatchSigintSignal() {
22350  return catchSigintSignal_;
22351  }
22363  public Builder setCatchSigintSignal(boolean value) {
22364  bitField4_ |= 0x80000000;
22365  catchSigintSignal_ = value;
22366  onChanged();
22367  return this;
22368  }
22380  bitField4_ = (bitField4_ & ~0x80000000);
22381  catchSigintSignal_ = true;
22382  onChanged();
22383  return this;
22384  }
22385 
22386  private boolean useImpliedBounds_ = true;
22397  @java.lang.Override
22398  public boolean hasUseImpliedBounds() {
22399  return ((bitField5_ & 0x00000001) != 0);
22400  }
22411  @java.lang.Override
22412  public boolean getUseImpliedBounds() {
22413  return useImpliedBounds_;
22414  }
22426  public Builder setUseImpliedBounds(boolean value) {
22427  bitField5_ |= 0x00000001;
22428  useImpliedBounds_ = value;
22429  onChanged();
22430  return this;
22431  }
22443  bitField5_ = (bitField5_ & ~0x00000001);
22444  useImpliedBounds_ = true;
22445  onChanged();
22446  return this;
22447  }
22448 
22449  private boolean polishLpSolution_ ;
22461  @java.lang.Override
22462  public boolean hasPolishLpSolution() {
22463  return ((bitField5_ & 0x00000002) != 0);
22464  }
22476  @java.lang.Override
22477  public boolean getPolishLpSolution() {
22478  return polishLpSolution_;
22479  }
22492  public Builder setPolishLpSolution(boolean value) {
22493  bitField5_ |= 0x00000002;
22494  polishLpSolution_ = value;
22495  onChanged();
22496  return this;
22497  }
22510  bitField5_ = (bitField5_ & ~0x00000002);
22511  polishLpSolution_ = false;
22512  onChanged();
22513  return this;
22514  }
22515 
22516  private boolean convertIntervals_ = true;
22527  @java.lang.Override
22528  public boolean hasConvertIntervals() {
22529  return ((bitField5_ & 0x00000004) != 0);
22530  }
22541  @java.lang.Override
22542  public boolean getConvertIntervals() {
22543  return convertIntervals_;
22544  }
22556  public Builder setConvertIntervals(boolean value) {
22557  bitField5_ |= 0x00000004;
22558  convertIntervals_ = value;
22559  onChanged();
22560  return this;
22561  }
22573  bitField5_ = (bitField5_ & ~0x00000004);
22574  convertIntervals_ = true;
22575  onChanged();
22576  return this;
22577  }
22578 
22579  private int symmetryLevel_ = 2;
22591  @java.lang.Override
22592  public boolean hasSymmetryLevel() {
22593  return ((bitField5_ & 0x00000008) != 0);
22594  }
22606  @java.lang.Override
22607  public int getSymmetryLevel() {
22608  return symmetryLevel_;
22609  }
22622  public Builder setSymmetryLevel(int value) {
22623  bitField5_ |= 0x00000008;
22624  symmetryLevel_ = value;
22625  onChanged();
22626  return this;
22627  }
22640  bitField5_ = (bitField5_ & ~0x00000008);
22641  symmetryLevel_ = 2;
22642  onChanged();
22643  return this;
22644  }
22645 
22646  private double mipMaxBound_ = 10000000D;
22657  @java.lang.Override
22658  public boolean hasMipMaxBound() {
22659  return ((bitField5_ & 0x00000010) != 0);
22660  }
22671  @java.lang.Override
22672  public double getMipMaxBound() {
22673  return mipMaxBound_;
22674  }
22686  public Builder setMipMaxBound(double value) {
22687  bitField5_ |= 0x00000010;
22688  mipMaxBound_ = value;
22689  onChanged();
22690  return this;
22691  }
22703  bitField5_ = (bitField5_ & ~0x00000010);
22704  mipMaxBound_ = 10000000D;
22705  onChanged();
22706  return this;
22707  }
22708 
22709  private double mipVarScaling_ = 1D;
22720  @java.lang.Override
22721  public boolean hasMipVarScaling() {
22722  return ((bitField5_ & 0x00000020) != 0);
22723  }
22734  @java.lang.Override
22735  public double getMipVarScaling() {
22736  return mipVarScaling_;
22737  }
22749  public Builder setMipVarScaling(double value) {
22750  bitField5_ |= 0x00000020;
22751  mipVarScaling_ = value;
22752  onChanged();
22753  return this;
22754  }
22766  bitField5_ = (bitField5_ & ~0x00000020);
22767  mipVarScaling_ = 1D;
22768  onChanged();
22769  return this;
22770  }
22771 
22772  private boolean mipAutomaticallyScaleVariables_ = true;
22785  @java.lang.Override
22787  return ((bitField5_ & 0x00000040) != 0);
22788  }
22801  @java.lang.Override
22803  return mipAutomaticallyScaleVariables_;
22804  }
22819  bitField5_ |= 0x00000040;
22820  mipAutomaticallyScaleVariables_ = value;
22821  onChanged();
22822  return this;
22823  }
22837  bitField5_ = (bitField5_ & ~0x00000040);
22838  mipAutomaticallyScaleVariables_ = true;
22839  onChanged();
22840  return this;
22841  }
22842 
22843  private double mipWantedPrecision_ = 1e-06D;
22861  @java.lang.Override
22862  public boolean hasMipWantedPrecision() {
22863  return ((bitField5_ & 0x00000080) != 0);
22864  }
22882  @java.lang.Override
22883  public double getMipWantedPrecision() {
22884  return mipWantedPrecision_;
22885  }
22904  public Builder setMipWantedPrecision(double value) {
22905  bitField5_ |= 0x00000080;
22906  mipWantedPrecision_ = value;
22907  onChanged();
22908  return this;
22909  }
22928  bitField5_ = (bitField5_ & ~0x00000080);
22929  mipWantedPrecision_ = 1e-06D;
22930  onChanged();
22931  return this;
22932  }
22933 
22934  private int mipMaxActivityExponent_ = 53;
22949  @java.lang.Override
22950  public boolean hasMipMaxActivityExponent() {
22951  return ((bitField5_ & 0x00000100) != 0);
22952  }
22967  @java.lang.Override
22969  return mipMaxActivityExponent_;
22970  }
22987  bitField5_ |= 0x00000100;
22988  mipMaxActivityExponent_ = value;
22989  onChanged();
22990  return this;
22991  }
23007  bitField5_ = (bitField5_ & ~0x00000100);
23008  mipMaxActivityExponent_ = 53;
23009  onChanged();
23010  return this;
23011  }
23012 
23013  private double mipCheckPrecision_ = 0.0001D;
23024  @java.lang.Override
23025  public boolean hasMipCheckPrecision() {
23026  return ((bitField5_ & 0x00000200) != 0);
23027  }
23038  @java.lang.Override
23039  public double getMipCheckPrecision() {
23040  return mipCheckPrecision_;
23041  }
23053  public Builder setMipCheckPrecision(double value) {
23054  bitField5_ |= 0x00000200;
23055  mipCheckPrecision_ = value;
23056  onChanged();
23057  return this;
23058  }
23070  bitField5_ = (bitField5_ & ~0x00000200);
23071  mipCheckPrecision_ = 0.0001D;
23072  onChanged();
23073  return this;
23074  }
23075  @java.lang.Override
23077  final com.google.protobuf.UnknownFieldSet unknownFields) {
23078  return super.setUnknownFields(unknownFields);
23079  }
23080 
23081  @java.lang.Override
23083  final com.google.protobuf.UnknownFieldSet unknownFields) {
23084  return super.mergeUnknownFields(unknownFields);
23085  }
23086 
23087 
23088  // @@protoc_insertion_point(builder_scope:operations_research.sat.SatParameters)
23089  }
23090 
23091  // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
23092  private static final com.google.ortools.sat.SatParameters DEFAULT_INSTANCE;
23093  static {
23094  DEFAULT_INSTANCE = new com.google.ortools.sat.SatParameters();
23095  }
23096 
23098  return DEFAULT_INSTANCE;
23099  }
23100 
23101  @java.lang.Deprecated public static final com.google.protobuf.Parser<SatParameters>
23102  PARSER = new com.google.protobuf.AbstractParser<SatParameters>() {
23103  @java.lang.Override
23104  public SatParameters parsePartialFrom(
23105  com.google.protobuf.CodedInputStream input,
23106  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
23107  throws com.google.protobuf.InvalidProtocolBufferException {
23108  return new SatParameters(input, extensionRegistry);
23109  }
23110  };
23111 
23112  public static com.google.protobuf.Parser<SatParameters> parser() {
23113  return PARSER;
23114  }
23115 
23116  @java.lang.Override
23117  public com.google.protobuf.Parser<SatParameters> getParserForType() {
23118  return PARSER;
23119  }
23120 
23121  @java.lang.Override
23123  return DEFAULT_INSTANCE;
23124  }
23125 
23126 }
23127 
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasTreatBinaryClausesSeparately()
Builder setCpModelPostsolveWithFullSolver(boolean value)
.lang.Override Builder newBuilderForType()
.lang.Override boolean getUseExactLpReason()
static com.google.protobuf.Internal.EnumLiteMap< ConflictMinimizationAlgorithm > internalGetValueMap()
.lang.Override int getMaxConsecutiveInactiveCount()
.lang.Override boolean hasMaxConsecutiveInactiveCount()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasMaxIntegerRoundingScaling()
.lang.Override boolean hasAddMirCuts()
Builder setGlucoseDecayIncrementPeriod(int value)
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder clearBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Deprecated static BinaryMinizationAlgorithm valueOf(int value)
.lang.Override boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER
.lang.Override final boolean isInitialized()
.lang.Override boolean getAddMirCuts()
static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override int getPolarityRephaseIncrement()
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasSolutionPoolSize()
.lang.Override boolean hasFillTightenedDomainsInResponse()
Builder setMergeAtMostOneWorkLimit(double value)
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override int getBooleanEncodingLevel()
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data)
.lang.Override boolean hasRandomPolarityRatio()
.lang.Override double getPresolveProbingDeterministicTimeLimit()
.lang.Override double getMaxTimeInSeconds()
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean hasAddCliqueCuts()
static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER
static com.google.protobuf.Internal.EnumLiteMap< BinaryMinizationAlgorithm > internalGetValueMap()
.lang.Override boolean hasUseErwaHeuristic()
.lang.Override boolean hasStrategyChangeIncreaseRatio()
.lang.Override boolean getExpandAlldiffConstraints()
.lang.Override boolean hasUseFeasibilityPump()
Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value)
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER
.lang.Override boolean hasLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
Builder clearMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
Builder clearMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER
static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER
static FPRoundingMethod valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER
.lang.Override boolean hasUseOptimizationHints()
static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
.lang.Override boolean getLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setMinimizeWithPropagationNumDecisions(int value)
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getStopAfterPresolve()
Builder setLogPrefix(java.lang.String value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getExpandTableConstraints()
static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< RestartAlgorithm > internalGetValueMap()
.lang.Override boolean hasCatchSigintSignal()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasFixVariablesToTheirHintedValue()
.lang.Override boolean hasMaxCutRoundsAtLevelZero()
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER
.lang.Override boolean hasExpandAlldiffConstraints()
static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER
.lang.Override boolean hasMergeNoOverlapWorkLimit()
Builder setRelativeGapLimit(double value)
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasShareObjectiveBounds()
.lang.Override boolean hasProbingPeriodAtRoot()
Builder setPresolveExtractIntegerEnforcement(boolean value)
.lang.Deprecated static MaxSatAssumptionOrder valueOf(int value)
.lang.Override boolean hasPresolveUseBva()
.lang.Override boolean getUseCombinedNoOverlap()
.lang.Override boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
static ConflictMinimizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getUseImpliedBounds()
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getUsePbResolution()
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
.lang.Override boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasEnumerateAllSolutions()
Builder setLnsExpandIntervalsInConstraintGraph(boolean value)
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
Builder setPermutePresolveConstraintOrder(boolean value)
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean getPresolveExtractIntegerEnforcement()
static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value)
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override int getNumConflictsBeforeStrategyChanges()
.lang.Override boolean getExploitRelaxationSolution()
static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER
.lang.Override boolean getStopAfterFirstSolution()
.lang.Override boolean getPermuteVariableRandomly()
Builder clearPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean hasPolarityRephaseIncrement()
.lang.Override boolean hasUseExactLpReason()
.lang.Override boolean hasPseudoCostReliabilityThreshold()
.lang.Override boolean hasRestartRunningWindowSize()
EXPERIMENTAL_BINARY_MINIMIZATION
EXPERIMENTAL_BINARY_MINIMIZATION = 3;
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override boolean hasMinimizeCore()
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasMipVarScaling()
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder setName(java.lang.String value)
.lang.Override boolean hasMaxDomainSizeWhenEncodingEqNeqConstraints()
.lang.Override double getCutMaxActiveCountValue()
static SearchBranching valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Deprecated static VariableOrder valueOf(int value)
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
static final int NUM_CONFLICTS_BEFORE_STRATEGY_CHANGES_FIELD_NUMBER
static MaxSatAssumptionOrder forNumber(int value)
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
.lang.Override boolean hasExpandAutomatonConstraints()
.lang.Override boolean getCountAssumptionLevelsInLbd()
.lang.Deprecated static ClauseOrdering valueOf(int value)
.lang.Override boolean hasCoverOptimization()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override int getPbCleanupIncrement()
.lang.Override java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasLogSearchProgress()
.lang.Override boolean getExpandElementConstraints()
static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override boolean hasMipAutomaticallyScaleVariables()
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data)
static VariableOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean hasMaxTimeInSeconds()
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
.lang.Override boolean getExpandReservoirConstraints()
static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER
static ClauseProtection valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder clearLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override boolean getCatchSigintSignal()
.lang.Override boolean getInterleaveSearch()
static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER
static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER
static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER
static ClauseOrdering valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean hasSearchRandomizationTolerance()
static final int PRESOLVE_PROBING_DETERMINISTIC_TIME_LIMIT_FIELD_NUMBER
.lang.Override boolean getOptimizeWithLbTreeSearch()
.lang.Override boolean hasMaxIntegerRoundingScaling()
.lang.Override boolean hasExpandReservoirConstraints()
.lang.Override boolean hasPermuteVariableRandomly()
.lang.Override int getBinarySearchNumConflicts()
Builder clearLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override boolean getExploitObjective()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
.lang.Override boolean hasMaxPresolveIterations()
Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value)
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean getRandomizeSearch()
Builder setFixVariablesToTheirHintedValue(boolean value)
.lang.Override java.lang.String getName()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
Builder setPbCleanupRatio(double value)
optional double pb_cleanup_ratio = 47 [default = 0.5];
static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER
static final int USE_PRECEDENCES_IN_DISJUNCTIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
Builder clearBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Override boolean getFindMultipleCores()
.lang.Override boolean hasExpandTableConstraints()
.lang.Override boolean getFixVariablesToTheirHintedValue()
.lang.Override boolean getExploitAllLpSolution()
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasUseLnsOnly()
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override int getMinimizeWithPropagationRestartPeriod()
Builder setGlucoseDecayIncrement(double value)
optional double glucose_decay_increment = 23 [default = 0.01];
Builder setSubsumptionDuringConflictAnalysis(boolean value)
.lang.Deprecated static ClauseProtection valueOf(int value)
static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER
Builder setFillTightenedDomainsInResponse(boolean value)
.lang.Override boolean getMaxSatReverseAssumptionOrder()
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
.lang.Override int getCpModelMaxNumPresolveOperations()
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
static final int LOG_SUBSOLVER_STATISTICS_FIELD_NUMBER
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean getCpModelPostsolveWithFullSolver()
.lang.Override boolean hasMaxNumCuts()
static final int USE_TIMETABLE_EDGE_FINDING_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override double getRandomPolarityRatio()
.lang.Override boolean hasUseImpliedBounds()
static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER
.lang.Override boolean hasMaxDomainSizeWhenEncodingEqNeqConstraints()
.lang.Override com.google.protobuf.ByteString getNameBytes()
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
Builder clearMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasLogToResponse()
.lang.Override boolean getFillTightenedDomainsInResponse()
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder setMipAutomaticallyScaleVariables(boolean value)
.lang.Override long getPseudoCostReliabilityThreshold()
static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER
.lang.Override boolean getUseBranchingInLp()
Builder clearUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
.lang.Override boolean getPresolveBlockedClause()
Builder clearMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean getExpandAlldiffConstraints()
.lang.Override double getGlucoseMaxDecay()
.lang.Override boolean hasOptimizeWithLbTreeSearch()
static final int OPTIMIZE_WITH_LB_TREE_SEARCH_FIELD_NUMBER
.lang.Override boolean hasExploitRelaxationSolution()
.lang.Override java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
Builder setMaxClauseActivityValue(double value)
optional double max_clause_activity_value = 18 [default = 1e+20];
Builder setLnsFocusOnDecisionVariables(boolean value)
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasUseBranchingInLp()
.lang.Override boolean getMaxSatReverseAssumptionOrder()
com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasStopAfterFirstSolution()
static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
.lang.Override boolean hasCpModelPresolve()
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean getOptimizeWithLbTreeSearch()
static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder clearMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder clearGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasRandomBranchesRatio()
.lang.Override boolean getAddKnapsackCuts()
boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER
.lang.Override boolean hasCountAssumptionLevelsInLbd()
Builder setMinimizeReductionDuringPbResolution(boolean value)
.lang.Override boolean getUseProbingSearch()
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override long getMaxNumberOfConflicts()
Builder setUseAbslRandom(boolean value)
optional bool use_absl_random = 180 [default = false];
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override double getRandomBranchesRatio()
Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value)
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean hasExpandAutomatonConstraints()
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getCpModelUseSatPresolve()
.lang.Override double getMinOrthogonalityForLpConstraints()
.lang.Override int getRestartAlgorithmsCount()
static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER
.lang.Override int getMaxDomainSizeWhenEncodingEqNeqConstraints()
static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER
Builder setUseOverloadCheckerInCumulativeConstraint(boolean value)
static final int AUTO_DETECT_GREATER_THAN_AT_LEAST_ONE_OF_FIELD_NUMBER
static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER
.lang.Override boolean getUseFeasibilityPump()
.lang.Override boolean hasExploitObjective()
Builder clearGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override boolean hasPbCleanupIncrement()
.lang.Override boolean hasExpandReservoirConstraints()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean getCpModelPresolve()
Builder setRestartAlgorithms(int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value)
.lang.Override boolean equals(final java.lang.Object obj)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static ConflictMinimizationAlgorithm forNumber(int value)
.lang.Override boolean hasClauseCleanupLbdBound()
Builder clearSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean hasExploitAllLpSolution()
Builder clearPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override java.lang.String getLogPrefix()
.lang.Override boolean hasHintConflictLimit()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input)
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER
static final int USE_OVERLOAD_CHECKER_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override int getClauseCleanupPeriod()
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasPresolveBveThreshold()
.lang.Override double getAbsoluteGapLimit()
static BinaryMinizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean hasMaxAllDiffCutSize()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static final int FILL_TIGHTENED_DOMAINS_IN_RESPONSE_FIELD_NUMBER
.lang.Override long getProbingPeriodAtRoot()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
static final int KEEP_ALL_FEASIBLE_SOLUTIONS_IN_PRESOLVE_FIELD_NUMBER
.lang.Override boolean getUseErwaHeuristic()
static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER
.lang.Override boolean getMipAutomaticallyScaleVariables()
.lang.Override boolean hasExploitIntegerLpSolution()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override boolean hasInterleaveSearch()
.lang.Override boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean hasUseProbingSearch()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
.lang.Override final boolean isInitialized()
.lang.Override boolean hasAddZeroHalfCuts()
static Polarity valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static MaxSatStratificationAlgorithm forNumber(int value)
.lang.Override boolean getOptimizeWithMaxHs()
.lang.Override boolean getAddZeroHalfCuts()
.lang.Override boolean getLogSubsolverStatistics()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean getConvertIntervals()
.lang.Override boolean hasClauseCleanupPeriod()
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override int getMaxDomainSizeWhenEncodingEqNeqConstraints()
static final int MAX_DOMAIN_SIZE_WHEN_ENCODING_EQ_NEQ_CONSTRAINTS_FIELD_NUMBER
.lang.Deprecated static FPRoundingMethod valueOf(int value)
static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER
.lang.Override boolean hasLogToStdout()
Builder setInterleaveBatchSize(int value)
optional int32 interleave_batch_size = 134 [default = 1];
static com.google.protobuf.Internal.EnumLiteMap< MaxSatStratificationAlgorithm > internalGetValueMap()
.lang.Override boolean getExploitBestSolution()
.lang.Override boolean getMipAutomaticallyScaleVariables()
.lang.Override boolean getPolishLpSolution()
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override com.google.ortools.sat.SatParameters buildPartial()
.lang.Override boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean getAddLpConstraintsLazily()
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean hasPresolveSubstitutionLevel()
.lang.Override double getMipWantedPrecision()
.lang.Override double getMinOrthogonalityForLpConstraints()
static com.google.protobuf.Internal.EnumLiteMap< ClauseProtection > internalGetValueMap()
.lang.Override boolean getUsePhaseSaving()
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
.lang.Override double getMipVarScaling()
static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean hasNumSearchWorkers()
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
.lang.Override boolean hasUseRelaxationLns()
.lang.Override long getSearchRandomizationTolerance()
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override boolean hasClauseCleanupRatio()
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean getPresolveUseBva()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasAddLinMaxCuts()
.lang.Override boolean getLogToStdout()
.lang.Override boolean hasExploitIntegerLpSolution()
static final int MINIMIZE_WITH_PROPAGATION_NUM_DECISIONS_FIELD_NUMBER
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
static final int CP_MODEL_MAX_NUM_PRESOLVE_OPERATIONS_FIELD_NUMBER
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean hasAddCgCuts()
static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value)
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean getMinimizeReductionDuringPbResolution()
static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER
static MaxSatAssumptionOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override boolean hasPresolveSubstitutionLevel()
static com.google.protobuf.Parser< SatParameters > parser()
static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean hasStrategyChangeIncreaseRatio()
static final int PRESOLVE_EXTRACT_INTEGER_ENFORCEMENT_FIELD_NUMBER
static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER
BINARY_MINIMIZATION_WITH_REACHABILITY
BINARY_MINIMIZATION_WITH_REACHABILITY = 2;
.lang.Override boolean getExpandElementConstraints()
static RestartAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override double getMipCheckPrecision()
Builder clearBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasExploitBestSolution()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static Polarity valueOf(int value)
.lang.Override int getMaxCutRoundsAtLevelZero()
.lang.Override boolean hasMipWantedPrecision()
Builder setBlockingRestartWindowSize(int value)
optional int32 blocking_restart_window_size = 65 [default = 5000];
static MaxSatStratificationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean getCountAssumptionLevelsInLbd()
static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER
static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER
Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value)
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
Builder setDefaultRestartAlgorithmsBytes(com.google.protobuf.ByteString value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
static Builder newBuilder(com.google.ortools.sat.SatParameters prototype)
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
.lang.Override double getInitialVariablesActivity()
.lang.Override boolean hasCountAssumptionLevelsInLbd()
static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER
.lang.Override boolean getEnumerateAllSolutions()
.lang.Override boolean hasOptimizeWithCore()
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean getInstantiateAllVariables()
.lang.Override double getMaxDeterministicTime()
static com.google.ortools.sat.SatParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER
.lang.Override int getMinimizeWithPropagationRestartPeriod()
static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override int getRestartRunningWindowSize()
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean hasRandomizeSearch()
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override double getMipMaxBound()
static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean getUseOptionalVariables()
.lang.Override boolean getDisableConstraintExpansion()
.lang.Override boolean hasMipCheckPrecision()
.lang.Override double getClauseActivityDecay()
static BinaryMinizationAlgorithm forNumber(int value)
.lang.Override boolean getUseRinsLns()
static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
Builder clearFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getUseBlockingRestart()
.lang.Override boolean getAddLinMaxCuts()
.lang.Override boolean getLogSearchProgress()
.lang.Override boolean getUseOptimizationHints()
static com.google.protobuf.Internal.EnumLiteMap< VariableOrder > internalGetValueMap()
static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER
static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER
.lang.Override boolean hasCpModelUseSatPresolve()
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasBinarySearchNumConflicts()
static final int USE_SAT_INPROCESSING_FIELD_NUMBER
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER
.lang.Override boolean hasUseRinsLns()
.lang.Override boolean hasFixVariablesToTheirHintedValue()
.lang.Override boolean hasOptimizeWithLbTreeSearch()
.lang.Override boolean getDisableConstraintExpansion()
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
.lang.Override boolean hasLinearizationLevel()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override int getMipMaxActivityExponent()
.lang.Deprecated static RestartAlgorithm valueOf(int value)
.lang.Override boolean hasAddKnapsackCuts()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override boolean hasClauseActivityDecay()
.lang.Override boolean hasVariableActivityDecay()
static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER
.lang.Override double getRestartDlAverageRatio()
.lang.Override boolean hasInitialVariablesActivity()
.lang.Override boolean hasPolishLpSolution()
Builder setUsePrecedencesInDisjunctiveConstraint(boolean value)
.lang.Override boolean hasExpandAlldiffConstraints()
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
Builder setNameBytes(com.google.protobuf.ByteString value)
static final int MINIMIZE_WITH_PROPAGATION_RESTART_PERIOD_FIELD_NUMBER
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasExploitRelaxationSolution()
static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean getAddCliqueCuts()
.lang.Override boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override boolean getLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override int getLinearizationLevel()
.lang.Override boolean hasRandomSeed()
.lang.Override boolean hasExpandElementConstraints()
Builder clearMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER
.lang.Override double getPresolveProbingDeterministicTimeLimit()
static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters build()
.lang.Override double getClauseCleanupRatio()
Builder setUseDisjunctiveConstraintInCumulativeConstraint(boolean value)
.lang.Override boolean hasUseCombinedNoOverlap()
.lang.Override boolean hasDiversifyLnsParams()
.lang.Override boolean hasPolarityRephaseIncrement()
static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
com.google.protobuf.ByteString getNameBytes()
Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value)
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean hasRestartDlAverageRatio()
.lang.Override boolean hasMaxMemoryInMb()
static final int MIN_ORTHOGONALITY_FOR_LP_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean hasInitialVariablesActivity()
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean getDiversifyLnsParams()
static com.google.protobuf.Internal.EnumLiteMap< SearchBranching > internalGetValueMap()
static final int MIP_WANTED_PRECISION_FIELD_NUMBER
Builder setLogPrefixBytes(com.google.protobuf.ByteString value)
static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override int getClauseCleanupLbdBound()
.lang.Override boolean hasUseOptionalVariables()
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
static com.google.ortools.sat.SatParameters getDefaultInstance()
.lang.Override boolean getMinimizeReductionDuringPbResolution()
static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override int getPresolveBveThreshold()
.lang.Override boolean getCpModelPostsolveWithFullSolver()
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean hasClauseCleanupTarget()
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getRepairHint()
Builder clearInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasAddLpConstraintsLazily()
.lang.Override boolean getCoverOptimization()
.lang.Override boolean hasLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value)
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override int getPresolveBvaThreshold()
static final int SUBSUMPTION_DURING_CONFLICT_ANALYSIS_FIELD_NUMBER
.lang.Override boolean hasPseudoCostReliabilityThreshold()
static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER
static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasMipMaxBound()
static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER
static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER
.lang.Override boolean hasUsePbResolution()
static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Deprecated static ConflictMinimizationAlgorithm valueOf(int value)
.lang.Override com.google.protobuf.Parser< SatParameters > getParserForType()
.lang.Override boolean getExpandAutomatonConstraints()
.lang.Override boolean hasGlucoseMaxDecay()
.lang.Override boolean hasUseBlockingRestart()
static final int CP_MODEL_POSTSOLVE_WITH_FULL_SOLVER_FIELD_NUMBER
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
Builder setKeepAllFeasibleSolutionsInPresolve(boolean value)
Builder clearUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override double getStrategyChangeIncreaseRatio()
.lang.Override int getMaxPresolveIterations()
static final int MINIMIZE_REDUCTION_DURING_PB_RESOLUTION_FIELD_NUMBER
static com.google.protobuf.Internal.EnumLiteMap< Polarity > internalGetValueMap()
Builder clearClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int PERMUTE_PRESOLVE_CONSTRAINT_ORDER_FIELD_NUMBER
Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value)
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean hasStopAfterPresolve()
static final int REDUCE_MEMORY_USAGE_IN_INTERLEAVE_MODE_FIELD_NUMBER
static final int CLAUSE_CLEANUP_RATIO_FIELD_NUMBER
Builder setAlsoBumpVariablesInConflictReasons(boolean value)
.lang.Override boolean hasConvertIntervals()
.lang.Override int getCpModelProbingLevel()
static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER
static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER
static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER
.lang.Override boolean hasLogSubsolverStatistics()
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean hasShareLevelZeroBounds()
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
Builder setBlockingRestartMultiplier(double value)
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override com.google.protobuf.ByteString getLogPrefixBytes()
static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER
.lang.Override double getStrategyChangeIncreaseRatio()
Builder setMaxVariableActivityValue(double value)
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean hasOnlyAddCutsAtLevelZero()
static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasRestartRunningWindowSize()
.lang.Override boolean getFixVariablesToTheirHintedValue()
static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER
.lang.Override boolean getUseRelaxationLns()
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasDisableConstraintExpansion()
.lang.Override boolean hasMaxNumberOfConflicts()
Builder clearMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
Builder clearPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
Builder clearRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
Builder clearClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
.lang.Override int getMaxIntegerRoundingScaling()
.lang.Override boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
.lang.Deprecated static MaxSatStratificationAlgorithm valueOf(int value)
Builder mergeFrom(com.google.ortools.sat.SatParameters other)
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
.lang.Override boolean hasPresolveBveClauseWeight()
.lang.Override boolean hasUsePhaseSaving()
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER
.lang.Override boolean hasPresolveBvaThreshold()
.lang.Override boolean getFillTightenedDomainsInResponse()
Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value)
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder setPresolveProbingDeterministicTimeLimit(double value)
.lang.Override double getVariableActivityDecay()
.lang.Override boolean getPresolveExtractIntegerEnforcement()
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
Builder clearRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean hasMipMaxActivityExponent()
Builder setReduceMemoryUsageInInterleaveMode(boolean value)
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getShareObjectiveBounds()
static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER
static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder setAutoDetectGreaterThanAtLeastOneOf(boolean value)
static com.google.protobuf.Internal.EnumLiteMap< ClauseOrdering > internalGetValueMap()
static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER
.lang.Override int getClauseCleanupTarget()
static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER
.lang.Override double getMergeNoOverlapWorkLimit()
.lang.Override boolean getExpandReservoirConstraints()
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
.lang.Override boolean hasCutMaxActiveCountValue()
.lang.Deprecated static SearchBranching valueOf(int value)
.lang.Override boolean hasCpModelProbingLevel()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Deprecated static final com.google.protobuf.Parser< SatParameters > PARSER
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
static final int LNS_EXPAND_INTERVALS_IN_CONSTRAINT_GRAPH_FIELD_NUMBER
static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean hasFindMultipleCores()
Builder setDefaultRestartAlgorithms(java.lang.String value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasBinarySearchNumConflicts()
.lang.Override boolean hasDisableConstraintExpansion()
.lang.Override boolean hasMipAutomaticallyScaleVariables()
com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean getOnlyAddCutsAtLevelZero()
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION = 4;
static com.google.protobuf.Internal.EnumLiteMap< FPRoundingMethod > internalGetValueMap()
.lang.Override boolean hasOptimizeWithMaxHs()
.lang.Override boolean hasNewConstraintsBatchSize()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final int USE_BLOCKING_RESTART_FIELD_NUMBER
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Override int getPresolveBveClauseWeight()
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean getUseLnsOnly()
Builder setCutActiveCountDecay(double value)
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasInstantiateAllVariables()
.lang.Override boolean getMinimizeCore()
com.google.protobuf.ByteString getLogPrefixBytes()
.lang.Override boolean getExpandAutomatonConstraints()
static final int ALSO_BUMP_VARIABLES_IN_CONFLICT_REASONS_FIELD_NUMBER
static final int MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean getAddCgCuts()
.lang.Override boolean getOptimizeWithCore()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER
Builder setUseSatInprocessing(boolean value)
optional bool use_sat_inprocessing = 163 [default = false];
Builder clearCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasPresolveBlockedClause()
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override int getNewConstraintsBatchSize()
.lang.Override int getPresolveSubstitutionLevel()
.lang.Override boolean hasBooleanEncodingLevel()
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value)
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override boolean hasMaxDeterministicTime()
.lang.Override boolean getShareLevelZeroBounds()
Builder clearDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasExpandElementConstraints()
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
static final int USE_DISJUNCTIVE_CONSTRAINT_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override boolean getExploitIntegerLpSolution()
static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER
.lang.Override boolean hasCutCleanupTarget()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static final int FIX_VARIABLES_TO_THEIR_HINTED_VALUE_FIELD_NUMBER
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasLogPrefix()
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
Builder clearInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean getLogToResponse()
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static com.google.protobuf.Internal.EnumLiteMap< MaxSatAssumptionOrder > internalGetValueMap()
.lang.Override boolean hasSymmetryLevel()
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasRepairHint()
.lang.Override boolean hasAbsoluteGapLimit()
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
Builder addAllRestartAlgorithms(java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm > values)
Builder setUseTimetableEdgeFindingInCumulativeConstraint(boolean value)
.lang.Override boolean hasMaxConsecutiveInactiveCount()
.lang.Override boolean hasRestartPeriod()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
Builder setRestartLbdAverageRatio(double value)
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean hasSearchRandomizationTolerance()
static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];