Java Reference

Java Reference

SatParameters.java
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/sat/sat_parameters.proto
3 
4 package com.google.ortools.sat;
5 
15 public final class SatParameters extends
16  com.google.protobuf.GeneratedMessageV3 implements
17  // @@protoc_insertion_point(message_implements:operations_research.sat.SatParameters)
19 private static final long serialVersionUID = 0L;
20  // Use SatParameters.newBuilder() to construct.
21  private SatParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
22  super(builder);
23  }
24  private SatParameters() {
25  name_ = "";
26  preferredVariableOrder_ = 0;
27  initialPolarity_ = 1;
28  usePhaseSaving_ = true;
29  polarityRephaseIncrement_ = 1000;
30  minimizationAlgorithm_ = 2;
31  binaryMinimizationAlgorithm_ = 1;
32  subsumptionDuringConflictAnalysis_ = true;
33  clauseCleanupPeriod_ = 10000;
34  clauseCleanupTarget_ = 10000;
35  clauseCleanupProtection_ = 0;
36  clauseCleanupLbdBound_ = 5;
37  clauseCleanupOrdering_ = 0;
38  pbCleanupIncrement_ = 200;
39  pbCleanupRatio_ = 0.5D;
40  minimizeWithPropagationRestartPeriod_ = 10;
41  minimizeWithPropagationNumDecisions_ = 1000;
42  variableActivityDecay_ = 0.8D;
43  maxVariableActivityValue_ = 1e+100D;
44  glucoseMaxDecay_ = 0.95D;
45  glucoseDecayIncrement_ = 0.01D;
46  glucoseDecayIncrementPeriod_ = 5000;
47  clauseActivityDecay_ = 0.999D;
48  maxClauseActivityValue_ = 1e+20D;
49  restartAlgorithms_ = java.util.Collections.emptyList();
50  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
51  restartPeriod_ = 50;
52  restartRunningWindowSize_ = 50;
53  restartDlAverageRatio_ = 1D;
54  restartLbdAverageRatio_ = 1D;
55  blockingRestartWindowSize_ = 5000;
56  blockingRestartMultiplier_ = 1.4D;
57  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
58  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
59  maxNumberOfConflicts_ = 9223372036854775807L;
60  maxMemoryInMb_ = 10000L;
61  treatBinaryClausesSeparately_ = true;
62  randomSeed_ = 1;
63  logPrefix_ = "";
64  logToStdout_ = true;
65  countAssumptionLevelsInLbd_ = true;
66  presolveBveThreshold_ = 500;
67  presolveBveClauseWeight_ = 3;
68  presolveProbingDeterministicTimeLimit_ = 30D;
69  presolveBlockedClause_ = true;
70  presolveUseBva_ = true;
71  presolveBvaThreshold_ = 1;
72  maxPresolveIterations_ = 3;
73  cpModelPresolve_ = true;
74  cpModelProbingLevel_ = 2;
75  cpModelUseSatPresolve_ = true;
76  expandElementConstraints_ = true;
77  expandAutomatonConstraints_ = true;
78  expandTableConstraints_ = true;
79  expandReservoirConstraints_ = true;
80  mergeNoOverlapWorkLimit_ = 1000000000000D;
81  mergeAtMostOneWorkLimit_ = 100000000D;
82  presolveSubstitutionLevel_ = 1;
83  useOptimizationHints_ = true;
84  minimizeCore_ = true;
85  findMultipleCores_ = true;
86  coverOptimization_ = true;
87  maxSatAssumptionOrder_ = 0;
88  maxSatStratification_ = 1;
89  usePrecedencesInDisjunctiveConstraint_ = true;
90  useDisjunctiveConstraintInCumulativeConstraint_ = true;
91  linearizationLevel_ = 1;
92  booleanEncodingLevel_ = 1;
93  maxNumCuts_ = 10000;
94  addCgCuts_ = true;
95  addMirCuts_ = true;
96  addZeroHalfCuts_ = true;
97  addCliqueCuts_ = true;
98  maxAllDiffCutSize_ = 7;
99  addLinMaxCuts_ = true;
100  maxIntegerRoundingScaling_ = 600;
101  addLpConstraintsLazily_ = true;
102  minOrthogonalityForLpConstraints_ = 0.05D;
103  maxCutRoundsAtLevelZero_ = 1;
104  maxConsecutiveInactiveCount_ = 100;
105  cutMaxActiveCountValue_ = 10000000000D;
106  cutActiveCountDecay_ = 0.8D;
107  cutCleanupTarget_ = 1000;
108  newConstraintsBatchSize_ = 50;
109  searchBranching_ = 0;
110  hintConflictLimit_ = 10;
111  exploitIntegerLpSolution_ = true;
112  exploitAllLpSolution_ = true;
113  exploitObjective_ = true;
114  pseudoCostReliabilityThreshold_ = 100L;
115  binarySearchNumConflicts_ = -1;
116  instantiateAllVariables_ = true;
117  autoDetectGreaterThanAtLeastOneOf_ = true;
118  numSearchWorkers_ = 1;
119  interleaveBatchSize_ = 1;
120  shareObjectiveBounds_ = true;
121  shareLevelZeroBounds_ = true;
122  lnsExpandIntervalsInConstraintGraph_ = true;
123  useRinsLns_ = true;
124  useFeasibilityPump_ = true;
125  fpRounding_ = 2;
126  useOptionalVariables_ = true;
127  useExactLpReason_ = true;
128  catchSigintSignal_ = true;
129  useImpliedBounds_ = true;
130  symmetryLevel_ = 2;
131  mipMaxBound_ = 10000000D;
132  mipVarScaling_ = 1D;
133  mipAutomaticallyScaleVariables_ = true;
134  mipWantedPrecision_ = 1e-06D;
135  mipMaxActivityExponent_ = 53;
136  mipCheckPrecision_ = 0.0001D;
137  }
138 
139  @java.lang.Override
140  @SuppressWarnings({"unused"})
141  protected java.lang.Object newInstance(
142  UnusedPrivateParameter unused) {
143  return new SatParameters();
144  }
145 
146  @java.lang.Override
147  public final com.google.protobuf.UnknownFieldSet
149  return this.unknownFields;
150  }
151  private SatParameters(
152  com.google.protobuf.CodedInputStream input,
153  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
154  throws com.google.protobuf.InvalidProtocolBufferException {
155  this();
156  if (extensionRegistry == null) {
157  throw new java.lang.NullPointerException();
158  }
159  int mutable_bitField0_ = 0;
160  int mutable_bitField1_ = 0;
161  int mutable_bitField2_ = 0;
162  int mutable_bitField3_ = 0;
163  int mutable_bitField4_ = 0;
164  int mutable_bitField5_ = 0;
165  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
166  com.google.protobuf.UnknownFieldSet.newBuilder();
167  try {
168  boolean done = false;
169  while (!done) {
170  int tag = input.readTag();
171  switch (tag) {
172  case 0:
173  done = true;
174  break;
175  case 8: {
176  int rawValue = input.readEnum();
177  @SuppressWarnings("deprecation")
178  com.google.ortools.sat.SatParameters.VariableOrder value = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(rawValue);
179  if (value == null) {
180  unknownFields.mergeVarintField(1, rawValue);
181  } else {
182  bitField0_ |= 0x00000002;
183  preferredVariableOrder_ = rawValue;
184  }
185  break;
186  }
187  case 16: {
188  int rawValue = input.readEnum();
189  @SuppressWarnings("deprecation")
190  com.google.ortools.sat.SatParameters.Polarity value = com.google.ortools.sat.SatParameters.Polarity.valueOf(rawValue);
191  if (value == null) {
192  unknownFields.mergeVarintField(2, rawValue);
193  } else {
194  bitField0_ |= 0x00000004;
195  initialPolarity_ = rawValue;
196  }
197  break;
198  }
199  case 32: {
200  int rawValue = input.readEnum();
201  @SuppressWarnings("deprecation")
202  com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(rawValue);
203  if (value == null) {
204  unknownFields.mergeVarintField(4, rawValue);
205  } else {
206  bitField0_ |= 0x00000400;
207  minimizationAlgorithm_ = rawValue;
208  }
209  break;
210  }
211  case 88: {
212  bitField0_ |= 0x00002000;
213  clauseCleanupPeriod_ = input.readInt32();
214  break;
215  }
216  case 104: {
217  bitField0_ |= 0x00004000;
218  clauseCleanupTarget_ = input.readInt32();
219  break;
220  }
221  case 121: {
222  bitField0_ |= 0x00400000;
223  variableActivityDecay_ = input.readDouble();
224  break;
225  }
226  case 129: {
227  bitField0_ |= 0x00800000;
228  maxVariableActivityValue_ = input.readDouble();
229  break;
230  }
231  case 137: {
232  bitField0_ |= 0x08000000;
233  clauseActivityDecay_ = input.readDouble();
234  break;
235  }
236  case 145: {
237  bitField0_ |= 0x10000000;
238  maxClauseActivityValue_ = input.readDouble();
239  break;
240  }
241  case 177: {
242  bitField0_ |= 0x01000000;
243  glucoseMaxDecay_ = input.readDouble();
244  break;
245  }
246  case 185: {
247  bitField0_ |= 0x02000000;
248  glucoseDecayIncrement_ = input.readDouble();
249  break;
250  }
251  case 192: {
252  bitField0_ |= 0x04000000;
253  glucoseDecayIncrementPeriod_ = input.readInt32();
254  break;
255  }
256  case 240: {
257  bitField0_ |= 0x40000000;
258  restartPeriod_ = input.readInt32();
259  break;
260  }
261  case 248: {
262  bitField1_ |= 0x00004000;
263  randomSeed_ = input.readInt32();
264  break;
265  }
266  case 257: {
267  bitField0_ |= 0x00000040;
268  randomBranchesRatio_ = input.readDouble();
269  break;
270  }
271  case 264: {
272  bitField1_ |= 0x00002000;
273  treatBinaryClausesSeparately_ = input.readBool();
274  break;
275  }
276  case 272: {
277  int rawValue = input.readEnum();
278  @SuppressWarnings("deprecation")
279  com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(rawValue);
280  if (value == null) {
281  unknownFields.mergeVarintField(34, rawValue);
282  } else {
283  bitField0_ |= 0x00000800;
284  binaryMinimizationAlgorithm_ = rawValue;
285  }
286  break;
287  }
288  case 280: {
289  bitField2_ |= 0x00010000;
290  useOptimizationHints_ = input.readBool();
291  break;
292  }
293  case 289: {
294  bitField1_ |= 0x00000080;
295  maxTimeInSeconds_ = input.readDouble();
296  break;
297  }
298  case 296: {
299  bitField1_ |= 0x00000200;
300  maxNumberOfConflicts_ = input.readInt64();
301  break;
302  }
303  case 320: {
304  bitField1_ |= 0x00000400;
305  maxMemoryInMb_ = input.readInt64();
306  break;
307  }
308  case 328: {
309  bitField1_ |= 0x00040000;
310  logSearchProgress_ = input.readBool();
311  break;
312  }
313  case 344: {
314  bitField1_ |= 0x00400000;
315  usePbResolution_ = input.readBool();
316  break;
317  }
318  case 352: {
319  bitField0_ |= 0x00000008;
320  usePhaseSaving_ = input.readBool();
321  break;
322  }
323  case 361: {
324  bitField0_ |= 0x00000020;
325  randomPolarityRatio_ = input.readDouble();
326  break;
327  }
328  case 368: {
329  bitField0_ |= 0x00040000;
330  pbCleanupIncrement_ = input.readInt32();
331  break;
332  }
333  case 377: {
334  bitField0_ |= 0x00080000;
335  pbCleanupRatio_ = input.readDouble();
336  break;
337  }
338  case 384: {
339  bitField1_ |= 0x00800000;
340  minimizeReductionDuringPbResolution_ = input.readBool();
341  break;
342  }
343  case 392: {
344  bitField1_ |= 0x01000000;
345  countAssumptionLevelsInLbd_ = input.readBool();
346  break;
347  }
348  case 400: {
349  bitField2_ |= 0x00020000;
350  minimizeCore_ = input.readBool();
351  break;
352  }
353  case 408: {
354  int rawValue = input.readEnum();
355  @SuppressWarnings("deprecation")
356  com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(rawValue);
357  if (value == null) {
358  unknownFields.mergeVarintField(51, rawValue);
359  } else {
360  bitField2_ |= 0x00100000;
361  maxSatAssumptionOrder_ = rawValue;
362  }
363  break;
364  }
365  case 416: {
366  bitField2_ |= 0x00200000;
367  maxSatReverseAssumptionOrder_ = input.readBool();
368  break;
369  }
370  case 424: {
371  int rawValue = input.readEnum();
372  @SuppressWarnings("deprecation")
373  com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(rawValue);
374  if (value == null) {
375  unknownFields.mergeVarintField(53, rawValue);
376  } else {
377  bitField2_ |= 0x00400000;
378  maxSatStratification_ = rawValue;
379  }
380  break;
381  }
382  case 432: {
383  bitField1_ |= 0x02000000;
384  presolveBveThreshold_ = input.readInt32();
385  break;
386  }
387  case 440: {
388  bitField1_ |= 0x04000000;
389  presolveBveClauseWeight_ = input.readInt32();
390  break;
391  }
392  case 448: {
393  bitField0_ |= 0x00001000;
394  subsumptionDuringConflictAnalysis_ = input.readBool();
395  break;
396  }
397  case 457: {
398  bitField1_ |= 0x08000000;
399  presolveProbingDeterministicTimeLimit_ = input.readDouble();
400  break;
401  }
402  case 464: {
403  int rawValue = input.readEnum();
404  @SuppressWarnings("deprecation")
405  com.google.ortools.sat.SatParameters.ClauseProtection value = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(rawValue);
406  if (value == null) {
407  unknownFields.mergeVarintField(58, rawValue);
408  } else {
409  bitField0_ |= 0x00008000;
410  clauseCleanupProtection_ = rawValue;
411  }
412  break;
413  }
414  case 472: {
415  bitField0_ |= 0x00010000;
416  clauseCleanupLbdBound_ = input.readInt32();
417  break;
418  }
419  case 480: {
420  int rawValue = input.readEnum();
421  @SuppressWarnings("deprecation")
422  com.google.ortools.sat.SatParameters.ClauseOrdering value = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(rawValue);
423  if (value == null) {
424  unknownFields.mergeVarintField(60, rawValue);
425  } else {
426  bitField0_ |= 0x00020000;
427  clauseCleanupOrdering_ = rawValue;
428  }
429  break;
430  }
431  case 488: {
432  int rawValue = input.readEnum();
433  @SuppressWarnings("deprecation")
434  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
435  if (value == null) {
436  unknownFields.mergeVarintField(61, rawValue);
437  } else {
438  if (!((mutable_bitField0_ & 0x20000000) != 0)) {
439  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
440  mutable_bitField0_ |= 0x20000000;
441  }
442  restartAlgorithms_.add(rawValue);
443  }
444  break;
445  }
446  case 490: {
447  int length = input.readRawVarint32();
448  int oldLimit = input.pushLimit(length);
449  while(input.getBytesUntilLimit() > 0) {
450  int rawValue = input.readEnum();
451  @SuppressWarnings("deprecation")
452  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
453  if (value == null) {
454  unknownFields.mergeVarintField(61, rawValue);
455  } else {
456  if (!((mutable_bitField0_ & 0x20000000) != 0)) {
457  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
458  mutable_bitField0_ |= 0x20000000;
459  }
460  restartAlgorithms_.add(rawValue);
461  }
462  }
463  input.popLimit(oldLimit);
464  break;
465  }
466  case 496: {
467  bitField0_ |= 0x80000000;
468  restartRunningWindowSize_ = input.readInt32();
469  break;
470  }
471  case 505: {
472  bitField1_ |= 0x00000001;
473  restartDlAverageRatio_ = input.readDouble();
474  break;
475  }
476  case 512: {
477  bitField1_ |= 0x00000004;
478  useBlockingRestart_ = input.readBool();
479  break;
480  }
481  case 520: {
482  bitField1_ |= 0x00000008;
483  blockingRestartWindowSize_ = input.readInt32();
484  break;
485  }
486  case 529: {
487  bitField1_ |= 0x00000010;
488  blockingRestartMultiplier_ = input.readDouble();
489  break;
490  }
491  case 537: {
492  bitField1_ |= 0x00000100;
493  maxDeterministicTime_ = input.readDouble();
494  break;
495  }
496  case 544: {
497  bitField1_ |= 0x00000020;
498  numConflictsBeforeStrategyChanges_ = input.readInt32();
499  break;
500  }
501  case 553: {
502  bitField1_ |= 0x00000040;
503  strategyChangeIncreaseRatio_ = input.readDouble();
504  break;
505  }
506  case 562: {
507  com.google.protobuf.ByteString bs = input.readBytes();
508  bitField0_ |= 0x20000000;
509  defaultRestartAlgorithms_ = bs;
510  break;
511  }
512  case 569: {
513  bitField1_ |= 0x00000002;
514  restartLbdAverageRatio_ = input.readDouble();
515  break;
516  }
517  case 576: {
518  bitField1_ |= 0x20000000;
519  presolveUseBva_ = input.readBool();
520  break;
521  }
522  case 584: {
523  bitField1_ |= 0x40000000;
524  presolveBvaThreshold_ = input.readInt32();
525  break;
526  }
527  case 592: {
528  bitField2_ |= 0x00800000;
529  usePrecedencesInDisjunctiveConstraint_ = input.readBool();
530  break;
531  }
532  case 600: {
533  bitField0_ |= 0x00000080;
534  useErwaHeuristic_ = input.readBool();
535  break;
536  }
537  case 609: {
538  bitField0_ |= 0x00000100;
539  initialVariablesActivity_ = input.readDouble();
540  break;
541  }
542  case 616: {
543  bitField0_ |= 0x00000200;
544  alsoBumpVariablesInConflictReasons_ = input.readBool();
545  break;
546  }
547  case 624: {
548  bitField2_ |= 0x01000000;
549  useOverloadCheckerInCumulativeConstraint_ = input.readBool();
550  break;
551  }
552  case 632: {
553  bitField2_ |= 0x02000000;
554  useTimetableEdgeFindingInCumulativeConstraint_ = input.readBool();
555  break;
556  }
557  case 640: {
558  bitField2_ |= 0x04000000;
559  useDisjunctiveConstraintInCumulativeConstraint_ = input.readBool();
560  break;
561  }
562  case 656: {
563  int rawValue = input.readEnum();
564  @SuppressWarnings("deprecation")
565  com.google.ortools.sat.SatParameters.SearchBranching value = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(rawValue);
566  if (value == null) {
567  unknownFields.mergeVarintField(82, rawValue);
568  } else {
569  bitField3_ |= 0x00008000;
570  searchBranching_ = rawValue;
571  }
572  break;
573  }
574  case 664: {
575  bitField3_ |= 0x04000000;
576  optimizeWithCore_ = input.readBool();
577  break;
578  }
579  case 672: {
580  bitField2_ |= 0x00040000;
581  findMultipleCores_ = input.readBool();
582  break;
583  }
584  case 680: {
585  bitField3_ |= 0x10000000;
586  optimizeWithMaxHs_ = input.readBool();
587  break;
588  }
589  case 688: {
590  bitField2_ |= 0x00000001;
591  cpModelPresolve_ = input.readBool();
592  break;
593  }
594  case 696: {
595  bitField3_ |= 0x20000000;
596  enumerateAllSolutions_ = input.readBool();
597  break;
598  }
599  case 704: {
600  bitField1_ |= 0x10000000;
601  presolveBlockedClause_ = input.readBool();
602  break;
603  }
604  case 712: {
605  bitField2_ |= 0x00080000;
606  coverOptimization_ = input.readBool();
607  break;
608  }
609  case 720: {
610  bitField2_ |= 0x08000000;
611  linearizationLevel_ = input.readInt32();
612  break;
613  }
614  case 728: {
615  bitField2_ |= 0x20000000;
616  maxNumCuts_ = input.readInt32();
617  break;
618  }
619  case 736: {
620  bitField2_ |= 0x40000000;
621  onlyAddCutsAtLevelZero_ = input.readBool();
622  break;
623  }
624  case 744: {
625  bitField2_ |= 0x00000010;
626  cpModelUseSatPresolve_ = input.readBool();
627  break;
628  }
629  case 752: {
630  bitField3_ |= 0x00040000;
631  exploitIntegerLpSolution_ = input.readBool();
632  break;
633  }
634  case 760: {
635  bitField4_ |= 0x00000002;
636  autoDetectGreaterThanAtLeastOneOf_ = input.readBool();
637  break;
638  }
639  case 768: {
640  bitField0_ |= 0x00100000;
641  minimizeWithPropagationRestartPeriod_ = input.readInt32();
642  break;
643  }
644  case 776: {
645  bitField0_ |= 0x00200000;
646  minimizeWithPropagationNumDecisions_ = input.readInt32();
647  break;
648  }
649  case 784: {
650  bitField4_ |= 0x00000004;
651  stopAfterFirstSolution_ = input.readBool();
652  break;
653  }
654  case 792: {
655  bitField3_ |= 0x08000000;
656  binarySearchNumConflicts_ = input.readInt32();
657  break;
658  }
659  case 800: {
660  bitField4_ |= 0x00000010;
661  numSearchWorkers_ = input.readInt32();
662  break;
663  }
664  case 808: {
665  bitField4_ |= 0x00000400;
666  useLnsOnly_ = input.readBool();
667  break;
668  }
669  case 824: {
670  bitField4_ |= 0x00040000;
671  randomizeSearch_ = input.readBool();
672  break;
673  }
674  case 832: {
675  bitField4_ |= 0x00080000;
676  searchRandomizationTolerance_ = input.readInt64();
677  break;
678  }
679  case 840: {
680  bitField4_ |= 0x00000800;
681  lnsFocusOnDecisionVariables_ = input.readBool();
682  break;
683  }
684  case 848: {
685  bitField4_ |= 0x00000001;
686  instantiateAllVariables_ = input.readBool();
687  break;
688  }
689  case 856: {
690  bitField2_ |= 0x10000000;
691  booleanEncodingLevel_ = input.readInt32();
692  break;
693  }
694  case 864: {
695  bitField4_ |= 0x00100000;
696  useOptionalVariables_ = input.readBool();
697  break;
698  }
699  case 872: {
700  bitField4_ |= 0x00200000;
701  useExactLpReason_ = input.readBool();
702  break;
703  }
704  case 880: {
705  bitField2_ |= 0x00000008;
706  cpModelProbingLevel_ = input.readInt32();
707  break;
708  }
709  case 888: {
710  bitField2_ |= 0x80000000;
711  addKnapsackCuts_ = input.readBool();
712  break;
713  }
714  case 896: {
715  bitField3_ |= 0x00000080;
716  addLpConstraintsLazily_ = input.readBool();
717  break;
718  }
719  case 904: {
720  bitField4_ |= 0x00000100;
721  shareObjectiveBounds_ = input.readBool();
722  break;
723  }
724  case 912: {
725  bitField4_ |= 0x00000200;
726  shareLevelZeroBounds_ = input.readBool();
727  break;
728  }
729  case 921: {
730  bitField3_ |= 0x00000100;
731  minOrthogonalityForLpConstraints_ = input.readDouble();
732  break;
733  }
734  case 928: {
735  bitField3_ |= 0x00080000;
736  exploitAllLpSolution_ = input.readBool();
737  break;
738  }
739  case 936: {
740  bitField3_ |= 0x00000001;
741  addCgCuts_ = input.readBool();
742  break;
743  }
744  case 952: {
745  bitField3_ |= 0x00000040;
746  maxIntegerRoundingScaling_ = input.readInt32();
747  break;
748  }
749  case 960: {
750  bitField3_ |= 0x00000002;
751  addMirCuts_ = input.readBool();
752  break;
753  }
754  case 968: {
755  bitField3_ |= 0x00000400;
756  maxConsecutiveInactiveCount_ = input.readInt32();
757  break;
758  }
759  case 976: {
760  bitField3_ |= 0x00004000;
761  newConstraintsBatchSize_ = input.readInt32();
762  break;
763  }
764  case 984: {
765  bitField3_ |= 0x02000000;
766  pseudoCostReliabilityThreshold_ = input.readInt64();
767  break;
768  }
769  case 993: {
770  bitField4_ |= 0x20000000;
771  mipMaxBound_ = input.readDouble();
772  break;
773  }
774  case 1001: {
775  bitField4_ |= 0x40000000;
776  mipVarScaling_ = input.readDouble();
777  break;
778  }
779  case 1009: {
780  bitField5_ |= 0x00000001;
781  mipWantedPrecision_ = input.readDouble();
782  break;
783  }
784  case 1016: {
785  bitField5_ |= 0x00000002;
786  mipMaxActivityExponent_ = input.readInt32();
787  break;
788  }
789  case 1025: {
790  bitField5_ |= 0x00000004;
791  mipCheckPrecision_ = input.readDouble();
792  break;
793  }
794  case 1032: {
795  bitField4_ |= 0x00002000;
796  useRinsLns_ = input.readBool();
797  break;
798  }
799  case 1040: {
800  bitField3_ |= 0x00100000;
801  exploitBestSolution_ = input.readBool();
802  break;
803  }
804  case 1048: {
805  bitField3_ |= 0x00400000;
806  exploitObjective_ = input.readBool();
807  break;
808  }
809  case 1056: {
810  bitField3_ |= 0x80000000;
811  fillTightenedDomainsInResponse_ = input.readBool();
812  break;
813  }
814  case 1064: {
815  bitField4_ |= 0x00800000;
816  useCombinedNoOverlap_ = input.readBool();
817  break;
818  }
819  case 1072: {
820  bitField4_ |= 0x00000040;
821  interleaveBatchSize_ = input.readInt32();
822  break;
823  }
824  case 1080: {
825  bitField4_ |= 0x01000000;
826  catchSigintSignal_ = input.readBool();
827  break;
828  }
829  case 1088: {
830  bitField4_ |= 0x00000020;
831  interleaveSearch_ = input.readBool();
832  break;
833  }
834  case 1096: {
835  bitField4_ |= 0x00020000;
836  diversifyLnsParams_ = input.readBool();
837  break;
838  }
839  case 1104: {
840  bitField1_ |= 0x80000000;
841  maxPresolveIterations_ = input.readInt32();
842  break;
843  }
844  case 1112: {
845  bitField4_ |= 0x00400000;
846  useBranchingInLp_ = input.readBool();
847  break;
848  }
849  case 1120: {
850  bitField2_ |= 0x00000040;
851  expandElementConstraints_ = input.readBool();
852  break;
853  }
854  case 1128: {
855  bitField4_ |= 0x00000080;
856  reduceMemoryUsageInInterleaveMode_ = input.readBool();
857  break;
858  }
859  case 1136: {
860  bitField3_ |= 0x00800000;
861  probingPeriodAtRoot_ = input.readInt64();
862  break;
863  }
864  case 1144: {
865  bitField2_ |= 0x00000080;
866  expandAutomatonConstraints_ = input.readBool();
867  break;
868  }
869  case 1152: {
870  bitField4_ |= 0x02000000;
871  useImpliedBounds_ = input.readBool();
872  break;
873  }
874  case 1161: {
875  bitField2_ |= 0x00001000;
876  mergeNoOverlapWorkLimit_ = input.readDouble();
877  break;
878  }
879  case 1169: {
880  bitField2_ |= 0x00002000;
881  mergeAtMostOneWorkLimit_ = input.readDouble();
882  break;
883  }
884  case 1176: {
885  bitField2_ |= 0x00004000;
886  presolveSubstitutionLevel_ = input.readInt32();
887  break;
888  }
889  case 1184: {
890  bitField3_ |= 0x00000010;
891  maxAllDiffCutSize_ = input.readInt32();
892  break;
893  }
894  case 1192: {
895  bitField4_ |= 0x00000008;
896  stopAfterPresolve_ = input.readBool();
897  break;
898  }
899  case 1200: {
900  bitField4_ |= 0x00010000;
901  useRelaxationLns_ = input.readBool();
902  break;
903  }
904  case 1208: {
905  bitField2_ |= 0x00000004;
906  cpModelMaxNumPresolveOperations_ = input.readInt32();
907  break;
908  }
909  case 1216: {
910  bitField3_ |= 0x00000020;
911  addLinMaxCuts_ = input.readBool();
912  break;
913  }
914  case 1224: {
915  bitField3_ |= 0x00010000;
916  hintConflictLimit_ = input.readInt32();
917  break;
918  }
919  case 1232: {
920  bitField3_ |= 0x00000200;
921  maxCutRoundsAtLevelZero_ = input.readInt32();
922  break;
923  }
924  case 1241: {
925  bitField3_ |= 0x00000800;
926  cutMaxActiveCountValue_ = input.readDouble();
927  break;
928  }
929  case 1249: {
930  bitField3_ |= 0x00001000;
931  cutActiveCountDecay_ = input.readDouble();
932  break;
933  }
934  case 1256: {
935  bitField3_ |= 0x00002000;
936  cutCleanupTarget_ = input.readInt32();
937  break;
938  }
939  case 1264: {
940  bitField2_ |= 0x00000100;
941  expandTableConstraints_ = input.readBool();
942  break;
943  }
944  case 1273: {
945  bitField1_ |= 0x00000800;
946  absoluteGapLimit_ = input.readDouble();
947  break;
948  }
949  case 1281: {
950  bitField1_ |= 0x00001000;
951  relativeGapLimit_ = input.readDouble();
952  break;
953  }
954  case 1288: {
955  bitField3_ |= 0x00200000;
956  exploitRelaxationSolution_ = input.readBool();
957  break;
958  }
959  case 1296: {
960  bitField2_ |= 0x00000002;
961  cpModelPostsolveWithFullSolver_ = input.readBool();
962  break;
963  }
964  case 1304: {
965  bitField2_ |= 0x00000020;
966  useSatInprocessing_ = input.readBool();
967  break;
968  }
969  case 1312: {
970  bitField4_ |= 0x00004000;
971  useFeasibilityPump_ = input.readBool();
972  break;
973  }
974  case 1320: {
975  int rawValue = input.readEnum();
976  @SuppressWarnings("deprecation")
977  com.google.ortools.sat.SatParameters.FPRoundingMethod value = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(rawValue);
978  if (value == null) {
979  unknownFields.mergeVarintField(165, rawValue);
980  } else {
981  bitField4_ |= 0x00008000;
982  fpRounding_ = rawValue;
983  }
984  break;
985  }
986  case 1328: {
987  bitField4_ |= 0x80000000;
988  mipAutomaticallyScaleVariables_ = input.readBool();
989  break;
990  }
991  case 1336: {
992  bitField3_ |= 0x00020000;
993  repairHint_ = input.readBool();
994  break;
995  }
996  case 1344: {
997  bitField0_ |= 0x00000010;
998  polarityRephaseIncrement_ = input.readInt32();
999  break;
1000  }
1001  case 1352: {
1002  bitField3_ |= 0x00000004;
1003  addZeroHalfCuts_ = input.readBool();
1004  break;
1005  }
1006  case 1360: {
1007  bitField2_ |= 0x00000200;
1008  expandAlldiffConstraints_ = input.readBool();
1009  break;
1010  }
1011  case 1370: {
1012  com.google.protobuf.ByteString bs = input.readBytes();
1013  bitField0_ |= 0x00000001;
1014  name_ = bs;
1015  break;
1016  }
1017  case 1376: {
1018  bitField3_ |= 0x00000008;
1019  addCliqueCuts_ = input.readBool();
1020  break;
1021  }
1022  case 1384: {
1023  bitField3_ |= 0x40000000;
1024  keepAllFeasibleSolutionsInPresolve_ = input.readBool();
1025  break;
1026  }
1027  case 1392: {
1028  bitField2_ |= 0x00008000;
1029  presolveExtractIntegerEnforcement_ = input.readBool();
1030  break;
1031  }
1032  case 1400: {
1033  bitField4_ |= 0x04000000;
1034  polishLpSolution_ = input.readBool();
1035  break;
1036  }
1037  case 1408: {
1038  bitField3_ |= 0x01000000;
1039  useProbingSearch_ = input.readBool();
1040  break;
1041  }
1042  case 1416: {
1043  bitField4_ |= 0x08000000;
1044  convertIntervals_ = input.readBool();
1045  break;
1046  }
1047  case 1424: {
1048  bitField1_ |= 0x00008000;
1049  permuteVariableRandomly_ = input.readBool();
1050  break;
1051  }
1052  case 1432: {
1053  bitField1_ |= 0x00010000;
1054  permutePresolveConstraintOrder_ = input.readBool();
1055  break;
1056  }
1057  case 1440: {
1058  bitField1_ |= 0x00020000;
1059  useAbslRandom_ = input.readBool();
1060  break;
1061  }
1062  case 1448: {
1063  bitField2_ |= 0x00000800;
1064  disableConstraintExpansion_ = input.readBool();
1065  break;
1066  }
1067  case 1456: {
1068  bitField2_ |= 0x00000400;
1069  expandReservoirConstraints_ = input.readBool();
1070  break;
1071  }
1072  case 1464: {
1073  bitField4_ |= 0x10000000;
1074  symmetryLevel_ = input.readInt32();
1075  break;
1076  }
1077  case 1472: {
1078  bitField4_ |= 0x00001000;
1079  lnsExpandIntervalsInConstraintGraph_ = input.readBool();
1080  break;
1081  }
1082  case 1482: {
1083  com.google.protobuf.ByteString bs = input.readBytes();
1084  bitField1_ |= 0x00080000;
1085  logPrefix_ = bs;
1086  break;
1087  }
1088  case 1488: {
1089  bitField1_ |= 0x00100000;
1090  logToStdout_ = input.readBool();
1091  break;
1092  }
1093  case 1496: {
1094  bitField1_ |= 0x00200000;
1095  logToResponse_ = input.readBool();
1096  break;
1097  }
1098  default: {
1099  if (!parseUnknownField(
1100  input, unknownFields, extensionRegistry, tag)) {
1101  done = true;
1102  }
1103  break;
1104  }
1105  }
1106  }
1107  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1108  throw e.setUnfinishedMessage(this);
1109  } catch (java.io.IOException e) {
1110  throw new com.google.protobuf.InvalidProtocolBufferException(
1111  e).setUnfinishedMessage(this);
1112  } finally {
1113  if (((mutable_bitField0_ & 0x20000000) != 0)) {
1114  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
1115  }
1116  this.unknownFields = unknownFields.build();
1117  makeExtensionsImmutable();
1118  }
1119  }
1120  public static final com.google.protobuf.Descriptors.Descriptor
1122  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
1123  }
1124 
1125  @java.lang.Override
1126  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1128  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
1129  .ensureFieldAccessorsInitialized(
1130  com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
1131  }
1132 
1141  public enum VariableOrder
1142  implements com.google.protobuf.ProtocolMessageEnum {
1159  ;
1160 
1168  public static final int IN_ORDER_VALUE = 0;
1172  public static final int IN_REVERSE_ORDER_VALUE = 1;
1176  public static final int IN_RANDOM_ORDER_VALUE = 2;
1177 
1178 
1179  public final int getNumber() {
1180  return value;
1181  }
1182 
1188  @java.lang.Deprecated
1189  public static VariableOrder valueOf(int value) {
1190  return forNumber(value);
1191  }
1192 
1197  public static VariableOrder forNumber(int value) {
1198  switch (value) {
1199  case 0: return IN_ORDER;
1200  case 1: return IN_REVERSE_ORDER;
1201  case 2: return IN_RANDOM_ORDER;
1202  default: return null;
1203  }
1204  }
1205 
1206  public static com.google.protobuf.Internal.EnumLiteMap<VariableOrder>
1208  return internalValueMap;
1209  }
1210  private static final com.google.protobuf.Internal.EnumLiteMap<
1211  VariableOrder> internalValueMap =
1212  new com.google.protobuf.Internal.EnumLiteMap<VariableOrder>() {
1213  public VariableOrder findValueByNumber(int number) {
1214  return VariableOrder.forNumber(number);
1215  }
1216  };
1217 
1218  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1220  return getDescriptor().getValues().get(ordinal());
1221  }
1222  public final com.google.protobuf.Descriptors.EnumDescriptor
1224  return getDescriptor();
1225  }
1226  public static final com.google.protobuf.Descriptors.EnumDescriptor
1228  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
1229  }
1230 
1231  private static final VariableOrder[] VALUES = values();
1232 
1233  public static VariableOrder valueOf(
1234  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1235  if (desc.getType() != getDescriptor()) {
1236  throw new java.lang.IllegalArgumentException(
1237  "EnumValueDescriptor is not for this type.");
1238  }
1239  return VALUES[desc.getIndex()];
1240  }
1241 
1242  private final int value;
1243 
1244  private VariableOrder(int value) {
1245  this.value = value;
1246  }
1247 
1248  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.VariableOrder)
1249  }
1250 
1262  public enum Polarity
1263  implements com.google.protobuf.ProtocolMessageEnum {
1295  ;
1296 
1300  public static final int POLARITY_TRUE_VALUE = 0;
1304  public static final int POLARITY_FALSE_VALUE = 1;
1308  public static final int POLARITY_RANDOM_VALUE = 2;
1319  public static final int POLARITY_WEIGHTED_SIGN_VALUE = 3;
1327  public static final int POLARITY_REVERSE_WEIGHTED_SIGN_VALUE = 4;
1328 
1329 
1330  public final int getNumber() {
1331  return value;
1332  }
1333 
1339  @java.lang.Deprecated
1340  public static Polarity valueOf(int value) {
1341  return forNumber(value);
1342  }
1343 
1348  public static Polarity forNumber(int value) {
1349  switch (value) {
1350  case 0: return POLARITY_TRUE;
1351  case 1: return POLARITY_FALSE;
1352  case 2: return POLARITY_RANDOM;
1353  case 3: return POLARITY_WEIGHTED_SIGN;
1354  case 4: return POLARITY_REVERSE_WEIGHTED_SIGN;
1355  default: return null;
1356  }
1357  }
1358 
1359  public static com.google.protobuf.Internal.EnumLiteMap<Polarity>
1361  return internalValueMap;
1362  }
1363  private static final com.google.protobuf.Internal.EnumLiteMap<
1364  Polarity> internalValueMap =
1365  new com.google.protobuf.Internal.EnumLiteMap<Polarity>() {
1366  public Polarity findValueByNumber(int number) {
1367  return Polarity.forNumber(number);
1368  }
1369  };
1370 
1371  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1373  return getDescriptor().getValues().get(ordinal());
1374  }
1375  public final com.google.protobuf.Descriptors.EnumDescriptor
1377  return getDescriptor();
1378  }
1379  public static final com.google.protobuf.Descriptors.EnumDescriptor
1381  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
1382  }
1383 
1384  private static final Polarity[] VALUES = values();
1385 
1386  public static Polarity valueOf(
1387  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1388  if (desc.getType() != getDescriptor()) {
1389  throw new java.lang.IllegalArgumentException(
1390  "EnumValueDescriptor is not for this type.");
1391  }
1392  return VALUES[desc.getIndex()];
1393  }
1394 
1395  private final int value;
1396 
1397  private Polarity(int value) {
1398  this.value = value;
1399  }
1400 
1401  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.Polarity)
1402  }
1403 
1412  implements com.google.protobuf.ProtocolMessageEnum {
1416  NONE(0),
1429  ;
1430 
1434  public static final int NONE_VALUE = 0;
1438  public static final int SIMPLE_VALUE = 1;
1442  public static final int RECURSIVE_VALUE = 2;
1446  public static final int EXPERIMENTAL_VALUE = 3;
1447 
1448 
1449  public final int getNumber() {
1450  return value;
1451  }
1452 
1458  @java.lang.Deprecated
1459  public static ConflictMinimizationAlgorithm valueOf(int value) {
1460  return forNumber(value);
1461  }
1462 
1467  public static ConflictMinimizationAlgorithm forNumber(int value) {
1468  switch (value) {
1469  case 0: return NONE;
1470  case 1: return SIMPLE;
1471  case 2: return RECURSIVE;
1472  case 3: return EXPERIMENTAL;
1473  default: return null;
1474  }
1475  }
1476 
1477  public static com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>
1479  return internalValueMap;
1480  }
1481  private static final com.google.protobuf.Internal.EnumLiteMap<
1482  ConflictMinimizationAlgorithm> internalValueMap =
1483  new com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>() {
1484  public ConflictMinimizationAlgorithm findValueByNumber(int number) {
1486  }
1487  };
1488 
1489  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1491  return getDescriptor().getValues().get(ordinal());
1492  }
1493  public final com.google.protobuf.Descriptors.EnumDescriptor
1495  return getDescriptor();
1496  }
1497  public static final com.google.protobuf.Descriptors.EnumDescriptor
1499  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
1500  }
1501 
1502  private static final ConflictMinimizationAlgorithm[] VALUES = values();
1503 
1505  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1506  if (desc.getType() != getDescriptor()) {
1507  throw new java.lang.IllegalArgumentException(
1508  "EnumValueDescriptor is not for this type.");
1509  }
1510  return VALUES[desc.getIndex()];
1511  }
1512 
1513  private final int value;
1514 
1515  private ConflictMinimizationAlgorithm(int value) {
1516  this.value = value;
1517  }
1518 
1519  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ConflictMinimizationAlgorithm)
1520  }
1521 
1531  implements com.google.protobuf.ProtocolMessageEnum {
1552  ;
1553 
1557  public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
1561  public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
1565  public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
1569  public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
1573  public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
1574 
1575 
1576  public final int getNumber() {
1577  return value;
1578  }
1579 
1585  @java.lang.Deprecated
1586  public static BinaryMinizationAlgorithm valueOf(int value) {
1587  return forNumber(value);
1588  }
1589 
1594  public static BinaryMinizationAlgorithm forNumber(int value) {
1595  switch (value) {
1596  case 0: return NO_BINARY_MINIMIZATION;
1597  case 1: return BINARY_MINIMIZATION_FIRST;
1598  case 4: return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
1599  case 2: return BINARY_MINIMIZATION_WITH_REACHABILITY;
1600  case 3: return EXPERIMENTAL_BINARY_MINIMIZATION;
1601  default: return null;
1602  }
1603  }
1604 
1605  public static com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>
1607  return internalValueMap;
1608  }
1609  private static final com.google.protobuf.Internal.EnumLiteMap<
1610  BinaryMinizationAlgorithm> internalValueMap =
1611  new com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>() {
1612  public BinaryMinizationAlgorithm findValueByNumber(int number) {
1613  return BinaryMinizationAlgorithm.forNumber(number);
1614  }
1615  };
1616 
1617  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1619  return getDescriptor().getValues().get(ordinal());
1620  }
1621  public final com.google.protobuf.Descriptors.EnumDescriptor
1623  return getDescriptor();
1624  }
1625  public static final com.google.protobuf.Descriptors.EnumDescriptor
1627  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
1628  }
1629 
1630  private static final BinaryMinizationAlgorithm[] VALUES = values();
1631 
1633  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1634  if (desc.getType() != getDescriptor()) {
1635  throw new java.lang.IllegalArgumentException(
1636  "EnumValueDescriptor is not for this type.");
1637  }
1638  return VALUES[desc.getIndex()];
1639  }
1640 
1641  private final int value;
1642 
1643  private BinaryMinizationAlgorithm(int value) {
1644  this.value = value;
1645  }
1646 
1647  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.BinaryMinizationAlgorithm)
1648  }
1649 
1659  public enum ClauseProtection
1660  implements com.google.protobuf.ProtocolMessageEnum {
1685  ;
1686 
1694  public static final int PROTECTION_NONE_VALUE = 0;
1702  public static final int PROTECTION_ALWAYS_VALUE = 1;
1710  public static final int PROTECTION_LBD_VALUE = 2;
1711 
1712 
1713  public final int getNumber() {
1714  return value;
1715  }
1716 
1722  @java.lang.Deprecated
1723  public static ClauseProtection valueOf(int value) {
1724  return forNumber(value);
1725  }
1726 
1731  public static ClauseProtection forNumber(int value) {
1732  switch (value) {
1733  case 0: return PROTECTION_NONE;
1734  case 1: return PROTECTION_ALWAYS;
1735  case 2: return PROTECTION_LBD;
1736  default: return null;
1737  }
1738  }
1739 
1740  public static com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>
1742  return internalValueMap;
1743  }
1744  private static final com.google.protobuf.Internal.EnumLiteMap<
1745  ClauseProtection> internalValueMap =
1746  new com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>() {
1747  public ClauseProtection findValueByNumber(int number) {
1748  return ClauseProtection.forNumber(number);
1749  }
1750  };
1751 
1752  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1754  return getDescriptor().getValues().get(ordinal());
1755  }
1756  public final com.google.protobuf.Descriptors.EnumDescriptor
1758  return getDescriptor();
1759  }
1760  public static final com.google.protobuf.Descriptors.EnumDescriptor
1762  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
1763  }
1764 
1765  private static final ClauseProtection[] VALUES = values();
1766 
1767  public static ClauseProtection valueOf(
1768  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1769  if (desc.getType() != getDescriptor()) {
1770  throw new java.lang.IllegalArgumentException(
1771  "EnumValueDescriptor is not for this type.");
1772  }
1773  return VALUES[desc.getIndex()];
1774  }
1775 
1776  private final int value;
1777 
1778  private ClauseProtection(int value) {
1779  this.value = value;
1780  }
1781 
1782  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseProtection)
1783  }
1784 
1793  public enum ClauseOrdering
1794  implements com.google.protobuf.ProtocolMessageEnum {
1811  ;
1812 
1820  public static final int CLAUSE_ACTIVITY_VALUE = 0;
1828  public static final int CLAUSE_LBD_VALUE = 1;
1829 
1830 
1831  public final int getNumber() {
1832  return value;
1833  }
1834 
1840  @java.lang.Deprecated
1841  public static ClauseOrdering valueOf(int value) {
1842  return forNumber(value);
1843  }
1844 
1849  public static ClauseOrdering forNumber(int value) {
1850  switch (value) {
1851  case 0: return CLAUSE_ACTIVITY;
1852  case 1: return CLAUSE_LBD;
1853  default: return null;
1854  }
1855  }
1856 
1857  public static com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>
1859  return internalValueMap;
1860  }
1861  private static final com.google.protobuf.Internal.EnumLiteMap<
1862  ClauseOrdering> internalValueMap =
1863  new com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>() {
1864  public ClauseOrdering findValueByNumber(int number) {
1865  return ClauseOrdering.forNumber(number);
1866  }
1867  };
1868 
1869  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1871  return getDescriptor().getValues().get(ordinal());
1872  }
1873  public final com.google.protobuf.Descriptors.EnumDescriptor
1875  return getDescriptor();
1876  }
1877  public static final com.google.protobuf.Descriptors.EnumDescriptor
1879  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
1880  }
1881 
1882  private static final ClauseOrdering[] VALUES = values();
1883 
1884  public static ClauseOrdering valueOf(
1885  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1886  if (desc.getType() != getDescriptor()) {
1887  throw new java.lang.IllegalArgumentException(
1888  "EnumValueDescriptor is not for this type.");
1889  }
1890  return VALUES[desc.getIndex()];
1891  }
1892 
1893  private final int value;
1894 
1895  private ClauseOrdering(int value) {
1896  this.value = value;
1897  }
1898 
1899  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseOrdering)
1900  }
1901 
1913  public enum RestartAlgorithm
1914  implements com.google.protobuf.ProtocolMessageEnum {
1951  ;
1952 
1956  public static final int NO_RESTART_VALUE = 0;
1964  public static final int LUBY_RESTART_VALUE = 1;
1972  public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
1980  public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
1988  public static final int FIXED_RESTART_VALUE = 4;
1989 
1990 
1991  public final int getNumber() {
1992  return value;
1993  }
1994 
2000  @java.lang.Deprecated
2001  public static RestartAlgorithm valueOf(int value) {
2002  return forNumber(value);
2003  }
2004 
2009  public static RestartAlgorithm forNumber(int value) {
2010  switch (value) {
2011  case 0: return NO_RESTART;
2012  case 1: return LUBY_RESTART;
2013  case 2: return DL_MOVING_AVERAGE_RESTART;
2014  case 3: return LBD_MOVING_AVERAGE_RESTART;
2015  case 4: return FIXED_RESTART;
2016  default: return null;
2017  }
2018  }
2019 
2020  public static com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>
2022  return internalValueMap;
2023  }
2024  private static final com.google.protobuf.Internal.EnumLiteMap<
2025  RestartAlgorithm> internalValueMap =
2026  new com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>() {
2027  public RestartAlgorithm findValueByNumber(int number) {
2028  return RestartAlgorithm.forNumber(number);
2029  }
2030  };
2031 
2032  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2034  return getDescriptor().getValues().get(ordinal());
2035  }
2036  public final com.google.protobuf.Descriptors.EnumDescriptor
2038  return getDescriptor();
2039  }
2040  public static final com.google.protobuf.Descriptors.EnumDescriptor
2042  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
2043  }
2044 
2045  private static final RestartAlgorithm[] VALUES = values();
2046 
2047  public static RestartAlgorithm valueOf(
2048  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2049  if (desc.getType() != getDescriptor()) {
2050  throw new java.lang.IllegalArgumentException(
2051  "EnumValueDescriptor is not for this type.");
2052  }
2053  return VALUES[desc.getIndex()];
2054  }
2055 
2056  private final int value;
2057 
2058  private RestartAlgorithm(int value) {
2059  this.value = value;
2060  }
2061 
2062  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.RestartAlgorithm)
2063  }
2064 
2073  implements com.google.protobuf.ProtocolMessageEnum {
2086  ;
2087 
2091  public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
2095  public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
2099  public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
2100 
2101 
2102  public final int getNumber() {
2103  return value;
2104  }
2105 
2111  @java.lang.Deprecated
2112  public static MaxSatAssumptionOrder valueOf(int value) {
2113  return forNumber(value);
2114  }
2115 
2120  public static MaxSatAssumptionOrder forNumber(int value) {
2121  switch (value) {
2122  case 0: return DEFAULT_ASSUMPTION_ORDER;
2123  case 1: return ORDER_ASSUMPTION_BY_DEPTH;
2124  case 2: return ORDER_ASSUMPTION_BY_WEIGHT;
2125  default: return null;
2126  }
2127  }
2128 
2129  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>
2131  return internalValueMap;
2132  }
2133  private static final com.google.protobuf.Internal.EnumLiteMap<
2134  MaxSatAssumptionOrder> internalValueMap =
2135  new com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>() {
2136  public MaxSatAssumptionOrder findValueByNumber(int number) {
2137  return MaxSatAssumptionOrder.forNumber(number);
2138  }
2139  };
2140 
2141  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2143  return getDescriptor().getValues().get(ordinal());
2144  }
2145  public final com.google.protobuf.Descriptors.EnumDescriptor
2147  return getDescriptor();
2148  }
2149  public static final com.google.protobuf.Descriptors.EnumDescriptor
2151  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
2152  }
2153 
2154  private static final MaxSatAssumptionOrder[] VALUES = values();
2155 
2157  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2158  if (desc.getType() != getDescriptor()) {
2159  throw new java.lang.IllegalArgumentException(
2160  "EnumValueDescriptor is not for this type.");
2161  }
2162  return VALUES[desc.getIndex()];
2163  }
2164 
2165  private final int value;
2166 
2167  private MaxSatAssumptionOrder(int value) {
2168  this.value = value;
2169  }
2170 
2171  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatAssumptionOrder)
2172  }
2173 
2182  implements com.google.protobuf.ProtocolMessageEnum {
2211  ;
2212 
2220  public static final int STRATIFICATION_NONE_VALUE = 0;
2229  public static final int STRATIFICATION_DESCENT_VALUE = 1;
2240  public static final int STRATIFICATION_ASCENT_VALUE = 2;
2241 
2242 
2243  public final int getNumber() {
2244  return value;
2245  }
2246 
2252  @java.lang.Deprecated
2253  public static MaxSatStratificationAlgorithm valueOf(int value) {
2254  return forNumber(value);
2255  }
2256 
2261  public static MaxSatStratificationAlgorithm forNumber(int value) {
2262  switch (value) {
2263  case 0: return STRATIFICATION_NONE;
2264  case 1: return STRATIFICATION_DESCENT;
2265  case 2: return STRATIFICATION_ASCENT;
2266  default: return null;
2267  }
2268  }
2269 
2270  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>
2272  return internalValueMap;
2273  }
2274  private static final com.google.protobuf.Internal.EnumLiteMap<
2275  MaxSatStratificationAlgorithm> internalValueMap =
2276  new com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>() {
2277  public MaxSatStratificationAlgorithm findValueByNumber(int number) {
2279  }
2280  };
2281 
2282  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2284  return getDescriptor().getValues().get(ordinal());
2285  }
2286  public final com.google.protobuf.Descriptors.EnumDescriptor
2288  return getDescriptor();
2289  }
2290  public static final com.google.protobuf.Descriptors.EnumDescriptor
2292  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
2293  }
2294 
2295  private static final MaxSatStratificationAlgorithm[] VALUES = values();
2296 
2298  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2299  if (desc.getType() != getDescriptor()) {
2300  throw new java.lang.IllegalArgumentException(
2301  "EnumValueDescriptor is not for this type.");
2302  }
2303  return VALUES[desc.getIndex()];
2304  }
2305 
2306  private final int value;
2307 
2308  private MaxSatStratificationAlgorithm(int value) {
2309  this.value = value;
2310  }
2311 
2312  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatStratificationAlgorithm)
2313  }
2314 
2322  public enum SearchBranching
2323  implements com.google.protobuf.ProtocolMessageEnum {
2391  ;
2392 
2401  public static final int AUTOMATIC_SEARCH_VALUE = 0;
2411  public static final int FIXED_SEARCH_VALUE = 1;
2419  public static final int PORTFOLIO_SEARCH_VALUE = 2;
2429  public static final int LP_SEARCH_VALUE = 3;
2439  public static final int PSEUDO_COST_SEARCH_VALUE = 4;
2449  public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
2459  public static final int HINT_SEARCH_VALUE = 6;
2460 
2461 
2462  public final int getNumber() {
2463  return value;
2464  }
2465 
2471  @java.lang.Deprecated
2472  public static SearchBranching valueOf(int value) {
2473  return forNumber(value);
2474  }
2475 
2480  public static SearchBranching forNumber(int value) {
2481  switch (value) {
2482  case 0: return AUTOMATIC_SEARCH;
2483  case 1: return FIXED_SEARCH;
2484  case 2: return PORTFOLIO_SEARCH;
2485  case 3: return LP_SEARCH;
2486  case 4: return PSEUDO_COST_SEARCH;
2487  case 5: return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
2488  case 6: return HINT_SEARCH;
2489  default: return null;
2490  }
2491  }
2492 
2493  public static com.google.protobuf.Internal.EnumLiteMap<SearchBranching>
2495  return internalValueMap;
2496  }
2497  private static final com.google.protobuf.Internal.EnumLiteMap<
2498  SearchBranching> internalValueMap =
2499  new com.google.protobuf.Internal.EnumLiteMap<SearchBranching>() {
2500  public SearchBranching findValueByNumber(int number) {
2501  return SearchBranching.forNumber(number);
2502  }
2503  };
2504 
2505  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2507  return getDescriptor().getValues().get(ordinal());
2508  }
2509  public final com.google.protobuf.Descriptors.EnumDescriptor
2511  return getDescriptor();
2512  }
2513  public static final com.google.protobuf.Descriptors.EnumDescriptor
2515  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
2516  }
2517 
2518  private static final SearchBranching[] VALUES = values();
2519 
2520  public static SearchBranching valueOf(
2521  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2522  if (desc.getType() != getDescriptor()) {
2523  throw new java.lang.IllegalArgumentException(
2524  "EnumValueDescriptor is not for this type.");
2525  }
2526  return VALUES[desc.getIndex()];
2527  }
2528 
2529  private final int value;
2530 
2531  private SearchBranching(int value) {
2532  this.value = value;
2533  }
2534 
2535  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.SearchBranching)
2536  }
2537 
2545  public enum FPRoundingMethod
2546  implements com.google.protobuf.ProtocolMessageEnum {
2587  ;
2588 
2596  public static final int NEAREST_INTEGER_VALUE = 0;
2606  public static final int LOCK_BASED_VALUE = 1;
2615  public static final int ACTIVE_LOCK_BASED_VALUE = 3;
2628  public static final int PROPAGATION_ASSISTED_VALUE = 2;
2629 
2630 
2631  public final int getNumber() {
2632  return value;
2633  }
2634 
2640  @java.lang.Deprecated
2641  public static FPRoundingMethod valueOf(int value) {
2642  return forNumber(value);
2643  }
2644 
2649  public static FPRoundingMethod forNumber(int value) {
2650  switch (value) {
2651  case 0: return NEAREST_INTEGER;
2652  case 1: return LOCK_BASED;
2653  case 3: return ACTIVE_LOCK_BASED;
2654  case 2: return PROPAGATION_ASSISTED;
2655  default: return null;
2656  }
2657  }
2658 
2659  public static com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>
2661  return internalValueMap;
2662  }
2663  private static final com.google.protobuf.Internal.EnumLiteMap<
2664  FPRoundingMethod> internalValueMap =
2665  new com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>() {
2666  public FPRoundingMethod findValueByNumber(int number) {
2667  return FPRoundingMethod.forNumber(number);
2668  }
2669  };
2670 
2671  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2673  return getDescriptor().getValues().get(ordinal());
2674  }
2675  public final com.google.protobuf.Descriptors.EnumDescriptor
2677  return getDescriptor();
2678  }
2679  public static final com.google.protobuf.Descriptors.EnumDescriptor
2681  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(10);
2682  }
2683 
2684  private static final FPRoundingMethod[] VALUES = values();
2685 
2686  public static FPRoundingMethod valueOf(
2687  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2688  if (desc.getType() != getDescriptor()) {
2689  throw new java.lang.IllegalArgumentException(
2690  "EnumValueDescriptor is not for this type.");
2691  }
2692  return VALUES[desc.getIndex()];
2693  }
2694 
2695  private final int value;
2696 
2697  private FPRoundingMethod(int value) {
2698  this.value = value;
2699  }
2700 
2701  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.FPRoundingMethod)
2702  }
2703 
2704  private int bitField0_;
2705  private int bitField1_;
2706  private int bitField2_;
2707  private int bitField3_;
2708  private int bitField4_;
2709  private int bitField5_;
2710  public static final int NAME_FIELD_NUMBER = 171;
2711  private volatile java.lang.Object name_;
2721  @java.lang.Override
2722  public boolean hasName() {
2723  return ((bitField0_ & 0x00000001) != 0);
2724  }
2734  @java.lang.Override
2735  public java.lang.String getName() {
2736  java.lang.Object ref = name_;
2737  if (ref instanceof java.lang.String) {
2738  return (java.lang.String) ref;
2739  } else {
2740  com.google.protobuf.ByteString bs =
2741  (com.google.protobuf.ByteString) ref;
2742  java.lang.String s = bs.toStringUtf8();
2743  if (bs.isValidUtf8()) {
2744  name_ = s;
2745  }
2746  return s;
2747  }
2748  }
2758  @java.lang.Override
2759  public com.google.protobuf.ByteString
2761  java.lang.Object ref = name_;
2762  if (ref instanceof java.lang.String) {
2763  com.google.protobuf.ByteString b =
2764  com.google.protobuf.ByteString.copyFromUtf8(
2765  (java.lang.String) ref);
2766  name_ = b;
2767  return b;
2768  } else {
2769  return (com.google.protobuf.ByteString) ref;
2770  }
2771  }
2772 
2773  public static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER = 1;
2774  private int preferredVariableOrder_;
2779  @java.lang.Override public boolean hasPreferredVariableOrder() {
2780  return ((bitField0_ & 0x00000002) != 0);
2781  }
2786  @java.lang.Override public com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder() {
2787  @SuppressWarnings("deprecation")
2788  com.google.ortools.sat.SatParameters.VariableOrder result = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(preferredVariableOrder_);
2789  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
2790  }
2791 
2792  public static final int INITIAL_POLARITY_FIELD_NUMBER = 2;
2793  private int initialPolarity_;
2798  @java.lang.Override public boolean hasInitialPolarity() {
2799  return ((bitField0_ & 0x00000004) != 0);
2800  }
2805  @java.lang.Override public com.google.ortools.sat.SatParameters.Polarity getInitialPolarity() {
2806  @SuppressWarnings("deprecation")
2807  com.google.ortools.sat.SatParameters.Polarity result = com.google.ortools.sat.SatParameters.Polarity.valueOf(initialPolarity_);
2808  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
2809  }
2810 
2811  public static final int USE_PHASE_SAVING_FIELD_NUMBER = 44;
2812  private boolean usePhaseSaving_;
2829  @java.lang.Override
2830  public boolean hasUsePhaseSaving() {
2831  return ((bitField0_ & 0x00000008) != 0);
2832  }
2849  @java.lang.Override
2850  public boolean getUsePhaseSaving() {
2851  return usePhaseSaving_;
2852  }
2853 
2854  public static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER = 168;
2855  private int polarityRephaseIncrement_;
2866  @java.lang.Override
2867  public boolean hasPolarityRephaseIncrement() {
2868  return ((bitField0_ & 0x00000010) != 0);
2869  }
2880  @java.lang.Override
2882  return polarityRephaseIncrement_;
2883  }
2884 
2885  public static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER = 45;
2886  private double randomPolarityRatio_;
2899  @java.lang.Override
2900  public boolean hasRandomPolarityRatio() {
2901  return ((bitField0_ & 0x00000020) != 0);
2902  }
2915  @java.lang.Override
2916  public double getRandomPolarityRatio() {
2917  return randomPolarityRatio_;
2918  }
2919 
2920  public static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER = 32;
2921  private double randomBranchesRatio_;
2932  @java.lang.Override
2933  public boolean hasRandomBranchesRatio() {
2934  return ((bitField0_ & 0x00000040) != 0);
2935  }
2946  @java.lang.Override
2947  public double getRandomBranchesRatio() {
2948  return randomBranchesRatio_;
2949  }
2950 
2951  public static final int USE_ERWA_HEURISTIC_FIELD_NUMBER = 75;
2952  private boolean useErwaHeuristic_;
2963  @java.lang.Override
2964  public boolean hasUseErwaHeuristic() {
2965  return ((bitField0_ & 0x00000080) != 0);
2966  }
2977  @java.lang.Override
2978  public boolean getUseErwaHeuristic() {
2979  return useErwaHeuristic_;
2980  }
2981 
2982  public static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER = 76;
2983  private double initialVariablesActivity_;
2997  @java.lang.Override
2998  public boolean hasInitialVariablesActivity() {
2999  return ((bitField0_ & 0x00000100) != 0);
3000  }
3014  @java.lang.Override
3016  return initialVariablesActivity_;
3017  }
3018 
3020  private boolean alsoBumpVariablesInConflictReasons_;
3032  @java.lang.Override
3034  return ((bitField0_ & 0x00000200) != 0);
3035  }
3047  @java.lang.Override
3049  return alsoBumpVariablesInConflictReasons_;
3050  }
3051 
3052  public static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER = 4;
3053  private int minimizationAlgorithm_;
3058  @java.lang.Override public boolean hasMinimizationAlgorithm() {
3059  return ((bitField0_ & 0x00000400) != 0);
3060  }
3065  @java.lang.Override public com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm() {
3066  @SuppressWarnings("deprecation")
3067  com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm result = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(minimizationAlgorithm_);
3068  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
3069  }
3070 
3071  public static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER = 34;
3072  private int binaryMinimizationAlgorithm_;
3077  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
3078  return ((bitField0_ & 0x00000800) != 0);
3079  }
3084  @java.lang.Override public com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm() {
3085  @SuppressWarnings("deprecation")
3086  com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm result = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(binaryMinimizationAlgorithm_);
3087  return result == null ? com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.BINARY_MINIMIZATION_FIRST : result;
3088  }
3089 
3091  private boolean subsumptionDuringConflictAnalysis_;
3103  @java.lang.Override
3105  return ((bitField0_ & 0x00001000) != 0);
3106  }
3118  @java.lang.Override
3120  return subsumptionDuringConflictAnalysis_;
3121  }
3122 
3123  public static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER = 11;
3124  private int clauseCleanupPeriod_;
3133  @java.lang.Override
3134  public boolean hasClauseCleanupPeriod() {
3135  return ((bitField0_ & 0x00002000) != 0);
3136  }
3145  @java.lang.Override
3146  public int getClauseCleanupPeriod() {
3147  return clauseCleanupPeriod_;
3148  }
3149 
3150  public static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER = 13;
3151  private int clauseCleanupTarget_;
3161  @java.lang.Override
3162  public boolean hasClauseCleanupTarget() {
3163  return ((bitField0_ & 0x00004000) != 0);
3164  }
3174  @java.lang.Override
3175  public int getClauseCleanupTarget() {
3176  return clauseCleanupTarget_;
3177  }
3178 
3179  public static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER = 58;
3180  private int clauseCleanupProtection_;
3185  @java.lang.Override public boolean hasClauseCleanupProtection() {
3186  return ((bitField0_ & 0x00008000) != 0);
3187  }
3192  @java.lang.Override public com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection() {
3193  @SuppressWarnings("deprecation")
3194  com.google.ortools.sat.SatParameters.ClauseProtection result = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(clauseCleanupProtection_);
3195  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
3196  }
3197 
3198  public static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER = 59;
3199  private int clauseCleanupLbdBound_;
3209  @java.lang.Override
3210  public boolean hasClauseCleanupLbdBound() {
3211  return ((bitField0_ & 0x00010000) != 0);
3212  }
3222  @java.lang.Override
3224  return clauseCleanupLbdBound_;
3225  }
3226 
3227  public static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER = 60;
3228  private int clauseCleanupOrdering_;
3233  @java.lang.Override public boolean hasClauseCleanupOrdering() {
3234  return ((bitField0_ & 0x00020000) != 0);
3235  }
3240  @java.lang.Override public com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering() {
3241  @SuppressWarnings("deprecation")
3242  com.google.ortools.sat.SatParameters.ClauseOrdering result = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(clauseCleanupOrdering_);
3243  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
3244  }
3245 
3246  public static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER = 46;
3247  private int pbCleanupIncrement_;
3256  @java.lang.Override
3257  public boolean hasPbCleanupIncrement() {
3258  return ((bitField0_ & 0x00040000) != 0);
3259  }
3268  @java.lang.Override
3269  public int getPbCleanupIncrement() {
3270  return pbCleanupIncrement_;
3271  }
3272 
3273  public static final int PB_CLEANUP_RATIO_FIELD_NUMBER = 47;
3274  private double pbCleanupRatio_;
3279  @java.lang.Override
3280  public boolean hasPbCleanupRatio() {
3281  return ((bitField0_ & 0x00080000) != 0);
3282  }
3287  @java.lang.Override
3288  public double getPbCleanupRatio() {
3289  return pbCleanupRatio_;
3290  }
3291 
3293  private int minimizeWithPropagationRestartPeriod_;
3312  @java.lang.Override
3314  return ((bitField0_ & 0x00100000) != 0);
3315  }
3334  @java.lang.Override
3336  return minimizeWithPropagationRestartPeriod_;
3337  }
3338 
3340  private int minimizeWithPropagationNumDecisions_;
3345  @java.lang.Override
3347  return ((bitField0_ & 0x00200000) != 0);
3348  }
3353  @java.lang.Override
3355  return minimizeWithPropagationNumDecisions_;
3356  }
3357 
3358  public static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER = 15;
3359  private double variableActivityDecay_;
3374  @java.lang.Override
3375  public boolean hasVariableActivityDecay() {
3376  return ((bitField0_ & 0x00400000) != 0);
3377  }
3392  @java.lang.Override
3393  public double getVariableActivityDecay() {
3394  return variableActivityDecay_;
3395  }
3396 
3397  public static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER = 16;
3398  private double maxVariableActivityValue_;
3403  @java.lang.Override
3404  public boolean hasMaxVariableActivityValue() {
3405  return ((bitField0_ & 0x00800000) != 0);
3406  }
3411  @java.lang.Override
3413  return maxVariableActivityValue_;
3414  }
3415 
3416  public static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER = 22;
3417  private double glucoseMaxDecay_;
3429  @java.lang.Override
3430  public boolean hasGlucoseMaxDecay() {
3431  return ((bitField0_ & 0x01000000) != 0);
3432  }
3444  @java.lang.Override
3445  public double getGlucoseMaxDecay() {
3446  return glucoseMaxDecay_;
3447  }
3448 
3449  public static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER = 23;
3450  private double glucoseDecayIncrement_;
3455  @java.lang.Override
3456  public boolean hasGlucoseDecayIncrement() {
3457  return ((bitField0_ & 0x02000000) != 0);
3458  }
3463  @java.lang.Override
3464  public double getGlucoseDecayIncrement() {
3465  return glucoseDecayIncrement_;
3466  }
3467 
3468  public static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER = 24;
3469  private int glucoseDecayIncrementPeriod_;
3474  @java.lang.Override
3476  return ((bitField0_ & 0x04000000) != 0);
3477  }
3482  @java.lang.Override
3484  return glucoseDecayIncrementPeriod_;
3485  }
3486 
3487  public static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER = 17;
3488  private double clauseActivityDecay_;
3497  @java.lang.Override
3498  public boolean hasClauseActivityDecay() {
3499  return ((bitField0_ & 0x08000000) != 0);
3500  }
3509  @java.lang.Override
3510  public double getClauseActivityDecay() {
3511  return clauseActivityDecay_;
3512  }
3513 
3514  public static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER = 18;
3515  private double maxClauseActivityValue_;
3520  @java.lang.Override
3521  public boolean hasMaxClauseActivityValue() {
3522  return ((bitField0_ & 0x10000000) != 0);
3523  }
3528  @java.lang.Override
3529  public double getMaxClauseActivityValue() {
3530  return maxClauseActivityValue_;
3531  }
3532 
3533  public static final int RESTART_ALGORITHMS_FIELD_NUMBER = 61;
3534  private java.util.List<java.lang.Integer> restartAlgorithms_;
3535  private static final com.google.protobuf.Internal.ListAdapter.Converter<
3536  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm> restartAlgorithms_converter_ =
3537  new com.google.protobuf.Internal.ListAdapter.Converter<
3538  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>() {
3539  public com.google.ortools.sat.SatParameters.RestartAlgorithm convert(java.lang.Integer from) {
3540  @SuppressWarnings("deprecation")
3541  com.google.ortools.sat.SatParameters.RestartAlgorithm result = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(from);
3542  return result == null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
3543  }
3544  };
3560  @java.lang.Override
3561  public java.util.List<com.google.ortools.sat.SatParameters.RestartAlgorithm> getRestartAlgorithmsList() {
3562  return new com.google.protobuf.Internal.ListAdapter<
3563  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
3564  }
3580  @java.lang.Override
3582  return restartAlgorithms_.size();
3583  }
3600  @java.lang.Override
3601  public com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index) {
3602  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
3603  }
3604 
3605  public static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER = 70;
3606  private volatile java.lang.Object defaultRestartAlgorithms_;
3611  @java.lang.Override
3612  public boolean hasDefaultRestartAlgorithms() {
3613  return ((bitField0_ & 0x20000000) != 0);
3614  }
3619  @java.lang.Override
3620  public java.lang.String getDefaultRestartAlgorithms() {
3621  java.lang.Object ref = defaultRestartAlgorithms_;
3622  if (ref instanceof java.lang.String) {
3623  return (java.lang.String) ref;
3624  } else {
3625  com.google.protobuf.ByteString bs =
3626  (com.google.protobuf.ByteString) ref;
3627  java.lang.String s = bs.toStringUtf8();
3628  if (bs.isValidUtf8()) {
3629  defaultRestartAlgorithms_ = s;
3630  }
3631  return s;
3632  }
3633  }
3638  @java.lang.Override
3639  public com.google.protobuf.ByteString
3641  java.lang.Object ref = defaultRestartAlgorithms_;
3642  if (ref instanceof java.lang.String) {
3643  com.google.protobuf.ByteString b =
3644  com.google.protobuf.ByteString.copyFromUtf8(
3645  (java.lang.String) ref);
3646  defaultRestartAlgorithms_ = b;
3647  return b;
3648  } else {
3649  return (com.google.protobuf.ByteString) ref;
3650  }
3651  }
3652 
3653  public static final int RESTART_PERIOD_FIELD_NUMBER = 30;
3654  private int restartPeriod_;
3664  @java.lang.Override
3665  public boolean hasRestartPeriod() {
3666  return ((bitField0_ & 0x40000000) != 0);
3667  }
3677  @java.lang.Override
3678  public int getRestartPeriod() {
3679  return restartPeriod_;
3680  }
3681 
3682  public static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER = 62;
3683  private int restartRunningWindowSize_;
3692  @java.lang.Override
3693  public boolean hasRestartRunningWindowSize() {
3694  return ((bitField0_ & 0x80000000) != 0);
3695  }
3704  @java.lang.Override
3706  return restartRunningWindowSize_;
3707  }
3708 
3709  public static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER = 63;
3710  private double restartDlAverageRatio_;
3720  @java.lang.Override
3721  public boolean hasRestartDlAverageRatio() {
3722  return ((bitField1_ & 0x00000001) != 0);
3723  }
3733  @java.lang.Override
3734  public double getRestartDlAverageRatio() {
3735  return restartDlAverageRatio_;
3736  }
3737 
3738  public static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER = 71;
3739  private double restartLbdAverageRatio_;
3744  @java.lang.Override
3745  public boolean hasRestartLbdAverageRatio() {
3746  return ((bitField1_ & 0x00000002) != 0);
3747  }
3752  @java.lang.Override
3753  public double getRestartLbdAverageRatio() {
3754  return restartLbdAverageRatio_;
3755  }
3756 
3757  public static final int USE_BLOCKING_RESTART_FIELD_NUMBER = 64;
3758  private boolean useBlockingRestart_;
3769  @java.lang.Override
3770  public boolean hasUseBlockingRestart() {
3771  return ((bitField1_ & 0x00000004) != 0);
3772  }
3783  @java.lang.Override
3784  public boolean getUseBlockingRestart() {
3785  return useBlockingRestart_;
3786  }
3787 
3788  public static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER = 65;
3789  private int blockingRestartWindowSize_;
3794  @java.lang.Override
3795  public boolean hasBlockingRestartWindowSize() {
3796  return ((bitField1_ & 0x00000008) != 0);
3797  }
3802  @java.lang.Override
3804  return blockingRestartWindowSize_;
3805  }
3806 
3807  public static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER = 66;
3808  private double blockingRestartMultiplier_;
3813  @java.lang.Override
3814  public boolean hasBlockingRestartMultiplier() {
3815  return ((bitField1_ & 0x00000010) != 0);
3816  }
3821  @java.lang.Override
3823  return blockingRestartMultiplier_;
3824  }
3825 
3827  private int numConflictsBeforeStrategyChanges_;
3838  @java.lang.Override
3840  return ((bitField1_ & 0x00000020) != 0);
3841  }
3852  @java.lang.Override
3854  return numConflictsBeforeStrategyChanges_;
3855  }
3856 
3857  public static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER = 69;
3858  private double strategyChangeIncreaseRatio_;
3868  @java.lang.Override
3870  return ((bitField1_ & 0x00000040) != 0);
3871  }
3881  @java.lang.Override
3883  return strategyChangeIncreaseRatio_;
3884  }
3885 
3886  public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 36;
3887  private double maxTimeInSeconds_;
3897  @java.lang.Override
3898  public boolean hasMaxTimeInSeconds() {
3899  return ((bitField1_ & 0x00000080) != 0);
3900  }
3910  @java.lang.Override
3911  public double getMaxTimeInSeconds() {
3912  return maxTimeInSeconds_;
3913  }
3914 
3915  public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 67;
3916  private double maxDeterministicTime_;
3927  @java.lang.Override
3928  public boolean hasMaxDeterministicTime() {
3929  return ((bitField1_ & 0x00000100) != 0);
3930  }
3941  @java.lang.Override
3942  public double getMaxDeterministicTime() {
3943  return maxDeterministicTime_;
3944  }
3945 
3946  public static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER = 37;
3947  private long maxNumberOfConflicts_;
3961  @java.lang.Override
3962  public boolean hasMaxNumberOfConflicts() {
3963  return ((bitField1_ & 0x00000200) != 0);
3964  }
3978  @java.lang.Override
3979  public long getMaxNumberOfConflicts() {
3980  return maxNumberOfConflicts_;
3981  }
3982 
3983  public static final int MAX_MEMORY_IN_MB_FIELD_NUMBER = 40;
3984  private long maxMemoryInMb_;
3996  @java.lang.Override
3997  public boolean hasMaxMemoryInMb() {
3998  return ((bitField1_ & 0x00000400) != 0);
3999  }
4011  @java.lang.Override
4012  public long getMaxMemoryInMb() {
4013  return maxMemoryInMb_;
4014  }
4015 
4016  public static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER = 159;
4017  private double absoluteGapLimit_;
4035  @java.lang.Override
4036  public boolean hasAbsoluteGapLimit() {
4037  return ((bitField1_ & 0x00000800) != 0);
4038  }
4056  @java.lang.Override
4057  public double getAbsoluteGapLimit() {
4058  return absoluteGapLimit_;
4059  }
4060 
4061  public static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER = 160;
4062  private double relativeGapLimit_;
4067  @java.lang.Override
4068  public boolean hasRelativeGapLimit() {
4069  return ((bitField1_ & 0x00001000) != 0);
4070  }
4075  @java.lang.Override
4076  public double getRelativeGapLimit() {
4077  return relativeGapLimit_;
4078  }
4079 
4080  public static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER = 33;
4081  private boolean treatBinaryClausesSeparately_;
4092  @java.lang.Override
4094  return ((bitField1_ & 0x00002000) != 0);
4095  }
4106  @java.lang.Override
4108  return treatBinaryClausesSeparately_;
4109  }
4110 
4111  public static final int RANDOM_SEED_FIELD_NUMBER = 31;
4112  private int randomSeed_;
4126  @java.lang.Override
4127  public boolean hasRandomSeed() {
4128  return ((bitField1_ & 0x00004000) != 0);
4129  }
4143  @java.lang.Override
4144  public int getRandomSeed() {
4145  return randomSeed_;
4146  }
4147 
4148  public static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER = 178;
4149  private boolean permuteVariableRandomly_;
4161  @java.lang.Override
4162  public boolean hasPermuteVariableRandomly() {
4163  return ((bitField1_ & 0x00008000) != 0);
4164  }
4176  @java.lang.Override
4177  public boolean getPermuteVariableRandomly() {
4178  return permuteVariableRandomly_;
4179  }
4180 
4181  public static final int PERMUTE_PRESOLVE_CONSTRAINT_ORDER_FIELD_NUMBER = 179;
4182  private boolean permutePresolveConstraintOrder_;
4187  @java.lang.Override
4189  return ((bitField1_ & 0x00010000) != 0);
4190  }
4195  @java.lang.Override
4197  return permutePresolveConstraintOrder_;
4198  }
4199 
4200  public static final int USE_ABSL_RANDOM_FIELD_NUMBER = 180;
4201  private boolean useAbslRandom_;
4206  @java.lang.Override
4207  public boolean hasUseAbslRandom() {
4208  return ((bitField1_ & 0x00020000) != 0);
4209  }
4214  @java.lang.Override
4215  public boolean getUseAbslRandom() {
4216  return useAbslRandom_;
4217  }
4218 
4219  public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 41;
4220  private boolean logSearchProgress_;
4230  @java.lang.Override
4231  public boolean hasLogSearchProgress() {
4232  return ((bitField1_ & 0x00040000) != 0);
4233  }
4243  @java.lang.Override
4244  public boolean getLogSearchProgress() {
4245  return logSearchProgress_;
4246  }
4247 
4248  public static final int LOG_PREFIX_FIELD_NUMBER = 185;
4249  private volatile java.lang.Object logPrefix_;
4258  @java.lang.Override
4259  public boolean hasLogPrefix() {
4260  return ((bitField1_ & 0x00080000) != 0);
4261  }
4270  @java.lang.Override
4271  public java.lang.String getLogPrefix() {
4272  java.lang.Object ref = logPrefix_;
4273  if (ref instanceof java.lang.String) {
4274  return (java.lang.String) ref;
4275  } else {
4276  com.google.protobuf.ByteString bs =
4277  (com.google.protobuf.ByteString) ref;
4278  java.lang.String s = bs.toStringUtf8();
4279  if (bs.isValidUtf8()) {
4280  logPrefix_ = s;
4281  }
4282  return s;
4283  }
4284  }
4293  @java.lang.Override
4294  public com.google.protobuf.ByteString
4296  java.lang.Object ref = logPrefix_;
4297  if (ref instanceof java.lang.String) {
4298  com.google.protobuf.ByteString b =
4299  com.google.protobuf.ByteString.copyFromUtf8(
4300  (java.lang.String) ref);
4301  logPrefix_ = b;
4302  return b;
4303  } else {
4304  return (com.google.protobuf.ByteString) ref;
4305  }
4306  }
4307 
4308  public static final int LOG_TO_STDOUT_FIELD_NUMBER = 186;
4309  private boolean logToStdout_;
4318  @java.lang.Override
4319  public boolean hasLogToStdout() {
4320  return ((bitField1_ & 0x00100000) != 0);
4321  }
4330  @java.lang.Override
4331  public boolean getLogToStdout() {
4332  return logToStdout_;
4333  }
4334 
4335  public static final int LOG_TO_RESPONSE_FIELD_NUMBER = 187;
4336  private boolean logToResponse_;
4345  @java.lang.Override
4346  public boolean hasLogToResponse() {
4347  return ((bitField1_ & 0x00200000) != 0);
4348  }
4357  @java.lang.Override
4358  public boolean getLogToResponse() {
4359  return logToResponse_;
4360  }
4361 
4362  public static final int USE_PB_RESOLUTION_FIELD_NUMBER = 43;
4363  private boolean usePbResolution_;
4375  @java.lang.Override
4376  public boolean hasUsePbResolution() {
4377  return ((bitField1_ & 0x00400000) != 0);
4378  }
4390  @java.lang.Override
4391  public boolean getUsePbResolution() {
4392  return usePbResolution_;
4393  }
4394 
4396  private boolean minimizeReductionDuringPbResolution_;
4408  @java.lang.Override
4410  return ((bitField1_ & 0x00800000) != 0);
4411  }
4423  @java.lang.Override
4425  return minimizeReductionDuringPbResolution_;
4426  }
4427 
4428  public static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER = 49;
4429  private boolean countAssumptionLevelsInLbd_;
4445  @java.lang.Override
4447  return ((bitField1_ & 0x01000000) != 0);
4448  }
4464  @java.lang.Override
4466  return countAssumptionLevelsInLbd_;
4467  }
4468 
4469  public static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER = 54;
4470  private int presolveBveThreshold_;
4481  @java.lang.Override
4482  public boolean hasPresolveBveThreshold() {
4483  return ((bitField1_ & 0x02000000) != 0);
4484  }
4495  @java.lang.Override
4497  return presolveBveThreshold_;
4498  }
4499 
4500  public static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER = 55;
4501  private int presolveBveClauseWeight_;
4511  @java.lang.Override
4512  public boolean hasPresolveBveClauseWeight() {
4513  return ((bitField1_ & 0x04000000) != 0);
4514  }
4524  @java.lang.Override
4526  return presolveBveClauseWeight_;
4527  }
4528 
4530  private double presolveProbingDeterministicTimeLimit_;
4540  @java.lang.Override
4542  return ((bitField1_ & 0x08000000) != 0);
4543  }
4553  @java.lang.Override
4555  return presolveProbingDeterministicTimeLimit_;
4556  }
4557 
4558  public static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER = 88;
4559  private boolean presolveBlockedClause_;
4569  @java.lang.Override
4570  public boolean hasPresolveBlockedClause() {
4571  return ((bitField1_ & 0x10000000) != 0);
4572  }
4582  @java.lang.Override
4583  public boolean getPresolveBlockedClause() {
4584  return presolveBlockedClause_;
4585  }
4586 
4587  public static final int PRESOLVE_USE_BVA_FIELD_NUMBER = 72;
4588  private boolean presolveUseBva_;
4597  @java.lang.Override
4598  public boolean hasPresolveUseBva() {
4599  return ((bitField1_ & 0x20000000) != 0);
4600  }
4609  @java.lang.Override
4610  public boolean getPresolveUseBva() {
4611  return presolveUseBva_;
4612  }
4613 
4614  public static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER = 73;
4615  private int presolveBvaThreshold_;
4627  @java.lang.Override
4628  public boolean hasPresolveBvaThreshold() {
4629  return ((bitField1_ & 0x40000000) != 0);
4630  }
4642  @java.lang.Override
4644  return presolveBvaThreshold_;
4645  }
4646 
4647  public static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER = 138;
4648  private int maxPresolveIterations_;
4659  @java.lang.Override
4660  public boolean hasMaxPresolveIterations() {
4661  return ((bitField1_ & 0x80000000) != 0);
4662  }
4673  @java.lang.Override
4675  return maxPresolveIterations_;
4676  }
4677 
4678  public static final int CP_MODEL_PRESOLVE_FIELD_NUMBER = 86;
4679  private boolean cpModelPresolve_;
4688  @java.lang.Override
4689  public boolean hasCpModelPresolve() {
4690  return ((bitField2_ & 0x00000001) != 0);
4691  }
4700  @java.lang.Override
4701  public boolean getCpModelPresolve() {
4702  return cpModelPresolve_;
4703  }
4704 
4706  private boolean cpModelPostsolveWithFullSolver_;
4718  @java.lang.Override
4720  return ((bitField2_ & 0x00000002) != 0);
4721  }
4733  @java.lang.Override
4735  return cpModelPostsolveWithFullSolver_;
4736  }
4737 
4739  private int cpModelMaxNumPresolveOperations_;
4749  @java.lang.Override
4751  return ((bitField2_ & 0x00000004) != 0);
4752  }
4762  @java.lang.Override
4764  return cpModelMaxNumPresolveOperations_;
4765  }
4766 
4767  public static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER = 110;
4768  private int cpModelProbingLevel_;
4777  @java.lang.Override
4778  public boolean hasCpModelProbingLevel() {
4779  return ((bitField2_ & 0x00000008) != 0);
4780  }
4789  @java.lang.Override
4790  public int getCpModelProbingLevel() {
4791  return cpModelProbingLevel_;
4792  }
4793 
4794  public static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER = 93;
4795  private boolean cpModelUseSatPresolve_;
4804  @java.lang.Override
4805  public boolean hasCpModelUseSatPresolve() {
4806  return ((bitField2_ & 0x00000010) != 0);
4807  }
4816  @java.lang.Override
4817  public boolean getCpModelUseSatPresolve() {
4818  return cpModelUseSatPresolve_;
4819  }
4820 
4821  public static final int USE_SAT_INPROCESSING_FIELD_NUMBER = 163;
4822  private boolean useSatInprocessing_;
4827  @java.lang.Override
4828  public boolean hasUseSatInprocessing() {
4829  return ((bitField2_ & 0x00000020) != 0);
4830  }
4835  @java.lang.Override
4836  public boolean getUseSatInprocessing() {
4837  return useSatInprocessing_;
4838  }
4839 
4840  public static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER = 140;
4841  private boolean expandElementConstraints_;
4851  @java.lang.Override
4852  public boolean hasExpandElementConstraints() {
4853  return ((bitField2_ & 0x00000040) != 0);
4854  }
4864  @java.lang.Override
4865  public boolean getExpandElementConstraints() {
4866  return expandElementConstraints_;
4867  }
4868 
4869  public static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER = 143;
4870  private boolean expandAutomatonConstraints_;
4879  @java.lang.Override
4881  return ((bitField2_ & 0x00000080) != 0);
4882  }
4891  @java.lang.Override
4893  return expandAutomatonConstraints_;
4894  }
4895 
4896  public static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER = 158;
4897  private boolean expandTableConstraints_;
4907  @java.lang.Override
4908  public boolean hasExpandTableConstraints() {
4909  return ((bitField2_ & 0x00000100) != 0);
4910  }
4920  @java.lang.Override
4921  public boolean getExpandTableConstraints() {
4922  return expandTableConstraints_;
4923  }
4924 
4925  public static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER = 170;
4926  private boolean expandAlldiffConstraints_;
4936  @java.lang.Override
4937  public boolean hasExpandAlldiffConstraints() {
4938  return ((bitField2_ & 0x00000200) != 0);
4939  }
4949  @java.lang.Override
4950  public boolean getExpandAlldiffConstraints() {
4951  return expandAlldiffConstraints_;
4952  }
4953 
4954  public static final int EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER = 182;
4955  private boolean expandReservoirConstraints_;
4965  @java.lang.Override
4967  return ((bitField2_ & 0x00000400) != 0);
4968  }
4978  @java.lang.Override
4980  return expandReservoirConstraints_;
4981  }
4982 
4983  public static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER = 181;
4984  private boolean disableConstraintExpansion_;
4994  @java.lang.Override
4996  return ((bitField2_ & 0x00000800) != 0);
4997  }
5007  @java.lang.Override
5009  return disableConstraintExpansion_;
5010  }
5011 
5012  public static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER = 145;
5013  private double mergeNoOverlapWorkLimit_;
5026  @java.lang.Override
5027  public boolean hasMergeNoOverlapWorkLimit() {
5028  return ((bitField2_ & 0x00001000) != 0);
5029  }
5042  @java.lang.Override
5043  public double getMergeNoOverlapWorkLimit() {
5044  return mergeNoOverlapWorkLimit_;
5045  }
5046 
5047  public static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER = 146;
5048  private double mergeAtMostOneWorkLimit_;
5053  @java.lang.Override
5054  public boolean hasMergeAtMostOneWorkLimit() {
5055  return ((bitField2_ & 0x00002000) != 0);
5056  }
5061  @java.lang.Override
5062  public double getMergeAtMostOneWorkLimit() {
5063  return mergeAtMostOneWorkLimit_;
5064  }
5065 
5066  public static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER = 147;
5067  private int presolveSubstitutionLevel_;
5079  @java.lang.Override
5080  public boolean hasPresolveSubstitutionLevel() {
5081  return ((bitField2_ & 0x00004000) != 0);
5082  }
5094  @java.lang.Override
5096  return presolveSubstitutionLevel_;
5097  }
5098 
5100  private boolean presolveExtractIntegerEnforcement_;
5114  @java.lang.Override
5116  return ((bitField2_ & 0x00008000) != 0);
5117  }
5131  @java.lang.Override
5133  return presolveExtractIntegerEnforcement_;
5134  }
5135 
5136  public static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER = 35;
5137  private boolean useOptimizationHints_;
5149  @java.lang.Override
5150  public boolean hasUseOptimizationHints() {
5151  return ((bitField2_ & 0x00010000) != 0);
5152  }
5164  @java.lang.Override
5165  public boolean getUseOptimizationHints() {
5166  return useOptimizationHints_;
5167  }
5168 
5169  public static final int MINIMIZE_CORE_FIELD_NUMBER = 50;
5170  private boolean minimizeCore_;
5179  @java.lang.Override
5180  public boolean hasMinimizeCore() {
5181  return ((bitField2_ & 0x00020000) != 0);
5182  }
5191  @java.lang.Override
5192  public boolean getMinimizeCore() {
5193  return minimizeCore_;
5194  }
5195 
5196  public static final int FIND_MULTIPLE_CORES_FIELD_NUMBER = 84;
5197  private boolean findMultipleCores_;
5207  @java.lang.Override
5208  public boolean hasFindMultipleCores() {
5209  return ((bitField2_ & 0x00040000) != 0);
5210  }
5220  @java.lang.Override
5221  public boolean getFindMultipleCores() {
5222  return findMultipleCores_;
5223  }
5224 
5225  public static final int COVER_OPTIMIZATION_FIELD_NUMBER = 89;
5226  private boolean coverOptimization_;
5236  @java.lang.Override
5237  public boolean hasCoverOptimization() {
5238  return ((bitField2_ & 0x00080000) != 0);
5239  }
5249  @java.lang.Override
5250  public boolean getCoverOptimization() {
5251  return coverOptimization_;
5252  }
5253 
5254  public static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER = 51;
5255  private int maxSatAssumptionOrder_;
5260  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
5261  return ((bitField2_ & 0x00100000) != 0);
5262  }
5267  @java.lang.Override public com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder() {
5268  @SuppressWarnings("deprecation")
5269  com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder result = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(maxSatAssumptionOrder_);
5270  return result == null ? com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.DEFAULT_ASSUMPTION_ORDER : result;
5271  }
5272 
5274  private boolean maxSatReverseAssumptionOrder_;
5284  @java.lang.Override
5286  return ((bitField2_ & 0x00200000) != 0);
5287  }
5297  @java.lang.Override
5299  return maxSatReverseAssumptionOrder_;
5300  }
5301 
5302  public static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER = 53;
5303  private int maxSatStratification_;
5308  @java.lang.Override public boolean hasMaxSatStratification() {
5309  return ((bitField2_ & 0x00400000) != 0);
5310  }
5315  @java.lang.Override public com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification() {
5316  @SuppressWarnings("deprecation")
5317  com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm result = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(maxSatStratification_);
5318  return result == null ? com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.STRATIFICATION_DESCENT : result;
5319  }
5320 
5322  private boolean usePrecedencesInDisjunctiveConstraint_;
5338  @java.lang.Override
5340  return ((bitField2_ & 0x00800000) != 0);
5341  }
5357  @java.lang.Override
5359  return usePrecedencesInDisjunctiveConstraint_;
5360  }
5361 
5363  private boolean useOverloadCheckerInCumulativeConstraint_;
5377  @java.lang.Override
5379  return ((bitField2_ & 0x01000000) != 0);
5380  }
5394  @java.lang.Override
5396  return useOverloadCheckerInCumulativeConstraint_;
5397  }
5398 
5400  private boolean useTimetableEdgeFindingInCumulativeConstraint_;
5414  @java.lang.Override
5416  return ((bitField2_ & 0x02000000) != 0);
5417  }
5431  @java.lang.Override
5433  return useTimetableEdgeFindingInCumulativeConstraint_;
5434  }
5435 
5437  private boolean useDisjunctiveConstraintInCumulativeConstraint_;
5453  @java.lang.Override
5455  return ((bitField2_ & 0x04000000) != 0);
5456  }
5472  @java.lang.Override
5474  return useDisjunctiveConstraintInCumulativeConstraint_;
5475  }
5476 
5477  public static final int LINEARIZATION_LEVEL_FIELD_NUMBER = 90;
5478  private int linearizationLevel_;
5490  @java.lang.Override
5491  public boolean hasLinearizationLevel() {
5492  return ((bitField2_ & 0x08000000) != 0);
5493  }
5505  @java.lang.Override
5506  public int getLinearizationLevel() {
5507  return linearizationLevel_;
5508  }
5509 
5510  public static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER = 107;
5511  private int booleanEncodingLevel_;
5521  @java.lang.Override
5522  public boolean hasBooleanEncodingLevel() {
5523  return ((bitField2_ & 0x10000000) != 0);
5524  }
5534  @java.lang.Override
5536  return booleanEncodingLevel_;
5537  }
5538 
5539  public static final int MAX_NUM_CUTS_FIELD_NUMBER = 91;
5540  private int maxNumCuts_;
5552  @java.lang.Override
5553  public boolean hasMaxNumCuts() {
5554  return ((bitField2_ & 0x20000000) != 0);
5555  }
5567  @java.lang.Override
5568  public int getMaxNumCuts() {
5569  return maxNumCuts_;
5570  }
5571 
5572  public static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER = 92;
5573  private boolean onlyAddCutsAtLevelZero_;
5583  @java.lang.Override
5584  public boolean hasOnlyAddCutsAtLevelZero() {
5585  return ((bitField2_ & 0x40000000) != 0);
5586  }
5596  @java.lang.Override
5597  public boolean getOnlyAddCutsAtLevelZero() {
5598  return onlyAddCutsAtLevelZero_;
5599  }
5600 
5601  public static final int ADD_KNAPSACK_CUTS_FIELD_NUMBER = 111;
5602  private boolean addKnapsackCuts_;
5613  @java.lang.Override
5614  public boolean hasAddKnapsackCuts() {
5615  return ((bitField2_ & 0x80000000) != 0);
5616  }
5627  @java.lang.Override
5628  public boolean getAddKnapsackCuts() {
5629  return addKnapsackCuts_;
5630  }
5631 
5632  public static final int ADD_CG_CUTS_FIELD_NUMBER = 117;
5633  private boolean addCgCuts_;
5643  @java.lang.Override
5644  public boolean hasAddCgCuts() {
5645  return ((bitField3_ & 0x00000001) != 0);
5646  }
5656  @java.lang.Override
5657  public boolean getAddCgCuts() {
5658  return addCgCuts_;
5659  }
5660 
5661  public static final int ADD_MIR_CUTS_FIELD_NUMBER = 120;
5662  private boolean addMirCuts_;
5672  @java.lang.Override
5673  public boolean hasAddMirCuts() {
5674  return ((bitField3_ & 0x00000002) != 0);
5675  }
5685  @java.lang.Override
5686  public boolean getAddMirCuts() {
5687  return addMirCuts_;
5688  }
5689 
5690  public static final int ADD_ZERO_HALF_CUTS_FIELD_NUMBER = 169;
5691  private boolean addZeroHalfCuts_;
5701  @java.lang.Override
5702  public boolean hasAddZeroHalfCuts() {
5703  return ((bitField3_ & 0x00000004) != 0);
5704  }
5714  @java.lang.Override
5715  public boolean getAddZeroHalfCuts() {
5716  return addZeroHalfCuts_;
5717  }
5718 
5719  public static final int ADD_CLIQUE_CUTS_FIELD_NUMBER = 172;
5720  private boolean addCliqueCuts_;
5731  @java.lang.Override
5732  public boolean hasAddCliqueCuts() {
5733  return ((bitField3_ & 0x00000008) != 0);
5734  }
5745  @java.lang.Override
5746  public boolean getAddCliqueCuts() {
5747  return addCliqueCuts_;
5748  }
5749 
5750  public static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER = 148;
5751  private int maxAllDiffCutSize_;
5762  @java.lang.Override
5763  public boolean hasMaxAllDiffCutSize() {
5764  return ((bitField3_ & 0x00000010) != 0);
5765  }
5776  @java.lang.Override
5777  public int getMaxAllDiffCutSize() {
5778  return maxAllDiffCutSize_;
5779  }
5780 
5781  public static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER = 152;
5782  private boolean addLinMaxCuts_;
5793  @java.lang.Override
5794  public boolean hasAddLinMaxCuts() {
5795  return ((bitField3_ & 0x00000020) != 0);
5796  }
5807  @java.lang.Override
5808  public boolean getAddLinMaxCuts() {
5809  return addLinMaxCuts_;
5810  }
5811 
5812  public static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER = 119;
5813  private int maxIntegerRoundingScaling_;
5828  @java.lang.Override
5829  public boolean hasMaxIntegerRoundingScaling() {
5830  return ((bitField3_ & 0x00000040) != 0);
5831  }
5846  @java.lang.Override
5848  return maxIntegerRoundingScaling_;
5849  }
5850 
5851  public static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER = 112;
5852  private boolean addLpConstraintsLazily_;
5864  @java.lang.Override
5865  public boolean hasAddLpConstraintsLazily() {
5866  return ((bitField3_ & 0x00000080) != 0);
5867  }
5879  @java.lang.Override
5880  public boolean getAddLpConstraintsLazily() {
5881  return addLpConstraintsLazily_;
5882  }
5883 
5885  private double minOrthogonalityForLpConstraints_;
5898  @java.lang.Override
5900  return ((bitField3_ & 0x00000100) != 0);
5901  }
5914  @java.lang.Override
5916  return minOrthogonalityForLpConstraints_;
5917  }
5918 
5919  public static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER = 154;
5920  private int maxCutRoundsAtLevelZero_;
5929  @java.lang.Override
5930  public boolean hasMaxCutRoundsAtLevelZero() {
5931  return ((bitField3_ & 0x00000200) != 0);
5932  }
5941  @java.lang.Override
5943  return maxCutRoundsAtLevelZero_;
5944  }
5945 
5946  public static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER = 121;
5947  private int maxConsecutiveInactiveCount_;
5958  @java.lang.Override
5960  return ((bitField3_ & 0x00000400) != 0);
5961  }
5972  @java.lang.Override
5974  return maxConsecutiveInactiveCount_;
5975  }
5976 
5977  public static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER = 155;
5978  private double cutMaxActiveCountValue_;
5989  @java.lang.Override
5990  public boolean hasCutMaxActiveCountValue() {
5991  return ((bitField3_ & 0x00000800) != 0);
5992  }
6003  @java.lang.Override
6004  public double getCutMaxActiveCountValue() {
6005  return cutMaxActiveCountValue_;
6006  }
6007 
6008  public static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER = 156;
6009  private double cutActiveCountDecay_;
6014  @java.lang.Override
6015  public boolean hasCutActiveCountDecay() {
6016  return ((bitField3_ & 0x00001000) != 0);
6017  }
6022  @java.lang.Override
6023  public double getCutActiveCountDecay() {
6024  return cutActiveCountDecay_;
6025  }
6026 
6027  public static final int CUT_CLEANUP_TARGET_FIELD_NUMBER = 157;
6028  private int cutCleanupTarget_;
6037  @java.lang.Override
6038  public boolean hasCutCleanupTarget() {
6039  return ((bitField3_ & 0x00002000) != 0);
6040  }
6049  @java.lang.Override
6050  public int getCutCleanupTarget() {
6051  return cutCleanupTarget_;
6052  }
6053 
6054  public static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER = 122;
6055  private int newConstraintsBatchSize_;
6065  @java.lang.Override
6066  public boolean hasNewConstraintsBatchSize() {
6067  return ((bitField3_ & 0x00004000) != 0);
6068  }
6078  @java.lang.Override
6080  return newConstraintsBatchSize_;
6081  }
6082 
6083  public static final int SEARCH_BRANCHING_FIELD_NUMBER = 82;
6084  private int searchBranching_;
6089  @java.lang.Override public boolean hasSearchBranching() {
6090  return ((bitField3_ & 0x00008000) != 0);
6091  }
6096  @java.lang.Override public com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching() {
6097  @SuppressWarnings("deprecation")
6098  com.google.ortools.sat.SatParameters.SearchBranching result = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(searchBranching_);
6099  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
6100  }
6101 
6102  public static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER = 153;
6103  private int hintConflictLimit_;
6112  @java.lang.Override
6113  public boolean hasHintConflictLimit() {
6114  return ((bitField3_ & 0x00010000) != 0);
6115  }
6124  @java.lang.Override
6125  public int getHintConflictLimit() {
6126  return hintConflictLimit_;
6127  }
6128 
6129  public static final int REPAIR_HINT_FIELD_NUMBER = 167;
6130  private boolean repairHint_;
6142  @java.lang.Override
6143  public boolean hasRepairHint() {
6144  return ((bitField3_ & 0x00020000) != 0);
6145  }
6157  @java.lang.Override
6158  public boolean getRepairHint() {
6159  return repairHint_;
6160  }
6161 
6162  public static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER = 94;
6163  private boolean exploitIntegerLpSolution_;
6175  @java.lang.Override
6176  public boolean hasExploitIntegerLpSolution() {
6177  return ((bitField3_ & 0x00040000) != 0);
6178  }
6190  @java.lang.Override
6191  public boolean getExploitIntegerLpSolution() {
6192  return exploitIntegerLpSolution_;
6193  }
6194 
6195  public static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER = 116;
6196  private boolean exploitAllLpSolution_;
6207  @java.lang.Override
6208  public boolean hasExploitAllLpSolution() {
6209  return ((bitField3_ & 0x00080000) != 0);
6210  }
6221  @java.lang.Override
6222  public boolean getExploitAllLpSolution() {
6223  return exploitAllLpSolution_;
6224  }
6225 
6226  public static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER = 130;
6227  private boolean exploitBestSolution_;
6236  @java.lang.Override
6237  public boolean hasExploitBestSolution() {
6238  return ((bitField3_ & 0x00100000) != 0);
6239  }
6248  @java.lang.Override
6249  public boolean getExploitBestSolution() {
6250  return exploitBestSolution_;
6251  }
6252 
6253  public static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER = 161;
6254  private boolean exploitRelaxationSolution_;
6265  @java.lang.Override
6266  public boolean hasExploitRelaxationSolution() {
6267  return ((bitField3_ & 0x00200000) != 0);
6268  }
6279  @java.lang.Override
6280  public boolean getExploitRelaxationSolution() {
6281  return exploitRelaxationSolution_;
6282  }
6283 
6284  public static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER = 131;
6285  private boolean exploitObjective_;
6295  @java.lang.Override
6296  public boolean hasExploitObjective() {
6297  return ((bitField3_ & 0x00400000) != 0);
6298  }
6308  @java.lang.Override
6309  public boolean getExploitObjective() {
6310  return exploitObjective_;
6311  }
6312 
6313  public static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER = 142;
6314  private long probingPeriodAtRoot_;
6325  @java.lang.Override
6326  public boolean hasProbingPeriodAtRoot() {
6327  return ((bitField3_ & 0x00800000) != 0);
6328  }
6339  @java.lang.Override
6340  public long getProbingPeriodAtRoot() {
6341  return probingPeriodAtRoot_;
6342  }
6343 
6344  public static final int USE_PROBING_SEARCH_FIELD_NUMBER = 176;
6345  private boolean useProbingSearch_;
6355  @java.lang.Override
6356  public boolean hasUseProbingSearch() {
6357  return ((bitField3_ & 0x01000000) != 0);
6358  }
6368  @java.lang.Override
6369  public boolean getUseProbingSearch() {
6370  return useProbingSearch_;
6371  }
6372 
6373  public static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER = 123;
6374  private long pseudoCostReliabilityThreshold_;
6384  @java.lang.Override
6386  return ((bitField3_ & 0x02000000) != 0);
6387  }
6397  @java.lang.Override
6399  return pseudoCostReliabilityThreshold_;
6400  }
6401 
6402  public static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER = 83;
6403  private boolean optimizeWithCore_;
6415  @java.lang.Override
6416  public boolean hasOptimizeWithCore() {
6417  return ((bitField3_ & 0x04000000) != 0);
6418  }
6430  @java.lang.Override
6431  public boolean getOptimizeWithCore() {
6432  return optimizeWithCore_;
6433  }
6434 
6435  public static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER = 99;
6436  private int binarySearchNumConflicts_;
6448  @java.lang.Override
6449  public boolean hasBinarySearchNumConflicts() {
6450  return ((bitField3_ & 0x08000000) != 0);
6451  }
6463  @java.lang.Override
6465  return binarySearchNumConflicts_;
6466  }
6467 
6468  public static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER = 85;
6469  private boolean optimizeWithMaxHs_;
6483  @java.lang.Override
6484  public boolean hasOptimizeWithMaxHs() {
6485  return ((bitField3_ & 0x10000000) != 0);
6486  }
6500  @java.lang.Override
6501  public boolean getOptimizeWithMaxHs() {
6502  return optimizeWithMaxHs_;
6503  }
6504 
6505  public static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER = 87;
6506  private boolean enumerateAllSolutions_;
6520  @java.lang.Override
6521  public boolean hasEnumerateAllSolutions() {
6522  return ((bitField3_ & 0x20000000) != 0);
6523  }
6537  @java.lang.Override
6538  public boolean getEnumerateAllSolutions() {
6539  return enumerateAllSolutions_;
6540  }
6541 
6543  private boolean keepAllFeasibleSolutionsInPresolve_;
6558  @java.lang.Override
6560  return ((bitField3_ & 0x40000000) != 0);
6561  }
6576  @java.lang.Override
6578  return keepAllFeasibleSolutionsInPresolve_;
6579  }
6580 
6582  private boolean fillTightenedDomainsInResponse_;
6595  @java.lang.Override
6597  return ((bitField3_ & 0x80000000) != 0);
6598  }
6611  @java.lang.Override
6613  return fillTightenedDomainsInResponse_;
6614  }
6615 
6616  public static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER = 106;
6617  private boolean instantiateAllVariables_;
6627  @java.lang.Override
6628  public boolean hasInstantiateAllVariables() {
6629  return ((bitField4_ & 0x00000001) != 0);
6630  }
6640  @java.lang.Override
6641  public boolean getInstantiateAllVariables() {
6642  return instantiateAllVariables_;
6643  }
6644 
6646  private boolean autoDetectGreaterThanAtLeastOneOf_;
6658  @java.lang.Override
6660  return ((bitField4_ & 0x00000002) != 0);
6661  }
6673  @java.lang.Override
6675  return autoDetectGreaterThanAtLeastOneOf_;
6676  }
6677 
6678  public static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER = 98;
6679  private boolean stopAfterFirstSolution_;
6688  @java.lang.Override
6689  public boolean hasStopAfterFirstSolution() {
6690  return ((bitField4_ & 0x00000004) != 0);
6691  }
6700  @java.lang.Override
6701  public boolean getStopAfterFirstSolution() {
6702  return stopAfterFirstSolution_;
6703  }
6704 
6705  public static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER = 149;
6706  private boolean stopAfterPresolve_;
6716  @java.lang.Override
6717  public boolean hasStopAfterPresolve() {
6718  return ((bitField4_ & 0x00000008) != 0);
6719  }
6729  @java.lang.Override
6730  public boolean getStopAfterPresolve() {
6731  return stopAfterPresolve_;
6732  }
6733 
6734  public static final int NUM_SEARCH_WORKERS_FIELD_NUMBER = 100;
6735  private int numSearchWorkers_;
6749  @java.lang.Override
6750  public boolean hasNumSearchWorkers() {
6751  return ((bitField4_ & 0x00000010) != 0);
6752  }
6766  @java.lang.Override
6767  public int getNumSearchWorkers() {
6768  return numSearchWorkers_;
6769  }
6770 
6771  public static final int INTERLEAVE_SEARCH_FIELD_NUMBER = 136;
6772  private boolean interleaveSearch_;
6785  @java.lang.Override
6786  public boolean hasInterleaveSearch() {
6787  return ((bitField4_ & 0x00000020) != 0);
6788  }
6801  @java.lang.Override
6802  public boolean getInterleaveSearch() {
6803  return interleaveSearch_;
6804  }
6805 
6806  public static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER = 134;
6807  private int interleaveBatchSize_;
6812  @java.lang.Override
6813  public boolean hasInterleaveBatchSize() {
6814  return ((bitField4_ & 0x00000040) != 0);
6815  }
6820  @java.lang.Override
6821  public int getInterleaveBatchSize() {
6822  return interleaveBatchSize_;
6823  }
6824 
6826  private boolean reduceMemoryUsageInInterleaveMode_;
6835  @java.lang.Override
6837  return ((bitField4_ & 0x00000080) != 0);
6838  }
6847  @java.lang.Override
6849  return reduceMemoryUsageInInterleaveMode_;
6850  }
6851 
6852  public static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER = 113;
6853  private boolean shareObjectiveBounds_;
6862  @java.lang.Override
6863  public boolean hasShareObjectiveBounds() {
6864  return ((bitField4_ & 0x00000100) != 0);
6865  }
6874  @java.lang.Override
6875  public boolean getShareObjectiveBounds() {
6876  return shareObjectiveBounds_;
6877  }
6878 
6879  public static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER = 114;
6880  private boolean shareLevelZeroBounds_;
6889  @java.lang.Override
6890  public boolean hasShareLevelZeroBounds() {
6891  return ((bitField4_ & 0x00000200) != 0);
6892  }
6901  @java.lang.Override
6902  public boolean getShareLevelZeroBounds() {
6903  return shareLevelZeroBounds_;
6904  }
6905 
6906  public static final int USE_LNS_ONLY_FIELD_NUMBER = 101;
6907  private boolean useLnsOnly_;
6916  @java.lang.Override
6917  public boolean hasUseLnsOnly() {
6918  return ((bitField4_ & 0x00000400) != 0);
6919  }
6928  @java.lang.Override
6929  public boolean getUseLnsOnly() {
6930  return useLnsOnly_;
6931  }
6932 
6933  public static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER = 105;
6934  private boolean lnsFocusOnDecisionVariables_;
6939  @java.lang.Override
6941  return ((bitField4_ & 0x00000800) != 0);
6942  }
6947  @java.lang.Override
6949  return lnsFocusOnDecisionVariables_;
6950  }
6951 
6953  private boolean lnsExpandIntervalsInConstraintGraph_;
6958  @java.lang.Override
6960  return ((bitField4_ & 0x00001000) != 0);
6961  }
6966  @java.lang.Override
6968  return lnsExpandIntervalsInConstraintGraph_;
6969  }
6970 
6971  public static final int USE_RINS_LNS_FIELD_NUMBER = 129;
6972  private boolean useRinsLns_;
6981  @java.lang.Override
6982  public boolean hasUseRinsLns() {
6983  return ((bitField4_ & 0x00002000) != 0);
6984  }
6993  @java.lang.Override
6994  public boolean getUseRinsLns() {
6995  return useRinsLns_;
6996  }
6997 
6998  public static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER = 164;
6999  private boolean useFeasibilityPump_;
7008  @java.lang.Override
7009  public boolean hasUseFeasibilityPump() {
7010  return ((bitField4_ & 0x00004000) != 0);
7011  }
7020  @java.lang.Override
7021  public boolean getUseFeasibilityPump() {
7022  return useFeasibilityPump_;
7023  }
7024 
7025  public static final int FP_ROUNDING_FIELD_NUMBER = 165;
7026  private int fpRounding_;
7031  @java.lang.Override public boolean hasFpRounding() {
7032  return ((bitField4_ & 0x00008000) != 0);
7033  }
7038  @java.lang.Override public com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding() {
7039  @SuppressWarnings("deprecation")
7040  com.google.ortools.sat.SatParameters.FPRoundingMethod result = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(fpRounding_);
7041  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
7042  }
7043 
7044  public static final int USE_RELAXATION_LNS_FIELD_NUMBER = 150;
7045  private boolean useRelaxationLns_;
7055  @java.lang.Override
7056  public boolean hasUseRelaxationLns() {
7057  return ((bitField4_ & 0x00010000) != 0);
7058  }
7068  @java.lang.Override
7069  public boolean getUseRelaxationLns() {
7070  return useRelaxationLns_;
7071  }
7072 
7073  public static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER = 137;
7074  private boolean diversifyLnsParams_;
7083  @java.lang.Override
7084  public boolean hasDiversifyLnsParams() {
7085  return ((bitField4_ & 0x00020000) != 0);
7086  }
7095  @java.lang.Override
7096  public boolean getDiversifyLnsParams() {
7097  return diversifyLnsParams_;
7098  }
7099 
7100  public static final int RANDOMIZE_SEARCH_FIELD_NUMBER = 103;
7101  private boolean randomizeSearch_;
7110  @java.lang.Override
7111  public boolean hasRandomizeSearch() {
7112  return ((bitField4_ & 0x00040000) != 0);
7113  }
7122  @java.lang.Override
7123  public boolean getRandomizeSearch() {
7124  return randomizeSearch_;
7125  }
7126 
7127  public static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER = 104;
7128  private long searchRandomizationTolerance_;
7143  @java.lang.Override
7145  return ((bitField4_ & 0x00080000) != 0);
7146  }
7161  @java.lang.Override
7163  return searchRandomizationTolerance_;
7164  }
7165 
7166  public static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER = 108;
7167  private boolean useOptionalVariables_;
7178  @java.lang.Override
7179  public boolean hasUseOptionalVariables() {
7180  return ((bitField4_ & 0x00100000) != 0);
7181  }
7192  @java.lang.Override
7193  public boolean getUseOptionalVariables() {
7194  return useOptionalVariables_;
7195  }
7196 
7197  public static final int USE_EXACT_LP_REASON_FIELD_NUMBER = 109;
7198  private boolean useExactLpReason_;
7210  @java.lang.Override
7211  public boolean hasUseExactLpReason() {
7212  return ((bitField4_ & 0x00200000) != 0);
7213  }
7225  @java.lang.Override
7226  public boolean getUseExactLpReason() {
7227  return useExactLpReason_;
7228  }
7229 
7230  public static final int USE_BRANCHING_IN_LP_FIELD_NUMBER = 139;
7231  private boolean useBranchingInLp_;
7242  @java.lang.Override
7243  public boolean hasUseBranchingInLp() {
7244  return ((bitField4_ & 0x00400000) != 0);
7245  }
7256  @java.lang.Override
7257  public boolean getUseBranchingInLp() {
7258  return useBranchingInLp_;
7259  }
7260 
7261  public static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER = 133;
7262  private boolean useCombinedNoOverlap_;
7273  @java.lang.Override
7274  public boolean hasUseCombinedNoOverlap() {
7275  return ((bitField4_ & 0x00800000) != 0);
7276  }
7287  @java.lang.Override
7288  public boolean getUseCombinedNoOverlap() {
7289  return useCombinedNoOverlap_;
7290  }
7291 
7292  public static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER = 135;
7293  private boolean catchSigintSignal_;
7304  @java.lang.Override
7305  public boolean hasCatchSigintSignal() {
7306  return ((bitField4_ & 0x01000000) != 0);
7307  }
7318  @java.lang.Override
7319  public boolean getCatchSigintSignal() {
7320  return catchSigintSignal_;
7321  }
7322 
7323  public static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER = 144;
7324  private boolean useImpliedBounds_;
7335  @java.lang.Override
7336  public boolean hasUseImpliedBounds() {
7337  return ((bitField4_ & 0x02000000) != 0);
7338  }
7349  @java.lang.Override
7350  public boolean getUseImpliedBounds() {
7351  return useImpliedBounds_;
7352  }
7353 
7354  public static final int POLISH_LP_SOLUTION_FIELD_NUMBER = 175;
7355  private boolean polishLpSolution_;
7367  @java.lang.Override
7368  public boolean hasPolishLpSolution() {
7369  return ((bitField4_ & 0x04000000) != 0);
7370  }
7382  @java.lang.Override
7383  public boolean getPolishLpSolution() {
7384  return polishLpSolution_;
7385  }
7386 
7387  public static final int CONVERT_INTERVALS_FIELD_NUMBER = 177;
7388  private boolean convertIntervals_;
7399  @java.lang.Override
7400  public boolean hasConvertIntervals() {
7401  return ((bitField4_ & 0x08000000) != 0);
7402  }
7413  @java.lang.Override
7414  public boolean getConvertIntervals() {
7415  return convertIntervals_;
7416  }
7417 
7418  public static final int SYMMETRY_LEVEL_FIELD_NUMBER = 183;
7419  private int symmetryLevel_;
7431  @java.lang.Override
7432  public boolean hasSymmetryLevel() {
7433  return ((bitField4_ & 0x10000000) != 0);
7434  }
7446  @java.lang.Override
7447  public int getSymmetryLevel() {
7448  return symmetryLevel_;
7449  }
7450 
7451  public static final int MIP_MAX_BOUND_FIELD_NUMBER = 124;
7452  private double mipMaxBound_;
7463  @java.lang.Override
7464  public boolean hasMipMaxBound() {
7465  return ((bitField4_ & 0x20000000) != 0);
7466  }
7477  @java.lang.Override
7478  public double getMipMaxBound() {
7479  return mipMaxBound_;
7480  }
7481 
7482  public static final int MIP_VAR_SCALING_FIELD_NUMBER = 125;
7483  private double mipVarScaling_;
7494  @java.lang.Override
7495  public boolean hasMipVarScaling() {
7496  return ((bitField4_ & 0x40000000) != 0);
7497  }
7508  @java.lang.Override
7509  public double getMipVarScaling() {
7510  return mipVarScaling_;
7511  }
7512 
7513  public static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER = 166;
7514  private boolean mipAutomaticallyScaleVariables_;
7527  @java.lang.Override
7529  return ((bitField4_ & 0x80000000) != 0);
7530  }
7543  @java.lang.Override
7545  return mipAutomaticallyScaleVariables_;
7546  }
7547 
7548  public static final int MIP_WANTED_PRECISION_FIELD_NUMBER = 126;
7549  private double mipWantedPrecision_;
7567  @java.lang.Override
7568  public boolean hasMipWantedPrecision() {
7569  return ((bitField5_ & 0x00000001) != 0);
7570  }
7588  @java.lang.Override
7589  public double getMipWantedPrecision() {
7590  return mipWantedPrecision_;
7591  }
7592 
7593  public static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER = 127;
7594  private int mipMaxActivityExponent_;
7609  @java.lang.Override
7610  public boolean hasMipMaxActivityExponent() {
7611  return ((bitField5_ & 0x00000002) != 0);
7612  }
7627  @java.lang.Override
7629  return mipMaxActivityExponent_;
7630  }
7631 
7632  public static final int MIP_CHECK_PRECISION_FIELD_NUMBER = 128;
7633  private double mipCheckPrecision_;
7644  @java.lang.Override
7645  public boolean hasMipCheckPrecision() {
7646  return ((bitField5_ & 0x00000004) != 0);
7647  }
7658  @java.lang.Override
7659  public double getMipCheckPrecision() {
7660  return mipCheckPrecision_;
7661  }
7662 
7663  private byte memoizedIsInitialized = -1;
7664  @java.lang.Override
7665  public final boolean isInitialized() {
7666  byte isInitialized = memoizedIsInitialized;
7667  if (isInitialized == 1) return true;
7668  if (isInitialized == 0) return false;
7669 
7670  memoizedIsInitialized = 1;
7671  return true;
7672  }
7673 
7674  @java.lang.Override
7675  public void writeTo(com.google.protobuf.CodedOutputStream output)
7676  throws java.io.IOException {
7677  if (((bitField0_ & 0x00000002) != 0)) {
7678  output.writeEnum(1, preferredVariableOrder_);
7679  }
7680  if (((bitField0_ & 0x00000004) != 0)) {
7681  output.writeEnum(2, initialPolarity_);
7682  }
7683  if (((bitField0_ & 0x00000400) != 0)) {
7684  output.writeEnum(4, minimizationAlgorithm_);
7685  }
7686  if (((bitField0_ & 0x00002000) != 0)) {
7687  output.writeInt32(11, clauseCleanupPeriod_);
7688  }
7689  if (((bitField0_ & 0x00004000) != 0)) {
7690  output.writeInt32(13, clauseCleanupTarget_);
7691  }
7692  if (((bitField0_ & 0x00400000) != 0)) {
7693  output.writeDouble(15, variableActivityDecay_);
7694  }
7695  if (((bitField0_ & 0x00800000) != 0)) {
7696  output.writeDouble(16, maxVariableActivityValue_);
7697  }
7698  if (((bitField0_ & 0x08000000) != 0)) {
7699  output.writeDouble(17, clauseActivityDecay_);
7700  }
7701  if (((bitField0_ & 0x10000000) != 0)) {
7702  output.writeDouble(18, maxClauseActivityValue_);
7703  }
7704  if (((bitField0_ & 0x01000000) != 0)) {
7705  output.writeDouble(22, glucoseMaxDecay_);
7706  }
7707  if (((bitField0_ & 0x02000000) != 0)) {
7708  output.writeDouble(23, glucoseDecayIncrement_);
7709  }
7710  if (((bitField0_ & 0x04000000) != 0)) {
7711  output.writeInt32(24, glucoseDecayIncrementPeriod_);
7712  }
7713  if (((bitField0_ & 0x40000000) != 0)) {
7714  output.writeInt32(30, restartPeriod_);
7715  }
7716  if (((bitField1_ & 0x00004000) != 0)) {
7717  output.writeInt32(31, randomSeed_);
7718  }
7719  if (((bitField0_ & 0x00000040) != 0)) {
7720  output.writeDouble(32, randomBranchesRatio_);
7721  }
7722  if (((bitField1_ & 0x00002000) != 0)) {
7723  output.writeBool(33, treatBinaryClausesSeparately_);
7724  }
7725  if (((bitField0_ & 0x00000800) != 0)) {
7726  output.writeEnum(34, binaryMinimizationAlgorithm_);
7727  }
7728  if (((bitField2_ & 0x00010000) != 0)) {
7729  output.writeBool(35, useOptimizationHints_);
7730  }
7731  if (((bitField1_ & 0x00000080) != 0)) {
7732  output.writeDouble(36, maxTimeInSeconds_);
7733  }
7734  if (((bitField1_ & 0x00000200) != 0)) {
7735  output.writeInt64(37, maxNumberOfConflicts_);
7736  }
7737  if (((bitField1_ & 0x00000400) != 0)) {
7738  output.writeInt64(40, maxMemoryInMb_);
7739  }
7740  if (((bitField1_ & 0x00040000) != 0)) {
7741  output.writeBool(41, logSearchProgress_);
7742  }
7743  if (((bitField1_ & 0x00400000) != 0)) {
7744  output.writeBool(43, usePbResolution_);
7745  }
7746  if (((bitField0_ & 0x00000008) != 0)) {
7747  output.writeBool(44, usePhaseSaving_);
7748  }
7749  if (((bitField0_ & 0x00000020) != 0)) {
7750  output.writeDouble(45, randomPolarityRatio_);
7751  }
7752  if (((bitField0_ & 0x00040000) != 0)) {
7753  output.writeInt32(46, pbCleanupIncrement_);
7754  }
7755  if (((bitField0_ & 0x00080000) != 0)) {
7756  output.writeDouble(47, pbCleanupRatio_);
7757  }
7758  if (((bitField1_ & 0x00800000) != 0)) {
7759  output.writeBool(48, minimizeReductionDuringPbResolution_);
7760  }
7761  if (((bitField1_ & 0x01000000) != 0)) {
7762  output.writeBool(49, countAssumptionLevelsInLbd_);
7763  }
7764  if (((bitField2_ & 0x00020000) != 0)) {
7765  output.writeBool(50, minimizeCore_);
7766  }
7767  if (((bitField2_ & 0x00100000) != 0)) {
7768  output.writeEnum(51, maxSatAssumptionOrder_);
7769  }
7770  if (((bitField2_ & 0x00200000) != 0)) {
7771  output.writeBool(52, maxSatReverseAssumptionOrder_);
7772  }
7773  if (((bitField2_ & 0x00400000) != 0)) {
7774  output.writeEnum(53, maxSatStratification_);
7775  }
7776  if (((bitField1_ & 0x02000000) != 0)) {
7777  output.writeInt32(54, presolveBveThreshold_);
7778  }
7779  if (((bitField1_ & 0x04000000) != 0)) {
7780  output.writeInt32(55, presolveBveClauseWeight_);
7781  }
7782  if (((bitField0_ & 0x00001000) != 0)) {
7783  output.writeBool(56, subsumptionDuringConflictAnalysis_);
7784  }
7785  if (((bitField1_ & 0x08000000) != 0)) {
7786  output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
7787  }
7788  if (((bitField0_ & 0x00008000) != 0)) {
7789  output.writeEnum(58, clauseCleanupProtection_);
7790  }
7791  if (((bitField0_ & 0x00010000) != 0)) {
7792  output.writeInt32(59, clauseCleanupLbdBound_);
7793  }
7794  if (((bitField0_ & 0x00020000) != 0)) {
7795  output.writeEnum(60, clauseCleanupOrdering_);
7796  }
7797  for (int i = 0; i < restartAlgorithms_.size(); i++) {
7798  output.writeEnum(61, restartAlgorithms_.get(i));
7799  }
7800  if (((bitField0_ & 0x80000000) != 0)) {
7801  output.writeInt32(62, restartRunningWindowSize_);
7802  }
7803  if (((bitField1_ & 0x00000001) != 0)) {
7804  output.writeDouble(63, restartDlAverageRatio_);
7805  }
7806  if (((bitField1_ & 0x00000004) != 0)) {
7807  output.writeBool(64, useBlockingRestart_);
7808  }
7809  if (((bitField1_ & 0x00000008) != 0)) {
7810  output.writeInt32(65, blockingRestartWindowSize_);
7811  }
7812  if (((bitField1_ & 0x00000010) != 0)) {
7813  output.writeDouble(66, blockingRestartMultiplier_);
7814  }
7815  if (((bitField1_ & 0x00000100) != 0)) {
7816  output.writeDouble(67, maxDeterministicTime_);
7817  }
7818  if (((bitField1_ & 0x00000020) != 0)) {
7819  output.writeInt32(68, numConflictsBeforeStrategyChanges_);
7820  }
7821  if (((bitField1_ & 0x00000040) != 0)) {
7822  output.writeDouble(69, strategyChangeIncreaseRatio_);
7823  }
7824  if (((bitField0_ & 0x20000000) != 0)) {
7825  com.google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
7826  }
7827  if (((bitField1_ & 0x00000002) != 0)) {
7828  output.writeDouble(71, restartLbdAverageRatio_);
7829  }
7830  if (((bitField1_ & 0x20000000) != 0)) {
7831  output.writeBool(72, presolveUseBva_);
7832  }
7833  if (((bitField1_ & 0x40000000) != 0)) {
7834  output.writeInt32(73, presolveBvaThreshold_);
7835  }
7836  if (((bitField2_ & 0x00800000) != 0)) {
7837  output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
7838  }
7839  if (((bitField0_ & 0x00000080) != 0)) {
7840  output.writeBool(75, useErwaHeuristic_);
7841  }
7842  if (((bitField0_ & 0x00000100) != 0)) {
7843  output.writeDouble(76, initialVariablesActivity_);
7844  }
7845  if (((bitField0_ & 0x00000200) != 0)) {
7846  output.writeBool(77, alsoBumpVariablesInConflictReasons_);
7847  }
7848  if (((bitField2_ & 0x01000000) != 0)) {
7849  output.writeBool(78, useOverloadCheckerInCumulativeConstraint_);
7850  }
7851  if (((bitField2_ & 0x02000000) != 0)) {
7852  output.writeBool(79, useTimetableEdgeFindingInCumulativeConstraint_);
7853  }
7854  if (((bitField2_ & 0x04000000) != 0)) {
7855  output.writeBool(80, useDisjunctiveConstraintInCumulativeConstraint_);
7856  }
7857  if (((bitField3_ & 0x00008000) != 0)) {
7858  output.writeEnum(82, searchBranching_);
7859  }
7860  if (((bitField3_ & 0x04000000) != 0)) {
7861  output.writeBool(83, optimizeWithCore_);
7862  }
7863  if (((bitField2_ & 0x00040000) != 0)) {
7864  output.writeBool(84, findMultipleCores_);
7865  }
7866  if (((bitField3_ & 0x10000000) != 0)) {
7867  output.writeBool(85, optimizeWithMaxHs_);
7868  }
7869  if (((bitField2_ & 0x00000001) != 0)) {
7870  output.writeBool(86, cpModelPresolve_);
7871  }
7872  if (((bitField3_ & 0x20000000) != 0)) {
7873  output.writeBool(87, enumerateAllSolutions_);
7874  }
7875  if (((bitField1_ & 0x10000000) != 0)) {
7876  output.writeBool(88, presolveBlockedClause_);
7877  }
7878  if (((bitField2_ & 0x00080000) != 0)) {
7879  output.writeBool(89, coverOptimization_);
7880  }
7881  if (((bitField2_ & 0x08000000) != 0)) {
7882  output.writeInt32(90, linearizationLevel_);
7883  }
7884  if (((bitField2_ & 0x20000000) != 0)) {
7885  output.writeInt32(91, maxNumCuts_);
7886  }
7887  if (((bitField2_ & 0x40000000) != 0)) {
7888  output.writeBool(92, onlyAddCutsAtLevelZero_);
7889  }
7890  if (((bitField2_ & 0x00000010) != 0)) {
7891  output.writeBool(93, cpModelUseSatPresolve_);
7892  }
7893  if (((bitField3_ & 0x00040000) != 0)) {
7894  output.writeBool(94, exploitIntegerLpSolution_);
7895  }
7896  if (((bitField4_ & 0x00000002) != 0)) {
7897  output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
7898  }
7899  if (((bitField0_ & 0x00100000) != 0)) {
7900  output.writeInt32(96, minimizeWithPropagationRestartPeriod_);
7901  }
7902  if (((bitField0_ & 0x00200000) != 0)) {
7903  output.writeInt32(97, minimizeWithPropagationNumDecisions_);
7904  }
7905  if (((bitField4_ & 0x00000004) != 0)) {
7906  output.writeBool(98, stopAfterFirstSolution_);
7907  }
7908  if (((bitField3_ & 0x08000000) != 0)) {
7909  output.writeInt32(99, binarySearchNumConflicts_);
7910  }
7911  if (((bitField4_ & 0x00000010) != 0)) {
7912  output.writeInt32(100, numSearchWorkers_);
7913  }
7914  if (((bitField4_ & 0x00000400) != 0)) {
7915  output.writeBool(101, useLnsOnly_);
7916  }
7917  if (((bitField4_ & 0x00040000) != 0)) {
7918  output.writeBool(103, randomizeSearch_);
7919  }
7920  if (((bitField4_ & 0x00080000) != 0)) {
7921  output.writeInt64(104, searchRandomizationTolerance_);
7922  }
7923  if (((bitField4_ & 0x00000800) != 0)) {
7924  output.writeBool(105, lnsFocusOnDecisionVariables_);
7925  }
7926  if (((bitField4_ & 0x00000001) != 0)) {
7927  output.writeBool(106, instantiateAllVariables_);
7928  }
7929  if (((bitField2_ & 0x10000000) != 0)) {
7930  output.writeInt32(107, booleanEncodingLevel_);
7931  }
7932  if (((bitField4_ & 0x00100000) != 0)) {
7933  output.writeBool(108, useOptionalVariables_);
7934  }
7935  if (((bitField4_ & 0x00200000) != 0)) {
7936  output.writeBool(109, useExactLpReason_);
7937  }
7938  if (((bitField2_ & 0x00000008) != 0)) {
7939  output.writeInt32(110, cpModelProbingLevel_);
7940  }
7941  if (((bitField2_ & 0x80000000) != 0)) {
7942  output.writeBool(111, addKnapsackCuts_);
7943  }
7944  if (((bitField3_ & 0x00000080) != 0)) {
7945  output.writeBool(112, addLpConstraintsLazily_);
7946  }
7947  if (((bitField4_ & 0x00000100) != 0)) {
7948  output.writeBool(113, shareObjectiveBounds_);
7949  }
7950  if (((bitField4_ & 0x00000200) != 0)) {
7951  output.writeBool(114, shareLevelZeroBounds_);
7952  }
7953  if (((bitField3_ & 0x00000100) != 0)) {
7954  output.writeDouble(115, minOrthogonalityForLpConstraints_);
7955  }
7956  if (((bitField3_ & 0x00080000) != 0)) {
7957  output.writeBool(116, exploitAllLpSolution_);
7958  }
7959  if (((bitField3_ & 0x00000001) != 0)) {
7960  output.writeBool(117, addCgCuts_);
7961  }
7962  if (((bitField3_ & 0x00000040) != 0)) {
7963  output.writeInt32(119, maxIntegerRoundingScaling_);
7964  }
7965  if (((bitField3_ & 0x00000002) != 0)) {
7966  output.writeBool(120, addMirCuts_);
7967  }
7968  if (((bitField3_ & 0x00000400) != 0)) {
7969  output.writeInt32(121, maxConsecutiveInactiveCount_);
7970  }
7971  if (((bitField3_ & 0x00004000) != 0)) {
7972  output.writeInt32(122, newConstraintsBatchSize_);
7973  }
7974  if (((bitField3_ & 0x02000000) != 0)) {
7975  output.writeInt64(123, pseudoCostReliabilityThreshold_);
7976  }
7977  if (((bitField4_ & 0x20000000) != 0)) {
7978  output.writeDouble(124, mipMaxBound_);
7979  }
7980  if (((bitField4_ & 0x40000000) != 0)) {
7981  output.writeDouble(125, mipVarScaling_);
7982  }
7983  if (((bitField5_ & 0x00000001) != 0)) {
7984  output.writeDouble(126, mipWantedPrecision_);
7985  }
7986  if (((bitField5_ & 0x00000002) != 0)) {
7987  output.writeInt32(127, mipMaxActivityExponent_);
7988  }
7989  if (((bitField5_ & 0x00000004) != 0)) {
7990  output.writeDouble(128, mipCheckPrecision_);
7991  }
7992  if (((bitField4_ & 0x00002000) != 0)) {
7993  output.writeBool(129, useRinsLns_);
7994  }
7995  if (((bitField3_ & 0x00100000) != 0)) {
7996  output.writeBool(130, exploitBestSolution_);
7997  }
7998  if (((bitField3_ & 0x00400000) != 0)) {
7999  output.writeBool(131, exploitObjective_);
8000  }
8001  if (((bitField3_ & 0x80000000) != 0)) {
8002  output.writeBool(132, fillTightenedDomainsInResponse_);
8003  }
8004  if (((bitField4_ & 0x00800000) != 0)) {
8005  output.writeBool(133, useCombinedNoOverlap_);
8006  }
8007  if (((bitField4_ & 0x00000040) != 0)) {
8008  output.writeInt32(134, interleaveBatchSize_);
8009  }
8010  if (((bitField4_ & 0x01000000) != 0)) {
8011  output.writeBool(135, catchSigintSignal_);
8012  }
8013  if (((bitField4_ & 0x00000020) != 0)) {
8014  output.writeBool(136, interleaveSearch_);
8015  }
8016  if (((bitField4_ & 0x00020000) != 0)) {
8017  output.writeBool(137, diversifyLnsParams_);
8018  }
8019  if (((bitField1_ & 0x80000000) != 0)) {
8020  output.writeInt32(138, maxPresolveIterations_);
8021  }
8022  if (((bitField4_ & 0x00400000) != 0)) {
8023  output.writeBool(139, useBranchingInLp_);
8024  }
8025  if (((bitField2_ & 0x00000040) != 0)) {
8026  output.writeBool(140, expandElementConstraints_);
8027  }
8028  if (((bitField4_ & 0x00000080) != 0)) {
8029  output.writeBool(141, reduceMemoryUsageInInterleaveMode_);
8030  }
8031  if (((bitField3_ & 0x00800000) != 0)) {
8032  output.writeInt64(142, probingPeriodAtRoot_);
8033  }
8034  if (((bitField2_ & 0x00000080) != 0)) {
8035  output.writeBool(143, expandAutomatonConstraints_);
8036  }
8037  if (((bitField4_ & 0x02000000) != 0)) {
8038  output.writeBool(144, useImpliedBounds_);
8039  }
8040  if (((bitField2_ & 0x00001000) != 0)) {
8041  output.writeDouble(145, mergeNoOverlapWorkLimit_);
8042  }
8043  if (((bitField2_ & 0x00002000) != 0)) {
8044  output.writeDouble(146, mergeAtMostOneWorkLimit_);
8045  }
8046  if (((bitField2_ & 0x00004000) != 0)) {
8047  output.writeInt32(147, presolveSubstitutionLevel_);
8048  }
8049  if (((bitField3_ & 0x00000010) != 0)) {
8050  output.writeInt32(148, maxAllDiffCutSize_);
8051  }
8052  if (((bitField4_ & 0x00000008) != 0)) {
8053  output.writeBool(149, stopAfterPresolve_);
8054  }
8055  if (((bitField4_ & 0x00010000) != 0)) {
8056  output.writeBool(150, useRelaxationLns_);
8057  }
8058  if (((bitField2_ & 0x00000004) != 0)) {
8059  output.writeInt32(151, cpModelMaxNumPresolveOperations_);
8060  }
8061  if (((bitField3_ & 0x00000020) != 0)) {
8062  output.writeBool(152, addLinMaxCuts_);
8063  }
8064  if (((bitField3_ & 0x00010000) != 0)) {
8065  output.writeInt32(153, hintConflictLimit_);
8066  }
8067  if (((bitField3_ & 0x00000200) != 0)) {
8068  output.writeInt32(154, maxCutRoundsAtLevelZero_);
8069  }
8070  if (((bitField3_ & 0x00000800) != 0)) {
8071  output.writeDouble(155, cutMaxActiveCountValue_);
8072  }
8073  if (((bitField3_ & 0x00001000) != 0)) {
8074  output.writeDouble(156, cutActiveCountDecay_);
8075  }
8076  if (((bitField3_ & 0x00002000) != 0)) {
8077  output.writeInt32(157, cutCleanupTarget_);
8078  }
8079  if (((bitField2_ & 0x00000100) != 0)) {
8080  output.writeBool(158, expandTableConstraints_);
8081  }
8082  if (((bitField1_ & 0x00000800) != 0)) {
8083  output.writeDouble(159, absoluteGapLimit_);
8084  }
8085  if (((bitField1_ & 0x00001000) != 0)) {
8086  output.writeDouble(160, relativeGapLimit_);
8087  }
8088  if (((bitField3_ & 0x00200000) != 0)) {
8089  output.writeBool(161, exploitRelaxationSolution_);
8090  }
8091  if (((bitField2_ & 0x00000002) != 0)) {
8092  output.writeBool(162, cpModelPostsolveWithFullSolver_);
8093  }
8094  if (((bitField2_ & 0x00000020) != 0)) {
8095  output.writeBool(163, useSatInprocessing_);
8096  }
8097  if (((bitField4_ & 0x00004000) != 0)) {
8098  output.writeBool(164, useFeasibilityPump_);
8099  }
8100  if (((bitField4_ & 0x00008000) != 0)) {
8101  output.writeEnum(165, fpRounding_);
8102  }
8103  if (((bitField4_ & 0x80000000) != 0)) {
8104  output.writeBool(166, mipAutomaticallyScaleVariables_);
8105  }
8106  if (((bitField3_ & 0x00020000) != 0)) {
8107  output.writeBool(167, repairHint_);
8108  }
8109  if (((bitField0_ & 0x00000010) != 0)) {
8110  output.writeInt32(168, polarityRephaseIncrement_);
8111  }
8112  if (((bitField3_ & 0x00000004) != 0)) {
8113  output.writeBool(169, addZeroHalfCuts_);
8114  }
8115  if (((bitField2_ & 0x00000200) != 0)) {
8116  output.writeBool(170, expandAlldiffConstraints_);
8117  }
8118  if (((bitField0_ & 0x00000001) != 0)) {
8119  com.google.protobuf.GeneratedMessageV3.writeString(output, 171, name_);
8120  }
8121  if (((bitField3_ & 0x00000008) != 0)) {
8122  output.writeBool(172, addCliqueCuts_);
8123  }
8124  if (((bitField3_ & 0x40000000) != 0)) {
8125  output.writeBool(173, keepAllFeasibleSolutionsInPresolve_);
8126  }
8127  if (((bitField2_ & 0x00008000) != 0)) {
8128  output.writeBool(174, presolveExtractIntegerEnforcement_);
8129  }
8130  if (((bitField4_ & 0x04000000) != 0)) {
8131  output.writeBool(175, polishLpSolution_);
8132  }
8133  if (((bitField3_ & 0x01000000) != 0)) {
8134  output.writeBool(176, useProbingSearch_);
8135  }
8136  if (((bitField4_ & 0x08000000) != 0)) {
8137  output.writeBool(177, convertIntervals_);
8138  }
8139  if (((bitField1_ & 0x00008000) != 0)) {
8140  output.writeBool(178, permuteVariableRandomly_);
8141  }
8142  if (((bitField1_ & 0x00010000) != 0)) {
8143  output.writeBool(179, permutePresolveConstraintOrder_);
8144  }
8145  if (((bitField1_ & 0x00020000) != 0)) {
8146  output.writeBool(180, useAbslRandom_);
8147  }
8148  if (((bitField2_ & 0x00000800) != 0)) {
8149  output.writeBool(181, disableConstraintExpansion_);
8150  }
8151  if (((bitField2_ & 0x00000400) != 0)) {
8152  output.writeBool(182, expandReservoirConstraints_);
8153  }
8154  if (((bitField4_ & 0x10000000) != 0)) {
8155  output.writeInt32(183, symmetryLevel_);
8156  }
8157  if (((bitField4_ & 0x00001000) != 0)) {
8158  output.writeBool(184, lnsExpandIntervalsInConstraintGraph_);
8159  }
8160  if (((bitField1_ & 0x00080000) != 0)) {
8161  com.google.protobuf.GeneratedMessageV3.writeString(output, 185, logPrefix_);
8162  }
8163  if (((bitField1_ & 0x00100000) != 0)) {
8164  output.writeBool(186, logToStdout_);
8165  }
8166  if (((bitField1_ & 0x00200000) != 0)) {
8167  output.writeBool(187, logToResponse_);
8168  }
8169  unknownFields.writeTo(output);
8170  }
8171 
8172  @java.lang.Override
8173  public int getSerializedSize() {
8174  int size = memoizedSize;
8175  if (size != -1) return size;
8176 
8177  size = 0;
8178  if (((bitField0_ & 0x00000002) != 0)) {
8179  size += com.google.protobuf.CodedOutputStream
8180  .computeEnumSize(1, preferredVariableOrder_);
8181  }
8182  if (((bitField0_ & 0x00000004) != 0)) {
8183  size += com.google.protobuf.CodedOutputStream
8184  .computeEnumSize(2, initialPolarity_);
8185  }
8186  if (((bitField0_ & 0x00000400) != 0)) {
8187  size += com.google.protobuf.CodedOutputStream
8188  .computeEnumSize(4, minimizationAlgorithm_);
8189  }
8190  if (((bitField0_ & 0x00002000) != 0)) {
8191  size += com.google.protobuf.CodedOutputStream
8192  .computeInt32Size(11, clauseCleanupPeriod_);
8193  }
8194  if (((bitField0_ & 0x00004000) != 0)) {
8195  size += com.google.protobuf.CodedOutputStream
8196  .computeInt32Size(13, clauseCleanupTarget_);
8197  }
8198  if (((bitField0_ & 0x00400000) != 0)) {
8199  size += com.google.protobuf.CodedOutputStream
8200  .computeDoubleSize(15, variableActivityDecay_);
8201  }
8202  if (((bitField0_ & 0x00800000) != 0)) {
8203  size += com.google.protobuf.CodedOutputStream
8204  .computeDoubleSize(16, maxVariableActivityValue_);
8205  }
8206  if (((bitField0_ & 0x08000000) != 0)) {
8207  size += com.google.protobuf.CodedOutputStream
8208  .computeDoubleSize(17, clauseActivityDecay_);
8209  }
8210  if (((bitField0_ & 0x10000000) != 0)) {
8211  size += com.google.protobuf.CodedOutputStream
8212  .computeDoubleSize(18, maxClauseActivityValue_);
8213  }
8214  if (((bitField0_ & 0x01000000) != 0)) {
8215  size += com.google.protobuf.CodedOutputStream
8216  .computeDoubleSize(22, glucoseMaxDecay_);
8217  }
8218  if (((bitField0_ & 0x02000000) != 0)) {
8219  size += com.google.protobuf.CodedOutputStream
8220  .computeDoubleSize(23, glucoseDecayIncrement_);
8221  }
8222  if (((bitField0_ & 0x04000000) != 0)) {
8223  size += com.google.protobuf.CodedOutputStream
8224  .computeInt32Size(24, glucoseDecayIncrementPeriod_);
8225  }
8226  if (((bitField0_ & 0x40000000) != 0)) {
8227  size += com.google.protobuf.CodedOutputStream
8228  .computeInt32Size(30, restartPeriod_);
8229  }
8230  if (((bitField1_ & 0x00004000) != 0)) {
8231  size += com.google.protobuf.CodedOutputStream
8232  .computeInt32Size(31, randomSeed_);
8233  }
8234  if (((bitField0_ & 0x00000040) != 0)) {
8235  size += com.google.protobuf.CodedOutputStream
8236  .computeDoubleSize(32, randomBranchesRatio_);
8237  }
8238  if (((bitField1_ & 0x00002000) != 0)) {
8239  size += com.google.protobuf.CodedOutputStream
8240  .computeBoolSize(33, treatBinaryClausesSeparately_);
8241  }
8242  if (((bitField0_ & 0x00000800) != 0)) {
8243  size += com.google.protobuf.CodedOutputStream
8244  .computeEnumSize(34, binaryMinimizationAlgorithm_);
8245  }
8246  if (((bitField2_ & 0x00010000) != 0)) {
8247  size += com.google.protobuf.CodedOutputStream
8248  .computeBoolSize(35, useOptimizationHints_);
8249  }
8250  if (((bitField1_ & 0x00000080) != 0)) {
8251  size += com.google.protobuf.CodedOutputStream
8252  .computeDoubleSize(36, maxTimeInSeconds_);
8253  }
8254  if (((bitField1_ & 0x00000200) != 0)) {
8255  size += com.google.protobuf.CodedOutputStream
8256  .computeInt64Size(37, maxNumberOfConflicts_);
8257  }
8258  if (((bitField1_ & 0x00000400) != 0)) {
8259  size += com.google.protobuf.CodedOutputStream
8260  .computeInt64Size(40, maxMemoryInMb_);
8261  }
8262  if (((bitField1_ & 0x00040000) != 0)) {
8263  size += com.google.protobuf.CodedOutputStream
8264  .computeBoolSize(41, logSearchProgress_);
8265  }
8266  if (((bitField1_ & 0x00400000) != 0)) {
8267  size += com.google.protobuf.CodedOutputStream
8268  .computeBoolSize(43, usePbResolution_);
8269  }
8270  if (((bitField0_ & 0x00000008) != 0)) {
8271  size += com.google.protobuf.CodedOutputStream
8272  .computeBoolSize(44, usePhaseSaving_);
8273  }
8274  if (((bitField0_ & 0x00000020) != 0)) {
8275  size += com.google.protobuf.CodedOutputStream
8276  .computeDoubleSize(45, randomPolarityRatio_);
8277  }
8278  if (((bitField0_ & 0x00040000) != 0)) {
8279  size += com.google.protobuf.CodedOutputStream
8280  .computeInt32Size(46, pbCleanupIncrement_);
8281  }
8282  if (((bitField0_ & 0x00080000) != 0)) {
8283  size += com.google.protobuf.CodedOutputStream
8284  .computeDoubleSize(47, pbCleanupRatio_);
8285  }
8286  if (((bitField1_ & 0x00800000) != 0)) {
8287  size += com.google.protobuf.CodedOutputStream
8288  .computeBoolSize(48, minimizeReductionDuringPbResolution_);
8289  }
8290  if (((bitField1_ & 0x01000000) != 0)) {
8291  size += com.google.protobuf.CodedOutputStream
8292  .computeBoolSize(49, countAssumptionLevelsInLbd_);
8293  }
8294  if (((bitField2_ & 0x00020000) != 0)) {
8295  size += com.google.protobuf.CodedOutputStream
8296  .computeBoolSize(50, minimizeCore_);
8297  }
8298  if (((bitField2_ & 0x00100000) != 0)) {
8299  size += com.google.protobuf.CodedOutputStream
8300  .computeEnumSize(51, maxSatAssumptionOrder_);
8301  }
8302  if (((bitField2_ & 0x00200000) != 0)) {
8303  size += com.google.protobuf.CodedOutputStream
8304  .computeBoolSize(52, maxSatReverseAssumptionOrder_);
8305  }
8306  if (((bitField2_ & 0x00400000) != 0)) {
8307  size += com.google.protobuf.CodedOutputStream
8308  .computeEnumSize(53, maxSatStratification_);
8309  }
8310  if (((bitField1_ & 0x02000000) != 0)) {
8311  size += com.google.protobuf.CodedOutputStream
8312  .computeInt32Size(54, presolveBveThreshold_);
8313  }
8314  if (((bitField1_ & 0x04000000) != 0)) {
8315  size += com.google.protobuf.CodedOutputStream
8316  .computeInt32Size(55, presolveBveClauseWeight_);
8317  }
8318  if (((bitField0_ & 0x00001000) != 0)) {
8319  size += com.google.protobuf.CodedOutputStream
8320  .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
8321  }
8322  if (((bitField1_ & 0x08000000) != 0)) {
8323  size += com.google.protobuf.CodedOutputStream
8324  .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
8325  }
8326  if (((bitField0_ & 0x00008000) != 0)) {
8327  size += com.google.protobuf.CodedOutputStream
8328  .computeEnumSize(58, clauseCleanupProtection_);
8329  }
8330  if (((bitField0_ & 0x00010000) != 0)) {
8331  size += com.google.protobuf.CodedOutputStream
8332  .computeInt32Size(59, clauseCleanupLbdBound_);
8333  }
8334  if (((bitField0_ & 0x00020000) != 0)) {
8335  size += com.google.protobuf.CodedOutputStream
8336  .computeEnumSize(60, clauseCleanupOrdering_);
8337  }
8338  {
8339  int dataSize = 0;
8340  for (int i = 0; i < restartAlgorithms_.size(); i++) {
8341  dataSize += com.google.protobuf.CodedOutputStream
8342  .computeEnumSizeNoTag(restartAlgorithms_.get(i));
8343  }
8344  size += dataSize;
8345  size += 2 * restartAlgorithms_.size();
8346  }
8347  if (((bitField0_ & 0x80000000) != 0)) {
8348  size += com.google.protobuf.CodedOutputStream
8349  .computeInt32Size(62, restartRunningWindowSize_);
8350  }
8351  if (((bitField1_ & 0x00000001) != 0)) {
8352  size += com.google.protobuf.CodedOutputStream
8353  .computeDoubleSize(63, restartDlAverageRatio_);
8354  }
8355  if (((bitField1_ & 0x00000004) != 0)) {
8356  size += com.google.protobuf.CodedOutputStream
8357  .computeBoolSize(64, useBlockingRestart_);
8358  }
8359  if (((bitField1_ & 0x00000008) != 0)) {
8360  size += com.google.protobuf.CodedOutputStream
8361  .computeInt32Size(65, blockingRestartWindowSize_);
8362  }
8363  if (((bitField1_ & 0x00000010) != 0)) {
8364  size += com.google.protobuf.CodedOutputStream
8365  .computeDoubleSize(66, blockingRestartMultiplier_);
8366  }
8367  if (((bitField1_ & 0x00000100) != 0)) {
8368  size += com.google.protobuf.CodedOutputStream
8369  .computeDoubleSize(67, maxDeterministicTime_);
8370  }
8371  if (((bitField1_ & 0x00000020) != 0)) {
8372  size += com.google.protobuf.CodedOutputStream
8373  .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
8374  }
8375  if (((bitField1_ & 0x00000040) != 0)) {
8376  size += com.google.protobuf.CodedOutputStream
8377  .computeDoubleSize(69, strategyChangeIncreaseRatio_);
8378  }
8379  if (((bitField0_ & 0x20000000) != 0)) {
8380  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
8381  }
8382  if (((bitField1_ & 0x00000002) != 0)) {
8383  size += com.google.protobuf.CodedOutputStream
8384  .computeDoubleSize(71, restartLbdAverageRatio_);
8385  }
8386  if (((bitField1_ & 0x20000000) != 0)) {
8387  size += com.google.protobuf.CodedOutputStream
8388  .computeBoolSize(72, presolveUseBva_);
8389  }
8390  if (((bitField1_ & 0x40000000) != 0)) {
8391  size += com.google.protobuf.CodedOutputStream
8392  .computeInt32Size(73, presolveBvaThreshold_);
8393  }
8394  if (((bitField2_ & 0x00800000) != 0)) {
8395  size += com.google.protobuf.CodedOutputStream
8396  .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
8397  }
8398  if (((bitField0_ & 0x00000080) != 0)) {
8399  size += com.google.protobuf.CodedOutputStream
8400  .computeBoolSize(75, useErwaHeuristic_);
8401  }
8402  if (((bitField0_ & 0x00000100) != 0)) {
8403  size += com.google.protobuf.CodedOutputStream
8404  .computeDoubleSize(76, initialVariablesActivity_);
8405  }
8406  if (((bitField0_ & 0x00000200) != 0)) {
8407  size += com.google.protobuf.CodedOutputStream
8408  .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
8409  }
8410  if (((bitField2_ & 0x01000000) != 0)) {
8411  size += com.google.protobuf.CodedOutputStream
8412  .computeBoolSize(78, useOverloadCheckerInCumulativeConstraint_);
8413  }
8414  if (((bitField2_ & 0x02000000) != 0)) {
8415  size += com.google.protobuf.CodedOutputStream
8416  .computeBoolSize(79, useTimetableEdgeFindingInCumulativeConstraint_);
8417  }
8418  if (((bitField2_ & 0x04000000) != 0)) {
8419  size += com.google.protobuf.CodedOutputStream
8420  .computeBoolSize(80, useDisjunctiveConstraintInCumulativeConstraint_);
8421  }
8422  if (((bitField3_ & 0x00008000) != 0)) {
8423  size += com.google.protobuf.CodedOutputStream
8424  .computeEnumSize(82, searchBranching_);
8425  }
8426  if (((bitField3_ & 0x04000000) != 0)) {
8427  size += com.google.protobuf.CodedOutputStream
8428  .computeBoolSize(83, optimizeWithCore_);
8429  }
8430  if (((bitField2_ & 0x00040000) != 0)) {
8431  size += com.google.protobuf.CodedOutputStream
8432  .computeBoolSize(84, findMultipleCores_);
8433  }
8434  if (((bitField3_ & 0x10000000) != 0)) {
8435  size += com.google.protobuf.CodedOutputStream
8436  .computeBoolSize(85, optimizeWithMaxHs_);
8437  }
8438  if (((bitField2_ & 0x00000001) != 0)) {
8439  size += com.google.protobuf.CodedOutputStream
8440  .computeBoolSize(86, cpModelPresolve_);
8441  }
8442  if (((bitField3_ & 0x20000000) != 0)) {
8443  size += com.google.protobuf.CodedOutputStream
8444  .computeBoolSize(87, enumerateAllSolutions_);
8445  }
8446  if (((bitField1_ & 0x10000000) != 0)) {
8447  size += com.google.protobuf.CodedOutputStream
8448  .computeBoolSize(88, presolveBlockedClause_);
8449  }
8450  if (((bitField2_ & 0x00080000) != 0)) {
8451  size += com.google.protobuf.CodedOutputStream
8452  .computeBoolSize(89, coverOptimization_);
8453  }
8454  if (((bitField2_ & 0x08000000) != 0)) {
8455  size += com.google.protobuf.CodedOutputStream
8456  .computeInt32Size(90, linearizationLevel_);
8457  }
8458  if (((bitField2_ & 0x20000000) != 0)) {
8459  size += com.google.protobuf.CodedOutputStream
8460  .computeInt32Size(91, maxNumCuts_);
8461  }
8462  if (((bitField2_ & 0x40000000) != 0)) {
8463  size += com.google.protobuf.CodedOutputStream
8464  .computeBoolSize(92, onlyAddCutsAtLevelZero_);
8465  }
8466  if (((bitField2_ & 0x00000010) != 0)) {
8467  size += com.google.protobuf.CodedOutputStream
8468  .computeBoolSize(93, cpModelUseSatPresolve_);
8469  }
8470  if (((bitField3_ & 0x00040000) != 0)) {
8471  size += com.google.protobuf.CodedOutputStream
8472  .computeBoolSize(94, exploitIntegerLpSolution_);
8473  }
8474  if (((bitField4_ & 0x00000002) != 0)) {
8475  size += com.google.protobuf.CodedOutputStream
8476  .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
8477  }
8478  if (((bitField0_ & 0x00100000) != 0)) {
8479  size += com.google.protobuf.CodedOutputStream
8480  .computeInt32Size(96, minimizeWithPropagationRestartPeriod_);
8481  }
8482  if (((bitField0_ & 0x00200000) != 0)) {
8483  size += com.google.protobuf.CodedOutputStream
8484  .computeInt32Size(97, minimizeWithPropagationNumDecisions_);
8485  }
8486  if (((bitField4_ & 0x00000004) != 0)) {
8487  size += com.google.protobuf.CodedOutputStream
8488  .computeBoolSize(98, stopAfterFirstSolution_);
8489  }
8490  if (((bitField3_ & 0x08000000) != 0)) {
8491  size += com.google.protobuf.CodedOutputStream
8492  .computeInt32Size(99, binarySearchNumConflicts_);
8493  }
8494  if (((bitField4_ & 0x00000010) != 0)) {
8495  size += com.google.protobuf.CodedOutputStream
8496  .computeInt32Size(100, numSearchWorkers_);
8497  }
8498  if (((bitField4_ & 0x00000400) != 0)) {
8499  size += com.google.protobuf.CodedOutputStream
8500  .computeBoolSize(101, useLnsOnly_);
8501  }
8502  if (((bitField4_ & 0x00040000) != 0)) {
8503  size += com.google.protobuf.CodedOutputStream
8504  .computeBoolSize(103, randomizeSearch_);
8505  }
8506  if (((bitField4_ & 0x00080000) != 0)) {
8507  size += com.google.protobuf.CodedOutputStream
8508  .computeInt64Size(104, searchRandomizationTolerance_);
8509  }
8510  if (((bitField4_ & 0x00000800) != 0)) {
8511  size += com.google.protobuf.CodedOutputStream
8512  .computeBoolSize(105, lnsFocusOnDecisionVariables_);
8513  }
8514  if (((bitField4_ & 0x00000001) != 0)) {
8515  size += com.google.protobuf.CodedOutputStream
8516  .computeBoolSize(106, instantiateAllVariables_);
8517  }
8518  if (((bitField2_ & 0x10000000) != 0)) {
8519  size += com.google.protobuf.CodedOutputStream
8520  .computeInt32Size(107, booleanEncodingLevel_);
8521  }
8522  if (((bitField4_ & 0x00100000) != 0)) {
8523  size += com.google.protobuf.CodedOutputStream
8524  .computeBoolSize(108, useOptionalVariables_);
8525  }
8526  if (((bitField4_ & 0x00200000) != 0)) {
8527  size += com.google.protobuf.CodedOutputStream
8528  .computeBoolSize(109, useExactLpReason_);
8529  }
8530  if (((bitField2_ & 0x00000008) != 0)) {
8531  size += com.google.protobuf.CodedOutputStream
8532  .computeInt32Size(110, cpModelProbingLevel_);
8533  }
8534  if (((bitField2_ & 0x80000000) != 0)) {
8535  size += com.google.protobuf.CodedOutputStream
8536  .computeBoolSize(111, addKnapsackCuts_);
8537  }
8538  if (((bitField3_ & 0x00000080) != 0)) {
8539  size += com.google.protobuf.CodedOutputStream
8540  .computeBoolSize(112, addLpConstraintsLazily_);
8541  }
8542  if (((bitField4_ & 0x00000100) != 0)) {
8543  size += com.google.protobuf.CodedOutputStream
8544  .computeBoolSize(113, shareObjectiveBounds_);
8545  }
8546  if (((bitField4_ & 0x00000200) != 0)) {
8547  size += com.google.protobuf.CodedOutputStream
8548  .computeBoolSize(114, shareLevelZeroBounds_);
8549  }
8550  if (((bitField3_ & 0x00000100) != 0)) {
8551  size += com.google.protobuf.CodedOutputStream
8552  .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
8553  }
8554  if (((bitField3_ & 0x00080000) != 0)) {
8555  size += com.google.protobuf.CodedOutputStream
8556  .computeBoolSize(116, exploitAllLpSolution_);
8557  }
8558  if (((bitField3_ & 0x00000001) != 0)) {
8559  size += com.google.protobuf.CodedOutputStream
8560  .computeBoolSize(117, addCgCuts_);
8561  }
8562  if (((bitField3_ & 0x00000040) != 0)) {
8563  size += com.google.protobuf.CodedOutputStream
8564  .computeInt32Size(119, maxIntegerRoundingScaling_);
8565  }
8566  if (((bitField3_ & 0x00000002) != 0)) {
8567  size += com.google.protobuf.CodedOutputStream
8568  .computeBoolSize(120, addMirCuts_);
8569  }
8570  if (((bitField3_ & 0x00000400) != 0)) {
8571  size += com.google.protobuf.CodedOutputStream
8572  .computeInt32Size(121, maxConsecutiveInactiveCount_);
8573  }
8574  if (((bitField3_ & 0x00004000) != 0)) {
8575  size += com.google.protobuf.CodedOutputStream
8576  .computeInt32Size(122, newConstraintsBatchSize_);
8577  }
8578  if (((bitField3_ & 0x02000000) != 0)) {
8579  size += com.google.protobuf.CodedOutputStream
8580  .computeInt64Size(123, pseudoCostReliabilityThreshold_);
8581  }
8582  if (((bitField4_ & 0x20000000) != 0)) {
8583  size += com.google.protobuf.CodedOutputStream
8584  .computeDoubleSize(124, mipMaxBound_);
8585  }
8586  if (((bitField4_ & 0x40000000) != 0)) {
8587  size += com.google.protobuf.CodedOutputStream
8588  .computeDoubleSize(125, mipVarScaling_);
8589  }
8590  if (((bitField5_ & 0x00000001) != 0)) {
8591  size += com.google.protobuf.CodedOutputStream
8592  .computeDoubleSize(126, mipWantedPrecision_);
8593  }
8594  if (((bitField5_ & 0x00000002) != 0)) {
8595  size += com.google.protobuf.CodedOutputStream
8596  .computeInt32Size(127, mipMaxActivityExponent_);
8597  }
8598  if (((bitField5_ & 0x00000004) != 0)) {
8599  size += com.google.protobuf.CodedOutputStream
8600  .computeDoubleSize(128, mipCheckPrecision_);
8601  }
8602  if (((bitField4_ & 0x00002000) != 0)) {
8603  size += com.google.protobuf.CodedOutputStream
8604  .computeBoolSize(129, useRinsLns_);
8605  }
8606  if (((bitField3_ & 0x00100000) != 0)) {
8607  size += com.google.protobuf.CodedOutputStream
8608  .computeBoolSize(130, exploitBestSolution_);
8609  }
8610  if (((bitField3_ & 0x00400000) != 0)) {
8611  size += com.google.protobuf.CodedOutputStream
8612  .computeBoolSize(131, exploitObjective_);
8613  }
8614  if (((bitField3_ & 0x80000000) != 0)) {
8615  size += com.google.protobuf.CodedOutputStream
8616  .computeBoolSize(132, fillTightenedDomainsInResponse_);
8617  }
8618  if (((bitField4_ & 0x00800000) != 0)) {
8619  size += com.google.protobuf.CodedOutputStream
8620  .computeBoolSize(133, useCombinedNoOverlap_);
8621  }
8622  if (((bitField4_ & 0x00000040) != 0)) {
8623  size += com.google.protobuf.CodedOutputStream
8624  .computeInt32Size(134, interleaveBatchSize_);
8625  }
8626  if (((bitField4_ & 0x01000000) != 0)) {
8627  size += com.google.protobuf.CodedOutputStream
8628  .computeBoolSize(135, catchSigintSignal_);
8629  }
8630  if (((bitField4_ & 0x00000020) != 0)) {
8631  size += com.google.protobuf.CodedOutputStream
8632  .computeBoolSize(136, interleaveSearch_);
8633  }
8634  if (((bitField4_ & 0x00020000) != 0)) {
8635  size += com.google.protobuf.CodedOutputStream
8636  .computeBoolSize(137, diversifyLnsParams_);
8637  }
8638  if (((bitField1_ & 0x80000000) != 0)) {
8639  size += com.google.protobuf.CodedOutputStream
8640  .computeInt32Size(138, maxPresolveIterations_);
8641  }
8642  if (((bitField4_ & 0x00400000) != 0)) {
8643  size += com.google.protobuf.CodedOutputStream
8644  .computeBoolSize(139, useBranchingInLp_);
8645  }
8646  if (((bitField2_ & 0x00000040) != 0)) {
8647  size += com.google.protobuf.CodedOutputStream
8648  .computeBoolSize(140, expandElementConstraints_);
8649  }
8650  if (((bitField4_ & 0x00000080) != 0)) {
8651  size += com.google.protobuf.CodedOutputStream
8652  .computeBoolSize(141, reduceMemoryUsageInInterleaveMode_);
8653  }
8654  if (((bitField3_ & 0x00800000) != 0)) {
8655  size += com.google.protobuf.CodedOutputStream
8656  .computeInt64Size(142, probingPeriodAtRoot_);
8657  }
8658  if (((bitField2_ & 0x00000080) != 0)) {
8659  size += com.google.protobuf.CodedOutputStream
8660  .computeBoolSize(143, expandAutomatonConstraints_);
8661  }
8662  if (((bitField4_ & 0x02000000) != 0)) {
8663  size += com.google.protobuf.CodedOutputStream
8664  .computeBoolSize(144, useImpliedBounds_);
8665  }
8666  if (((bitField2_ & 0x00001000) != 0)) {
8667  size += com.google.protobuf.CodedOutputStream
8668  .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
8669  }
8670  if (((bitField2_ & 0x00002000) != 0)) {
8671  size += com.google.protobuf.CodedOutputStream
8672  .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
8673  }
8674  if (((bitField2_ & 0x00004000) != 0)) {
8675  size += com.google.protobuf.CodedOutputStream
8676  .computeInt32Size(147, presolveSubstitutionLevel_);
8677  }
8678  if (((bitField3_ & 0x00000010) != 0)) {
8679  size += com.google.protobuf.CodedOutputStream
8680  .computeInt32Size(148, maxAllDiffCutSize_);
8681  }
8682  if (((bitField4_ & 0x00000008) != 0)) {
8683  size += com.google.protobuf.CodedOutputStream
8684  .computeBoolSize(149, stopAfterPresolve_);
8685  }
8686  if (((bitField4_ & 0x00010000) != 0)) {
8687  size += com.google.protobuf.CodedOutputStream
8688  .computeBoolSize(150, useRelaxationLns_);
8689  }
8690  if (((bitField2_ & 0x00000004) != 0)) {
8691  size += com.google.protobuf.CodedOutputStream
8692  .computeInt32Size(151, cpModelMaxNumPresolveOperations_);
8693  }
8694  if (((bitField3_ & 0x00000020) != 0)) {
8695  size += com.google.protobuf.CodedOutputStream
8696  .computeBoolSize(152, addLinMaxCuts_);
8697  }
8698  if (((bitField3_ & 0x00010000) != 0)) {
8699  size += com.google.protobuf.CodedOutputStream
8700  .computeInt32Size(153, hintConflictLimit_);
8701  }
8702  if (((bitField3_ & 0x00000200) != 0)) {
8703  size += com.google.protobuf.CodedOutputStream
8704  .computeInt32Size(154, maxCutRoundsAtLevelZero_);
8705  }
8706  if (((bitField3_ & 0x00000800) != 0)) {
8707  size += com.google.protobuf.CodedOutputStream
8708  .computeDoubleSize(155, cutMaxActiveCountValue_);
8709  }
8710  if (((bitField3_ & 0x00001000) != 0)) {
8711  size += com.google.protobuf.CodedOutputStream
8712  .computeDoubleSize(156, cutActiveCountDecay_);
8713  }
8714  if (((bitField3_ & 0x00002000) != 0)) {
8715  size += com.google.protobuf.CodedOutputStream
8716  .computeInt32Size(157, cutCleanupTarget_);
8717  }
8718  if (((bitField2_ & 0x00000100) != 0)) {
8719  size += com.google.protobuf.CodedOutputStream
8720  .computeBoolSize(158, expandTableConstraints_);
8721  }
8722  if (((bitField1_ & 0x00000800) != 0)) {
8723  size += com.google.protobuf.CodedOutputStream
8724  .computeDoubleSize(159, absoluteGapLimit_);
8725  }
8726  if (((bitField1_ & 0x00001000) != 0)) {
8727  size += com.google.protobuf.CodedOutputStream
8728  .computeDoubleSize(160, relativeGapLimit_);
8729  }
8730  if (((bitField3_ & 0x00200000) != 0)) {
8731  size += com.google.protobuf.CodedOutputStream
8732  .computeBoolSize(161, exploitRelaxationSolution_);
8733  }
8734  if (((bitField2_ & 0x00000002) != 0)) {
8735  size += com.google.protobuf.CodedOutputStream
8736  .computeBoolSize(162, cpModelPostsolveWithFullSolver_);
8737  }
8738  if (((bitField2_ & 0x00000020) != 0)) {
8739  size += com.google.protobuf.CodedOutputStream
8740  .computeBoolSize(163, useSatInprocessing_);
8741  }
8742  if (((bitField4_ & 0x00004000) != 0)) {
8743  size += com.google.protobuf.CodedOutputStream
8744  .computeBoolSize(164, useFeasibilityPump_);
8745  }
8746  if (((bitField4_ & 0x00008000) != 0)) {
8747  size += com.google.protobuf.CodedOutputStream
8748  .computeEnumSize(165, fpRounding_);
8749  }
8750  if (((bitField4_ & 0x80000000) != 0)) {
8751  size += com.google.protobuf.CodedOutputStream
8752  .computeBoolSize(166, mipAutomaticallyScaleVariables_);
8753  }
8754  if (((bitField3_ & 0x00020000) != 0)) {
8755  size += com.google.protobuf.CodedOutputStream
8756  .computeBoolSize(167, repairHint_);
8757  }
8758  if (((bitField0_ & 0x00000010) != 0)) {
8759  size += com.google.protobuf.CodedOutputStream
8760  .computeInt32Size(168, polarityRephaseIncrement_);
8761  }
8762  if (((bitField3_ & 0x00000004) != 0)) {
8763  size += com.google.protobuf.CodedOutputStream
8764  .computeBoolSize(169, addZeroHalfCuts_);
8765  }
8766  if (((bitField2_ & 0x00000200) != 0)) {
8767  size += com.google.protobuf.CodedOutputStream
8768  .computeBoolSize(170, expandAlldiffConstraints_);
8769  }
8770  if (((bitField0_ & 0x00000001) != 0)) {
8771  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(171, name_);
8772  }
8773  if (((bitField3_ & 0x00000008) != 0)) {
8774  size += com.google.protobuf.CodedOutputStream
8775  .computeBoolSize(172, addCliqueCuts_);
8776  }
8777  if (((bitField3_ & 0x40000000) != 0)) {
8778  size += com.google.protobuf.CodedOutputStream
8779  .computeBoolSize(173, keepAllFeasibleSolutionsInPresolve_);
8780  }
8781  if (((bitField2_ & 0x00008000) != 0)) {
8782  size += com.google.protobuf.CodedOutputStream
8783  .computeBoolSize(174, presolveExtractIntegerEnforcement_);
8784  }
8785  if (((bitField4_ & 0x04000000) != 0)) {
8786  size += com.google.protobuf.CodedOutputStream
8787  .computeBoolSize(175, polishLpSolution_);
8788  }
8789  if (((bitField3_ & 0x01000000) != 0)) {
8790  size += com.google.protobuf.CodedOutputStream
8791  .computeBoolSize(176, useProbingSearch_);
8792  }
8793  if (((bitField4_ & 0x08000000) != 0)) {
8794  size += com.google.protobuf.CodedOutputStream
8795  .computeBoolSize(177, convertIntervals_);
8796  }
8797  if (((bitField1_ & 0x00008000) != 0)) {
8798  size += com.google.protobuf.CodedOutputStream
8799  .computeBoolSize(178, permuteVariableRandomly_);
8800  }
8801  if (((bitField1_ & 0x00010000) != 0)) {
8802  size += com.google.protobuf.CodedOutputStream
8803  .computeBoolSize(179, permutePresolveConstraintOrder_);
8804  }
8805  if (((bitField1_ & 0x00020000) != 0)) {
8806  size += com.google.protobuf.CodedOutputStream
8807  .computeBoolSize(180, useAbslRandom_);
8808  }
8809  if (((bitField2_ & 0x00000800) != 0)) {
8810  size += com.google.protobuf.CodedOutputStream
8811  .computeBoolSize(181, disableConstraintExpansion_);
8812  }
8813  if (((bitField2_ & 0x00000400) != 0)) {
8814  size += com.google.protobuf.CodedOutputStream
8815  .computeBoolSize(182, expandReservoirConstraints_);
8816  }
8817  if (((bitField4_ & 0x10000000) != 0)) {
8818  size += com.google.protobuf.CodedOutputStream
8819  .computeInt32Size(183, symmetryLevel_);
8820  }
8821  if (((bitField4_ & 0x00001000) != 0)) {
8822  size += com.google.protobuf.CodedOutputStream
8823  .computeBoolSize(184, lnsExpandIntervalsInConstraintGraph_);
8824  }
8825  if (((bitField1_ & 0x00080000) != 0)) {
8826  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(185, logPrefix_);
8827  }
8828  if (((bitField1_ & 0x00100000) != 0)) {
8829  size += com.google.protobuf.CodedOutputStream
8830  .computeBoolSize(186, logToStdout_);
8831  }
8832  if (((bitField1_ & 0x00200000) != 0)) {
8833  size += com.google.protobuf.CodedOutputStream
8834  .computeBoolSize(187, logToResponse_);
8835  }
8836  size += unknownFields.getSerializedSize();
8837  memoizedSize = size;
8838  return size;
8839  }
8840 
8841  @java.lang.Override
8842  public boolean equals(final java.lang.Object obj) {
8843  if (obj == this) {
8844  return true;
8845  }
8846  if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
8847  return super.equals(obj);
8848  }
8849  com.google.ortools.sat.SatParameters other = (com.google.ortools.sat.SatParameters) obj;
8850 
8851  if (hasName() != other.hasName()) return false;
8852  if (hasName()) {
8853  if (!getName()
8854  .equals(other.getName())) return false;
8855  }
8856  if (hasPreferredVariableOrder() != other.hasPreferredVariableOrder()) return false;
8857  if (hasPreferredVariableOrder()) {
8858  if (preferredVariableOrder_ != other.preferredVariableOrder_) return false;
8859  }
8860  if (hasInitialPolarity() != other.hasInitialPolarity()) return false;
8861  if (hasInitialPolarity()) {
8862  if (initialPolarity_ != other.initialPolarity_) return false;
8863  }
8864  if (hasUsePhaseSaving() != other.hasUsePhaseSaving()) return false;
8865  if (hasUsePhaseSaving()) {
8866  if (getUsePhaseSaving()
8867  != other.getUsePhaseSaving()) return false;
8868  }
8869  if (hasPolarityRephaseIncrement() != other.hasPolarityRephaseIncrement()) return false;
8872  != other.getPolarityRephaseIncrement()) return false;
8873  }
8874  if (hasRandomPolarityRatio() != other.hasRandomPolarityRatio()) return false;
8875  if (hasRandomPolarityRatio()) {
8876  if (java.lang.Double.doubleToLongBits(getRandomPolarityRatio())
8877  != java.lang.Double.doubleToLongBits(
8878  other.getRandomPolarityRatio())) return false;
8879  }
8880  if (hasRandomBranchesRatio() != other.hasRandomBranchesRatio()) return false;
8881  if (hasRandomBranchesRatio()) {
8882  if (java.lang.Double.doubleToLongBits(getRandomBranchesRatio())
8883  != java.lang.Double.doubleToLongBits(
8884  other.getRandomBranchesRatio())) return false;
8885  }
8886  if (hasUseErwaHeuristic() != other.hasUseErwaHeuristic()) return false;
8887  if (hasUseErwaHeuristic()) {
8888  if (getUseErwaHeuristic()
8889  != other.getUseErwaHeuristic()) return false;
8890  }
8891  if (hasInitialVariablesActivity() != other.hasInitialVariablesActivity()) return false;
8893  if (java.lang.Double.doubleToLongBits(getInitialVariablesActivity())
8894  != java.lang.Double.doubleToLongBits(
8895  other.getInitialVariablesActivity())) return false;
8896  }
8897  if (hasAlsoBumpVariablesInConflictReasons() != other.hasAlsoBumpVariablesInConflictReasons()) return false;
8900  != other.getAlsoBumpVariablesInConflictReasons()) return false;
8901  }
8902  if (hasMinimizationAlgorithm() != other.hasMinimizationAlgorithm()) return false;
8903  if (hasMinimizationAlgorithm()) {
8904  if (minimizationAlgorithm_ != other.minimizationAlgorithm_) return false;
8905  }
8906  if (hasBinaryMinimizationAlgorithm() != other.hasBinaryMinimizationAlgorithm()) return false;
8908  if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_) return false;
8909  }
8910  if (hasSubsumptionDuringConflictAnalysis() != other.hasSubsumptionDuringConflictAnalysis()) return false;
8913  != other.getSubsumptionDuringConflictAnalysis()) return false;
8914  }
8915  if (hasClauseCleanupPeriod() != other.hasClauseCleanupPeriod()) return false;
8916  if (hasClauseCleanupPeriod()) {
8918  != other.getClauseCleanupPeriod()) return false;
8919  }
8920  if (hasClauseCleanupTarget() != other.hasClauseCleanupTarget()) return false;
8921  if (hasClauseCleanupTarget()) {
8923  != other.getClauseCleanupTarget()) return false;
8924  }
8925  if (hasClauseCleanupProtection() != other.hasClauseCleanupProtection()) return false;
8927  if (clauseCleanupProtection_ != other.clauseCleanupProtection_) return false;
8928  }
8929  if (hasClauseCleanupLbdBound() != other.hasClauseCleanupLbdBound()) return false;
8930  if (hasClauseCleanupLbdBound()) {
8932  != other.getClauseCleanupLbdBound()) return false;
8933  }
8934  if (hasClauseCleanupOrdering() != other.hasClauseCleanupOrdering()) return false;
8935  if (hasClauseCleanupOrdering()) {
8936  if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_) return false;
8937  }
8938  if (hasPbCleanupIncrement() != other.hasPbCleanupIncrement()) return false;
8939  if (hasPbCleanupIncrement()) {
8940  if (getPbCleanupIncrement()
8941  != other.getPbCleanupIncrement()) return false;
8942  }
8943  if (hasPbCleanupRatio() != other.hasPbCleanupRatio()) return false;
8944  if (hasPbCleanupRatio()) {
8945  if (java.lang.Double.doubleToLongBits(getPbCleanupRatio())
8946  != java.lang.Double.doubleToLongBits(
8947  other.getPbCleanupRatio())) return false;
8948  }
8949  if (hasMinimizeWithPropagationRestartPeriod() != other.hasMinimizeWithPropagationRestartPeriod()) return false;
8952  != other.getMinimizeWithPropagationRestartPeriod()) return false;
8953  }
8954  if (hasMinimizeWithPropagationNumDecisions() != other.hasMinimizeWithPropagationNumDecisions()) return false;
8957  != other.getMinimizeWithPropagationNumDecisions()) return false;
8958  }
8959  if (hasVariableActivityDecay() != other.hasVariableActivityDecay()) return false;
8960  if (hasVariableActivityDecay()) {
8961  if (java.lang.Double.doubleToLongBits(getVariableActivityDecay())
8962  != java.lang.Double.doubleToLongBits(
8963  other.getVariableActivityDecay())) return false;
8964  }
8965  if (hasMaxVariableActivityValue() != other.hasMaxVariableActivityValue()) return false;
8967  if (java.lang.Double.doubleToLongBits(getMaxVariableActivityValue())
8968  != java.lang.Double.doubleToLongBits(
8969  other.getMaxVariableActivityValue())) return false;
8970  }
8971  if (hasGlucoseMaxDecay() != other.hasGlucoseMaxDecay()) return false;
8972  if (hasGlucoseMaxDecay()) {
8973  if (java.lang.Double.doubleToLongBits(getGlucoseMaxDecay())
8974  != java.lang.Double.doubleToLongBits(
8975  other.getGlucoseMaxDecay())) return false;
8976  }
8977  if (hasGlucoseDecayIncrement() != other.hasGlucoseDecayIncrement()) return false;
8978  if (hasGlucoseDecayIncrement()) {
8979  if (java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement())
8980  != java.lang.Double.doubleToLongBits(
8981  other.getGlucoseDecayIncrement())) return false;
8982  }
8983  if (hasGlucoseDecayIncrementPeriod() != other.hasGlucoseDecayIncrementPeriod()) return false;
8986  != other.getGlucoseDecayIncrementPeriod()) return false;
8987  }
8988  if (hasClauseActivityDecay() != other.hasClauseActivityDecay()) return false;
8989  if (hasClauseActivityDecay()) {
8990  if (java.lang.Double.doubleToLongBits(getClauseActivityDecay())
8991  != java.lang.Double.doubleToLongBits(
8992  other.getClauseActivityDecay())) return false;
8993  }
8994  if (hasMaxClauseActivityValue() != other.hasMaxClauseActivityValue()) return false;
8995  if (hasMaxClauseActivityValue()) {
8996  if (java.lang.Double.doubleToLongBits(getMaxClauseActivityValue())
8997  != java.lang.Double.doubleToLongBits(
8998  other.getMaxClauseActivityValue())) return false;
8999  }
9000  if (!restartAlgorithms_.equals(other.restartAlgorithms_)) return false;
9001  if (hasDefaultRestartAlgorithms() != other.hasDefaultRestartAlgorithms()) return false;
9004  .equals(other.getDefaultRestartAlgorithms())) return false;
9005  }
9006  if (hasRestartPeriod() != other.hasRestartPeriod()) return false;
9007  if (hasRestartPeriod()) {
9008  if (getRestartPeriod()
9009  != other.getRestartPeriod()) return false;
9010  }
9011  if (hasRestartRunningWindowSize() != other.hasRestartRunningWindowSize()) return false;
9014  != other.getRestartRunningWindowSize()) return false;
9015  }
9016  if (hasRestartDlAverageRatio() != other.hasRestartDlAverageRatio()) return false;
9017  if (hasRestartDlAverageRatio()) {
9018  if (java.lang.Double.doubleToLongBits(getRestartDlAverageRatio())
9019  != java.lang.Double.doubleToLongBits(
9020  other.getRestartDlAverageRatio())) return false;
9021  }
9022  if (hasRestartLbdAverageRatio() != other.hasRestartLbdAverageRatio()) return false;
9023  if (hasRestartLbdAverageRatio()) {
9024  if (java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio())
9025  != java.lang.Double.doubleToLongBits(
9026  other.getRestartLbdAverageRatio())) return false;
9027  }
9028  if (hasUseBlockingRestart() != other.hasUseBlockingRestart()) return false;
9029  if (hasUseBlockingRestart()) {
9030  if (getUseBlockingRestart()
9031  != other.getUseBlockingRestart()) return false;
9032  }
9033  if (hasBlockingRestartWindowSize() != other.hasBlockingRestartWindowSize()) return false;
9036  != other.getBlockingRestartWindowSize()) return false;
9037  }
9038  if (hasBlockingRestartMultiplier() != other.hasBlockingRestartMultiplier()) return false;
9040  if (java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier())
9041  != java.lang.Double.doubleToLongBits(
9042  other.getBlockingRestartMultiplier())) return false;
9043  }
9044  if (hasNumConflictsBeforeStrategyChanges() != other.hasNumConflictsBeforeStrategyChanges()) return false;
9047  != other.getNumConflictsBeforeStrategyChanges()) return false;
9048  }
9049  if (hasStrategyChangeIncreaseRatio() != other.hasStrategyChangeIncreaseRatio()) return false;
9051  if (java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio())
9052  != java.lang.Double.doubleToLongBits(
9053  other.getStrategyChangeIncreaseRatio())) return false;
9054  }
9055  if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
9056  if (hasMaxTimeInSeconds()) {
9057  if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
9058  != java.lang.Double.doubleToLongBits(
9059  other.getMaxTimeInSeconds())) return false;
9060  }
9061  if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
9062  if (hasMaxDeterministicTime()) {
9063  if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
9064  != java.lang.Double.doubleToLongBits(
9065  other.getMaxDeterministicTime())) return false;
9066  }
9067  if (hasMaxNumberOfConflicts() != other.hasMaxNumberOfConflicts()) return false;
9068  if (hasMaxNumberOfConflicts()) {
9070  != other.getMaxNumberOfConflicts()) return false;
9071  }
9072  if (hasMaxMemoryInMb() != other.hasMaxMemoryInMb()) return false;
9073  if (hasMaxMemoryInMb()) {
9074  if (getMaxMemoryInMb()
9075  != other.getMaxMemoryInMb()) return false;
9076  }
9077  if (hasAbsoluteGapLimit() != other.hasAbsoluteGapLimit()) return false;
9078  if (hasAbsoluteGapLimit()) {
9079  if (java.lang.Double.doubleToLongBits(getAbsoluteGapLimit())
9080  != java.lang.Double.doubleToLongBits(
9081  other.getAbsoluteGapLimit())) return false;
9082  }
9083  if (hasRelativeGapLimit() != other.hasRelativeGapLimit()) return false;
9084  if (hasRelativeGapLimit()) {
9085  if (java.lang.Double.doubleToLongBits(getRelativeGapLimit())
9086  != java.lang.Double.doubleToLongBits(
9087  other.getRelativeGapLimit())) return false;
9088  }
9089  if (hasTreatBinaryClausesSeparately() != other.hasTreatBinaryClausesSeparately()) return false;
9092  != other.getTreatBinaryClausesSeparately()) return false;
9093  }
9094  if (hasRandomSeed() != other.hasRandomSeed()) return false;
9095  if (hasRandomSeed()) {
9096  if (getRandomSeed()
9097  != other.getRandomSeed()) return false;
9098  }
9099  if (hasPermuteVariableRandomly() != other.hasPermuteVariableRandomly()) return false;
9102  != other.getPermuteVariableRandomly()) return false;
9103  }
9104  if (hasPermutePresolveConstraintOrder() != other.hasPermutePresolveConstraintOrder()) return false;
9107  != other.getPermutePresolveConstraintOrder()) return false;
9108  }
9109  if (hasUseAbslRandom() != other.hasUseAbslRandom()) return false;
9110  if (hasUseAbslRandom()) {
9111  if (getUseAbslRandom()
9112  != other.getUseAbslRandom()) return false;
9113  }
9114  if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
9115  if (hasLogSearchProgress()) {
9116  if (getLogSearchProgress()
9117  != other.getLogSearchProgress()) return false;
9118  }
9119  if (hasLogPrefix() != other.hasLogPrefix()) return false;
9120  if (hasLogPrefix()) {
9121  if (!getLogPrefix()
9122  .equals(other.getLogPrefix())) return false;
9123  }
9124  if (hasLogToStdout() != other.hasLogToStdout()) return false;
9125  if (hasLogToStdout()) {
9126  if (getLogToStdout()
9127  != other.getLogToStdout()) return false;
9128  }
9129  if (hasLogToResponse() != other.hasLogToResponse()) return false;
9130  if (hasLogToResponse()) {
9131  if (getLogToResponse()
9132  != other.getLogToResponse()) return false;
9133  }
9134  if (hasUsePbResolution() != other.hasUsePbResolution()) return false;
9135  if (hasUsePbResolution()) {
9136  if (getUsePbResolution()
9137  != other.getUsePbResolution()) return false;
9138  }
9139  if (hasMinimizeReductionDuringPbResolution() != other.hasMinimizeReductionDuringPbResolution()) return false;
9142  != other.getMinimizeReductionDuringPbResolution()) return false;
9143  }
9144  if (hasCountAssumptionLevelsInLbd() != other.hasCountAssumptionLevelsInLbd()) return false;
9147  != other.getCountAssumptionLevelsInLbd()) return false;
9148  }
9149  if (hasPresolveBveThreshold() != other.hasPresolveBveThreshold()) return false;
9150  if (hasPresolveBveThreshold()) {
9152  != other.getPresolveBveThreshold()) return false;
9153  }
9154  if (hasPresolveBveClauseWeight() != other.hasPresolveBveClauseWeight()) return false;
9157  != other.getPresolveBveClauseWeight()) return false;
9158  }
9159  if (hasPresolveProbingDeterministicTimeLimit() != other.hasPresolveProbingDeterministicTimeLimit()) return false;
9161  if (java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit())
9162  != java.lang.Double.doubleToLongBits(
9163  other.getPresolveProbingDeterministicTimeLimit())) return false;
9164  }
9165  if (hasPresolveBlockedClause() != other.hasPresolveBlockedClause()) return false;
9166  if (hasPresolveBlockedClause()) {
9168  != other.getPresolveBlockedClause()) return false;
9169  }
9170  if (hasPresolveUseBva() != other.hasPresolveUseBva()) return false;
9171  if (hasPresolveUseBva()) {
9172  if (getPresolveUseBva()
9173  != other.getPresolveUseBva()) return false;
9174  }
9175  if (hasPresolveBvaThreshold() != other.hasPresolveBvaThreshold()) return false;
9176  if (hasPresolveBvaThreshold()) {
9178  != other.getPresolveBvaThreshold()) return false;
9179  }
9180  if (hasMaxPresolveIterations() != other.hasMaxPresolveIterations()) return false;
9181  if (hasMaxPresolveIterations()) {
9183  != other.getMaxPresolveIterations()) return false;
9184  }
9185  if (hasCpModelPresolve() != other.hasCpModelPresolve()) return false;
9186  if (hasCpModelPresolve()) {
9187  if (getCpModelPresolve()
9188  != other.getCpModelPresolve()) return false;
9189  }
9190  if (hasCpModelPostsolveWithFullSolver() != other.hasCpModelPostsolveWithFullSolver()) return false;
9193  != other.getCpModelPostsolveWithFullSolver()) return false;
9194  }
9195  if (hasCpModelMaxNumPresolveOperations() != other.hasCpModelMaxNumPresolveOperations()) return false;
9198  != other.getCpModelMaxNumPresolveOperations()) return false;
9199  }
9200  if (hasCpModelProbingLevel() != other.hasCpModelProbingLevel()) return false;
9201  if (hasCpModelProbingLevel()) {
9203  != other.getCpModelProbingLevel()) return false;
9204  }
9205  if (hasCpModelUseSatPresolve() != other.hasCpModelUseSatPresolve()) return false;
9206  if (hasCpModelUseSatPresolve()) {
9208  != other.getCpModelUseSatPresolve()) return false;
9209  }
9210  if (hasUseSatInprocessing() != other.hasUseSatInprocessing()) return false;
9211  if (hasUseSatInprocessing()) {
9212  if (getUseSatInprocessing()
9213  != other.getUseSatInprocessing()) return false;
9214  }
9215  if (hasExpandElementConstraints() != other.hasExpandElementConstraints()) return false;
9218  != other.getExpandElementConstraints()) return false;
9219  }
9220  if (hasExpandAutomatonConstraints() != other.hasExpandAutomatonConstraints()) return false;
9223  != other.getExpandAutomatonConstraints()) return false;
9224  }
9225  if (hasExpandTableConstraints() != other.hasExpandTableConstraints()) return false;
9226  if (hasExpandTableConstraints()) {
9228  != other.getExpandTableConstraints()) return false;
9229  }
9230  if (hasExpandAlldiffConstraints() != other.hasExpandAlldiffConstraints()) return false;
9233  != other.getExpandAlldiffConstraints()) return false;
9234  }
9235  if (hasExpandReservoirConstraints() != other.hasExpandReservoirConstraints()) return false;
9238  != other.getExpandReservoirConstraints()) return false;
9239  }
9240  if (hasDisableConstraintExpansion() != other.hasDisableConstraintExpansion()) return false;
9243  != other.getDisableConstraintExpansion()) return false;
9244  }
9245  if (hasMergeNoOverlapWorkLimit() != other.hasMergeNoOverlapWorkLimit()) return false;
9247  if (java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit())
9248  != java.lang.Double.doubleToLongBits(
9249  other.getMergeNoOverlapWorkLimit())) return false;
9250  }
9251  if (hasMergeAtMostOneWorkLimit() != other.hasMergeAtMostOneWorkLimit()) return false;
9253  if (java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit())
9254  != java.lang.Double.doubleToLongBits(
9255  other.getMergeAtMostOneWorkLimit())) return false;
9256  }
9257  if (hasPresolveSubstitutionLevel() != other.hasPresolveSubstitutionLevel()) return false;
9260  != other.getPresolveSubstitutionLevel()) return false;
9261  }
9262  if (hasPresolveExtractIntegerEnforcement() != other.hasPresolveExtractIntegerEnforcement()) return false;
9265  != other.getPresolveExtractIntegerEnforcement()) return false;
9266  }
9267  if (hasUseOptimizationHints() != other.hasUseOptimizationHints()) return false;
9268  if (hasUseOptimizationHints()) {
9270  != other.getUseOptimizationHints()) return false;
9271  }
9272  if (hasMinimizeCore() != other.hasMinimizeCore()) return false;
9273  if (hasMinimizeCore()) {
9274  if (getMinimizeCore()
9275  != other.getMinimizeCore()) return false;
9276  }
9277  if (hasFindMultipleCores() != other.hasFindMultipleCores()) return false;
9278  if (hasFindMultipleCores()) {
9279  if (getFindMultipleCores()
9280  != other.getFindMultipleCores()) return false;
9281  }
9282  if (hasCoverOptimization() != other.hasCoverOptimization()) return false;
9283  if (hasCoverOptimization()) {
9284  if (getCoverOptimization()
9285  != other.getCoverOptimization()) return false;
9286  }
9287  if (hasMaxSatAssumptionOrder() != other.hasMaxSatAssumptionOrder()) return false;
9288  if (hasMaxSatAssumptionOrder()) {
9289  if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_) return false;
9290  }
9291  if (hasMaxSatReverseAssumptionOrder() != other.hasMaxSatReverseAssumptionOrder()) return false;
9294  != other.getMaxSatReverseAssumptionOrder()) return false;
9295  }
9296  if (hasMaxSatStratification() != other.hasMaxSatStratification()) return false;
9297  if (hasMaxSatStratification()) {
9298  if (maxSatStratification_ != other.maxSatStratification_) return false;
9299  }
9300  if (hasUsePrecedencesInDisjunctiveConstraint() != other.hasUsePrecedencesInDisjunctiveConstraint()) return false;
9303  != other.getUsePrecedencesInDisjunctiveConstraint()) return false;
9304  }
9305  if (hasUseOverloadCheckerInCumulativeConstraint() != other.hasUseOverloadCheckerInCumulativeConstraint()) return false;
9308  != other.getUseOverloadCheckerInCumulativeConstraint()) return false;
9309  }
9310  if (hasUseTimetableEdgeFindingInCumulativeConstraint() != other.hasUseTimetableEdgeFindingInCumulativeConstraint()) return false;
9313  != other.getUseTimetableEdgeFindingInCumulativeConstraint()) return false;
9314  }
9315  if (hasUseDisjunctiveConstraintInCumulativeConstraint() != other.hasUseDisjunctiveConstraintInCumulativeConstraint()) return false;
9318  != other.getUseDisjunctiveConstraintInCumulativeConstraint()) return false;
9319  }
9320  if (hasLinearizationLevel() != other.hasLinearizationLevel()) return false;
9321  if (hasLinearizationLevel()) {
9322  if (getLinearizationLevel()
9323  != other.getLinearizationLevel()) return false;
9324  }
9325  if (hasBooleanEncodingLevel() != other.hasBooleanEncodingLevel()) return false;
9326  if (hasBooleanEncodingLevel()) {
9328  != other.getBooleanEncodingLevel()) return false;
9329  }
9330  if (hasMaxNumCuts() != other.hasMaxNumCuts()) return false;
9331  if (hasMaxNumCuts()) {
9332  if (getMaxNumCuts()
9333  != other.getMaxNumCuts()) return false;
9334  }
9335  if (hasOnlyAddCutsAtLevelZero() != other.hasOnlyAddCutsAtLevelZero()) return false;
9336  if (hasOnlyAddCutsAtLevelZero()) {
9338  != other.getOnlyAddCutsAtLevelZero()) return false;
9339  }
9340  if (hasAddKnapsackCuts() != other.hasAddKnapsackCuts()) return false;
9341  if (hasAddKnapsackCuts()) {
9342  if (getAddKnapsackCuts()
9343  != other.getAddKnapsackCuts()) return false;
9344  }
9345  if (hasAddCgCuts() != other.hasAddCgCuts()) return false;
9346  if (hasAddCgCuts()) {
9347  if (getAddCgCuts()
9348  != other.getAddCgCuts()) return false;
9349  }
9350  if (hasAddMirCuts() != other.hasAddMirCuts()) return false;
9351  if (hasAddMirCuts()) {
9352  if (getAddMirCuts()
9353  != other.getAddMirCuts()) return false;
9354  }
9355  if (hasAddZeroHalfCuts() != other.hasAddZeroHalfCuts()) return false;
9356  if (hasAddZeroHalfCuts()) {
9357  if (getAddZeroHalfCuts()
9358  != other.getAddZeroHalfCuts()) return false;
9359  }
9360  if (hasAddCliqueCuts() != other.hasAddCliqueCuts()) return false;
9361  if (hasAddCliqueCuts()) {
9362  if (getAddCliqueCuts()
9363  != other.getAddCliqueCuts()) return false;
9364  }
9365  if (hasMaxAllDiffCutSize() != other.hasMaxAllDiffCutSize()) return false;
9366  if (hasMaxAllDiffCutSize()) {
9367  if (getMaxAllDiffCutSize()
9368  != other.getMaxAllDiffCutSize()) return false;
9369  }
9370  if (hasAddLinMaxCuts() != other.hasAddLinMaxCuts()) return false;
9371  if (hasAddLinMaxCuts()) {
9372  if (getAddLinMaxCuts()
9373  != other.getAddLinMaxCuts()) return false;
9374  }
9375  if (hasMaxIntegerRoundingScaling() != other.hasMaxIntegerRoundingScaling()) return false;
9378  != other.getMaxIntegerRoundingScaling()) return false;
9379  }
9380  if (hasAddLpConstraintsLazily() != other.hasAddLpConstraintsLazily()) return false;
9381  if (hasAddLpConstraintsLazily()) {
9383  != other.getAddLpConstraintsLazily()) return false;
9384  }
9385  if (hasMinOrthogonalityForLpConstraints() != other.hasMinOrthogonalityForLpConstraints()) return false;
9387  if (java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints())
9388  != java.lang.Double.doubleToLongBits(
9389  other.getMinOrthogonalityForLpConstraints())) return false;
9390  }
9391  if (hasMaxCutRoundsAtLevelZero() != other.hasMaxCutRoundsAtLevelZero()) return false;
9394  != other.getMaxCutRoundsAtLevelZero()) return false;
9395  }
9396  if (hasMaxConsecutiveInactiveCount() != other.hasMaxConsecutiveInactiveCount()) return false;
9399  != other.getMaxConsecutiveInactiveCount()) return false;
9400  }
9401  if (hasCutMaxActiveCountValue() != other.hasCutMaxActiveCountValue()) return false;
9402  if (hasCutMaxActiveCountValue()) {
9403  if (java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue())
9404  != java.lang.Double.doubleToLongBits(
9405  other.getCutMaxActiveCountValue())) return false;
9406  }
9407  if (hasCutActiveCountDecay() != other.hasCutActiveCountDecay()) return false;
9408  if (hasCutActiveCountDecay()) {
9409  if (java.lang.Double.doubleToLongBits(getCutActiveCountDecay())
9410  != java.lang.Double.doubleToLongBits(
9411  other.getCutActiveCountDecay())) return false;
9412  }
9413  if (hasCutCleanupTarget() != other.hasCutCleanupTarget()) return false;
9414  if (hasCutCleanupTarget()) {
9415  if (getCutCleanupTarget()
9416  != other.getCutCleanupTarget()) return false;
9417  }
9418  if (hasNewConstraintsBatchSize() != other.hasNewConstraintsBatchSize()) return false;
9421  != other.getNewConstraintsBatchSize()) return false;
9422  }
9423  if (hasSearchBranching() != other.hasSearchBranching()) return false;
9424  if (hasSearchBranching()) {
9425  if (searchBranching_ != other.searchBranching_) return false;
9426  }
9427  if (hasHintConflictLimit() != other.hasHintConflictLimit()) return false;
9428  if (hasHintConflictLimit()) {
9429  if (getHintConflictLimit()
9430  != other.getHintConflictLimit()) return false;
9431  }
9432  if (hasRepairHint() != other.hasRepairHint()) return false;
9433  if (hasRepairHint()) {
9434  if (getRepairHint()
9435  != other.getRepairHint()) return false;
9436  }
9437  if (hasExploitIntegerLpSolution() != other.hasExploitIntegerLpSolution()) return false;
9440  != other.getExploitIntegerLpSolution()) return false;
9441  }
9442  if (hasExploitAllLpSolution() != other.hasExploitAllLpSolution()) return false;
9443  if (hasExploitAllLpSolution()) {
9445  != other.getExploitAllLpSolution()) return false;
9446  }
9447  if (hasExploitBestSolution() != other.hasExploitBestSolution()) return false;
9448  if (hasExploitBestSolution()) {
9450  != other.getExploitBestSolution()) return false;
9451  }
9452  if (hasExploitRelaxationSolution() != other.hasExploitRelaxationSolution()) return false;
9455  != other.getExploitRelaxationSolution()) return false;
9456  }
9457  if (hasExploitObjective() != other.hasExploitObjective()) return false;
9458  if (hasExploitObjective()) {
9459  if (getExploitObjective()
9460  != other.getExploitObjective()) return false;
9461  }
9462  if (hasProbingPeriodAtRoot() != other.hasProbingPeriodAtRoot()) return false;
9463  if (hasProbingPeriodAtRoot()) {
9465  != other.getProbingPeriodAtRoot()) return false;
9466  }
9467  if (hasUseProbingSearch() != other.hasUseProbingSearch()) return false;
9468  if (hasUseProbingSearch()) {
9469  if (getUseProbingSearch()
9470  != other.getUseProbingSearch()) return false;
9471  }
9472  if (hasPseudoCostReliabilityThreshold() != other.hasPseudoCostReliabilityThreshold()) return false;
9475  != other.getPseudoCostReliabilityThreshold()) return false;
9476  }
9477  if (hasOptimizeWithCore() != other.hasOptimizeWithCore()) return false;
9478  if (hasOptimizeWithCore()) {
9479  if (getOptimizeWithCore()
9480  != other.getOptimizeWithCore()) return false;
9481  }
9482  if (hasBinarySearchNumConflicts() != other.hasBinarySearchNumConflicts()) return false;
9485  != other.getBinarySearchNumConflicts()) return false;
9486  }
9487  if (hasOptimizeWithMaxHs() != other.hasOptimizeWithMaxHs()) return false;
9488  if (hasOptimizeWithMaxHs()) {
9489  if (getOptimizeWithMaxHs()
9490  != other.getOptimizeWithMaxHs()) return false;
9491  }
9492  if (hasEnumerateAllSolutions() != other.hasEnumerateAllSolutions()) return false;
9493  if (hasEnumerateAllSolutions()) {
9495  != other.getEnumerateAllSolutions()) return false;
9496  }
9497  if (hasKeepAllFeasibleSolutionsInPresolve() != other.hasKeepAllFeasibleSolutionsInPresolve()) return false;
9500  != other.getKeepAllFeasibleSolutionsInPresolve()) return false;
9501  }
9502  if (hasFillTightenedDomainsInResponse() != other.hasFillTightenedDomainsInResponse()) return false;
9505  != other.getFillTightenedDomainsInResponse()) return false;
9506  }
9507  if (hasInstantiateAllVariables() != other.hasInstantiateAllVariables()) return false;
9510  != other.getInstantiateAllVariables()) return false;
9511  }
9512  if (hasAutoDetectGreaterThanAtLeastOneOf() != other.hasAutoDetectGreaterThanAtLeastOneOf()) return false;
9515  != other.getAutoDetectGreaterThanAtLeastOneOf()) return false;
9516  }
9517  if (hasStopAfterFirstSolution() != other.hasStopAfterFirstSolution()) return false;
9518  if (hasStopAfterFirstSolution()) {
9520  != other.getStopAfterFirstSolution()) return false;
9521  }
9522  if (hasStopAfterPresolve() != other.hasStopAfterPresolve()) return false;
9523  if (hasStopAfterPresolve()) {
9524  if (getStopAfterPresolve()
9525  != other.getStopAfterPresolve()) return false;
9526  }
9527  if (hasNumSearchWorkers() != other.hasNumSearchWorkers()) return false;
9528  if (hasNumSearchWorkers()) {
9529  if (getNumSearchWorkers()
9530  != other.getNumSearchWorkers()) return false;
9531  }
9532  if (hasInterleaveSearch() != other.hasInterleaveSearch()) return false;
9533  if (hasInterleaveSearch()) {
9534  if (getInterleaveSearch()
9535  != other.getInterleaveSearch()) return false;
9536  }
9537  if (hasInterleaveBatchSize() != other.hasInterleaveBatchSize()) return false;
9538  if (hasInterleaveBatchSize()) {
9540  != other.getInterleaveBatchSize()) return false;
9541  }
9542  if (hasReduceMemoryUsageInInterleaveMode() != other.hasReduceMemoryUsageInInterleaveMode()) return false;
9545  != other.getReduceMemoryUsageInInterleaveMode()) return false;
9546  }
9547  if (hasShareObjectiveBounds() != other.hasShareObjectiveBounds()) return false;
9548  if (hasShareObjectiveBounds()) {
9550  != other.getShareObjectiveBounds()) return false;
9551  }
9552  if (hasShareLevelZeroBounds() != other.hasShareLevelZeroBounds()) return false;
9553  if (hasShareLevelZeroBounds()) {
9555  != other.getShareLevelZeroBounds()) return false;
9556  }
9557  if (hasUseLnsOnly() != other.hasUseLnsOnly()) return false;
9558  if (hasUseLnsOnly()) {
9559  if (getUseLnsOnly()
9560  != other.getUseLnsOnly()) return false;
9561  }
9562  if (hasLnsFocusOnDecisionVariables() != other.hasLnsFocusOnDecisionVariables()) return false;
9565  != other.getLnsFocusOnDecisionVariables()) return false;
9566  }
9567  if (hasLnsExpandIntervalsInConstraintGraph() != other.hasLnsExpandIntervalsInConstraintGraph()) return false;
9570  != other.getLnsExpandIntervalsInConstraintGraph()) return false;
9571  }
9572  if (hasUseRinsLns() != other.hasUseRinsLns()) return false;
9573  if (hasUseRinsLns()) {
9574  if (getUseRinsLns()
9575  != other.getUseRinsLns()) return false;
9576  }
9577  if (hasUseFeasibilityPump() != other.hasUseFeasibilityPump()) return false;
9578  if (hasUseFeasibilityPump()) {
9579  if (getUseFeasibilityPump()
9580  != other.getUseFeasibilityPump()) return false;
9581  }
9582  if (hasFpRounding() != other.hasFpRounding()) return false;
9583  if (hasFpRounding()) {
9584  if (fpRounding_ != other.fpRounding_) return false;
9585  }
9586  if (hasUseRelaxationLns() != other.hasUseRelaxationLns()) return false;
9587  if (hasUseRelaxationLns()) {
9588  if (getUseRelaxationLns()
9589  != other.getUseRelaxationLns()) return false;
9590  }
9591  if (hasDiversifyLnsParams() != other.hasDiversifyLnsParams()) return false;
9592  if (hasDiversifyLnsParams()) {
9593  if (getDiversifyLnsParams()
9594  != other.getDiversifyLnsParams()) return false;
9595  }
9596  if (hasRandomizeSearch() != other.hasRandomizeSearch()) return false;
9597  if (hasRandomizeSearch()) {
9598  if (getRandomizeSearch()
9599  != other.getRandomizeSearch()) return false;
9600  }
9601  if (hasSearchRandomizationTolerance() != other.hasSearchRandomizationTolerance()) return false;
9604  != other.getSearchRandomizationTolerance()) return false;
9605  }
9606  if (hasUseOptionalVariables() != other.hasUseOptionalVariables()) return false;
9607  if (hasUseOptionalVariables()) {
9609  != other.getUseOptionalVariables()) return false;
9610  }
9611  if (hasUseExactLpReason() != other.hasUseExactLpReason()) return false;
9612  if (hasUseExactLpReason()) {
9613  if (getUseExactLpReason()
9614  != other.getUseExactLpReason()) return false;
9615  }
9616  if (hasUseBranchingInLp() != other.hasUseBranchingInLp()) return false;
9617  if (hasUseBranchingInLp()) {
9618  if (getUseBranchingInLp()
9619  != other.getUseBranchingInLp()) return false;
9620  }
9621  if (hasUseCombinedNoOverlap() != other.hasUseCombinedNoOverlap()) return false;
9622  if (hasUseCombinedNoOverlap()) {
9624  != other.getUseCombinedNoOverlap()) return false;
9625  }
9626  if (hasCatchSigintSignal() != other.hasCatchSigintSignal()) return false;
9627  if (hasCatchSigintSignal()) {
9628  if (getCatchSigintSignal()
9629  != other.getCatchSigintSignal()) return false;
9630  }
9631  if (hasUseImpliedBounds() != other.hasUseImpliedBounds()) return false;
9632  if (hasUseImpliedBounds()) {
9633  if (getUseImpliedBounds()
9634  != other.getUseImpliedBounds()) return false;
9635  }
9636  if (hasPolishLpSolution() != other.hasPolishLpSolution()) return false;
9637  if (hasPolishLpSolution()) {
9638  if (getPolishLpSolution()
9639  != other.getPolishLpSolution()) return false;
9640  }
9641  if (hasConvertIntervals() != other.hasConvertIntervals()) return false;
9642  if (hasConvertIntervals()) {
9643  if (getConvertIntervals()
9644  != other.getConvertIntervals()) return false;
9645  }
9646  if (hasSymmetryLevel() != other.hasSymmetryLevel()) return false;
9647  if (hasSymmetryLevel()) {
9648  if (getSymmetryLevel()
9649  != other.getSymmetryLevel()) return false;
9650  }
9651  if (hasMipMaxBound() != other.hasMipMaxBound()) return false;
9652  if (hasMipMaxBound()) {
9653  if (java.lang.Double.doubleToLongBits(getMipMaxBound())
9654  != java.lang.Double.doubleToLongBits(
9655  other.getMipMaxBound())) return false;
9656  }
9657  if (hasMipVarScaling() != other.hasMipVarScaling()) return false;
9658  if (hasMipVarScaling()) {
9659  if (java.lang.Double.doubleToLongBits(getMipVarScaling())
9660  != java.lang.Double.doubleToLongBits(
9661  other.getMipVarScaling())) return false;
9662  }
9663  if (hasMipAutomaticallyScaleVariables() != other.hasMipAutomaticallyScaleVariables()) return false;
9666  != other.getMipAutomaticallyScaleVariables()) return false;
9667  }
9668  if (hasMipWantedPrecision() != other.hasMipWantedPrecision()) return false;
9669  if (hasMipWantedPrecision()) {
9670  if (java.lang.Double.doubleToLongBits(getMipWantedPrecision())
9671  != java.lang.Double.doubleToLongBits(
9672  other.getMipWantedPrecision())) return false;
9673  }
9674  if (hasMipMaxActivityExponent() != other.hasMipMaxActivityExponent()) return false;
9675  if (hasMipMaxActivityExponent()) {
9677  != other.getMipMaxActivityExponent()) return false;
9678  }
9679  if (hasMipCheckPrecision() != other.hasMipCheckPrecision()) return false;
9680  if (hasMipCheckPrecision()) {
9681  if (java.lang.Double.doubleToLongBits(getMipCheckPrecision())
9682  != java.lang.Double.doubleToLongBits(
9683  other.getMipCheckPrecision())) return false;
9684  }
9685  if (!unknownFields.equals(other.unknownFields)) return false;
9686  return true;
9687  }
9688 
9689  @java.lang.Override
9690  public int hashCode() {
9691  if (memoizedHashCode != 0) {
9692  return memoizedHashCode;
9693  }
9694  int hash = 41;
9695  hash = (19 * hash) + getDescriptor().hashCode();
9696  if (hasName()) {
9697  hash = (37 * hash) + NAME_FIELD_NUMBER;
9698  hash = (53 * hash) + getName().hashCode();
9699  }
9700  if (hasPreferredVariableOrder()) {
9701  hash = (37 * hash) + PREFERRED_VARIABLE_ORDER_FIELD_NUMBER;
9702  hash = (53 * hash) + preferredVariableOrder_;
9703  }
9704  if (hasInitialPolarity()) {
9705  hash = (37 * hash) + INITIAL_POLARITY_FIELD_NUMBER;
9706  hash = (53 * hash) + initialPolarity_;
9707  }
9708  if (hasUsePhaseSaving()) {
9709  hash = (37 * hash) + USE_PHASE_SAVING_FIELD_NUMBER;
9710  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9711  getUsePhaseSaving());
9712  }
9714  hash = (37 * hash) + POLARITY_REPHASE_INCREMENT_FIELD_NUMBER;
9715  hash = (53 * hash) + getPolarityRephaseIncrement();
9716  }
9717  if (hasRandomPolarityRatio()) {
9718  hash = (37 * hash) + RANDOM_POLARITY_RATIO_FIELD_NUMBER;
9719  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9720  java.lang.Double.doubleToLongBits(getRandomPolarityRatio()));
9721  }
9722  if (hasRandomBranchesRatio()) {
9723  hash = (37 * hash) + RANDOM_BRANCHES_RATIO_FIELD_NUMBER;
9724  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9725  java.lang.Double.doubleToLongBits(getRandomBranchesRatio()));
9726  }
9727  if (hasUseErwaHeuristic()) {
9728  hash = (37 * hash) + USE_ERWA_HEURISTIC_FIELD_NUMBER;
9729  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9731  }
9733  hash = (37 * hash) + INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER;
9734  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9735  java.lang.Double.doubleToLongBits(getInitialVariablesActivity()));
9736  }
9739  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9741  }
9742  if (hasMinimizationAlgorithm()) {
9743  hash = (37 * hash) + MINIMIZATION_ALGORITHM_FIELD_NUMBER;
9744  hash = (53 * hash) + minimizationAlgorithm_;
9745  }
9747  hash = (37 * hash) + BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER;
9748  hash = (53 * hash) + binaryMinimizationAlgorithm_;
9749  }
9752  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9754  }
9755  if (hasClauseCleanupPeriod()) {
9756  hash = (37 * hash) + CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER;
9757  hash = (53 * hash) + getClauseCleanupPeriod();
9758  }
9759  if (hasClauseCleanupTarget()) {
9760  hash = (37 * hash) + CLAUSE_CLEANUP_TARGET_FIELD_NUMBER;
9761  hash = (53 * hash) + getClauseCleanupTarget();
9762  }
9764  hash = (37 * hash) + CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER;
9765  hash = (53 * hash) + clauseCleanupProtection_;
9766  }
9767  if (hasClauseCleanupLbdBound()) {
9768  hash = (37 * hash) + CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER;
9769  hash = (53 * hash) + getClauseCleanupLbdBound();
9770  }
9771  if (hasClauseCleanupOrdering()) {
9772  hash = (37 * hash) + CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER;
9773  hash = (53 * hash) + clauseCleanupOrdering_;
9774  }
9775  if (hasPbCleanupIncrement()) {
9776  hash = (37 * hash) + PB_CLEANUP_INCREMENT_FIELD_NUMBER;
9777  hash = (53 * hash) + getPbCleanupIncrement();
9778  }
9779  if (hasPbCleanupRatio()) {
9780  hash = (37 * hash) + PB_CLEANUP_RATIO_FIELD_NUMBER;
9781  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9782  java.lang.Double.doubleToLongBits(getPbCleanupRatio()));
9783  }
9786  hash = (53 * hash) + getMinimizeWithPropagationRestartPeriod();
9787  }
9790  hash = (53 * hash) + getMinimizeWithPropagationNumDecisions();
9791  }
9792  if (hasVariableActivityDecay()) {
9793  hash = (37 * hash) + VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER;
9794  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9795  java.lang.Double.doubleToLongBits(getVariableActivityDecay()));
9796  }
9798  hash = (37 * hash) + MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER;
9799  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9800  java.lang.Double.doubleToLongBits(getMaxVariableActivityValue()));
9801  }
9802  if (hasGlucoseMaxDecay()) {
9803  hash = (37 * hash) + GLUCOSE_MAX_DECAY_FIELD_NUMBER;
9804  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9805  java.lang.Double.doubleToLongBits(getGlucoseMaxDecay()));
9806  }
9807  if (hasGlucoseDecayIncrement()) {
9808  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER;
9809  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9810  java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement()));
9811  }
9813  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER;
9814  hash = (53 * hash) + getGlucoseDecayIncrementPeriod();
9815  }
9816  if (hasClauseActivityDecay()) {
9817  hash = (37 * hash) + CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER;
9818  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9819  java.lang.Double.doubleToLongBits(getClauseActivityDecay()));
9820  }
9821  if (hasMaxClauseActivityValue()) {
9822  hash = (37 * hash) + MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER;
9823  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9824  java.lang.Double.doubleToLongBits(getMaxClauseActivityValue()));
9825  }
9826  if (getRestartAlgorithmsCount() > 0) {
9827  hash = (37 * hash) + RESTART_ALGORITHMS_FIELD_NUMBER;
9828  hash = (53 * hash) + restartAlgorithms_.hashCode();
9829  }
9831  hash = (37 * hash) + DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER;
9832  hash = (53 * hash) + getDefaultRestartAlgorithms().hashCode();
9833  }
9834  if (hasRestartPeriod()) {
9835  hash = (37 * hash) + RESTART_PERIOD_FIELD_NUMBER;
9836  hash = (53 * hash) + getRestartPeriod();
9837  }
9839  hash = (37 * hash) + RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER;
9840  hash = (53 * hash) + getRestartRunningWindowSize();
9841  }
9842  if (hasRestartDlAverageRatio()) {
9843  hash = (37 * hash) + RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER;
9844  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9845  java.lang.Double.doubleToLongBits(getRestartDlAverageRatio()));
9846  }
9847  if (hasRestartLbdAverageRatio()) {
9848  hash = (37 * hash) + RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER;
9849  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9850  java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio()));
9851  }
9852  if (hasUseBlockingRestart()) {
9853  hash = (37 * hash) + USE_BLOCKING_RESTART_FIELD_NUMBER;
9854  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9856  }
9858  hash = (37 * hash) + BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER;
9859  hash = (53 * hash) + getBlockingRestartWindowSize();
9860  }
9862  hash = (37 * hash) + BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER;
9863  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9864  java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier()));
9865  }
9868  hash = (53 * hash) + getNumConflictsBeforeStrategyChanges();
9869  }
9871  hash = (37 * hash) + STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER;
9872  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9873  java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio()));
9874  }
9875  if (hasMaxTimeInSeconds()) {
9876  hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
9877  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9878  java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
9879  }
9880  if (hasMaxDeterministicTime()) {
9881  hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
9882  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9883  java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
9884  }
9885  if (hasMaxNumberOfConflicts()) {
9886  hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER;
9887  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9889  }
9890  if (hasMaxMemoryInMb()) {
9891  hash = (37 * hash) + MAX_MEMORY_IN_MB_FIELD_NUMBER;
9892  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9893  getMaxMemoryInMb());
9894  }
9895  if (hasAbsoluteGapLimit()) {
9896  hash = (37 * hash) + ABSOLUTE_GAP_LIMIT_FIELD_NUMBER;
9897  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9898  java.lang.Double.doubleToLongBits(getAbsoluteGapLimit()));
9899  }
9900  if (hasRelativeGapLimit()) {
9901  hash = (37 * hash) + RELATIVE_GAP_LIMIT_FIELD_NUMBER;
9902  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9903  java.lang.Double.doubleToLongBits(getRelativeGapLimit()));
9904  }
9906  hash = (37 * hash) + TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER;
9907  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9909  }
9910  if (hasRandomSeed()) {
9911  hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
9912  hash = (53 * hash) + getRandomSeed();
9913  }
9915  hash = (37 * hash) + PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER;
9916  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9918  }
9921  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9923  }
9924  if (hasUseAbslRandom()) {
9925  hash = (37 * hash) + USE_ABSL_RANDOM_FIELD_NUMBER;
9926  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9927  getUseAbslRandom());
9928  }
9929  if (hasLogSearchProgress()) {
9930  hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
9931  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9933  }
9934  if (hasLogPrefix()) {
9935  hash = (37 * hash) + LOG_PREFIX_FIELD_NUMBER;
9936  hash = (53 * hash) + getLogPrefix().hashCode();
9937  }
9938  if (hasLogToStdout()) {
9939  hash = (37 * hash) + LOG_TO_STDOUT_FIELD_NUMBER;
9940  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9941  getLogToStdout());
9942  }
9943  if (hasLogToResponse()) {
9944  hash = (37 * hash) + LOG_TO_RESPONSE_FIELD_NUMBER;
9945  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9946  getLogToResponse());
9947  }
9948  if (hasUsePbResolution()) {
9949  hash = (37 * hash) + USE_PB_RESOLUTION_FIELD_NUMBER;
9950  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9951  getUsePbResolution());
9952  }
9955  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9957  }
9959  hash = (37 * hash) + COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER;
9960  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9962  }
9963  if (hasPresolveBveThreshold()) {
9964  hash = (37 * hash) + PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER;
9965  hash = (53 * hash) + getPresolveBveThreshold();
9966  }
9968  hash = (37 * hash) + PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER;
9969  hash = (53 * hash) + getPresolveBveClauseWeight();
9970  }
9973  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9974  java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit()));
9975  }
9976  if (hasPresolveBlockedClause()) {
9977  hash = (37 * hash) + PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER;
9978  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9980  }
9981  if (hasPresolveUseBva()) {
9982  hash = (37 * hash) + PRESOLVE_USE_BVA_FIELD_NUMBER;
9983  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9984  getPresolveUseBva());
9985  }
9986  if (hasPresolveBvaThreshold()) {
9987  hash = (37 * hash) + PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER;
9988  hash = (53 * hash) + getPresolveBvaThreshold();
9989  }
9990  if (hasMaxPresolveIterations()) {
9991  hash = (37 * hash) + MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER;
9992  hash = (53 * hash) + getMaxPresolveIterations();
9993  }
9994  if (hasCpModelPresolve()) {
9995  hash = (37 * hash) + CP_MODEL_PRESOLVE_FIELD_NUMBER;
9996  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9997  getCpModelPresolve());
9998  }
10001  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10003  }
10006  hash = (53 * hash) + getCpModelMaxNumPresolveOperations();
10007  }
10008  if (hasCpModelProbingLevel()) {
10009  hash = (37 * hash) + CP_MODEL_PROBING_LEVEL_FIELD_NUMBER;
10010  hash = (53 * hash) + getCpModelProbingLevel();
10011  }
10012  if (hasCpModelUseSatPresolve()) {
10013  hash = (37 * hash) + CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER;
10014  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10016  }
10017  if (hasUseSatInprocessing()) {
10018  hash = (37 * hash) + USE_SAT_INPROCESSING_FIELD_NUMBER;
10019  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10021  }
10023  hash = (37 * hash) + EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER;
10024  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10026  }
10028  hash = (37 * hash) + EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER;
10029  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10031  }
10032  if (hasExpandTableConstraints()) {
10033  hash = (37 * hash) + EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER;
10034  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10036  }
10038  hash = (37 * hash) + EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER;
10039  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10041  }
10043  hash = (37 * hash) + EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER;
10044  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10046  }
10048  hash = (37 * hash) + DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER;
10049  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10051  }
10053  hash = (37 * hash) + MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER;
10054  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10055  java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit()));
10056  }
10058  hash = (37 * hash) + MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER;
10059  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10060  java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit()));
10061  }
10063  hash = (37 * hash) + PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER;
10064  hash = (53 * hash) + getPresolveSubstitutionLevel();
10065  }
10068  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10070  }
10071  if (hasUseOptimizationHints()) {
10072  hash = (37 * hash) + USE_OPTIMIZATION_HINTS_FIELD_NUMBER;
10073  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10075  }
10076  if (hasMinimizeCore()) {
10077  hash = (37 * hash) + MINIMIZE_CORE_FIELD_NUMBER;
10078  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10079  getMinimizeCore());
10080  }
10081  if (hasFindMultipleCores()) {
10082  hash = (37 * hash) + FIND_MULTIPLE_CORES_FIELD_NUMBER;
10083  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10085  }
10086  if (hasCoverOptimization()) {
10087  hash = (37 * hash) + COVER_OPTIMIZATION_FIELD_NUMBER;
10088  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10090  }
10091  if (hasMaxSatAssumptionOrder()) {
10092  hash = (37 * hash) + MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER;
10093  hash = (53 * hash) + maxSatAssumptionOrder_;
10094  }
10096  hash = (37 * hash) + MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER;
10097  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10099  }
10100  if (hasMaxSatStratification()) {
10101  hash = (37 * hash) + MAX_SAT_STRATIFICATION_FIELD_NUMBER;
10102  hash = (53 * hash) + maxSatStratification_;
10103  }
10106  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10108  }
10111  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10113  }
10116  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10118  }
10121  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10123  }
10124  if (hasLinearizationLevel()) {
10125  hash = (37 * hash) + LINEARIZATION_LEVEL_FIELD_NUMBER;
10126  hash = (53 * hash) + getLinearizationLevel();
10127  }
10128  if (hasBooleanEncodingLevel()) {
10129  hash = (37 * hash) + BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER;
10130  hash = (53 * hash) + getBooleanEncodingLevel();
10131  }
10132  if (hasMaxNumCuts()) {
10133  hash = (37 * hash) + MAX_NUM_CUTS_FIELD_NUMBER;
10134  hash = (53 * hash) + getMaxNumCuts();
10135  }
10136  if (hasOnlyAddCutsAtLevelZero()) {
10137  hash = (37 * hash) + ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER;
10138  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10140  }
10141  if (hasAddKnapsackCuts()) {
10142  hash = (37 * hash) + ADD_KNAPSACK_CUTS_FIELD_NUMBER;
10143  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10144  getAddKnapsackCuts());
10145  }
10146  if (hasAddCgCuts()) {
10147  hash = (37 * hash) + ADD_CG_CUTS_FIELD_NUMBER;
10148  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10149  getAddCgCuts());
10150  }
10151  if (hasAddMirCuts()) {
10152  hash = (37 * hash) + ADD_MIR_CUTS_FIELD_NUMBER;
10153  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10154  getAddMirCuts());
10155  }
10156  if (hasAddZeroHalfCuts()) {
10157  hash = (37 * hash) + ADD_ZERO_HALF_CUTS_FIELD_NUMBER;
10158  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10159  getAddZeroHalfCuts());
10160  }
10161  if (hasAddCliqueCuts()) {
10162  hash = (37 * hash) + ADD_CLIQUE_CUTS_FIELD_NUMBER;
10163  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10164  getAddCliqueCuts());
10165  }
10166  if (hasMaxAllDiffCutSize()) {
10167  hash = (37 * hash) + MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER;
10168  hash = (53 * hash) + getMaxAllDiffCutSize();
10169  }
10170  if (hasAddLinMaxCuts()) {
10171  hash = (37 * hash) + ADD_LIN_MAX_CUTS_FIELD_NUMBER;
10172  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10173  getAddLinMaxCuts());
10174  }
10176  hash = (37 * hash) + MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER;
10177  hash = (53 * hash) + getMaxIntegerRoundingScaling();
10178  }
10179  if (hasAddLpConstraintsLazily()) {
10180  hash = (37 * hash) + ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER;
10181  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10183  }
10186  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10187  java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints()));
10188  }
10190  hash = (37 * hash) + MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER;
10191  hash = (53 * hash) + getMaxCutRoundsAtLevelZero();
10192  }
10194  hash = (37 * hash) + MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER;
10195  hash = (53 * hash) + getMaxConsecutiveInactiveCount();
10196  }
10197  if (hasCutMaxActiveCountValue()) {
10198  hash = (37 * hash) + CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER;
10199  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10200  java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue()));
10201  }
10202  if (hasCutActiveCountDecay()) {
10203  hash = (37 * hash) + CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER;
10204  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10205  java.lang.Double.doubleToLongBits(getCutActiveCountDecay()));
10206  }
10207  if (hasCutCleanupTarget()) {
10208  hash = (37 * hash) + CUT_CLEANUP_TARGET_FIELD_NUMBER;
10209  hash = (53 * hash) + getCutCleanupTarget();
10210  }
10212  hash = (37 * hash) + NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER;
10213  hash = (53 * hash) + getNewConstraintsBatchSize();
10214  }
10215  if (hasSearchBranching()) {
10216  hash = (37 * hash) + SEARCH_BRANCHING_FIELD_NUMBER;
10217  hash = (53 * hash) + searchBranching_;
10218  }
10219  if (hasHintConflictLimit()) {
10220  hash = (37 * hash) + HINT_CONFLICT_LIMIT_FIELD_NUMBER;
10221  hash = (53 * hash) + getHintConflictLimit();
10222  }
10223  if (hasRepairHint()) {
10224  hash = (37 * hash) + REPAIR_HINT_FIELD_NUMBER;
10225  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10226  getRepairHint());
10227  }
10229  hash = (37 * hash) + EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER;
10230  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10232  }
10233  if (hasExploitAllLpSolution()) {
10234  hash = (37 * hash) + EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER;
10235  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10237  }
10238  if (hasExploitBestSolution()) {
10239  hash = (37 * hash) + EXPLOIT_BEST_SOLUTION_FIELD_NUMBER;
10240  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10242  }
10244  hash = (37 * hash) + EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER;
10245  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10247  }
10248  if (hasExploitObjective()) {
10249  hash = (37 * hash) + EXPLOIT_OBJECTIVE_FIELD_NUMBER;
10250  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10252  }
10253  if (hasProbingPeriodAtRoot()) {
10254  hash = (37 * hash) + PROBING_PERIOD_AT_ROOT_FIELD_NUMBER;
10255  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10257  }
10258  if (hasUseProbingSearch()) {
10259  hash = (37 * hash) + USE_PROBING_SEARCH_FIELD_NUMBER;
10260  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10262  }
10265  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10267  }
10268  if (hasOptimizeWithCore()) {
10269  hash = (37 * hash) + OPTIMIZE_WITH_CORE_FIELD_NUMBER;
10270  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10272  }
10274  hash = (37 * hash) + BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER;
10275  hash = (53 * hash) + getBinarySearchNumConflicts();
10276  }
10277  if (hasOptimizeWithMaxHs()) {
10278  hash = (37 * hash) + OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER;
10279  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10281  }
10282  if (hasEnumerateAllSolutions()) {
10283  hash = (37 * hash) + ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER;
10284  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10286  }
10289  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10291  }
10294  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10296  }
10298  hash = (37 * hash) + INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER;
10299  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10301  }
10304  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10306  }
10307  if (hasStopAfterFirstSolution()) {
10308  hash = (37 * hash) + STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER;
10309  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10311  }
10312  if (hasStopAfterPresolve()) {
10313  hash = (37 * hash) + STOP_AFTER_PRESOLVE_FIELD_NUMBER;
10314  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10316  }
10317  if (hasNumSearchWorkers()) {
10318  hash = (37 * hash) + NUM_SEARCH_WORKERS_FIELD_NUMBER;
10319  hash = (53 * hash) + getNumSearchWorkers();
10320  }
10321  if (hasInterleaveSearch()) {
10322  hash = (37 * hash) + INTERLEAVE_SEARCH_FIELD_NUMBER;
10323  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10325  }
10326  if (hasInterleaveBatchSize()) {
10327  hash = (37 * hash) + INTERLEAVE_BATCH_SIZE_FIELD_NUMBER;
10328  hash = (53 * hash) + getInterleaveBatchSize();
10329  }
10332  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10334  }
10335  if (hasShareObjectiveBounds()) {
10336  hash = (37 * hash) + SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER;
10337  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10339  }
10340  if (hasShareLevelZeroBounds()) {
10341  hash = (37 * hash) + SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER;
10342  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10344  }
10345  if (hasUseLnsOnly()) {
10346  hash = (37 * hash) + USE_LNS_ONLY_FIELD_NUMBER;
10347  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10348  getUseLnsOnly());
10349  }
10351  hash = (37 * hash) + LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER;
10352  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10354  }
10357  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10359  }
10360  if (hasUseRinsLns()) {
10361  hash = (37 * hash) + USE_RINS_LNS_FIELD_NUMBER;
10362  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10363  getUseRinsLns());
10364  }
10365  if (hasUseFeasibilityPump()) {
10366  hash = (37 * hash) + USE_FEASIBILITY_PUMP_FIELD_NUMBER;
10367  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10369  }
10370  if (hasFpRounding()) {
10371  hash = (37 * hash) + FP_ROUNDING_FIELD_NUMBER;
10372  hash = (53 * hash) + fpRounding_;
10373  }
10374  if (hasUseRelaxationLns()) {
10375  hash = (37 * hash) + USE_RELAXATION_LNS_FIELD_NUMBER;
10376  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10378  }
10379  if (hasDiversifyLnsParams()) {
10380  hash = (37 * hash) + DIVERSIFY_LNS_PARAMS_FIELD_NUMBER;
10381  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10383  }
10384  if (hasRandomizeSearch()) {
10385  hash = (37 * hash) + RANDOMIZE_SEARCH_FIELD_NUMBER;
10386  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10387  getRandomizeSearch());
10388  }
10390  hash = (37 * hash) + SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER;
10391  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10393  }
10394  if (hasUseOptionalVariables()) {
10395  hash = (37 * hash) + USE_OPTIONAL_VARIABLES_FIELD_NUMBER;
10396  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10398  }
10399  if (hasUseExactLpReason()) {
10400  hash = (37 * hash) + USE_EXACT_LP_REASON_FIELD_NUMBER;
10401  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10403  }
10404  if (hasUseBranchingInLp()) {
10405  hash = (37 * hash) + USE_BRANCHING_IN_LP_FIELD_NUMBER;
10406  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10408  }
10409  if (hasUseCombinedNoOverlap()) {
10410  hash = (37 * hash) + USE_COMBINED_NO_OVERLAP_FIELD_NUMBER;
10411  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10413  }
10414  if (hasCatchSigintSignal()) {
10415  hash = (37 * hash) + CATCH_SIGINT_SIGNAL_FIELD_NUMBER;
10416  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10418  }
10419  if (hasUseImpliedBounds()) {
10420  hash = (37 * hash) + USE_IMPLIED_BOUNDS_FIELD_NUMBER;
10421  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10423  }
10424  if (hasPolishLpSolution()) {
10425  hash = (37 * hash) + POLISH_LP_SOLUTION_FIELD_NUMBER;
10426  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10428  }
10429  if (hasConvertIntervals()) {
10430  hash = (37 * hash) + CONVERT_INTERVALS_FIELD_NUMBER;
10431  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10433  }
10434  if (hasSymmetryLevel()) {
10435  hash = (37 * hash) + SYMMETRY_LEVEL_FIELD_NUMBER;
10436  hash = (53 * hash) + getSymmetryLevel();
10437  }
10438  if (hasMipMaxBound()) {
10439  hash = (37 * hash) + MIP_MAX_BOUND_FIELD_NUMBER;
10440  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10441  java.lang.Double.doubleToLongBits(getMipMaxBound()));
10442  }
10443  if (hasMipVarScaling()) {
10444  hash = (37 * hash) + MIP_VAR_SCALING_FIELD_NUMBER;
10445  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10446  java.lang.Double.doubleToLongBits(getMipVarScaling()));
10447  }
10450  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10452  }
10453  if (hasMipWantedPrecision()) {
10454  hash = (37 * hash) + MIP_WANTED_PRECISION_FIELD_NUMBER;
10455  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10456  java.lang.Double.doubleToLongBits(getMipWantedPrecision()));
10457  }
10458  if (hasMipMaxActivityExponent()) {
10459  hash = (37 * hash) + MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER;
10460  hash = (53 * hash) + getMipMaxActivityExponent();
10461  }
10462  if (hasMipCheckPrecision()) {
10463  hash = (37 * hash) + MIP_CHECK_PRECISION_FIELD_NUMBER;
10464  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10465  java.lang.Double.doubleToLongBits(getMipCheckPrecision()));
10466  }
10467  hash = (29 * hash) + unknownFields.hashCode();
10468  memoizedHashCode = hash;
10469  return hash;
10470  }
10471 
10472  public static com.google.ortools.sat.SatParameters parseFrom(
10473  java.nio.ByteBuffer data)
10474  throws com.google.protobuf.InvalidProtocolBufferException {
10475  return PARSER.parseFrom(data);
10476  }
10477  public static com.google.ortools.sat.SatParameters parseFrom(
10478  java.nio.ByteBuffer data,
10479  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10480  throws com.google.protobuf.InvalidProtocolBufferException {
10481  return PARSER.parseFrom(data, extensionRegistry);
10482  }
10483  public static com.google.ortools.sat.SatParameters parseFrom(
10484  com.google.protobuf.ByteString data)
10485  throws com.google.protobuf.InvalidProtocolBufferException {
10486  return PARSER.parseFrom(data);
10487  }
10488  public static com.google.ortools.sat.SatParameters parseFrom(
10489  com.google.protobuf.ByteString data,
10490  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10491  throws com.google.protobuf.InvalidProtocolBufferException {
10492  return PARSER.parseFrom(data, extensionRegistry);
10493  }
10494  public static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
10495  throws com.google.protobuf.InvalidProtocolBufferException {
10496  return PARSER.parseFrom(data);
10497  }
10498  public static com.google.ortools.sat.SatParameters parseFrom(
10499  byte[] data,
10500  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10501  throws com.google.protobuf.InvalidProtocolBufferException {
10502  return PARSER.parseFrom(data, extensionRegistry);
10503  }
10504  public static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
10505  throws java.io.IOException {
10506  return com.google.protobuf.GeneratedMessageV3
10507  .parseWithIOException(PARSER, input);
10508  }
10509  public static com.google.ortools.sat.SatParameters parseFrom(
10510  java.io.InputStream input,
10511  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10512  throws java.io.IOException {
10513  return com.google.protobuf.GeneratedMessageV3
10514  .parseWithIOException(PARSER, input, extensionRegistry);
10515  }
10516  public static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
10517  throws java.io.IOException {
10518  return com.google.protobuf.GeneratedMessageV3
10519  .parseDelimitedWithIOException(PARSER, input);
10520  }
10521  public static com.google.ortools.sat.SatParameters parseDelimitedFrom(
10522  java.io.InputStream input,
10523  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10524  throws java.io.IOException {
10525  return com.google.protobuf.GeneratedMessageV3
10526  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
10527  }
10528  public static com.google.ortools.sat.SatParameters parseFrom(
10529  com.google.protobuf.CodedInputStream input)
10530  throws java.io.IOException {
10531  return com.google.protobuf.GeneratedMessageV3
10532  .parseWithIOException(PARSER, input);
10533  }
10534  public static com.google.ortools.sat.SatParameters parseFrom(
10535  com.google.protobuf.CodedInputStream input,
10536  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10537  throws java.io.IOException {
10538  return com.google.protobuf.GeneratedMessageV3
10539  .parseWithIOException(PARSER, input, extensionRegistry);
10540  }
10541 
10542  @java.lang.Override
10543  public Builder newBuilderForType() { return newBuilder(); }
10544  public static Builder newBuilder() {
10545  return DEFAULT_INSTANCE.toBuilder();
10546  }
10547  public static Builder newBuilder(com.google.ortools.sat.SatParameters prototype) {
10548  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
10549  }
10550  @java.lang.Override
10551  public Builder toBuilder() {
10552  return this == DEFAULT_INSTANCE
10553  ? new Builder() : new Builder().mergeFrom(this);
10554  }
10555 
10556  @java.lang.Override
10558  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
10559  Builder builder = new Builder(parent);
10560  return builder;
10561  }
10571  public static final class Builder extends
10572  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
10573  // @@protoc_insertion_point(builder_implements:operations_research.sat.SatParameters)
10574  com.google.ortools.sat.SatParametersOrBuilder {
10575  public static final com.google.protobuf.Descriptors.Descriptor
10577  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
10578  }
10579 
10580  @java.lang.Override
10581  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
10583  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
10584  .ensureFieldAccessorsInitialized(
10585  com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
10586  }
10587 
10588  // Construct using com.google.ortools.sat.SatParameters.newBuilder()
10589  private Builder() {
10590  maybeForceBuilderInitialization();
10591  }
10592 
10593  private Builder(
10594  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
10595  super(parent);
10596  maybeForceBuilderInitialization();
10597  }
10598  private void maybeForceBuilderInitialization() {
10599  if (com.google.protobuf.GeneratedMessageV3
10600  .alwaysUseFieldBuilders) {
10601  }
10602  }
10603  @java.lang.Override
10604  public Builder clear() {
10605  super.clear();
10606  name_ = "";
10607  bitField0_ = (bitField0_ & ~0x00000001);
10608  preferredVariableOrder_ = 0;
10609  bitField0_ = (bitField0_ & ~0x00000002);
10610  initialPolarity_ = 1;
10611  bitField0_ = (bitField0_ & ~0x00000004);
10612  usePhaseSaving_ = true;
10613  bitField0_ = (bitField0_ & ~0x00000008);
10614  polarityRephaseIncrement_ = 1000;
10615  bitField0_ = (bitField0_ & ~0x00000010);
10616  randomPolarityRatio_ = 0D;
10617  bitField0_ = (bitField0_ & ~0x00000020);
10618  randomBranchesRatio_ = 0D;
10619  bitField0_ = (bitField0_ & ~0x00000040);
10620  useErwaHeuristic_ = false;
10621  bitField0_ = (bitField0_ & ~0x00000080);
10622  initialVariablesActivity_ = 0D;
10623  bitField0_ = (bitField0_ & ~0x00000100);
10624  alsoBumpVariablesInConflictReasons_ = false;
10625  bitField0_ = (bitField0_ & ~0x00000200);
10626  minimizationAlgorithm_ = 2;
10627  bitField0_ = (bitField0_ & ~0x00000400);
10628  binaryMinimizationAlgorithm_ = 1;
10629  bitField0_ = (bitField0_ & ~0x00000800);
10630  subsumptionDuringConflictAnalysis_ = true;
10631  bitField0_ = (bitField0_ & ~0x00001000);
10632  clauseCleanupPeriod_ = 10000;
10633  bitField0_ = (bitField0_ & ~0x00002000);
10634  clauseCleanupTarget_ = 10000;
10635  bitField0_ = (bitField0_ & ~0x00004000);
10636  clauseCleanupProtection_ = 0;
10637  bitField0_ = (bitField0_ & ~0x00008000);
10638  clauseCleanupLbdBound_ = 5;
10639  bitField0_ = (bitField0_ & ~0x00010000);
10640  clauseCleanupOrdering_ = 0;
10641  bitField0_ = (bitField0_ & ~0x00020000);
10642  pbCleanupIncrement_ = 200;
10643  bitField0_ = (bitField0_ & ~0x00040000);
10644  pbCleanupRatio_ = 0.5D;
10645  bitField0_ = (bitField0_ & ~0x00080000);
10646  minimizeWithPropagationRestartPeriod_ = 10;
10647  bitField0_ = (bitField0_ & ~0x00100000);
10648  minimizeWithPropagationNumDecisions_ = 1000;
10649  bitField0_ = (bitField0_ & ~0x00200000);
10650  variableActivityDecay_ = 0.8D;
10651  bitField0_ = (bitField0_ & ~0x00400000);
10652  maxVariableActivityValue_ = 1e+100D;
10653  bitField0_ = (bitField0_ & ~0x00800000);
10654  glucoseMaxDecay_ = 0.95D;
10655  bitField0_ = (bitField0_ & ~0x01000000);
10656  glucoseDecayIncrement_ = 0.01D;
10657  bitField0_ = (bitField0_ & ~0x02000000);
10658  glucoseDecayIncrementPeriod_ = 5000;
10659  bitField0_ = (bitField0_ & ~0x04000000);
10660  clauseActivityDecay_ = 0.999D;
10661  bitField0_ = (bitField0_ & ~0x08000000);
10662  maxClauseActivityValue_ = 1e+20D;
10663  bitField0_ = (bitField0_ & ~0x10000000);
10664  restartAlgorithms_ = java.util.Collections.emptyList();
10665  bitField0_ = (bitField0_ & ~0x20000000);
10666  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
10667  bitField0_ = (bitField0_ & ~0x40000000);
10668  restartPeriod_ = 50;
10669  bitField0_ = (bitField0_ & ~0x80000000);
10670  restartRunningWindowSize_ = 50;
10671  bitField1_ = (bitField1_ & ~0x00000001);
10672  restartDlAverageRatio_ = 1D;
10673  bitField1_ = (bitField1_ & ~0x00000002);
10674  restartLbdAverageRatio_ = 1D;
10675  bitField1_ = (bitField1_ & ~0x00000004);
10676  useBlockingRestart_ = false;
10677  bitField1_ = (bitField1_ & ~0x00000008);
10678  blockingRestartWindowSize_ = 5000;
10679  bitField1_ = (bitField1_ & ~0x00000010);
10680  blockingRestartMultiplier_ = 1.4D;
10681  bitField1_ = (bitField1_ & ~0x00000020);
10682  numConflictsBeforeStrategyChanges_ = 0;
10683  bitField1_ = (bitField1_ & ~0x00000040);
10684  strategyChangeIncreaseRatio_ = 0D;
10685  bitField1_ = (bitField1_ & ~0x00000080);
10686  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
10687  bitField1_ = (bitField1_ & ~0x00000100);
10688  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
10689  bitField1_ = (bitField1_ & ~0x00000200);
10690  maxNumberOfConflicts_ = 9223372036854775807L;
10691  bitField1_ = (bitField1_ & ~0x00000400);
10692  maxMemoryInMb_ = 10000L;
10693  bitField1_ = (bitField1_ & ~0x00000800);
10694  absoluteGapLimit_ = 0D;
10695  bitField1_ = (bitField1_ & ~0x00001000);
10696  relativeGapLimit_ = 0D;
10697  bitField1_ = (bitField1_ & ~0x00002000);
10698  treatBinaryClausesSeparately_ = true;
10699  bitField1_ = (bitField1_ & ~0x00004000);
10700  randomSeed_ = 1;
10701  bitField1_ = (bitField1_ & ~0x00008000);
10702  permuteVariableRandomly_ = false;
10703  bitField1_ = (bitField1_ & ~0x00010000);
10704  permutePresolveConstraintOrder_ = false;
10705  bitField1_ = (bitField1_ & ~0x00020000);
10706  useAbslRandom_ = false;
10707  bitField1_ = (bitField1_ & ~0x00040000);
10708  logSearchProgress_ = false;
10709  bitField1_ = (bitField1_ & ~0x00080000);
10710  logPrefix_ = "";
10711  bitField1_ = (bitField1_ & ~0x00100000);
10712  logToStdout_ = true;
10713  bitField1_ = (bitField1_ & ~0x00200000);
10714  logToResponse_ = false;
10715  bitField1_ = (bitField1_ & ~0x00400000);
10716  usePbResolution_ = false;
10717  bitField1_ = (bitField1_ & ~0x00800000);
10718  minimizeReductionDuringPbResolution_ = false;
10719  bitField1_ = (bitField1_ & ~0x01000000);
10720  countAssumptionLevelsInLbd_ = true;
10721  bitField1_ = (bitField1_ & ~0x02000000);
10722  presolveBveThreshold_ = 500;
10723  bitField1_ = (bitField1_ & ~0x04000000);
10724  presolveBveClauseWeight_ = 3;
10725  bitField1_ = (bitField1_ & ~0x08000000);
10726  presolveProbingDeterministicTimeLimit_ = 30D;
10727  bitField1_ = (bitField1_ & ~0x10000000);
10728  presolveBlockedClause_ = true;
10729  bitField1_ = (bitField1_ & ~0x20000000);
10730  presolveUseBva_ = true;
10731  bitField1_ = (bitField1_ & ~0x40000000);
10732  presolveBvaThreshold_ = 1;
10733  bitField1_ = (bitField1_ & ~0x80000000);
10734  maxPresolveIterations_ = 3;
10735  bitField2_ = (bitField2_ & ~0x00000001);
10736  cpModelPresolve_ = true;
10737  bitField2_ = (bitField2_ & ~0x00000002);
10738  cpModelPostsolveWithFullSolver_ = false;
10739  bitField2_ = (bitField2_ & ~0x00000004);
10740  cpModelMaxNumPresolveOperations_ = 0;
10741  bitField2_ = (bitField2_ & ~0x00000008);
10742  cpModelProbingLevel_ = 2;
10743  bitField2_ = (bitField2_ & ~0x00000010);
10744  cpModelUseSatPresolve_ = true;
10745  bitField2_ = (bitField2_ & ~0x00000020);
10746  useSatInprocessing_ = false;
10747  bitField2_ = (bitField2_ & ~0x00000040);
10748  expandElementConstraints_ = true;
10749  bitField2_ = (bitField2_ & ~0x00000080);
10750  expandAutomatonConstraints_ = true;
10751  bitField2_ = (bitField2_ & ~0x00000100);
10752  expandTableConstraints_ = true;
10753  bitField2_ = (bitField2_ & ~0x00000200);
10754  expandAlldiffConstraints_ = false;
10755  bitField2_ = (bitField2_ & ~0x00000400);
10756  expandReservoirConstraints_ = true;
10757  bitField2_ = (bitField2_ & ~0x00000800);
10758  disableConstraintExpansion_ = false;
10759  bitField2_ = (bitField2_ & ~0x00001000);
10760  mergeNoOverlapWorkLimit_ = 1000000000000D;
10761  bitField2_ = (bitField2_ & ~0x00002000);
10762  mergeAtMostOneWorkLimit_ = 100000000D;
10763  bitField2_ = (bitField2_ & ~0x00004000);
10764  presolveSubstitutionLevel_ = 1;
10765  bitField2_ = (bitField2_ & ~0x00008000);
10766  presolveExtractIntegerEnforcement_ = false;
10767  bitField2_ = (bitField2_ & ~0x00010000);
10768  useOptimizationHints_ = true;
10769  bitField2_ = (bitField2_ & ~0x00020000);
10770  minimizeCore_ = true;
10771  bitField2_ = (bitField2_ & ~0x00040000);
10772  findMultipleCores_ = true;
10773  bitField2_ = (bitField2_ & ~0x00080000);
10774  coverOptimization_ = true;
10775  bitField2_ = (bitField2_ & ~0x00100000);
10776  maxSatAssumptionOrder_ = 0;
10777  bitField2_ = (bitField2_ & ~0x00200000);
10778  maxSatReverseAssumptionOrder_ = false;
10779  bitField2_ = (bitField2_ & ~0x00400000);
10780  maxSatStratification_ = 1;
10781  bitField2_ = (bitField2_ & ~0x00800000);
10782  usePrecedencesInDisjunctiveConstraint_ = true;
10783  bitField2_ = (bitField2_ & ~0x01000000);
10784  useOverloadCheckerInCumulativeConstraint_ = false;
10785  bitField2_ = (bitField2_ & ~0x02000000);
10786  useTimetableEdgeFindingInCumulativeConstraint_ = false;
10787  bitField2_ = (bitField2_ & ~0x04000000);
10788  useDisjunctiveConstraintInCumulativeConstraint_ = true;
10789  bitField2_ = (bitField2_ & ~0x08000000);
10790  linearizationLevel_ = 1;
10791  bitField2_ = (bitField2_ & ~0x10000000);
10792  booleanEncodingLevel_ = 1;
10793  bitField2_ = (bitField2_ & ~0x20000000);
10794  maxNumCuts_ = 10000;
10795  bitField2_ = (bitField2_ & ~0x40000000);
10796  onlyAddCutsAtLevelZero_ = false;
10797  bitField2_ = (bitField2_ & ~0x80000000);
10798  addKnapsackCuts_ = false;
10799  bitField3_ = (bitField3_ & ~0x00000001);
10800  addCgCuts_ = true;
10801  bitField3_ = (bitField3_ & ~0x00000002);
10802  addMirCuts_ = true;
10803  bitField3_ = (bitField3_ & ~0x00000004);
10804  addZeroHalfCuts_ = true;
10805  bitField3_ = (bitField3_ & ~0x00000008);
10806  addCliqueCuts_ = true;
10807  bitField3_ = (bitField3_ & ~0x00000010);
10808  maxAllDiffCutSize_ = 7;
10809  bitField3_ = (bitField3_ & ~0x00000020);
10810  addLinMaxCuts_ = true;
10811  bitField3_ = (bitField3_ & ~0x00000040);
10812  maxIntegerRoundingScaling_ = 600;
10813  bitField3_ = (bitField3_ & ~0x00000080);
10814  addLpConstraintsLazily_ = true;
10815  bitField3_ = (bitField3_ & ~0x00000100);
10816  minOrthogonalityForLpConstraints_ = 0.05D;
10817  bitField3_ = (bitField3_ & ~0x00000200);
10818  maxCutRoundsAtLevelZero_ = 1;
10819  bitField3_ = (bitField3_ & ~0x00000400);
10820  maxConsecutiveInactiveCount_ = 100;
10821  bitField3_ = (bitField3_ & ~0x00000800);
10822  cutMaxActiveCountValue_ = 10000000000D;
10823  bitField3_ = (bitField3_ & ~0x00001000);
10824  cutActiveCountDecay_ = 0.8D;
10825  bitField3_ = (bitField3_ & ~0x00002000);
10826  cutCleanupTarget_ = 1000;
10827  bitField3_ = (bitField3_ & ~0x00004000);
10828  newConstraintsBatchSize_ = 50;
10829  bitField3_ = (bitField3_ & ~0x00008000);
10830  searchBranching_ = 0;
10831  bitField3_ = (bitField3_ & ~0x00010000);
10832  hintConflictLimit_ = 10;
10833  bitField3_ = (bitField3_ & ~0x00020000);
10834  repairHint_ = false;
10835  bitField3_ = (bitField3_ & ~0x00040000);
10836  exploitIntegerLpSolution_ = true;
10837  bitField3_ = (bitField3_ & ~0x00080000);
10838  exploitAllLpSolution_ = true;
10839  bitField3_ = (bitField3_ & ~0x00100000);
10840  exploitBestSolution_ = false;
10841  bitField3_ = (bitField3_ & ~0x00200000);
10842  exploitRelaxationSolution_ = false;
10843  bitField3_ = (bitField3_ & ~0x00400000);
10844  exploitObjective_ = true;
10845  bitField3_ = (bitField3_ & ~0x00800000);
10846  probingPeriodAtRoot_ = 0L;
10847  bitField3_ = (bitField3_ & ~0x01000000);
10848  useProbingSearch_ = false;
10849  bitField3_ = (bitField3_ & ~0x02000000);
10850  pseudoCostReliabilityThreshold_ = 100L;
10851  bitField3_ = (bitField3_ & ~0x04000000);
10852  optimizeWithCore_ = false;
10853  bitField3_ = (bitField3_ & ~0x08000000);
10854  binarySearchNumConflicts_ = -1;
10855  bitField3_ = (bitField3_ & ~0x10000000);
10856  optimizeWithMaxHs_ = false;
10857  bitField3_ = (bitField3_ & ~0x20000000);
10858  enumerateAllSolutions_ = false;
10859  bitField3_ = (bitField3_ & ~0x40000000);
10860  keepAllFeasibleSolutionsInPresolve_ = false;
10861  bitField3_ = (bitField3_ & ~0x80000000);
10862  fillTightenedDomainsInResponse_ = false;
10863  bitField4_ = (bitField4_ & ~0x00000001);
10864  instantiateAllVariables_ = true;
10865  bitField4_ = (bitField4_ & ~0x00000002);
10866  autoDetectGreaterThanAtLeastOneOf_ = true;
10867  bitField4_ = (bitField4_ & ~0x00000004);
10868  stopAfterFirstSolution_ = false;
10869  bitField4_ = (bitField4_ & ~0x00000008);
10870  stopAfterPresolve_ = false;
10871  bitField4_ = (bitField4_ & ~0x00000010);
10872  numSearchWorkers_ = 1;
10873  bitField4_ = (bitField4_ & ~0x00000020);
10874  interleaveSearch_ = false;
10875  bitField4_ = (bitField4_ & ~0x00000040);
10876  interleaveBatchSize_ = 1;
10877  bitField4_ = (bitField4_ & ~0x00000080);
10878  reduceMemoryUsageInInterleaveMode_ = false;
10879  bitField4_ = (bitField4_ & ~0x00000100);
10880  shareObjectiveBounds_ = true;
10881  bitField4_ = (bitField4_ & ~0x00000200);
10882  shareLevelZeroBounds_ = true;
10883  bitField4_ = (bitField4_ & ~0x00000400);
10884  useLnsOnly_ = false;
10885  bitField4_ = (bitField4_ & ~0x00000800);
10886  lnsFocusOnDecisionVariables_ = false;
10887  bitField4_ = (bitField4_ & ~0x00001000);
10888  lnsExpandIntervalsInConstraintGraph_ = true;
10889  bitField4_ = (bitField4_ & ~0x00002000);
10890  useRinsLns_ = true;
10891  bitField4_ = (bitField4_ & ~0x00004000);
10892  useFeasibilityPump_ = true;
10893  bitField4_ = (bitField4_ & ~0x00008000);
10894  fpRounding_ = 2;
10895  bitField4_ = (bitField4_ & ~0x00010000);
10896  useRelaxationLns_ = false;
10897  bitField4_ = (bitField4_ & ~0x00020000);
10898  diversifyLnsParams_ = false;
10899  bitField4_ = (bitField4_ & ~0x00040000);
10900  randomizeSearch_ = false;
10901  bitField4_ = (bitField4_ & ~0x00080000);
10902  searchRandomizationTolerance_ = 0L;
10903  bitField4_ = (bitField4_ & ~0x00100000);
10904  useOptionalVariables_ = true;
10905  bitField4_ = (bitField4_ & ~0x00200000);
10906  useExactLpReason_ = true;
10907  bitField4_ = (bitField4_ & ~0x00400000);
10908  useBranchingInLp_ = false;
10909  bitField4_ = (bitField4_ & ~0x00800000);
10910  useCombinedNoOverlap_ = false;
10911  bitField4_ = (bitField4_ & ~0x01000000);
10912  catchSigintSignal_ = true;
10913  bitField4_ = (bitField4_ & ~0x02000000);
10914  useImpliedBounds_ = true;
10915  bitField4_ = (bitField4_ & ~0x04000000);
10916  polishLpSolution_ = false;
10917  bitField4_ = (bitField4_ & ~0x08000000);
10918  convertIntervals_ = false;
10919  bitField4_ = (bitField4_ & ~0x10000000);
10920  symmetryLevel_ = 2;
10921  bitField4_ = (bitField4_ & ~0x20000000);
10922  mipMaxBound_ = 10000000D;
10923  bitField4_ = (bitField4_ & ~0x40000000);
10924  mipVarScaling_ = 1D;
10925  bitField4_ = (bitField4_ & ~0x80000000);
10926  mipAutomaticallyScaleVariables_ = true;
10927  bitField5_ = (bitField5_ & ~0x00000001);
10928  mipWantedPrecision_ = 1e-06D;
10929  bitField5_ = (bitField5_ & ~0x00000002);
10930  mipMaxActivityExponent_ = 53;
10931  bitField5_ = (bitField5_ & ~0x00000004);
10932  mipCheckPrecision_ = 0.0001D;
10933  bitField5_ = (bitField5_ & ~0x00000008);
10934  return this;
10935  }
10936 
10937  @java.lang.Override
10938  public com.google.protobuf.Descriptors.Descriptor
10940  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
10941  }
10942 
10943  @java.lang.Override
10944  public com.google.ortools.sat.SatParameters getDefaultInstanceForType() {
10945  return com.google.ortools.sat.SatParameters.getDefaultInstance();
10946  }
10947 
10948  @java.lang.Override
10949  public com.google.ortools.sat.SatParameters build() {
10950  com.google.ortools.sat.SatParameters result = buildPartial();
10951  if (!result.isInitialized()) {
10952  throw newUninitializedMessageException(result);
10953  }
10954  return result;
10955  }
10956 
10957  @java.lang.Override
10958  public com.google.ortools.sat.SatParameters buildPartial() {
10959  com.google.ortools.sat.SatParameters result = new com.google.ortools.sat.SatParameters(this);
10960  int from_bitField0_ = bitField0_;
10961  int from_bitField1_ = bitField1_;
10962  int from_bitField2_ = bitField2_;
10963  int from_bitField3_ = bitField3_;
10964  int from_bitField4_ = bitField4_;
10965  int from_bitField5_ = bitField5_;
10966  int to_bitField0_ = 0;
10967  int to_bitField1_ = 0;
10968  int to_bitField2_ = 0;
10969  int to_bitField3_ = 0;
10970  int to_bitField4_ = 0;
10971  int to_bitField5_ = 0;
10972  if (((from_bitField0_ & 0x00000001) != 0)) {
10973  to_bitField0_ |= 0x00000001;
10974  }
10975  result.name_ = name_;
10976  if (((from_bitField0_ & 0x00000002) != 0)) {
10977  to_bitField0_ |= 0x00000002;
10978  }
10979  result.preferredVariableOrder_ = preferredVariableOrder_;
10980  if (((from_bitField0_ & 0x00000004) != 0)) {
10981  to_bitField0_ |= 0x00000004;
10982  }
10983  result.initialPolarity_ = initialPolarity_;
10984  if (((from_bitField0_ & 0x00000008) != 0)) {
10985  to_bitField0_ |= 0x00000008;
10986  }
10987  result.usePhaseSaving_ = usePhaseSaving_;
10988  if (((from_bitField0_ & 0x00000010) != 0)) {
10989  to_bitField0_ |= 0x00000010;
10990  }
10991  result.polarityRephaseIncrement_ = polarityRephaseIncrement_;
10992  if (((from_bitField0_ & 0x00000020) != 0)) {
10993  result.randomPolarityRatio_ = randomPolarityRatio_;
10994  to_bitField0_ |= 0x00000020;
10995  }
10996  if (((from_bitField0_ & 0x00000040) != 0)) {
10997  result.randomBranchesRatio_ = randomBranchesRatio_;
10998  to_bitField0_ |= 0x00000040;
10999  }
11000  if (((from_bitField0_ & 0x00000080) != 0)) {
11001  result.useErwaHeuristic_ = useErwaHeuristic_;
11002  to_bitField0_ |= 0x00000080;
11003  }
11004  if (((from_bitField0_ & 0x00000100) != 0)) {
11005  result.initialVariablesActivity_ = initialVariablesActivity_;
11006  to_bitField0_ |= 0x00000100;
11007  }
11008  if (((from_bitField0_ & 0x00000200) != 0)) {
11009  result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
11010  to_bitField0_ |= 0x00000200;
11011  }
11012  if (((from_bitField0_ & 0x00000400) != 0)) {
11013  to_bitField0_ |= 0x00000400;
11014  }
11015  result.minimizationAlgorithm_ = minimizationAlgorithm_;
11016  if (((from_bitField0_ & 0x00000800) != 0)) {
11017  to_bitField0_ |= 0x00000800;
11018  }
11019  result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
11020  if (((from_bitField0_ & 0x00001000) != 0)) {
11021  to_bitField0_ |= 0x00001000;
11022  }
11023  result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
11024  if (((from_bitField0_ & 0x00002000) != 0)) {
11025  to_bitField0_ |= 0x00002000;
11026  }
11027  result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
11028  if (((from_bitField0_ & 0x00004000) != 0)) {
11029  to_bitField0_ |= 0x00004000;
11030  }
11031  result.clauseCleanupTarget_ = clauseCleanupTarget_;
11032  if (((from_bitField0_ & 0x00008000) != 0)) {
11033  to_bitField0_ |= 0x00008000;
11034  }
11035  result.clauseCleanupProtection_ = clauseCleanupProtection_;
11036  if (((from_bitField0_ & 0x00010000) != 0)) {
11037  to_bitField0_ |= 0x00010000;
11038  }
11039  result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
11040  if (((from_bitField0_ & 0x00020000) != 0)) {
11041  to_bitField0_ |= 0x00020000;
11042  }
11043  result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
11044  if (((from_bitField0_ & 0x00040000) != 0)) {
11045  to_bitField0_ |= 0x00040000;
11046  }
11047  result.pbCleanupIncrement_ = pbCleanupIncrement_;
11048  if (((from_bitField0_ & 0x00080000) != 0)) {
11049  to_bitField0_ |= 0x00080000;
11050  }
11051  result.pbCleanupRatio_ = pbCleanupRatio_;
11052  if (((from_bitField0_ & 0x00100000) != 0)) {
11053  to_bitField0_ |= 0x00100000;
11054  }
11055  result.minimizeWithPropagationRestartPeriod_ = minimizeWithPropagationRestartPeriod_;
11056  if (((from_bitField0_ & 0x00200000) != 0)) {
11057  to_bitField0_ |= 0x00200000;
11058  }
11059  result.minimizeWithPropagationNumDecisions_ = minimizeWithPropagationNumDecisions_;
11060  if (((from_bitField0_ & 0x00400000) != 0)) {
11061  to_bitField0_ |= 0x00400000;
11062  }
11063  result.variableActivityDecay_ = variableActivityDecay_;
11064  if (((from_bitField0_ & 0x00800000) != 0)) {
11065  to_bitField0_ |= 0x00800000;
11066  }
11067  result.maxVariableActivityValue_ = maxVariableActivityValue_;
11068  if (((from_bitField0_ & 0x01000000) != 0)) {
11069  to_bitField0_ |= 0x01000000;
11070  }
11071  result.glucoseMaxDecay_ = glucoseMaxDecay_;
11072  if (((from_bitField0_ & 0x02000000) != 0)) {
11073  to_bitField0_ |= 0x02000000;
11074  }
11075  result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
11076  if (((from_bitField0_ & 0x04000000) != 0)) {
11077  to_bitField0_ |= 0x04000000;
11078  }
11079  result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
11080  if (((from_bitField0_ & 0x08000000) != 0)) {
11081  to_bitField0_ |= 0x08000000;
11082  }
11083  result.clauseActivityDecay_ = clauseActivityDecay_;
11084  if (((from_bitField0_ & 0x10000000) != 0)) {
11085  to_bitField0_ |= 0x10000000;
11086  }
11087  result.maxClauseActivityValue_ = maxClauseActivityValue_;
11088  if (((bitField0_ & 0x20000000) != 0)) {
11089  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
11090  bitField0_ = (bitField0_ & ~0x20000000);
11091  }
11092  result.restartAlgorithms_ = restartAlgorithms_;
11093  if (((from_bitField0_ & 0x40000000) != 0)) {
11094  to_bitField0_ |= 0x20000000;
11095  }
11096  result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
11097  if (((from_bitField0_ & 0x80000000) != 0)) {
11098  to_bitField0_ |= 0x40000000;
11099  }
11100  result.restartPeriod_ = restartPeriod_;
11101  if (((from_bitField1_ & 0x00000001) != 0)) {
11102  to_bitField0_ |= 0x80000000;
11103  }
11104  result.restartRunningWindowSize_ = restartRunningWindowSize_;
11105  if (((from_bitField1_ & 0x00000002) != 0)) {
11106  to_bitField1_ |= 0x00000001;
11107  }
11108  result.restartDlAverageRatio_ = restartDlAverageRatio_;
11109  if (((from_bitField1_ & 0x00000004) != 0)) {
11110  to_bitField1_ |= 0x00000002;
11111  }
11112  result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
11113  if (((from_bitField1_ & 0x00000008) != 0)) {
11114  result.useBlockingRestart_ = useBlockingRestart_;
11115  to_bitField1_ |= 0x00000004;
11116  }
11117  if (((from_bitField1_ & 0x00000010) != 0)) {
11118  to_bitField1_ |= 0x00000008;
11119  }
11120  result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
11121  if (((from_bitField1_ & 0x00000020) != 0)) {
11122  to_bitField1_ |= 0x00000010;
11123  }
11124  result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
11125  if (((from_bitField1_ & 0x00000040) != 0)) {
11126  result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
11127  to_bitField1_ |= 0x00000020;
11128  }
11129  if (((from_bitField1_ & 0x00000080) != 0)) {
11130  result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
11131  to_bitField1_ |= 0x00000040;
11132  }
11133  if (((from_bitField1_ & 0x00000100) != 0)) {
11134  to_bitField1_ |= 0x00000080;
11135  }
11136  result.maxTimeInSeconds_ = maxTimeInSeconds_;
11137  if (((from_bitField1_ & 0x00000200) != 0)) {
11138  to_bitField1_ |= 0x00000100;
11139  }
11140  result.maxDeterministicTime_ = maxDeterministicTime_;
11141  if (((from_bitField1_ & 0x00000400) != 0)) {
11142  to_bitField1_ |= 0x00000200;
11143  }
11144  result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
11145  if (((from_bitField1_ & 0x00000800) != 0)) {
11146  to_bitField1_ |= 0x00000400;
11147  }
11148  result.maxMemoryInMb_ = maxMemoryInMb_;
11149  if (((from_bitField1_ & 0x00001000) != 0)) {
11150  result.absoluteGapLimit_ = absoluteGapLimit_;
11151  to_bitField1_ |= 0x00000800;
11152  }
11153  if (((from_bitField1_ & 0x00002000) != 0)) {
11154  result.relativeGapLimit_ = relativeGapLimit_;
11155  to_bitField1_ |= 0x00001000;
11156  }
11157  if (((from_bitField1_ & 0x00004000) != 0)) {
11158  to_bitField1_ |= 0x00002000;
11159  }
11160  result.treatBinaryClausesSeparately_ = treatBinaryClausesSeparately_;
11161  if (((from_bitField1_ & 0x00008000) != 0)) {
11162  to_bitField1_ |= 0x00004000;
11163  }
11164  result.randomSeed_ = randomSeed_;
11165  if (((from_bitField1_ & 0x00010000) != 0)) {
11166  result.permuteVariableRandomly_ = permuteVariableRandomly_;
11167  to_bitField1_ |= 0x00008000;
11168  }
11169  if (((from_bitField1_ & 0x00020000) != 0)) {
11170  result.permutePresolveConstraintOrder_ = permutePresolveConstraintOrder_;
11171  to_bitField1_ |= 0x00010000;
11172  }
11173  if (((from_bitField1_ & 0x00040000) != 0)) {
11174  result.useAbslRandom_ = useAbslRandom_;
11175  to_bitField1_ |= 0x00020000;
11176  }
11177  if (((from_bitField1_ & 0x00080000) != 0)) {
11178  result.logSearchProgress_ = logSearchProgress_;
11179  to_bitField1_ |= 0x00040000;
11180  }
11181  if (((from_bitField1_ & 0x00100000) != 0)) {
11182  to_bitField1_ |= 0x00080000;
11183  }
11184  result.logPrefix_ = logPrefix_;
11185  if (((from_bitField1_ & 0x00200000) != 0)) {
11186  to_bitField1_ |= 0x00100000;
11187  }
11188  result.logToStdout_ = logToStdout_;
11189  if (((from_bitField1_ & 0x00400000) != 0)) {
11190  result.logToResponse_ = logToResponse_;
11191  to_bitField1_ |= 0x00200000;
11192  }
11193  if (((from_bitField1_ & 0x00800000) != 0)) {
11194  result.usePbResolution_ = usePbResolution_;
11195  to_bitField1_ |= 0x00400000;
11196  }
11197  if (((from_bitField1_ & 0x01000000) != 0)) {
11198  result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
11199  to_bitField1_ |= 0x00800000;
11200  }
11201  if (((from_bitField1_ & 0x02000000) != 0)) {
11202  to_bitField1_ |= 0x01000000;
11203  }
11204  result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
11205  if (((from_bitField1_ & 0x04000000) != 0)) {
11206  to_bitField1_ |= 0x02000000;
11207  }
11208  result.presolveBveThreshold_ = presolveBveThreshold_;
11209  if (((from_bitField1_ & 0x08000000) != 0)) {
11210  to_bitField1_ |= 0x04000000;
11211  }
11212  result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
11213  if (((from_bitField1_ & 0x10000000) != 0)) {
11214  to_bitField1_ |= 0x08000000;
11215  }
11216  result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
11217  if (((from_bitField1_ & 0x20000000) != 0)) {
11218  to_bitField1_ |= 0x10000000;
11219  }
11220  result.presolveBlockedClause_ = presolveBlockedClause_;
11221  if (((from_bitField1_ & 0x40000000) != 0)) {
11222  to_bitField1_ |= 0x20000000;
11223  }
11224  result.presolveUseBva_ = presolveUseBva_;
11225  if (((from_bitField1_ & 0x80000000) != 0)) {
11226  to_bitField1_ |= 0x40000000;
11227  }
11228  result.presolveBvaThreshold_ = presolveBvaThreshold_;
11229  if (((from_bitField2_ & 0x00000001) != 0)) {
11230  to_bitField1_ |= 0x80000000;
11231  }
11232  result.maxPresolveIterations_ = maxPresolveIterations_;
11233  if (((from_bitField2_ & 0x00000002) != 0)) {
11234  to_bitField2_ |= 0x00000001;
11235  }
11236  result.cpModelPresolve_ = cpModelPresolve_;
11237  if (((from_bitField2_ & 0x00000004) != 0)) {
11238  result.cpModelPostsolveWithFullSolver_ = cpModelPostsolveWithFullSolver_;
11239  to_bitField2_ |= 0x00000002;
11240  }
11241  if (((from_bitField2_ & 0x00000008) != 0)) {
11242  result.cpModelMaxNumPresolveOperations_ = cpModelMaxNumPresolveOperations_;
11243  to_bitField2_ |= 0x00000004;
11244  }
11245  if (((from_bitField2_ & 0x00000010) != 0)) {
11246  to_bitField2_ |= 0x00000008;
11247  }
11248  result.cpModelProbingLevel_ = cpModelProbingLevel_;
11249  if (((from_bitField2_ & 0x00000020) != 0)) {
11250  to_bitField2_ |= 0x00000010;
11251  }
11252  result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
11253  if (((from_bitField2_ & 0x00000040) != 0)) {
11254  result.useSatInprocessing_ = useSatInprocessing_;
11255  to_bitField2_ |= 0x00000020;
11256  }
11257  if (((from_bitField2_ & 0x00000080) != 0)) {
11258  to_bitField2_ |= 0x00000040;
11259  }
11260  result.expandElementConstraints_ = expandElementConstraints_;
11261  if (((from_bitField2_ & 0x00000100) != 0)) {
11262  to_bitField2_ |= 0x00000080;
11263  }
11264  result.expandAutomatonConstraints_ = expandAutomatonConstraints_;
11265  if (((from_bitField2_ & 0x00000200) != 0)) {
11266  to_bitField2_ |= 0x00000100;
11267  }
11268  result.expandTableConstraints_ = expandTableConstraints_;
11269  if (((from_bitField2_ & 0x00000400) != 0)) {
11270  result.expandAlldiffConstraints_ = expandAlldiffConstraints_;
11271  to_bitField2_ |= 0x00000200;
11272  }
11273  if (((from_bitField2_ & 0x00000800) != 0)) {
11274  to_bitField2_ |= 0x00000400;
11275  }
11276  result.expandReservoirConstraints_ = expandReservoirConstraints_;
11277  if (((from_bitField2_ & 0x00001000) != 0)) {
11278  result.disableConstraintExpansion_ = disableConstraintExpansion_;
11279  to_bitField2_ |= 0x00000800;
11280  }
11281  if (((from_bitField2_ & 0x00002000) != 0)) {
11282  to_bitField2_ |= 0x00001000;
11283  }
11284  result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
11285  if (((from_bitField2_ & 0x00004000) != 0)) {
11286  to_bitField2_ |= 0x00002000;
11287  }
11288  result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
11289  if (((from_bitField2_ & 0x00008000) != 0)) {
11290  to_bitField2_ |= 0x00004000;
11291  }
11292  result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
11293  if (((from_bitField2_ & 0x00010000) != 0)) {
11294  result.presolveExtractIntegerEnforcement_ = presolveExtractIntegerEnforcement_;
11295  to_bitField2_ |= 0x00008000;
11296  }
11297  if (((from_bitField2_ & 0x00020000) != 0)) {
11298  to_bitField2_ |= 0x00010000;
11299  }
11300  result.useOptimizationHints_ = useOptimizationHints_;
11301  if (((from_bitField2_ & 0x00040000) != 0)) {
11302  to_bitField2_ |= 0x00020000;
11303  }
11304  result.minimizeCore_ = minimizeCore_;
11305  if (((from_bitField2_ & 0x00080000) != 0)) {
11306  to_bitField2_ |= 0x00040000;
11307  }
11308  result.findMultipleCores_ = findMultipleCores_;
11309  if (((from_bitField2_ & 0x00100000) != 0)) {
11310  to_bitField2_ |= 0x00080000;
11311  }
11312  result.coverOptimization_ = coverOptimization_;
11313  if (((from_bitField2_ & 0x00200000) != 0)) {
11314  to_bitField2_ |= 0x00100000;
11315  }
11316  result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
11317  if (((from_bitField2_ & 0x00400000) != 0)) {
11318  result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
11319  to_bitField2_ |= 0x00200000;
11320  }
11321  if (((from_bitField2_ & 0x00800000) != 0)) {
11322  to_bitField2_ |= 0x00400000;
11323  }
11324  result.maxSatStratification_ = maxSatStratification_;
11325  if (((from_bitField2_ & 0x01000000) != 0)) {
11326  to_bitField2_ |= 0x00800000;
11327  }
11328  result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
11329  if (((from_bitField2_ & 0x02000000) != 0)) {
11330  result.useOverloadCheckerInCumulativeConstraint_ = useOverloadCheckerInCumulativeConstraint_;
11331  to_bitField2_ |= 0x01000000;
11332  }
11333  if (((from_bitField2_ & 0x04000000) != 0)) {
11334  result.useTimetableEdgeFindingInCumulativeConstraint_ = useTimetableEdgeFindingInCumulativeConstraint_;
11335  to_bitField2_ |= 0x02000000;
11336  }
11337  if (((from_bitField2_ & 0x08000000) != 0)) {
11338  to_bitField2_ |= 0x04000000;
11339  }
11340  result.useDisjunctiveConstraintInCumulativeConstraint_ = useDisjunctiveConstraintInCumulativeConstraint_;
11341  if (((from_bitField2_ & 0x10000000) != 0)) {
11342  to_bitField2_ |= 0x08000000;
11343  }
11344  result.linearizationLevel_ = linearizationLevel_;
11345  if (((from_bitField2_ & 0x20000000) != 0)) {
11346  to_bitField2_ |= 0x10000000;
11347  }
11348  result.booleanEncodingLevel_ = booleanEncodingLevel_;
11349  if (((from_bitField2_ & 0x40000000) != 0)) {
11350  to_bitField2_ |= 0x20000000;
11351  }
11352  result.maxNumCuts_ = maxNumCuts_;
11353  if (((from_bitField2_ & 0x80000000) != 0)) {
11354  result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
11355  to_bitField2_ |= 0x40000000;
11356  }
11357  if (((from_bitField3_ & 0x00000001) != 0)) {
11358  result.addKnapsackCuts_ = addKnapsackCuts_;
11359  to_bitField2_ |= 0x80000000;
11360  }
11361  if (((from_bitField3_ & 0x00000002) != 0)) {
11362  to_bitField3_ |= 0x00000001;
11363  }
11364  result.addCgCuts_ = addCgCuts_;
11365  if (((from_bitField3_ & 0x00000004) != 0)) {
11366  to_bitField3_ |= 0x00000002;
11367  }
11368  result.addMirCuts_ = addMirCuts_;
11369  if (((from_bitField3_ & 0x00000008) != 0)) {
11370  to_bitField3_ |= 0x00000004;
11371  }
11372  result.addZeroHalfCuts_ = addZeroHalfCuts_;
11373  if (((from_bitField3_ & 0x00000010) != 0)) {
11374  to_bitField3_ |= 0x00000008;
11375  }
11376  result.addCliqueCuts_ = addCliqueCuts_;
11377  if (((from_bitField3_ & 0x00000020) != 0)) {
11378  to_bitField3_ |= 0x00000010;
11379  }
11380  result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
11381  if (((from_bitField3_ & 0x00000040) != 0)) {
11382  to_bitField3_ |= 0x00000020;
11383  }
11384  result.addLinMaxCuts_ = addLinMaxCuts_;
11385  if (((from_bitField3_ & 0x00000080) != 0)) {
11386  to_bitField3_ |= 0x00000040;
11387  }
11388  result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
11389  if (((from_bitField3_ & 0x00000100) != 0)) {
11390  to_bitField3_ |= 0x00000080;
11391  }
11392  result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
11393  if (((from_bitField3_ & 0x00000200) != 0)) {
11394  to_bitField3_ |= 0x00000100;
11395  }
11396  result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
11397  if (((from_bitField3_ & 0x00000400) != 0)) {
11398  to_bitField3_ |= 0x00000200;
11399  }
11400  result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
11401  if (((from_bitField3_ & 0x00000800) != 0)) {
11402  to_bitField3_ |= 0x00000400;
11403  }
11404  result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
11405  if (((from_bitField3_ & 0x00001000) != 0)) {
11406  to_bitField3_ |= 0x00000800;
11407  }
11408  result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
11409  if (((from_bitField3_ & 0x00002000) != 0)) {
11410  to_bitField3_ |= 0x00001000;
11411  }
11412  result.cutActiveCountDecay_ = cutActiveCountDecay_;
11413  if (((from_bitField3_ & 0x00004000) != 0)) {
11414  to_bitField3_ |= 0x00002000;
11415  }
11416  result.cutCleanupTarget_ = cutCleanupTarget_;
11417  if (((from_bitField3_ & 0x00008000) != 0)) {
11418  to_bitField3_ |= 0x00004000;
11419  }
11420  result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
11421  if (((from_bitField3_ & 0x00010000) != 0)) {
11422  to_bitField3_ |= 0x00008000;
11423  }
11424  result.searchBranching_ = searchBranching_;
11425  if (((from_bitField3_ & 0x00020000) != 0)) {
11426  to_bitField3_ |= 0x00010000;
11427  }
11428  result.hintConflictLimit_ = hintConflictLimit_;
11429  if (((from_bitField3_ & 0x00040000) != 0)) {
11430  result.repairHint_ = repairHint_;
11431  to_bitField3_ |= 0x00020000;
11432  }
11433  if (((from_bitField3_ & 0x00080000) != 0)) {
11434  to_bitField3_ |= 0x00040000;
11435  }
11436  result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
11437  if (((from_bitField3_ & 0x00100000) != 0)) {
11438  to_bitField3_ |= 0x00080000;
11439  }
11440  result.exploitAllLpSolution_ = exploitAllLpSolution_;
11441  if (((from_bitField3_ & 0x00200000) != 0)) {
11442  result.exploitBestSolution_ = exploitBestSolution_;
11443  to_bitField3_ |= 0x00100000;
11444  }
11445  if (((from_bitField3_ & 0x00400000) != 0)) {
11446  result.exploitRelaxationSolution_ = exploitRelaxationSolution_;
11447  to_bitField3_ |= 0x00200000;
11448  }
11449  if (((from_bitField3_ & 0x00800000) != 0)) {
11450  to_bitField3_ |= 0x00400000;
11451  }
11452  result.exploitObjective_ = exploitObjective_;
11453  if (((from_bitField3_ & 0x01000000) != 0)) {
11454  result.probingPeriodAtRoot_ = probingPeriodAtRoot_;
11455  to_bitField3_ |= 0x00800000;
11456  }
11457  if (((from_bitField3_ & 0x02000000) != 0)) {
11458  result.useProbingSearch_ = useProbingSearch_;
11459  to_bitField3_ |= 0x01000000;
11460  }
11461  if (((from_bitField3_ & 0x04000000) != 0)) {
11462  to_bitField3_ |= 0x02000000;
11463  }
11464  result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
11465  if (((from_bitField3_ & 0x08000000) != 0)) {
11466  result.optimizeWithCore_ = optimizeWithCore_;
11467  to_bitField3_ |= 0x04000000;
11468  }
11469  if (((from_bitField3_ & 0x10000000) != 0)) {
11470  to_bitField3_ |= 0x08000000;
11471  }
11472  result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
11473  if (((from_bitField3_ & 0x20000000) != 0)) {
11474  result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
11475  to_bitField3_ |= 0x10000000;
11476  }
11477  if (((from_bitField3_ & 0x40000000) != 0)) {
11478  result.enumerateAllSolutions_ = enumerateAllSolutions_;
11479  to_bitField3_ |= 0x20000000;
11480  }
11481  if (((from_bitField3_ & 0x80000000) != 0)) {
11482  result.keepAllFeasibleSolutionsInPresolve_ = keepAllFeasibleSolutionsInPresolve_;
11483  to_bitField3_ |= 0x40000000;
11484  }
11485  if (((from_bitField4_ & 0x00000001) != 0)) {
11486  result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
11487  to_bitField3_ |= 0x80000000;
11488  }
11489  if (((from_bitField4_ & 0x00000002) != 0)) {
11490  to_bitField4_ |= 0x00000001;
11491  }
11492  result.instantiateAllVariables_ = instantiateAllVariables_;
11493  if (((from_bitField4_ & 0x00000004) != 0)) {
11494  to_bitField4_ |= 0x00000002;
11495  }
11496  result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
11497  if (((from_bitField4_ & 0x00000008) != 0)) {
11498  result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
11499  to_bitField4_ |= 0x00000004;
11500  }
11501  if (((from_bitField4_ & 0x00000010) != 0)) {
11502  result.stopAfterPresolve_ = stopAfterPresolve_;
11503  to_bitField4_ |= 0x00000008;
11504  }
11505  if (((from_bitField4_ & 0x00000020) != 0)) {
11506  to_bitField4_ |= 0x00000010;
11507  }
11508  result.numSearchWorkers_ = numSearchWorkers_;
11509  if (((from_bitField4_ & 0x00000040) != 0)) {
11510  result.interleaveSearch_ = interleaveSearch_;
11511  to_bitField4_ |= 0x00000020;
11512  }
11513  if (((from_bitField4_ & 0x00000080) != 0)) {
11514  to_bitField4_ |= 0x00000040;
11515  }
11516  result.interleaveBatchSize_ = interleaveBatchSize_;
11517  if (((from_bitField4_ & 0x00000100) != 0)) {
11518  result.reduceMemoryUsageInInterleaveMode_ = reduceMemoryUsageInInterleaveMode_;
11519  to_bitField4_ |= 0x00000080;
11520  }
11521  if (((from_bitField4_ & 0x00000200) != 0)) {
11522  to_bitField4_ |= 0x00000100;
11523  }
11524  result.shareObjectiveBounds_ = shareObjectiveBounds_;
11525  if (((from_bitField4_ & 0x00000400) != 0)) {
11526  to_bitField4_ |= 0x00000200;
11527  }
11528  result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
11529  if (((from_bitField4_ & 0x00000800) != 0)) {
11530  result.useLnsOnly_ = useLnsOnly_;
11531  to_bitField4_ |= 0x00000400;
11532  }
11533  if (((from_bitField4_ & 0x00001000) != 0)) {
11534  result.lnsFocusOnDecisionVariables_ = lnsFocusOnDecisionVariables_;
11535  to_bitField4_ |= 0x00000800;
11536  }
11537  if (((from_bitField4_ & 0x00002000) != 0)) {
11538  to_bitField4_ |= 0x00001000;
11539  }
11540  result.lnsExpandIntervalsInConstraintGraph_ = lnsExpandIntervalsInConstraintGraph_;
11541  if (((from_bitField4_ & 0x00004000) != 0)) {
11542  to_bitField4_ |= 0x00002000;
11543  }
11544  result.useRinsLns_ = useRinsLns_;
11545  if (((from_bitField4_ & 0x00008000) != 0)) {
11546  to_bitField4_ |= 0x00004000;
11547  }
11548  result.useFeasibilityPump_ = useFeasibilityPump_;
11549  if (((from_bitField4_ & 0x00010000) != 0)) {
11550  to_bitField4_ |= 0x00008000;
11551  }
11552  result.fpRounding_ = fpRounding_;
11553  if (((from_bitField4_ & 0x00020000) != 0)) {
11554  result.useRelaxationLns_ = useRelaxationLns_;
11555  to_bitField4_ |= 0x00010000;
11556  }
11557  if (((from_bitField4_ & 0x00040000) != 0)) {
11558  result.diversifyLnsParams_ = diversifyLnsParams_;
11559  to_bitField4_ |= 0x00020000;
11560  }
11561  if (((from_bitField4_ & 0x00080000) != 0)) {
11562  result.randomizeSearch_ = randomizeSearch_;
11563  to_bitField4_ |= 0x00040000;
11564  }
11565  if (((from_bitField4_ & 0x00100000) != 0)) {
11566  result.searchRandomizationTolerance_ = searchRandomizationTolerance_;
11567  to_bitField4_ |= 0x00080000;
11568  }
11569  if (((from_bitField4_ & 0x00200000) != 0)) {
11570  to_bitField4_ |= 0x00100000;
11571  }
11572  result.useOptionalVariables_ = useOptionalVariables_;
11573  if (((from_bitField4_ & 0x00400000) != 0)) {
11574  to_bitField4_ |= 0x00200000;
11575  }
11576  result.useExactLpReason_ = useExactLpReason_;
11577  if (((from_bitField4_ & 0x00800000) != 0)) {
11578  result.useBranchingInLp_ = useBranchingInLp_;
11579  to_bitField4_ |= 0x00400000;
11580  }
11581  if (((from_bitField4_ & 0x01000000) != 0)) {
11582  result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
11583  to_bitField4_ |= 0x00800000;
11584  }
11585  if (((from_bitField4_ & 0x02000000) != 0)) {
11586  to_bitField4_ |= 0x01000000;
11587  }
11588  result.catchSigintSignal_ = catchSigintSignal_;
11589  if (((from_bitField4_ & 0x04000000) != 0)) {
11590  to_bitField4_ |= 0x02000000;
11591  }
11592  result.useImpliedBounds_ = useImpliedBounds_;
11593  if (((from_bitField4_ & 0x08000000) != 0)) {
11594  result.polishLpSolution_ = polishLpSolution_;
11595  to_bitField4_ |= 0x04000000;
11596  }
11597  if (((from_bitField4_ & 0x10000000) != 0)) {
11598  result.convertIntervals_ = convertIntervals_;
11599  to_bitField4_ |= 0x08000000;
11600  }
11601  if (((from_bitField4_ & 0x20000000) != 0)) {
11602  to_bitField4_ |= 0x10000000;
11603  }
11604  result.symmetryLevel_ = symmetryLevel_;
11605  if (((from_bitField4_ & 0x40000000) != 0)) {
11606  to_bitField4_ |= 0x20000000;
11607  }
11608  result.mipMaxBound_ = mipMaxBound_;
11609  if (((from_bitField4_ & 0x80000000) != 0)) {
11610  to_bitField4_ |= 0x40000000;
11611  }
11612  result.mipVarScaling_ = mipVarScaling_;
11613  if (((from_bitField5_ & 0x00000001) != 0)) {
11614  to_bitField4_ |= 0x80000000;
11615  }
11616  result.mipAutomaticallyScaleVariables_ = mipAutomaticallyScaleVariables_;
11617  if (((from_bitField5_ & 0x00000002) != 0)) {
11618  to_bitField5_ |= 0x00000001;
11619  }
11620  result.mipWantedPrecision_ = mipWantedPrecision_;
11621  if (((from_bitField5_ & 0x00000004) != 0)) {
11622  to_bitField5_ |= 0x00000002;
11623  }
11624  result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
11625  if (((from_bitField5_ & 0x00000008) != 0)) {
11626  to_bitField5_ |= 0x00000004;
11627  }
11628  result.mipCheckPrecision_ = mipCheckPrecision_;
11629  result.bitField0_ = to_bitField0_;
11630  result.bitField1_ = to_bitField1_;
11631  result.bitField2_ = to_bitField2_;
11632  result.bitField3_ = to_bitField3_;
11633  result.bitField4_ = to_bitField4_;
11634  result.bitField5_ = to_bitField5_;
11635  onBuilt();
11636  return result;
11637  }
11638 
11639  @java.lang.Override
11640  public Builder clone() {
11641  return super.clone();
11642  }
11643  @java.lang.Override
11645  com.google.protobuf.Descriptors.FieldDescriptor field,
11646  java.lang.Object value) {
11647  return super.setField(field, value);
11648  }
11649  @java.lang.Override
11651  com.google.protobuf.Descriptors.FieldDescriptor field) {
11652  return super.clearField(field);
11653  }
11654  @java.lang.Override
11656  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
11657  return super.clearOneof(oneof);
11658  }
11659  @java.lang.Override
11661  com.google.protobuf.Descriptors.FieldDescriptor field,
11662  int index, java.lang.Object value) {
11663  return super.setRepeatedField(field, index, value);
11664  }
11665  @java.lang.Override
11667  com.google.protobuf.Descriptors.FieldDescriptor field,
11668  java.lang.Object value) {
11669  return super.addRepeatedField(field, value);
11670  }
11671  @java.lang.Override
11672  public Builder mergeFrom(com.google.protobuf.Message other) {
11673  if (other instanceof com.google.ortools.sat.SatParameters) {
11674  return mergeFrom((com.google.ortools.sat.SatParameters)other);
11675  } else {
11676  super.mergeFrom(other);
11677  return this;
11678  }
11679  }
11680 
11681  public Builder mergeFrom(com.google.ortools.sat.SatParameters other) {
11682  if (other == com.google.ortools.sat.SatParameters.getDefaultInstance()) return this;
11683  if (other.hasName()) {
11684  bitField0_ |= 0x00000001;
11685  name_ = other.name_;
11686  onChanged();
11687  }
11688  if (other.hasPreferredVariableOrder()) {
11689  setPreferredVariableOrder(other.getPreferredVariableOrder());
11690  }
11691  if (other.hasInitialPolarity()) {
11692  setInitialPolarity(other.getInitialPolarity());
11693  }
11694  if (other.hasUsePhaseSaving()) {
11695  setUsePhaseSaving(other.getUsePhaseSaving());
11696  }
11697  if (other.hasPolarityRephaseIncrement()) {
11698  setPolarityRephaseIncrement(other.getPolarityRephaseIncrement());
11699  }
11700  if (other.hasRandomPolarityRatio()) {
11701  setRandomPolarityRatio(other.getRandomPolarityRatio());
11702  }
11703  if (other.hasRandomBranchesRatio()) {
11704  setRandomBranchesRatio(other.getRandomBranchesRatio());
11705  }
11706  if (other.hasUseErwaHeuristic()) {
11707  setUseErwaHeuristic(other.getUseErwaHeuristic());
11708  }
11709  if (other.hasInitialVariablesActivity()) {
11710  setInitialVariablesActivity(other.getInitialVariablesActivity());
11711  }
11712  if (other.hasAlsoBumpVariablesInConflictReasons()) {
11713  setAlsoBumpVariablesInConflictReasons(other.getAlsoBumpVariablesInConflictReasons());
11714  }
11715  if (other.hasMinimizationAlgorithm()) {
11716  setMinimizationAlgorithm(other.getMinimizationAlgorithm());
11717  }
11718  if (other.hasBinaryMinimizationAlgorithm()) {
11719  setBinaryMinimizationAlgorithm(other.getBinaryMinimizationAlgorithm());
11720  }
11721  if (other.hasSubsumptionDuringConflictAnalysis()) {
11722  setSubsumptionDuringConflictAnalysis(other.getSubsumptionDuringConflictAnalysis());
11723  }
11724  if (other.hasClauseCleanupPeriod()) {
11725  setClauseCleanupPeriod(other.getClauseCleanupPeriod());
11726  }
11727  if (other.hasClauseCleanupTarget()) {
11728  setClauseCleanupTarget(other.getClauseCleanupTarget());
11729  }
11730  if (other.hasClauseCleanupProtection()) {
11731  setClauseCleanupProtection(other.getClauseCleanupProtection());
11732  }
11733  if (other.hasClauseCleanupLbdBound()) {
11734  setClauseCleanupLbdBound(other.getClauseCleanupLbdBound());
11735  }
11736  if (other.hasClauseCleanupOrdering()) {
11737  setClauseCleanupOrdering(other.getClauseCleanupOrdering());
11738  }
11739  if (other.hasPbCleanupIncrement()) {
11740  setPbCleanupIncrement(other.getPbCleanupIncrement());
11741  }
11742  if (other.hasPbCleanupRatio()) {
11743  setPbCleanupRatio(other.getPbCleanupRatio());
11744  }
11745  if (other.hasMinimizeWithPropagationRestartPeriod()) {
11746  setMinimizeWithPropagationRestartPeriod(other.getMinimizeWithPropagationRestartPeriod());
11747  }
11748  if (other.hasMinimizeWithPropagationNumDecisions()) {
11749  setMinimizeWithPropagationNumDecisions(other.getMinimizeWithPropagationNumDecisions());
11750  }
11751  if (other.hasVariableActivityDecay()) {
11752  setVariableActivityDecay(other.getVariableActivityDecay());
11753  }
11754  if (other.hasMaxVariableActivityValue()) {
11755  setMaxVariableActivityValue(other.getMaxVariableActivityValue());
11756  }
11757  if (other.hasGlucoseMaxDecay()) {
11758  setGlucoseMaxDecay(other.getGlucoseMaxDecay());
11759  }
11760  if (other.hasGlucoseDecayIncrement()) {
11761  setGlucoseDecayIncrement(other.getGlucoseDecayIncrement());
11762  }
11763  if (other.hasGlucoseDecayIncrementPeriod()) {
11764  setGlucoseDecayIncrementPeriod(other.getGlucoseDecayIncrementPeriod());
11765  }
11766  if (other.hasClauseActivityDecay()) {
11767  setClauseActivityDecay(other.getClauseActivityDecay());
11768  }
11769  if (other.hasMaxClauseActivityValue()) {
11770  setMaxClauseActivityValue(other.getMaxClauseActivityValue());
11771  }
11772  if (!other.restartAlgorithms_.isEmpty()) {
11773  if (restartAlgorithms_.isEmpty()) {
11774  restartAlgorithms_ = other.restartAlgorithms_;
11775  bitField0_ = (bitField0_ & ~0x20000000);
11776  } else {
11777  ensureRestartAlgorithmsIsMutable();
11778  restartAlgorithms_.addAll(other.restartAlgorithms_);
11779  }
11780  onChanged();
11781  }
11782  if (other.hasDefaultRestartAlgorithms()) {
11783  bitField0_ |= 0x40000000;
11784  defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
11785  onChanged();
11786  }
11787  if (other.hasRestartPeriod()) {
11788  setRestartPeriod(other.getRestartPeriod());
11789  }
11790  if (other.hasRestartRunningWindowSize()) {
11791  setRestartRunningWindowSize(other.getRestartRunningWindowSize());
11792  }
11793  if (other.hasRestartDlAverageRatio()) {
11794  setRestartDlAverageRatio(other.getRestartDlAverageRatio());
11795  }
11796  if (other.hasRestartLbdAverageRatio()) {
11797  setRestartLbdAverageRatio(other.getRestartLbdAverageRatio());
11798  }
11799  if (other.hasUseBlockingRestart()) {
11800  setUseBlockingRestart(other.getUseBlockingRestart());
11801  }
11802  if (other.hasBlockingRestartWindowSize()) {
11803  setBlockingRestartWindowSize(other.getBlockingRestartWindowSize());
11804  }
11805  if (other.hasBlockingRestartMultiplier()) {
11806  setBlockingRestartMultiplier(other.getBlockingRestartMultiplier());
11807  }
11808  if (other.hasNumConflictsBeforeStrategyChanges()) {
11809  setNumConflictsBeforeStrategyChanges(other.getNumConflictsBeforeStrategyChanges());
11810  }
11811  if (other.hasStrategyChangeIncreaseRatio()) {
11812  setStrategyChangeIncreaseRatio(other.getStrategyChangeIncreaseRatio());
11813  }
11814  if (other.hasMaxTimeInSeconds()) {
11815  setMaxTimeInSeconds(other.getMaxTimeInSeconds());
11816  }
11817  if (other.hasMaxDeterministicTime()) {
11818  setMaxDeterministicTime(other.getMaxDeterministicTime());
11819  }
11820  if (other.hasMaxNumberOfConflicts()) {
11821  setMaxNumberOfConflicts(other.getMaxNumberOfConflicts());
11822  }
11823  if (other.hasMaxMemoryInMb()) {
11824  setMaxMemoryInMb(other.getMaxMemoryInMb());
11825  }
11826  if (other.hasAbsoluteGapLimit()) {
11827  setAbsoluteGapLimit(other.getAbsoluteGapLimit());
11828  }
11829  if (other.hasRelativeGapLimit()) {
11830  setRelativeGapLimit(other.getRelativeGapLimit());
11831  }
11832  if (other.hasTreatBinaryClausesSeparately()) {
11833  setTreatBinaryClausesSeparately(other.getTreatBinaryClausesSeparately());
11834  }
11835  if (other.hasRandomSeed()) {
11836  setRandomSeed(other.getRandomSeed());
11837  }
11838  if (other.hasPermuteVariableRandomly()) {
11839  setPermuteVariableRandomly(other.getPermuteVariableRandomly());
11840  }
11841  if (other.hasPermutePresolveConstraintOrder()) {
11842  setPermutePresolveConstraintOrder(other.getPermutePresolveConstraintOrder());
11843  }
11844  if (other.hasUseAbslRandom()) {
11845  setUseAbslRandom(other.getUseAbslRandom());
11846  }
11847  if (other.hasLogSearchProgress()) {
11848  setLogSearchProgress(other.getLogSearchProgress());
11849  }
11850  if (other.hasLogPrefix()) {
11851  bitField1_ |= 0x00100000;
11852  logPrefix_ = other.logPrefix_;
11853  onChanged();
11854  }
11855  if (other.hasLogToStdout()) {
11856  setLogToStdout(other.getLogToStdout());
11857  }
11858  if (other.hasLogToResponse()) {
11859  setLogToResponse(other.getLogToResponse());
11860  }
11861  if (other.hasUsePbResolution()) {
11862  setUsePbResolution(other.getUsePbResolution());
11863  }
11864  if (other.hasMinimizeReductionDuringPbResolution()) {
11865  setMinimizeReductionDuringPbResolution(other.getMinimizeReductionDuringPbResolution());
11866  }
11867  if (other.hasCountAssumptionLevelsInLbd()) {
11868  setCountAssumptionLevelsInLbd(other.getCountAssumptionLevelsInLbd());
11869  }
11870  if (other.hasPresolveBveThreshold()) {
11871  setPresolveBveThreshold(other.getPresolveBveThreshold());
11872  }
11873  if (other.hasPresolveBveClauseWeight()) {
11874  setPresolveBveClauseWeight(other.getPresolveBveClauseWeight());
11875  }
11876  if (other.hasPresolveProbingDeterministicTimeLimit()) {
11877  setPresolveProbingDeterministicTimeLimit(other.getPresolveProbingDeterministicTimeLimit());
11878  }
11879  if (other.hasPresolveBlockedClause()) {
11880  setPresolveBlockedClause(other.getPresolveBlockedClause());
11881  }
11882  if (other.hasPresolveUseBva()) {
11883  setPresolveUseBva(other.getPresolveUseBva());
11884  }
11885  if (other.hasPresolveBvaThreshold()) {
11886  setPresolveBvaThreshold(other.getPresolveBvaThreshold());
11887  }
11888  if (other.hasMaxPresolveIterations()) {
11889  setMaxPresolveIterations(other.getMaxPresolveIterations());
11890  }
11891  if (other.hasCpModelPresolve()) {
11892  setCpModelPresolve(other.getCpModelPresolve());
11893  }
11894  if (other.hasCpModelPostsolveWithFullSolver()) {
11895  setCpModelPostsolveWithFullSolver(other.getCpModelPostsolveWithFullSolver());
11896  }
11897  if (other.hasCpModelMaxNumPresolveOperations()) {
11898  setCpModelMaxNumPresolveOperations(other.getCpModelMaxNumPresolveOperations());
11899  }
11900  if (other.hasCpModelProbingLevel()) {
11901  setCpModelProbingLevel(other.getCpModelProbingLevel());
11902  }
11903  if (other.hasCpModelUseSatPresolve()) {
11904  setCpModelUseSatPresolve(other.getCpModelUseSatPresolve());
11905  }
11906  if (other.hasUseSatInprocessing()) {
11907  setUseSatInprocessing(other.getUseSatInprocessing());
11908  }
11909  if (other.hasExpandElementConstraints()) {
11910  setExpandElementConstraints(other.getExpandElementConstraints());
11911  }
11912  if (other.hasExpandAutomatonConstraints()) {
11913  setExpandAutomatonConstraints(other.getExpandAutomatonConstraints());
11914  }
11915  if (other.hasExpandTableConstraints()) {
11916  setExpandTableConstraints(other.getExpandTableConstraints());
11917  }
11918  if (other.hasExpandAlldiffConstraints()) {
11919  setExpandAlldiffConstraints(other.getExpandAlldiffConstraints());
11920  }
11921  if (other.hasExpandReservoirConstraints()) {
11922  setExpandReservoirConstraints(other.getExpandReservoirConstraints());
11923  }
11924  if (other.hasDisableConstraintExpansion()) {
11925  setDisableConstraintExpansion(other.getDisableConstraintExpansion());
11926  }
11927  if (other.hasMergeNoOverlapWorkLimit()) {
11928  setMergeNoOverlapWorkLimit(other.getMergeNoOverlapWorkLimit());
11929  }
11930  if (other.hasMergeAtMostOneWorkLimit()) {
11931  setMergeAtMostOneWorkLimit(other.getMergeAtMostOneWorkLimit());
11932  }
11933  if (other.hasPresolveSubstitutionLevel()) {
11934  setPresolveSubstitutionLevel(other.getPresolveSubstitutionLevel());
11935  }
11936  if (other.hasPresolveExtractIntegerEnforcement()) {
11937  setPresolveExtractIntegerEnforcement(other.getPresolveExtractIntegerEnforcement());
11938  }
11939  if (other.hasUseOptimizationHints()) {
11940  setUseOptimizationHints(other.getUseOptimizationHints());
11941  }
11942  if (other.hasMinimizeCore()) {
11943  setMinimizeCore(other.getMinimizeCore());
11944  }
11945  if (other.hasFindMultipleCores()) {
11946  setFindMultipleCores(other.getFindMultipleCores());
11947  }
11948  if (other.hasCoverOptimization()) {
11949  setCoverOptimization(other.getCoverOptimization());
11950  }
11951  if (other.hasMaxSatAssumptionOrder()) {
11952  setMaxSatAssumptionOrder(other.getMaxSatAssumptionOrder());
11953  }
11954  if (other.hasMaxSatReverseAssumptionOrder()) {
11955  setMaxSatReverseAssumptionOrder(other.getMaxSatReverseAssumptionOrder());
11956  }
11957  if (other.hasMaxSatStratification()) {
11958  setMaxSatStratification(other.getMaxSatStratification());
11959  }
11960  if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
11961  setUsePrecedencesInDisjunctiveConstraint(other.getUsePrecedencesInDisjunctiveConstraint());
11962  }
11963  if (other.hasUseOverloadCheckerInCumulativeConstraint()) {
11964  setUseOverloadCheckerInCumulativeConstraint(other.getUseOverloadCheckerInCumulativeConstraint());
11965  }
11966  if (other.hasUseTimetableEdgeFindingInCumulativeConstraint()) {
11967  setUseTimetableEdgeFindingInCumulativeConstraint(other.getUseTimetableEdgeFindingInCumulativeConstraint());
11968  }
11969  if (other.hasUseDisjunctiveConstraintInCumulativeConstraint()) {
11970  setUseDisjunctiveConstraintInCumulativeConstraint(other.getUseDisjunctiveConstraintInCumulativeConstraint());
11971  }
11972  if (other.hasLinearizationLevel()) {
11973  setLinearizationLevel(other.getLinearizationLevel());
11974  }
11975  if (other.hasBooleanEncodingLevel()) {
11976  setBooleanEncodingLevel(other.getBooleanEncodingLevel());
11977  }
11978  if (other.hasMaxNumCuts()) {
11979  setMaxNumCuts(other.getMaxNumCuts());
11980  }
11981  if (other.hasOnlyAddCutsAtLevelZero()) {
11982  setOnlyAddCutsAtLevelZero(other.getOnlyAddCutsAtLevelZero());
11983  }
11984  if (other.hasAddKnapsackCuts()) {
11985  setAddKnapsackCuts(other.getAddKnapsackCuts());
11986  }
11987  if (other.hasAddCgCuts()) {
11988  setAddCgCuts(other.getAddCgCuts());
11989  }
11990  if (other.hasAddMirCuts()) {
11991  setAddMirCuts(other.getAddMirCuts());
11992  }
11993  if (other.hasAddZeroHalfCuts()) {
11994  setAddZeroHalfCuts(other.getAddZeroHalfCuts());
11995  }
11996  if (other.hasAddCliqueCuts()) {
11997  setAddCliqueCuts(other.getAddCliqueCuts());
11998  }
11999  if (other.hasMaxAllDiffCutSize()) {
12000  setMaxAllDiffCutSize(other.getMaxAllDiffCutSize());
12001  }
12002  if (other.hasAddLinMaxCuts()) {
12003  setAddLinMaxCuts(other.getAddLinMaxCuts());
12004  }
12005  if (other.hasMaxIntegerRoundingScaling()) {
12006  setMaxIntegerRoundingScaling(other.getMaxIntegerRoundingScaling());
12007  }
12008  if (other.hasAddLpConstraintsLazily()) {
12009  setAddLpConstraintsLazily(other.getAddLpConstraintsLazily());
12010  }
12011  if (other.hasMinOrthogonalityForLpConstraints()) {
12012  setMinOrthogonalityForLpConstraints(other.getMinOrthogonalityForLpConstraints());
12013  }
12014  if (other.hasMaxCutRoundsAtLevelZero()) {
12015  setMaxCutRoundsAtLevelZero(other.getMaxCutRoundsAtLevelZero());
12016  }
12017  if (other.hasMaxConsecutiveInactiveCount()) {
12018  setMaxConsecutiveInactiveCount(other.getMaxConsecutiveInactiveCount());
12019  }
12020  if (other.hasCutMaxActiveCountValue()) {
12021  setCutMaxActiveCountValue(other.getCutMaxActiveCountValue());
12022  }
12023  if (other.hasCutActiveCountDecay()) {
12024  setCutActiveCountDecay(other.getCutActiveCountDecay());
12025  }
12026  if (other.hasCutCleanupTarget()) {
12027  setCutCleanupTarget(other.getCutCleanupTarget());
12028  }
12029  if (other.hasNewConstraintsBatchSize()) {
12030  setNewConstraintsBatchSize(other.getNewConstraintsBatchSize());
12031  }
12032  if (other.hasSearchBranching()) {
12033  setSearchBranching(other.getSearchBranching());
12034  }
12035  if (other.hasHintConflictLimit()) {
12036  setHintConflictLimit(other.getHintConflictLimit());
12037  }
12038  if (other.hasRepairHint()) {
12039  setRepairHint(other.getRepairHint());
12040  }
12041  if (other.hasExploitIntegerLpSolution()) {
12042  setExploitIntegerLpSolution(other.getExploitIntegerLpSolution());
12043  }
12044  if (other.hasExploitAllLpSolution()) {
12045  setExploitAllLpSolution(other.getExploitAllLpSolution());
12046  }
12047  if (other.hasExploitBestSolution()) {
12048  setExploitBestSolution(other.getExploitBestSolution());
12049  }
12050  if (other.hasExploitRelaxationSolution()) {
12051  setExploitRelaxationSolution(other.getExploitRelaxationSolution());
12052  }
12053  if (other.hasExploitObjective()) {
12054  setExploitObjective(other.getExploitObjective());
12055  }
12056  if (other.hasProbingPeriodAtRoot()) {
12057  setProbingPeriodAtRoot(other.getProbingPeriodAtRoot());
12058  }
12059  if (other.hasUseProbingSearch()) {
12060  setUseProbingSearch(other.getUseProbingSearch());
12061  }
12062  if (other.hasPseudoCostReliabilityThreshold()) {
12063  setPseudoCostReliabilityThreshold(other.getPseudoCostReliabilityThreshold());
12064  }
12065  if (other.hasOptimizeWithCore()) {
12066  setOptimizeWithCore(other.getOptimizeWithCore());
12067  }
12068  if (other.hasBinarySearchNumConflicts()) {
12069  setBinarySearchNumConflicts(other.getBinarySearchNumConflicts());
12070  }
12071  if (other.hasOptimizeWithMaxHs()) {
12072  setOptimizeWithMaxHs(other.getOptimizeWithMaxHs());
12073  }
12074  if (other.hasEnumerateAllSolutions()) {
12075  setEnumerateAllSolutions(other.getEnumerateAllSolutions());
12076  }
12077  if (other.hasKeepAllFeasibleSolutionsInPresolve()) {
12078  setKeepAllFeasibleSolutionsInPresolve(other.getKeepAllFeasibleSolutionsInPresolve());
12079  }
12080  if (other.hasFillTightenedDomainsInResponse()) {
12081  setFillTightenedDomainsInResponse(other.getFillTightenedDomainsInResponse());
12082  }
12083  if (other.hasInstantiateAllVariables()) {
12084  setInstantiateAllVariables(other.getInstantiateAllVariables());
12085  }
12086  if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
12087  setAutoDetectGreaterThanAtLeastOneOf(other.getAutoDetectGreaterThanAtLeastOneOf());
12088  }
12089  if (other.hasStopAfterFirstSolution()) {
12090  setStopAfterFirstSolution(other.getStopAfterFirstSolution());
12091  }
12092  if (other.hasStopAfterPresolve()) {
12093  setStopAfterPresolve(other.getStopAfterPresolve());
12094  }
12095  if (other.hasNumSearchWorkers()) {
12096  setNumSearchWorkers(other.getNumSearchWorkers());
12097  }
12098  if (other.hasInterleaveSearch()) {
12099  setInterleaveSearch(other.getInterleaveSearch());
12100  }
12101  if (other.hasInterleaveBatchSize()) {
12102  setInterleaveBatchSize(other.getInterleaveBatchSize());
12103  }
12104  if (other.hasReduceMemoryUsageInInterleaveMode()) {
12105  setReduceMemoryUsageInInterleaveMode(other.getReduceMemoryUsageInInterleaveMode());
12106  }
12107  if (other.hasShareObjectiveBounds()) {
12108  setShareObjectiveBounds(other.getShareObjectiveBounds());
12109  }
12110  if (other.hasShareLevelZeroBounds()) {
12111  setShareLevelZeroBounds(other.getShareLevelZeroBounds());
12112  }
12113  if (other.hasUseLnsOnly()) {
12114  setUseLnsOnly(other.getUseLnsOnly());
12115  }
12116  if (other.hasLnsFocusOnDecisionVariables()) {
12117  setLnsFocusOnDecisionVariables(other.getLnsFocusOnDecisionVariables());
12118  }
12119  if (other.hasLnsExpandIntervalsInConstraintGraph()) {
12120  setLnsExpandIntervalsInConstraintGraph(other.getLnsExpandIntervalsInConstraintGraph());
12121  }
12122  if (other.hasUseRinsLns()) {
12123  setUseRinsLns(other.getUseRinsLns());
12124  }
12125  if (other.hasUseFeasibilityPump()) {
12126  setUseFeasibilityPump(other.getUseFeasibilityPump());
12127  }
12128  if (other.hasFpRounding()) {
12129  setFpRounding(other.getFpRounding());
12130  }
12131  if (other.hasUseRelaxationLns()) {
12132  setUseRelaxationLns(other.getUseRelaxationLns());
12133  }
12134  if (other.hasDiversifyLnsParams()) {
12135  setDiversifyLnsParams(other.getDiversifyLnsParams());
12136  }
12137  if (other.hasRandomizeSearch()) {
12138  setRandomizeSearch(other.getRandomizeSearch());
12139  }
12140  if (other.hasSearchRandomizationTolerance()) {
12141  setSearchRandomizationTolerance(other.getSearchRandomizationTolerance());
12142  }
12143  if (other.hasUseOptionalVariables()) {
12144  setUseOptionalVariables(other.getUseOptionalVariables());
12145  }
12146  if (other.hasUseExactLpReason()) {
12147  setUseExactLpReason(other.getUseExactLpReason());
12148  }
12149  if (other.hasUseBranchingInLp()) {
12150  setUseBranchingInLp(other.getUseBranchingInLp());
12151  }
12152  if (other.hasUseCombinedNoOverlap()) {
12153  setUseCombinedNoOverlap(other.getUseCombinedNoOverlap());
12154  }
12155  if (other.hasCatchSigintSignal()) {
12156  setCatchSigintSignal(other.getCatchSigintSignal());
12157  }
12158  if (other.hasUseImpliedBounds()) {
12159  setUseImpliedBounds(other.getUseImpliedBounds());
12160  }
12161  if (other.hasPolishLpSolution()) {
12162  setPolishLpSolution(other.getPolishLpSolution());
12163  }
12164  if (other.hasConvertIntervals()) {
12165  setConvertIntervals(other.getConvertIntervals());
12166  }
12167  if (other.hasSymmetryLevel()) {
12168  setSymmetryLevel(other.getSymmetryLevel());
12169  }
12170  if (other.hasMipMaxBound()) {
12171  setMipMaxBound(other.getMipMaxBound());
12172  }
12173  if (other.hasMipVarScaling()) {
12174  setMipVarScaling(other.getMipVarScaling());
12175  }
12176  if (other.hasMipAutomaticallyScaleVariables()) {
12177  setMipAutomaticallyScaleVariables(other.getMipAutomaticallyScaleVariables());
12178  }
12179  if (other.hasMipWantedPrecision()) {
12180  setMipWantedPrecision(other.getMipWantedPrecision());
12181  }
12182  if (other.hasMipMaxActivityExponent()) {
12183  setMipMaxActivityExponent(other.getMipMaxActivityExponent());
12184  }
12185  if (other.hasMipCheckPrecision()) {
12186  setMipCheckPrecision(other.getMipCheckPrecision());
12187  }
12188  this.mergeUnknownFields(other.unknownFields);
12189  onChanged();
12190  return this;
12191  }
12192 
12193  @java.lang.Override
12194  public final boolean isInitialized() {
12195  return true;
12196  }
12197 
12198  @java.lang.Override
12200  com.google.protobuf.CodedInputStream input,
12201  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12202  throws java.io.IOException {
12203  com.google.ortools.sat.SatParameters parsedMessage = null;
12204  try {
12205  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
12206  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12207  parsedMessage = (com.google.ortools.sat.SatParameters) e.getUnfinishedMessage();
12208  throw e.unwrapIOException();
12209  } finally {
12210  if (parsedMessage != null) {
12211  mergeFrom(parsedMessage);
12212  }
12213  }
12214  return this;
12215  }
12216  private int bitField0_;
12217  private int bitField1_;
12218  private int bitField2_;
12219  private int bitField3_;
12220  private int bitField4_;
12221  private int bitField5_;
12222 
12223  private java.lang.Object name_ = "";
12233  public boolean hasName() {
12234  return ((bitField0_ & 0x00000001) != 0);
12235  }
12245  public java.lang.String getName() {
12246  java.lang.Object ref = name_;
12247  if (!(ref instanceof java.lang.String)) {
12248  com.google.protobuf.ByteString bs =
12249  (com.google.protobuf.ByteString) ref;
12250  java.lang.String s = bs.toStringUtf8();
12251  if (bs.isValidUtf8()) {
12252  name_ = s;
12253  }
12254  return s;
12255  } else {
12256  return (java.lang.String) ref;
12257  }
12258  }
12268  public com.google.protobuf.ByteString
12270  java.lang.Object ref = name_;
12271  if (ref instanceof String) {
12272  com.google.protobuf.ByteString b =
12273  com.google.protobuf.ByteString.copyFromUtf8(
12274  (java.lang.String) ref);
12275  name_ = b;
12276  return b;
12277  } else {
12278  return (com.google.protobuf.ByteString) ref;
12279  }
12280  }
12292  java.lang.String value) {
12293  if (value == null) {
12294  throw new NullPointerException();
12295  }
12296  bitField0_ |= 0x00000001;
12297  name_ = value;
12298  onChanged();
12299  return this;
12300  }
12310  public Builder clearName() {
12311  bitField0_ = (bitField0_ & ~0x00000001);
12312  name_ = getDefaultInstance().getName();
12313  onChanged();
12314  return this;
12315  }
12327  com.google.protobuf.ByteString value) {
12328  if (value == null) {
12329  throw new NullPointerException();
12330  }
12331  bitField0_ |= 0x00000001;
12332  name_ = value;
12333  onChanged();
12334  return this;
12335  }
12336 
12337  private int preferredVariableOrder_ = 0;
12342  @java.lang.Override public boolean hasPreferredVariableOrder() {
12343  return ((bitField0_ & 0x00000002) != 0);
12344  }
12349  @java.lang.Override
12350  public com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder() {
12351  @SuppressWarnings("deprecation")
12352  com.google.ortools.sat.SatParameters.VariableOrder result = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(preferredVariableOrder_);
12353  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
12354  }
12360  public Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value) {
12361  if (value == null) {
12362  throw new NullPointerException();
12363  }
12364  bitField0_ |= 0x00000002;
12365  preferredVariableOrder_ = value.getNumber();
12366  onChanged();
12367  return this;
12368  }
12374  bitField0_ = (bitField0_ & ~0x00000002);
12375  preferredVariableOrder_ = 0;
12376  onChanged();
12377  return this;
12378  }
12379 
12380  private int initialPolarity_ = 1;
12385  @java.lang.Override public boolean hasInitialPolarity() {
12386  return ((bitField0_ & 0x00000004) != 0);
12387  }
12392  @java.lang.Override
12393  public com.google.ortools.sat.SatParameters.Polarity getInitialPolarity() {
12394  @SuppressWarnings("deprecation")
12395  com.google.ortools.sat.SatParameters.Polarity result = com.google.ortools.sat.SatParameters.Polarity.valueOf(initialPolarity_);
12396  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
12397  }
12403  public Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value) {
12404  if (value == null) {
12405  throw new NullPointerException();
12406  }
12407  bitField0_ |= 0x00000004;
12408  initialPolarity_ = value.getNumber();
12409  onChanged();
12410  return this;
12411  }
12417  bitField0_ = (bitField0_ & ~0x00000004);
12418  initialPolarity_ = 1;
12419  onChanged();
12420  return this;
12421  }
12422 
12423  private boolean usePhaseSaving_ = true;
12440  @java.lang.Override
12441  public boolean hasUsePhaseSaving() {
12442  return ((bitField0_ & 0x00000008) != 0);
12443  }
12460  @java.lang.Override
12461  public boolean getUsePhaseSaving() {
12462  return usePhaseSaving_;
12463  }
12481  public Builder setUsePhaseSaving(boolean value) {
12482  bitField0_ |= 0x00000008;
12483  usePhaseSaving_ = value;
12484  onChanged();
12485  return this;
12486  }
12504  bitField0_ = (bitField0_ & ~0x00000008);
12505  usePhaseSaving_ = true;
12506  onChanged();
12507  return this;
12508  }
12509 
12510  private int polarityRephaseIncrement_ = 1000;
12521  @java.lang.Override
12522  public boolean hasPolarityRephaseIncrement() {
12523  return ((bitField0_ & 0x00000010) != 0);
12524  }
12535  @java.lang.Override
12537  return polarityRephaseIncrement_;
12538  }
12551  bitField0_ |= 0x00000010;
12552  polarityRephaseIncrement_ = value;
12553  onChanged();
12554  return this;
12555  }
12567  bitField0_ = (bitField0_ & ~0x00000010);
12568  polarityRephaseIncrement_ = 1000;
12569  onChanged();
12570  return this;
12571  }
12572 
12573  private double randomPolarityRatio_ ;
12586  @java.lang.Override
12587  public boolean hasRandomPolarityRatio() {
12588  return ((bitField0_ & 0x00000020) != 0);
12589  }
12602  @java.lang.Override
12603  public double getRandomPolarityRatio() {
12604  return randomPolarityRatio_;
12605  }
12619  public Builder setRandomPolarityRatio(double value) {
12620  bitField0_ |= 0x00000020;
12621  randomPolarityRatio_ = value;
12622  onChanged();
12623  return this;
12624  }
12638  bitField0_ = (bitField0_ & ~0x00000020);
12639  randomPolarityRatio_ = 0D;
12640  onChanged();
12641  return this;
12642  }
12643 
12644  private double randomBranchesRatio_ ;
12655  @java.lang.Override
12656  public boolean hasRandomBranchesRatio() {
12657  return ((bitField0_ & 0x00000040) != 0);
12658  }
12669  @java.lang.Override
12670  public double getRandomBranchesRatio() {
12671  return randomBranchesRatio_;
12672  }
12684  public Builder setRandomBranchesRatio(double value) {
12685  bitField0_ |= 0x00000040;
12686  randomBranchesRatio_ = value;
12687  onChanged();
12688  return this;
12689  }
12701  bitField0_ = (bitField0_ & ~0x00000040);
12702  randomBranchesRatio_ = 0D;
12703  onChanged();
12704  return this;
12705  }
12706 
12707  private boolean useErwaHeuristic_ ;
12718  @java.lang.Override
12719  public boolean hasUseErwaHeuristic() {
12720  return ((bitField0_ & 0x00000080) != 0);
12721  }
12732  @java.lang.Override
12733  public boolean getUseErwaHeuristic() {
12734  return useErwaHeuristic_;
12735  }
12747  public Builder setUseErwaHeuristic(boolean value) {
12748  bitField0_ |= 0x00000080;
12749  useErwaHeuristic_ = value;
12750  onChanged();
12751  return this;
12752  }
12764  bitField0_ = (bitField0_ & ~0x00000080);
12765  useErwaHeuristic_ = false;
12766  onChanged();
12767  return this;
12768  }
12769 
12770  private double initialVariablesActivity_ ;
12784  @java.lang.Override
12785  public boolean hasInitialVariablesActivity() {
12786  return ((bitField0_ & 0x00000100) != 0);
12787  }
12801  @java.lang.Override
12803  return initialVariablesActivity_;
12804  }
12819  public Builder setInitialVariablesActivity(double value) {
12820  bitField0_ |= 0x00000100;
12821  initialVariablesActivity_ = value;
12822  onChanged();
12823  return this;
12824  }
12839  bitField0_ = (bitField0_ & ~0x00000100);
12840  initialVariablesActivity_ = 0D;
12841  onChanged();
12842  return this;
12843  }
12844 
12845  private boolean alsoBumpVariablesInConflictReasons_ ;
12857  @java.lang.Override
12859  return ((bitField0_ & 0x00000200) != 0);
12860  }
12872  @java.lang.Override
12874  return alsoBumpVariablesInConflictReasons_;
12875  }
12889  bitField0_ |= 0x00000200;
12890  alsoBumpVariablesInConflictReasons_ = value;
12891  onChanged();
12892  return this;
12893  }
12906  bitField0_ = (bitField0_ & ~0x00000200);
12907  alsoBumpVariablesInConflictReasons_ = false;
12908  onChanged();
12909  return this;
12910  }
12911 
12912  private int minimizationAlgorithm_ = 2;
12917  @java.lang.Override public boolean hasMinimizationAlgorithm() {
12918  return ((bitField0_ & 0x00000400) != 0);
12919  }
12924  @java.lang.Override
12925  public com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm() {
12926  @SuppressWarnings("deprecation")
12927  com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm result = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(minimizationAlgorithm_);
12928  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
12929  }
12935  public Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value) {
12936  if (value == null) {
12937  throw new NullPointerException();
12938  }
12939  bitField0_ |= 0x00000400;
12940  minimizationAlgorithm_ = value.getNumber();
12941  onChanged();
12942  return this;
12943  }
12949  bitField0_ = (bitField0_ & ~0x00000400);
12950  minimizationAlgorithm_ = 2;
12951  onChanged();
12952  return this;
12953  }
12954 
12955  private int binaryMinimizationAlgorithm_ = 1;
12960  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
12961  return ((bitField0_ & 0x00000800) != 0);
12962  }
12967  @java.lang.Override
12968  public com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm() {
12969  @SuppressWarnings("deprecation")
12970  com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm result = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(binaryMinimizationAlgorithm_);
12971  return result == null ? com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.BINARY_MINIMIZATION_FIRST : result;
12972  }
12978  public Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value) {
12979  if (value == null) {
12980  throw new NullPointerException();
12981  }
12982  bitField0_ |= 0x00000800;
12983  binaryMinimizationAlgorithm_ = value.getNumber();
12984  onChanged();
12985  return this;
12986  }
12992  bitField0_ = (bitField0_ & ~0x00000800);
12993  binaryMinimizationAlgorithm_ = 1;
12994  onChanged();
12995  return this;
12996  }
12997 
12998  private boolean subsumptionDuringConflictAnalysis_ = true;
13010  @java.lang.Override
13012  return ((bitField0_ & 0x00001000) != 0);
13013  }
13025  @java.lang.Override
13027  return subsumptionDuringConflictAnalysis_;
13028  }
13042  bitField0_ |= 0x00001000;
13043  subsumptionDuringConflictAnalysis_ = value;
13044  onChanged();
13045  return this;
13046  }
13059  bitField0_ = (bitField0_ & ~0x00001000);
13060  subsumptionDuringConflictAnalysis_ = true;
13061  onChanged();
13062  return this;
13063  }
13064 
13065  private int clauseCleanupPeriod_ = 10000;
13074  @java.lang.Override
13075  public boolean hasClauseCleanupPeriod() {
13076  return ((bitField0_ & 0x00002000) != 0);
13077  }
13086  @java.lang.Override
13087  public int getClauseCleanupPeriod() {
13088  return clauseCleanupPeriod_;
13089  }
13099  public Builder setClauseCleanupPeriod(int value) {
13100  bitField0_ |= 0x00002000;
13101  clauseCleanupPeriod_ = value;
13102  onChanged();
13103  return this;
13104  }
13114  bitField0_ = (bitField0_ & ~0x00002000);
13115  clauseCleanupPeriod_ = 10000;
13116  onChanged();
13117  return this;
13118  }
13119 
13120  private int clauseCleanupTarget_ = 10000;
13130  @java.lang.Override
13131  public boolean hasClauseCleanupTarget() {
13132  return ((bitField0_ & 0x00004000) != 0);
13133  }
13143  @java.lang.Override
13144  public int getClauseCleanupTarget() {
13145  return clauseCleanupTarget_;
13146  }
13157  public Builder setClauseCleanupTarget(int value) {
13158  bitField0_ |= 0x00004000;
13159  clauseCleanupTarget_ = value;
13160  onChanged();
13161  return this;
13162  }
13173  bitField0_ = (bitField0_ & ~0x00004000);
13174  clauseCleanupTarget_ = 10000;
13175  onChanged();
13176  return this;
13177  }
13178 
13179  private int clauseCleanupProtection_ = 0;
13184  @java.lang.Override public boolean hasClauseCleanupProtection() {
13185  return ((bitField0_ & 0x00008000) != 0);
13186  }
13191  @java.lang.Override
13192  public com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection() {
13193  @SuppressWarnings("deprecation")
13194  com.google.ortools.sat.SatParameters.ClauseProtection result = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(clauseCleanupProtection_);
13195  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
13196  }
13202  public Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value) {
13203  if (value == null) {
13204  throw new NullPointerException();
13205  }
13206  bitField0_ |= 0x00008000;
13207  clauseCleanupProtection_ = value.getNumber();
13208  onChanged();
13209  return this;
13210  }
13216  bitField0_ = (bitField0_ & ~0x00008000);
13217  clauseCleanupProtection_ = 0;
13218  onChanged();
13219  return this;
13220  }
13221 
13222  private int clauseCleanupLbdBound_ = 5;
13232  @java.lang.Override
13233  public boolean hasClauseCleanupLbdBound() {
13234  return ((bitField0_ & 0x00010000) != 0);
13235  }
13245  @java.lang.Override
13247  return clauseCleanupLbdBound_;
13248  }
13259  public Builder setClauseCleanupLbdBound(int value) {
13260  bitField0_ |= 0x00010000;
13261  clauseCleanupLbdBound_ = value;
13262  onChanged();
13263  return this;
13264  }
13275  bitField0_ = (bitField0_ & ~0x00010000);
13276  clauseCleanupLbdBound_ = 5;
13277  onChanged();
13278  return this;
13279  }
13280 
13281  private int clauseCleanupOrdering_ = 0;
13286  @java.lang.Override public boolean hasClauseCleanupOrdering() {
13287  return ((bitField0_ & 0x00020000) != 0);
13288  }
13293  @java.lang.Override
13294  public com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering() {
13295  @SuppressWarnings("deprecation")
13296  com.google.ortools.sat.SatParameters.ClauseOrdering result = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(clauseCleanupOrdering_);
13297  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
13298  }
13304  public Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value) {
13305  if (value == null) {
13306  throw new NullPointerException();
13307  }
13308  bitField0_ |= 0x00020000;
13309  clauseCleanupOrdering_ = value.getNumber();
13310  onChanged();
13311  return this;
13312  }
13318  bitField0_ = (bitField0_ & ~0x00020000);
13319  clauseCleanupOrdering_ = 0;
13320  onChanged();
13321  return this;
13322  }
13323 
13324  private int pbCleanupIncrement_ = 200;
13333  @java.lang.Override
13334  public boolean hasPbCleanupIncrement() {
13335  return ((bitField0_ & 0x00040000) != 0);
13336  }
13345  @java.lang.Override
13346  public int getPbCleanupIncrement() {
13347  return pbCleanupIncrement_;
13348  }
13358  public Builder setPbCleanupIncrement(int value) {
13359  bitField0_ |= 0x00040000;
13360  pbCleanupIncrement_ = value;
13361  onChanged();
13362  return this;
13363  }
13373  bitField0_ = (bitField0_ & ~0x00040000);
13374  pbCleanupIncrement_ = 200;
13375  onChanged();
13376  return this;
13377  }
13378 
13379  private double pbCleanupRatio_ = 0.5D;
13384  @java.lang.Override
13385  public boolean hasPbCleanupRatio() {
13386  return ((bitField0_ & 0x00080000) != 0);
13387  }
13392  @java.lang.Override
13393  public double getPbCleanupRatio() {
13394  return pbCleanupRatio_;
13395  }
13401  public Builder setPbCleanupRatio(double value) {
13402  bitField0_ |= 0x00080000;
13403  pbCleanupRatio_ = value;
13404  onChanged();
13405  return this;
13406  }
13412  bitField0_ = (bitField0_ & ~0x00080000);
13413  pbCleanupRatio_ = 0.5D;
13414  onChanged();
13415  return this;
13416  }
13417 
13418  private int minimizeWithPropagationRestartPeriod_ = 10;
13437  @java.lang.Override
13439  return ((bitField0_ & 0x00100000) != 0);
13440  }
13459  @java.lang.Override
13461  return minimizeWithPropagationRestartPeriod_;
13462  }
13483  bitField0_ |= 0x00100000;
13484  minimizeWithPropagationRestartPeriod_ = value;
13485  onChanged();
13486  return this;
13487  }
13507  bitField0_ = (bitField0_ & ~0x00100000);
13508  minimizeWithPropagationRestartPeriod_ = 10;
13509  onChanged();
13510  return this;
13511  }
13512 
13513  private int minimizeWithPropagationNumDecisions_ = 1000;
13518  @java.lang.Override
13520  return ((bitField0_ & 0x00200000) != 0);
13521  }
13526  @java.lang.Override
13528  return minimizeWithPropagationNumDecisions_;
13529  }
13536  bitField0_ |= 0x00200000;
13537  minimizeWithPropagationNumDecisions_ = value;
13538  onChanged();
13539  return this;
13540  }
13546  bitField0_ = (bitField0_ & ~0x00200000);
13547  minimizeWithPropagationNumDecisions_ = 1000;
13548  onChanged();
13549  return this;
13550  }
13551 
13552  private double variableActivityDecay_ = 0.8D;
13567  @java.lang.Override
13568  public boolean hasVariableActivityDecay() {
13569  return ((bitField0_ & 0x00400000) != 0);
13570  }
13585  @java.lang.Override
13586  public double getVariableActivityDecay() {
13587  return variableActivityDecay_;
13588  }
13604  public Builder setVariableActivityDecay(double value) {
13605  bitField0_ |= 0x00400000;
13606  variableActivityDecay_ = value;
13607  onChanged();
13608  return this;
13609  }
13625  bitField0_ = (bitField0_ & ~0x00400000);
13626  variableActivityDecay_ = 0.8D;
13627  onChanged();
13628  return this;
13629  }
13630 
13631  private double maxVariableActivityValue_ = 1e+100D;
13636  @java.lang.Override
13637  public boolean hasMaxVariableActivityValue() {
13638  return ((bitField0_ & 0x00800000) != 0);
13639  }
13644  @java.lang.Override
13646  return maxVariableActivityValue_;
13647  }
13653  public Builder setMaxVariableActivityValue(double value) {
13654  bitField0_ |= 0x00800000;
13655  maxVariableActivityValue_ = value;
13656  onChanged();
13657  return this;
13658  }
13664  bitField0_ = (bitField0_ & ~0x00800000);
13665  maxVariableActivityValue_ = 1e+100D;
13666  onChanged();
13667  return this;
13668  }
13669 
13670  private double glucoseMaxDecay_ = 0.95D;
13682  @java.lang.Override
13683  public boolean hasGlucoseMaxDecay() {
13684  return ((bitField0_ & 0x01000000) != 0);
13685  }
13697  @java.lang.Override
13698  public double getGlucoseMaxDecay() {
13699  return glucoseMaxDecay_;
13700  }
13713  public Builder setGlucoseMaxDecay(double value) {
13714  bitField0_ |= 0x01000000;
13715  glucoseMaxDecay_ = value;
13716  onChanged();
13717  return this;
13718  }
13731  bitField0_ = (bitField0_ & ~0x01000000);
13732  glucoseMaxDecay_ = 0.95D;
13733  onChanged();
13734  return this;
13735  }
13736 
13737  private double glucoseDecayIncrement_ = 0.01D;
13742  @java.lang.Override
13743  public boolean hasGlucoseDecayIncrement() {
13744  return ((bitField0_ & 0x02000000) != 0);
13745  }
13750  @java.lang.Override
13751  public double getGlucoseDecayIncrement() {
13752  return glucoseDecayIncrement_;
13753  }
13759  public Builder setGlucoseDecayIncrement(double value) {
13760  bitField0_ |= 0x02000000;
13761  glucoseDecayIncrement_ = value;
13762  onChanged();
13763  return this;
13764  }
13770  bitField0_ = (bitField0_ & ~0x02000000);
13771  glucoseDecayIncrement_ = 0.01D;
13772  onChanged();
13773  return this;
13774  }
13775 
13776  private int glucoseDecayIncrementPeriod_ = 5000;
13781  @java.lang.Override
13783  return ((bitField0_ & 0x04000000) != 0);
13784  }
13789  @java.lang.Override
13791  return glucoseDecayIncrementPeriod_;
13792  }
13799  bitField0_ |= 0x04000000;
13800  glucoseDecayIncrementPeriod_ = value;
13801  onChanged();
13802  return this;
13803  }
13809  bitField0_ = (bitField0_ & ~0x04000000);
13810  glucoseDecayIncrementPeriod_ = 5000;
13811  onChanged();
13812  return this;
13813  }
13814 
13815  private double clauseActivityDecay_ = 0.999D;
13824  @java.lang.Override
13825  public boolean hasClauseActivityDecay() {
13826  return ((bitField0_ & 0x08000000) != 0);
13827  }
13836  @java.lang.Override
13837  public double getClauseActivityDecay() {
13838  return clauseActivityDecay_;
13839  }
13849  public Builder setClauseActivityDecay(double value) {
13850  bitField0_ |= 0x08000000;
13851  clauseActivityDecay_ = value;
13852  onChanged();
13853  return this;
13854  }
13864  bitField0_ = (bitField0_ & ~0x08000000);
13865  clauseActivityDecay_ = 0.999D;
13866  onChanged();
13867  return this;
13868  }
13869 
13870  private double maxClauseActivityValue_ = 1e+20D;
13875  @java.lang.Override
13876  public boolean hasMaxClauseActivityValue() {
13877  return ((bitField0_ & 0x10000000) != 0);
13878  }
13883  @java.lang.Override
13884  public double getMaxClauseActivityValue() {
13885  return maxClauseActivityValue_;
13886  }
13892  public Builder setMaxClauseActivityValue(double value) {
13893  bitField0_ |= 0x10000000;
13894  maxClauseActivityValue_ = value;
13895  onChanged();
13896  return this;
13897  }
13903  bitField0_ = (bitField0_ & ~0x10000000);
13904  maxClauseActivityValue_ = 1e+20D;
13905  onChanged();
13906  return this;
13907  }
13908 
13909  private java.util.List<java.lang.Integer> restartAlgorithms_ =
13910  java.util.Collections.emptyList();
13911  private void ensureRestartAlgorithmsIsMutable() {
13912  if (!((bitField0_ & 0x20000000) != 0)) {
13913  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
13914  bitField0_ |= 0x20000000;
13915  }
13916  }
13932  public java.util.List<com.google.ortools.sat.SatParameters.RestartAlgorithm> getRestartAlgorithmsList() {
13933  return new com.google.protobuf.Internal.ListAdapter<
13934  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
13935  }
13952  return restartAlgorithms_.size();
13953  }
13970  public com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index) {
13971  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
13972  }
13991  int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
13992  if (value == null) {
13993  throw new NullPointerException();
13994  }
13995  ensureRestartAlgorithmsIsMutable();
13996  restartAlgorithms_.set(index, value.getNumber());
13997  onChanged();
13998  return this;
13999  }
14016  public Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
14017  if (value == null) {
14018  throw new NullPointerException();
14019  }
14020  ensureRestartAlgorithmsIsMutable();
14021  restartAlgorithms_.add(value.getNumber());
14022  onChanged();
14023  return this;
14024  }
14042  java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
14043  ensureRestartAlgorithmsIsMutable();
14044  for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
14045  restartAlgorithms_.add(value.getNumber());
14046  }
14047  onChanged();
14048  return this;
14049  }
14066  restartAlgorithms_ = java.util.Collections.emptyList();
14067  bitField0_ = (bitField0_ & ~0x20000000);
14068  onChanged();
14069  return this;
14070  }
14071 
14072  private java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
14077  public boolean hasDefaultRestartAlgorithms() {
14078  return ((bitField0_ & 0x40000000) != 0);
14079  }
14084  public java.lang.String getDefaultRestartAlgorithms() {
14085  java.lang.Object ref = defaultRestartAlgorithms_;
14086  if (!(ref instanceof java.lang.String)) {
14087  com.google.protobuf.ByteString bs =
14088  (com.google.protobuf.ByteString) ref;
14089  java.lang.String s = bs.toStringUtf8();
14090  if (bs.isValidUtf8()) {
14091  defaultRestartAlgorithms_ = s;
14092  }
14093  return s;
14094  } else {
14095  return (java.lang.String) ref;
14096  }
14097  }
14102  public com.google.protobuf.ByteString
14104  java.lang.Object ref = defaultRestartAlgorithms_;
14105  if (ref instanceof String) {
14106  com.google.protobuf.ByteString b =
14107  com.google.protobuf.ByteString.copyFromUtf8(
14108  (java.lang.String) ref);
14109  defaultRestartAlgorithms_ = b;
14110  return b;
14111  } else {
14112  return (com.google.protobuf.ByteString) ref;
14113  }
14114  }
14121  java.lang.String value) {
14122  if (value == null) {
14123  throw new NullPointerException();
14124  }
14125  bitField0_ |= 0x40000000;
14126  defaultRestartAlgorithms_ = value;
14127  onChanged();
14128  return this;
14129  }
14135  bitField0_ = (bitField0_ & ~0x40000000);
14136  defaultRestartAlgorithms_ = getDefaultInstance().getDefaultRestartAlgorithms();
14137  onChanged();
14138  return this;
14139  }
14146  com.google.protobuf.ByteString value) {
14147  if (value == null) {
14148  throw new NullPointerException();
14149  }
14150  bitField0_ |= 0x40000000;
14151  defaultRestartAlgorithms_ = value;
14152  onChanged();
14153  return this;
14154  }
14155 
14156  private int restartPeriod_ = 50;
14166  @java.lang.Override
14167  public boolean hasRestartPeriod() {
14168  return ((bitField0_ & 0x80000000) != 0);
14169  }
14179  @java.lang.Override
14180  public int getRestartPeriod() {
14181  return restartPeriod_;
14182  }
14193  public Builder setRestartPeriod(int value) {
14194  bitField0_ |= 0x80000000;
14195  restartPeriod_ = value;
14196  onChanged();
14197  return this;
14198  }
14209  bitField0_ = (bitField0_ & ~0x80000000);
14210  restartPeriod_ = 50;
14211  onChanged();
14212  return this;
14213  }
14214 
14215  private int restartRunningWindowSize_ = 50;
14224  @java.lang.Override
14225  public boolean hasRestartRunningWindowSize() {
14226  return ((bitField1_ & 0x00000001) != 0);
14227  }
14236  @java.lang.Override
14238  return restartRunningWindowSize_;
14239  }
14250  bitField1_ |= 0x00000001;
14251  restartRunningWindowSize_ = value;
14252  onChanged();
14253  return this;
14254  }
14264  bitField1_ = (bitField1_ & ~0x00000001);
14265  restartRunningWindowSize_ = 50;
14266  onChanged();
14267  return this;
14268  }
14269 
14270  private double restartDlAverageRatio_ = 1D;
14280  @java.lang.Override
14281  public boolean hasRestartDlAverageRatio() {
14282  return ((bitField1_ & 0x00000002) != 0);
14283  }
14293  @java.lang.Override
14294  public double getRestartDlAverageRatio() {
14295  return restartDlAverageRatio_;
14296  }
14307  public Builder setRestartDlAverageRatio(double value) {
14308  bitField1_ |= 0x00000002;
14309  restartDlAverageRatio_ = value;
14310  onChanged();
14311  return this;
14312  }
14323  bitField1_ = (bitField1_ & ~0x00000002);
14324  restartDlAverageRatio_ = 1D;
14325  onChanged();
14326  return this;
14327  }
14328 
14329  private double restartLbdAverageRatio_ = 1D;
14334  @java.lang.Override
14335  public boolean hasRestartLbdAverageRatio() {
14336  return ((bitField1_ & 0x00000004) != 0);
14337  }
14342  @java.lang.Override
14343  public double getRestartLbdAverageRatio() {
14344  return restartLbdAverageRatio_;
14345  }
14351  public Builder setRestartLbdAverageRatio(double value) {
14352  bitField1_ |= 0x00000004;
14353  restartLbdAverageRatio_ = value;
14354  onChanged();
14355  return this;
14356  }
14362  bitField1_ = (bitField1_ & ~0x00000004);
14363  restartLbdAverageRatio_ = 1D;
14364  onChanged();
14365  return this;
14366  }
14367 
14368  private boolean useBlockingRestart_ ;
14379  @java.lang.Override
14380  public boolean hasUseBlockingRestart() {
14381  return ((bitField1_ & 0x00000008) != 0);
14382  }
14393  @java.lang.Override
14394  public boolean getUseBlockingRestart() {
14395  return useBlockingRestart_;
14396  }
14408  public Builder setUseBlockingRestart(boolean value) {
14409  bitField1_ |= 0x00000008;
14410  useBlockingRestart_ = value;
14411  onChanged();
14412  return this;
14413  }
14425  bitField1_ = (bitField1_ & ~0x00000008);
14426  useBlockingRestart_ = false;
14427  onChanged();
14428  return this;
14429  }
14430 
14431  private int blockingRestartWindowSize_ = 5000;
14436  @java.lang.Override
14437  public boolean hasBlockingRestartWindowSize() {
14438  return ((bitField1_ & 0x00000010) != 0);
14439  }
14444  @java.lang.Override
14446  return blockingRestartWindowSize_;
14447  }
14454  bitField1_ |= 0x00000010;
14455  blockingRestartWindowSize_ = value;
14456  onChanged();
14457  return this;
14458  }
14464  bitField1_ = (bitField1_ & ~0x00000010);
14465  blockingRestartWindowSize_ = 5000;
14466  onChanged();
14467  return this;
14468  }
14469 
14470  private double blockingRestartMultiplier_ = 1.4D;
14475  @java.lang.Override
14476  public boolean hasBlockingRestartMultiplier() {
14477  return ((bitField1_ & 0x00000020) != 0);
14478  }
14483  @java.lang.Override
14485  return blockingRestartMultiplier_;
14486  }
14492  public Builder setBlockingRestartMultiplier(double value) {
14493  bitField1_ |= 0x00000020;
14494  blockingRestartMultiplier_ = value;
14495  onChanged();
14496  return this;
14497  }
14503  bitField1_ = (bitField1_ & ~0x00000020);
14504  blockingRestartMultiplier_ = 1.4D;
14505  onChanged();
14506  return this;
14507  }
14508 
14509  private int numConflictsBeforeStrategyChanges_ ;
14520  @java.lang.Override
14522  return ((bitField1_ & 0x00000040) != 0);
14523  }
14534  @java.lang.Override
14536  return numConflictsBeforeStrategyChanges_;
14537  }
14550  bitField1_ |= 0x00000040;
14551  numConflictsBeforeStrategyChanges_ = value;
14552  onChanged();
14553  return this;
14554  }
14566  bitField1_ = (bitField1_ & ~0x00000040);
14567  numConflictsBeforeStrategyChanges_ = 0;
14568  onChanged();
14569  return this;
14570  }
14571 
14572  private double strategyChangeIncreaseRatio_ ;
14582  @java.lang.Override
14584  return ((bitField1_ & 0x00000080) != 0);
14585  }
14595  @java.lang.Override
14597  return strategyChangeIncreaseRatio_;
14598  }
14610  bitField1_ |= 0x00000080;
14611  strategyChangeIncreaseRatio_ = value;
14612  onChanged();
14613  return this;
14614  }
14625  bitField1_ = (bitField1_ & ~0x00000080);
14626  strategyChangeIncreaseRatio_ = 0D;
14627  onChanged();
14628  return this;
14629  }
14630 
14631  private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
14641  @java.lang.Override
14642  public boolean hasMaxTimeInSeconds() {
14643  return ((bitField1_ & 0x00000100) != 0);
14644  }
14654  @java.lang.Override
14655  public double getMaxTimeInSeconds() {
14656  return maxTimeInSeconds_;
14657  }
14668  public Builder setMaxTimeInSeconds(double value) {
14669  bitField1_ |= 0x00000100;
14670  maxTimeInSeconds_ = value;
14671  onChanged();
14672  return this;
14673  }
14684  bitField1_ = (bitField1_ & ~0x00000100);
14685  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
14686  onChanged();
14687  return this;
14688  }
14689 
14690  private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
14701  @java.lang.Override
14702  public boolean hasMaxDeterministicTime() {
14703  return ((bitField1_ & 0x00000200) != 0);
14704  }
14715  @java.lang.Override
14716  public double getMaxDeterministicTime() {
14717  return maxDeterministicTime_;
14718  }
14730  public Builder setMaxDeterministicTime(double value) {
14731  bitField1_ |= 0x00000200;
14732  maxDeterministicTime_ = value;
14733  onChanged();
14734  return this;
14735  }
14747  bitField1_ = (bitField1_ & ~0x00000200);
14748  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
14749  onChanged();
14750  return this;
14751  }
14752 
14753  private long maxNumberOfConflicts_ = 9223372036854775807L;
14767  @java.lang.Override
14768  public boolean hasMaxNumberOfConflicts() {
14769  return ((bitField1_ & 0x00000400) != 0);
14770  }
14784  @java.lang.Override
14785  public long getMaxNumberOfConflicts() {
14786  return maxNumberOfConflicts_;
14787  }
14802  public Builder setMaxNumberOfConflicts(long value) {
14803  bitField1_ |= 0x00000400;
14804  maxNumberOfConflicts_ = value;
14805  onChanged();
14806  return this;
14807  }
14822  bitField1_ = (bitField1_ & ~0x00000400);
14823  maxNumberOfConflicts_ = 9223372036854775807L;
14824  onChanged();
14825  return this;
14826  }
14827 
14828  private long maxMemoryInMb_ = 10000L;
14840  @java.lang.Override
14841  public boolean hasMaxMemoryInMb() {
14842  return ((bitField1_ & 0x00000800) != 0);
14843  }
14855  @java.lang.Override
14856  public long getMaxMemoryInMb() {
14857  return maxMemoryInMb_;
14858  }
14871  public Builder setMaxMemoryInMb(long value) {
14872  bitField1_ |= 0x00000800;
14873  maxMemoryInMb_ = value;
14874  onChanged();
14875  return this;
14876  }
14889  bitField1_ = (bitField1_ & ~0x00000800);
14890  maxMemoryInMb_ = 10000L;
14891  onChanged();
14892  return this;
14893  }
14894 
14895  private double absoluteGapLimit_ ;
14913  @java.lang.Override
14914  public boolean hasAbsoluteGapLimit() {
14915  return ((bitField1_ & 0x00001000) != 0);
14916  }
14934  @java.lang.Override
14935  public double getAbsoluteGapLimit() {
14936  return absoluteGapLimit_;
14937  }
14956  public Builder setAbsoluteGapLimit(double value) {
14957  bitField1_ |= 0x00001000;
14958  absoluteGapLimit_ = value;
14959  onChanged();
14960  return this;
14961  }
14980  bitField1_ = (bitField1_ & ~0x00001000);
14981  absoluteGapLimit_ = 0D;
14982  onChanged();
14983  return this;
14984  }
14985 
14986  private double relativeGapLimit_ ;
14991  @java.lang.Override
14992  public boolean hasRelativeGapLimit() {
14993  return ((bitField1_ & 0x00002000) != 0);
14994  }
14999  @java.lang.Override
15000  public double getRelativeGapLimit() {
15001  return relativeGapLimit_;
15002  }
15008  public Builder setRelativeGapLimit(double value) {
15009  bitField1_ |= 0x00002000;
15010  relativeGapLimit_ = value;
15011  onChanged();
15012  return this;
15013  }
15019  bitField1_ = (bitField1_ & ~0x00002000);
15020  relativeGapLimit_ = 0D;
15021  onChanged();
15022  return this;
15023  }
15024 
15025  private boolean treatBinaryClausesSeparately_ = true;
15036  @java.lang.Override
15038  return ((bitField1_ & 0x00004000) != 0);
15039  }
15050  @java.lang.Override
15052  return treatBinaryClausesSeparately_;
15053  }
15066  bitField1_ |= 0x00004000;
15067  treatBinaryClausesSeparately_ = value;
15068  onChanged();
15069  return this;
15070  }
15082  bitField1_ = (bitField1_ & ~0x00004000);
15083  treatBinaryClausesSeparately_ = true;
15084  onChanged();
15085  return this;
15086  }
15087 
15088  private int randomSeed_ = 1;
15102  @java.lang.Override
15103  public boolean hasRandomSeed() {
15104  return ((bitField1_ & 0x00008000) != 0);
15105  }
15119  @java.lang.Override
15120  public int getRandomSeed() {
15121  return randomSeed_;
15122  }
15137  public Builder setRandomSeed(int value) {
15138  bitField1_ |= 0x00008000;
15139  randomSeed_ = value;
15140  onChanged();
15141  return this;
15142  }
15157  bitField1_ = (bitField1_ & ~0x00008000);
15158  randomSeed_ = 1;
15159  onChanged();
15160  return this;
15161  }
15162 
15163  private boolean permuteVariableRandomly_ ;
15175  @java.lang.Override
15176  public boolean hasPermuteVariableRandomly() {
15177  return ((bitField1_ & 0x00010000) != 0);
15178  }
15190  @java.lang.Override
15191  public boolean getPermuteVariableRandomly() {
15192  return permuteVariableRandomly_;
15193  }
15206  public Builder setPermuteVariableRandomly(boolean value) {
15207  bitField1_ |= 0x00010000;
15208  permuteVariableRandomly_ = value;
15209  onChanged();
15210  return this;
15211  }
15224  bitField1_ = (bitField1_ & ~0x00010000);
15225  permuteVariableRandomly_ = false;
15226  onChanged();
15227  return this;
15228  }
15229 
15230  private boolean permutePresolveConstraintOrder_ ;
15235  @java.lang.Override
15237  return ((bitField1_ & 0x00020000) != 0);
15238  }
15243  @java.lang.Override
15245  return permutePresolveConstraintOrder_;
15246  }
15253  bitField1_ |= 0x00020000;
15254  permutePresolveConstraintOrder_ = value;
15255  onChanged();
15256  return this;
15257  }
15263  bitField1_ = (bitField1_ & ~0x00020000);
15264  permutePresolveConstraintOrder_ = false;
15265  onChanged();
15266  return this;
15267  }
15268 
15269  private boolean useAbslRandom_ ;
15274  @java.lang.Override
15275  public boolean hasUseAbslRandom() {
15276  return ((bitField1_ & 0x00040000) != 0);
15277  }
15282  @java.lang.Override
15283  public boolean getUseAbslRandom() {
15284  return useAbslRandom_;
15285  }
15291  public Builder setUseAbslRandom(boolean value) {
15292  bitField1_ |= 0x00040000;
15293  useAbslRandom_ = value;
15294  onChanged();
15295  return this;
15296  }
15302  bitField1_ = (bitField1_ & ~0x00040000);
15303  useAbslRandom_ = false;
15304  onChanged();
15305  return this;
15306  }
15307 
15308  private boolean logSearchProgress_ ;
15318  @java.lang.Override
15319  public boolean hasLogSearchProgress() {
15320  return ((bitField1_ & 0x00080000) != 0);
15321  }
15331  @java.lang.Override
15332  public boolean getLogSearchProgress() {
15333  return logSearchProgress_;
15334  }
15345  public Builder setLogSearchProgress(boolean value) {
15346  bitField1_ |= 0x00080000;
15347  logSearchProgress_ = value;
15348  onChanged();
15349  return this;
15350  }
15361  bitField1_ = (bitField1_ & ~0x00080000);
15362  logSearchProgress_ = false;
15363  onChanged();
15364  return this;
15365  }
15366 
15367  private java.lang.Object logPrefix_ = "";
15376  public boolean hasLogPrefix() {
15377  return ((bitField1_ & 0x00100000) != 0);
15378  }
15387  public java.lang.String getLogPrefix() {
15388  java.lang.Object ref = logPrefix_;
15389  if (!(ref instanceof java.lang.String)) {
15390  com.google.protobuf.ByteString bs =
15391  (com.google.protobuf.ByteString) ref;
15392  java.lang.String s = bs.toStringUtf8();
15393  if (bs.isValidUtf8()) {
15394  logPrefix_ = s;
15395  }
15396  return s;
15397  } else {
15398  return (java.lang.String) ref;
15399  }
15400  }
15409  public com.google.protobuf.ByteString
15411  java.lang.Object ref = logPrefix_;
15412  if (ref instanceof String) {
15413  com.google.protobuf.ByteString b =
15414  com.google.protobuf.ByteString.copyFromUtf8(
15415  (java.lang.String) ref);
15416  logPrefix_ = b;
15417  return b;
15418  } else {
15419  return (com.google.protobuf.ByteString) ref;
15420  }
15421  }
15432  java.lang.String value) {
15433  if (value == null) {
15434  throw new NullPointerException();
15435  }
15436  bitField1_ |= 0x00100000;
15437  logPrefix_ = value;
15438  onChanged();
15439  return this;
15440  }
15450  bitField1_ = (bitField1_ & ~0x00100000);
15451  logPrefix_ = getDefaultInstance().getLogPrefix();
15452  onChanged();
15453  return this;
15454  }
15465  com.google.protobuf.ByteString value) {
15466  if (value == null) {
15467  throw new NullPointerException();
15468  }
15469  bitField1_ |= 0x00100000;
15470  logPrefix_ = value;
15471  onChanged();
15472  return this;
15473  }
15474 
15475  private boolean logToStdout_ = true;
15484  @java.lang.Override
15485  public boolean hasLogToStdout() {
15486  return ((bitField1_ & 0x00200000) != 0);
15487  }
15496  @java.lang.Override
15497  public boolean getLogToStdout() {
15498  return logToStdout_;
15499  }
15509  public Builder setLogToStdout(boolean value) {
15510  bitField1_ |= 0x00200000;
15511  logToStdout_ = value;
15512  onChanged();
15513  return this;
15514  }
15524  bitField1_ = (bitField1_ & ~0x00200000);
15525  logToStdout_ = true;
15526  onChanged();
15527  return this;
15528  }
15529 
15530  private boolean logToResponse_ ;
15539  @java.lang.Override
15540  public boolean hasLogToResponse() {
15541  return ((bitField1_ & 0x00400000) != 0);
15542  }
15551  @java.lang.Override
15552  public boolean getLogToResponse() {
15553  return logToResponse_;
15554  }
15564  public Builder setLogToResponse(boolean value) {
15565  bitField1_ |= 0x00400000;
15566  logToResponse_ = value;
15567  onChanged();
15568  return this;
15569  }
15579  bitField1_ = (bitField1_ & ~0x00400000);
15580  logToResponse_ = false;
15581  onChanged();
15582  return this;
15583  }
15584 
15585  private boolean usePbResolution_ ;
15597  @java.lang.Override
15598  public boolean hasUsePbResolution() {
15599  return ((bitField1_ & 0x00800000) != 0);
15600  }
15612  @java.lang.Override
15613  public boolean getUsePbResolution() {
15614  return usePbResolution_;
15615  }
15628  public Builder setUsePbResolution(boolean value) {
15629  bitField1_ |= 0x00800000;
15630  usePbResolution_ = value;
15631  onChanged();
15632  return this;
15633  }
15646  bitField1_ = (bitField1_ & ~0x00800000);
15647  usePbResolution_ = false;
15648  onChanged();
15649  return this;
15650  }
15651 
15652  private boolean minimizeReductionDuringPbResolution_ ;
15664  @java.lang.Override
15666  return ((bitField1_ & 0x01000000) != 0);
15667  }
15679  @java.lang.Override
15681  return minimizeReductionDuringPbResolution_;
15682  }
15696  bitField1_ |= 0x01000000;
15697  minimizeReductionDuringPbResolution_ = value;
15698  onChanged();
15699  return this;
15700  }
15713  bitField1_ = (bitField1_ & ~0x01000000);
15714  minimizeReductionDuringPbResolution_ = false;
15715  onChanged();
15716  return this;
15717  }
15718 
15719  private boolean countAssumptionLevelsInLbd_ = true;
15735  @java.lang.Override
15737  return ((bitField1_ & 0x02000000) != 0);
15738  }
15754  @java.lang.Override
15756  return countAssumptionLevelsInLbd_;
15757  }
15774  public Builder setCountAssumptionLevelsInLbd(boolean value) {
15775  bitField1_ |= 0x02000000;
15776  countAssumptionLevelsInLbd_ = value;
15777  onChanged();
15778  return this;
15779  }
15796  bitField1_ = (bitField1_ & ~0x02000000);
15797  countAssumptionLevelsInLbd_ = true;
15798  onChanged();
15799  return this;
15800  }
15801 
15802  private int presolveBveThreshold_ = 500;
15813  @java.lang.Override
15814  public boolean hasPresolveBveThreshold() {
15815  return ((bitField1_ & 0x04000000) != 0);
15816  }
15827  @java.lang.Override
15829  return presolveBveThreshold_;
15830  }
15842  public Builder setPresolveBveThreshold(int value) {
15843  bitField1_ |= 0x04000000;
15844  presolveBveThreshold_ = value;
15845  onChanged();
15846  return this;
15847  }
15859  bitField1_ = (bitField1_ & ~0x04000000);
15860  presolveBveThreshold_ = 500;
15861  onChanged();
15862  return this;
15863  }
15864 
15865  private int presolveBveClauseWeight_ = 3;
15875  @java.lang.Override
15876  public boolean hasPresolveBveClauseWeight() {
15877  return ((bitField1_ & 0x08000000) != 0);
15878  }
15888  @java.lang.Override
15890  return presolveBveClauseWeight_;
15891  }
15903  bitField1_ |= 0x08000000;
15904  presolveBveClauseWeight_ = value;
15905  onChanged();
15906  return this;
15907  }
15918  bitField1_ = (bitField1_ & ~0x08000000);
15919  presolveBveClauseWeight_ = 3;
15920  onChanged();
15921  return this;
15922  }
15923 
15924  private double presolveProbingDeterministicTimeLimit_ = 30D;
15934  @java.lang.Override
15936  return ((bitField1_ & 0x10000000) != 0);
15937  }
15947  @java.lang.Override
15949  return presolveProbingDeterministicTimeLimit_;
15950  }
15962  bitField1_ |= 0x10000000;
15963  presolveProbingDeterministicTimeLimit_ = value;
15964  onChanged();
15965  return this;
15966  }
15977  bitField1_ = (bitField1_ & ~0x10000000);
15978  presolveProbingDeterministicTimeLimit_ = 30D;
15979  onChanged();
15980  return this;
15981  }
15982 
15983  private boolean presolveBlockedClause_ = true;
15993  @java.lang.Override
15994  public boolean hasPresolveBlockedClause() {
15995  return ((bitField1_ & 0x20000000) != 0);
15996  }
16006  @java.lang.Override
16007  public boolean getPresolveBlockedClause() {
16008  return presolveBlockedClause_;
16009  }
16020  public Builder setPresolveBlockedClause(boolean value) {
16021  bitField1_ |= 0x20000000;
16022  presolveBlockedClause_ = value;
16023  onChanged();
16024  return this;
16025  }
16036  bitField1_ = (bitField1_ & ~0x20000000);
16037  presolveBlockedClause_ = true;
16038  onChanged();
16039  return this;
16040  }
16041 
16042  private boolean presolveUseBva_ = true;
16051  @java.lang.Override
16052  public boolean hasPresolveUseBva() {
16053  return ((bitField1_ & 0x40000000) != 0);
16054  }
16063  @java.lang.Override
16064  public boolean getPresolveUseBva() {
16065  return presolveUseBva_;
16066  }
16076  public Builder setPresolveUseBva(boolean value) {
16077  bitField1_ |= 0x40000000;
16078  presolveUseBva_ = value;
16079  onChanged();
16080  return this;
16081  }
16091  bitField1_ = (bitField1_ & ~0x40000000);
16092  presolveUseBva_ = true;
16093  onChanged();
16094  return this;
16095  }
16096 
16097  private int presolveBvaThreshold_ = 1;
16109  @java.lang.Override
16110  public boolean hasPresolveBvaThreshold() {
16111  return ((bitField1_ & 0x80000000) != 0);
16112  }
16124  @java.lang.Override
16126  return presolveBvaThreshold_;
16127  }
16140  public Builder setPresolveBvaThreshold(int value) {
16141  bitField1_ |= 0x80000000;
16142  presolveBvaThreshold_ = value;
16143  onChanged();
16144  return this;
16145  }
16158  bitField1_ = (bitField1_ & ~0x80000000);
16159  presolveBvaThreshold_ = 1;
16160  onChanged();
16161  return this;
16162  }
16163 
16164  private int maxPresolveIterations_ = 3;
16175  @java.lang.Override
16176  public boolean hasMaxPresolveIterations() {
16177  return ((bitField2_ & 0x00000001) != 0);
16178  }
16189  @java.lang.Override
16191  return maxPresolveIterations_;
16192  }
16204  public Builder setMaxPresolveIterations(int value) {
16205  bitField2_ |= 0x00000001;
16206  maxPresolveIterations_ = value;
16207  onChanged();
16208  return this;
16209  }
16221  bitField2_ = (bitField2_ & ~0x00000001);
16222  maxPresolveIterations_ = 3;
16223  onChanged();
16224  return this;
16225  }
16226 
16227  private boolean cpModelPresolve_ = true;
16236  @java.lang.Override
16237  public boolean hasCpModelPresolve() {
16238  return ((bitField2_ & 0x00000002) != 0);
16239  }
16248  @java.lang.Override
16249  public boolean getCpModelPresolve() {
16250  return cpModelPresolve_;
16251  }
16261  public Builder setCpModelPresolve(boolean value) {
16262  bitField2_ |= 0x00000002;
16263  cpModelPresolve_ = value;
16264  onChanged();
16265  return this;
16266  }
16276  bitField2_ = (bitField2_ & ~0x00000002);
16277  cpModelPresolve_ = true;
16278  onChanged();
16279  return this;
16280  }
16281 
16282  private boolean cpModelPostsolveWithFullSolver_ ;
16294  @java.lang.Override
16296  return ((bitField2_ & 0x00000004) != 0);
16297  }
16309  @java.lang.Override
16311  return cpModelPostsolveWithFullSolver_;
16312  }
16326  bitField2_ |= 0x00000004;
16327  cpModelPostsolveWithFullSolver_ = value;
16328  onChanged();
16329  return this;
16330  }
16343  bitField2_ = (bitField2_ & ~0x00000004);
16344  cpModelPostsolveWithFullSolver_ = false;
16345  onChanged();
16346  return this;
16347  }
16348 
16349  private int cpModelMaxNumPresolveOperations_ ;
16359  @java.lang.Override
16361  return ((bitField2_ & 0x00000008) != 0);
16362  }
16372  @java.lang.Override
16374  return cpModelMaxNumPresolveOperations_;
16375  }
16387  bitField2_ |= 0x00000008;
16388  cpModelMaxNumPresolveOperations_ = value;
16389  onChanged();
16390  return this;
16391  }
16402  bitField2_ = (bitField2_ & ~0x00000008);
16403  cpModelMaxNumPresolveOperations_ = 0;
16404  onChanged();
16405  return this;
16406  }
16407 
16408  private int cpModelProbingLevel_ = 2;
16417  @java.lang.Override
16418  public boolean hasCpModelProbingLevel() {
16419  return ((bitField2_ & 0x00000010) != 0);
16420  }
16429  @java.lang.Override
16430  public int getCpModelProbingLevel() {
16431  return cpModelProbingLevel_;
16432  }
16442  public Builder setCpModelProbingLevel(int value) {
16443  bitField2_ |= 0x00000010;
16444  cpModelProbingLevel_ = value;
16445  onChanged();
16446  return this;
16447  }
16457  bitField2_ = (bitField2_ & ~0x00000010);
16458  cpModelProbingLevel_ = 2;
16459  onChanged();
16460  return this;
16461  }
16462 
16463  private boolean cpModelUseSatPresolve_ = true;
16472  @java.lang.Override
16473  public boolean hasCpModelUseSatPresolve() {
16474  return ((bitField2_ & 0x00000020) != 0);
16475  }
16484  @java.lang.Override
16485  public boolean getCpModelUseSatPresolve() {
16486  return cpModelUseSatPresolve_;
16487  }
16497  public Builder setCpModelUseSatPresolve(boolean value) {
16498  bitField2_ |= 0x00000020;
16499  cpModelUseSatPresolve_ = value;
16500  onChanged();
16501  return this;
16502  }
16512  bitField2_ = (bitField2_ & ~0x00000020);
16513  cpModelUseSatPresolve_ = true;
16514  onChanged();
16515  return this;
16516  }
16517 
16518  private boolean useSatInprocessing_ ;
16523  @java.lang.Override
16524  public boolean hasUseSatInprocessing() {
16525  return ((bitField2_ & 0x00000040) != 0);
16526  }
16531  @java.lang.Override
16532  public boolean getUseSatInprocessing() {
16533  return useSatInprocessing_;
16534  }
16540  public Builder setUseSatInprocessing(boolean value) {
16541  bitField2_ |= 0x00000040;
16542  useSatInprocessing_ = value;
16543  onChanged();
16544  return this;
16545  }
16551  bitField2_ = (bitField2_ & ~0x00000040);
16552  useSatInprocessing_ = false;
16553  onChanged();
16554  return this;
16555  }
16556 
16557  private boolean expandElementConstraints_ = true;
16567  @java.lang.Override
16568  public boolean hasExpandElementConstraints() {
16569  return ((bitField2_ & 0x00000080) != 0);
16570  }
16580  @java.lang.Override
16581  public boolean getExpandElementConstraints() {
16582  return expandElementConstraints_;
16583  }
16594  public Builder setExpandElementConstraints(boolean value) {
16595  bitField2_ |= 0x00000080;
16596  expandElementConstraints_ = value;
16597  onChanged();
16598  return this;
16599  }
16610  bitField2_ = (bitField2_ & ~0x00000080);
16611  expandElementConstraints_ = true;
16612  onChanged();
16613  return this;
16614  }
16615 
16616  private boolean expandAutomatonConstraints_ = true;
16625  @java.lang.Override
16627  return ((bitField2_ & 0x00000100) != 0);
16628  }
16637  @java.lang.Override
16639  return expandAutomatonConstraints_;
16640  }
16650  public Builder setExpandAutomatonConstraints(boolean value) {
16651  bitField2_ |= 0x00000100;
16652  expandAutomatonConstraints_ = value;
16653  onChanged();
16654  return this;
16655  }
16665  bitField2_ = (bitField2_ & ~0x00000100);
16666  expandAutomatonConstraints_ = true;
16667  onChanged();
16668  return this;
16669  }
16670 
16671  private boolean expandTableConstraints_ = true;
16681  @java.lang.Override
16682  public boolean hasExpandTableConstraints() {
16683  return ((bitField2_ & 0x00000200) != 0);
16684  }
16694  @java.lang.Override
16695  public boolean getExpandTableConstraints() {
16696  return expandTableConstraints_;
16697  }
16708  public Builder setExpandTableConstraints(boolean value) {
16709  bitField2_ |= 0x00000200;
16710  expandTableConstraints_ = value;
16711  onChanged();
16712  return this;
16713  }
16724  bitField2_ = (bitField2_ & ~0x00000200);
16725  expandTableConstraints_ = true;
16726  onChanged();
16727  return this;
16728  }
16729 
16730  private boolean expandAlldiffConstraints_ ;
16740  @java.lang.Override
16741  public boolean hasExpandAlldiffConstraints() {
16742  return ((bitField2_ & 0x00000400) != 0);
16743  }
16753  @java.lang.Override
16754  public boolean getExpandAlldiffConstraints() {
16755  return expandAlldiffConstraints_;
16756  }
16767  public Builder setExpandAlldiffConstraints(boolean value) {
16768  bitField2_ |= 0x00000400;
16769  expandAlldiffConstraints_ = value;
16770  onChanged();
16771  return this;
16772  }
16783  bitField2_ = (bitField2_ & ~0x00000400);
16784  expandAlldiffConstraints_ = false;
16785  onChanged();
16786  return this;
16787  }
16788 
16789  private boolean expandReservoirConstraints_ = true;
16799  @java.lang.Override
16801  return ((bitField2_ & 0x00000800) != 0);
16802  }
16812  @java.lang.Override
16814  return expandReservoirConstraints_;
16815  }
16826  public Builder setExpandReservoirConstraints(boolean value) {
16827  bitField2_ |= 0x00000800;
16828  expandReservoirConstraints_ = value;
16829  onChanged();
16830  return this;
16831  }
16842  bitField2_ = (bitField2_ & ~0x00000800);
16843  expandReservoirConstraints_ = true;
16844  onChanged();
16845  return this;
16846  }
16847 
16848  private boolean disableConstraintExpansion_ ;
16858  @java.lang.Override
16860  return ((bitField2_ & 0x00001000) != 0);
16861  }
16871  @java.lang.Override
16873  return disableConstraintExpansion_;
16874  }
16885  public Builder setDisableConstraintExpansion(boolean value) {
16886  bitField2_ |= 0x00001000;
16887  disableConstraintExpansion_ = value;
16888  onChanged();
16889  return this;
16890  }
16901  bitField2_ = (bitField2_ & ~0x00001000);
16902  disableConstraintExpansion_ = false;
16903  onChanged();
16904  return this;
16905  }
16906 
16907  private double mergeNoOverlapWorkLimit_ = 1000000000000D;
16920  @java.lang.Override
16921  public boolean hasMergeNoOverlapWorkLimit() {
16922  return ((bitField2_ & 0x00002000) != 0);
16923  }
16936  @java.lang.Override
16937  public double getMergeNoOverlapWorkLimit() {
16938  return mergeNoOverlapWorkLimit_;
16939  }
16953  public Builder setMergeNoOverlapWorkLimit(double value) {
16954  bitField2_ |= 0x00002000;
16955  mergeNoOverlapWorkLimit_ = value;
16956  onChanged();
16957  return this;
16958  }
16972  bitField2_ = (bitField2_ & ~0x00002000);
16973  mergeNoOverlapWorkLimit_ = 1000000000000D;
16974  onChanged();
16975  return this;
16976  }
16977 
16978  private double mergeAtMostOneWorkLimit_ = 100000000D;
16983  @java.lang.Override
16984  public boolean hasMergeAtMostOneWorkLimit() {
16985  return ((bitField2_ & 0x00004000) != 0);
16986  }
16991  @java.lang.Override
16992  public double getMergeAtMostOneWorkLimit() {
16993  return mergeAtMostOneWorkLimit_;
16994  }
17000  public Builder setMergeAtMostOneWorkLimit(double value) {
17001  bitField2_ |= 0x00004000;
17002  mergeAtMostOneWorkLimit_ = value;
17003  onChanged();
17004  return this;
17005  }
17011  bitField2_ = (bitField2_ & ~0x00004000);
17012  mergeAtMostOneWorkLimit_ = 100000000D;
17013  onChanged();
17014  return this;
17015  }
17016 
17017  private int presolveSubstitutionLevel_ = 1;
17029  @java.lang.Override
17030  public boolean hasPresolveSubstitutionLevel() {
17031  return ((bitField2_ & 0x00008000) != 0);
17032  }
17044  @java.lang.Override
17046  return presolveSubstitutionLevel_;
17047  }
17061  bitField2_ |= 0x00008000;
17062  presolveSubstitutionLevel_ = value;
17063  onChanged();
17064  return this;
17065  }
17078  bitField2_ = (bitField2_ & ~0x00008000);
17079  presolveSubstitutionLevel_ = 1;
17080  onChanged();
17081  return this;
17082  }
17083 
17084  private boolean presolveExtractIntegerEnforcement_ ;
17098  @java.lang.Override
17100  return ((bitField2_ & 0x00010000) != 0);
17101  }
17115  @java.lang.Override
17117  return presolveExtractIntegerEnforcement_;
17118  }
17134  bitField2_ |= 0x00010000;
17135  presolveExtractIntegerEnforcement_ = value;
17136  onChanged();
17137  return this;
17138  }
17153  bitField2_ = (bitField2_ & ~0x00010000);
17154  presolveExtractIntegerEnforcement_ = false;
17155  onChanged();
17156  return this;
17157  }
17158 
17159  private boolean useOptimizationHints_ = true;
17171  @java.lang.Override
17172  public boolean hasUseOptimizationHints() {
17173  return ((bitField2_ & 0x00020000) != 0);
17174  }
17186  @java.lang.Override
17187  public boolean getUseOptimizationHints() {
17188  return useOptimizationHints_;
17189  }
17202  public Builder setUseOptimizationHints(boolean value) {
17203  bitField2_ |= 0x00020000;
17204  useOptimizationHints_ = value;
17205  onChanged();
17206  return this;
17207  }
17220  bitField2_ = (bitField2_ & ~0x00020000);
17221  useOptimizationHints_ = true;
17222  onChanged();
17223  return this;
17224  }
17225 
17226  private boolean minimizeCore_ = true;
17235  @java.lang.Override
17236  public boolean hasMinimizeCore() {
17237  return ((bitField2_ & 0x00040000) != 0);
17238  }
17247  @java.lang.Override
17248  public boolean getMinimizeCore() {
17249  return minimizeCore_;
17250  }
17260  public Builder setMinimizeCore(boolean value) {
17261  bitField2_ |= 0x00040000;
17262  minimizeCore_ = value;
17263  onChanged();
17264  return this;
17265  }
17275  bitField2_ = (bitField2_ & ~0x00040000);
17276  minimizeCore_ = true;
17277  onChanged();
17278  return this;
17279  }
17280 
17281  private boolean findMultipleCores_ = true;
17291  @java.lang.Override
17292  public boolean hasFindMultipleCores() {
17293  return ((bitField2_ & 0x00080000) != 0);
17294  }
17304  @java.lang.Override
17305  public boolean getFindMultipleCores() {
17306  return findMultipleCores_;
17307  }
17318  public Builder setFindMultipleCores(boolean value) {
17319  bitField2_ |= 0x00080000;
17320  findMultipleCores_ = value;
17321  onChanged();
17322  return this;
17323  }
17334  bitField2_ = (bitField2_ & ~0x00080000);
17335  findMultipleCores_ = true;
17336  onChanged();
17337  return this;
17338  }
17339 
17340  private boolean coverOptimization_ = true;
17350  @java.lang.Override
17351  public boolean hasCoverOptimization() {
17352  return ((bitField2_ & 0x00100000) != 0);
17353  }
17363  @java.lang.Override
17364  public boolean getCoverOptimization() {
17365  return coverOptimization_;
17366  }
17377  public Builder setCoverOptimization(boolean value) {
17378  bitField2_ |= 0x00100000;
17379  coverOptimization_ = value;
17380  onChanged();
17381  return this;
17382  }
17393  bitField2_ = (bitField2_ & ~0x00100000);
17394  coverOptimization_ = true;
17395  onChanged();
17396  return this;
17397  }
17398 
17399  private int maxSatAssumptionOrder_ = 0;
17404  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
17405  return ((bitField2_ & 0x00200000) != 0);
17406  }
17411  @java.lang.Override
17412  public com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder() {
17413  @SuppressWarnings("deprecation")
17414  com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder result = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(maxSatAssumptionOrder_);
17415  return result == null ? com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.DEFAULT_ASSUMPTION_ORDER : result;
17416  }
17422  public Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value) {
17423  if (value == null) {
17424  throw new NullPointerException();
17425  }
17426  bitField2_ |= 0x00200000;
17427  maxSatAssumptionOrder_ = value.getNumber();
17428  onChanged();
17429  return this;
17430  }
17436  bitField2_ = (bitField2_ & ~0x00200000);
17437  maxSatAssumptionOrder_ = 0;
17438  onChanged();
17439  return this;
17440  }
17441 
17442  private boolean maxSatReverseAssumptionOrder_ ;
17452  @java.lang.Override
17454  return ((bitField2_ & 0x00400000) != 0);
17455  }
17465  @java.lang.Override
17467  return maxSatReverseAssumptionOrder_;
17468  }
17480  bitField2_ |= 0x00400000;
17481  maxSatReverseAssumptionOrder_ = value;
17482  onChanged();
17483  return this;
17484  }
17495  bitField2_ = (bitField2_ & ~0x00400000);
17496  maxSatReverseAssumptionOrder_ = false;
17497  onChanged();
17498  return this;
17499  }
17500 
17501  private int maxSatStratification_ = 1;
17506  @java.lang.Override public boolean hasMaxSatStratification() {
17507  return ((bitField2_ & 0x00800000) != 0);
17508  }
17513  @java.lang.Override
17514  public com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification() {
17515  @SuppressWarnings("deprecation")
17516  com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm result = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(maxSatStratification_);
17517  return result == null ? com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.STRATIFICATION_DESCENT : result;
17518  }
17524  public Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value) {
17525  if (value == null) {
17526  throw new NullPointerException();
17527  }
17528  bitField2_ |= 0x00800000;
17529  maxSatStratification_ = value.getNumber();
17530  onChanged();
17531  return this;
17532  }
17538  bitField2_ = (bitField2_ & ~0x00800000);
17539  maxSatStratification_ = 1;
17540  onChanged();
17541  return this;
17542  }
17543 
17544  private boolean usePrecedencesInDisjunctiveConstraint_ = true;
17560  @java.lang.Override
17562  return ((bitField2_ & 0x01000000) != 0);
17563  }
17579  @java.lang.Override
17581  return usePrecedencesInDisjunctiveConstraint_;
17582  }
17600  bitField2_ |= 0x01000000;
17601  usePrecedencesInDisjunctiveConstraint_ = value;
17602  onChanged();
17603  return this;
17604  }
17621  bitField2_ = (bitField2_ & ~0x01000000);
17622  usePrecedencesInDisjunctiveConstraint_ = true;
17623  onChanged();
17624  return this;
17625  }
17626 
17627  private boolean useOverloadCheckerInCumulativeConstraint_ ;
17641  @java.lang.Override
17643  return ((bitField2_ & 0x02000000) != 0);
17644  }
17658  @java.lang.Override
17660  return useOverloadCheckerInCumulativeConstraint_;
17661  }
17677  bitField2_ |= 0x02000000;
17678  useOverloadCheckerInCumulativeConstraint_ = value;
17679  onChanged();
17680  return this;
17681  }
17696  bitField2_ = (bitField2_ & ~0x02000000);
17697  useOverloadCheckerInCumulativeConstraint_ = false;
17698  onChanged();
17699  return this;
17700  }
17701 
17702  private boolean useTimetableEdgeFindingInCumulativeConstraint_ ;
17716  @java.lang.Override
17718  return ((bitField2_ & 0x04000000) != 0);
17719  }
17733  @java.lang.Override
17735  return useTimetableEdgeFindingInCumulativeConstraint_;
17736  }
17752  bitField2_ |= 0x04000000;
17753  useTimetableEdgeFindingInCumulativeConstraint_ = value;
17754  onChanged();
17755  return this;
17756  }
17771  bitField2_ = (bitField2_ & ~0x04000000);
17772  useTimetableEdgeFindingInCumulativeConstraint_ = false;
17773  onChanged();
17774  return this;
17775  }
17776 
17777  private boolean useDisjunctiveConstraintInCumulativeConstraint_ = true;
17793  @java.lang.Override
17795  return ((bitField2_ & 0x08000000) != 0);
17796  }
17812  @java.lang.Override
17814  return useDisjunctiveConstraintInCumulativeConstraint_;
17815  }
17833  bitField2_ |= 0x08000000;
17834  useDisjunctiveConstraintInCumulativeConstraint_ = value;
17835  onChanged();
17836  return this;
17837  }
17854  bitField2_ = (bitField2_ & ~0x08000000);
17855  useDisjunctiveConstraintInCumulativeConstraint_ = true;
17856  onChanged();
17857  return this;
17858  }
17859 
17860  private int linearizationLevel_ = 1;
17872  @java.lang.Override
17873  public boolean hasLinearizationLevel() {
17874  return ((bitField2_ & 0x10000000) != 0);
17875  }
17887  @java.lang.Override
17888  public int getLinearizationLevel() {
17889  return linearizationLevel_;
17890  }
17903  public Builder setLinearizationLevel(int value) {
17904  bitField2_ |= 0x10000000;
17905  linearizationLevel_ = value;
17906  onChanged();
17907  return this;
17908  }
17921  bitField2_ = (bitField2_ & ~0x10000000);
17922  linearizationLevel_ = 1;
17923  onChanged();
17924  return this;
17925  }
17926 
17927  private int booleanEncodingLevel_ = 1;
17937  @java.lang.Override
17938  public boolean hasBooleanEncodingLevel() {
17939  return ((bitField2_ & 0x20000000) != 0);
17940  }
17950  @java.lang.Override
17952  return booleanEncodingLevel_;
17953  }
17964  public Builder setBooleanEncodingLevel(int value) {
17965  bitField2_ |= 0x20000000;
17966  booleanEncodingLevel_ = value;
17967  onChanged();
17968  return this;
17969  }
17980  bitField2_ = (bitField2_ & ~0x20000000);
17981  booleanEncodingLevel_ = 1;
17982  onChanged();
17983  return this;
17984  }
17985 
17986  private int maxNumCuts_ = 10000;
17998  @java.lang.Override
17999  public boolean hasMaxNumCuts() {
18000  return ((bitField2_ & 0x40000000) != 0);
18001  }
18013  @java.lang.Override
18014  public int getMaxNumCuts() {
18015  return maxNumCuts_;
18016  }
18029  public Builder setMaxNumCuts(int value) {
18030  bitField2_ |= 0x40000000;
18031  maxNumCuts_ = value;
18032  onChanged();
18033  return this;
18034  }
18047  bitField2_ = (bitField2_ & ~0x40000000);
18048  maxNumCuts_ = 10000;
18049  onChanged();
18050  return this;
18051  }
18052 
18053  private boolean onlyAddCutsAtLevelZero_ ;
18063  @java.lang.Override
18064  public boolean hasOnlyAddCutsAtLevelZero() {
18065  return ((bitField2_ & 0x80000000) != 0);
18066  }
18076  @java.lang.Override
18077  public boolean getOnlyAddCutsAtLevelZero() {
18078  return onlyAddCutsAtLevelZero_;
18079  }
18090  public Builder setOnlyAddCutsAtLevelZero(boolean value) {
18091  bitField2_ |= 0x80000000;
18092  onlyAddCutsAtLevelZero_ = value;
18093  onChanged();
18094  return this;
18095  }
18106  bitField2_ = (bitField2_ & ~0x80000000);
18107  onlyAddCutsAtLevelZero_ = false;
18108  onChanged();
18109  return this;
18110  }
18111 
18112  private boolean addKnapsackCuts_ ;
18123  @java.lang.Override
18124  public boolean hasAddKnapsackCuts() {
18125  return ((bitField3_ & 0x00000001) != 0);
18126  }
18137  @java.lang.Override
18138  public boolean getAddKnapsackCuts() {
18139  return addKnapsackCuts_;
18140  }
18152  public Builder setAddKnapsackCuts(boolean value) {
18153  bitField3_ |= 0x00000001;
18154  addKnapsackCuts_ = value;
18155  onChanged();
18156  return this;
18157  }
18169  bitField3_ = (bitField3_ & ~0x00000001);
18170  addKnapsackCuts_ = false;
18171  onChanged();
18172  return this;
18173  }
18174 
18175  private boolean addCgCuts_ = true;
18185  @java.lang.Override
18186  public boolean hasAddCgCuts() {
18187  return ((bitField3_ & 0x00000002) != 0);
18188  }
18198  @java.lang.Override
18199  public boolean getAddCgCuts() {
18200  return addCgCuts_;
18201  }
18212  public Builder setAddCgCuts(boolean value) {
18213  bitField3_ |= 0x00000002;
18214  addCgCuts_ = value;
18215  onChanged();
18216  return this;
18217  }
18228  bitField3_ = (bitField3_ & ~0x00000002);
18229  addCgCuts_ = true;
18230  onChanged();
18231  return this;
18232  }
18233 
18234  private boolean addMirCuts_ = true;
18244  @java.lang.Override
18245  public boolean hasAddMirCuts() {
18246  return ((bitField3_ & 0x00000004) != 0);
18247  }
18257  @java.lang.Override
18258  public boolean getAddMirCuts() {
18259  return addMirCuts_;
18260  }
18271  public Builder setAddMirCuts(boolean value) {
18272  bitField3_ |= 0x00000004;
18273  addMirCuts_ = value;
18274  onChanged();
18275  return this;
18276  }
18287  bitField3_ = (bitField3_ & ~0x00000004);
18288  addMirCuts_ = true;
18289  onChanged();
18290  return this;
18291  }
18292 
18293  private boolean addZeroHalfCuts_ = true;
18303  @java.lang.Override
18304  public boolean hasAddZeroHalfCuts() {
18305  return ((bitField3_ & 0x00000008) != 0);
18306  }
18316  @java.lang.Override
18317  public boolean getAddZeroHalfCuts() {
18318  return addZeroHalfCuts_;
18319  }
18330  public Builder setAddZeroHalfCuts(boolean value) {
18331  bitField3_ |= 0x00000008;
18332  addZeroHalfCuts_ = value;
18333  onChanged();
18334  return this;
18335  }
18346  bitField3_ = (bitField3_ & ~0x00000008);
18347  addZeroHalfCuts_ = true;
18348  onChanged();
18349  return this;
18350  }
18351 
18352  private boolean addCliqueCuts_ = true;
18363  @java.lang.Override
18364  public boolean hasAddCliqueCuts() {
18365  return ((bitField3_ & 0x00000010) != 0);
18366  }
18377  @java.lang.Override
18378  public boolean getAddCliqueCuts() {
18379  return addCliqueCuts_;
18380  }
18392  public Builder setAddCliqueCuts(boolean value) {
18393  bitField3_ |= 0x00000010;
18394  addCliqueCuts_ = value;
18395  onChanged();
18396  return this;
18397  }
18409  bitField3_ = (bitField3_ & ~0x00000010);
18410  addCliqueCuts_ = true;
18411  onChanged();
18412  return this;
18413  }
18414 
18415  private int maxAllDiffCutSize_ = 7;
18426  @java.lang.Override
18427  public boolean hasMaxAllDiffCutSize() {
18428  return ((bitField3_ & 0x00000020) != 0);
18429  }
18440  @java.lang.Override
18441  public int getMaxAllDiffCutSize() {
18442  return maxAllDiffCutSize_;
18443  }
18455  public Builder setMaxAllDiffCutSize(int value) {
18456  bitField3_ |= 0x00000020;
18457  maxAllDiffCutSize_ = value;
18458  onChanged();
18459  return this;
18460  }
18472  bitField3_ = (bitField3_ & ~0x00000020);
18473  maxAllDiffCutSize_ = 7;
18474  onChanged();
18475  return this;
18476  }
18477 
18478  private boolean addLinMaxCuts_ = true;
18489  @java.lang.Override
18490  public boolean hasAddLinMaxCuts() {
18491  return ((bitField3_ & 0x00000040) != 0);
18492  }
18503  @java.lang.Override
18504  public boolean getAddLinMaxCuts() {
18505  return addLinMaxCuts_;
18506  }
18518  public Builder setAddLinMaxCuts(boolean value) {
18519  bitField3_ |= 0x00000040;
18520  addLinMaxCuts_ = value;
18521  onChanged();
18522  return this;
18523  }
18535  bitField3_ = (bitField3_ & ~0x00000040);
18536  addLinMaxCuts_ = true;
18537  onChanged();
18538  return this;
18539  }
18540 
18541  private int maxIntegerRoundingScaling_ = 600;
18556  @java.lang.Override
18557  public boolean hasMaxIntegerRoundingScaling() {
18558  return ((bitField3_ & 0x00000080) != 0);
18559  }
18574  @java.lang.Override
18576  return maxIntegerRoundingScaling_;
18577  }
18594  bitField3_ |= 0x00000080;
18595  maxIntegerRoundingScaling_ = value;
18596  onChanged();
18597  return this;
18598  }
18614  bitField3_ = (bitField3_ & ~0x00000080);
18615  maxIntegerRoundingScaling_ = 600;
18616  onChanged();
18617  return this;
18618  }
18619 
18620  private boolean addLpConstraintsLazily_ = true;
18632  @java.lang.Override
18633  public boolean hasAddLpConstraintsLazily() {
18634  return ((bitField3_ & 0x00000100) != 0);
18635  }
18647  @java.lang.Override
18648  public boolean getAddLpConstraintsLazily() {
18649  return addLpConstraintsLazily_;
18650  }
18663  public Builder setAddLpConstraintsLazily(boolean value) {
18664  bitField3_ |= 0x00000100;
18665  addLpConstraintsLazily_ = value;
18666  onChanged();
18667  return this;
18668  }
18681  bitField3_ = (bitField3_ & ~0x00000100);
18682  addLpConstraintsLazily_ = true;
18683  onChanged();
18684  return this;
18685  }
18686 
18687  private double minOrthogonalityForLpConstraints_ = 0.05D;
18700  @java.lang.Override
18702  return ((bitField3_ & 0x00000200) != 0);
18703  }
18716  @java.lang.Override
18718  return minOrthogonalityForLpConstraints_;
18719  }
18734  bitField3_ |= 0x00000200;
18735  minOrthogonalityForLpConstraints_ = value;
18736  onChanged();
18737  return this;
18738  }
18752  bitField3_ = (bitField3_ & ~0x00000200);
18753  minOrthogonalityForLpConstraints_ = 0.05D;
18754  onChanged();
18755  return this;
18756  }
18757 
18758  private int maxCutRoundsAtLevelZero_ = 1;
18767  @java.lang.Override
18768  public boolean hasMaxCutRoundsAtLevelZero() {
18769  return ((bitField3_ & 0x00000400) != 0);
18770  }
18779  @java.lang.Override
18781  return maxCutRoundsAtLevelZero_;
18782  }
18793  bitField3_ |= 0x00000400;
18794  maxCutRoundsAtLevelZero_ = value;
18795  onChanged();
18796  return this;
18797  }
18807  bitField3_ = (bitField3_ & ~0x00000400);
18808  maxCutRoundsAtLevelZero_ = 1;
18809  onChanged();
18810  return this;
18811  }
18812 
18813  private int maxConsecutiveInactiveCount_ = 100;
18824  @java.lang.Override
18826  return ((bitField3_ & 0x00000800) != 0);
18827  }
18838  @java.lang.Override
18840  return maxConsecutiveInactiveCount_;
18841  }
18854  bitField3_ |= 0x00000800;
18855  maxConsecutiveInactiveCount_ = value;
18856  onChanged();
18857  return this;
18858  }
18870  bitField3_ = (bitField3_ & ~0x00000800);
18871  maxConsecutiveInactiveCount_ = 100;
18872  onChanged();
18873  return this;
18874  }
18875 
18876  private double cutMaxActiveCountValue_ = 10000000000D;
18887  @java.lang.Override
18888  public boolean hasCutMaxActiveCountValue() {
18889  return ((bitField3_ & 0x00001000) != 0);
18890  }
18901  @java.lang.Override
18902  public double getCutMaxActiveCountValue() {
18903  return cutMaxActiveCountValue_;
18904  }
18916  public Builder setCutMaxActiveCountValue(double value) {
18917  bitField3_ |= 0x00001000;
18918  cutMaxActiveCountValue_ = value;
18919  onChanged();
18920  return this;
18921  }
18933  bitField3_ = (bitField3_ & ~0x00001000);
18934  cutMaxActiveCountValue_ = 10000000000D;
18935  onChanged();
18936  return this;
18937  }
18938 
18939  private double cutActiveCountDecay_ = 0.8D;
18944  @java.lang.Override
18945  public boolean hasCutActiveCountDecay() {
18946  return ((bitField3_ & 0x00002000) != 0);
18947  }
18952  @java.lang.Override
18953  public double getCutActiveCountDecay() {
18954  return cutActiveCountDecay_;
18955  }
18961  public Builder setCutActiveCountDecay(double value) {
18962  bitField3_ |= 0x00002000;
18963  cutActiveCountDecay_ = value;
18964  onChanged();
18965  return this;
18966  }
18972  bitField3_ = (bitField3_ & ~0x00002000);
18973  cutActiveCountDecay_ = 0.8D;
18974  onChanged();
18975  return this;
18976  }
18977 
18978  private int cutCleanupTarget_ = 1000;
18987  @java.lang.Override
18988  public boolean hasCutCleanupTarget() {
18989  return ((bitField3_ & 0x00004000) != 0);
18990  }
18999  @java.lang.Override
19000  public int getCutCleanupTarget() {
19001  return cutCleanupTarget_;
19002  }
19012  public Builder setCutCleanupTarget(int value) {
19013  bitField3_ |= 0x00004000;
19014  cutCleanupTarget_ = value;
19015  onChanged();
19016  return this;
19017  }
19027  bitField3_ = (bitField3_ & ~0x00004000);
19028  cutCleanupTarget_ = 1000;
19029  onChanged();
19030  return this;
19031  }
19032 
19033  private int newConstraintsBatchSize_ = 50;
19043  @java.lang.Override
19044  public boolean hasNewConstraintsBatchSize() {
19045  return ((bitField3_ & 0x00008000) != 0);
19046  }
19056  @java.lang.Override
19058  return newConstraintsBatchSize_;
19059  }
19071  bitField3_ |= 0x00008000;
19072  newConstraintsBatchSize_ = value;
19073  onChanged();
19074  return this;
19075  }
19086  bitField3_ = (bitField3_ & ~0x00008000);
19087  newConstraintsBatchSize_ = 50;
19088  onChanged();
19089  return this;
19090  }
19091 
19092  private int searchBranching_ = 0;
19097  @java.lang.Override public boolean hasSearchBranching() {
19098  return ((bitField3_ & 0x00010000) != 0);
19099  }
19104  @java.lang.Override
19105  public com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching() {
19106  @SuppressWarnings("deprecation")
19107  com.google.ortools.sat.SatParameters.SearchBranching result = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(searchBranching_);
19108  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
19109  }
19115  public Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value) {
19116  if (value == null) {
19117  throw new NullPointerException();
19118  }
19119  bitField3_ |= 0x00010000;
19120  searchBranching_ = value.getNumber();
19121  onChanged();
19122  return this;
19123  }
19129  bitField3_ = (bitField3_ & ~0x00010000);
19130  searchBranching_ = 0;
19131  onChanged();
19132  return this;
19133  }
19134 
19135  private int hintConflictLimit_ = 10;
19144  @java.lang.Override
19145  public boolean hasHintConflictLimit() {
19146  return ((bitField3_ & 0x00020000) != 0);
19147  }
19156  @java.lang.Override
19157  public int getHintConflictLimit() {
19158  return hintConflictLimit_;
19159  }
19169  public Builder setHintConflictLimit(int value) {
19170  bitField3_ |= 0x00020000;
19171  hintConflictLimit_ = value;
19172  onChanged();
19173  return this;
19174  }
19184  bitField3_ = (bitField3_ & ~0x00020000);
19185  hintConflictLimit_ = 10;
19186  onChanged();
19187  return this;
19188  }
19189 
19190  private boolean repairHint_ ;
19202  @java.lang.Override
19203  public boolean hasRepairHint() {
19204  return ((bitField3_ & 0x00040000) != 0);
19205  }
19217  @java.lang.Override
19218  public boolean getRepairHint() {
19219  return repairHint_;
19220  }
19233  public Builder setRepairHint(boolean value) {
19234  bitField3_ |= 0x00040000;
19235  repairHint_ = value;
19236  onChanged();
19237  return this;
19238  }
19251  bitField3_ = (bitField3_ & ~0x00040000);
19252  repairHint_ = false;
19253  onChanged();
19254  return this;
19255  }
19256 
19257  private boolean exploitIntegerLpSolution_ = true;
19269  @java.lang.Override
19270  public boolean hasExploitIntegerLpSolution() {
19271  return ((bitField3_ & 0x00080000) != 0);
19272  }
19284  @java.lang.Override
19285  public boolean getExploitIntegerLpSolution() {
19286  return exploitIntegerLpSolution_;
19287  }
19300  public Builder setExploitIntegerLpSolution(boolean value) {
19301  bitField3_ |= 0x00080000;
19302  exploitIntegerLpSolution_ = value;
19303  onChanged();
19304  return this;
19305  }
19318  bitField3_ = (bitField3_ & ~0x00080000);
19319  exploitIntegerLpSolution_ = true;
19320  onChanged();
19321  return this;
19322  }
19323 
19324  private boolean exploitAllLpSolution_ = true;
19335  @java.lang.Override
19336  public boolean hasExploitAllLpSolution() {
19337  return ((bitField3_ & 0x00100000) != 0);
19338  }
19349  @java.lang.Override
19350  public boolean getExploitAllLpSolution() {
19351  return exploitAllLpSolution_;
19352  }
19364  public Builder setExploitAllLpSolution(boolean value) {
19365  bitField3_ |= 0x00100000;
19366  exploitAllLpSolution_ = value;
19367  onChanged();
19368  return this;
19369  }
19381  bitField3_ = (bitField3_ & ~0x00100000);
19382  exploitAllLpSolution_ = true;
19383  onChanged();
19384  return this;
19385  }
19386 
19387  private boolean exploitBestSolution_ ;
19396  @java.lang.Override
19397  public boolean hasExploitBestSolution() {
19398  return ((bitField3_ & 0x00200000) != 0);
19399  }
19408  @java.lang.Override
19409  public boolean getExploitBestSolution() {
19410  return exploitBestSolution_;
19411  }
19421  public Builder setExploitBestSolution(boolean value) {
19422  bitField3_ |= 0x00200000;
19423  exploitBestSolution_ = value;
19424  onChanged();
19425  return this;
19426  }
19436  bitField3_ = (bitField3_ & ~0x00200000);
19437  exploitBestSolution_ = false;
19438  onChanged();
19439  return this;
19440  }
19441 
19442  private boolean exploitRelaxationSolution_ ;
19453  @java.lang.Override
19454  public boolean hasExploitRelaxationSolution() {
19455  return ((bitField3_ & 0x00400000) != 0);
19456  }
19467  @java.lang.Override
19468  public boolean getExploitRelaxationSolution() {
19469  return exploitRelaxationSolution_;
19470  }
19482  public Builder setExploitRelaxationSolution(boolean value) {
19483  bitField3_ |= 0x00400000;
19484  exploitRelaxationSolution_ = value;
19485  onChanged();
19486  return this;
19487  }
19499  bitField3_ = (bitField3_ & ~0x00400000);
19500  exploitRelaxationSolution_ = false;
19501  onChanged();
19502  return this;
19503  }
19504 
19505  private boolean exploitObjective_ = true;
19515  @java.lang.Override
19516  public boolean hasExploitObjective() {
19517  return ((bitField3_ & 0x00800000) != 0);
19518  }
19528  @java.lang.Override
19529  public boolean getExploitObjective() {
19530  return exploitObjective_;
19531  }
19542  public Builder setExploitObjective(boolean value) {
19543  bitField3_ |= 0x00800000;
19544  exploitObjective_ = value;
19545  onChanged();
19546  return this;
19547  }
19558  bitField3_ = (bitField3_ & ~0x00800000);
19559  exploitObjective_ = true;
19560  onChanged();
19561  return this;
19562  }
19563 
19564  private long probingPeriodAtRoot_ ;
19575  @java.lang.Override
19576  public boolean hasProbingPeriodAtRoot() {
19577  return ((bitField3_ & 0x01000000) != 0);
19578  }
19589  @java.lang.Override
19590  public long getProbingPeriodAtRoot() {
19591  return probingPeriodAtRoot_;
19592  }
19604  public Builder setProbingPeriodAtRoot(long value) {
19605  bitField3_ |= 0x01000000;
19606  probingPeriodAtRoot_ = value;
19607  onChanged();
19608  return this;
19609  }
19621  bitField3_ = (bitField3_ & ~0x01000000);
19622  probingPeriodAtRoot_ = 0L;
19623  onChanged();
19624  return this;
19625  }
19626 
19627  private boolean useProbingSearch_ ;
19637  @java.lang.Override
19638  public boolean hasUseProbingSearch() {
19639  return ((bitField3_ & 0x02000000) != 0);
19640  }
19650  @java.lang.Override
19651  public boolean getUseProbingSearch() {
19652  return useProbingSearch_;
19653  }
19664  public Builder setUseProbingSearch(boolean value) {
19665  bitField3_ |= 0x02000000;
19666  useProbingSearch_ = value;
19667  onChanged();
19668  return this;
19669  }
19680  bitField3_ = (bitField3_ & ~0x02000000);
19681  useProbingSearch_ = false;
19682  onChanged();
19683  return this;
19684  }
19685 
19686  private long pseudoCostReliabilityThreshold_ = 100L;
19696  @java.lang.Override
19698  return ((bitField3_ & 0x04000000) != 0);
19699  }
19709  @java.lang.Override
19711  return pseudoCostReliabilityThreshold_;
19712  }
19724  bitField3_ |= 0x04000000;
19725  pseudoCostReliabilityThreshold_ = value;
19726  onChanged();
19727  return this;
19728  }
19739  bitField3_ = (bitField3_ & ~0x04000000);
19740  pseudoCostReliabilityThreshold_ = 100L;
19741  onChanged();
19742  return this;
19743  }
19744 
19745  private boolean optimizeWithCore_ ;
19757  @java.lang.Override
19758  public boolean hasOptimizeWithCore() {
19759  return ((bitField3_ & 0x08000000) != 0);
19760  }
19772  @java.lang.Override
19773  public boolean getOptimizeWithCore() {
19774  return optimizeWithCore_;
19775  }
19788  public Builder setOptimizeWithCore(boolean value) {
19789  bitField3_ |= 0x08000000;
19790  optimizeWithCore_ = value;
19791  onChanged();
19792  return this;
19793  }
19806  bitField3_ = (bitField3_ & ~0x08000000);
19807  optimizeWithCore_ = false;
19808  onChanged();
19809  return this;
19810  }
19811 
19812  private int binarySearchNumConflicts_ = -1;
19824  @java.lang.Override
19825  public boolean hasBinarySearchNumConflicts() {
19826  return ((bitField3_ & 0x10000000) != 0);
19827  }
19839  @java.lang.Override
19841  return binarySearchNumConflicts_;
19842  }
19856  bitField3_ |= 0x10000000;
19857  binarySearchNumConflicts_ = value;
19858  onChanged();
19859  return this;
19860  }
19873  bitField3_ = (bitField3_ & ~0x10000000);
19874  binarySearchNumConflicts_ = -1;
19875  onChanged();
19876  return this;
19877  }
19878 
19879  private boolean optimizeWithMaxHs_ ;
19893  @java.lang.Override
19894  public boolean hasOptimizeWithMaxHs() {
19895  return ((bitField3_ & 0x20000000) != 0);
19896  }
19910  @java.lang.Override
19911  public boolean getOptimizeWithMaxHs() {
19912  return optimizeWithMaxHs_;
19913  }
19928  public Builder setOptimizeWithMaxHs(boolean value) {
19929  bitField3_ |= 0x20000000;
19930  optimizeWithMaxHs_ = value;
19931  onChanged();
19932  return this;
19933  }
19948  bitField3_ = (bitField3_ & ~0x20000000);
19949  optimizeWithMaxHs_ = false;
19950  onChanged();
19951  return this;
19952  }
19953 
19954  private boolean enumerateAllSolutions_ ;
19968  @java.lang.Override
19969  public boolean hasEnumerateAllSolutions() {
19970  return ((bitField3_ & 0x40000000) != 0);
19971  }
19985  @java.lang.Override
19986  public boolean getEnumerateAllSolutions() {
19987  return enumerateAllSolutions_;
19988  }
20003  public Builder setEnumerateAllSolutions(boolean value) {
20004  bitField3_ |= 0x40000000;
20005  enumerateAllSolutions_ = value;
20006  onChanged();
20007  return this;
20008  }
20023  bitField3_ = (bitField3_ & ~0x40000000);
20024  enumerateAllSolutions_ = false;
20025  onChanged();
20026  return this;
20027  }
20028 
20029  private boolean keepAllFeasibleSolutionsInPresolve_ ;
20044  @java.lang.Override
20046  return ((bitField3_ & 0x80000000) != 0);
20047  }
20062  @java.lang.Override
20064  return keepAllFeasibleSolutionsInPresolve_;
20065  }
20082  bitField3_ |= 0x80000000;
20083  keepAllFeasibleSolutionsInPresolve_ = value;
20084  onChanged();
20085  return this;
20086  }
20102  bitField3_ = (bitField3_ & ~0x80000000);
20103  keepAllFeasibleSolutionsInPresolve_ = false;
20104  onChanged();
20105  return this;
20106  }
20107 
20108  private boolean fillTightenedDomainsInResponse_ ;
20121  @java.lang.Override
20123  return ((bitField4_ & 0x00000001) != 0);
20124  }
20137  @java.lang.Override
20139  return fillTightenedDomainsInResponse_;
20140  }
20155  bitField4_ |= 0x00000001;
20156  fillTightenedDomainsInResponse_ = value;
20157  onChanged();
20158  return this;
20159  }
20173  bitField4_ = (bitField4_ & ~0x00000001);
20174  fillTightenedDomainsInResponse_ = false;
20175  onChanged();
20176  return this;
20177  }
20178 
20179  private boolean instantiateAllVariables_ = true;
20189  @java.lang.Override
20190  public boolean hasInstantiateAllVariables() {
20191  return ((bitField4_ & 0x00000002) != 0);
20192  }
20202  @java.lang.Override
20203  public boolean getInstantiateAllVariables() {
20204  return instantiateAllVariables_;
20205  }
20216  public Builder setInstantiateAllVariables(boolean value) {
20217  bitField4_ |= 0x00000002;
20218  instantiateAllVariables_ = value;
20219  onChanged();
20220  return this;
20221  }
20232  bitField4_ = (bitField4_ & ~0x00000002);
20233  instantiateAllVariables_ = true;
20234  onChanged();
20235  return this;
20236  }
20237 
20238  private boolean autoDetectGreaterThanAtLeastOneOf_ = true;
20250  @java.lang.Override
20252  return ((bitField4_ & 0x00000004) != 0);
20253  }
20265  @java.lang.Override
20267  return autoDetectGreaterThanAtLeastOneOf_;
20268  }
20282  bitField4_ |= 0x00000004;
20283  autoDetectGreaterThanAtLeastOneOf_ = value;
20284  onChanged();
20285  return this;
20286  }
20299  bitField4_ = (bitField4_ & ~0x00000004);
20300  autoDetectGreaterThanAtLeastOneOf_ = true;
20301  onChanged();
20302  return this;
20303  }
20304 
20305  private boolean stopAfterFirstSolution_ ;
20314  @java.lang.Override
20315  public boolean hasStopAfterFirstSolution() {
20316  return ((bitField4_ & 0x00000008) != 0);
20317  }
20326  @java.lang.Override
20327  public boolean getStopAfterFirstSolution() {
20328  return stopAfterFirstSolution_;
20329  }
20339  public Builder setStopAfterFirstSolution(boolean value) {
20340  bitField4_ |= 0x00000008;
20341  stopAfterFirstSolution_ = value;
20342  onChanged();
20343  return this;
20344  }
20354  bitField4_ = (bitField4_ & ~0x00000008);
20355  stopAfterFirstSolution_ = false;
20356  onChanged();
20357  return this;
20358  }
20359 
20360  private boolean stopAfterPresolve_ ;
20370  @java.lang.Override
20371  public boolean hasStopAfterPresolve() {
20372  return ((bitField4_ & 0x00000010) != 0);
20373  }
20383  @java.lang.Override
20384  public boolean getStopAfterPresolve() {
20385  return stopAfterPresolve_;
20386  }
20397  public Builder setStopAfterPresolve(boolean value) {
20398  bitField4_ |= 0x00000010;
20399  stopAfterPresolve_ = value;
20400  onChanged();
20401  return this;
20402  }
20413  bitField4_ = (bitField4_ & ~0x00000010);
20414  stopAfterPresolve_ = false;
20415  onChanged();
20416  return this;
20417  }
20418 
20419  private int numSearchWorkers_ = 1;
20433  @java.lang.Override
20434  public boolean hasNumSearchWorkers() {
20435  return ((bitField4_ & 0x00000020) != 0);
20436  }
20450  @java.lang.Override
20451  public int getNumSearchWorkers() {
20452  return numSearchWorkers_;
20453  }
20468  public Builder setNumSearchWorkers(int value) {
20469  bitField4_ |= 0x00000020;
20470  numSearchWorkers_ = value;
20471  onChanged();
20472  return this;
20473  }
20488  bitField4_ = (bitField4_ & ~0x00000020);
20489  numSearchWorkers_ = 1;
20490  onChanged();
20491  return this;
20492  }
20493 
20494  private boolean interleaveSearch_ ;
20507  @java.lang.Override
20508  public boolean hasInterleaveSearch() {
20509  return ((bitField4_ & 0x00000040) != 0);
20510  }
20523  @java.lang.Override
20524  public boolean getInterleaveSearch() {
20525  return interleaveSearch_;
20526  }
20540  public Builder setInterleaveSearch(boolean value) {
20541  bitField4_ |= 0x00000040;
20542  interleaveSearch_ = value;
20543  onChanged();
20544  return this;
20545  }
20559  bitField4_ = (bitField4_ & ~0x00000040);
20560  interleaveSearch_ = false;
20561  onChanged();
20562  return this;
20563  }
20564 
20565  private int interleaveBatchSize_ = 1;
20570  @java.lang.Override
20571  public boolean hasInterleaveBatchSize() {
20572  return ((bitField4_ & 0x00000080) != 0);
20573  }
20578  @java.lang.Override
20579  public int getInterleaveBatchSize() {
20580  return interleaveBatchSize_;
20581  }
20587  public Builder setInterleaveBatchSize(int value) {
20588  bitField4_ |= 0x00000080;
20589  interleaveBatchSize_ = value;
20590  onChanged();
20591  return this;
20592  }
20598  bitField4_ = (bitField4_ & ~0x00000080);
20599  interleaveBatchSize_ = 1;
20600  onChanged();
20601  return this;
20602  }
20603 
20604  private boolean reduceMemoryUsageInInterleaveMode_ ;
20613  @java.lang.Override
20615  return ((bitField4_ & 0x00000100) != 0);
20616  }
20625  @java.lang.Override
20627  return reduceMemoryUsageInInterleaveMode_;
20628  }
20639  bitField4_ |= 0x00000100;
20640  reduceMemoryUsageInInterleaveMode_ = value;
20641  onChanged();
20642  return this;
20643  }
20653  bitField4_ = (bitField4_ & ~0x00000100);
20654  reduceMemoryUsageInInterleaveMode_ = false;
20655  onChanged();
20656  return this;
20657  }
20658 
20659  private boolean shareObjectiveBounds_ = true;
20668  @java.lang.Override
20669  public boolean hasShareObjectiveBounds() {
20670  return ((bitField4_ & 0x00000200) != 0);
20671  }
20680  @java.lang.Override
20681  public boolean getShareObjectiveBounds() {
20682  return shareObjectiveBounds_;
20683  }
20693  public Builder setShareObjectiveBounds(boolean value) {
20694  bitField4_ |= 0x00000200;
20695  shareObjectiveBounds_ = value;
20696  onChanged();
20697  return this;
20698  }
20708  bitField4_ = (bitField4_ & ~0x00000200);
20709  shareObjectiveBounds_ = true;
20710  onChanged();
20711  return this;
20712  }
20713 
20714  private boolean shareLevelZeroBounds_ = true;
20723  @java.lang.Override
20724  public boolean hasShareLevelZeroBounds() {
20725  return ((bitField4_ & 0x00000400) != 0);
20726  }
20735  @java.lang.Override
20736  public boolean getShareLevelZeroBounds() {
20737  return shareLevelZeroBounds_;
20738  }
20748  public Builder setShareLevelZeroBounds(boolean value) {
20749  bitField4_ |= 0x00000400;
20750  shareLevelZeroBounds_ = value;
20751  onChanged();
20752  return this;
20753  }
20763  bitField4_ = (bitField4_ & ~0x00000400);
20764  shareLevelZeroBounds_ = true;
20765  onChanged();
20766  return this;
20767  }
20768 
20769  private boolean useLnsOnly_ ;
20778  @java.lang.Override
20779  public boolean hasUseLnsOnly() {
20780  return ((bitField4_ & 0x00000800) != 0);
20781  }
20790  @java.lang.Override
20791  public boolean getUseLnsOnly() {
20792  return useLnsOnly_;
20793  }
20803  public Builder setUseLnsOnly(boolean value) {
20804  bitField4_ |= 0x00000800;
20805  useLnsOnly_ = value;
20806  onChanged();
20807  return this;
20808  }
20818  bitField4_ = (bitField4_ & ~0x00000800);
20819  useLnsOnly_ = false;
20820  onChanged();
20821  return this;
20822  }
20823 
20824  private boolean lnsFocusOnDecisionVariables_ ;
20829  @java.lang.Override
20831  return ((bitField4_ & 0x00001000) != 0);
20832  }
20837  @java.lang.Override
20839  return lnsFocusOnDecisionVariables_;
20840  }
20846  public Builder setLnsFocusOnDecisionVariables(boolean value) {
20847  bitField4_ |= 0x00001000;
20848  lnsFocusOnDecisionVariables_ = value;
20849  onChanged();
20850  return this;
20851  }
20857  bitField4_ = (bitField4_ & ~0x00001000);
20858  lnsFocusOnDecisionVariables_ = false;
20859  onChanged();
20860  return this;
20861  }
20862 
20863  private boolean lnsExpandIntervalsInConstraintGraph_ = true;
20868  @java.lang.Override
20870  return ((bitField4_ & 0x00002000) != 0);
20871  }
20876  @java.lang.Override
20878  return lnsExpandIntervalsInConstraintGraph_;
20879  }
20886  bitField4_ |= 0x00002000;
20887  lnsExpandIntervalsInConstraintGraph_ = value;
20888  onChanged();
20889  return this;
20890  }
20896  bitField4_ = (bitField4_ & ~0x00002000);
20897  lnsExpandIntervalsInConstraintGraph_ = true;
20898  onChanged();
20899  return this;
20900  }
20901 
20902  private boolean useRinsLns_ = true;
20911  @java.lang.Override
20912  public boolean hasUseRinsLns() {
20913  return ((bitField4_ & 0x00004000) != 0);
20914  }
20923  @java.lang.Override
20924  public boolean getUseRinsLns() {
20925  return useRinsLns_;
20926  }
20936  public Builder setUseRinsLns(boolean value) {
20937  bitField4_ |= 0x00004000;
20938  useRinsLns_ = value;
20939  onChanged();
20940  return this;
20941  }
20951  bitField4_ = (bitField4_ & ~0x00004000);
20952  useRinsLns_ = true;
20953  onChanged();
20954  return this;
20955  }
20956 
20957  private boolean useFeasibilityPump_ = true;
20966  @java.lang.Override
20967  public boolean hasUseFeasibilityPump() {
20968  return ((bitField4_ & 0x00008000) != 0);
20969  }
20978  @java.lang.Override
20979  public boolean getUseFeasibilityPump() {
20980  return useFeasibilityPump_;
20981  }
20991  public Builder setUseFeasibilityPump(boolean value) {
20992  bitField4_ |= 0x00008000;
20993  useFeasibilityPump_ = value;
20994  onChanged();
20995  return this;
20996  }
21006  bitField4_ = (bitField4_ & ~0x00008000);
21007  useFeasibilityPump_ = true;
21008  onChanged();
21009  return this;
21010  }
21011 
21012  private int fpRounding_ = 2;
21017  @java.lang.Override public boolean hasFpRounding() {
21018  return ((bitField4_ & 0x00010000) != 0);
21019  }
21024  @java.lang.Override
21025  public com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding() {
21026  @SuppressWarnings("deprecation")
21027  com.google.ortools.sat.SatParameters.FPRoundingMethod result = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(fpRounding_);
21028  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
21029  }
21035  public Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value) {
21036  if (value == null) {
21037  throw new NullPointerException();
21038  }
21039  bitField4_ |= 0x00010000;
21040  fpRounding_ = value.getNumber();
21041  onChanged();
21042  return this;
21043  }
21049  bitField4_ = (bitField4_ & ~0x00010000);
21050  fpRounding_ = 2;
21051  onChanged();
21052  return this;
21053  }
21054 
21055  private boolean useRelaxationLns_ ;
21065  @java.lang.Override
21066  public boolean hasUseRelaxationLns() {
21067  return ((bitField4_ & 0x00020000) != 0);
21068  }
21078  @java.lang.Override
21079  public boolean getUseRelaxationLns() {
21080  return useRelaxationLns_;
21081  }
21092  public Builder setUseRelaxationLns(boolean value) {
21093  bitField4_ |= 0x00020000;
21094  useRelaxationLns_ = value;
21095  onChanged();
21096  return this;
21097  }
21108  bitField4_ = (bitField4_ & ~0x00020000);
21109  useRelaxationLns_ = false;
21110  onChanged();
21111  return this;
21112  }
21113 
21114  private boolean diversifyLnsParams_ ;
21123  @java.lang.Override
21124  public boolean hasDiversifyLnsParams() {
21125  return ((bitField4_ & 0x00040000) != 0);
21126  }
21135  @java.lang.Override
21136  public boolean getDiversifyLnsParams() {
21137  return diversifyLnsParams_;
21138  }
21148  public Builder setDiversifyLnsParams(boolean value) {
21149  bitField4_ |= 0x00040000;
21150  diversifyLnsParams_ = value;
21151  onChanged();
21152  return this;
21153  }
21163  bitField4_ = (bitField4_ & ~0x00040000);
21164  diversifyLnsParams_ = false;
21165  onChanged();
21166  return this;
21167  }
21168 
21169  private boolean randomizeSearch_ ;
21178  @java.lang.Override
21179  public boolean hasRandomizeSearch() {
21180  return ((bitField4_ & 0x00080000) != 0);
21181  }
21190  @java.lang.Override
21191  public boolean getRandomizeSearch() {
21192  return randomizeSearch_;
21193  }
21203  public Builder setRandomizeSearch(boolean value) {
21204  bitField4_ |= 0x00080000;
21205  randomizeSearch_ = value;
21206  onChanged();
21207  return this;
21208  }
21218  bitField4_ = (bitField4_ & ~0x00080000);
21219  randomizeSearch_ = false;
21220  onChanged();
21221  return this;
21222  }
21223 
21224  private long searchRandomizationTolerance_ ;
21239  @java.lang.Override
21241  return ((bitField4_ & 0x00100000) != 0);
21242  }
21257  @java.lang.Override
21259  return searchRandomizationTolerance_;
21260  }
21277  bitField4_ |= 0x00100000;
21278  searchRandomizationTolerance_ = value;
21279  onChanged();
21280  return this;
21281  }
21297  bitField4_ = (bitField4_ & ~0x00100000);
21298  searchRandomizationTolerance_ = 0L;
21299  onChanged();
21300  return this;
21301  }
21302 
21303  private boolean useOptionalVariables_ = true;
21314  @java.lang.Override
21315  public boolean hasUseOptionalVariables() {
21316  return ((bitField4_ & 0x00200000) != 0);
21317  }
21328  @java.lang.Override
21329  public boolean getUseOptionalVariables() {
21330  return useOptionalVariables_;
21331  }
21343  public Builder setUseOptionalVariables(boolean value) {
21344  bitField4_ |= 0x00200000;
21345  useOptionalVariables_ = value;
21346  onChanged();
21347  return this;
21348  }
21360  bitField4_ = (bitField4_ & ~0x00200000);
21361  useOptionalVariables_ = true;
21362  onChanged();
21363  return this;
21364  }
21365 
21366  private boolean useExactLpReason_ = true;
21378  @java.lang.Override
21379  public boolean hasUseExactLpReason() {
21380  return ((bitField4_ & 0x00400000) != 0);
21381  }
21393  @java.lang.Override
21394  public boolean getUseExactLpReason() {
21395  return useExactLpReason_;
21396  }
21409  public Builder setUseExactLpReason(boolean value) {
21410  bitField4_ |= 0x00400000;
21411  useExactLpReason_ = value;
21412  onChanged();
21413  return this;
21414  }
21427  bitField4_ = (bitField4_ & ~0x00400000);
21428  useExactLpReason_ = true;
21429  onChanged();
21430  return this;
21431  }
21432 
21433  private boolean useBranchingInLp_ ;
21444  @java.lang.Override
21445  public boolean hasUseBranchingInLp() {
21446  return ((bitField4_ & 0x00800000) != 0);
21447  }
21458  @java.lang.Override
21459  public boolean getUseBranchingInLp() {
21460  return useBranchingInLp_;
21461  }
21473  public Builder setUseBranchingInLp(boolean value) {
21474  bitField4_ |= 0x00800000;
21475  useBranchingInLp_ = value;
21476  onChanged();
21477  return this;
21478  }
21490  bitField4_ = (bitField4_ & ~0x00800000);
21491  useBranchingInLp_ = false;
21492  onChanged();
21493  return this;
21494  }
21495 
21496  private boolean useCombinedNoOverlap_ ;
21507  @java.lang.Override
21508  public boolean hasUseCombinedNoOverlap() {
21509  return ((bitField4_ & 0x01000000) != 0);
21510  }
21521  @java.lang.Override
21522  public boolean getUseCombinedNoOverlap() {
21523  return useCombinedNoOverlap_;
21524  }
21536  public Builder setUseCombinedNoOverlap(boolean value) {
21537  bitField4_ |= 0x01000000;
21538  useCombinedNoOverlap_ = value;
21539  onChanged();
21540  return this;
21541  }
21553  bitField4_ = (bitField4_ & ~0x01000000);
21554  useCombinedNoOverlap_ = false;
21555  onChanged();
21556  return this;
21557  }
21558 
21559  private boolean catchSigintSignal_ = true;
21570  @java.lang.Override
21571  public boolean hasCatchSigintSignal() {
21572  return ((bitField4_ & 0x02000000) != 0);
21573  }
21584  @java.lang.Override
21585  public boolean getCatchSigintSignal() {
21586  return catchSigintSignal_;
21587  }
21599  public Builder setCatchSigintSignal(boolean value) {
21600  bitField4_ |= 0x02000000;
21601  catchSigintSignal_ = value;
21602  onChanged();
21603  return this;
21604  }
21616  bitField4_ = (bitField4_ & ~0x02000000);
21617  catchSigintSignal_ = true;
21618  onChanged();
21619  return this;
21620  }
21621 
21622  private boolean useImpliedBounds_ = true;
21633  @java.lang.Override
21634  public boolean hasUseImpliedBounds() {
21635  return ((bitField4_ & 0x04000000) != 0);
21636  }
21647  @java.lang.Override
21648  public boolean getUseImpliedBounds() {
21649  return useImpliedBounds_;
21650  }
21662  public Builder setUseImpliedBounds(boolean value) {
21663  bitField4_ |= 0x04000000;
21664  useImpliedBounds_ = value;
21665  onChanged();
21666  return this;
21667  }
21679  bitField4_ = (bitField4_ & ~0x04000000);
21680  useImpliedBounds_ = true;
21681  onChanged();
21682  return this;
21683  }
21684 
21685  private boolean polishLpSolution_ ;
21697  @java.lang.Override
21698  public boolean hasPolishLpSolution() {
21699  return ((bitField4_ & 0x08000000) != 0);
21700  }
21712  @java.lang.Override
21713  public boolean getPolishLpSolution() {
21714  return polishLpSolution_;
21715  }
21728  public Builder setPolishLpSolution(boolean value) {
21729  bitField4_ |= 0x08000000;
21730  polishLpSolution_ = value;
21731  onChanged();
21732  return this;
21733  }
21746  bitField4_ = (bitField4_ & ~0x08000000);
21747  polishLpSolution_ = false;
21748  onChanged();
21749  return this;
21750  }
21751 
21752  private boolean convertIntervals_ ;
21763  @java.lang.Override
21764  public boolean hasConvertIntervals() {
21765  return ((bitField4_ & 0x10000000) != 0);
21766  }
21777  @java.lang.Override
21778  public boolean getConvertIntervals() {
21779  return convertIntervals_;
21780  }
21792  public Builder setConvertIntervals(boolean value) {
21793  bitField4_ |= 0x10000000;
21794  convertIntervals_ = value;
21795  onChanged();
21796  return this;
21797  }
21809  bitField4_ = (bitField4_ & ~0x10000000);
21810  convertIntervals_ = false;
21811  onChanged();
21812  return this;
21813  }
21814 
21815  private int symmetryLevel_ = 2;
21827  @java.lang.Override
21828  public boolean hasSymmetryLevel() {
21829  return ((bitField4_ & 0x20000000) != 0);
21830  }
21842  @java.lang.Override
21843  public int getSymmetryLevel() {
21844  return symmetryLevel_;
21845  }
21858  public Builder setSymmetryLevel(int value) {
21859  bitField4_ |= 0x20000000;
21860  symmetryLevel_ = value;
21861  onChanged();
21862  return this;
21863  }
21876  bitField4_ = (bitField4_ & ~0x20000000);
21877  symmetryLevel_ = 2;
21878  onChanged();
21879  return this;
21880  }
21881 
21882  private double mipMaxBound_ = 10000000D;
21893  @java.lang.Override
21894  public boolean hasMipMaxBound() {
21895  return ((bitField4_ & 0x40000000) != 0);
21896  }
21907  @java.lang.Override
21908  public double getMipMaxBound() {
21909  return mipMaxBound_;
21910  }
21922  public Builder setMipMaxBound(double value) {
21923  bitField4_ |= 0x40000000;
21924  mipMaxBound_ = value;
21925  onChanged();
21926  return this;
21927  }
21939  bitField4_ = (bitField4_ & ~0x40000000);
21940  mipMaxBound_ = 10000000D;
21941  onChanged();
21942  return this;
21943  }
21944 
21945  private double mipVarScaling_ = 1D;
21956  @java.lang.Override
21957  public boolean hasMipVarScaling() {
21958  return ((bitField4_ & 0x80000000) != 0);
21959  }
21970  @java.lang.Override
21971  public double getMipVarScaling() {
21972  return mipVarScaling_;
21973  }
21985  public Builder setMipVarScaling(double value) {
21986  bitField4_ |= 0x80000000;
21987  mipVarScaling_ = value;
21988  onChanged();
21989  return this;
21990  }
22002  bitField4_ = (bitField4_ & ~0x80000000);
22003  mipVarScaling_ = 1D;
22004  onChanged();
22005  return this;
22006  }
22007 
22008  private boolean mipAutomaticallyScaleVariables_ = true;
22021  @java.lang.Override
22023  return ((bitField5_ & 0x00000001) != 0);
22024  }
22037  @java.lang.Override
22039  return mipAutomaticallyScaleVariables_;
22040  }
22055  bitField5_ |= 0x00000001;
22056  mipAutomaticallyScaleVariables_ = value;
22057  onChanged();
22058  return this;
22059  }
22073  bitField5_ = (bitField5_ & ~0x00000001);
22074  mipAutomaticallyScaleVariables_ = true;
22075  onChanged();
22076  return this;
22077  }
22078 
22079  private double mipWantedPrecision_ = 1e-06D;
22097  @java.lang.Override
22098  public boolean hasMipWantedPrecision() {
22099  return ((bitField5_ & 0x00000002) != 0);
22100  }
22118  @java.lang.Override
22119  public double getMipWantedPrecision() {
22120  return mipWantedPrecision_;
22121  }
22140  public Builder setMipWantedPrecision(double value) {
22141  bitField5_ |= 0x00000002;
22142  mipWantedPrecision_ = value;
22143  onChanged();
22144  return this;
22145  }
22164  bitField5_ = (bitField5_ & ~0x00000002);
22165  mipWantedPrecision_ = 1e-06D;
22166  onChanged();
22167  return this;
22168  }
22169 
22170  private int mipMaxActivityExponent_ = 53;
22185  @java.lang.Override
22186  public boolean hasMipMaxActivityExponent() {
22187  return ((bitField5_ & 0x00000004) != 0);
22188  }
22203  @java.lang.Override
22205  return mipMaxActivityExponent_;
22206  }
22223  bitField5_ |= 0x00000004;
22224  mipMaxActivityExponent_ = value;
22225  onChanged();
22226  return this;
22227  }
22243  bitField5_ = (bitField5_ & ~0x00000004);
22244  mipMaxActivityExponent_ = 53;
22245  onChanged();
22246  return this;
22247  }
22248 
22249  private double mipCheckPrecision_ = 0.0001D;
22260  @java.lang.Override
22261  public boolean hasMipCheckPrecision() {
22262  return ((bitField5_ & 0x00000008) != 0);
22263  }
22274  @java.lang.Override
22275  public double getMipCheckPrecision() {
22276  return mipCheckPrecision_;
22277  }
22289  public Builder setMipCheckPrecision(double value) {
22290  bitField5_ |= 0x00000008;
22291  mipCheckPrecision_ = value;
22292  onChanged();
22293  return this;
22294  }
22306  bitField5_ = (bitField5_ & ~0x00000008);
22307  mipCheckPrecision_ = 0.0001D;
22308  onChanged();
22309  return this;
22310  }
22311  @java.lang.Override
22313  final com.google.protobuf.UnknownFieldSet unknownFields) {
22314  return super.setUnknownFields(unknownFields);
22315  }
22316 
22317  @java.lang.Override
22319  final com.google.protobuf.UnknownFieldSet unknownFields) {
22320  return super.mergeUnknownFields(unknownFields);
22321  }
22322 
22323 
22324  // @@protoc_insertion_point(builder_scope:operations_research.sat.SatParameters)
22325  }
22326 
22327  // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
22328  private static final com.google.ortools.sat.SatParameters DEFAULT_INSTANCE;
22329  static {
22330  DEFAULT_INSTANCE = new com.google.ortools.sat.SatParameters();
22331  }
22332 
22333  public static com.google.ortools.sat.SatParameters getDefaultInstance() {
22334  return DEFAULT_INSTANCE;
22335  }
22336 
22337  @java.lang.Deprecated public static final com.google.protobuf.Parser<SatParameters>
22338  PARSER = new com.google.protobuf.AbstractParser<SatParameters>() {
22339  @java.lang.Override
22340  public SatParameters parsePartialFrom(
22341  com.google.protobuf.CodedInputStream input,
22342  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
22343  throws com.google.protobuf.InvalidProtocolBufferException {
22344  return new SatParameters(input, extensionRegistry);
22345  }
22346  };
22347 
22348  public static com.google.protobuf.Parser<SatParameters> parser() {
22349  return PARSER;
22350  }
22351 
22352  @java.lang.Override
22353  public com.google.protobuf.Parser<SatParameters> getParserForType() {
22354  return PARSER;
22355  }
22356 
22357  @java.lang.Override
22358  public com.google.ortools.sat.SatParameters getDefaultInstanceForType() {
22359  return DEFAULT_INSTANCE;
22360  }
22361 
22362 }
22363 
Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value)
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder setSubsumptionDuringConflictAnalysis(boolean value)
Builder setRelativeGapLimit(double value)
optional double relative_gap_limit = 160 [default = 0];
Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value)
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean getCountAssumptionLevelsInLbd()
Builder setRestartLbdAverageRatio(double value)
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
.lang.Override boolean hasExpandAlldiffConstraints()
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
Builder setBlockingRestartMultiplier(double value)
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder setLnsFocusOnDecisionVariables(boolean value)
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasExpandElementConstraints()
Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value)
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder addAllRestartAlgorithms(java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm > values)
.lang.Override com.google.ortools.sat.SatParameters buildPartial()
Builder clearPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
Builder setRestartAlgorithms(int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value)
.lang.Override boolean hasSearchRandomizationTolerance()
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasMaxConsecutiveInactiveCount()
.lang.Override boolean hasExpandAutomatonConstraints()
Builder clearUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean getMinimizeReductionDuringPbResolution()
.lang.Override double getStrategyChangeIncreaseRatio()
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean getDisableConstraintExpansion()
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
Builder setGlucoseDecayIncrement(double value)
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
Builder setUseTimetableEdgeFindingInCumulativeConstraint(boolean value)
Builder setLnsExpandIntervalsInConstraintGraph(boolean value)
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasMaxIntegerRoundingScaling()
Builder clearSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
Builder clearBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
Builder setName(java.lang.String value)
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
Builder clearLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
Builder setPermutePresolveConstraintOrder(boolean value)
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
.lang.Override boolean getLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
Builder setMinimizeWithPropagationNumDecisions(int value)
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setMergeAtMostOneWorkLimit(double value)
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setNameBytes(com.google.protobuf.ByteString value)
.lang.Override boolean getExpandAlldiffConstraints()
Builder clearMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasExploitIntegerLpSolution()
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
com.google.protobuf.ByteString getLogPrefixBytes()
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasExploitRelaxationSolution()
Builder setAutoDetectGreaterThanAtLeastOneOf(boolean value)
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
Builder clearMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setInterleaveBatchSize(int value)
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasPolarityRephaseIncrement()
Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value)
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean hasBinarySearchNumConflicts()
.lang.Override boolean getExpandAutomatonConstraints()
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
Builder setPbCleanupRatio(double value)
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getExpandReservoirConstraints()
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder setUseSatInprocessing(boolean value)
optional bool use_sat_inprocessing = 163 [default = false];
Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value)
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder setBlockingRestartWindowSize(int value)
optional int32 blocking_restart_window_size = 65 [default = 5000];
com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder clearClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder clearLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder mergeFrom(com.google.ortools.sat.SatParameters other)
Builder setUseOverloadCheckerInCumulativeConstraint(boolean value)
.lang.Override boolean hasPseudoCostReliabilityThreshold()
java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasInitialVariablesActivity()
Builder clearMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder setUseDisjunctiveConstraintInCumulativeConstraint(boolean value)
.lang.Override boolean getCpModelPostsolveWithFullSolver()
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getMipAutomaticallyScaleVariables()
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
.lang.Override boolean getExpandElementConstraints()
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
Builder clearMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasCountAssumptionLevelsInLbd()
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder clearFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder setGlucoseDecayIncrementPeriod(int value)
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override final boolean isInitialized()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
Builder clearGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder setMinimizeReductionDuringPbResolution(boolean value)
.lang.Override double getPresolveProbingDeterministicTimeLimit()
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
Builder setDefaultRestartAlgorithmsBytes(com.google.protobuf.ByteString value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder clearPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasDisableConstraintExpansion()
Builder clearMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder clearGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
Builder setUseAbslRandom(boolean value)
optional bool use_absl_random = 180 [default = false];
Builder setUsePrecedencesInDisjunctiveConstraint(boolean value)
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getPresolveExtractIntegerEnforcement()
Builder setMaxClauseActivityValue(double value)
optional double max_clause_activity_value = 18 [default = 1e+20];
Builder setFillTightenedDomainsInResponse(boolean value)
Builder clearClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder setPresolveProbingDeterministicTimeLimit(double value)
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
Builder clearRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override boolean hasPresolveSubstitutionLevel()
Builder clearBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
Builder clearDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder clearUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override double getMinOrthogonalityForLpConstraints()
.lang.Override boolean hasRestartRunningWindowSize()
.lang.Override boolean hasExpandReservoirConstraints()
.lang.Override boolean hasStrategyChangeIncreaseRatio()
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override boolean getFillTightenedDomainsInResponse()
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setKeepAllFeasibleSolutionsInPresolve(boolean value)
Builder clearInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder setLogPrefix(java.lang.String value)
Builder setCpModelPostsolveWithFullSolver(boolean value)
Builder clearPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setMaxVariableActivityValue(double value)
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override com.google.ortools.sat.SatParameters build()
Builder clearMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value)
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value)
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value)
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder setDefaultRestartAlgorithms(java.lang.String value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value)
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value)
Builder setCutActiveCountDecay(double value)
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override int getMinimizeWithPropagationRestartPeriod()
boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder setLogPrefixBytes(com.google.protobuf.ByteString value)
Builder clearRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value)
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder setReduceMemoryUsageInInterleaveMode(boolean value)
com.google.protobuf.ByteString getNameBytes()
.lang.Override boolean getMaxSatReverseAssumptionOrder()
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder clearMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
Builder setMipAutomaticallyScaleVariables(boolean value)
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
Builder setAlsoBumpVariablesInConflictReasons(boolean value)
.lang.Override boolean hasMipAutomaticallyScaleVariables()
Builder setPresolveExtractIntegerEnforcement(boolean value)
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder clearBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER
static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER
static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER
.lang.Override int getNumConflictsBeforeStrategyChanges()
.lang.Override boolean hasExploitAllLpSolution()
.lang.Override boolean getCountAssumptionLevelsInLbd()
static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER
.lang.Override boolean hasMipCheckPrecision()
static final int USE_TIMETABLE_EDGE_FINDING_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER
.lang.Override boolean hasRepairHint()
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override boolean getAddCliqueCuts()
static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasCatchSigintSignal()
static final int LNS_EXPAND_INTERVALS_IN_CONSTRAINT_GRAPH_FIELD_NUMBER
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
.lang.Override boolean hasUseProbingSearch()
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean hasRandomPolarityRatio()
static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER
static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER
.lang.Override boolean getPresolveUseBva()
static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER
.lang.Override boolean hasExpandAlldiffConstraints()
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER
.lang.Override boolean hasExpandElementConstraints()
static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasPresolveBveClauseWeight()
.lang.Override boolean hasPresolveBlockedClause()
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasSearchRandomizationTolerance()
.lang.Override boolean hasAddLpConstraintsLazily()
.lang.Override boolean hasMipVarScaling()
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasMaxConsecutiveInactiveCount()
.lang.Override boolean hasExpandAutomatonConstraints()
.lang.Override boolean hasMaxDeterministicTime()
.lang.Override boolean hasFindMultipleCores()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasUseCombinedNoOverlap()
.lang.Override boolean hasRandomSeed()
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean getMinimizeReductionDuringPbResolution()
.lang.Override int getCpModelProbingLevel()
.lang.Override double getRandomPolarityRatio()
.lang.Override double getStrategyChangeIncreaseRatio()
.lang.Override boolean hasCoverOptimization()
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean getDisableConstraintExpansion()
.lang.Override boolean getUseRelaxationLns()
static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER
.lang.Override boolean hasUseLnsOnly()
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override boolean hasRestartPeriod()
.lang.Override boolean hasExploitObjective()
.lang.Override boolean hasPermuteVariableRandomly()
.lang.Override com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean hasInstantiateAllVariables()
static final int MINIMIZE_WITH_PROPAGATION_RESTART_PERIOD_FIELD_NUMBER
.lang.Override boolean hasUseFeasibilityPump()
static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER
.lang.Override int getMipMaxActivityExponent()
.lang.Override boolean getEnumerateAllSolutions()
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override int getRestartAlgorithmsCount()
.lang.Override boolean hasCutCleanupTarget()
.lang.Override boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override int getMaxPresolveIterations()
.lang.Override boolean hasRandomizeSearch()
.lang.Override boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasExploitBestSolution()
static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
.lang.Override int getLinearizationLevel()
static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER
static final int SUBSUMPTION_DURING_CONFLICT_ANALYSIS_FIELD_NUMBER
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasMaxIntegerRoundingScaling()
.lang.Override java.lang.String getLogPrefix()
.lang.Override boolean getUseRinsLns()
.lang.Override boolean hasClauseActivityDecay()
static final int MIP_WANTED_PRECISION_FIELD_NUMBER
.lang.Override boolean hasMipMaxActivityExponent()
.lang.Override boolean hasShareObjectiveBounds()
.lang.Override boolean getCpModelUseSatPresolve()
.lang.Override boolean hasLogPrefix()
.lang.Override boolean hasSymmetryLevel()
.lang.Override double getMipWantedPrecision()
.lang.Override boolean hasMaxPresolveIterations()
.lang.Override boolean hasMaxNumberOfConflicts()
.lang.Override boolean hasClauseCleanupTarget()
.lang.Override boolean hasAddMirCuts()
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
static final int ALSO_BUMP_VARIABLES_IN_CONFLICT_REASONS_FIELD_NUMBER
static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean getMinimizeCore()
.lang.Override double getMergeNoOverlapWorkLimit()
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER
.lang.Override boolean hasConvertIntervals()
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasMergeNoOverlapWorkLimit()
.lang.Override boolean getLogSearchProgress()
static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override int getNewConstraintsBatchSize()
static Builder newBuilder(com.google.ortools.sat.SatParameters prototype)
.lang.Override boolean hasLogToStdout()
.lang.Override boolean getLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override boolean hasPbCleanupIncrement()
.lang.Override boolean hasOptimizeWithMaxHs()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input)
.lang.Override boolean hasVariableActivityDecay()
static final int AUTO_DETECT_GREATER_THAN_AT_LEAST_ONE_OF_FIELD_NUMBER
.lang.Override boolean hasMipWantedPrecision()
.lang.Override boolean hasClauseCleanupLbdBound()
static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean getLogToResponse()
.lang.Override boolean getInstantiateAllVariables()
.lang.Override boolean getUseProbingSearch()
.lang.Override double getMaxDeterministicTime()
.lang.Override boolean getExpandAlldiffConstraints()
.lang.Override boolean hasExploitIntegerLpSolution()
static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER
.lang.Override boolean getShareLevelZeroBounds()
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER
.lang.Override boolean getOptimizeWithCore()
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasClauseCleanupPeriod()
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
.lang.Override boolean hasAddZeroHalfCuts()
static com.google.ortools.sat.SatParameters getDefaultInstance()
static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasExploitRelaxationSolution()
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
static final int USE_DISJUNCTIVE_CONSTRAINT_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override java.lang.String getName()
static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER
.lang.Override boolean getShareObjectiveBounds()
static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER
.lang.Override boolean hasUsePbResolution()
static final int NUM_CONFLICTS_BEFORE_STRATEGY_CHANGES_FIELD_NUMBER
static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER
.lang.Override boolean hasUseOptionalVariables()
static final int PRESOLVE_PROBING_DETERMINISTIC_TIME_LIMIT_FIELD_NUMBER
static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasAddCliqueCuts()
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasPolarityRephaseIncrement()
.lang.Override boolean hasUseErwaHeuristic()
static final int PRESOLVE_EXTRACT_INTEGER_ENFORCEMENT_FIELD_NUMBER
static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER
.lang.Override int getPolarityRephaseIncrement()
.lang.Override boolean hasNewConstraintsBatchSize()
static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER
static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER
.lang.Override boolean getInterleaveSearch()
.lang.Override boolean hasOnlyAddCutsAtLevelZero()
.lang.Override double getRandomBranchesRatio()
.lang.Override boolean hasBinarySearchNumConflicts()
.lang.Override boolean getExpandAutomatonConstraints()
.lang.Override boolean hasShareLevelZeroBounds()
static final int MIN_ORTHOGONALITY_FOR_LP_CONSTRAINTS_FIELD_NUMBER
static final int PERMUTE_PRESOLVE_CONSTRAINT_ORDER_FIELD_NUMBER
.lang.Override boolean getOnlyAddCutsAtLevelZero()
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean getRepairHint()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
static final int USE_SAT_INPROCESSING_FIELD_NUMBER
.lang.Override boolean getExpandReservoirConstraints()
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override double getCutMaxActiveCountValue()
.lang.Override double getRestartDlAverageRatio()
static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER
static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER
.lang.Override int getRestartRunningWindowSize()
.lang.Override boolean hasMaxAllDiffCutSize()
.lang.Override boolean hasMaxNumCuts()
static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER
.lang.Override boolean hasUsePhaseSaving()
static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER
.lang.Override boolean hasOptimizeWithCore()
.lang.Override boolean getExploitAllLpSolution()
.lang.Override boolean hasAddCgCuts()
.lang.Override long getPseudoCostReliabilityThreshold()
static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER
.lang.Override boolean getPermuteVariableRandomly()
.lang.Override double getMaxTimeInSeconds()
.lang.Override int getPresolveSubstitutionLevel()
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override com.google.protobuf.Parser< SatParameters > getParserForType()
.lang.Override boolean hasPseudoCostReliabilityThreshold()
.lang.Override boolean getAddKnapsackCuts()
.lang.Override boolean hasCpModelProbingLevel()
.lang.Override boolean hasMaxMemoryInMb()
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean getOptimizeWithMaxHs()
static final int USE_PRECEDENCES_IN_DISJUNCTIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override Builder newBuilderForType()
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER
.lang.Override int getClauseCleanupTarget()
static final int CP_MODEL_POSTSOLVE_WITH_FULL_SOLVER_FIELD_NUMBER
.lang.Override boolean hasInitialVariablesActivity()
.lang.Override boolean hasMinimizeCore()
.lang.Override boolean hasEnumerateAllSolutions()
.lang.Override double getClauseActivityDecay()
static com.google.protobuf.Parser< SatParameters > parser()
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER
static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER
static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER
.lang.Override boolean getCpModelPostsolveWithFullSolver()
static final int KEEP_ALL_FEASIBLE_SOLUTIONS_IN_PRESOLVE_FIELD_NUMBER
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getUseBranchingInLp()
.lang.Override boolean getMipAutomaticallyScaleVariables()
.lang.Override java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER
static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER
.lang.Override int getMaxConsecutiveInactiveCount()
.lang.Override boolean getExpandElementConstraints()
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override double getMipVarScaling()
static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER
.lang.Override int getBooleanEncodingLevel()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean getPolishLpSolution()
.lang.Override boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER
.lang.Override boolean hasAbsoluteGapLimit()
.lang.Override int getCpModelMaxNumPresolveOperations()
.lang.Override long getProbingPeriodAtRoot()
.lang.Override boolean hasUseExactLpReason()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasCountAssumptionLevelsInLbd()
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
static final int CP_MODEL_MAX_NUM_PRESOLVE_OPERATIONS_FIELD_NUMBER
.lang.Override final boolean isInitialized()
.lang.Override boolean hasInterleaveSearch()
.lang.Override boolean getStopAfterFirstSolution()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override double getPresolveProbingDeterministicTimeLimit()
.lang.Override double getInitialVariablesActivity()
static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
.lang.Override boolean getCatchSigintSignal()
.lang.Override boolean hasBooleanEncodingLevel()
.lang.Override boolean hasMaxTimeInSeconds()
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean hasHintConflictLimit()
.lang.Override int getPresolveBvaThreshold()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER
static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getExpandTableConstraints()
.lang.Override int getPresolveBveClauseWeight()
.lang.Override boolean getLogToStdout()
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override double getMipCheckPrecision()
.lang.Override boolean hasPresolveUseBva()
.lang.Override boolean getUseOptimizationHints()
.lang.Override int getClauseCleanupPeriod()
.lang.Override long getSearchRandomizationTolerance()
.lang.Override boolean hasDisableConstraintExpansion()
.lang.Override boolean hasMaxCutRoundsAtLevelZero()
.lang.Override boolean hasGlucoseMaxDecay()
.lang.Override boolean hasLogToResponse()
.lang.Override boolean hasUseImpliedBounds()
.lang.Override boolean hasCutMaxActiveCountValue()
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
static final int FILL_TIGHTENED_DOMAINS_IN_RESPONSE_FIELD_NUMBER
static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasAddKnapsackCuts()
.lang.Override boolean hasUseRelaxationLns()
static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER
.lang.Override boolean getUseCombinedNoOverlap()
.lang.Deprecated static final com.google.protobuf.Parser< SatParameters > PARSER
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getPresolveExtractIntegerEnforcement()
static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data)
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Override double getGlucoseMaxDecay()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
.lang.Override boolean hasProbingPeriodAtRoot()
.lang.Override boolean hasCpModelUseSatPresolve()
.lang.Override boolean getConvertIntervals()
.lang.Override boolean hasRestartDlAverageRatio()
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasLinearizationLevel()
static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER
static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override boolean hasPresolveSubstitutionLevel()
.lang.Override boolean getAddCgCuts()
.lang.Override boolean hasPresolveBvaThreshold()
.lang.Override boolean getExploitBestSolution()
static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER
.lang.Override com.google.protobuf.ByteString getNameBytes()
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override double getMinOrthogonalityForLpConstraints()
.lang.Override boolean hasRestartRunningWindowSize()
.lang.Override boolean hasExpandReservoirConstraints()
static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER
.lang.Override boolean hasStrategyChangeIncreaseRatio()
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean getDiversifyLnsParams()
.lang.Override boolean hasMipMaxBound()
static final int USE_BLOCKING_RESTART_FIELD_NUMBER
static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override boolean getFillTightenedDomainsInResponse()
static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasUseRinsLns()
.lang.Override boolean getExploitObjective()
static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
.lang.Override boolean hasUseBlockingRestart()
static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean hasStopAfterFirstSolution()
static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER
static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER
static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER
.lang.Override boolean hasPresolveBveThreshold()
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER
.lang.Override boolean getCpModelPresolve()
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getCoverOptimization()
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Override double getAbsoluteGapLimit()
.lang.Override boolean equals(final java.lang.Object obj)
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override int getPresolveBveThreshold()
.lang.Override boolean getUseImpliedBounds()
static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER
.lang.Override double getVariableActivityDecay()
.lang.Override boolean getUseLnsOnly()
.lang.Override int getPbCleanupIncrement()
.lang.Override boolean getPresolveBlockedClause()
static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
.lang.Override boolean hasStopAfterPresolve()
.lang.Override boolean hasDiversifyLnsParams()
.lang.Override int getClauseCleanupLbdBound()
static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER
.lang.Override boolean hasLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override int getMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasCpModelPresolve()
.lang.Override boolean getFindMultipleCores()
.lang.Override int getMaxIntegerRoundingScaling()
.lang.Override boolean hasRandomBranchesRatio()
static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER
.lang.Override boolean hasPolishLpSolution()
.lang.Override com.google.protobuf.ByteString getLogPrefixBytes()
.lang.Override boolean getUsePhaseSaving()
static final int MINIMIZE_WITH_PROPAGATION_NUM_DECISIONS_FIELD_NUMBER
.lang.Override boolean getAddLinMaxCuts()
static final int REDUCE_MEMORY_USAGE_IN_INTERLEAVE_MODE_FIELD_NUMBER
.lang.Override boolean getAddMirCuts()
.lang.Override boolean getMaxSatReverseAssumptionOrder()
.lang.Override long getMaxNumberOfConflicts()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean hasExpandTableConstraints()
.lang.Override boolean getUseOptionalVariables()
.lang.Override boolean getUsePbResolution()
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER
.lang.Override boolean getAddZeroHalfCuts()
.lang.Override boolean getAddLpConstraintsLazily()
.lang.Override boolean getUseErwaHeuristic()
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean hasUseOptimizationHints()
static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER
.lang.Override boolean hasMipAutomaticallyScaleVariables()
.lang.Override boolean hasLogSearchProgress()
.lang.Override boolean hasUseBranchingInLp()
.lang.Override boolean getRandomizeSearch()
.lang.Override boolean hasNumSearchWorkers()
.lang.Override boolean hasAddLinMaxCuts()
.lang.Override boolean getUseFeasibilityPump()
.lang.Override double getMipMaxBound()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data)
static final int MINIMIZE_REDUCTION_DURING_PB_RESOLUTION_FIELD_NUMBER
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER
static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER
.lang.Override boolean getUseBlockingRestart()
.lang.Override int getBinarySearchNumConflicts()
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean getUseExactLpReason()
static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER
.lang.Override int getMaxCutRoundsAtLevelZero()
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER
static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER
static final int MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER
static final int EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER
static final int USE_OVERLOAD_CHECKER_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean getStopAfterPresolve()
static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< BinaryMinizationAlgorithm > internalGetValueMap()
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION = 4;
static BinaryMinizationAlgorithm forNumber(int value)
.lang.Deprecated static BinaryMinizationAlgorithm valueOf(int value)
BINARY_MINIMIZATION_WITH_REACHABILITY
BINARY_MINIMIZATION_WITH_REACHABILITY = 2;
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
EXPERIMENTAL_BINARY_MINIMIZATION
EXPERIMENTAL_BINARY_MINIMIZATION = 3;
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static BinaryMinizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static ClauseOrdering valueOf(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static ClauseOrdering valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< ClauseOrdering > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static ClauseProtection valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Deprecated static ClauseProtection valueOf(int value)
static com.google.protobuf.Internal.EnumLiteMap< ClauseProtection > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static ConflictMinimizationAlgorithm valueOf(int value)
static com.google.protobuf.Internal.EnumLiteMap< ConflictMinimizationAlgorithm > internalGetValueMap()
static ConflictMinimizationAlgorithm forNumber(int value)
static ConflictMinimizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static FPRoundingMethod valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< FPRoundingMethod > internalGetValueMap()
.lang.Deprecated static FPRoundingMethod valueOf(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static MaxSatAssumptionOrder forNumber(int value)
.lang.Deprecated static MaxSatAssumptionOrder valueOf(int value)
static MaxSatAssumptionOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< MaxSatAssumptionOrder > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static MaxSatStratificationAlgorithm forNumber(int value)
static com.google.protobuf.Internal.EnumLiteMap< MaxSatStratificationAlgorithm > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Deprecated static MaxSatStratificationAlgorithm valueOf(int value)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static MaxSatStratificationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static Polarity valueOf(int value)
static Polarity valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< Polarity > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Deprecated static RestartAlgorithm valueOf(int value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< RestartAlgorithm > internalGetValueMap()
static RestartAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Internal.EnumLiteMap< SearchBranching > internalGetValueMap()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static SearchBranching valueOf(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static SearchBranching valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Deprecated static VariableOrder valueOf(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static VariableOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< VariableOrder > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()