Java Reference

Java Reference

SatParameters.java
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/sat/sat_parameters.proto
3 
4 package com.google.ortools.sat;
5 
15 public final class SatParameters extends
16  com.google.protobuf.GeneratedMessageV3 implements
17  // @@protoc_insertion_point(message_implements:operations_research.sat.SatParameters)
19 private static final long serialVersionUID = 0L;
20  // Use SatParameters.newBuilder() to construct.
21  private SatParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
22  super(builder);
23  }
24  private SatParameters() {
25  name_ = "";
26  preferredVariableOrder_ = 0;
27  initialPolarity_ = 1;
28  usePhaseSaving_ = true;
29  polarityRephaseIncrement_ = 1000;
30  minimizationAlgorithm_ = 2;
31  binaryMinimizationAlgorithm_ = 1;
32  subsumptionDuringConflictAnalysis_ = true;
33  clauseCleanupPeriod_ = 10000;
34  clauseCleanupTarget_ = 10000;
35  clauseCleanupProtection_ = 0;
36  clauseCleanupLbdBound_ = 5;
37  clauseCleanupOrdering_ = 0;
38  pbCleanupIncrement_ = 200;
39  pbCleanupRatio_ = 0.5D;
40  minimizeWithPropagationRestartPeriod_ = 10;
41  minimizeWithPropagationNumDecisions_ = 1000;
42  variableActivityDecay_ = 0.8D;
43  maxVariableActivityValue_ = 1e+100D;
44  glucoseMaxDecay_ = 0.95D;
45  glucoseDecayIncrement_ = 0.01D;
46  glucoseDecayIncrementPeriod_ = 5000;
47  clauseActivityDecay_ = 0.999D;
48  maxClauseActivityValue_ = 1e+20D;
49  restartAlgorithms_ = java.util.Collections.emptyList();
50  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
51  restartPeriod_ = 50;
52  restartRunningWindowSize_ = 50;
53  restartDlAverageRatio_ = 1D;
54  restartLbdAverageRatio_ = 1D;
55  blockingRestartWindowSize_ = 5000;
56  blockingRestartMultiplier_ = 1.4D;
57  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
58  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
59  maxNumberOfConflicts_ = 9223372036854775807L;
60  maxMemoryInMb_ = 10000L;
61  treatBinaryClausesSeparately_ = true;
62  randomSeed_ = 1;
63  countAssumptionLevelsInLbd_ = true;
64  presolveBveThreshold_ = 500;
65  presolveBveClauseWeight_ = 3;
66  presolveProbingDeterministicTimeLimit_ = 30D;
67  presolveBlockedClause_ = true;
68  presolveUseBva_ = true;
69  presolveBvaThreshold_ = 1;
70  maxPresolveIterations_ = 3;
71  cpModelPresolve_ = true;
72  cpModelProbingLevel_ = 2;
73  cpModelUseSatPresolve_ = true;
74  expandElementConstraints_ = true;
75  expandAutomatonConstraints_ = true;
76  expandTableConstraints_ = true;
77  expandReservoirConstraints_ = true;
78  mergeNoOverlapWorkLimit_ = 1000000000000D;
79  mergeAtMostOneWorkLimit_ = 100000000D;
80  presolveSubstitutionLevel_ = 1;
81  useOptimizationHints_ = true;
82  minimizeCore_ = true;
83  findMultipleCores_ = true;
84  coverOptimization_ = true;
85  maxSatAssumptionOrder_ = 0;
86  maxSatStratification_ = 1;
87  usePrecedencesInDisjunctiveConstraint_ = true;
88  useDisjunctiveConstraintInCumulativeConstraint_ = true;
89  linearizationLevel_ = 1;
90  booleanEncodingLevel_ = 1;
91  maxNumCuts_ = 10000;
92  addCgCuts_ = true;
93  addMirCuts_ = true;
94  addZeroHalfCuts_ = true;
95  addCliqueCuts_ = true;
96  maxAllDiffCutSize_ = 7;
97  addLinMaxCuts_ = true;
98  maxIntegerRoundingScaling_ = 600;
99  addLpConstraintsLazily_ = true;
100  minOrthogonalityForLpConstraints_ = 0.05D;
101  maxCutRoundsAtLevelZero_ = 1;
102  maxConsecutiveInactiveCount_ = 100;
103  cutMaxActiveCountValue_ = 10000000000D;
104  cutActiveCountDecay_ = 0.8D;
105  cutCleanupTarget_ = 1000;
106  newConstraintsBatchSize_ = 50;
107  searchBranching_ = 0;
108  hintConflictLimit_ = 10;
109  exploitIntegerLpSolution_ = true;
110  exploitAllLpSolution_ = true;
111  exploitObjective_ = true;
112  pseudoCostReliabilityThreshold_ = 100L;
113  binarySearchNumConflicts_ = -1;
114  instantiateAllVariables_ = true;
115  autoDetectGreaterThanAtLeastOneOf_ = true;
116  numSearchWorkers_ = 1;
117  interleaveBatchSize_ = 1;
118  shareObjectiveBounds_ = true;
119  shareLevelZeroBounds_ = true;
120  lnsExpandIntervalsInConstraintGraph_ = true;
121  useRinsLns_ = true;
122  useFeasibilityPump_ = true;
123  fpRounding_ = 2;
124  useOptionalVariables_ = true;
125  useExactLpReason_ = true;
126  catchSigintSignal_ = true;
127  useImpliedBounds_ = true;
128  symmetryLevel_ = 2;
129  mipMaxBound_ = 10000000D;
130  mipVarScaling_ = 1D;
131  mipAutomaticallyScaleVariables_ = true;
132  mipWantedPrecision_ = 1e-06D;
133  mipMaxActivityExponent_ = 53;
134  mipCheckPrecision_ = 0.0001D;
135  }
136 
137  @java.lang.Override
138  @SuppressWarnings({"unused"})
139  protected java.lang.Object newInstance(
140  UnusedPrivateParameter unused) {
141  return new SatParameters();
142  }
143 
144  @java.lang.Override
145  public final com.google.protobuf.UnknownFieldSet
147  return this.unknownFields;
148  }
149  private SatParameters(
150  com.google.protobuf.CodedInputStream input,
151  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
152  throws com.google.protobuf.InvalidProtocolBufferException {
153  this();
154  if (extensionRegistry == null) {
155  throw new java.lang.NullPointerException();
156  }
157  int mutable_bitField0_ = 0;
158  int mutable_bitField1_ = 0;
159  int mutable_bitField2_ = 0;
160  int mutable_bitField3_ = 0;
161  int mutable_bitField4_ = 0;
162  int mutable_bitField5_ = 0;
163  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
164  com.google.protobuf.UnknownFieldSet.newBuilder();
165  try {
166  boolean done = false;
167  while (!done) {
168  int tag = input.readTag();
169  switch (tag) {
170  case 0:
171  done = true;
172  break;
173  case 8: {
174  int rawValue = input.readEnum();
175  @SuppressWarnings("deprecation")
176  com.google.ortools.sat.SatParameters.VariableOrder value = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(rawValue);
177  if (value == null) {
178  unknownFields.mergeVarintField(1, rawValue);
179  } else {
180  bitField0_ |= 0x00000002;
181  preferredVariableOrder_ = rawValue;
182  }
183  break;
184  }
185  case 16: {
186  int rawValue = input.readEnum();
187  @SuppressWarnings("deprecation")
188  com.google.ortools.sat.SatParameters.Polarity value = com.google.ortools.sat.SatParameters.Polarity.valueOf(rawValue);
189  if (value == null) {
190  unknownFields.mergeVarintField(2, rawValue);
191  } else {
192  bitField0_ |= 0x00000004;
193  initialPolarity_ = rawValue;
194  }
195  break;
196  }
197  case 32: {
198  int rawValue = input.readEnum();
199  @SuppressWarnings("deprecation")
200  com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(rawValue);
201  if (value == null) {
202  unknownFields.mergeVarintField(4, rawValue);
203  } else {
204  bitField0_ |= 0x00000400;
205  minimizationAlgorithm_ = rawValue;
206  }
207  break;
208  }
209  case 88: {
210  bitField0_ |= 0x00002000;
211  clauseCleanupPeriod_ = input.readInt32();
212  break;
213  }
214  case 104: {
215  bitField0_ |= 0x00004000;
216  clauseCleanupTarget_ = input.readInt32();
217  break;
218  }
219  case 121: {
220  bitField0_ |= 0x00400000;
221  variableActivityDecay_ = input.readDouble();
222  break;
223  }
224  case 129: {
225  bitField0_ |= 0x00800000;
226  maxVariableActivityValue_ = input.readDouble();
227  break;
228  }
229  case 137: {
230  bitField0_ |= 0x08000000;
231  clauseActivityDecay_ = input.readDouble();
232  break;
233  }
234  case 145: {
235  bitField0_ |= 0x10000000;
236  maxClauseActivityValue_ = input.readDouble();
237  break;
238  }
239  case 177: {
240  bitField0_ |= 0x01000000;
241  glucoseMaxDecay_ = input.readDouble();
242  break;
243  }
244  case 185: {
245  bitField0_ |= 0x02000000;
246  glucoseDecayIncrement_ = input.readDouble();
247  break;
248  }
249  case 192: {
250  bitField0_ |= 0x04000000;
251  glucoseDecayIncrementPeriod_ = input.readInt32();
252  break;
253  }
254  case 240: {
255  bitField0_ |= 0x40000000;
256  restartPeriod_ = input.readInt32();
257  break;
258  }
259  case 248: {
260  bitField1_ |= 0x00004000;
261  randomSeed_ = input.readInt32();
262  break;
263  }
264  case 257: {
265  bitField0_ |= 0x00000040;
266  randomBranchesRatio_ = input.readDouble();
267  break;
268  }
269  case 264: {
270  bitField1_ |= 0x00002000;
271  treatBinaryClausesSeparately_ = input.readBool();
272  break;
273  }
274  case 272: {
275  int rawValue = input.readEnum();
276  @SuppressWarnings("deprecation")
277  com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(rawValue);
278  if (value == null) {
279  unknownFields.mergeVarintField(34, rawValue);
280  } else {
281  bitField0_ |= 0x00000800;
282  binaryMinimizationAlgorithm_ = rawValue;
283  }
284  break;
285  }
286  case 280: {
287  bitField2_ |= 0x00002000;
288  useOptimizationHints_ = input.readBool();
289  break;
290  }
291  case 289: {
292  bitField1_ |= 0x00000080;
293  maxTimeInSeconds_ = input.readDouble();
294  break;
295  }
296  case 296: {
297  bitField1_ |= 0x00000200;
298  maxNumberOfConflicts_ = input.readInt64();
299  break;
300  }
301  case 320: {
302  bitField1_ |= 0x00000400;
303  maxMemoryInMb_ = input.readInt64();
304  break;
305  }
306  case 328: {
307  bitField1_ |= 0x00040000;
308  logSearchProgress_ = input.readBool();
309  break;
310  }
311  case 344: {
312  bitField1_ |= 0x00080000;
313  usePbResolution_ = input.readBool();
314  break;
315  }
316  case 352: {
317  bitField0_ |= 0x00000008;
318  usePhaseSaving_ = input.readBool();
319  break;
320  }
321  case 361: {
322  bitField0_ |= 0x00000020;
323  randomPolarityRatio_ = input.readDouble();
324  break;
325  }
326  case 368: {
327  bitField0_ |= 0x00040000;
328  pbCleanupIncrement_ = input.readInt32();
329  break;
330  }
331  case 377: {
332  bitField0_ |= 0x00080000;
333  pbCleanupRatio_ = input.readDouble();
334  break;
335  }
336  case 384: {
337  bitField1_ |= 0x00100000;
338  minimizeReductionDuringPbResolution_ = input.readBool();
339  break;
340  }
341  case 392: {
342  bitField1_ |= 0x00200000;
343  countAssumptionLevelsInLbd_ = input.readBool();
344  break;
345  }
346  case 400: {
347  bitField2_ |= 0x00004000;
348  minimizeCore_ = input.readBool();
349  break;
350  }
351  case 408: {
352  int rawValue = input.readEnum();
353  @SuppressWarnings("deprecation")
354  com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(rawValue);
355  if (value == null) {
356  unknownFields.mergeVarintField(51, rawValue);
357  } else {
358  bitField2_ |= 0x00020000;
359  maxSatAssumptionOrder_ = rawValue;
360  }
361  break;
362  }
363  case 416: {
364  bitField2_ |= 0x00040000;
365  maxSatReverseAssumptionOrder_ = input.readBool();
366  break;
367  }
368  case 424: {
369  int rawValue = input.readEnum();
370  @SuppressWarnings("deprecation")
371  com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(rawValue);
372  if (value == null) {
373  unknownFields.mergeVarintField(53, rawValue);
374  } else {
375  bitField2_ |= 0x00080000;
376  maxSatStratification_ = rawValue;
377  }
378  break;
379  }
380  case 432: {
381  bitField1_ |= 0x00400000;
382  presolveBveThreshold_ = input.readInt32();
383  break;
384  }
385  case 440: {
386  bitField1_ |= 0x00800000;
387  presolveBveClauseWeight_ = input.readInt32();
388  break;
389  }
390  case 448: {
391  bitField0_ |= 0x00001000;
392  subsumptionDuringConflictAnalysis_ = input.readBool();
393  break;
394  }
395  case 457: {
396  bitField1_ |= 0x01000000;
397  presolveProbingDeterministicTimeLimit_ = input.readDouble();
398  break;
399  }
400  case 464: {
401  int rawValue = input.readEnum();
402  @SuppressWarnings("deprecation")
403  com.google.ortools.sat.SatParameters.ClauseProtection value = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(rawValue);
404  if (value == null) {
405  unknownFields.mergeVarintField(58, rawValue);
406  } else {
407  bitField0_ |= 0x00008000;
408  clauseCleanupProtection_ = rawValue;
409  }
410  break;
411  }
412  case 472: {
413  bitField0_ |= 0x00010000;
414  clauseCleanupLbdBound_ = input.readInt32();
415  break;
416  }
417  case 480: {
418  int rawValue = input.readEnum();
419  @SuppressWarnings("deprecation")
420  com.google.ortools.sat.SatParameters.ClauseOrdering value = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(rawValue);
421  if (value == null) {
422  unknownFields.mergeVarintField(60, rawValue);
423  } else {
424  bitField0_ |= 0x00020000;
425  clauseCleanupOrdering_ = rawValue;
426  }
427  break;
428  }
429  case 488: {
430  int rawValue = input.readEnum();
431  @SuppressWarnings("deprecation")
432  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
433  if (value == null) {
434  unknownFields.mergeVarintField(61, rawValue);
435  } else {
436  if (!((mutable_bitField0_ & 0x20000000) != 0)) {
437  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
438  mutable_bitField0_ |= 0x20000000;
439  }
440  restartAlgorithms_.add(rawValue);
441  }
442  break;
443  }
444  case 490: {
445  int length = input.readRawVarint32();
446  int oldLimit = input.pushLimit(length);
447  while(input.getBytesUntilLimit() > 0) {
448  int rawValue = input.readEnum();
449  @SuppressWarnings("deprecation")
450  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
451  if (value == null) {
452  unknownFields.mergeVarintField(61, rawValue);
453  } else {
454  if (!((mutable_bitField0_ & 0x20000000) != 0)) {
455  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
456  mutable_bitField0_ |= 0x20000000;
457  }
458  restartAlgorithms_.add(rawValue);
459  }
460  }
461  input.popLimit(oldLimit);
462  break;
463  }
464  case 496: {
465  bitField0_ |= 0x80000000;
466  restartRunningWindowSize_ = input.readInt32();
467  break;
468  }
469  case 505: {
470  bitField1_ |= 0x00000001;
471  restartDlAverageRatio_ = input.readDouble();
472  break;
473  }
474  case 512: {
475  bitField1_ |= 0x00000004;
476  useBlockingRestart_ = input.readBool();
477  break;
478  }
479  case 520: {
480  bitField1_ |= 0x00000008;
481  blockingRestartWindowSize_ = input.readInt32();
482  break;
483  }
484  case 529: {
485  bitField1_ |= 0x00000010;
486  blockingRestartMultiplier_ = input.readDouble();
487  break;
488  }
489  case 537: {
490  bitField1_ |= 0x00000100;
491  maxDeterministicTime_ = input.readDouble();
492  break;
493  }
494  case 544: {
495  bitField1_ |= 0x00000020;
496  numConflictsBeforeStrategyChanges_ = input.readInt32();
497  break;
498  }
499  case 553: {
500  bitField1_ |= 0x00000040;
501  strategyChangeIncreaseRatio_ = input.readDouble();
502  break;
503  }
504  case 562: {
505  com.google.protobuf.ByteString bs = input.readBytes();
506  bitField0_ |= 0x20000000;
507  defaultRestartAlgorithms_ = bs;
508  break;
509  }
510  case 569: {
511  bitField1_ |= 0x00000002;
512  restartLbdAverageRatio_ = input.readDouble();
513  break;
514  }
515  case 576: {
516  bitField1_ |= 0x04000000;
517  presolveUseBva_ = input.readBool();
518  break;
519  }
520  case 584: {
521  bitField1_ |= 0x08000000;
522  presolveBvaThreshold_ = input.readInt32();
523  break;
524  }
525  case 592: {
526  bitField2_ |= 0x00100000;
527  usePrecedencesInDisjunctiveConstraint_ = input.readBool();
528  break;
529  }
530  case 600: {
531  bitField0_ |= 0x00000080;
532  useErwaHeuristic_ = input.readBool();
533  break;
534  }
535  case 609: {
536  bitField0_ |= 0x00000100;
537  initialVariablesActivity_ = input.readDouble();
538  break;
539  }
540  case 616: {
541  bitField0_ |= 0x00000200;
542  alsoBumpVariablesInConflictReasons_ = input.readBool();
543  break;
544  }
545  case 624: {
546  bitField2_ |= 0x00200000;
547  useOverloadCheckerInCumulativeConstraint_ = input.readBool();
548  break;
549  }
550  case 632: {
551  bitField2_ |= 0x00400000;
552  useTimetableEdgeFindingInCumulativeConstraint_ = input.readBool();
553  break;
554  }
555  case 640: {
556  bitField2_ |= 0x00800000;
557  useDisjunctiveConstraintInCumulativeConstraint_ = input.readBool();
558  break;
559  }
560  case 656: {
561  int rawValue = input.readEnum();
562  @SuppressWarnings("deprecation")
563  com.google.ortools.sat.SatParameters.SearchBranching value = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(rawValue);
564  if (value == null) {
565  unknownFields.mergeVarintField(82, rawValue);
566  } else {
567  bitField3_ |= 0x00001000;
568  searchBranching_ = rawValue;
569  }
570  break;
571  }
572  case 664: {
573  bitField3_ |= 0x00800000;
574  optimizeWithCore_ = input.readBool();
575  break;
576  }
577  case 672: {
578  bitField2_ |= 0x00008000;
579  findMultipleCores_ = input.readBool();
580  break;
581  }
582  case 680: {
583  bitField3_ |= 0x02000000;
584  optimizeWithMaxHs_ = input.readBool();
585  break;
586  }
587  case 688: {
588  bitField1_ |= 0x20000000;
589  cpModelPresolve_ = input.readBool();
590  break;
591  }
592  case 696: {
593  bitField3_ |= 0x04000000;
594  enumerateAllSolutions_ = input.readBool();
595  break;
596  }
597  case 704: {
598  bitField1_ |= 0x02000000;
599  presolveBlockedClause_ = input.readBool();
600  break;
601  }
602  case 712: {
603  bitField2_ |= 0x00010000;
604  coverOptimization_ = input.readBool();
605  break;
606  }
607  case 720: {
608  bitField2_ |= 0x01000000;
609  linearizationLevel_ = input.readInt32();
610  break;
611  }
612  case 728: {
613  bitField2_ |= 0x04000000;
614  maxNumCuts_ = input.readInt32();
615  break;
616  }
617  case 736: {
618  bitField2_ |= 0x08000000;
619  onlyAddCutsAtLevelZero_ = input.readBool();
620  break;
621  }
622  case 744: {
623  bitField2_ |= 0x00000002;
624  cpModelUseSatPresolve_ = input.readBool();
625  break;
626  }
627  case 752: {
628  bitField3_ |= 0x00008000;
629  exploitIntegerLpSolution_ = input.readBool();
630  break;
631  }
632  case 760: {
633  bitField3_ |= 0x40000000;
634  autoDetectGreaterThanAtLeastOneOf_ = input.readBool();
635  break;
636  }
637  case 768: {
638  bitField0_ |= 0x00100000;
639  minimizeWithPropagationRestartPeriod_ = input.readInt32();
640  break;
641  }
642  case 776: {
643  bitField0_ |= 0x00200000;
644  minimizeWithPropagationNumDecisions_ = input.readInt32();
645  break;
646  }
647  case 784: {
648  bitField3_ |= 0x80000000;
649  stopAfterFirstSolution_ = input.readBool();
650  break;
651  }
652  case 792: {
653  bitField3_ |= 0x01000000;
654  binarySearchNumConflicts_ = input.readInt32();
655  break;
656  }
657  case 800: {
658  bitField4_ |= 0x00000002;
659  numSearchWorkers_ = input.readInt32();
660  break;
661  }
662  case 808: {
663  bitField4_ |= 0x00000080;
664  useLnsOnly_ = input.readBool();
665  break;
666  }
667  case 824: {
668  bitField4_ |= 0x00008000;
669  randomizeSearch_ = input.readBool();
670  break;
671  }
672  case 832: {
673  bitField4_ |= 0x00010000;
674  searchRandomizationTolerance_ = input.readInt64();
675  break;
676  }
677  case 840: {
678  bitField4_ |= 0x00000100;
679  lnsFocusOnDecisionVariables_ = input.readBool();
680  break;
681  }
682  case 848: {
683  bitField3_ |= 0x20000000;
684  instantiateAllVariables_ = input.readBool();
685  break;
686  }
687  case 856: {
688  bitField2_ |= 0x02000000;
689  booleanEncodingLevel_ = input.readInt32();
690  break;
691  }
692  case 864: {
693  bitField4_ |= 0x00020000;
694  useOptionalVariables_ = input.readBool();
695  break;
696  }
697  case 872: {
698  bitField4_ |= 0x00040000;
699  useExactLpReason_ = input.readBool();
700  break;
701  }
702  case 880: {
703  bitField2_ |= 0x00000001;
704  cpModelProbingLevel_ = input.readInt32();
705  break;
706  }
707  case 888: {
708  bitField2_ |= 0x10000000;
709  addKnapsackCuts_ = input.readBool();
710  break;
711  }
712  case 896: {
713  bitField3_ |= 0x00000010;
714  addLpConstraintsLazily_ = input.readBool();
715  break;
716  }
717  case 904: {
718  bitField4_ |= 0x00000020;
719  shareObjectiveBounds_ = input.readBool();
720  break;
721  }
722  case 912: {
723  bitField4_ |= 0x00000040;
724  shareLevelZeroBounds_ = input.readBool();
725  break;
726  }
727  case 921: {
728  bitField3_ |= 0x00000020;
729  minOrthogonalityForLpConstraints_ = input.readDouble();
730  break;
731  }
732  case 928: {
733  bitField3_ |= 0x00010000;
734  exploitAllLpSolution_ = input.readBool();
735  break;
736  }
737  case 936: {
738  bitField2_ |= 0x20000000;
739  addCgCuts_ = input.readBool();
740  break;
741  }
742  case 952: {
743  bitField3_ |= 0x00000008;
744  maxIntegerRoundingScaling_ = input.readInt32();
745  break;
746  }
747  case 960: {
748  bitField2_ |= 0x40000000;
749  addMirCuts_ = input.readBool();
750  break;
751  }
752  case 968: {
753  bitField3_ |= 0x00000080;
754  maxConsecutiveInactiveCount_ = input.readInt32();
755  break;
756  }
757  case 976: {
758  bitField3_ |= 0x00000800;
759  newConstraintsBatchSize_ = input.readInt32();
760  break;
761  }
762  case 984: {
763  bitField3_ |= 0x00400000;
764  pseudoCostReliabilityThreshold_ = input.readInt64();
765  break;
766  }
767  case 993: {
768  bitField4_ |= 0x04000000;
769  mipMaxBound_ = input.readDouble();
770  break;
771  }
772  case 1001: {
773  bitField4_ |= 0x08000000;
774  mipVarScaling_ = input.readDouble();
775  break;
776  }
777  case 1009: {
778  bitField4_ |= 0x20000000;
779  mipWantedPrecision_ = input.readDouble();
780  break;
781  }
782  case 1016: {
783  bitField4_ |= 0x40000000;
784  mipMaxActivityExponent_ = input.readInt32();
785  break;
786  }
787  case 1025: {
788  bitField4_ |= 0x80000000;
789  mipCheckPrecision_ = input.readDouble();
790  break;
791  }
792  case 1032: {
793  bitField4_ |= 0x00000400;
794  useRinsLns_ = input.readBool();
795  break;
796  }
797  case 1040: {
798  bitField3_ |= 0x00020000;
799  exploitBestSolution_ = input.readBool();
800  break;
801  }
802  case 1048: {
803  bitField3_ |= 0x00080000;
804  exploitObjective_ = input.readBool();
805  break;
806  }
807  case 1056: {
808  bitField3_ |= 0x10000000;
809  fillTightenedDomainsInResponse_ = input.readBool();
810  break;
811  }
812  case 1064: {
813  bitField4_ |= 0x00100000;
814  useCombinedNoOverlap_ = input.readBool();
815  break;
816  }
817  case 1072: {
818  bitField4_ |= 0x00000008;
819  interleaveBatchSize_ = input.readInt32();
820  break;
821  }
822  case 1080: {
823  bitField4_ |= 0x00200000;
824  catchSigintSignal_ = input.readBool();
825  break;
826  }
827  case 1088: {
828  bitField4_ |= 0x00000004;
829  interleaveSearch_ = input.readBool();
830  break;
831  }
832  case 1096: {
833  bitField4_ |= 0x00004000;
834  diversifyLnsParams_ = input.readBool();
835  break;
836  }
837  case 1104: {
838  bitField1_ |= 0x10000000;
839  maxPresolveIterations_ = input.readInt32();
840  break;
841  }
842  case 1112: {
843  bitField4_ |= 0x00080000;
844  useBranchingInLp_ = input.readBool();
845  break;
846  }
847  case 1120: {
848  bitField2_ |= 0x00000008;
849  expandElementConstraints_ = input.readBool();
850  break;
851  }
852  case 1128: {
853  bitField4_ |= 0x00000010;
854  reduceMemoryUsageInInterleaveMode_ = input.readBool();
855  break;
856  }
857  case 1136: {
858  bitField3_ |= 0x00100000;
859  probingPeriodAtRoot_ = input.readInt64();
860  break;
861  }
862  case 1144: {
863  bitField2_ |= 0x00000010;
864  expandAutomatonConstraints_ = input.readBool();
865  break;
866  }
867  case 1152: {
868  bitField4_ |= 0x00400000;
869  useImpliedBounds_ = input.readBool();
870  break;
871  }
872  case 1161: {
873  bitField2_ |= 0x00000200;
874  mergeNoOverlapWorkLimit_ = input.readDouble();
875  break;
876  }
877  case 1169: {
878  bitField2_ |= 0x00000400;
879  mergeAtMostOneWorkLimit_ = input.readDouble();
880  break;
881  }
882  case 1176: {
883  bitField2_ |= 0x00000800;
884  presolveSubstitutionLevel_ = input.readInt32();
885  break;
886  }
887  case 1184: {
888  bitField3_ |= 0x00000002;
889  maxAllDiffCutSize_ = input.readInt32();
890  break;
891  }
892  case 1192: {
893  bitField4_ |= 0x00000001;
894  stopAfterPresolve_ = input.readBool();
895  break;
896  }
897  case 1200: {
898  bitField4_ |= 0x00002000;
899  useRelaxationLns_ = input.readBool();
900  break;
901  }
902  case 1208: {
903  bitField1_ |= 0x80000000;
904  cpModelMaxNumPresolveOperations_ = input.readInt32();
905  break;
906  }
907  case 1216: {
908  bitField3_ |= 0x00000004;
909  addLinMaxCuts_ = input.readBool();
910  break;
911  }
912  case 1224: {
913  bitField3_ |= 0x00002000;
914  hintConflictLimit_ = input.readInt32();
915  break;
916  }
917  case 1232: {
918  bitField3_ |= 0x00000040;
919  maxCutRoundsAtLevelZero_ = input.readInt32();
920  break;
921  }
922  case 1241: {
923  bitField3_ |= 0x00000100;
924  cutMaxActiveCountValue_ = input.readDouble();
925  break;
926  }
927  case 1249: {
928  bitField3_ |= 0x00000200;
929  cutActiveCountDecay_ = input.readDouble();
930  break;
931  }
932  case 1256: {
933  bitField3_ |= 0x00000400;
934  cutCleanupTarget_ = input.readInt32();
935  break;
936  }
937  case 1264: {
938  bitField2_ |= 0x00000020;
939  expandTableConstraints_ = input.readBool();
940  break;
941  }
942  case 1273: {
943  bitField1_ |= 0x00000800;
944  absoluteGapLimit_ = input.readDouble();
945  break;
946  }
947  case 1281: {
948  bitField1_ |= 0x00001000;
949  relativeGapLimit_ = input.readDouble();
950  break;
951  }
952  case 1288: {
953  bitField3_ |= 0x00040000;
954  exploitRelaxationSolution_ = input.readBool();
955  break;
956  }
957  case 1296: {
958  bitField1_ |= 0x40000000;
959  cpModelPostsolveWithFullSolver_ = input.readBool();
960  break;
961  }
962  case 1304: {
963  bitField2_ |= 0x00000004;
964  useSatInprocessing_ = input.readBool();
965  break;
966  }
967  case 1312: {
968  bitField4_ |= 0x00000800;
969  useFeasibilityPump_ = input.readBool();
970  break;
971  }
972  case 1320: {
973  int rawValue = input.readEnum();
974  @SuppressWarnings("deprecation")
975  com.google.ortools.sat.SatParameters.FPRoundingMethod value = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(rawValue);
976  if (value == null) {
977  unknownFields.mergeVarintField(165, rawValue);
978  } else {
979  bitField4_ |= 0x00001000;
980  fpRounding_ = rawValue;
981  }
982  break;
983  }
984  case 1328: {
985  bitField4_ |= 0x10000000;
986  mipAutomaticallyScaleVariables_ = input.readBool();
987  break;
988  }
989  case 1336: {
990  bitField3_ |= 0x00004000;
991  repairHint_ = input.readBool();
992  break;
993  }
994  case 1344: {
995  bitField0_ |= 0x00000010;
996  polarityRephaseIncrement_ = input.readInt32();
997  break;
998  }
999  case 1352: {
1000  bitField2_ |= 0x80000000;
1001  addZeroHalfCuts_ = input.readBool();
1002  break;
1003  }
1004  case 1360: {
1005  bitField2_ |= 0x00000040;
1006  expandAlldiffConstraints_ = input.readBool();
1007  break;
1008  }
1009  case 1370: {
1010  com.google.protobuf.ByteString bs = input.readBytes();
1011  bitField0_ |= 0x00000001;
1012  name_ = bs;
1013  break;
1014  }
1015  case 1376: {
1016  bitField3_ |= 0x00000001;
1017  addCliqueCuts_ = input.readBool();
1018  break;
1019  }
1020  case 1384: {
1021  bitField3_ |= 0x08000000;
1022  keepAllFeasibleSolutionsInPresolve_ = input.readBool();
1023  break;
1024  }
1025  case 1392: {
1026  bitField2_ |= 0x00001000;
1027  presolveExtractIntegerEnforcement_ = input.readBool();
1028  break;
1029  }
1030  case 1400: {
1031  bitField4_ |= 0x00800000;
1032  polishLpSolution_ = input.readBool();
1033  break;
1034  }
1035  case 1408: {
1036  bitField3_ |= 0x00200000;
1037  useProbingSearch_ = input.readBool();
1038  break;
1039  }
1040  case 1416: {
1041  bitField4_ |= 0x01000000;
1042  convertIntervals_ = input.readBool();
1043  break;
1044  }
1045  case 1424: {
1046  bitField1_ |= 0x00008000;
1047  permuteVariableRandomly_ = input.readBool();
1048  break;
1049  }
1050  case 1432: {
1051  bitField1_ |= 0x00010000;
1052  permutePresolveConstraintOrder_ = input.readBool();
1053  break;
1054  }
1055  case 1440: {
1056  bitField1_ |= 0x00020000;
1057  useAbslRandom_ = input.readBool();
1058  break;
1059  }
1060  case 1448: {
1061  bitField2_ |= 0x00000100;
1062  disableConstraintExpansion_ = input.readBool();
1063  break;
1064  }
1065  case 1456: {
1066  bitField2_ |= 0x00000080;
1067  expandReservoirConstraints_ = input.readBool();
1068  break;
1069  }
1070  case 1464: {
1071  bitField4_ |= 0x02000000;
1072  symmetryLevel_ = input.readInt32();
1073  break;
1074  }
1075  case 1472: {
1076  bitField4_ |= 0x00000200;
1077  lnsExpandIntervalsInConstraintGraph_ = input.readBool();
1078  break;
1079  }
1080  default: {
1081  if (!parseUnknownField(
1082  input, unknownFields, extensionRegistry, tag)) {
1083  done = true;
1084  }
1085  break;
1086  }
1087  }
1088  }
1089  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1090  throw e.setUnfinishedMessage(this);
1091  } catch (java.io.IOException e) {
1092  throw new com.google.protobuf.InvalidProtocolBufferException(
1093  e).setUnfinishedMessage(this);
1094  } finally {
1095  if (((mutable_bitField0_ & 0x20000000) != 0)) {
1096  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
1097  }
1098  this.unknownFields = unknownFields.build();
1099  makeExtensionsImmutable();
1100  }
1101  }
1102  public static final com.google.protobuf.Descriptors.Descriptor
1104  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
1105  }
1106 
1107  @java.lang.Override
1108  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1110  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
1111  .ensureFieldAccessorsInitialized(
1112  com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
1113  }
1114 
1123  public enum VariableOrder
1124  implements com.google.protobuf.ProtocolMessageEnum {
1141  ;
1142 
1150  public static final int IN_ORDER_VALUE = 0;
1154  public static final int IN_REVERSE_ORDER_VALUE = 1;
1158  public static final int IN_RANDOM_ORDER_VALUE = 2;
1159 
1160 
1161  public final int getNumber() {
1162  return value;
1163  }
1164 
1170  @java.lang.Deprecated
1171  public static VariableOrder valueOf(int value) {
1172  return forNumber(value);
1173  }
1174 
1179  public static VariableOrder forNumber(int value) {
1180  switch (value) {
1181  case 0: return IN_ORDER;
1182  case 1: return IN_REVERSE_ORDER;
1183  case 2: return IN_RANDOM_ORDER;
1184  default: return null;
1185  }
1186  }
1187 
1188  public static com.google.protobuf.Internal.EnumLiteMap<VariableOrder>
1190  return internalValueMap;
1191  }
1192  private static final com.google.protobuf.Internal.EnumLiteMap<
1193  VariableOrder> internalValueMap =
1194  new com.google.protobuf.Internal.EnumLiteMap<VariableOrder>() {
1195  public VariableOrder findValueByNumber(int number) {
1196  return VariableOrder.forNumber(number);
1197  }
1198  };
1199 
1200  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1202  return getDescriptor().getValues().get(ordinal());
1203  }
1204  public final com.google.protobuf.Descriptors.EnumDescriptor
1206  return getDescriptor();
1207  }
1208  public static final com.google.protobuf.Descriptors.EnumDescriptor
1210  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
1211  }
1212 
1213  private static final VariableOrder[] VALUES = values();
1214 
1215  public static VariableOrder valueOf(
1216  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1217  if (desc.getType() != getDescriptor()) {
1218  throw new java.lang.IllegalArgumentException(
1219  "EnumValueDescriptor is not for this type.");
1220  }
1221  return VALUES[desc.getIndex()];
1222  }
1223 
1224  private final int value;
1225 
1226  private VariableOrder(int value) {
1227  this.value = value;
1228  }
1229 
1230  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.VariableOrder)
1231  }
1232 
1244  public enum Polarity
1245  implements com.google.protobuf.ProtocolMessageEnum {
1277  ;
1278 
1282  public static final int POLARITY_TRUE_VALUE = 0;
1286  public static final int POLARITY_FALSE_VALUE = 1;
1290  public static final int POLARITY_RANDOM_VALUE = 2;
1301  public static final int POLARITY_WEIGHTED_SIGN_VALUE = 3;
1309  public static final int POLARITY_REVERSE_WEIGHTED_SIGN_VALUE = 4;
1310 
1311 
1312  public final int getNumber() {
1313  return value;
1314  }
1315 
1321  @java.lang.Deprecated
1322  public static Polarity valueOf(int value) {
1323  return forNumber(value);
1324  }
1325 
1330  public static Polarity forNumber(int value) {
1331  switch (value) {
1332  case 0: return POLARITY_TRUE;
1333  case 1: return POLARITY_FALSE;
1334  case 2: return POLARITY_RANDOM;
1335  case 3: return POLARITY_WEIGHTED_SIGN;
1336  case 4: return POLARITY_REVERSE_WEIGHTED_SIGN;
1337  default: return null;
1338  }
1339  }
1340 
1341  public static com.google.protobuf.Internal.EnumLiteMap<Polarity>
1343  return internalValueMap;
1344  }
1345  private static final com.google.protobuf.Internal.EnumLiteMap<
1346  Polarity> internalValueMap =
1347  new com.google.protobuf.Internal.EnumLiteMap<Polarity>() {
1348  public Polarity findValueByNumber(int number) {
1349  return Polarity.forNumber(number);
1350  }
1351  };
1352 
1353  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1355  return getDescriptor().getValues().get(ordinal());
1356  }
1357  public final com.google.protobuf.Descriptors.EnumDescriptor
1359  return getDescriptor();
1360  }
1361  public static final com.google.protobuf.Descriptors.EnumDescriptor
1363  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
1364  }
1365 
1366  private static final Polarity[] VALUES = values();
1367 
1368  public static Polarity valueOf(
1369  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1370  if (desc.getType() != getDescriptor()) {
1371  throw new java.lang.IllegalArgumentException(
1372  "EnumValueDescriptor is not for this type.");
1373  }
1374  return VALUES[desc.getIndex()];
1375  }
1376 
1377  private final int value;
1378 
1379  private Polarity(int value) {
1380  this.value = value;
1381  }
1382 
1383  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.Polarity)
1384  }
1385 
1394  implements com.google.protobuf.ProtocolMessageEnum {
1398  NONE(0),
1411  ;
1412 
1416  public static final int NONE_VALUE = 0;
1420  public static final int SIMPLE_VALUE = 1;
1424  public static final int RECURSIVE_VALUE = 2;
1428  public static final int EXPERIMENTAL_VALUE = 3;
1429 
1430 
1431  public final int getNumber() {
1432  return value;
1433  }
1434 
1440  @java.lang.Deprecated
1441  public static ConflictMinimizationAlgorithm valueOf(int value) {
1442  return forNumber(value);
1443  }
1444 
1449  public static ConflictMinimizationAlgorithm forNumber(int value) {
1450  switch (value) {
1451  case 0: return NONE;
1452  case 1: return SIMPLE;
1453  case 2: return RECURSIVE;
1454  case 3: return EXPERIMENTAL;
1455  default: return null;
1456  }
1457  }
1458 
1459  public static com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>
1461  return internalValueMap;
1462  }
1463  private static final com.google.protobuf.Internal.EnumLiteMap<
1464  ConflictMinimizationAlgorithm> internalValueMap =
1465  new com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>() {
1466  public ConflictMinimizationAlgorithm findValueByNumber(int number) {
1468  }
1469  };
1470 
1471  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1473  return getDescriptor().getValues().get(ordinal());
1474  }
1475  public final com.google.protobuf.Descriptors.EnumDescriptor
1477  return getDescriptor();
1478  }
1479  public static final com.google.protobuf.Descriptors.EnumDescriptor
1481  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
1482  }
1483 
1484  private static final ConflictMinimizationAlgorithm[] VALUES = values();
1485 
1487  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1488  if (desc.getType() != getDescriptor()) {
1489  throw new java.lang.IllegalArgumentException(
1490  "EnumValueDescriptor is not for this type.");
1491  }
1492  return VALUES[desc.getIndex()];
1493  }
1494 
1495  private final int value;
1496 
1497  private ConflictMinimizationAlgorithm(int value) {
1498  this.value = value;
1499  }
1500 
1501  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ConflictMinimizationAlgorithm)
1502  }
1503 
1513  implements com.google.protobuf.ProtocolMessageEnum {
1534  ;
1535 
1539  public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
1543  public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
1547  public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
1551  public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
1555  public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
1556 
1557 
1558  public final int getNumber() {
1559  return value;
1560  }
1561 
1567  @java.lang.Deprecated
1568  public static BinaryMinizationAlgorithm valueOf(int value) {
1569  return forNumber(value);
1570  }
1571 
1576  public static BinaryMinizationAlgorithm forNumber(int value) {
1577  switch (value) {
1578  case 0: return NO_BINARY_MINIMIZATION;
1579  case 1: return BINARY_MINIMIZATION_FIRST;
1580  case 4: return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
1581  case 2: return BINARY_MINIMIZATION_WITH_REACHABILITY;
1582  case 3: return EXPERIMENTAL_BINARY_MINIMIZATION;
1583  default: return null;
1584  }
1585  }
1586 
1587  public static com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>
1589  return internalValueMap;
1590  }
1591  private static final com.google.protobuf.Internal.EnumLiteMap<
1592  BinaryMinizationAlgorithm> internalValueMap =
1593  new com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>() {
1594  public BinaryMinizationAlgorithm findValueByNumber(int number) {
1595  return BinaryMinizationAlgorithm.forNumber(number);
1596  }
1597  };
1598 
1599  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1601  return getDescriptor().getValues().get(ordinal());
1602  }
1603  public final com.google.protobuf.Descriptors.EnumDescriptor
1605  return getDescriptor();
1606  }
1607  public static final com.google.protobuf.Descriptors.EnumDescriptor
1609  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
1610  }
1611 
1612  private static final BinaryMinizationAlgorithm[] VALUES = values();
1613 
1615  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1616  if (desc.getType() != getDescriptor()) {
1617  throw new java.lang.IllegalArgumentException(
1618  "EnumValueDescriptor is not for this type.");
1619  }
1620  return VALUES[desc.getIndex()];
1621  }
1622 
1623  private final int value;
1624 
1625  private BinaryMinizationAlgorithm(int value) {
1626  this.value = value;
1627  }
1628 
1629  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.BinaryMinizationAlgorithm)
1630  }
1631 
1641  public enum ClauseProtection
1642  implements com.google.protobuf.ProtocolMessageEnum {
1667  ;
1668 
1676  public static final int PROTECTION_NONE_VALUE = 0;
1684  public static final int PROTECTION_ALWAYS_VALUE = 1;
1692  public static final int PROTECTION_LBD_VALUE = 2;
1693 
1694 
1695  public final int getNumber() {
1696  return value;
1697  }
1698 
1704  @java.lang.Deprecated
1705  public static ClauseProtection valueOf(int value) {
1706  return forNumber(value);
1707  }
1708 
1713  public static ClauseProtection forNumber(int value) {
1714  switch (value) {
1715  case 0: return PROTECTION_NONE;
1716  case 1: return PROTECTION_ALWAYS;
1717  case 2: return PROTECTION_LBD;
1718  default: return null;
1719  }
1720  }
1721 
1722  public static com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>
1724  return internalValueMap;
1725  }
1726  private static final com.google.protobuf.Internal.EnumLiteMap<
1727  ClauseProtection> internalValueMap =
1728  new com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>() {
1729  public ClauseProtection findValueByNumber(int number) {
1730  return ClauseProtection.forNumber(number);
1731  }
1732  };
1733 
1734  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1736  return getDescriptor().getValues().get(ordinal());
1737  }
1738  public final com.google.protobuf.Descriptors.EnumDescriptor
1740  return getDescriptor();
1741  }
1742  public static final com.google.protobuf.Descriptors.EnumDescriptor
1744  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
1745  }
1746 
1747  private static final ClauseProtection[] VALUES = values();
1748 
1749  public static ClauseProtection valueOf(
1750  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1751  if (desc.getType() != getDescriptor()) {
1752  throw new java.lang.IllegalArgumentException(
1753  "EnumValueDescriptor is not for this type.");
1754  }
1755  return VALUES[desc.getIndex()];
1756  }
1757 
1758  private final int value;
1759 
1760  private ClauseProtection(int value) {
1761  this.value = value;
1762  }
1763 
1764  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseProtection)
1765  }
1766 
1775  public enum ClauseOrdering
1776  implements com.google.protobuf.ProtocolMessageEnum {
1793  ;
1794 
1802  public static final int CLAUSE_ACTIVITY_VALUE = 0;
1810  public static final int CLAUSE_LBD_VALUE = 1;
1811 
1812 
1813  public final int getNumber() {
1814  return value;
1815  }
1816 
1822  @java.lang.Deprecated
1823  public static ClauseOrdering valueOf(int value) {
1824  return forNumber(value);
1825  }
1826 
1831  public static ClauseOrdering forNumber(int value) {
1832  switch (value) {
1833  case 0: return CLAUSE_ACTIVITY;
1834  case 1: return CLAUSE_LBD;
1835  default: return null;
1836  }
1837  }
1838 
1839  public static com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>
1841  return internalValueMap;
1842  }
1843  private static final com.google.protobuf.Internal.EnumLiteMap<
1844  ClauseOrdering> internalValueMap =
1845  new com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>() {
1846  public ClauseOrdering findValueByNumber(int number) {
1847  return ClauseOrdering.forNumber(number);
1848  }
1849  };
1850 
1851  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1853  return getDescriptor().getValues().get(ordinal());
1854  }
1855  public final com.google.protobuf.Descriptors.EnumDescriptor
1857  return getDescriptor();
1858  }
1859  public static final com.google.protobuf.Descriptors.EnumDescriptor
1861  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
1862  }
1863 
1864  private static final ClauseOrdering[] VALUES = values();
1865 
1866  public static ClauseOrdering valueOf(
1867  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1868  if (desc.getType() != getDescriptor()) {
1869  throw new java.lang.IllegalArgumentException(
1870  "EnumValueDescriptor is not for this type.");
1871  }
1872  return VALUES[desc.getIndex()];
1873  }
1874 
1875  private final int value;
1876 
1877  private ClauseOrdering(int value) {
1878  this.value = value;
1879  }
1880 
1881  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseOrdering)
1882  }
1883 
1895  public enum RestartAlgorithm
1896  implements com.google.protobuf.ProtocolMessageEnum {
1933  ;
1934 
1938  public static final int NO_RESTART_VALUE = 0;
1946  public static final int LUBY_RESTART_VALUE = 1;
1954  public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
1962  public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
1970  public static final int FIXED_RESTART_VALUE = 4;
1971 
1972 
1973  public final int getNumber() {
1974  return value;
1975  }
1976 
1982  @java.lang.Deprecated
1983  public static RestartAlgorithm valueOf(int value) {
1984  return forNumber(value);
1985  }
1986 
1991  public static RestartAlgorithm forNumber(int value) {
1992  switch (value) {
1993  case 0: return NO_RESTART;
1994  case 1: return LUBY_RESTART;
1995  case 2: return DL_MOVING_AVERAGE_RESTART;
1996  case 3: return LBD_MOVING_AVERAGE_RESTART;
1997  case 4: return FIXED_RESTART;
1998  default: return null;
1999  }
2000  }
2001 
2002  public static com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>
2004  return internalValueMap;
2005  }
2006  private static final com.google.protobuf.Internal.EnumLiteMap<
2007  RestartAlgorithm> internalValueMap =
2008  new com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>() {
2009  public RestartAlgorithm findValueByNumber(int number) {
2010  return RestartAlgorithm.forNumber(number);
2011  }
2012  };
2013 
2014  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2016  return getDescriptor().getValues().get(ordinal());
2017  }
2018  public final com.google.protobuf.Descriptors.EnumDescriptor
2020  return getDescriptor();
2021  }
2022  public static final com.google.protobuf.Descriptors.EnumDescriptor
2024  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
2025  }
2026 
2027  private static final RestartAlgorithm[] VALUES = values();
2028 
2029  public static RestartAlgorithm valueOf(
2030  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2031  if (desc.getType() != getDescriptor()) {
2032  throw new java.lang.IllegalArgumentException(
2033  "EnumValueDescriptor is not for this type.");
2034  }
2035  return VALUES[desc.getIndex()];
2036  }
2037 
2038  private final int value;
2039 
2040  private RestartAlgorithm(int value) {
2041  this.value = value;
2042  }
2043 
2044  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.RestartAlgorithm)
2045  }
2046 
2055  implements com.google.protobuf.ProtocolMessageEnum {
2068  ;
2069 
2073  public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
2077  public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
2081  public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
2082 
2083 
2084  public final int getNumber() {
2085  return value;
2086  }
2087 
2093  @java.lang.Deprecated
2094  public static MaxSatAssumptionOrder valueOf(int value) {
2095  return forNumber(value);
2096  }
2097 
2102  public static MaxSatAssumptionOrder forNumber(int value) {
2103  switch (value) {
2104  case 0: return DEFAULT_ASSUMPTION_ORDER;
2105  case 1: return ORDER_ASSUMPTION_BY_DEPTH;
2106  case 2: return ORDER_ASSUMPTION_BY_WEIGHT;
2107  default: return null;
2108  }
2109  }
2110 
2111  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>
2113  return internalValueMap;
2114  }
2115  private static final com.google.protobuf.Internal.EnumLiteMap<
2116  MaxSatAssumptionOrder> internalValueMap =
2117  new com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>() {
2118  public MaxSatAssumptionOrder findValueByNumber(int number) {
2119  return MaxSatAssumptionOrder.forNumber(number);
2120  }
2121  };
2122 
2123  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2125  return getDescriptor().getValues().get(ordinal());
2126  }
2127  public final com.google.protobuf.Descriptors.EnumDescriptor
2129  return getDescriptor();
2130  }
2131  public static final com.google.protobuf.Descriptors.EnumDescriptor
2133  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
2134  }
2135 
2136  private static final MaxSatAssumptionOrder[] VALUES = values();
2137 
2139  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2140  if (desc.getType() != getDescriptor()) {
2141  throw new java.lang.IllegalArgumentException(
2142  "EnumValueDescriptor is not for this type.");
2143  }
2144  return VALUES[desc.getIndex()];
2145  }
2146 
2147  private final int value;
2148 
2149  private MaxSatAssumptionOrder(int value) {
2150  this.value = value;
2151  }
2152 
2153  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatAssumptionOrder)
2154  }
2155 
2164  implements com.google.protobuf.ProtocolMessageEnum {
2193  ;
2194 
2202  public static final int STRATIFICATION_NONE_VALUE = 0;
2211  public static final int STRATIFICATION_DESCENT_VALUE = 1;
2222  public static final int STRATIFICATION_ASCENT_VALUE = 2;
2223 
2224 
2225  public final int getNumber() {
2226  return value;
2227  }
2228 
2234  @java.lang.Deprecated
2235  public static MaxSatStratificationAlgorithm valueOf(int value) {
2236  return forNumber(value);
2237  }
2238 
2243  public static MaxSatStratificationAlgorithm forNumber(int value) {
2244  switch (value) {
2245  case 0: return STRATIFICATION_NONE;
2246  case 1: return STRATIFICATION_DESCENT;
2247  case 2: return STRATIFICATION_ASCENT;
2248  default: return null;
2249  }
2250  }
2251 
2252  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>
2254  return internalValueMap;
2255  }
2256  private static final com.google.protobuf.Internal.EnumLiteMap<
2257  MaxSatStratificationAlgorithm> internalValueMap =
2258  new com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>() {
2259  public MaxSatStratificationAlgorithm findValueByNumber(int number) {
2261  }
2262  };
2263 
2264  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2266  return getDescriptor().getValues().get(ordinal());
2267  }
2268  public final com.google.protobuf.Descriptors.EnumDescriptor
2270  return getDescriptor();
2271  }
2272  public static final com.google.protobuf.Descriptors.EnumDescriptor
2274  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
2275  }
2276 
2277  private static final MaxSatStratificationAlgorithm[] VALUES = values();
2278 
2280  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2281  if (desc.getType() != getDescriptor()) {
2282  throw new java.lang.IllegalArgumentException(
2283  "EnumValueDescriptor is not for this type.");
2284  }
2285  return VALUES[desc.getIndex()];
2286  }
2287 
2288  private final int value;
2289 
2290  private MaxSatStratificationAlgorithm(int value) {
2291  this.value = value;
2292  }
2293 
2294  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatStratificationAlgorithm)
2295  }
2296 
2304  public enum SearchBranching
2305  implements com.google.protobuf.ProtocolMessageEnum {
2373  ;
2374 
2383  public static final int AUTOMATIC_SEARCH_VALUE = 0;
2393  public static final int FIXED_SEARCH_VALUE = 1;
2401  public static final int PORTFOLIO_SEARCH_VALUE = 2;
2411  public static final int LP_SEARCH_VALUE = 3;
2421  public static final int PSEUDO_COST_SEARCH_VALUE = 4;
2431  public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
2441  public static final int HINT_SEARCH_VALUE = 6;
2442 
2443 
2444  public final int getNumber() {
2445  return value;
2446  }
2447 
2453  @java.lang.Deprecated
2454  public static SearchBranching valueOf(int value) {
2455  return forNumber(value);
2456  }
2457 
2462  public static SearchBranching forNumber(int value) {
2463  switch (value) {
2464  case 0: return AUTOMATIC_SEARCH;
2465  case 1: return FIXED_SEARCH;
2466  case 2: return PORTFOLIO_SEARCH;
2467  case 3: return LP_SEARCH;
2468  case 4: return PSEUDO_COST_SEARCH;
2469  case 5: return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
2470  case 6: return HINT_SEARCH;
2471  default: return null;
2472  }
2473  }
2474 
2475  public static com.google.protobuf.Internal.EnumLiteMap<SearchBranching>
2477  return internalValueMap;
2478  }
2479  private static final com.google.protobuf.Internal.EnumLiteMap<
2480  SearchBranching> internalValueMap =
2481  new com.google.protobuf.Internal.EnumLiteMap<SearchBranching>() {
2482  public SearchBranching findValueByNumber(int number) {
2483  return SearchBranching.forNumber(number);
2484  }
2485  };
2486 
2487  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2489  return getDescriptor().getValues().get(ordinal());
2490  }
2491  public final com.google.protobuf.Descriptors.EnumDescriptor
2493  return getDescriptor();
2494  }
2495  public static final com.google.protobuf.Descriptors.EnumDescriptor
2497  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
2498  }
2499 
2500  private static final SearchBranching[] VALUES = values();
2501 
2502  public static SearchBranching valueOf(
2503  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2504  if (desc.getType() != getDescriptor()) {
2505  throw new java.lang.IllegalArgumentException(
2506  "EnumValueDescriptor is not for this type.");
2507  }
2508  return VALUES[desc.getIndex()];
2509  }
2510 
2511  private final int value;
2512 
2513  private SearchBranching(int value) {
2514  this.value = value;
2515  }
2516 
2517  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.SearchBranching)
2518  }
2519 
2527  public enum FPRoundingMethod
2528  implements com.google.protobuf.ProtocolMessageEnum {
2569  ;
2570 
2578  public static final int NEAREST_INTEGER_VALUE = 0;
2588  public static final int LOCK_BASED_VALUE = 1;
2597  public static final int ACTIVE_LOCK_BASED_VALUE = 3;
2610  public static final int PROPAGATION_ASSISTED_VALUE = 2;
2611 
2612 
2613  public final int getNumber() {
2614  return value;
2615  }
2616 
2622  @java.lang.Deprecated
2623  public static FPRoundingMethod valueOf(int value) {
2624  return forNumber(value);
2625  }
2626 
2631  public static FPRoundingMethod forNumber(int value) {
2632  switch (value) {
2633  case 0: return NEAREST_INTEGER;
2634  case 1: return LOCK_BASED;
2635  case 3: return ACTIVE_LOCK_BASED;
2636  case 2: return PROPAGATION_ASSISTED;
2637  default: return null;
2638  }
2639  }
2640 
2641  public static com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>
2643  return internalValueMap;
2644  }
2645  private static final com.google.protobuf.Internal.EnumLiteMap<
2646  FPRoundingMethod> internalValueMap =
2647  new com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>() {
2648  public FPRoundingMethod findValueByNumber(int number) {
2649  return FPRoundingMethod.forNumber(number);
2650  }
2651  };
2652 
2653  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2655  return getDescriptor().getValues().get(ordinal());
2656  }
2657  public final com.google.protobuf.Descriptors.EnumDescriptor
2659  return getDescriptor();
2660  }
2661  public static final com.google.protobuf.Descriptors.EnumDescriptor
2663  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(10);
2664  }
2665 
2666  private static final FPRoundingMethod[] VALUES = values();
2667 
2668  public static FPRoundingMethod valueOf(
2669  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2670  if (desc.getType() != getDescriptor()) {
2671  throw new java.lang.IllegalArgumentException(
2672  "EnumValueDescriptor is not for this type.");
2673  }
2674  return VALUES[desc.getIndex()];
2675  }
2676 
2677  private final int value;
2678 
2679  private FPRoundingMethod(int value) {
2680  this.value = value;
2681  }
2682 
2683  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.FPRoundingMethod)
2684  }
2685 
2686  private int bitField0_;
2687  private int bitField1_;
2688  private int bitField2_;
2689  private int bitField3_;
2690  private int bitField4_;
2691  public static final int NAME_FIELD_NUMBER = 171;
2692  private volatile java.lang.Object name_;
2702  @java.lang.Override
2703  public boolean hasName() {
2704  return ((bitField0_ & 0x00000001) != 0);
2705  }
2715  @java.lang.Override
2716  public java.lang.String getName() {
2717  java.lang.Object ref = name_;
2718  if (ref instanceof java.lang.String) {
2719  return (java.lang.String) ref;
2720  } else {
2721  com.google.protobuf.ByteString bs =
2722  (com.google.protobuf.ByteString) ref;
2723  java.lang.String s = bs.toStringUtf8();
2724  if (bs.isValidUtf8()) {
2725  name_ = s;
2726  }
2727  return s;
2728  }
2729  }
2739  @java.lang.Override
2740  public com.google.protobuf.ByteString
2742  java.lang.Object ref = name_;
2743  if (ref instanceof java.lang.String) {
2744  com.google.protobuf.ByteString b =
2745  com.google.protobuf.ByteString.copyFromUtf8(
2746  (java.lang.String) ref);
2747  name_ = b;
2748  return b;
2749  } else {
2750  return (com.google.protobuf.ByteString) ref;
2751  }
2752  }
2753 
2754  public static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER = 1;
2755  private int preferredVariableOrder_;
2760  @java.lang.Override public boolean hasPreferredVariableOrder() {
2761  return ((bitField0_ & 0x00000002) != 0);
2762  }
2767  @java.lang.Override public com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder() {
2768  @SuppressWarnings("deprecation")
2769  com.google.ortools.sat.SatParameters.VariableOrder result = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(preferredVariableOrder_);
2770  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
2771  }
2772 
2773  public static final int INITIAL_POLARITY_FIELD_NUMBER = 2;
2774  private int initialPolarity_;
2779  @java.lang.Override public boolean hasInitialPolarity() {
2780  return ((bitField0_ & 0x00000004) != 0);
2781  }
2786  @java.lang.Override public com.google.ortools.sat.SatParameters.Polarity getInitialPolarity() {
2787  @SuppressWarnings("deprecation")
2788  com.google.ortools.sat.SatParameters.Polarity result = com.google.ortools.sat.SatParameters.Polarity.valueOf(initialPolarity_);
2789  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
2790  }
2791 
2792  public static final int USE_PHASE_SAVING_FIELD_NUMBER = 44;
2793  private boolean usePhaseSaving_;
2810  @java.lang.Override
2811  public boolean hasUsePhaseSaving() {
2812  return ((bitField0_ & 0x00000008) != 0);
2813  }
2830  @java.lang.Override
2831  public boolean getUsePhaseSaving() {
2832  return usePhaseSaving_;
2833  }
2834 
2835  public static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER = 168;
2836  private int polarityRephaseIncrement_;
2847  @java.lang.Override
2848  public boolean hasPolarityRephaseIncrement() {
2849  return ((bitField0_ & 0x00000010) != 0);
2850  }
2861  @java.lang.Override
2863  return polarityRephaseIncrement_;
2864  }
2865 
2866  public static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER = 45;
2867  private double randomPolarityRatio_;
2880  @java.lang.Override
2881  public boolean hasRandomPolarityRatio() {
2882  return ((bitField0_ & 0x00000020) != 0);
2883  }
2896  @java.lang.Override
2897  public double getRandomPolarityRatio() {
2898  return randomPolarityRatio_;
2899  }
2900 
2901  public static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER = 32;
2902  private double randomBranchesRatio_;
2913  @java.lang.Override
2914  public boolean hasRandomBranchesRatio() {
2915  return ((bitField0_ & 0x00000040) != 0);
2916  }
2927  @java.lang.Override
2928  public double getRandomBranchesRatio() {
2929  return randomBranchesRatio_;
2930  }
2931 
2932  public static final int USE_ERWA_HEURISTIC_FIELD_NUMBER = 75;
2933  private boolean useErwaHeuristic_;
2944  @java.lang.Override
2945  public boolean hasUseErwaHeuristic() {
2946  return ((bitField0_ & 0x00000080) != 0);
2947  }
2958  @java.lang.Override
2959  public boolean getUseErwaHeuristic() {
2960  return useErwaHeuristic_;
2961  }
2962 
2963  public static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER = 76;
2964  private double initialVariablesActivity_;
2978  @java.lang.Override
2979  public boolean hasInitialVariablesActivity() {
2980  return ((bitField0_ & 0x00000100) != 0);
2981  }
2995  @java.lang.Override
2997  return initialVariablesActivity_;
2998  }
2999 
3001  private boolean alsoBumpVariablesInConflictReasons_;
3013  @java.lang.Override
3015  return ((bitField0_ & 0x00000200) != 0);
3016  }
3028  @java.lang.Override
3030  return alsoBumpVariablesInConflictReasons_;
3031  }
3032 
3033  public static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER = 4;
3034  private int minimizationAlgorithm_;
3039  @java.lang.Override public boolean hasMinimizationAlgorithm() {
3040  return ((bitField0_ & 0x00000400) != 0);
3041  }
3046  @java.lang.Override public com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm() {
3047  @SuppressWarnings("deprecation")
3048  com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm result = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(minimizationAlgorithm_);
3049  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
3050  }
3051 
3052  public static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER = 34;
3053  private int binaryMinimizationAlgorithm_;
3058  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
3059  return ((bitField0_ & 0x00000800) != 0);
3060  }
3065  @java.lang.Override public com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm() {
3066  @SuppressWarnings("deprecation")
3067  com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm result = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(binaryMinimizationAlgorithm_);
3068  return result == null ? com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.BINARY_MINIMIZATION_FIRST : result;
3069  }
3070 
3072  private boolean subsumptionDuringConflictAnalysis_;
3084  @java.lang.Override
3086  return ((bitField0_ & 0x00001000) != 0);
3087  }
3099  @java.lang.Override
3101  return subsumptionDuringConflictAnalysis_;
3102  }
3103 
3104  public static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER = 11;
3105  private int clauseCleanupPeriod_;
3114  @java.lang.Override
3115  public boolean hasClauseCleanupPeriod() {
3116  return ((bitField0_ & 0x00002000) != 0);
3117  }
3126  @java.lang.Override
3127  public int getClauseCleanupPeriod() {
3128  return clauseCleanupPeriod_;
3129  }
3130 
3131  public static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER = 13;
3132  private int clauseCleanupTarget_;
3142  @java.lang.Override
3143  public boolean hasClauseCleanupTarget() {
3144  return ((bitField0_ & 0x00004000) != 0);
3145  }
3155  @java.lang.Override
3156  public int getClauseCleanupTarget() {
3157  return clauseCleanupTarget_;
3158  }
3159 
3160  public static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER = 58;
3161  private int clauseCleanupProtection_;
3166  @java.lang.Override public boolean hasClauseCleanupProtection() {
3167  return ((bitField0_ & 0x00008000) != 0);
3168  }
3173  @java.lang.Override public com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection() {
3174  @SuppressWarnings("deprecation")
3175  com.google.ortools.sat.SatParameters.ClauseProtection result = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(clauseCleanupProtection_);
3176  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
3177  }
3178 
3179  public static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER = 59;
3180  private int clauseCleanupLbdBound_;
3190  @java.lang.Override
3191  public boolean hasClauseCleanupLbdBound() {
3192  return ((bitField0_ & 0x00010000) != 0);
3193  }
3203  @java.lang.Override
3205  return clauseCleanupLbdBound_;
3206  }
3207 
3208  public static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER = 60;
3209  private int clauseCleanupOrdering_;
3214  @java.lang.Override public boolean hasClauseCleanupOrdering() {
3215  return ((bitField0_ & 0x00020000) != 0);
3216  }
3221  @java.lang.Override public com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering() {
3222  @SuppressWarnings("deprecation")
3223  com.google.ortools.sat.SatParameters.ClauseOrdering result = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(clauseCleanupOrdering_);
3224  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
3225  }
3226 
3227  public static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER = 46;
3228  private int pbCleanupIncrement_;
3237  @java.lang.Override
3238  public boolean hasPbCleanupIncrement() {
3239  return ((bitField0_ & 0x00040000) != 0);
3240  }
3249  @java.lang.Override
3250  public int getPbCleanupIncrement() {
3251  return pbCleanupIncrement_;
3252  }
3253 
3254  public static final int PB_CLEANUP_RATIO_FIELD_NUMBER = 47;
3255  private double pbCleanupRatio_;
3260  @java.lang.Override
3261  public boolean hasPbCleanupRatio() {
3262  return ((bitField0_ & 0x00080000) != 0);
3263  }
3268  @java.lang.Override
3269  public double getPbCleanupRatio() {
3270  return pbCleanupRatio_;
3271  }
3272 
3274  private int minimizeWithPropagationRestartPeriod_;
3293  @java.lang.Override
3295  return ((bitField0_ & 0x00100000) != 0);
3296  }
3315  @java.lang.Override
3317  return minimizeWithPropagationRestartPeriod_;
3318  }
3319 
3321  private int minimizeWithPropagationNumDecisions_;
3326  @java.lang.Override
3328  return ((bitField0_ & 0x00200000) != 0);
3329  }
3334  @java.lang.Override
3336  return minimizeWithPropagationNumDecisions_;
3337  }
3338 
3339  public static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER = 15;
3340  private double variableActivityDecay_;
3355  @java.lang.Override
3356  public boolean hasVariableActivityDecay() {
3357  return ((bitField0_ & 0x00400000) != 0);
3358  }
3373  @java.lang.Override
3374  public double getVariableActivityDecay() {
3375  return variableActivityDecay_;
3376  }
3377 
3378  public static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER = 16;
3379  private double maxVariableActivityValue_;
3384  @java.lang.Override
3385  public boolean hasMaxVariableActivityValue() {
3386  return ((bitField0_ & 0x00800000) != 0);
3387  }
3392  @java.lang.Override
3394  return maxVariableActivityValue_;
3395  }
3396 
3397  public static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER = 22;
3398  private double glucoseMaxDecay_;
3410  @java.lang.Override
3411  public boolean hasGlucoseMaxDecay() {
3412  return ((bitField0_ & 0x01000000) != 0);
3413  }
3425  @java.lang.Override
3426  public double getGlucoseMaxDecay() {
3427  return glucoseMaxDecay_;
3428  }
3429 
3430  public static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER = 23;
3431  private double glucoseDecayIncrement_;
3436  @java.lang.Override
3437  public boolean hasGlucoseDecayIncrement() {
3438  return ((bitField0_ & 0x02000000) != 0);
3439  }
3444  @java.lang.Override
3445  public double getGlucoseDecayIncrement() {
3446  return glucoseDecayIncrement_;
3447  }
3448 
3449  public static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER = 24;
3450  private int glucoseDecayIncrementPeriod_;
3455  @java.lang.Override
3457  return ((bitField0_ & 0x04000000) != 0);
3458  }
3463  @java.lang.Override
3465  return glucoseDecayIncrementPeriod_;
3466  }
3467 
3468  public static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER = 17;
3469  private double clauseActivityDecay_;
3478  @java.lang.Override
3479  public boolean hasClauseActivityDecay() {
3480  return ((bitField0_ & 0x08000000) != 0);
3481  }
3490  @java.lang.Override
3491  public double getClauseActivityDecay() {
3492  return clauseActivityDecay_;
3493  }
3494 
3495  public static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER = 18;
3496  private double maxClauseActivityValue_;
3501  @java.lang.Override
3502  public boolean hasMaxClauseActivityValue() {
3503  return ((bitField0_ & 0x10000000) != 0);
3504  }
3509  @java.lang.Override
3510  public double getMaxClauseActivityValue() {
3511  return maxClauseActivityValue_;
3512  }
3513 
3514  public static final int RESTART_ALGORITHMS_FIELD_NUMBER = 61;
3515  private java.util.List<java.lang.Integer> restartAlgorithms_;
3516  private static final com.google.protobuf.Internal.ListAdapter.Converter<
3517  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm> restartAlgorithms_converter_ =
3518  new com.google.protobuf.Internal.ListAdapter.Converter<
3519  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>() {
3520  public com.google.ortools.sat.SatParameters.RestartAlgorithm convert(java.lang.Integer from) {
3521  @SuppressWarnings("deprecation")
3522  com.google.ortools.sat.SatParameters.RestartAlgorithm result = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(from);
3523  return result == null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
3524  }
3525  };
3541  @java.lang.Override
3542  public java.util.List<com.google.ortools.sat.SatParameters.RestartAlgorithm> getRestartAlgorithmsList() {
3543  return new com.google.protobuf.Internal.ListAdapter<
3544  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
3545  }
3561  @java.lang.Override
3563  return restartAlgorithms_.size();
3564  }
3581  @java.lang.Override
3582  public com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index) {
3583  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
3584  }
3585 
3586  public static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER = 70;
3587  private volatile java.lang.Object defaultRestartAlgorithms_;
3592  @java.lang.Override
3593  public boolean hasDefaultRestartAlgorithms() {
3594  return ((bitField0_ & 0x20000000) != 0);
3595  }
3600  @java.lang.Override
3601  public java.lang.String getDefaultRestartAlgorithms() {
3602  java.lang.Object ref = defaultRestartAlgorithms_;
3603  if (ref instanceof java.lang.String) {
3604  return (java.lang.String) ref;
3605  } else {
3606  com.google.protobuf.ByteString bs =
3607  (com.google.protobuf.ByteString) ref;
3608  java.lang.String s = bs.toStringUtf8();
3609  if (bs.isValidUtf8()) {
3610  defaultRestartAlgorithms_ = s;
3611  }
3612  return s;
3613  }
3614  }
3619  @java.lang.Override
3620  public com.google.protobuf.ByteString
3622  java.lang.Object ref = defaultRestartAlgorithms_;
3623  if (ref instanceof java.lang.String) {
3624  com.google.protobuf.ByteString b =
3625  com.google.protobuf.ByteString.copyFromUtf8(
3626  (java.lang.String) ref);
3627  defaultRestartAlgorithms_ = b;
3628  return b;
3629  } else {
3630  return (com.google.protobuf.ByteString) ref;
3631  }
3632  }
3633 
3634  public static final int RESTART_PERIOD_FIELD_NUMBER = 30;
3635  private int restartPeriod_;
3645  @java.lang.Override
3646  public boolean hasRestartPeriod() {
3647  return ((bitField0_ & 0x40000000) != 0);
3648  }
3658  @java.lang.Override
3659  public int getRestartPeriod() {
3660  return restartPeriod_;
3661  }
3662 
3663  public static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER = 62;
3664  private int restartRunningWindowSize_;
3673  @java.lang.Override
3674  public boolean hasRestartRunningWindowSize() {
3675  return ((bitField0_ & 0x80000000) != 0);
3676  }
3685  @java.lang.Override
3687  return restartRunningWindowSize_;
3688  }
3689 
3690  public static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER = 63;
3691  private double restartDlAverageRatio_;
3701  @java.lang.Override
3702  public boolean hasRestartDlAverageRatio() {
3703  return ((bitField1_ & 0x00000001) != 0);
3704  }
3714  @java.lang.Override
3715  public double getRestartDlAverageRatio() {
3716  return restartDlAverageRatio_;
3717  }
3718 
3719  public static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER = 71;
3720  private double restartLbdAverageRatio_;
3725  @java.lang.Override
3726  public boolean hasRestartLbdAverageRatio() {
3727  return ((bitField1_ & 0x00000002) != 0);
3728  }
3733  @java.lang.Override
3734  public double getRestartLbdAverageRatio() {
3735  return restartLbdAverageRatio_;
3736  }
3737 
3738  public static final int USE_BLOCKING_RESTART_FIELD_NUMBER = 64;
3739  private boolean useBlockingRestart_;
3750  @java.lang.Override
3751  public boolean hasUseBlockingRestart() {
3752  return ((bitField1_ & 0x00000004) != 0);
3753  }
3764  @java.lang.Override
3765  public boolean getUseBlockingRestart() {
3766  return useBlockingRestart_;
3767  }
3768 
3769  public static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER = 65;
3770  private int blockingRestartWindowSize_;
3775  @java.lang.Override
3776  public boolean hasBlockingRestartWindowSize() {
3777  return ((bitField1_ & 0x00000008) != 0);
3778  }
3783  @java.lang.Override
3785  return blockingRestartWindowSize_;
3786  }
3787 
3788  public static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER = 66;
3789  private double blockingRestartMultiplier_;
3794  @java.lang.Override
3795  public boolean hasBlockingRestartMultiplier() {
3796  return ((bitField1_ & 0x00000010) != 0);
3797  }
3802  @java.lang.Override
3804  return blockingRestartMultiplier_;
3805  }
3806 
3808  private int numConflictsBeforeStrategyChanges_;
3819  @java.lang.Override
3821  return ((bitField1_ & 0x00000020) != 0);
3822  }
3833  @java.lang.Override
3835  return numConflictsBeforeStrategyChanges_;
3836  }
3837 
3838  public static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER = 69;
3839  private double strategyChangeIncreaseRatio_;
3849  @java.lang.Override
3851  return ((bitField1_ & 0x00000040) != 0);
3852  }
3862  @java.lang.Override
3864  return strategyChangeIncreaseRatio_;
3865  }
3866 
3867  public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 36;
3868  private double maxTimeInSeconds_;
3878  @java.lang.Override
3879  public boolean hasMaxTimeInSeconds() {
3880  return ((bitField1_ & 0x00000080) != 0);
3881  }
3891  @java.lang.Override
3892  public double getMaxTimeInSeconds() {
3893  return maxTimeInSeconds_;
3894  }
3895 
3896  public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 67;
3897  private double maxDeterministicTime_;
3908  @java.lang.Override
3909  public boolean hasMaxDeterministicTime() {
3910  return ((bitField1_ & 0x00000100) != 0);
3911  }
3922  @java.lang.Override
3923  public double getMaxDeterministicTime() {
3924  return maxDeterministicTime_;
3925  }
3926 
3927  public static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER = 37;
3928  private long maxNumberOfConflicts_;
3942  @java.lang.Override
3943  public boolean hasMaxNumberOfConflicts() {
3944  return ((bitField1_ & 0x00000200) != 0);
3945  }
3959  @java.lang.Override
3960  public long getMaxNumberOfConflicts() {
3961  return maxNumberOfConflicts_;
3962  }
3963 
3964  public static final int MAX_MEMORY_IN_MB_FIELD_NUMBER = 40;
3965  private long maxMemoryInMb_;
3977  @java.lang.Override
3978  public boolean hasMaxMemoryInMb() {
3979  return ((bitField1_ & 0x00000400) != 0);
3980  }
3992  @java.lang.Override
3993  public long getMaxMemoryInMb() {
3994  return maxMemoryInMb_;
3995  }
3996 
3997  public static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER = 159;
3998  private double absoluteGapLimit_;
4016  @java.lang.Override
4017  public boolean hasAbsoluteGapLimit() {
4018  return ((bitField1_ & 0x00000800) != 0);
4019  }
4037  @java.lang.Override
4038  public double getAbsoluteGapLimit() {
4039  return absoluteGapLimit_;
4040  }
4041 
4042  public static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER = 160;
4043  private double relativeGapLimit_;
4048  @java.lang.Override
4049  public boolean hasRelativeGapLimit() {
4050  return ((bitField1_ & 0x00001000) != 0);
4051  }
4056  @java.lang.Override
4057  public double getRelativeGapLimit() {
4058  return relativeGapLimit_;
4059  }
4060 
4061  public static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER = 33;
4062  private boolean treatBinaryClausesSeparately_;
4073  @java.lang.Override
4075  return ((bitField1_ & 0x00002000) != 0);
4076  }
4087  @java.lang.Override
4089  return treatBinaryClausesSeparately_;
4090  }
4091 
4092  public static final int RANDOM_SEED_FIELD_NUMBER = 31;
4093  private int randomSeed_;
4107  @java.lang.Override
4108  public boolean hasRandomSeed() {
4109  return ((bitField1_ & 0x00004000) != 0);
4110  }
4124  @java.lang.Override
4125  public int getRandomSeed() {
4126  return randomSeed_;
4127  }
4128 
4129  public static final int PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER = 178;
4130  private boolean permuteVariableRandomly_;
4142  @java.lang.Override
4143  public boolean hasPermuteVariableRandomly() {
4144  return ((bitField1_ & 0x00008000) != 0);
4145  }
4157  @java.lang.Override
4158  public boolean getPermuteVariableRandomly() {
4159  return permuteVariableRandomly_;
4160  }
4161 
4162  public static final int PERMUTE_PRESOLVE_CONSTRAINT_ORDER_FIELD_NUMBER = 179;
4163  private boolean permutePresolveConstraintOrder_;
4168  @java.lang.Override
4170  return ((bitField1_ & 0x00010000) != 0);
4171  }
4176  @java.lang.Override
4178  return permutePresolveConstraintOrder_;
4179  }
4180 
4181  public static final int USE_ABSL_RANDOM_FIELD_NUMBER = 180;
4182  private boolean useAbslRandom_;
4187  @java.lang.Override
4188  public boolean hasUseAbslRandom() {
4189  return ((bitField1_ & 0x00020000) != 0);
4190  }
4195  @java.lang.Override
4196  public boolean getUseAbslRandom() {
4197  return useAbslRandom_;
4198  }
4199 
4200  public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 41;
4201  private boolean logSearchProgress_;
4210  @java.lang.Override
4211  public boolean hasLogSearchProgress() {
4212  return ((bitField1_ & 0x00040000) != 0);
4213  }
4222  @java.lang.Override
4223  public boolean getLogSearchProgress() {
4224  return logSearchProgress_;
4225  }
4226 
4227  public static final int USE_PB_RESOLUTION_FIELD_NUMBER = 43;
4228  private boolean usePbResolution_;
4240  @java.lang.Override
4241  public boolean hasUsePbResolution() {
4242  return ((bitField1_ & 0x00080000) != 0);
4243  }
4255  @java.lang.Override
4256  public boolean getUsePbResolution() {
4257  return usePbResolution_;
4258  }
4259 
4261  private boolean minimizeReductionDuringPbResolution_;
4273  @java.lang.Override
4275  return ((bitField1_ & 0x00100000) != 0);
4276  }
4288  @java.lang.Override
4290  return minimizeReductionDuringPbResolution_;
4291  }
4292 
4293  public static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER = 49;
4294  private boolean countAssumptionLevelsInLbd_;
4310  @java.lang.Override
4312  return ((bitField1_ & 0x00200000) != 0);
4313  }
4329  @java.lang.Override
4331  return countAssumptionLevelsInLbd_;
4332  }
4333 
4334  public static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER = 54;
4335  private int presolveBveThreshold_;
4346  @java.lang.Override
4347  public boolean hasPresolveBveThreshold() {
4348  return ((bitField1_ & 0x00400000) != 0);
4349  }
4360  @java.lang.Override
4362  return presolveBveThreshold_;
4363  }
4364 
4365  public static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER = 55;
4366  private int presolveBveClauseWeight_;
4376  @java.lang.Override
4377  public boolean hasPresolveBveClauseWeight() {
4378  return ((bitField1_ & 0x00800000) != 0);
4379  }
4389  @java.lang.Override
4391  return presolveBveClauseWeight_;
4392  }
4393 
4395  private double presolveProbingDeterministicTimeLimit_;
4405  @java.lang.Override
4407  return ((bitField1_ & 0x01000000) != 0);
4408  }
4418  @java.lang.Override
4420  return presolveProbingDeterministicTimeLimit_;
4421  }
4422 
4423  public static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER = 88;
4424  private boolean presolveBlockedClause_;
4434  @java.lang.Override
4435  public boolean hasPresolveBlockedClause() {
4436  return ((bitField1_ & 0x02000000) != 0);
4437  }
4447  @java.lang.Override
4448  public boolean getPresolveBlockedClause() {
4449  return presolveBlockedClause_;
4450  }
4451 
4452  public static final int PRESOLVE_USE_BVA_FIELD_NUMBER = 72;
4453  private boolean presolveUseBva_;
4462  @java.lang.Override
4463  public boolean hasPresolveUseBva() {
4464  return ((bitField1_ & 0x04000000) != 0);
4465  }
4474  @java.lang.Override
4475  public boolean getPresolveUseBva() {
4476  return presolveUseBva_;
4477  }
4478 
4479  public static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER = 73;
4480  private int presolveBvaThreshold_;
4492  @java.lang.Override
4493  public boolean hasPresolveBvaThreshold() {
4494  return ((bitField1_ & 0x08000000) != 0);
4495  }
4507  @java.lang.Override
4509  return presolveBvaThreshold_;
4510  }
4511 
4512  public static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER = 138;
4513  private int maxPresolveIterations_;
4524  @java.lang.Override
4525  public boolean hasMaxPresolveIterations() {
4526  return ((bitField1_ & 0x10000000) != 0);
4527  }
4538  @java.lang.Override
4540  return maxPresolveIterations_;
4541  }
4542 
4543  public static final int CP_MODEL_PRESOLVE_FIELD_NUMBER = 86;
4544  private boolean cpModelPresolve_;
4553  @java.lang.Override
4554  public boolean hasCpModelPresolve() {
4555  return ((bitField1_ & 0x20000000) != 0);
4556  }
4565  @java.lang.Override
4566  public boolean getCpModelPresolve() {
4567  return cpModelPresolve_;
4568  }
4569 
4571  private boolean cpModelPostsolveWithFullSolver_;
4583  @java.lang.Override
4585  return ((bitField1_ & 0x40000000) != 0);
4586  }
4598  @java.lang.Override
4600  return cpModelPostsolveWithFullSolver_;
4601  }
4602 
4604  private int cpModelMaxNumPresolveOperations_;
4614  @java.lang.Override
4616  return ((bitField1_ & 0x80000000) != 0);
4617  }
4627  @java.lang.Override
4629  return cpModelMaxNumPresolveOperations_;
4630  }
4631 
4632  public static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER = 110;
4633  private int cpModelProbingLevel_;
4642  @java.lang.Override
4643  public boolean hasCpModelProbingLevel() {
4644  return ((bitField2_ & 0x00000001) != 0);
4645  }
4654  @java.lang.Override
4655  public int getCpModelProbingLevel() {
4656  return cpModelProbingLevel_;
4657  }
4658 
4659  public static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER = 93;
4660  private boolean cpModelUseSatPresolve_;
4669  @java.lang.Override
4670  public boolean hasCpModelUseSatPresolve() {
4671  return ((bitField2_ & 0x00000002) != 0);
4672  }
4681  @java.lang.Override
4682  public boolean getCpModelUseSatPresolve() {
4683  return cpModelUseSatPresolve_;
4684  }
4685 
4686  public static final int USE_SAT_INPROCESSING_FIELD_NUMBER = 163;
4687  private boolean useSatInprocessing_;
4692  @java.lang.Override
4693  public boolean hasUseSatInprocessing() {
4694  return ((bitField2_ & 0x00000004) != 0);
4695  }
4700  @java.lang.Override
4701  public boolean getUseSatInprocessing() {
4702  return useSatInprocessing_;
4703  }
4704 
4705  public static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER = 140;
4706  private boolean expandElementConstraints_;
4716  @java.lang.Override
4717  public boolean hasExpandElementConstraints() {
4718  return ((bitField2_ & 0x00000008) != 0);
4719  }
4729  @java.lang.Override
4730  public boolean getExpandElementConstraints() {
4731  return expandElementConstraints_;
4732  }
4733 
4734  public static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER = 143;
4735  private boolean expandAutomatonConstraints_;
4744  @java.lang.Override
4746  return ((bitField2_ & 0x00000010) != 0);
4747  }
4756  @java.lang.Override
4758  return expandAutomatonConstraints_;
4759  }
4760 
4761  public static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER = 158;
4762  private boolean expandTableConstraints_;
4772  @java.lang.Override
4773  public boolean hasExpandTableConstraints() {
4774  return ((bitField2_ & 0x00000020) != 0);
4775  }
4785  @java.lang.Override
4786  public boolean getExpandTableConstraints() {
4787  return expandTableConstraints_;
4788  }
4789 
4790  public static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER = 170;
4791  private boolean expandAlldiffConstraints_;
4801  @java.lang.Override
4802  public boolean hasExpandAlldiffConstraints() {
4803  return ((bitField2_ & 0x00000040) != 0);
4804  }
4814  @java.lang.Override
4815  public boolean getExpandAlldiffConstraints() {
4816  return expandAlldiffConstraints_;
4817  }
4818 
4819  public static final int EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER = 182;
4820  private boolean expandReservoirConstraints_;
4830  @java.lang.Override
4832  return ((bitField2_ & 0x00000080) != 0);
4833  }
4843  @java.lang.Override
4845  return expandReservoirConstraints_;
4846  }
4847 
4848  public static final int DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER = 181;
4849  private boolean disableConstraintExpansion_;
4859  @java.lang.Override
4861  return ((bitField2_ & 0x00000100) != 0);
4862  }
4872  @java.lang.Override
4874  return disableConstraintExpansion_;
4875  }
4876 
4877  public static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER = 145;
4878  private double mergeNoOverlapWorkLimit_;
4891  @java.lang.Override
4892  public boolean hasMergeNoOverlapWorkLimit() {
4893  return ((bitField2_ & 0x00000200) != 0);
4894  }
4907  @java.lang.Override
4908  public double getMergeNoOverlapWorkLimit() {
4909  return mergeNoOverlapWorkLimit_;
4910  }
4911 
4912  public static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER = 146;
4913  private double mergeAtMostOneWorkLimit_;
4918  @java.lang.Override
4919  public boolean hasMergeAtMostOneWorkLimit() {
4920  return ((bitField2_ & 0x00000400) != 0);
4921  }
4926  @java.lang.Override
4927  public double getMergeAtMostOneWorkLimit() {
4928  return mergeAtMostOneWorkLimit_;
4929  }
4930 
4931  public static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER = 147;
4932  private int presolveSubstitutionLevel_;
4944  @java.lang.Override
4945  public boolean hasPresolveSubstitutionLevel() {
4946  return ((bitField2_ & 0x00000800) != 0);
4947  }
4959  @java.lang.Override
4961  return presolveSubstitutionLevel_;
4962  }
4963 
4965  private boolean presolveExtractIntegerEnforcement_;
4979  @java.lang.Override
4981  return ((bitField2_ & 0x00001000) != 0);
4982  }
4996  @java.lang.Override
4998  return presolveExtractIntegerEnforcement_;
4999  }
5000 
5001  public static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER = 35;
5002  private boolean useOptimizationHints_;
5014  @java.lang.Override
5015  public boolean hasUseOptimizationHints() {
5016  return ((bitField2_ & 0x00002000) != 0);
5017  }
5029  @java.lang.Override
5030  public boolean getUseOptimizationHints() {
5031  return useOptimizationHints_;
5032  }
5033 
5034  public static final int MINIMIZE_CORE_FIELD_NUMBER = 50;
5035  private boolean minimizeCore_;
5044  @java.lang.Override
5045  public boolean hasMinimizeCore() {
5046  return ((bitField2_ & 0x00004000) != 0);
5047  }
5056  @java.lang.Override
5057  public boolean getMinimizeCore() {
5058  return minimizeCore_;
5059  }
5060 
5061  public static final int FIND_MULTIPLE_CORES_FIELD_NUMBER = 84;
5062  private boolean findMultipleCores_;
5072  @java.lang.Override
5073  public boolean hasFindMultipleCores() {
5074  return ((bitField2_ & 0x00008000) != 0);
5075  }
5085  @java.lang.Override
5086  public boolean getFindMultipleCores() {
5087  return findMultipleCores_;
5088  }
5089 
5090  public static final int COVER_OPTIMIZATION_FIELD_NUMBER = 89;
5091  private boolean coverOptimization_;
5101  @java.lang.Override
5102  public boolean hasCoverOptimization() {
5103  return ((bitField2_ & 0x00010000) != 0);
5104  }
5114  @java.lang.Override
5115  public boolean getCoverOptimization() {
5116  return coverOptimization_;
5117  }
5118 
5119  public static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER = 51;
5120  private int maxSatAssumptionOrder_;
5125  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
5126  return ((bitField2_ & 0x00020000) != 0);
5127  }
5132  @java.lang.Override public com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder() {
5133  @SuppressWarnings("deprecation")
5134  com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder result = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(maxSatAssumptionOrder_);
5135  return result == null ? com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.DEFAULT_ASSUMPTION_ORDER : result;
5136  }
5137 
5139  private boolean maxSatReverseAssumptionOrder_;
5149  @java.lang.Override
5151  return ((bitField2_ & 0x00040000) != 0);
5152  }
5162  @java.lang.Override
5164  return maxSatReverseAssumptionOrder_;
5165  }
5166 
5167  public static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER = 53;
5168  private int maxSatStratification_;
5173  @java.lang.Override public boolean hasMaxSatStratification() {
5174  return ((bitField2_ & 0x00080000) != 0);
5175  }
5180  @java.lang.Override public com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification() {
5181  @SuppressWarnings("deprecation")
5182  com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm result = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(maxSatStratification_);
5183  return result == null ? com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.STRATIFICATION_DESCENT : result;
5184  }
5185 
5187  private boolean usePrecedencesInDisjunctiveConstraint_;
5203  @java.lang.Override
5205  return ((bitField2_ & 0x00100000) != 0);
5206  }
5222  @java.lang.Override
5224  return usePrecedencesInDisjunctiveConstraint_;
5225  }
5226 
5228  private boolean useOverloadCheckerInCumulativeConstraint_;
5242  @java.lang.Override
5244  return ((bitField2_ & 0x00200000) != 0);
5245  }
5259  @java.lang.Override
5261  return useOverloadCheckerInCumulativeConstraint_;
5262  }
5263 
5265  private boolean useTimetableEdgeFindingInCumulativeConstraint_;
5279  @java.lang.Override
5281  return ((bitField2_ & 0x00400000) != 0);
5282  }
5296  @java.lang.Override
5298  return useTimetableEdgeFindingInCumulativeConstraint_;
5299  }
5300 
5302  private boolean useDisjunctiveConstraintInCumulativeConstraint_;
5318  @java.lang.Override
5320  return ((bitField2_ & 0x00800000) != 0);
5321  }
5337  @java.lang.Override
5339  return useDisjunctiveConstraintInCumulativeConstraint_;
5340  }
5341 
5342  public static final int LINEARIZATION_LEVEL_FIELD_NUMBER = 90;
5343  private int linearizationLevel_;
5355  @java.lang.Override
5356  public boolean hasLinearizationLevel() {
5357  return ((bitField2_ & 0x01000000) != 0);
5358  }
5370  @java.lang.Override
5371  public int getLinearizationLevel() {
5372  return linearizationLevel_;
5373  }
5374 
5375  public static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER = 107;
5376  private int booleanEncodingLevel_;
5386  @java.lang.Override
5387  public boolean hasBooleanEncodingLevel() {
5388  return ((bitField2_ & 0x02000000) != 0);
5389  }
5399  @java.lang.Override
5401  return booleanEncodingLevel_;
5402  }
5403 
5404  public static final int MAX_NUM_CUTS_FIELD_NUMBER = 91;
5405  private int maxNumCuts_;
5417  @java.lang.Override
5418  public boolean hasMaxNumCuts() {
5419  return ((bitField2_ & 0x04000000) != 0);
5420  }
5432  @java.lang.Override
5433  public int getMaxNumCuts() {
5434  return maxNumCuts_;
5435  }
5436 
5437  public static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER = 92;
5438  private boolean onlyAddCutsAtLevelZero_;
5448  @java.lang.Override
5449  public boolean hasOnlyAddCutsAtLevelZero() {
5450  return ((bitField2_ & 0x08000000) != 0);
5451  }
5461  @java.lang.Override
5462  public boolean getOnlyAddCutsAtLevelZero() {
5463  return onlyAddCutsAtLevelZero_;
5464  }
5465 
5466  public static final int ADD_KNAPSACK_CUTS_FIELD_NUMBER = 111;
5467  private boolean addKnapsackCuts_;
5478  @java.lang.Override
5479  public boolean hasAddKnapsackCuts() {
5480  return ((bitField2_ & 0x10000000) != 0);
5481  }
5492  @java.lang.Override
5493  public boolean getAddKnapsackCuts() {
5494  return addKnapsackCuts_;
5495  }
5496 
5497  public static final int ADD_CG_CUTS_FIELD_NUMBER = 117;
5498  private boolean addCgCuts_;
5508  @java.lang.Override
5509  public boolean hasAddCgCuts() {
5510  return ((bitField2_ & 0x20000000) != 0);
5511  }
5521  @java.lang.Override
5522  public boolean getAddCgCuts() {
5523  return addCgCuts_;
5524  }
5525 
5526  public static final int ADD_MIR_CUTS_FIELD_NUMBER = 120;
5527  private boolean addMirCuts_;
5537  @java.lang.Override
5538  public boolean hasAddMirCuts() {
5539  return ((bitField2_ & 0x40000000) != 0);
5540  }
5550  @java.lang.Override
5551  public boolean getAddMirCuts() {
5552  return addMirCuts_;
5553  }
5554 
5555  public static final int ADD_ZERO_HALF_CUTS_FIELD_NUMBER = 169;
5556  private boolean addZeroHalfCuts_;
5566  @java.lang.Override
5567  public boolean hasAddZeroHalfCuts() {
5568  return ((bitField2_ & 0x80000000) != 0);
5569  }
5579  @java.lang.Override
5580  public boolean getAddZeroHalfCuts() {
5581  return addZeroHalfCuts_;
5582  }
5583 
5584  public static final int ADD_CLIQUE_CUTS_FIELD_NUMBER = 172;
5585  private boolean addCliqueCuts_;
5596  @java.lang.Override
5597  public boolean hasAddCliqueCuts() {
5598  return ((bitField3_ & 0x00000001) != 0);
5599  }
5610  @java.lang.Override
5611  public boolean getAddCliqueCuts() {
5612  return addCliqueCuts_;
5613  }
5614 
5615  public static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER = 148;
5616  private int maxAllDiffCutSize_;
5627  @java.lang.Override
5628  public boolean hasMaxAllDiffCutSize() {
5629  return ((bitField3_ & 0x00000002) != 0);
5630  }
5641  @java.lang.Override
5642  public int getMaxAllDiffCutSize() {
5643  return maxAllDiffCutSize_;
5644  }
5645 
5646  public static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER = 152;
5647  private boolean addLinMaxCuts_;
5658  @java.lang.Override
5659  public boolean hasAddLinMaxCuts() {
5660  return ((bitField3_ & 0x00000004) != 0);
5661  }
5672  @java.lang.Override
5673  public boolean getAddLinMaxCuts() {
5674  return addLinMaxCuts_;
5675  }
5676 
5677  public static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER = 119;
5678  private int maxIntegerRoundingScaling_;
5693  @java.lang.Override
5694  public boolean hasMaxIntegerRoundingScaling() {
5695  return ((bitField3_ & 0x00000008) != 0);
5696  }
5711  @java.lang.Override
5713  return maxIntegerRoundingScaling_;
5714  }
5715 
5716  public static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER = 112;
5717  private boolean addLpConstraintsLazily_;
5729  @java.lang.Override
5730  public boolean hasAddLpConstraintsLazily() {
5731  return ((bitField3_ & 0x00000010) != 0);
5732  }
5744  @java.lang.Override
5745  public boolean getAddLpConstraintsLazily() {
5746  return addLpConstraintsLazily_;
5747  }
5748 
5750  private double minOrthogonalityForLpConstraints_;
5763  @java.lang.Override
5765  return ((bitField3_ & 0x00000020) != 0);
5766  }
5779  @java.lang.Override
5781  return minOrthogonalityForLpConstraints_;
5782  }
5783 
5784  public static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER = 154;
5785  private int maxCutRoundsAtLevelZero_;
5794  @java.lang.Override
5795  public boolean hasMaxCutRoundsAtLevelZero() {
5796  return ((bitField3_ & 0x00000040) != 0);
5797  }
5806  @java.lang.Override
5808  return maxCutRoundsAtLevelZero_;
5809  }
5810 
5811  public static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER = 121;
5812  private int maxConsecutiveInactiveCount_;
5823  @java.lang.Override
5825  return ((bitField3_ & 0x00000080) != 0);
5826  }
5837  @java.lang.Override
5839  return maxConsecutiveInactiveCount_;
5840  }
5841 
5842  public static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER = 155;
5843  private double cutMaxActiveCountValue_;
5854  @java.lang.Override
5855  public boolean hasCutMaxActiveCountValue() {
5856  return ((bitField3_ & 0x00000100) != 0);
5857  }
5868  @java.lang.Override
5869  public double getCutMaxActiveCountValue() {
5870  return cutMaxActiveCountValue_;
5871  }
5872 
5873  public static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER = 156;
5874  private double cutActiveCountDecay_;
5879  @java.lang.Override
5880  public boolean hasCutActiveCountDecay() {
5881  return ((bitField3_ & 0x00000200) != 0);
5882  }
5887  @java.lang.Override
5888  public double getCutActiveCountDecay() {
5889  return cutActiveCountDecay_;
5890  }
5891 
5892  public static final int CUT_CLEANUP_TARGET_FIELD_NUMBER = 157;
5893  private int cutCleanupTarget_;
5902  @java.lang.Override
5903  public boolean hasCutCleanupTarget() {
5904  return ((bitField3_ & 0x00000400) != 0);
5905  }
5914  @java.lang.Override
5915  public int getCutCleanupTarget() {
5916  return cutCleanupTarget_;
5917  }
5918 
5919  public static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER = 122;
5920  private int newConstraintsBatchSize_;
5930  @java.lang.Override
5931  public boolean hasNewConstraintsBatchSize() {
5932  return ((bitField3_ & 0x00000800) != 0);
5933  }
5943  @java.lang.Override
5945  return newConstraintsBatchSize_;
5946  }
5947 
5948  public static final int SEARCH_BRANCHING_FIELD_NUMBER = 82;
5949  private int searchBranching_;
5954  @java.lang.Override public boolean hasSearchBranching() {
5955  return ((bitField3_ & 0x00001000) != 0);
5956  }
5961  @java.lang.Override public com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching() {
5962  @SuppressWarnings("deprecation")
5963  com.google.ortools.sat.SatParameters.SearchBranching result = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(searchBranching_);
5964  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
5965  }
5966 
5967  public static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER = 153;
5968  private int hintConflictLimit_;
5977  @java.lang.Override
5978  public boolean hasHintConflictLimit() {
5979  return ((bitField3_ & 0x00002000) != 0);
5980  }
5989  @java.lang.Override
5990  public int getHintConflictLimit() {
5991  return hintConflictLimit_;
5992  }
5993 
5994  public static final int REPAIR_HINT_FIELD_NUMBER = 167;
5995  private boolean repairHint_;
6007  @java.lang.Override
6008  public boolean hasRepairHint() {
6009  return ((bitField3_ & 0x00004000) != 0);
6010  }
6022  @java.lang.Override
6023  public boolean getRepairHint() {
6024  return repairHint_;
6025  }
6026 
6027  public static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER = 94;
6028  private boolean exploitIntegerLpSolution_;
6040  @java.lang.Override
6041  public boolean hasExploitIntegerLpSolution() {
6042  return ((bitField3_ & 0x00008000) != 0);
6043  }
6055  @java.lang.Override
6056  public boolean getExploitIntegerLpSolution() {
6057  return exploitIntegerLpSolution_;
6058  }
6059 
6060  public static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER = 116;
6061  private boolean exploitAllLpSolution_;
6072  @java.lang.Override
6073  public boolean hasExploitAllLpSolution() {
6074  return ((bitField3_ & 0x00010000) != 0);
6075  }
6086  @java.lang.Override
6087  public boolean getExploitAllLpSolution() {
6088  return exploitAllLpSolution_;
6089  }
6090 
6091  public static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER = 130;
6092  private boolean exploitBestSolution_;
6101  @java.lang.Override
6102  public boolean hasExploitBestSolution() {
6103  return ((bitField3_ & 0x00020000) != 0);
6104  }
6113  @java.lang.Override
6114  public boolean getExploitBestSolution() {
6115  return exploitBestSolution_;
6116  }
6117 
6118  public static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER = 161;
6119  private boolean exploitRelaxationSolution_;
6130  @java.lang.Override
6131  public boolean hasExploitRelaxationSolution() {
6132  return ((bitField3_ & 0x00040000) != 0);
6133  }
6144  @java.lang.Override
6145  public boolean getExploitRelaxationSolution() {
6146  return exploitRelaxationSolution_;
6147  }
6148 
6149  public static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER = 131;
6150  private boolean exploitObjective_;
6160  @java.lang.Override
6161  public boolean hasExploitObjective() {
6162  return ((bitField3_ & 0x00080000) != 0);
6163  }
6173  @java.lang.Override
6174  public boolean getExploitObjective() {
6175  return exploitObjective_;
6176  }
6177 
6178  public static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER = 142;
6179  private long probingPeriodAtRoot_;
6190  @java.lang.Override
6191  public boolean hasProbingPeriodAtRoot() {
6192  return ((bitField3_ & 0x00100000) != 0);
6193  }
6204  @java.lang.Override
6205  public long getProbingPeriodAtRoot() {
6206  return probingPeriodAtRoot_;
6207  }
6208 
6209  public static final int USE_PROBING_SEARCH_FIELD_NUMBER = 176;
6210  private boolean useProbingSearch_;
6220  @java.lang.Override
6221  public boolean hasUseProbingSearch() {
6222  return ((bitField3_ & 0x00200000) != 0);
6223  }
6233  @java.lang.Override
6234  public boolean getUseProbingSearch() {
6235  return useProbingSearch_;
6236  }
6237 
6238  public static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER = 123;
6239  private long pseudoCostReliabilityThreshold_;
6249  @java.lang.Override
6251  return ((bitField3_ & 0x00400000) != 0);
6252  }
6262  @java.lang.Override
6264  return pseudoCostReliabilityThreshold_;
6265  }
6266 
6267  public static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER = 83;
6268  private boolean optimizeWithCore_;
6280  @java.lang.Override
6281  public boolean hasOptimizeWithCore() {
6282  return ((bitField3_ & 0x00800000) != 0);
6283  }
6295  @java.lang.Override
6296  public boolean getOptimizeWithCore() {
6297  return optimizeWithCore_;
6298  }
6299 
6300  public static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER = 99;
6301  private int binarySearchNumConflicts_;
6313  @java.lang.Override
6314  public boolean hasBinarySearchNumConflicts() {
6315  return ((bitField3_ & 0x01000000) != 0);
6316  }
6328  @java.lang.Override
6330  return binarySearchNumConflicts_;
6331  }
6332 
6333  public static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER = 85;
6334  private boolean optimizeWithMaxHs_;
6348  @java.lang.Override
6349  public boolean hasOptimizeWithMaxHs() {
6350  return ((bitField3_ & 0x02000000) != 0);
6351  }
6365  @java.lang.Override
6366  public boolean getOptimizeWithMaxHs() {
6367  return optimizeWithMaxHs_;
6368  }
6369 
6370  public static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER = 87;
6371  private boolean enumerateAllSolutions_;
6385  @java.lang.Override
6386  public boolean hasEnumerateAllSolutions() {
6387  return ((bitField3_ & 0x04000000) != 0);
6388  }
6402  @java.lang.Override
6403  public boolean getEnumerateAllSolutions() {
6404  return enumerateAllSolutions_;
6405  }
6406 
6408  private boolean keepAllFeasibleSolutionsInPresolve_;
6423  @java.lang.Override
6425  return ((bitField3_ & 0x08000000) != 0);
6426  }
6441  @java.lang.Override
6443  return keepAllFeasibleSolutionsInPresolve_;
6444  }
6445 
6447  private boolean fillTightenedDomainsInResponse_;
6460  @java.lang.Override
6462  return ((bitField3_ & 0x10000000) != 0);
6463  }
6476  @java.lang.Override
6478  return fillTightenedDomainsInResponse_;
6479  }
6480 
6481  public static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER = 106;
6482  private boolean instantiateAllVariables_;
6492  @java.lang.Override
6493  public boolean hasInstantiateAllVariables() {
6494  return ((bitField3_ & 0x20000000) != 0);
6495  }
6505  @java.lang.Override
6506  public boolean getInstantiateAllVariables() {
6507  return instantiateAllVariables_;
6508  }
6509 
6511  private boolean autoDetectGreaterThanAtLeastOneOf_;
6523  @java.lang.Override
6525  return ((bitField3_ & 0x40000000) != 0);
6526  }
6538  @java.lang.Override
6540  return autoDetectGreaterThanAtLeastOneOf_;
6541  }
6542 
6543  public static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER = 98;
6544  private boolean stopAfterFirstSolution_;
6553  @java.lang.Override
6554  public boolean hasStopAfterFirstSolution() {
6555  return ((bitField3_ & 0x80000000) != 0);
6556  }
6565  @java.lang.Override
6566  public boolean getStopAfterFirstSolution() {
6567  return stopAfterFirstSolution_;
6568  }
6569 
6570  public static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER = 149;
6571  private boolean stopAfterPresolve_;
6581  @java.lang.Override
6582  public boolean hasStopAfterPresolve() {
6583  return ((bitField4_ & 0x00000001) != 0);
6584  }
6594  @java.lang.Override
6595  public boolean getStopAfterPresolve() {
6596  return stopAfterPresolve_;
6597  }
6598 
6599  public static final int NUM_SEARCH_WORKERS_FIELD_NUMBER = 100;
6600  private int numSearchWorkers_;
6614  @java.lang.Override
6615  public boolean hasNumSearchWorkers() {
6616  return ((bitField4_ & 0x00000002) != 0);
6617  }
6631  @java.lang.Override
6632  public int getNumSearchWorkers() {
6633  return numSearchWorkers_;
6634  }
6635 
6636  public static final int INTERLEAVE_SEARCH_FIELD_NUMBER = 136;
6637  private boolean interleaveSearch_;
6650  @java.lang.Override
6651  public boolean hasInterleaveSearch() {
6652  return ((bitField4_ & 0x00000004) != 0);
6653  }
6666  @java.lang.Override
6667  public boolean getInterleaveSearch() {
6668  return interleaveSearch_;
6669  }
6670 
6671  public static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER = 134;
6672  private int interleaveBatchSize_;
6677  @java.lang.Override
6678  public boolean hasInterleaveBatchSize() {
6679  return ((bitField4_ & 0x00000008) != 0);
6680  }
6685  @java.lang.Override
6686  public int getInterleaveBatchSize() {
6687  return interleaveBatchSize_;
6688  }
6689 
6691  private boolean reduceMemoryUsageInInterleaveMode_;
6700  @java.lang.Override
6702  return ((bitField4_ & 0x00000010) != 0);
6703  }
6712  @java.lang.Override
6714  return reduceMemoryUsageInInterleaveMode_;
6715  }
6716 
6717  public static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER = 113;
6718  private boolean shareObjectiveBounds_;
6727  @java.lang.Override
6728  public boolean hasShareObjectiveBounds() {
6729  return ((bitField4_ & 0x00000020) != 0);
6730  }
6739  @java.lang.Override
6740  public boolean getShareObjectiveBounds() {
6741  return shareObjectiveBounds_;
6742  }
6743 
6744  public static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER = 114;
6745  private boolean shareLevelZeroBounds_;
6754  @java.lang.Override
6755  public boolean hasShareLevelZeroBounds() {
6756  return ((bitField4_ & 0x00000040) != 0);
6757  }
6766  @java.lang.Override
6767  public boolean getShareLevelZeroBounds() {
6768  return shareLevelZeroBounds_;
6769  }
6770 
6771  public static final int USE_LNS_ONLY_FIELD_NUMBER = 101;
6772  private boolean useLnsOnly_;
6781  @java.lang.Override
6782  public boolean hasUseLnsOnly() {
6783  return ((bitField4_ & 0x00000080) != 0);
6784  }
6793  @java.lang.Override
6794  public boolean getUseLnsOnly() {
6795  return useLnsOnly_;
6796  }
6797 
6798  public static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER = 105;
6799  private boolean lnsFocusOnDecisionVariables_;
6804  @java.lang.Override
6806  return ((bitField4_ & 0x00000100) != 0);
6807  }
6812  @java.lang.Override
6814  return lnsFocusOnDecisionVariables_;
6815  }
6816 
6818  private boolean lnsExpandIntervalsInConstraintGraph_;
6823  @java.lang.Override
6825  return ((bitField4_ & 0x00000200) != 0);
6826  }
6831  @java.lang.Override
6833  return lnsExpandIntervalsInConstraintGraph_;
6834  }
6835 
6836  public static final int USE_RINS_LNS_FIELD_NUMBER = 129;
6837  private boolean useRinsLns_;
6846  @java.lang.Override
6847  public boolean hasUseRinsLns() {
6848  return ((bitField4_ & 0x00000400) != 0);
6849  }
6858  @java.lang.Override
6859  public boolean getUseRinsLns() {
6860  return useRinsLns_;
6861  }
6862 
6863  public static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER = 164;
6864  private boolean useFeasibilityPump_;
6873  @java.lang.Override
6874  public boolean hasUseFeasibilityPump() {
6875  return ((bitField4_ & 0x00000800) != 0);
6876  }
6885  @java.lang.Override
6886  public boolean getUseFeasibilityPump() {
6887  return useFeasibilityPump_;
6888  }
6889 
6890  public static final int FP_ROUNDING_FIELD_NUMBER = 165;
6891  private int fpRounding_;
6896  @java.lang.Override public boolean hasFpRounding() {
6897  return ((bitField4_ & 0x00001000) != 0);
6898  }
6903  @java.lang.Override public com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding() {
6904  @SuppressWarnings("deprecation")
6905  com.google.ortools.sat.SatParameters.FPRoundingMethod result = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(fpRounding_);
6906  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
6907  }
6908 
6909  public static final int USE_RELAXATION_LNS_FIELD_NUMBER = 150;
6910  private boolean useRelaxationLns_;
6920  @java.lang.Override
6921  public boolean hasUseRelaxationLns() {
6922  return ((bitField4_ & 0x00002000) != 0);
6923  }
6933  @java.lang.Override
6934  public boolean getUseRelaxationLns() {
6935  return useRelaxationLns_;
6936  }
6937 
6938  public static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER = 137;
6939  private boolean diversifyLnsParams_;
6948  @java.lang.Override
6949  public boolean hasDiversifyLnsParams() {
6950  return ((bitField4_ & 0x00004000) != 0);
6951  }
6960  @java.lang.Override
6961  public boolean getDiversifyLnsParams() {
6962  return diversifyLnsParams_;
6963  }
6964 
6965  public static final int RANDOMIZE_SEARCH_FIELD_NUMBER = 103;
6966  private boolean randomizeSearch_;
6975  @java.lang.Override
6976  public boolean hasRandomizeSearch() {
6977  return ((bitField4_ & 0x00008000) != 0);
6978  }
6987  @java.lang.Override
6988  public boolean getRandomizeSearch() {
6989  return randomizeSearch_;
6990  }
6991 
6992  public static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER = 104;
6993  private long searchRandomizationTolerance_;
7008  @java.lang.Override
7010  return ((bitField4_ & 0x00010000) != 0);
7011  }
7026  @java.lang.Override
7028  return searchRandomizationTolerance_;
7029  }
7030 
7031  public static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER = 108;
7032  private boolean useOptionalVariables_;
7043  @java.lang.Override
7044  public boolean hasUseOptionalVariables() {
7045  return ((bitField4_ & 0x00020000) != 0);
7046  }
7057  @java.lang.Override
7058  public boolean getUseOptionalVariables() {
7059  return useOptionalVariables_;
7060  }
7061 
7062  public static final int USE_EXACT_LP_REASON_FIELD_NUMBER = 109;
7063  private boolean useExactLpReason_;
7075  @java.lang.Override
7076  public boolean hasUseExactLpReason() {
7077  return ((bitField4_ & 0x00040000) != 0);
7078  }
7090  @java.lang.Override
7091  public boolean getUseExactLpReason() {
7092  return useExactLpReason_;
7093  }
7094 
7095  public static final int USE_BRANCHING_IN_LP_FIELD_NUMBER = 139;
7096  private boolean useBranchingInLp_;
7107  @java.lang.Override
7108  public boolean hasUseBranchingInLp() {
7109  return ((bitField4_ & 0x00080000) != 0);
7110  }
7121  @java.lang.Override
7122  public boolean getUseBranchingInLp() {
7123  return useBranchingInLp_;
7124  }
7125 
7126  public static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER = 133;
7127  private boolean useCombinedNoOverlap_;
7138  @java.lang.Override
7139  public boolean hasUseCombinedNoOverlap() {
7140  return ((bitField4_ & 0x00100000) != 0);
7141  }
7152  @java.lang.Override
7153  public boolean getUseCombinedNoOverlap() {
7154  return useCombinedNoOverlap_;
7155  }
7156 
7157  public static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER = 135;
7158  private boolean catchSigintSignal_;
7169  @java.lang.Override
7170  public boolean hasCatchSigintSignal() {
7171  return ((bitField4_ & 0x00200000) != 0);
7172  }
7183  @java.lang.Override
7184  public boolean getCatchSigintSignal() {
7185  return catchSigintSignal_;
7186  }
7187 
7188  public static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER = 144;
7189  private boolean useImpliedBounds_;
7200  @java.lang.Override
7201  public boolean hasUseImpliedBounds() {
7202  return ((bitField4_ & 0x00400000) != 0);
7203  }
7214  @java.lang.Override
7215  public boolean getUseImpliedBounds() {
7216  return useImpliedBounds_;
7217  }
7218 
7219  public static final int POLISH_LP_SOLUTION_FIELD_NUMBER = 175;
7220  private boolean polishLpSolution_;
7232  @java.lang.Override
7233  public boolean hasPolishLpSolution() {
7234  return ((bitField4_ & 0x00800000) != 0);
7235  }
7247  @java.lang.Override
7248  public boolean getPolishLpSolution() {
7249  return polishLpSolution_;
7250  }
7251 
7252  public static final int CONVERT_INTERVALS_FIELD_NUMBER = 177;
7253  private boolean convertIntervals_;
7264  @java.lang.Override
7265  public boolean hasConvertIntervals() {
7266  return ((bitField4_ & 0x01000000) != 0);
7267  }
7278  @java.lang.Override
7279  public boolean getConvertIntervals() {
7280  return convertIntervals_;
7281  }
7282 
7283  public static final int SYMMETRY_LEVEL_FIELD_NUMBER = 183;
7284  private int symmetryLevel_;
7296  @java.lang.Override
7297  public boolean hasSymmetryLevel() {
7298  return ((bitField4_ & 0x02000000) != 0);
7299  }
7311  @java.lang.Override
7312  public int getSymmetryLevel() {
7313  return symmetryLevel_;
7314  }
7315 
7316  public static final int MIP_MAX_BOUND_FIELD_NUMBER = 124;
7317  private double mipMaxBound_;
7328  @java.lang.Override
7329  public boolean hasMipMaxBound() {
7330  return ((bitField4_ & 0x04000000) != 0);
7331  }
7342  @java.lang.Override
7343  public double getMipMaxBound() {
7344  return mipMaxBound_;
7345  }
7346 
7347  public static final int MIP_VAR_SCALING_FIELD_NUMBER = 125;
7348  private double mipVarScaling_;
7359  @java.lang.Override
7360  public boolean hasMipVarScaling() {
7361  return ((bitField4_ & 0x08000000) != 0);
7362  }
7373  @java.lang.Override
7374  public double getMipVarScaling() {
7375  return mipVarScaling_;
7376  }
7377 
7378  public static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER = 166;
7379  private boolean mipAutomaticallyScaleVariables_;
7392  @java.lang.Override
7394  return ((bitField4_ & 0x10000000) != 0);
7395  }
7408  @java.lang.Override
7410  return mipAutomaticallyScaleVariables_;
7411  }
7412 
7413  public static final int MIP_WANTED_PRECISION_FIELD_NUMBER = 126;
7414  private double mipWantedPrecision_;
7432  @java.lang.Override
7433  public boolean hasMipWantedPrecision() {
7434  return ((bitField4_ & 0x20000000) != 0);
7435  }
7453  @java.lang.Override
7454  public double getMipWantedPrecision() {
7455  return mipWantedPrecision_;
7456  }
7457 
7458  public static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER = 127;
7459  private int mipMaxActivityExponent_;
7474  @java.lang.Override
7475  public boolean hasMipMaxActivityExponent() {
7476  return ((bitField4_ & 0x40000000) != 0);
7477  }
7492  @java.lang.Override
7494  return mipMaxActivityExponent_;
7495  }
7496 
7497  public static final int MIP_CHECK_PRECISION_FIELD_NUMBER = 128;
7498  private double mipCheckPrecision_;
7509  @java.lang.Override
7510  public boolean hasMipCheckPrecision() {
7511  return ((bitField4_ & 0x80000000) != 0);
7512  }
7523  @java.lang.Override
7524  public double getMipCheckPrecision() {
7525  return mipCheckPrecision_;
7526  }
7527 
7528  private byte memoizedIsInitialized = -1;
7529  @java.lang.Override
7530  public final boolean isInitialized() {
7531  byte isInitialized = memoizedIsInitialized;
7532  if (isInitialized == 1) return true;
7533  if (isInitialized == 0) return false;
7534 
7535  memoizedIsInitialized = 1;
7536  return true;
7537  }
7538 
7539  @java.lang.Override
7540  public void writeTo(com.google.protobuf.CodedOutputStream output)
7541  throws java.io.IOException {
7542  if (((bitField0_ & 0x00000002) != 0)) {
7543  output.writeEnum(1, preferredVariableOrder_);
7544  }
7545  if (((bitField0_ & 0x00000004) != 0)) {
7546  output.writeEnum(2, initialPolarity_);
7547  }
7548  if (((bitField0_ & 0x00000400) != 0)) {
7549  output.writeEnum(4, minimizationAlgorithm_);
7550  }
7551  if (((bitField0_ & 0x00002000) != 0)) {
7552  output.writeInt32(11, clauseCleanupPeriod_);
7553  }
7554  if (((bitField0_ & 0x00004000) != 0)) {
7555  output.writeInt32(13, clauseCleanupTarget_);
7556  }
7557  if (((bitField0_ & 0x00400000) != 0)) {
7558  output.writeDouble(15, variableActivityDecay_);
7559  }
7560  if (((bitField0_ & 0x00800000) != 0)) {
7561  output.writeDouble(16, maxVariableActivityValue_);
7562  }
7563  if (((bitField0_ & 0x08000000) != 0)) {
7564  output.writeDouble(17, clauseActivityDecay_);
7565  }
7566  if (((bitField0_ & 0x10000000) != 0)) {
7567  output.writeDouble(18, maxClauseActivityValue_);
7568  }
7569  if (((bitField0_ & 0x01000000) != 0)) {
7570  output.writeDouble(22, glucoseMaxDecay_);
7571  }
7572  if (((bitField0_ & 0x02000000) != 0)) {
7573  output.writeDouble(23, glucoseDecayIncrement_);
7574  }
7575  if (((bitField0_ & 0x04000000) != 0)) {
7576  output.writeInt32(24, glucoseDecayIncrementPeriod_);
7577  }
7578  if (((bitField0_ & 0x40000000) != 0)) {
7579  output.writeInt32(30, restartPeriod_);
7580  }
7581  if (((bitField1_ & 0x00004000) != 0)) {
7582  output.writeInt32(31, randomSeed_);
7583  }
7584  if (((bitField0_ & 0x00000040) != 0)) {
7585  output.writeDouble(32, randomBranchesRatio_);
7586  }
7587  if (((bitField1_ & 0x00002000) != 0)) {
7588  output.writeBool(33, treatBinaryClausesSeparately_);
7589  }
7590  if (((bitField0_ & 0x00000800) != 0)) {
7591  output.writeEnum(34, binaryMinimizationAlgorithm_);
7592  }
7593  if (((bitField2_ & 0x00002000) != 0)) {
7594  output.writeBool(35, useOptimizationHints_);
7595  }
7596  if (((bitField1_ & 0x00000080) != 0)) {
7597  output.writeDouble(36, maxTimeInSeconds_);
7598  }
7599  if (((bitField1_ & 0x00000200) != 0)) {
7600  output.writeInt64(37, maxNumberOfConflicts_);
7601  }
7602  if (((bitField1_ & 0x00000400) != 0)) {
7603  output.writeInt64(40, maxMemoryInMb_);
7604  }
7605  if (((bitField1_ & 0x00040000) != 0)) {
7606  output.writeBool(41, logSearchProgress_);
7607  }
7608  if (((bitField1_ & 0x00080000) != 0)) {
7609  output.writeBool(43, usePbResolution_);
7610  }
7611  if (((bitField0_ & 0x00000008) != 0)) {
7612  output.writeBool(44, usePhaseSaving_);
7613  }
7614  if (((bitField0_ & 0x00000020) != 0)) {
7615  output.writeDouble(45, randomPolarityRatio_);
7616  }
7617  if (((bitField0_ & 0x00040000) != 0)) {
7618  output.writeInt32(46, pbCleanupIncrement_);
7619  }
7620  if (((bitField0_ & 0x00080000) != 0)) {
7621  output.writeDouble(47, pbCleanupRatio_);
7622  }
7623  if (((bitField1_ & 0x00100000) != 0)) {
7624  output.writeBool(48, minimizeReductionDuringPbResolution_);
7625  }
7626  if (((bitField1_ & 0x00200000) != 0)) {
7627  output.writeBool(49, countAssumptionLevelsInLbd_);
7628  }
7629  if (((bitField2_ & 0x00004000) != 0)) {
7630  output.writeBool(50, minimizeCore_);
7631  }
7632  if (((bitField2_ & 0x00020000) != 0)) {
7633  output.writeEnum(51, maxSatAssumptionOrder_);
7634  }
7635  if (((bitField2_ & 0x00040000) != 0)) {
7636  output.writeBool(52, maxSatReverseAssumptionOrder_);
7637  }
7638  if (((bitField2_ & 0x00080000) != 0)) {
7639  output.writeEnum(53, maxSatStratification_);
7640  }
7641  if (((bitField1_ & 0x00400000) != 0)) {
7642  output.writeInt32(54, presolveBveThreshold_);
7643  }
7644  if (((bitField1_ & 0x00800000) != 0)) {
7645  output.writeInt32(55, presolveBveClauseWeight_);
7646  }
7647  if (((bitField0_ & 0x00001000) != 0)) {
7648  output.writeBool(56, subsumptionDuringConflictAnalysis_);
7649  }
7650  if (((bitField1_ & 0x01000000) != 0)) {
7651  output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
7652  }
7653  if (((bitField0_ & 0x00008000) != 0)) {
7654  output.writeEnum(58, clauseCleanupProtection_);
7655  }
7656  if (((bitField0_ & 0x00010000) != 0)) {
7657  output.writeInt32(59, clauseCleanupLbdBound_);
7658  }
7659  if (((bitField0_ & 0x00020000) != 0)) {
7660  output.writeEnum(60, clauseCleanupOrdering_);
7661  }
7662  for (int i = 0; i < restartAlgorithms_.size(); i++) {
7663  output.writeEnum(61, restartAlgorithms_.get(i));
7664  }
7665  if (((bitField0_ & 0x80000000) != 0)) {
7666  output.writeInt32(62, restartRunningWindowSize_);
7667  }
7668  if (((bitField1_ & 0x00000001) != 0)) {
7669  output.writeDouble(63, restartDlAverageRatio_);
7670  }
7671  if (((bitField1_ & 0x00000004) != 0)) {
7672  output.writeBool(64, useBlockingRestart_);
7673  }
7674  if (((bitField1_ & 0x00000008) != 0)) {
7675  output.writeInt32(65, blockingRestartWindowSize_);
7676  }
7677  if (((bitField1_ & 0x00000010) != 0)) {
7678  output.writeDouble(66, blockingRestartMultiplier_);
7679  }
7680  if (((bitField1_ & 0x00000100) != 0)) {
7681  output.writeDouble(67, maxDeterministicTime_);
7682  }
7683  if (((bitField1_ & 0x00000020) != 0)) {
7684  output.writeInt32(68, numConflictsBeforeStrategyChanges_);
7685  }
7686  if (((bitField1_ & 0x00000040) != 0)) {
7687  output.writeDouble(69, strategyChangeIncreaseRatio_);
7688  }
7689  if (((bitField0_ & 0x20000000) != 0)) {
7690  com.google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
7691  }
7692  if (((bitField1_ & 0x00000002) != 0)) {
7693  output.writeDouble(71, restartLbdAverageRatio_);
7694  }
7695  if (((bitField1_ & 0x04000000) != 0)) {
7696  output.writeBool(72, presolveUseBva_);
7697  }
7698  if (((bitField1_ & 0x08000000) != 0)) {
7699  output.writeInt32(73, presolveBvaThreshold_);
7700  }
7701  if (((bitField2_ & 0x00100000) != 0)) {
7702  output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
7703  }
7704  if (((bitField0_ & 0x00000080) != 0)) {
7705  output.writeBool(75, useErwaHeuristic_);
7706  }
7707  if (((bitField0_ & 0x00000100) != 0)) {
7708  output.writeDouble(76, initialVariablesActivity_);
7709  }
7710  if (((bitField0_ & 0x00000200) != 0)) {
7711  output.writeBool(77, alsoBumpVariablesInConflictReasons_);
7712  }
7713  if (((bitField2_ & 0x00200000) != 0)) {
7714  output.writeBool(78, useOverloadCheckerInCumulativeConstraint_);
7715  }
7716  if (((bitField2_ & 0x00400000) != 0)) {
7717  output.writeBool(79, useTimetableEdgeFindingInCumulativeConstraint_);
7718  }
7719  if (((bitField2_ & 0x00800000) != 0)) {
7720  output.writeBool(80, useDisjunctiveConstraintInCumulativeConstraint_);
7721  }
7722  if (((bitField3_ & 0x00001000) != 0)) {
7723  output.writeEnum(82, searchBranching_);
7724  }
7725  if (((bitField3_ & 0x00800000) != 0)) {
7726  output.writeBool(83, optimizeWithCore_);
7727  }
7728  if (((bitField2_ & 0x00008000) != 0)) {
7729  output.writeBool(84, findMultipleCores_);
7730  }
7731  if (((bitField3_ & 0x02000000) != 0)) {
7732  output.writeBool(85, optimizeWithMaxHs_);
7733  }
7734  if (((bitField1_ & 0x20000000) != 0)) {
7735  output.writeBool(86, cpModelPresolve_);
7736  }
7737  if (((bitField3_ & 0x04000000) != 0)) {
7738  output.writeBool(87, enumerateAllSolutions_);
7739  }
7740  if (((bitField1_ & 0x02000000) != 0)) {
7741  output.writeBool(88, presolveBlockedClause_);
7742  }
7743  if (((bitField2_ & 0x00010000) != 0)) {
7744  output.writeBool(89, coverOptimization_);
7745  }
7746  if (((bitField2_ & 0x01000000) != 0)) {
7747  output.writeInt32(90, linearizationLevel_);
7748  }
7749  if (((bitField2_ & 0x04000000) != 0)) {
7750  output.writeInt32(91, maxNumCuts_);
7751  }
7752  if (((bitField2_ & 0x08000000) != 0)) {
7753  output.writeBool(92, onlyAddCutsAtLevelZero_);
7754  }
7755  if (((bitField2_ & 0x00000002) != 0)) {
7756  output.writeBool(93, cpModelUseSatPresolve_);
7757  }
7758  if (((bitField3_ & 0x00008000) != 0)) {
7759  output.writeBool(94, exploitIntegerLpSolution_);
7760  }
7761  if (((bitField3_ & 0x40000000) != 0)) {
7762  output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
7763  }
7764  if (((bitField0_ & 0x00100000) != 0)) {
7765  output.writeInt32(96, minimizeWithPropagationRestartPeriod_);
7766  }
7767  if (((bitField0_ & 0x00200000) != 0)) {
7768  output.writeInt32(97, minimizeWithPropagationNumDecisions_);
7769  }
7770  if (((bitField3_ & 0x80000000) != 0)) {
7771  output.writeBool(98, stopAfterFirstSolution_);
7772  }
7773  if (((bitField3_ & 0x01000000) != 0)) {
7774  output.writeInt32(99, binarySearchNumConflicts_);
7775  }
7776  if (((bitField4_ & 0x00000002) != 0)) {
7777  output.writeInt32(100, numSearchWorkers_);
7778  }
7779  if (((bitField4_ & 0x00000080) != 0)) {
7780  output.writeBool(101, useLnsOnly_);
7781  }
7782  if (((bitField4_ & 0x00008000) != 0)) {
7783  output.writeBool(103, randomizeSearch_);
7784  }
7785  if (((bitField4_ & 0x00010000) != 0)) {
7786  output.writeInt64(104, searchRandomizationTolerance_);
7787  }
7788  if (((bitField4_ & 0x00000100) != 0)) {
7789  output.writeBool(105, lnsFocusOnDecisionVariables_);
7790  }
7791  if (((bitField3_ & 0x20000000) != 0)) {
7792  output.writeBool(106, instantiateAllVariables_);
7793  }
7794  if (((bitField2_ & 0x02000000) != 0)) {
7795  output.writeInt32(107, booleanEncodingLevel_);
7796  }
7797  if (((bitField4_ & 0x00020000) != 0)) {
7798  output.writeBool(108, useOptionalVariables_);
7799  }
7800  if (((bitField4_ & 0x00040000) != 0)) {
7801  output.writeBool(109, useExactLpReason_);
7802  }
7803  if (((bitField2_ & 0x00000001) != 0)) {
7804  output.writeInt32(110, cpModelProbingLevel_);
7805  }
7806  if (((bitField2_ & 0x10000000) != 0)) {
7807  output.writeBool(111, addKnapsackCuts_);
7808  }
7809  if (((bitField3_ & 0x00000010) != 0)) {
7810  output.writeBool(112, addLpConstraintsLazily_);
7811  }
7812  if (((bitField4_ & 0x00000020) != 0)) {
7813  output.writeBool(113, shareObjectiveBounds_);
7814  }
7815  if (((bitField4_ & 0x00000040) != 0)) {
7816  output.writeBool(114, shareLevelZeroBounds_);
7817  }
7818  if (((bitField3_ & 0x00000020) != 0)) {
7819  output.writeDouble(115, minOrthogonalityForLpConstraints_);
7820  }
7821  if (((bitField3_ & 0x00010000) != 0)) {
7822  output.writeBool(116, exploitAllLpSolution_);
7823  }
7824  if (((bitField2_ & 0x20000000) != 0)) {
7825  output.writeBool(117, addCgCuts_);
7826  }
7827  if (((bitField3_ & 0x00000008) != 0)) {
7828  output.writeInt32(119, maxIntegerRoundingScaling_);
7829  }
7830  if (((bitField2_ & 0x40000000) != 0)) {
7831  output.writeBool(120, addMirCuts_);
7832  }
7833  if (((bitField3_ & 0x00000080) != 0)) {
7834  output.writeInt32(121, maxConsecutiveInactiveCount_);
7835  }
7836  if (((bitField3_ & 0x00000800) != 0)) {
7837  output.writeInt32(122, newConstraintsBatchSize_);
7838  }
7839  if (((bitField3_ & 0x00400000) != 0)) {
7840  output.writeInt64(123, pseudoCostReliabilityThreshold_);
7841  }
7842  if (((bitField4_ & 0x04000000) != 0)) {
7843  output.writeDouble(124, mipMaxBound_);
7844  }
7845  if (((bitField4_ & 0x08000000) != 0)) {
7846  output.writeDouble(125, mipVarScaling_);
7847  }
7848  if (((bitField4_ & 0x20000000) != 0)) {
7849  output.writeDouble(126, mipWantedPrecision_);
7850  }
7851  if (((bitField4_ & 0x40000000) != 0)) {
7852  output.writeInt32(127, mipMaxActivityExponent_);
7853  }
7854  if (((bitField4_ & 0x80000000) != 0)) {
7855  output.writeDouble(128, mipCheckPrecision_);
7856  }
7857  if (((bitField4_ & 0x00000400) != 0)) {
7858  output.writeBool(129, useRinsLns_);
7859  }
7860  if (((bitField3_ & 0x00020000) != 0)) {
7861  output.writeBool(130, exploitBestSolution_);
7862  }
7863  if (((bitField3_ & 0x00080000) != 0)) {
7864  output.writeBool(131, exploitObjective_);
7865  }
7866  if (((bitField3_ & 0x10000000) != 0)) {
7867  output.writeBool(132, fillTightenedDomainsInResponse_);
7868  }
7869  if (((bitField4_ & 0x00100000) != 0)) {
7870  output.writeBool(133, useCombinedNoOverlap_);
7871  }
7872  if (((bitField4_ & 0x00000008) != 0)) {
7873  output.writeInt32(134, interleaveBatchSize_);
7874  }
7875  if (((bitField4_ & 0x00200000) != 0)) {
7876  output.writeBool(135, catchSigintSignal_);
7877  }
7878  if (((bitField4_ & 0x00000004) != 0)) {
7879  output.writeBool(136, interleaveSearch_);
7880  }
7881  if (((bitField4_ & 0x00004000) != 0)) {
7882  output.writeBool(137, diversifyLnsParams_);
7883  }
7884  if (((bitField1_ & 0x10000000) != 0)) {
7885  output.writeInt32(138, maxPresolveIterations_);
7886  }
7887  if (((bitField4_ & 0x00080000) != 0)) {
7888  output.writeBool(139, useBranchingInLp_);
7889  }
7890  if (((bitField2_ & 0x00000008) != 0)) {
7891  output.writeBool(140, expandElementConstraints_);
7892  }
7893  if (((bitField4_ & 0x00000010) != 0)) {
7894  output.writeBool(141, reduceMemoryUsageInInterleaveMode_);
7895  }
7896  if (((bitField3_ & 0x00100000) != 0)) {
7897  output.writeInt64(142, probingPeriodAtRoot_);
7898  }
7899  if (((bitField2_ & 0x00000010) != 0)) {
7900  output.writeBool(143, expandAutomatonConstraints_);
7901  }
7902  if (((bitField4_ & 0x00400000) != 0)) {
7903  output.writeBool(144, useImpliedBounds_);
7904  }
7905  if (((bitField2_ & 0x00000200) != 0)) {
7906  output.writeDouble(145, mergeNoOverlapWorkLimit_);
7907  }
7908  if (((bitField2_ & 0x00000400) != 0)) {
7909  output.writeDouble(146, mergeAtMostOneWorkLimit_);
7910  }
7911  if (((bitField2_ & 0x00000800) != 0)) {
7912  output.writeInt32(147, presolveSubstitutionLevel_);
7913  }
7914  if (((bitField3_ & 0x00000002) != 0)) {
7915  output.writeInt32(148, maxAllDiffCutSize_);
7916  }
7917  if (((bitField4_ & 0x00000001) != 0)) {
7918  output.writeBool(149, stopAfterPresolve_);
7919  }
7920  if (((bitField4_ & 0x00002000) != 0)) {
7921  output.writeBool(150, useRelaxationLns_);
7922  }
7923  if (((bitField1_ & 0x80000000) != 0)) {
7924  output.writeInt32(151, cpModelMaxNumPresolveOperations_);
7925  }
7926  if (((bitField3_ & 0x00000004) != 0)) {
7927  output.writeBool(152, addLinMaxCuts_);
7928  }
7929  if (((bitField3_ & 0x00002000) != 0)) {
7930  output.writeInt32(153, hintConflictLimit_);
7931  }
7932  if (((bitField3_ & 0x00000040) != 0)) {
7933  output.writeInt32(154, maxCutRoundsAtLevelZero_);
7934  }
7935  if (((bitField3_ & 0x00000100) != 0)) {
7936  output.writeDouble(155, cutMaxActiveCountValue_);
7937  }
7938  if (((bitField3_ & 0x00000200) != 0)) {
7939  output.writeDouble(156, cutActiveCountDecay_);
7940  }
7941  if (((bitField3_ & 0x00000400) != 0)) {
7942  output.writeInt32(157, cutCleanupTarget_);
7943  }
7944  if (((bitField2_ & 0x00000020) != 0)) {
7945  output.writeBool(158, expandTableConstraints_);
7946  }
7947  if (((bitField1_ & 0x00000800) != 0)) {
7948  output.writeDouble(159, absoluteGapLimit_);
7949  }
7950  if (((bitField1_ & 0x00001000) != 0)) {
7951  output.writeDouble(160, relativeGapLimit_);
7952  }
7953  if (((bitField3_ & 0x00040000) != 0)) {
7954  output.writeBool(161, exploitRelaxationSolution_);
7955  }
7956  if (((bitField1_ & 0x40000000) != 0)) {
7957  output.writeBool(162, cpModelPostsolveWithFullSolver_);
7958  }
7959  if (((bitField2_ & 0x00000004) != 0)) {
7960  output.writeBool(163, useSatInprocessing_);
7961  }
7962  if (((bitField4_ & 0x00000800) != 0)) {
7963  output.writeBool(164, useFeasibilityPump_);
7964  }
7965  if (((bitField4_ & 0x00001000) != 0)) {
7966  output.writeEnum(165, fpRounding_);
7967  }
7968  if (((bitField4_ & 0x10000000) != 0)) {
7969  output.writeBool(166, mipAutomaticallyScaleVariables_);
7970  }
7971  if (((bitField3_ & 0x00004000) != 0)) {
7972  output.writeBool(167, repairHint_);
7973  }
7974  if (((bitField0_ & 0x00000010) != 0)) {
7975  output.writeInt32(168, polarityRephaseIncrement_);
7976  }
7977  if (((bitField2_ & 0x80000000) != 0)) {
7978  output.writeBool(169, addZeroHalfCuts_);
7979  }
7980  if (((bitField2_ & 0x00000040) != 0)) {
7981  output.writeBool(170, expandAlldiffConstraints_);
7982  }
7983  if (((bitField0_ & 0x00000001) != 0)) {
7984  com.google.protobuf.GeneratedMessageV3.writeString(output, 171, name_);
7985  }
7986  if (((bitField3_ & 0x00000001) != 0)) {
7987  output.writeBool(172, addCliqueCuts_);
7988  }
7989  if (((bitField3_ & 0x08000000) != 0)) {
7990  output.writeBool(173, keepAllFeasibleSolutionsInPresolve_);
7991  }
7992  if (((bitField2_ & 0x00001000) != 0)) {
7993  output.writeBool(174, presolveExtractIntegerEnforcement_);
7994  }
7995  if (((bitField4_ & 0x00800000) != 0)) {
7996  output.writeBool(175, polishLpSolution_);
7997  }
7998  if (((bitField3_ & 0x00200000) != 0)) {
7999  output.writeBool(176, useProbingSearch_);
8000  }
8001  if (((bitField4_ & 0x01000000) != 0)) {
8002  output.writeBool(177, convertIntervals_);
8003  }
8004  if (((bitField1_ & 0x00008000) != 0)) {
8005  output.writeBool(178, permuteVariableRandomly_);
8006  }
8007  if (((bitField1_ & 0x00010000) != 0)) {
8008  output.writeBool(179, permutePresolveConstraintOrder_);
8009  }
8010  if (((bitField1_ & 0x00020000) != 0)) {
8011  output.writeBool(180, useAbslRandom_);
8012  }
8013  if (((bitField2_ & 0x00000100) != 0)) {
8014  output.writeBool(181, disableConstraintExpansion_);
8015  }
8016  if (((bitField2_ & 0x00000080) != 0)) {
8017  output.writeBool(182, expandReservoirConstraints_);
8018  }
8019  if (((bitField4_ & 0x02000000) != 0)) {
8020  output.writeInt32(183, symmetryLevel_);
8021  }
8022  if (((bitField4_ & 0x00000200) != 0)) {
8023  output.writeBool(184, lnsExpandIntervalsInConstraintGraph_);
8024  }
8025  unknownFields.writeTo(output);
8026  }
8027 
8028  @java.lang.Override
8029  public int getSerializedSize() {
8030  int size = memoizedSize;
8031  if (size != -1) return size;
8032 
8033  size = 0;
8034  if (((bitField0_ & 0x00000002) != 0)) {
8035  size += com.google.protobuf.CodedOutputStream
8036  .computeEnumSize(1, preferredVariableOrder_);
8037  }
8038  if (((bitField0_ & 0x00000004) != 0)) {
8039  size += com.google.protobuf.CodedOutputStream
8040  .computeEnumSize(2, initialPolarity_);
8041  }
8042  if (((bitField0_ & 0x00000400) != 0)) {
8043  size += com.google.protobuf.CodedOutputStream
8044  .computeEnumSize(4, minimizationAlgorithm_);
8045  }
8046  if (((bitField0_ & 0x00002000) != 0)) {
8047  size += com.google.protobuf.CodedOutputStream
8048  .computeInt32Size(11, clauseCleanupPeriod_);
8049  }
8050  if (((bitField0_ & 0x00004000) != 0)) {
8051  size += com.google.protobuf.CodedOutputStream
8052  .computeInt32Size(13, clauseCleanupTarget_);
8053  }
8054  if (((bitField0_ & 0x00400000) != 0)) {
8055  size += com.google.protobuf.CodedOutputStream
8056  .computeDoubleSize(15, variableActivityDecay_);
8057  }
8058  if (((bitField0_ & 0x00800000) != 0)) {
8059  size += com.google.protobuf.CodedOutputStream
8060  .computeDoubleSize(16, maxVariableActivityValue_);
8061  }
8062  if (((bitField0_ & 0x08000000) != 0)) {
8063  size += com.google.protobuf.CodedOutputStream
8064  .computeDoubleSize(17, clauseActivityDecay_);
8065  }
8066  if (((bitField0_ & 0x10000000) != 0)) {
8067  size += com.google.protobuf.CodedOutputStream
8068  .computeDoubleSize(18, maxClauseActivityValue_);
8069  }
8070  if (((bitField0_ & 0x01000000) != 0)) {
8071  size += com.google.protobuf.CodedOutputStream
8072  .computeDoubleSize(22, glucoseMaxDecay_);
8073  }
8074  if (((bitField0_ & 0x02000000) != 0)) {
8075  size += com.google.protobuf.CodedOutputStream
8076  .computeDoubleSize(23, glucoseDecayIncrement_);
8077  }
8078  if (((bitField0_ & 0x04000000) != 0)) {
8079  size += com.google.protobuf.CodedOutputStream
8080  .computeInt32Size(24, glucoseDecayIncrementPeriod_);
8081  }
8082  if (((bitField0_ & 0x40000000) != 0)) {
8083  size += com.google.protobuf.CodedOutputStream
8084  .computeInt32Size(30, restartPeriod_);
8085  }
8086  if (((bitField1_ & 0x00004000) != 0)) {
8087  size += com.google.protobuf.CodedOutputStream
8088  .computeInt32Size(31, randomSeed_);
8089  }
8090  if (((bitField0_ & 0x00000040) != 0)) {
8091  size += com.google.protobuf.CodedOutputStream
8092  .computeDoubleSize(32, randomBranchesRatio_);
8093  }
8094  if (((bitField1_ & 0x00002000) != 0)) {
8095  size += com.google.protobuf.CodedOutputStream
8096  .computeBoolSize(33, treatBinaryClausesSeparately_);
8097  }
8098  if (((bitField0_ & 0x00000800) != 0)) {
8099  size += com.google.protobuf.CodedOutputStream
8100  .computeEnumSize(34, binaryMinimizationAlgorithm_);
8101  }
8102  if (((bitField2_ & 0x00002000) != 0)) {
8103  size += com.google.protobuf.CodedOutputStream
8104  .computeBoolSize(35, useOptimizationHints_);
8105  }
8106  if (((bitField1_ & 0x00000080) != 0)) {
8107  size += com.google.protobuf.CodedOutputStream
8108  .computeDoubleSize(36, maxTimeInSeconds_);
8109  }
8110  if (((bitField1_ & 0x00000200) != 0)) {
8111  size += com.google.protobuf.CodedOutputStream
8112  .computeInt64Size(37, maxNumberOfConflicts_);
8113  }
8114  if (((bitField1_ & 0x00000400) != 0)) {
8115  size += com.google.protobuf.CodedOutputStream
8116  .computeInt64Size(40, maxMemoryInMb_);
8117  }
8118  if (((bitField1_ & 0x00040000) != 0)) {
8119  size += com.google.protobuf.CodedOutputStream
8120  .computeBoolSize(41, logSearchProgress_);
8121  }
8122  if (((bitField1_ & 0x00080000) != 0)) {
8123  size += com.google.protobuf.CodedOutputStream
8124  .computeBoolSize(43, usePbResolution_);
8125  }
8126  if (((bitField0_ & 0x00000008) != 0)) {
8127  size += com.google.protobuf.CodedOutputStream
8128  .computeBoolSize(44, usePhaseSaving_);
8129  }
8130  if (((bitField0_ & 0x00000020) != 0)) {
8131  size += com.google.protobuf.CodedOutputStream
8132  .computeDoubleSize(45, randomPolarityRatio_);
8133  }
8134  if (((bitField0_ & 0x00040000) != 0)) {
8135  size += com.google.protobuf.CodedOutputStream
8136  .computeInt32Size(46, pbCleanupIncrement_);
8137  }
8138  if (((bitField0_ & 0x00080000) != 0)) {
8139  size += com.google.protobuf.CodedOutputStream
8140  .computeDoubleSize(47, pbCleanupRatio_);
8141  }
8142  if (((bitField1_ & 0x00100000) != 0)) {
8143  size += com.google.protobuf.CodedOutputStream
8144  .computeBoolSize(48, minimizeReductionDuringPbResolution_);
8145  }
8146  if (((bitField1_ & 0x00200000) != 0)) {
8147  size += com.google.protobuf.CodedOutputStream
8148  .computeBoolSize(49, countAssumptionLevelsInLbd_);
8149  }
8150  if (((bitField2_ & 0x00004000) != 0)) {
8151  size += com.google.protobuf.CodedOutputStream
8152  .computeBoolSize(50, minimizeCore_);
8153  }
8154  if (((bitField2_ & 0x00020000) != 0)) {
8155  size += com.google.protobuf.CodedOutputStream
8156  .computeEnumSize(51, maxSatAssumptionOrder_);
8157  }
8158  if (((bitField2_ & 0x00040000) != 0)) {
8159  size += com.google.protobuf.CodedOutputStream
8160  .computeBoolSize(52, maxSatReverseAssumptionOrder_);
8161  }
8162  if (((bitField2_ & 0x00080000) != 0)) {
8163  size += com.google.protobuf.CodedOutputStream
8164  .computeEnumSize(53, maxSatStratification_);
8165  }
8166  if (((bitField1_ & 0x00400000) != 0)) {
8167  size += com.google.protobuf.CodedOutputStream
8168  .computeInt32Size(54, presolveBveThreshold_);
8169  }
8170  if (((bitField1_ & 0x00800000) != 0)) {
8171  size += com.google.protobuf.CodedOutputStream
8172  .computeInt32Size(55, presolveBveClauseWeight_);
8173  }
8174  if (((bitField0_ & 0x00001000) != 0)) {
8175  size += com.google.protobuf.CodedOutputStream
8176  .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
8177  }
8178  if (((bitField1_ & 0x01000000) != 0)) {
8179  size += com.google.protobuf.CodedOutputStream
8180  .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
8181  }
8182  if (((bitField0_ & 0x00008000) != 0)) {
8183  size += com.google.protobuf.CodedOutputStream
8184  .computeEnumSize(58, clauseCleanupProtection_);
8185  }
8186  if (((bitField0_ & 0x00010000) != 0)) {
8187  size += com.google.protobuf.CodedOutputStream
8188  .computeInt32Size(59, clauseCleanupLbdBound_);
8189  }
8190  if (((bitField0_ & 0x00020000) != 0)) {
8191  size += com.google.protobuf.CodedOutputStream
8192  .computeEnumSize(60, clauseCleanupOrdering_);
8193  }
8194  {
8195  int dataSize = 0;
8196  for (int i = 0; i < restartAlgorithms_.size(); i++) {
8197  dataSize += com.google.protobuf.CodedOutputStream
8198  .computeEnumSizeNoTag(restartAlgorithms_.get(i));
8199  }
8200  size += dataSize;
8201  size += 2 * restartAlgorithms_.size();
8202  }
8203  if (((bitField0_ & 0x80000000) != 0)) {
8204  size += com.google.protobuf.CodedOutputStream
8205  .computeInt32Size(62, restartRunningWindowSize_);
8206  }
8207  if (((bitField1_ & 0x00000001) != 0)) {
8208  size += com.google.protobuf.CodedOutputStream
8209  .computeDoubleSize(63, restartDlAverageRatio_);
8210  }
8211  if (((bitField1_ & 0x00000004) != 0)) {
8212  size += com.google.protobuf.CodedOutputStream
8213  .computeBoolSize(64, useBlockingRestart_);
8214  }
8215  if (((bitField1_ & 0x00000008) != 0)) {
8216  size += com.google.protobuf.CodedOutputStream
8217  .computeInt32Size(65, blockingRestartWindowSize_);
8218  }
8219  if (((bitField1_ & 0x00000010) != 0)) {
8220  size += com.google.protobuf.CodedOutputStream
8221  .computeDoubleSize(66, blockingRestartMultiplier_);
8222  }
8223  if (((bitField1_ & 0x00000100) != 0)) {
8224  size += com.google.protobuf.CodedOutputStream
8225  .computeDoubleSize(67, maxDeterministicTime_);
8226  }
8227  if (((bitField1_ & 0x00000020) != 0)) {
8228  size += com.google.protobuf.CodedOutputStream
8229  .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
8230  }
8231  if (((bitField1_ & 0x00000040) != 0)) {
8232  size += com.google.protobuf.CodedOutputStream
8233  .computeDoubleSize(69, strategyChangeIncreaseRatio_);
8234  }
8235  if (((bitField0_ & 0x20000000) != 0)) {
8236  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
8237  }
8238  if (((bitField1_ & 0x00000002) != 0)) {
8239  size += com.google.protobuf.CodedOutputStream
8240  .computeDoubleSize(71, restartLbdAverageRatio_);
8241  }
8242  if (((bitField1_ & 0x04000000) != 0)) {
8243  size += com.google.protobuf.CodedOutputStream
8244  .computeBoolSize(72, presolveUseBva_);
8245  }
8246  if (((bitField1_ & 0x08000000) != 0)) {
8247  size += com.google.protobuf.CodedOutputStream
8248  .computeInt32Size(73, presolveBvaThreshold_);
8249  }
8250  if (((bitField2_ & 0x00100000) != 0)) {
8251  size += com.google.protobuf.CodedOutputStream
8252  .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
8253  }
8254  if (((bitField0_ & 0x00000080) != 0)) {
8255  size += com.google.protobuf.CodedOutputStream
8256  .computeBoolSize(75, useErwaHeuristic_);
8257  }
8258  if (((bitField0_ & 0x00000100) != 0)) {
8259  size += com.google.protobuf.CodedOutputStream
8260  .computeDoubleSize(76, initialVariablesActivity_);
8261  }
8262  if (((bitField0_ & 0x00000200) != 0)) {
8263  size += com.google.protobuf.CodedOutputStream
8264  .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
8265  }
8266  if (((bitField2_ & 0x00200000) != 0)) {
8267  size += com.google.protobuf.CodedOutputStream
8268  .computeBoolSize(78, useOverloadCheckerInCumulativeConstraint_);
8269  }
8270  if (((bitField2_ & 0x00400000) != 0)) {
8271  size += com.google.protobuf.CodedOutputStream
8272  .computeBoolSize(79, useTimetableEdgeFindingInCumulativeConstraint_);
8273  }
8274  if (((bitField2_ & 0x00800000) != 0)) {
8275  size += com.google.protobuf.CodedOutputStream
8276  .computeBoolSize(80, useDisjunctiveConstraintInCumulativeConstraint_);
8277  }
8278  if (((bitField3_ & 0x00001000) != 0)) {
8279  size += com.google.protobuf.CodedOutputStream
8280  .computeEnumSize(82, searchBranching_);
8281  }
8282  if (((bitField3_ & 0x00800000) != 0)) {
8283  size += com.google.protobuf.CodedOutputStream
8284  .computeBoolSize(83, optimizeWithCore_);
8285  }
8286  if (((bitField2_ & 0x00008000) != 0)) {
8287  size += com.google.protobuf.CodedOutputStream
8288  .computeBoolSize(84, findMultipleCores_);
8289  }
8290  if (((bitField3_ & 0x02000000) != 0)) {
8291  size += com.google.protobuf.CodedOutputStream
8292  .computeBoolSize(85, optimizeWithMaxHs_);
8293  }
8294  if (((bitField1_ & 0x20000000) != 0)) {
8295  size += com.google.protobuf.CodedOutputStream
8296  .computeBoolSize(86, cpModelPresolve_);
8297  }
8298  if (((bitField3_ & 0x04000000) != 0)) {
8299  size += com.google.protobuf.CodedOutputStream
8300  .computeBoolSize(87, enumerateAllSolutions_);
8301  }
8302  if (((bitField1_ & 0x02000000) != 0)) {
8303  size += com.google.protobuf.CodedOutputStream
8304  .computeBoolSize(88, presolveBlockedClause_);
8305  }
8306  if (((bitField2_ & 0x00010000) != 0)) {
8307  size += com.google.protobuf.CodedOutputStream
8308  .computeBoolSize(89, coverOptimization_);
8309  }
8310  if (((bitField2_ & 0x01000000) != 0)) {
8311  size += com.google.protobuf.CodedOutputStream
8312  .computeInt32Size(90, linearizationLevel_);
8313  }
8314  if (((bitField2_ & 0x04000000) != 0)) {
8315  size += com.google.protobuf.CodedOutputStream
8316  .computeInt32Size(91, maxNumCuts_);
8317  }
8318  if (((bitField2_ & 0x08000000) != 0)) {
8319  size += com.google.protobuf.CodedOutputStream
8320  .computeBoolSize(92, onlyAddCutsAtLevelZero_);
8321  }
8322  if (((bitField2_ & 0x00000002) != 0)) {
8323  size += com.google.protobuf.CodedOutputStream
8324  .computeBoolSize(93, cpModelUseSatPresolve_);
8325  }
8326  if (((bitField3_ & 0x00008000) != 0)) {
8327  size += com.google.protobuf.CodedOutputStream
8328  .computeBoolSize(94, exploitIntegerLpSolution_);
8329  }
8330  if (((bitField3_ & 0x40000000) != 0)) {
8331  size += com.google.protobuf.CodedOutputStream
8332  .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
8333  }
8334  if (((bitField0_ & 0x00100000) != 0)) {
8335  size += com.google.protobuf.CodedOutputStream
8336  .computeInt32Size(96, minimizeWithPropagationRestartPeriod_);
8337  }
8338  if (((bitField0_ & 0x00200000) != 0)) {
8339  size += com.google.protobuf.CodedOutputStream
8340  .computeInt32Size(97, minimizeWithPropagationNumDecisions_);
8341  }
8342  if (((bitField3_ & 0x80000000) != 0)) {
8343  size += com.google.protobuf.CodedOutputStream
8344  .computeBoolSize(98, stopAfterFirstSolution_);
8345  }
8346  if (((bitField3_ & 0x01000000) != 0)) {
8347  size += com.google.protobuf.CodedOutputStream
8348  .computeInt32Size(99, binarySearchNumConflicts_);
8349  }
8350  if (((bitField4_ & 0x00000002) != 0)) {
8351  size += com.google.protobuf.CodedOutputStream
8352  .computeInt32Size(100, numSearchWorkers_);
8353  }
8354  if (((bitField4_ & 0x00000080) != 0)) {
8355  size += com.google.protobuf.CodedOutputStream
8356  .computeBoolSize(101, useLnsOnly_);
8357  }
8358  if (((bitField4_ & 0x00008000) != 0)) {
8359  size += com.google.protobuf.CodedOutputStream
8360  .computeBoolSize(103, randomizeSearch_);
8361  }
8362  if (((bitField4_ & 0x00010000) != 0)) {
8363  size += com.google.protobuf.CodedOutputStream
8364  .computeInt64Size(104, searchRandomizationTolerance_);
8365  }
8366  if (((bitField4_ & 0x00000100) != 0)) {
8367  size += com.google.protobuf.CodedOutputStream
8368  .computeBoolSize(105, lnsFocusOnDecisionVariables_);
8369  }
8370  if (((bitField3_ & 0x20000000) != 0)) {
8371  size += com.google.protobuf.CodedOutputStream
8372  .computeBoolSize(106, instantiateAllVariables_);
8373  }
8374  if (((bitField2_ & 0x02000000) != 0)) {
8375  size += com.google.protobuf.CodedOutputStream
8376  .computeInt32Size(107, booleanEncodingLevel_);
8377  }
8378  if (((bitField4_ & 0x00020000) != 0)) {
8379  size += com.google.protobuf.CodedOutputStream
8380  .computeBoolSize(108, useOptionalVariables_);
8381  }
8382  if (((bitField4_ & 0x00040000) != 0)) {
8383  size += com.google.protobuf.CodedOutputStream
8384  .computeBoolSize(109, useExactLpReason_);
8385  }
8386  if (((bitField2_ & 0x00000001) != 0)) {
8387  size += com.google.protobuf.CodedOutputStream
8388  .computeInt32Size(110, cpModelProbingLevel_);
8389  }
8390  if (((bitField2_ & 0x10000000) != 0)) {
8391  size += com.google.protobuf.CodedOutputStream
8392  .computeBoolSize(111, addKnapsackCuts_);
8393  }
8394  if (((bitField3_ & 0x00000010) != 0)) {
8395  size += com.google.protobuf.CodedOutputStream
8396  .computeBoolSize(112, addLpConstraintsLazily_);
8397  }
8398  if (((bitField4_ & 0x00000020) != 0)) {
8399  size += com.google.protobuf.CodedOutputStream
8400  .computeBoolSize(113, shareObjectiveBounds_);
8401  }
8402  if (((bitField4_ & 0x00000040) != 0)) {
8403  size += com.google.protobuf.CodedOutputStream
8404  .computeBoolSize(114, shareLevelZeroBounds_);
8405  }
8406  if (((bitField3_ & 0x00000020) != 0)) {
8407  size += com.google.protobuf.CodedOutputStream
8408  .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
8409  }
8410  if (((bitField3_ & 0x00010000) != 0)) {
8411  size += com.google.protobuf.CodedOutputStream
8412  .computeBoolSize(116, exploitAllLpSolution_);
8413  }
8414  if (((bitField2_ & 0x20000000) != 0)) {
8415  size += com.google.protobuf.CodedOutputStream
8416  .computeBoolSize(117, addCgCuts_);
8417  }
8418  if (((bitField3_ & 0x00000008) != 0)) {
8419  size += com.google.protobuf.CodedOutputStream
8420  .computeInt32Size(119, maxIntegerRoundingScaling_);
8421  }
8422  if (((bitField2_ & 0x40000000) != 0)) {
8423  size += com.google.protobuf.CodedOutputStream
8424  .computeBoolSize(120, addMirCuts_);
8425  }
8426  if (((bitField3_ & 0x00000080) != 0)) {
8427  size += com.google.protobuf.CodedOutputStream
8428  .computeInt32Size(121, maxConsecutiveInactiveCount_);
8429  }
8430  if (((bitField3_ & 0x00000800) != 0)) {
8431  size += com.google.protobuf.CodedOutputStream
8432  .computeInt32Size(122, newConstraintsBatchSize_);
8433  }
8434  if (((bitField3_ & 0x00400000) != 0)) {
8435  size += com.google.protobuf.CodedOutputStream
8436  .computeInt64Size(123, pseudoCostReliabilityThreshold_);
8437  }
8438  if (((bitField4_ & 0x04000000) != 0)) {
8439  size += com.google.protobuf.CodedOutputStream
8440  .computeDoubleSize(124, mipMaxBound_);
8441  }
8442  if (((bitField4_ & 0x08000000) != 0)) {
8443  size += com.google.protobuf.CodedOutputStream
8444  .computeDoubleSize(125, mipVarScaling_);
8445  }
8446  if (((bitField4_ & 0x20000000) != 0)) {
8447  size += com.google.protobuf.CodedOutputStream
8448  .computeDoubleSize(126, mipWantedPrecision_);
8449  }
8450  if (((bitField4_ & 0x40000000) != 0)) {
8451  size += com.google.protobuf.CodedOutputStream
8452  .computeInt32Size(127, mipMaxActivityExponent_);
8453  }
8454  if (((bitField4_ & 0x80000000) != 0)) {
8455  size += com.google.protobuf.CodedOutputStream
8456  .computeDoubleSize(128, mipCheckPrecision_);
8457  }
8458  if (((bitField4_ & 0x00000400) != 0)) {
8459  size += com.google.protobuf.CodedOutputStream
8460  .computeBoolSize(129, useRinsLns_);
8461  }
8462  if (((bitField3_ & 0x00020000) != 0)) {
8463  size += com.google.protobuf.CodedOutputStream
8464  .computeBoolSize(130, exploitBestSolution_);
8465  }
8466  if (((bitField3_ & 0x00080000) != 0)) {
8467  size += com.google.protobuf.CodedOutputStream
8468  .computeBoolSize(131, exploitObjective_);
8469  }
8470  if (((bitField3_ & 0x10000000) != 0)) {
8471  size += com.google.protobuf.CodedOutputStream
8472  .computeBoolSize(132, fillTightenedDomainsInResponse_);
8473  }
8474  if (((bitField4_ & 0x00100000) != 0)) {
8475  size += com.google.protobuf.CodedOutputStream
8476  .computeBoolSize(133, useCombinedNoOverlap_);
8477  }
8478  if (((bitField4_ & 0x00000008) != 0)) {
8479  size += com.google.protobuf.CodedOutputStream
8480  .computeInt32Size(134, interleaveBatchSize_);
8481  }
8482  if (((bitField4_ & 0x00200000) != 0)) {
8483  size += com.google.protobuf.CodedOutputStream
8484  .computeBoolSize(135, catchSigintSignal_);
8485  }
8486  if (((bitField4_ & 0x00000004) != 0)) {
8487  size += com.google.protobuf.CodedOutputStream
8488  .computeBoolSize(136, interleaveSearch_);
8489  }
8490  if (((bitField4_ & 0x00004000) != 0)) {
8491  size += com.google.protobuf.CodedOutputStream
8492  .computeBoolSize(137, diversifyLnsParams_);
8493  }
8494  if (((bitField1_ & 0x10000000) != 0)) {
8495  size += com.google.protobuf.CodedOutputStream
8496  .computeInt32Size(138, maxPresolveIterations_);
8497  }
8498  if (((bitField4_ & 0x00080000) != 0)) {
8499  size += com.google.protobuf.CodedOutputStream
8500  .computeBoolSize(139, useBranchingInLp_);
8501  }
8502  if (((bitField2_ & 0x00000008) != 0)) {
8503  size += com.google.protobuf.CodedOutputStream
8504  .computeBoolSize(140, expandElementConstraints_);
8505  }
8506  if (((bitField4_ & 0x00000010) != 0)) {
8507  size += com.google.protobuf.CodedOutputStream
8508  .computeBoolSize(141, reduceMemoryUsageInInterleaveMode_);
8509  }
8510  if (((bitField3_ & 0x00100000) != 0)) {
8511  size += com.google.protobuf.CodedOutputStream
8512  .computeInt64Size(142, probingPeriodAtRoot_);
8513  }
8514  if (((bitField2_ & 0x00000010) != 0)) {
8515  size += com.google.protobuf.CodedOutputStream
8516  .computeBoolSize(143, expandAutomatonConstraints_);
8517  }
8518  if (((bitField4_ & 0x00400000) != 0)) {
8519  size += com.google.protobuf.CodedOutputStream
8520  .computeBoolSize(144, useImpliedBounds_);
8521  }
8522  if (((bitField2_ & 0x00000200) != 0)) {
8523  size += com.google.protobuf.CodedOutputStream
8524  .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
8525  }
8526  if (((bitField2_ & 0x00000400) != 0)) {
8527  size += com.google.protobuf.CodedOutputStream
8528  .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
8529  }
8530  if (((bitField2_ & 0x00000800) != 0)) {
8531  size += com.google.protobuf.CodedOutputStream
8532  .computeInt32Size(147, presolveSubstitutionLevel_);
8533  }
8534  if (((bitField3_ & 0x00000002) != 0)) {
8535  size += com.google.protobuf.CodedOutputStream
8536  .computeInt32Size(148, maxAllDiffCutSize_);
8537  }
8538  if (((bitField4_ & 0x00000001) != 0)) {
8539  size += com.google.protobuf.CodedOutputStream
8540  .computeBoolSize(149, stopAfterPresolve_);
8541  }
8542  if (((bitField4_ & 0x00002000) != 0)) {
8543  size += com.google.protobuf.CodedOutputStream
8544  .computeBoolSize(150, useRelaxationLns_);
8545  }
8546  if (((bitField1_ & 0x80000000) != 0)) {
8547  size += com.google.protobuf.CodedOutputStream
8548  .computeInt32Size(151, cpModelMaxNumPresolveOperations_);
8549  }
8550  if (((bitField3_ & 0x00000004) != 0)) {
8551  size += com.google.protobuf.CodedOutputStream
8552  .computeBoolSize(152, addLinMaxCuts_);
8553  }
8554  if (((bitField3_ & 0x00002000) != 0)) {
8555  size += com.google.protobuf.CodedOutputStream
8556  .computeInt32Size(153, hintConflictLimit_);
8557  }
8558  if (((bitField3_ & 0x00000040) != 0)) {
8559  size += com.google.protobuf.CodedOutputStream
8560  .computeInt32Size(154, maxCutRoundsAtLevelZero_);
8561  }
8562  if (((bitField3_ & 0x00000100) != 0)) {
8563  size += com.google.protobuf.CodedOutputStream
8564  .computeDoubleSize(155, cutMaxActiveCountValue_);
8565  }
8566  if (((bitField3_ & 0x00000200) != 0)) {
8567  size += com.google.protobuf.CodedOutputStream
8568  .computeDoubleSize(156, cutActiveCountDecay_);
8569  }
8570  if (((bitField3_ & 0x00000400) != 0)) {
8571  size += com.google.protobuf.CodedOutputStream
8572  .computeInt32Size(157, cutCleanupTarget_);
8573  }
8574  if (((bitField2_ & 0x00000020) != 0)) {
8575  size += com.google.protobuf.CodedOutputStream
8576  .computeBoolSize(158, expandTableConstraints_);
8577  }
8578  if (((bitField1_ & 0x00000800) != 0)) {
8579  size += com.google.protobuf.CodedOutputStream
8580  .computeDoubleSize(159, absoluteGapLimit_);
8581  }
8582  if (((bitField1_ & 0x00001000) != 0)) {
8583  size += com.google.protobuf.CodedOutputStream
8584  .computeDoubleSize(160, relativeGapLimit_);
8585  }
8586  if (((bitField3_ & 0x00040000) != 0)) {
8587  size += com.google.protobuf.CodedOutputStream
8588  .computeBoolSize(161, exploitRelaxationSolution_);
8589  }
8590  if (((bitField1_ & 0x40000000) != 0)) {
8591  size += com.google.protobuf.CodedOutputStream
8592  .computeBoolSize(162, cpModelPostsolveWithFullSolver_);
8593  }
8594  if (((bitField2_ & 0x00000004) != 0)) {
8595  size += com.google.protobuf.CodedOutputStream
8596  .computeBoolSize(163, useSatInprocessing_);
8597  }
8598  if (((bitField4_ & 0x00000800) != 0)) {
8599  size += com.google.protobuf.CodedOutputStream
8600  .computeBoolSize(164, useFeasibilityPump_);
8601  }
8602  if (((bitField4_ & 0x00001000) != 0)) {
8603  size += com.google.protobuf.CodedOutputStream
8604  .computeEnumSize(165, fpRounding_);
8605  }
8606  if (((bitField4_ & 0x10000000) != 0)) {
8607  size += com.google.protobuf.CodedOutputStream
8608  .computeBoolSize(166, mipAutomaticallyScaleVariables_);
8609  }
8610  if (((bitField3_ & 0x00004000) != 0)) {
8611  size += com.google.protobuf.CodedOutputStream
8612  .computeBoolSize(167, repairHint_);
8613  }
8614  if (((bitField0_ & 0x00000010) != 0)) {
8615  size += com.google.protobuf.CodedOutputStream
8616  .computeInt32Size(168, polarityRephaseIncrement_);
8617  }
8618  if (((bitField2_ & 0x80000000) != 0)) {
8619  size += com.google.protobuf.CodedOutputStream
8620  .computeBoolSize(169, addZeroHalfCuts_);
8621  }
8622  if (((bitField2_ & 0x00000040) != 0)) {
8623  size += com.google.protobuf.CodedOutputStream
8624  .computeBoolSize(170, expandAlldiffConstraints_);
8625  }
8626  if (((bitField0_ & 0x00000001) != 0)) {
8627  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(171, name_);
8628  }
8629  if (((bitField3_ & 0x00000001) != 0)) {
8630  size += com.google.protobuf.CodedOutputStream
8631  .computeBoolSize(172, addCliqueCuts_);
8632  }
8633  if (((bitField3_ & 0x08000000) != 0)) {
8634  size += com.google.protobuf.CodedOutputStream
8635  .computeBoolSize(173, keepAllFeasibleSolutionsInPresolve_);
8636  }
8637  if (((bitField2_ & 0x00001000) != 0)) {
8638  size += com.google.protobuf.CodedOutputStream
8639  .computeBoolSize(174, presolveExtractIntegerEnforcement_);
8640  }
8641  if (((bitField4_ & 0x00800000) != 0)) {
8642  size += com.google.protobuf.CodedOutputStream
8643  .computeBoolSize(175, polishLpSolution_);
8644  }
8645  if (((bitField3_ & 0x00200000) != 0)) {
8646  size += com.google.protobuf.CodedOutputStream
8647  .computeBoolSize(176, useProbingSearch_);
8648  }
8649  if (((bitField4_ & 0x01000000) != 0)) {
8650  size += com.google.protobuf.CodedOutputStream
8651  .computeBoolSize(177, convertIntervals_);
8652  }
8653  if (((bitField1_ & 0x00008000) != 0)) {
8654  size += com.google.protobuf.CodedOutputStream
8655  .computeBoolSize(178, permuteVariableRandomly_);
8656  }
8657  if (((bitField1_ & 0x00010000) != 0)) {
8658  size += com.google.protobuf.CodedOutputStream
8659  .computeBoolSize(179, permutePresolveConstraintOrder_);
8660  }
8661  if (((bitField1_ & 0x00020000) != 0)) {
8662  size += com.google.protobuf.CodedOutputStream
8663  .computeBoolSize(180, useAbslRandom_);
8664  }
8665  if (((bitField2_ & 0x00000100) != 0)) {
8666  size += com.google.protobuf.CodedOutputStream
8667  .computeBoolSize(181, disableConstraintExpansion_);
8668  }
8669  if (((bitField2_ & 0x00000080) != 0)) {
8670  size += com.google.protobuf.CodedOutputStream
8671  .computeBoolSize(182, expandReservoirConstraints_);
8672  }
8673  if (((bitField4_ & 0x02000000) != 0)) {
8674  size += com.google.protobuf.CodedOutputStream
8675  .computeInt32Size(183, symmetryLevel_);
8676  }
8677  if (((bitField4_ & 0x00000200) != 0)) {
8678  size += com.google.protobuf.CodedOutputStream
8679  .computeBoolSize(184, lnsExpandIntervalsInConstraintGraph_);
8680  }
8681  size += unknownFields.getSerializedSize();
8682  memoizedSize = size;
8683  return size;
8684  }
8685 
8686  @java.lang.Override
8687  public boolean equals(final java.lang.Object obj) {
8688  if (obj == this) {
8689  return true;
8690  }
8691  if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
8692  return super.equals(obj);
8693  }
8694  com.google.ortools.sat.SatParameters other = (com.google.ortools.sat.SatParameters) obj;
8695 
8696  if (hasName() != other.hasName()) return false;
8697  if (hasName()) {
8698  if (!getName()
8699  .equals(other.getName())) return false;
8700  }
8701  if (hasPreferredVariableOrder() != other.hasPreferredVariableOrder()) return false;
8702  if (hasPreferredVariableOrder()) {
8703  if (preferredVariableOrder_ != other.preferredVariableOrder_) return false;
8704  }
8705  if (hasInitialPolarity() != other.hasInitialPolarity()) return false;
8706  if (hasInitialPolarity()) {
8707  if (initialPolarity_ != other.initialPolarity_) return false;
8708  }
8709  if (hasUsePhaseSaving() != other.hasUsePhaseSaving()) return false;
8710  if (hasUsePhaseSaving()) {
8711  if (getUsePhaseSaving()
8712  != other.getUsePhaseSaving()) return false;
8713  }
8714  if (hasPolarityRephaseIncrement() != other.hasPolarityRephaseIncrement()) return false;
8717  != other.getPolarityRephaseIncrement()) return false;
8718  }
8719  if (hasRandomPolarityRatio() != other.hasRandomPolarityRatio()) return false;
8720  if (hasRandomPolarityRatio()) {
8721  if (java.lang.Double.doubleToLongBits(getRandomPolarityRatio())
8722  != java.lang.Double.doubleToLongBits(
8723  other.getRandomPolarityRatio())) return false;
8724  }
8725  if (hasRandomBranchesRatio() != other.hasRandomBranchesRatio()) return false;
8726  if (hasRandomBranchesRatio()) {
8727  if (java.lang.Double.doubleToLongBits(getRandomBranchesRatio())
8728  != java.lang.Double.doubleToLongBits(
8729  other.getRandomBranchesRatio())) return false;
8730  }
8731  if (hasUseErwaHeuristic() != other.hasUseErwaHeuristic()) return false;
8732  if (hasUseErwaHeuristic()) {
8733  if (getUseErwaHeuristic()
8734  != other.getUseErwaHeuristic()) return false;
8735  }
8736  if (hasInitialVariablesActivity() != other.hasInitialVariablesActivity()) return false;
8738  if (java.lang.Double.doubleToLongBits(getInitialVariablesActivity())
8739  != java.lang.Double.doubleToLongBits(
8740  other.getInitialVariablesActivity())) return false;
8741  }
8742  if (hasAlsoBumpVariablesInConflictReasons() != other.hasAlsoBumpVariablesInConflictReasons()) return false;
8745  != other.getAlsoBumpVariablesInConflictReasons()) return false;
8746  }
8747  if (hasMinimizationAlgorithm() != other.hasMinimizationAlgorithm()) return false;
8748  if (hasMinimizationAlgorithm()) {
8749  if (minimizationAlgorithm_ != other.minimizationAlgorithm_) return false;
8750  }
8751  if (hasBinaryMinimizationAlgorithm() != other.hasBinaryMinimizationAlgorithm()) return false;
8753  if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_) return false;
8754  }
8755  if (hasSubsumptionDuringConflictAnalysis() != other.hasSubsumptionDuringConflictAnalysis()) return false;
8758  != other.getSubsumptionDuringConflictAnalysis()) return false;
8759  }
8760  if (hasClauseCleanupPeriod() != other.hasClauseCleanupPeriod()) return false;
8761  if (hasClauseCleanupPeriod()) {
8763  != other.getClauseCleanupPeriod()) return false;
8764  }
8765  if (hasClauseCleanupTarget() != other.hasClauseCleanupTarget()) return false;
8766  if (hasClauseCleanupTarget()) {
8768  != other.getClauseCleanupTarget()) return false;
8769  }
8770  if (hasClauseCleanupProtection() != other.hasClauseCleanupProtection()) return false;
8772  if (clauseCleanupProtection_ != other.clauseCleanupProtection_) return false;
8773  }
8774  if (hasClauseCleanupLbdBound() != other.hasClauseCleanupLbdBound()) return false;
8775  if (hasClauseCleanupLbdBound()) {
8777  != other.getClauseCleanupLbdBound()) return false;
8778  }
8779  if (hasClauseCleanupOrdering() != other.hasClauseCleanupOrdering()) return false;
8780  if (hasClauseCleanupOrdering()) {
8781  if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_) return false;
8782  }
8783  if (hasPbCleanupIncrement() != other.hasPbCleanupIncrement()) return false;
8784  if (hasPbCleanupIncrement()) {
8785  if (getPbCleanupIncrement()
8786  != other.getPbCleanupIncrement()) return false;
8787  }
8788  if (hasPbCleanupRatio() != other.hasPbCleanupRatio()) return false;
8789  if (hasPbCleanupRatio()) {
8790  if (java.lang.Double.doubleToLongBits(getPbCleanupRatio())
8791  != java.lang.Double.doubleToLongBits(
8792  other.getPbCleanupRatio())) return false;
8793  }
8794  if (hasMinimizeWithPropagationRestartPeriod() != other.hasMinimizeWithPropagationRestartPeriod()) return false;
8797  != other.getMinimizeWithPropagationRestartPeriod()) return false;
8798  }
8799  if (hasMinimizeWithPropagationNumDecisions() != other.hasMinimizeWithPropagationNumDecisions()) return false;
8802  != other.getMinimizeWithPropagationNumDecisions()) return false;
8803  }
8804  if (hasVariableActivityDecay() != other.hasVariableActivityDecay()) return false;
8805  if (hasVariableActivityDecay()) {
8806  if (java.lang.Double.doubleToLongBits(getVariableActivityDecay())
8807  != java.lang.Double.doubleToLongBits(
8808  other.getVariableActivityDecay())) return false;
8809  }
8810  if (hasMaxVariableActivityValue() != other.hasMaxVariableActivityValue()) return false;
8812  if (java.lang.Double.doubleToLongBits(getMaxVariableActivityValue())
8813  != java.lang.Double.doubleToLongBits(
8814  other.getMaxVariableActivityValue())) return false;
8815  }
8816  if (hasGlucoseMaxDecay() != other.hasGlucoseMaxDecay()) return false;
8817  if (hasGlucoseMaxDecay()) {
8818  if (java.lang.Double.doubleToLongBits(getGlucoseMaxDecay())
8819  != java.lang.Double.doubleToLongBits(
8820  other.getGlucoseMaxDecay())) return false;
8821  }
8822  if (hasGlucoseDecayIncrement() != other.hasGlucoseDecayIncrement()) return false;
8823  if (hasGlucoseDecayIncrement()) {
8824  if (java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement())
8825  != java.lang.Double.doubleToLongBits(
8826  other.getGlucoseDecayIncrement())) return false;
8827  }
8828  if (hasGlucoseDecayIncrementPeriod() != other.hasGlucoseDecayIncrementPeriod()) return false;
8831  != other.getGlucoseDecayIncrementPeriod()) return false;
8832  }
8833  if (hasClauseActivityDecay() != other.hasClauseActivityDecay()) return false;
8834  if (hasClauseActivityDecay()) {
8835  if (java.lang.Double.doubleToLongBits(getClauseActivityDecay())
8836  != java.lang.Double.doubleToLongBits(
8837  other.getClauseActivityDecay())) return false;
8838  }
8839  if (hasMaxClauseActivityValue() != other.hasMaxClauseActivityValue()) return false;
8840  if (hasMaxClauseActivityValue()) {
8841  if (java.lang.Double.doubleToLongBits(getMaxClauseActivityValue())
8842  != java.lang.Double.doubleToLongBits(
8843  other.getMaxClauseActivityValue())) return false;
8844  }
8845  if (!restartAlgorithms_.equals(other.restartAlgorithms_)) return false;
8846  if (hasDefaultRestartAlgorithms() != other.hasDefaultRestartAlgorithms()) return false;
8849  .equals(other.getDefaultRestartAlgorithms())) return false;
8850  }
8851  if (hasRestartPeriod() != other.hasRestartPeriod()) return false;
8852  if (hasRestartPeriod()) {
8853  if (getRestartPeriod()
8854  != other.getRestartPeriod()) return false;
8855  }
8856  if (hasRestartRunningWindowSize() != other.hasRestartRunningWindowSize()) return false;
8859  != other.getRestartRunningWindowSize()) return false;
8860  }
8861  if (hasRestartDlAverageRatio() != other.hasRestartDlAverageRatio()) return false;
8862  if (hasRestartDlAverageRatio()) {
8863  if (java.lang.Double.doubleToLongBits(getRestartDlAverageRatio())
8864  != java.lang.Double.doubleToLongBits(
8865  other.getRestartDlAverageRatio())) return false;
8866  }
8867  if (hasRestartLbdAverageRatio() != other.hasRestartLbdAverageRatio()) return false;
8868  if (hasRestartLbdAverageRatio()) {
8869  if (java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio())
8870  != java.lang.Double.doubleToLongBits(
8871  other.getRestartLbdAverageRatio())) return false;
8872  }
8873  if (hasUseBlockingRestart() != other.hasUseBlockingRestart()) return false;
8874  if (hasUseBlockingRestart()) {
8875  if (getUseBlockingRestart()
8876  != other.getUseBlockingRestart()) return false;
8877  }
8878  if (hasBlockingRestartWindowSize() != other.hasBlockingRestartWindowSize()) return false;
8881  != other.getBlockingRestartWindowSize()) return false;
8882  }
8883  if (hasBlockingRestartMultiplier() != other.hasBlockingRestartMultiplier()) return false;
8885  if (java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier())
8886  != java.lang.Double.doubleToLongBits(
8887  other.getBlockingRestartMultiplier())) return false;
8888  }
8889  if (hasNumConflictsBeforeStrategyChanges() != other.hasNumConflictsBeforeStrategyChanges()) return false;
8892  != other.getNumConflictsBeforeStrategyChanges()) return false;
8893  }
8894  if (hasStrategyChangeIncreaseRatio() != other.hasStrategyChangeIncreaseRatio()) return false;
8896  if (java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio())
8897  != java.lang.Double.doubleToLongBits(
8898  other.getStrategyChangeIncreaseRatio())) return false;
8899  }
8900  if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
8901  if (hasMaxTimeInSeconds()) {
8902  if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
8903  != java.lang.Double.doubleToLongBits(
8904  other.getMaxTimeInSeconds())) return false;
8905  }
8906  if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
8907  if (hasMaxDeterministicTime()) {
8908  if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
8909  != java.lang.Double.doubleToLongBits(
8910  other.getMaxDeterministicTime())) return false;
8911  }
8912  if (hasMaxNumberOfConflicts() != other.hasMaxNumberOfConflicts()) return false;
8913  if (hasMaxNumberOfConflicts()) {
8915  != other.getMaxNumberOfConflicts()) return false;
8916  }
8917  if (hasMaxMemoryInMb() != other.hasMaxMemoryInMb()) return false;
8918  if (hasMaxMemoryInMb()) {
8919  if (getMaxMemoryInMb()
8920  != other.getMaxMemoryInMb()) return false;
8921  }
8922  if (hasAbsoluteGapLimit() != other.hasAbsoluteGapLimit()) return false;
8923  if (hasAbsoluteGapLimit()) {
8924  if (java.lang.Double.doubleToLongBits(getAbsoluteGapLimit())
8925  != java.lang.Double.doubleToLongBits(
8926  other.getAbsoluteGapLimit())) return false;
8927  }
8928  if (hasRelativeGapLimit() != other.hasRelativeGapLimit()) return false;
8929  if (hasRelativeGapLimit()) {
8930  if (java.lang.Double.doubleToLongBits(getRelativeGapLimit())
8931  != java.lang.Double.doubleToLongBits(
8932  other.getRelativeGapLimit())) return false;
8933  }
8934  if (hasTreatBinaryClausesSeparately() != other.hasTreatBinaryClausesSeparately()) return false;
8937  != other.getTreatBinaryClausesSeparately()) return false;
8938  }
8939  if (hasRandomSeed() != other.hasRandomSeed()) return false;
8940  if (hasRandomSeed()) {
8941  if (getRandomSeed()
8942  != other.getRandomSeed()) return false;
8943  }
8944  if (hasPermuteVariableRandomly() != other.hasPermuteVariableRandomly()) return false;
8947  != other.getPermuteVariableRandomly()) return false;
8948  }
8949  if (hasPermutePresolveConstraintOrder() != other.hasPermutePresolveConstraintOrder()) return false;
8952  != other.getPermutePresolveConstraintOrder()) return false;
8953  }
8954  if (hasUseAbslRandom() != other.hasUseAbslRandom()) return false;
8955  if (hasUseAbslRandom()) {
8956  if (getUseAbslRandom()
8957  != other.getUseAbslRandom()) return false;
8958  }
8959  if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
8960  if (hasLogSearchProgress()) {
8961  if (getLogSearchProgress()
8962  != other.getLogSearchProgress()) return false;
8963  }
8964  if (hasUsePbResolution() != other.hasUsePbResolution()) return false;
8965  if (hasUsePbResolution()) {
8966  if (getUsePbResolution()
8967  != other.getUsePbResolution()) return false;
8968  }
8969  if (hasMinimizeReductionDuringPbResolution() != other.hasMinimizeReductionDuringPbResolution()) return false;
8972  != other.getMinimizeReductionDuringPbResolution()) return false;
8973  }
8974  if (hasCountAssumptionLevelsInLbd() != other.hasCountAssumptionLevelsInLbd()) return false;
8977  != other.getCountAssumptionLevelsInLbd()) return false;
8978  }
8979  if (hasPresolveBveThreshold() != other.hasPresolveBveThreshold()) return false;
8980  if (hasPresolveBveThreshold()) {
8982  != other.getPresolveBveThreshold()) return false;
8983  }
8984  if (hasPresolveBveClauseWeight() != other.hasPresolveBveClauseWeight()) return false;
8987  != other.getPresolveBveClauseWeight()) return false;
8988  }
8989  if (hasPresolveProbingDeterministicTimeLimit() != other.hasPresolveProbingDeterministicTimeLimit()) return false;
8991  if (java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit())
8992  != java.lang.Double.doubleToLongBits(
8993  other.getPresolveProbingDeterministicTimeLimit())) return false;
8994  }
8995  if (hasPresolveBlockedClause() != other.hasPresolveBlockedClause()) return false;
8996  if (hasPresolveBlockedClause()) {
8998  != other.getPresolveBlockedClause()) return false;
8999  }
9000  if (hasPresolveUseBva() != other.hasPresolveUseBva()) return false;
9001  if (hasPresolveUseBva()) {
9002  if (getPresolveUseBva()
9003  != other.getPresolveUseBva()) return false;
9004  }
9005  if (hasPresolveBvaThreshold() != other.hasPresolveBvaThreshold()) return false;
9006  if (hasPresolveBvaThreshold()) {
9008  != other.getPresolveBvaThreshold()) return false;
9009  }
9010  if (hasMaxPresolveIterations() != other.hasMaxPresolveIterations()) return false;
9011  if (hasMaxPresolveIterations()) {
9013  != other.getMaxPresolveIterations()) return false;
9014  }
9015  if (hasCpModelPresolve() != other.hasCpModelPresolve()) return false;
9016  if (hasCpModelPresolve()) {
9017  if (getCpModelPresolve()
9018  != other.getCpModelPresolve()) return false;
9019  }
9020  if (hasCpModelPostsolveWithFullSolver() != other.hasCpModelPostsolveWithFullSolver()) return false;
9023  != other.getCpModelPostsolveWithFullSolver()) return false;
9024  }
9025  if (hasCpModelMaxNumPresolveOperations() != other.hasCpModelMaxNumPresolveOperations()) return false;
9028  != other.getCpModelMaxNumPresolveOperations()) return false;
9029  }
9030  if (hasCpModelProbingLevel() != other.hasCpModelProbingLevel()) return false;
9031  if (hasCpModelProbingLevel()) {
9033  != other.getCpModelProbingLevel()) return false;
9034  }
9035  if (hasCpModelUseSatPresolve() != other.hasCpModelUseSatPresolve()) return false;
9036  if (hasCpModelUseSatPresolve()) {
9038  != other.getCpModelUseSatPresolve()) return false;
9039  }
9040  if (hasUseSatInprocessing() != other.hasUseSatInprocessing()) return false;
9041  if (hasUseSatInprocessing()) {
9042  if (getUseSatInprocessing()
9043  != other.getUseSatInprocessing()) return false;
9044  }
9045  if (hasExpandElementConstraints() != other.hasExpandElementConstraints()) return false;
9048  != other.getExpandElementConstraints()) return false;
9049  }
9050  if (hasExpandAutomatonConstraints() != other.hasExpandAutomatonConstraints()) return false;
9053  != other.getExpandAutomatonConstraints()) return false;
9054  }
9055  if (hasExpandTableConstraints() != other.hasExpandTableConstraints()) return false;
9056  if (hasExpandTableConstraints()) {
9058  != other.getExpandTableConstraints()) return false;
9059  }
9060  if (hasExpandAlldiffConstraints() != other.hasExpandAlldiffConstraints()) return false;
9063  != other.getExpandAlldiffConstraints()) return false;
9064  }
9065  if (hasExpandReservoirConstraints() != other.hasExpandReservoirConstraints()) return false;
9068  != other.getExpandReservoirConstraints()) return false;
9069  }
9070  if (hasDisableConstraintExpansion() != other.hasDisableConstraintExpansion()) return false;
9073  != other.getDisableConstraintExpansion()) return false;
9074  }
9075  if (hasMergeNoOverlapWorkLimit() != other.hasMergeNoOverlapWorkLimit()) return false;
9077  if (java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit())
9078  != java.lang.Double.doubleToLongBits(
9079  other.getMergeNoOverlapWorkLimit())) return false;
9080  }
9081  if (hasMergeAtMostOneWorkLimit() != other.hasMergeAtMostOneWorkLimit()) return false;
9083  if (java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit())
9084  != java.lang.Double.doubleToLongBits(
9085  other.getMergeAtMostOneWorkLimit())) return false;
9086  }
9087  if (hasPresolveSubstitutionLevel() != other.hasPresolveSubstitutionLevel()) return false;
9090  != other.getPresolveSubstitutionLevel()) return false;
9091  }
9092  if (hasPresolveExtractIntegerEnforcement() != other.hasPresolveExtractIntegerEnforcement()) return false;
9095  != other.getPresolveExtractIntegerEnforcement()) return false;
9096  }
9097  if (hasUseOptimizationHints() != other.hasUseOptimizationHints()) return false;
9098  if (hasUseOptimizationHints()) {
9100  != other.getUseOptimizationHints()) return false;
9101  }
9102  if (hasMinimizeCore() != other.hasMinimizeCore()) return false;
9103  if (hasMinimizeCore()) {
9104  if (getMinimizeCore()
9105  != other.getMinimizeCore()) return false;
9106  }
9107  if (hasFindMultipleCores() != other.hasFindMultipleCores()) return false;
9108  if (hasFindMultipleCores()) {
9109  if (getFindMultipleCores()
9110  != other.getFindMultipleCores()) return false;
9111  }
9112  if (hasCoverOptimization() != other.hasCoverOptimization()) return false;
9113  if (hasCoverOptimization()) {
9114  if (getCoverOptimization()
9115  != other.getCoverOptimization()) return false;
9116  }
9117  if (hasMaxSatAssumptionOrder() != other.hasMaxSatAssumptionOrder()) return false;
9118  if (hasMaxSatAssumptionOrder()) {
9119  if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_) return false;
9120  }
9121  if (hasMaxSatReverseAssumptionOrder() != other.hasMaxSatReverseAssumptionOrder()) return false;
9124  != other.getMaxSatReverseAssumptionOrder()) return false;
9125  }
9126  if (hasMaxSatStratification() != other.hasMaxSatStratification()) return false;
9127  if (hasMaxSatStratification()) {
9128  if (maxSatStratification_ != other.maxSatStratification_) return false;
9129  }
9130  if (hasUsePrecedencesInDisjunctiveConstraint() != other.hasUsePrecedencesInDisjunctiveConstraint()) return false;
9133  != other.getUsePrecedencesInDisjunctiveConstraint()) return false;
9134  }
9135  if (hasUseOverloadCheckerInCumulativeConstraint() != other.hasUseOverloadCheckerInCumulativeConstraint()) return false;
9138  != other.getUseOverloadCheckerInCumulativeConstraint()) return false;
9139  }
9140  if (hasUseTimetableEdgeFindingInCumulativeConstraint() != other.hasUseTimetableEdgeFindingInCumulativeConstraint()) return false;
9143  != other.getUseTimetableEdgeFindingInCumulativeConstraint()) return false;
9144  }
9145  if (hasUseDisjunctiveConstraintInCumulativeConstraint() != other.hasUseDisjunctiveConstraintInCumulativeConstraint()) return false;
9148  != other.getUseDisjunctiveConstraintInCumulativeConstraint()) return false;
9149  }
9150  if (hasLinearizationLevel() != other.hasLinearizationLevel()) return false;
9151  if (hasLinearizationLevel()) {
9152  if (getLinearizationLevel()
9153  != other.getLinearizationLevel()) return false;
9154  }
9155  if (hasBooleanEncodingLevel() != other.hasBooleanEncodingLevel()) return false;
9156  if (hasBooleanEncodingLevel()) {
9158  != other.getBooleanEncodingLevel()) return false;
9159  }
9160  if (hasMaxNumCuts() != other.hasMaxNumCuts()) return false;
9161  if (hasMaxNumCuts()) {
9162  if (getMaxNumCuts()
9163  != other.getMaxNumCuts()) return false;
9164  }
9165  if (hasOnlyAddCutsAtLevelZero() != other.hasOnlyAddCutsAtLevelZero()) return false;
9166  if (hasOnlyAddCutsAtLevelZero()) {
9168  != other.getOnlyAddCutsAtLevelZero()) return false;
9169  }
9170  if (hasAddKnapsackCuts() != other.hasAddKnapsackCuts()) return false;
9171  if (hasAddKnapsackCuts()) {
9172  if (getAddKnapsackCuts()
9173  != other.getAddKnapsackCuts()) return false;
9174  }
9175  if (hasAddCgCuts() != other.hasAddCgCuts()) return false;
9176  if (hasAddCgCuts()) {
9177  if (getAddCgCuts()
9178  != other.getAddCgCuts()) return false;
9179  }
9180  if (hasAddMirCuts() != other.hasAddMirCuts()) return false;
9181  if (hasAddMirCuts()) {
9182  if (getAddMirCuts()
9183  != other.getAddMirCuts()) return false;
9184  }
9185  if (hasAddZeroHalfCuts() != other.hasAddZeroHalfCuts()) return false;
9186  if (hasAddZeroHalfCuts()) {
9187  if (getAddZeroHalfCuts()
9188  != other.getAddZeroHalfCuts()) return false;
9189  }
9190  if (hasAddCliqueCuts() != other.hasAddCliqueCuts()) return false;
9191  if (hasAddCliqueCuts()) {
9192  if (getAddCliqueCuts()
9193  != other.getAddCliqueCuts()) return false;
9194  }
9195  if (hasMaxAllDiffCutSize() != other.hasMaxAllDiffCutSize()) return false;
9196  if (hasMaxAllDiffCutSize()) {
9197  if (getMaxAllDiffCutSize()
9198  != other.getMaxAllDiffCutSize()) return false;
9199  }
9200  if (hasAddLinMaxCuts() != other.hasAddLinMaxCuts()) return false;
9201  if (hasAddLinMaxCuts()) {
9202  if (getAddLinMaxCuts()
9203  != other.getAddLinMaxCuts()) return false;
9204  }
9205  if (hasMaxIntegerRoundingScaling() != other.hasMaxIntegerRoundingScaling()) return false;
9208  != other.getMaxIntegerRoundingScaling()) return false;
9209  }
9210  if (hasAddLpConstraintsLazily() != other.hasAddLpConstraintsLazily()) return false;
9211  if (hasAddLpConstraintsLazily()) {
9213  != other.getAddLpConstraintsLazily()) return false;
9214  }
9215  if (hasMinOrthogonalityForLpConstraints() != other.hasMinOrthogonalityForLpConstraints()) return false;
9217  if (java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints())
9218  != java.lang.Double.doubleToLongBits(
9219  other.getMinOrthogonalityForLpConstraints())) return false;
9220  }
9221  if (hasMaxCutRoundsAtLevelZero() != other.hasMaxCutRoundsAtLevelZero()) return false;
9224  != other.getMaxCutRoundsAtLevelZero()) return false;
9225  }
9226  if (hasMaxConsecutiveInactiveCount() != other.hasMaxConsecutiveInactiveCount()) return false;
9229  != other.getMaxConsecutiveInactiveCount()) return false;
9230  }
9231  if (hasCutMaxActiveCountValue() != other.hasCutMaxActiveCountValue()) return false;
9232  if (hasCutMaxActiveCountValue()) {
9233  if (java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue())
9234  != java.lang.Double.doubleToLongBits(
9235  other.getCutMaxActiveCountValue())) return false;
9236  }
9237  if (hasCutActiveCountDecay() != other.hasCutActiveCountDecay()) return false;
9238  if (hasCutActiveCountDecay()) {
9239  if (java.lang.Double.doubleToLongBits(getCutActiveCountDecay())
9240  != java.lang.Double.doubleToLongBits(
9241  other.getCutActiveCountDecay())) return false;
9242  }
9243  if (hasCutCleanupTarget() != other.hasCutCleanupTarget()) return false;
9244  if (hasCutCleanupTarget()) {
9245  if (getCutCleanupTarget()
9246  != other.getCutCleanupTarget()) return false;
9247  }
9248  if (hasNewConstraintsBatchSize() != other.hasNewConstraintsBatchSize()) return false;
9251  != other.getNewConstraintsBatchSize()) return false;
9252  }
9253  if (hasSearchBranching() != other.hasSearchBranching()) return false;
9254  if (hasSearchBranching()) {
9255  if (searchBranching_ != other.searchBranching_) return false;
9256  }
9257  if (hasHintConflictLimit() != other.hasHintConflictLimit()) return false;
9258  if (hasHintConflictLimit()) {
9259  if (getHintConflictLimit()
9260  != other.getHintConflictLimit()) return false;
9261  }
9262  if (hasRepairHint() != other.hasRepairHint()) return false;
9263  if (hasRepairHint()) {
9264  if (getRepairHint()
9265  != other.getRepairHint()) return false;
9266  }
9267  if (hasExploitIntegerLpSolution() != other.hasExploitIntegerLpSolution()) return false;
9270  != other.getExploitIntegerLpSolution()) return false;
9271  }
9272  if (hasExploitAllLpSolution() != other.hasExploitAllLpSolution()) return false;
9273  if (hasExploitAllLpSolution()) {
9275  != other.getExploitAllLpSolution()) return false;
9276  }
9277  if (hasExploitBestSolution() != other.hasExploitBestSolution()) return false;
9278  if (hasExploitBestSolution()) {
9280  != other.getExploitBestSolution()) return false;
9281  }
9282  if (hasExploitRelaxationSolution() != other.hasExploitRelaxationSolution()) return false;
9285  != other.getExploitRelaxationSolution()) return false;
9286  }
9287  if (hasExploitObjective() != other.hasExploitObjective()) return false;
9288  if (hasExploitObjective()) {
9289  if (getExploitObjective()
9290  != other.getExploitObjective()) return false;
9291  }
9292  if (hasProbingPeriodAtRoot() != other.hasProbingPeriodAtRoot()) return false;
9293  if (hasProbingPeriodAtRoot()) {
9295  != other.getProbingPeriodAtRoot()) return false;
9296  }
9297  if (hasUseProbingSearch() != other.hasUseProbingSearch()) return false;
9298  if (hasUseProbingSearch()) {
9299  if (getUseProbingSearch()
9300  != other.getUseProbingSearch()) return false;
9301  }
9302  if (hasPseudoCostReliabilityThreshold() != other.hasPseudoCostReliabilityThreshold()) return false;
9305  != other.getPseudoCostReliabilityThreshold()) return false;
9306  }
9307  if (hasOptimizeWithCore() != other.hasOptimizeWithCore()) return false;
9308  if (hasOptimizeWithCore()) {
9309  if (getOptimizeWithCore()
9310  != other.getOptimizeWithCore()) return false;
9311  }
9312  if (hasBinarySearchNumConflicts() != other.hasBinarySearchNumConflicts()) return false;
9315  != other.getBinarySearchNumConflicts()) return false;
9316  }
9317  if (hasOptimizeWithMaxHs() != other.hasOptimizeWithMaxHs()) return false;
9318  if (hasOptimizeWithMaxHs()) {
9319  if (getOptimizeWithMaxHs()
9320  != other.getOptimizeWithMaxHs()) return false;
9321  }
9322  if (hasEnumerateAllSolutions() != other.hasEnumerateAllSolutions()) return false;
9323  if (hasEnumerateAllSolutions()) {
9325  != other.getEnumerateAllSolutions()) return false;
9326  }
9327  if (hasKeepAllFeasibleSolutionsInPresolve() != other.hasKeepAllFeasibleSolutionsInPresolve()) return false;
9330  != other.getKeepAllFeasibleSolutionsInPresolve()) return false;
9331  }
9332  if (hasFillTightenedDomainsInResponse() != other.hasFillTightenedDomainsInResponse()) return false;
9335  != other.getFillTightenedDomainsInResponse()) return false;
9336  }
9337  if (hasInstantiateAllVariables() != other.hasInstantiateAllVariables()) return false;
9340  != other.getInstantiateAllVariables()) return false;
9341  }
9342  if (hasAutoDetectGreaterThanAtLeastOneOf() != other.hasAutoDetectGreaterThanAtLeastOneOf()) return false;
9345  != other.getAutoDetectGreaterThanAtLeastOneOf()) return false;
9346  }
9347  if (hasStopAfterFirstSolution() != other.hasStopAfterFirstSolution()) return false;
9348  if (hasStopAfterFirstSolution()) {
9350  != other.getStopAfterFirstSolution()) return false;
9351  }
9352  if (hasStopAfterPresolve() != other.hasStopAfterPresolve()) return false;
9353  if (hasStopAfterPresolve()) {
9354  if (getStopAfterPresolve()
9355  != other.getStopAfterPresolve()) return false;
9356  }
9357  if (hasNumSearchWorkers() != other.hasNumSearchWorkers()) return false;
9358  if (hasNumSearchWorkers()) {
9359  if (getNumSearchWorkers()
9360  != other.getNumSearchWorkers()) return false;
9361  }
9362  if (hasInterleaveSearch() != other.hasInterleaveSearch()) return false;
9363  if (hasInterleaveSearch()) {
9364  if (getInterleaveSearch()
9365  != other.getInterleaveSearch()) return false;
9366  }
9367  if (hasInterleaveBatchSize() != other.hasInterleaveBatchSize()) return false;
9368  if (hasInterleaveBatchSize()) {
9370  != other.getInterleaveBatchSize()) return false;
9371  }
9372  if (hasReduceMemoryUsageInInterleaveMode() != other.hasReduceMemoryUsageInInterleaveMode()) return false;
9375  != other.getReduceMemoryUsageInInterleaveMode()) return false;
9376  }
9377  if (hasShareObjectiveBounds() != other.hasShareObjectiveBounds()) return false;
9378  if (hasShareObjectiveBounds()) {
9380  != other.getShareObjectiveBounds()) return false;
9381  }
9382  if (hasShareLevelZeroBounds() != other.hasShareLevelZeroBounds()) return false;
9383  if (hasShareLevelZeroBounds()) {
9385  != other.getShareLevelZeroBounds()) return false;
9386  }
9387  if (hasUseLnsOnly() != other.hasUseLnsOnly()) return false;
9388  if (hasUseLnsOnly()) {
9389  if (getUseLnsOnly()
9390  != other.getUseLnsOnly()) return false;
9391  }
9392  if (hasLnsFocusOnDecisionVariables() != other.hasLnsFocusOnDecisionVariables()) return false;
9395  != other.getLnsFocusOnDecisionVariables()) return false;
9396  }
9397  if (hasLnsExpandIntervalsInConstraintGraph() != other.hasLnsExpandIntervalsInConstraintGraph()) return false;
9400  != other.getLnsExpandIntervalsInConstraintGraph()) return false;
9401  }
9402  if (hasUseRinsLns() != other.hasUseRinsLns()) return false;
9403  if (hasUseRinsLns()) {
9404  if (getUseRinsLns()
9405  != other.getUseRinsLns()) return false;
9406  }
9407  if (hasUseFeasibilityPump() != other.hasUseFeasibilityPump()) return false;
9408  if (hasUseFeasibilityPump()) {
9409  if (getUseFeasibilityPump()
9410  != other.getUseFeasibilityPump()) return false;
9411  }
9412  if (hasFpRounding() != other.hasFpRounding()) return false;
9413  if (hasFpRounding()) {
9414  if (fpRounding_ != other.fpRounding_) return false;
9415  }
9416  if (hasUseRelaxationLns() != other.hasUseRelaxationLns()) return false;
9417  if (hasUseRelaxationLns()) {
9418  if (getUseRelaxationLns()
9419  != other.getUseRelaxationLns()) return false;
9420  }
9421  if (hasDiversifyLnsParams() != other.hasDiversifyLnsParams()) return false;
9422  if (hasDiversifyLnsParams()) {
9423  if (getDiversifyLnsParams()
9424  != other.getDiversifyLnsParams()) return false;
9425  }
9426  if (hasRandomizeSearch() != other.hasRandomizeSearch()) return false;
9427  if (hasRandomizeSearch()) {
9428  if (getRandomizeSearch()
9429  != other.getRandomizeSearch()) return false;
9430  }
9431  if (hasSearchRandomizationTolerance() != other.hasSearchRandomizationTolerance()) return false;
9434  != other.getSearchRandomizationTolerance()) return false;
9435  }
9436  if (hasUseOptionalVariables() != other.hasUseOptionalVariables()) return false;
9437  if (hasUseOptionalVariables()) {
9439  != other.getUseOptionalVariables()) return false;
9440  }
9441  if (hasUseExactLpReason() != other.hasUseExactLpReason()) return false;
9442  if (hasUseExactLpReason()) {
9443  if (getUseExactLpReason()
9444  != other.getUseExactLpReason()) return false;
9445  }
9446  if (hasUseBranchingInLp() != other.hasUseBranchingInLp()) return false;
9447  if (hasUseBranchingInLp()) {
9448  if (getUseBranchingInLp()
9449  != other.getUseBranchingInLp()) return false;
9450  }
9451  if (hasUseCombinedNoOverlap() != other.hasUseCombinedNoOverlap()) return false;
9452  if (hasUseCombinedNoOverlap()) {
9454  != other.getUseCombinedNoOverlap()) return false;
9455  }
9456  if (hasCatchSigintSignal() != other.hasCatchSigintSignal()) return false;
9457  if (hasCatchSigintSignal()) {
9458  if (getCatchSigintSignal()
9459  != other.getCatchSigintSignal()) return false;
9460  }
9461  if (hasUseImpliedBounds() != other.hasUseImpliedBounds()) return false;
9462  if (hasUseImpliedBounds()) {
9463  if (getUseImpliedBounds()
9464  != other.getUseImpliedBounds()) return false;
9465  }
9466  if (hasPolishLpSolution() != other.hasPolishLpSolution()) return false;
9467  if (hasPolishLpSolution()) {
9468  if (getPolishLpSolution()
9469  != other.getPolishLpSolution()) return false;
9470  }
9471  if (hasConvertIntervals() != other.hasConvertIntervals()) return false;
9472  if (hasConvertIntervals()) {
9473  if (getConvertIntervals()
9474  != other.getConvertIntervals()) return false;
9475  }
9476  if (hasSymmetryLevel() != other.hasSymmetryLevel()) return false;
9477  if (hasSymmetryLevel()) {
9478  if (getSymmetryLevel()
9479  != other.getSymmetryLevel()) return false;
9480  }
9481  if (hasMipMaxBound() != other.hasMipMaxBound()) return false;
9482  if (hasMipMaxBound()) {
9483  if (java.lang.Double.doubleToLongBits(getMipMaxBound())
9484  != java.lang.Double.doubleToLongBits(
9485  other.getMipMaxBound())) return false;
9486  }
9487  if (hasMipVarScaling() != other.hasMipVarScaling()) return false;
9488  if (hasMipVarScaling()) {
9489  if (java.lang.Double.doubleToLongBits(getMipVarScaling())
9490  != java.lang.Double.doubleToLongBits(
9491  other.getMipVarScaling())) return false;
9492  }
9493  if (hasMipAutomaticallyScaleVariables() != other.hasMipAutomaticallyScaleVariables()) return false;
9496  != other.getMipAutomaticallyScaleVariables()) return false;
9497  }
9498  if (hasMipWantedPrecision() != other.hasMipWantedPrecision()) return false;
9499  if (hasMipWantedPrecision()) {
9500  if (java.lang.Double.doubleToLongBits(getMipWantedPrecision())
9501  != java.lang.Double.doubleToLongBits(
9502  other.getMipWantedPrecision())) return false;
9503  }
9504  if (hasMipMaxActivityExponent() != other.hasMipMaxActivityExponent()) return false;
9505  if (hasMipMaxActivityExponent()) {
9507  != other.getMipMaxActivityExponent()) return false;
9508  }
9509  if (hasMipCheckPrecision() != other.hasMipCheckPrecision()) return false;
9510  if (hasMipCheckPrecision()) {
9511  if (java.lang.Double.doubleToLongBits(getMipCheckPrecision())
9512  != java.lang.Double.doubleToLongBits(
9513  other.getMipCheckPrecision())) return false;
9514  }
9515  if (!unknownFields.equals(other.unknownFields)) return false;
9516  return true;
9517  }
9518 
9519  @java.lang.Override
9520  public int hashCode() {
9521  if (memoizedHashCode != 0) {
9522  return memoizedHashCode;
9523  }
9524  int hash = 41;
9525  hash = (19 * hash) + getDescriptor().hashCode();
9526  if (hasName()) {
9527  hash = (37 * hash) + NAME_FIELD_NUMBER;
9528  hash = (53 * hash) + getName().hashCode();
9529  }
9530  if (hasPreferredVariableOrder()) {
9531  hash = (37 * hash) + PREFERRED_VARIABLE_ORDER_FIELD_NUMBER;
9532  hash = (53 * hash) + preferredVariableOrder_;
9533  }
9534  if (hasInitialPolarity()) {
9535  hash = (37 * hash) + INITIAL_POLARITY_FIELD_NUMBER;
9536  hash = (53 * hash) + initialPolarity_;
9537  }
9538  if (hasUsePhaseSaving()) {
9539  hash = (37 * hash) + USE_PHASE_SAVING_FIELD_NUMBER;
9540  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9541  getUsePhaseSaving());
9542  }
9544  hash = (37 * hash) + POLARITY_REPHASE_INCREMENT_FIELD_NUMBER;
9545  hash = (53 * hash) + getPolarityRephaseIncrement();
9546  }
9547  if (hasRandomPolarityRatio()) {
9548  hash = (37 * hash) + RANDOM_POLARITY_RATIO_FIELD_NUMBER;
9549  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9550  java.lang.Double.doubleToLongBits(getRandomPolarityRatio()));
9551  }
9552  if (hasRandomBranchesRatio()) {
9553  hash = (37 * hash) + RANDOM_BRANCHES_RATIO_FIELD_NUMBER;
9554  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9555  java.lang.Double.doubleToLongBits(getRandomBranchesRatio()));
9556  }
9557  if (hasUseErwaHeuristic()) {
9558  hash = (37 * hash) + USE_ERWA_HEURISTIC_FIELD_NUMBER;
9559  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9561  }
9563  hash = (37 * hash) + INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER;
9564  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9565  java.lang.Double.doubleToLongBits(getInitialVariablesActivity()));
9566  }
9569  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9571  }
9572  if (hasMinimizationAlgorithm()) {
9573  hash = (37 * hash) + MINIMIZATION_ALGORITHM_FIELD_NUMBER;
9574  hash = (53 * hash) + minimizationAlgorithm_;
9575  }
9577  hash = (37 * hash) + BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER;
9578  hash = (53 * hash) + binaryMinimizationAlgorithm_;
9579  }
9582  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9584  }
9585  if (hasClauseCleanupPeriod()) {
9586  hash = (37 * hash) + CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER;
9587  hash = (53 * hash) + getClauseCleanupPeriod();
9588  }
9589  if (hasClauseCleanupTarget()) {
9590  hash = (37 * hash) + CLAUSE_CLEANUP_TARGET_FIELD_NUMBER;
9591  hash = (53 * hash) + getClauseCleanupTarget();
9592  }
9594  hash = (37 * hash) + CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER;
9595  hash = (53 * hash) + clauseCleanupProtection_;
9596  }
9597  if (hasClauseCleanupLbdBound()) {
9598  hash = (37 * hash) + CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER;
9599  hash = (53 * hash) + getClauseCleanupLbdBound();
9600  }
9601  if (hasClauseCleanupOrdering()) {
9602  hash = (37 * hash) + CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER;
9603  hash = (53 * hash) + clauseCleanupOrdering_;
9604  }
9605  if (hasPbCleanupIncrement()) {
9606  hash = (37 * hash) + PB_CLEANUP_INCREMENT_FIELD_NUMBER;
9607  hash = (53 * hash) + getPbCleanupIncrement();
9608  }
9609  if (hasPbCleanupRatio()) {
9610  hash = (37 * hash) + PB_CLEANUP_RATIO_FIELD_NUMBER;
9611  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9612  java.lang.Double.doubleToLongBits(getPbCleanupRatio()));
9613  }
9616  hash = (53 * hash) + getMinimizeWithPropagationRestartPeriod();
9617  }
9620  hash = (53 * hash) + getMinimizeWithPropagationNumDecisions();
9621  }
9622  if (hasVariableActivityDecay()) {
9623  hash = (37 * hash) + VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER;
9624  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9625  java.lang.Double.doubleToLongBits(getVariableActivityDecay()));
9626  }
9628  hash = (37 * hash) + MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER;
9629  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9630  java.lang.Double.doubleToLongBits(getMaxVariableActivityValue()));
9631  }
9632  if (hasGlucoseMaxDecay()) {
9633  hash = (37 * hash) + GLUCOSE_MAX_DECAY_FIELD_NUMBER;
9634  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9635  java.lang.Double.doubleToLongBits(getGlucoseMaxDecay()));
9636  }
9637  if (hasGlucoseDecayIncrement()) {
9638  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER;
9639  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9640  java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement()));
9641  }
9643  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER;
9644  hash = (53 * hash) + getGlucoseDecayIncrementPeriod();
9645  }
9646  if (hasClauseActivityDecay()) {
9647  hash = (37 * hash) + CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER;
9648  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9649  java.lang.Double.doubleToLongBits(getClauseActivityDecay()));
9650  }
9651  if (hasMaxClauseActivityValue()) {
9652  hash = (37 * hash) + MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER;
9653  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9654  java.lang.Double.doubleToLongBits(getMaxClauseActivityValue()));
9655  }
9656  if (getRestartAlgorithmsCount() > 0) {
9657  hash = (37 * hash) + RESTART_ALGORITHMS_FIELD_NUMBER;
9658  hash = (53 * hash) + restartAlgorithms_.hashCode();
9659  }
9661  hash = (37 * hash) + DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER;
9662  hash = (53 * hash) + getDefaultRestartAlgorithms().hashCode();
9663  }
9664  if (hasRestartPeriod()) {
9665  hash = (37 * hash) + RESTART_PERIOD_FIELD_NUMBER;
9666  hash = (53 * hash) + getRestartPeriod();
9667  }
9669  hash = (37 * hash) + RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER;
9670  hash = (53 * hash) + getRestartRunningWindowSize();
9671  }
9672  if (hasRestartDlAverageRatio()) {
9673  hash = (37 * hash) + RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER;
9674  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9675  java.lang.Double.doubleToLongBits(getRestartDlAverageRatio()));
9676  }
9677  if (hasRestartLbdAverageRatio()) {
9678  hash = (37 * hash) + RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER;
9679  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9680  java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio()));
9681  }
9682  if (hasUseBlockingRestart()) {
9683  hash = (37 * hash) + USE_BLOCKING_RESTART_FIELD_NUMBER;
9684  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9686  }
9688  hash = (37 * hash) + BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER;
9689  hash = (53 * hash) + getBlockingRestartWindowSize();
9690  }
9692  hash = (37 * hash) + BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER;
9693  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9694  java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier()));
9695  }
9698  hash = (53 * hash) + getNumConflictsBeforeStrategyChanges();
9699  }
9701  hash = (37 * hash) + STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER;
9702  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9703  java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio()));
9704  }
9705  if (hasMaxTimeInSeconds()) {
9706  hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
9707  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9708  java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
9709  }
9710  if (hasMaxDeterministicTime()) {
9711  hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
9712  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9713  java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
9714  }
9715  if (hasMaxNumberOfConflicts()) {
9716  hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER;
9717  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9719  }
9720  if (hasMaxMemoryInMb()) {
9721  hash = (37 * hash) + MAX_MEMORY_IN_MB_FIELD_NUMBER;
9722  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9723  getMaxMemoryInMb());
9724  }
9725  if (hasAbsoluteGapLimit()) {
9726  hash = (37 * hash) + ABSOLUTE_GAP_LIMIT_FIELD_NUMBER;
9727  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9728  java.lang.Double.doubleToLongBits(getAbsoluteGapLimit()));
9729  }
9730  if (hasRelativeGapLimit()) {
9731  hash = (37 * hash) + RELATIVE_GAP_LIMIT_FIELD_NUMBER;
9732  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9733  java.lang.Double.doubleToLongBits(getRelativeGapLimit()));
9734  }
9736  hash = (37 * hash) + TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER;
9737  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9739  }
9740  if (hasRandomSeed()) {
9741  hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
9742  hash = (53 * hash) + getRandomSeed();
9743  }
9745  hash = (37 * hash) + PERMUTE_VARIABLE_RANDOMLY_FIELD_NUMBER;
9746  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9748  }
9751  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9753  }
9754  if (hasUseAbslRandom()) {
9755  hash = (37 * hash) + USE_ABSL_RANDOM_FIELD_NUMBER;
9756  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9757  getUseAbslRandom());
9758  }
9759  if (hasLogSearchProgress()) {
9760  hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
9761  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9763  }
9764  if (hasUsePbResolution()) {
9765  hash = (37 * hash) + USE_PB_RESOLUTION_FIELD_NUMBER;
9766  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9767  getUsePbResolution());
9768  }
9771  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9773  }
9775  hash = (37 * hash) + COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER;
9776  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9778  }
9779  if (hasPresolveBveThreshold()) {
9780  hash = (37 * hash) + PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER;
9781  hash = (53 * hash) + getPresolveBveThreshold();
9782  }
9784  hash = (37 * hash) + PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER;
9785  hash = (53 * hash) + getPresolveBveClauseWeight();
9786  }
9789  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9790  java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit()));
9791  }
9792  if (hasPresolveBlockedClause()) {
9793  hash = (37 * hash) + PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER;
9794  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9796  }
9797  if (hasPresolveUseBva()) {
9798  hash = (37 * hash) + PRESOLVE_USE_BVA_FIELD_NUMBER;
9799  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9800  getPresolveUseBva());
9801  }
9802  if (hasPresolveBvaThreshold()) {
9803  hash = (37 * hash) + PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER;
9804  hash = (53 * hash) + getPresolveBvaThreshold();
9805  }
9806  if (hasMaxPresolveIterations()) {
9807  hash = (37 * hash) + MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER;
9808  hash = (53 * hash) + getMaxPresolveIterations();
9809  }
9810  if (hasCpModelPresolve()) {
9811  hash = (37 * hash) + CP_MODEL_PRESOLVE_FIELD_NUMBER;
9812  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9813  getCpModelPresolve());
9814  }
9817  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9819  }
9822  hash = (53 * hash) + getCpModelMaxNumPresolveOperations();
9823  }
9824  if (hasCpModelProbingLevel()) {
9825  hash = (37 * hash) + CP_MODEL_PROBING_LEVEL_FIELD_NUMBER;
9826  hash = (53 * hash) + getCpModelProbingLevel();
9827  }
9828  if (hasCpModelUseSatPresolve()) {
9829  hash = (37 * hash) + CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER;
9830  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9832  }
9833  if (hasUseSatInprocessing()) {
9834  hash = (37 * hash) + USE_SAT_INPROCESSING_FIELD_NUMBER;
9835  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9837  }
9839  hash = (37 * hash) + EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER;
9840  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9842  }
9844  hash = (37 * hash) + EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER;
9845  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9847  }
9848  if (hasExpandTableConstraints()) {
9849  hash = (37 * hash) + EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER;
9850  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9852  }
9854  hash = (37 * hash) + EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER;
9855  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9857  }
9859  hash = (37 * hash) + EXPAND_RESERVOIR_CONSTRAINTS_FIELD_NUMBER;
9860  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9862  }
9864  hash = (37 * hash) + DISABLE_CONSTRAINT_EXPANSION_FIELD_NUMBER;
9865  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9867  }
9869  hash = (37 * hash) + MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER;
9870  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9871  java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit()));
9872  }
9874  hash = (37 * hash) + MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER;
9875  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9876  java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit()));
9877  }
9879  hash = (37 * hash) + PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER;
9880  hash = (53 * hash) + getPresolveSubstitutionLevel();
9881  }
9884  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9886  }
9887  if (hasUseOptimizationHints()) {
9888  hash = (37 * hash) + USE_OPTIMIZATION_HINTS_FIELD_NUMBER;
9889  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9891  }
9892  if (hasMinimizeCore()) {
9893  hash = (37 * hash) + MINIMIZE_CORE_FIELD_NUMBER;
9894  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9895  getMinimizeCore());
9896  }
9897  if (hasFindMultipleCores()) {
9898  hash = (37 * hash) + FIND_MULTIPLE_CORES_FIELD_NUMBER;
9899  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9901  }
9902  if (hasCoverOptimization()) {
9903  hash = (37 * hash) + COVER_OPTIMIZATION_FIELD_NUMBER;
9904  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9906  }
9907  if (hasMaxSatAssumptionOrder()) {
9908  hash = (37 * hash) + MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER;
9909  hash = (53 * hash) + maxSatAssumptionOrder_;
9910  }
9912  hash = (37 * hash) + MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER;
9913  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9915  }
9916  if (hasMaxSatStratification()) {
9917  hash = (37 * hash) + MAX_SAT_STRATIFICATION_FIELD_NUMBER;
9918  hash = (53 * hash) + maxSatStratification_;
9919  }
9922  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9924  }
9927  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9929  }
9932  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9934  }
9937  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9939  }
9940  if (hasLinearizationLevel()) {
9941  hash = (37 * hash) + LINEARIZATION_LEVEL_FIELD_NUMBER;
9942  hash = (53 * hash) + getLinearizationLevel();
9943  }
9944  if (hasBooleanEncodingLevel()) {
9945  hash = (37 * hash) + BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER;
9946  hash = (53 * hash) + getBooleanEncodingLevel();
9947  }
9948  if (hasMaxNumCuts()) {
9949  hash = (37 * hash) + MAX_NUM_CUTS_FIELD_NUMBER;
9950  hash = (53 * hash) + getMaxNumCuts();
9951  }
9952  if (hasOnlyAddCutsAtLevelZero()) {
9953  hash = (37 * hash) + ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER;
9954  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9956  }
9957  if (hasAddKnapsackCuts()) {
9958  hash = (37 * hash) + ADD_KNAPSACK_CUTS_FIELD_NUMBER;
9959  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9960  getAddKnapsackCuts());
9961  }
9962  if (hasAddCgCuts()) {
9963  hash = (37 * hash) + ADD_CG_CUTS_FIELD_NUMBER;
9964  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9965  getAddCgCuts());
9966  }
9967  if (hasAddMirCuts()) {
9968  hash = (37 * hash) + ADD_MIR_CUTS_FIELD_NUMBER;
9969  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9970  getAddMirCuts());
9971  }
9972  if (hasAddZeroHalfCuts()) {
9973  hash = (37 * hash) + ADD_ZERO_HALF_CUTS_FIELD_NUMBER;
9974  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9975  getAddZeroHalfCuts());
9976  }
9977  if (hasAddCliqueCuts()) {
9978  hash = (37 * hash) + ADD_CLIQUE_CUTS_FIELD_NUMBER;
9979  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9980  getAddCliqueCuts());
9981  }
9982  if (hasMaxAllDiffCutSize()) {
9983  hash = (37 * hash) + MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER;
9984  hash = (53 * hash) + getMaxAllDiffCutSize();
9985  }
9986  if (hasAddLinMaxCuts()) {
9987  hash = (37 * hash) + ADD_LIN_MAX_CUTS_FIELD_NUMBER;
9988  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9989  getAddLinMaxCuts());
9990  }
9992  hash = (37 * hash) + MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER;
9993  hash = (53 * hash) + getMaxIntegerRoundingScaling();
9994  }
9995  if (hasAddLpConstraintsLazily()) {
9996  hash = (37 * hash) + ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER;
9997  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9999  }
10002  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10003  java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints()));
10004  }
10006  hash = (37 * hash) + MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER;
10007  hash = (53 * hash) + getMaxCutRoundsAtLevelZero();
10008  }
10010  hash = (37 * hash) + MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER;
10011  hash = (53 * hash) + getMaxConsecutiveInactiveCount();
10012  }
10013  if (hasCutMaxActiveCountValue()) {
10014  hash = (37 * hash) + CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER;
10015  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10016  java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue()));
10017  }
10018  if (hasCutActiveCountDecay()) {
10019  hash = (37 * hash) + CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER;
10020  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10021  java.lang.Double.doubleToLongBits(getCutActiveCountDecay()));
10022  }
10023  if (hasCutCleanupTarget()) {
10024  hash = (37 * hash) + CUT_CLEANUP_TARGET_FIELD_NUMBER;
10025  hash = (53 * hash) + getCutCleanupTarget();
10026  }
10028  hash = (37 * hash) + NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER;
10029  hash = (53 * hash) + getNewConstraintsBatchSize();
10030  }
10031  if (hasSearchBranching()) {
10032  hash = (37 * hash) + SEARCH_BRANCHING_FIELD_NUMBER;
10033  hash = (53 * hash) + searchBranching_;
10034  }
10035  if (hasHintConflictLimit()) {
10036  hash = (37 * hash) + HINT_CONFLICT_LIMIT_FIELD_NUMBER;
10037  hash = (53 * hash) + getHintConflictLimit();
10038  }
10039  if (hasRepairHint()) {
10040  hash = (37 * hash) + REPAIR_HINT_FIELD_NUMBER;
10041  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10042  getRepairHint());
10043  }
10045  hash = (37 * hash) + EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER;
10046  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10048  }
10049  if (hasExploitAllLpSolution()) {
10050  hash = (37 * hash) + EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER;
10051  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10053  }
10054  if (hasExploitBestSolution()) {
10055  hash = (37 * hash) + EXPLOIT_BEST_SOLUTION_FIELD_NUMBER;
10056  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10058  }
10060  hash = (37 * hash) + EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER;
10061  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10063  }
10064  if (hasExploitObjective()) {
10065  hash = (37 * hash) + EXPLOIT_OBJECTIVE_FIELD_NUMBER;
10066  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10068  }
10069  if (hasProbingPeriodAtRoot()) {
10070  hash = (37 * hash) + PROBING_PERIOD_AT_ROOT_FIELD_NUMBER;
10071  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10073  }
10074  if (hasUseProbingSearch()) {
10075  hash = (37 * hash) + USE_PROBING_SEARCH_FIELD_NUMBER;
10076  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10078  }
10081  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10083  }
10084  if (hasOptimizeWithCore()) {
10085  hash = (37 * hash) + OPTIMIZE_WITH_CORE_FIELD_NUMBER;
10086  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10088  }
10090  hash = (37 * hash) + BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER;
10091  hash = (53 * hash) + getBinarySearchNumConflicts();
10092  }
10093  if (hasOptimizeWithMaxHs()) {
10094  hash = (37 * hash) + OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER;
10095  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10097  }
10098  if (hasEnumerateAllSolutions()) {
10099  hash = (37 * hash) + ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER;
10100  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10102  }
10105  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10107  }
10110  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10112  }
10114  hash = (37 * hash) + INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER;
10115  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10117  }
10120  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10122  }
10123  if (hasStopAfterFirstSolution()) {
10124  hash = (37 * hash) + STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER;
10125  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10127  }
10128  if (hasStopAfterPresolve()) {
10129  hash = (37 * hash) + STOP_AFTER_PRESOLVE_FIELD_NUMBER;
10130  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10132  }
10133  if (hasNumSearchWorkers()) {
10134  hash = (37 * hash) + NUM_SEARCH_WORKERS_FIELD_NUMBER;
10135  hash = (53 * hash) + getNumSearchWorkers();
10136  }
10137  if (hasInterleaveSearch()) {
10138  hash = (37 * hash) + INTERLEAVE_SEARCH_FIELD_NUMBER;
10139  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10141  }
10142  if (hasInterleaveBatchSize()) {
10143  hash = (37 * hash) + INTERLEAVE_BATCH_SIZE_FIELD_NUMBER;
10144  hash = (53 * hash) + getInterleaveBatchSize();
10145  }
10148  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10150  }
10151  if (hasShareObjectiveBounds()) {
10152  hash = (37 * hash) + SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER;
10153  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10155  }
10156  if (hasShareLevelZeroBounds()) {
10157  hash = (37 * hash) + SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER;
10158  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10160  }
10161  if (hasUseLnsOnly()) {
10162  hash = (37 * hash) + USE_LNS_ONLY_FIELD_NUMBER;
10163  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10164  getUseLnsOnly());
10165  }
10167  hash = (37 * hash) + LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER;
10168  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10170  }
10173  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10175  }
10176  if (hasUseRinsLns()) {
10177  hash = (37 * hash) + USE_RINS_LNS_FIELD_NUMBER;
10178  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10179  getUseRinsLns());
10180  }
10181  if (hasUseFeasibilityPump()) {
10182  hash = (37 * hash) + USE_FEASIBILITY_PUMP_FIELD_NUMBER;
10183  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10185  }
10186  if (hasFpRounding()) {
10187  hash = (37 * hash) + FP_ROUNDING_FIELD_NUMBER;
10188  hash = (53 * hash) + fpRounding_;
10189  }
10190  if (hasUseRelaxationLns()) {
10191  hash = (37 * hash) + USE_RELAXATION_LNS_FIELD_NUMBER;
10192  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10194  }
10195  if (hasDiversifyLnsParams()) {
10196  hash = (37 * hash) + DIVERSIFY_LNS_PARAMS_FIELD_NUMBER;
10197  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10199  }
10200  if (hasRandomizeSearch()) {
10201  hash = (37 * hash) + RANDOMIZE_SEARCH_FIELD_NUMBER;
10202  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10203  getRandomizeSearch());
10204  }
10206  hash = (37 * hash) + SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER;
10207  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10209  }
10210  if (hasUseOptionalVariables()) {
10211  hash = (37 * hash) + USE_OPTIONAL_VARIABLES_FIELD_NUMBER;
10212  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10214  }
10215  if (hasUseExactLpReason()) {
10216  hash = (37 * hash) + USE_EXACT_LP_REASON_FIELD_NUMBER;
10217  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10219  }
10220  if (hasUseBranchingInLp()) {
10221  hash = (37 * hash) + USE_BRANCHING_IN_LP_FIELD_NUMBER;
10222  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10224  }
10225  if (hasUseCombinedNoOverlap()) {
10226  hash = (37 * hash) + USE_COMBINED_NO_OVERLAP_FIELD_NUMBER;
10227  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10229  }
10230  if (hasCatchSigintSignal()) {
10231  hash = (37 * hash) + CATCH_SIGINT_SIGNAL_FIELD_NUMBER;
10232  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10234  }
10235  if (hasUseImpliedBounds()) {
10236  hash = (37 * hash) + USE_IMPLIED_BOUNDS_FIELD_NUMBER;
10237  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10239  }
10240  if (hasPolishLpSolution()) {
10241  hash = (37 * hash) + POLISH_LP_SOLUTION_FIELD_NUMBER;
10242  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10244  }
10245  if (hasConvertIntervals()) {
10246  hash = (37 * hash) + CONVERT_INTERVALS_FIELD_NUMBER;
10247  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10249  }
10250  if (hasSymmetryLevel()) {
10251  hash = (37 * hash) + SYMMETRY_LEVEL_FIELD_NUMBER;
10252  hash = (53 * hash) + getSymmetryLevel();
10253  }
10254  if (hasMipMaxBound()) {
10255  hash = (37 * hash) + MIP_MAX_BOUND_FIELD_NUMBER;
10256  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10257  java.lang.Double.doubleToLongBits(getMipMaxBound()));
10258  }
10259  if (hasMipVarScaling()) {
10260  hash = (37 * hash) + MIP_VAR_SCALING_FIELD_NUMBER;
10261  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10262  java.lang.Double.doubleToLongBits(getMipVarScaling()));
10263  }
10266  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10268  }
10269  if (hasMipWantedPrecision()) {
10270  hash = (37 * hash) + MIP_WANTED_PRECISION_FIELD_NUMBER;
10271  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10272  java.lang.Double.doubleToLongBits(getMipWantedPrecision()));
10273  }
10274  if (hasMipMaxActivityExponent()) {
10275  hash = (37 * hash) + MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER;
10276  hash = (53 * hash) + getMipMaxActivityExponent();
10277  }
10278  if (hasMipCheckPrecision()) {
10279  hash = (37 * hash) + MIP_CHECK_PRECISION_FIELD_NUMBER;
10280  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10281  java.lang.Double.doubleToLongBits(getMipCheckPrecision()));
10282  }
10283  hash = (29 * hash) + unknownFields.hashCode();
10284  memoizedHashCode = hash;
10285  return hash;
10286  }
10287 
10288  public static com.google.ortools.sat.SatParameters parseFrom(
10289  java.nio.ByteBuffer data)
10290  throws com.google.protobuf.InvalidProtocolBufferException {
10291  return PARSER.parseFrom(data);
10292  }
10293  public static com.google.ortools.sat.SatParameters parseFrom(
10294  java.nio.ByteBuffer data,
10295  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10296  throws com.google.protobuf.InvalidProtocolBufferException {
10297  return PARSER.parseFrom(data, extensionRegistry);
10298  }
10299  public static com.google.ortools.sat.SatParameters parseFrom(
10300  com.google.protobuf.ByteString data)
10301  throws com.google.protobuf.InvalidProtocolBufferException {
10302  return PARSER.parseFrom(data);
10303  }
10304  public static com.google.ortools.sat.SatParameters parseFrom(
10305  com.google.protobuf.ByteString data,
10306  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10307  throws com.google.protobuf.InvalidProtocolBufferException {
10308  return PARSER.parseFrom(data, extensionRegistry);
10309  }
10310  public static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
10311  throws com.google.protobuf.InvalidProtocolBufferException {
10312  return PARSER.parseFrom(data);
10313  }
10314  public static com.google.ortools.sat.SatParameters parseFrom(
10315  byte[] data,
10316  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10317  throws com.google.protobuf.InvalidProtocolBufferException {
10318  return PARSER.parseFrom(data, extensionRegistry);
10319  }
10320  public static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
10321  throws java.io.IOException {
10322  return com.google.protobuf.GeneratedMessageV3
10323  .parseWithIOException(PARSER, input);
10324  }
10325  public static com.google.ortools.sat.SatParameters parseFrom(
10326  java.io.InputStream input,
10327  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10328  throws java.io.IOException {
10329  return com.google.protobuf.GeneratedMessageV3
10330  .parseWithIOException(PARSER, input, extensionRegistry);
10331  }
10332  public static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
10333  throws java.io.IOException {
10334  return com.google.protobuf.GeneratedMessageV3
10335  .parseDelimitedWithIOException(PARSER, input);
10336  }
10337  public static com.google.ortools.sat.SatParameters parseDelimitedFrom(
10338  java.io.InputStream input,
10339  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10340  throws java.io.IOException {
10341  return com.google.protobuf.GeneratedMessageV3
10342  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
10343  }
10344  public static com.google.ortools.sat.SatParameters parseFrom(
10345  com.google.protobuf.CodedInputStream input)
10346  throws java.io.IOException {
10347  return com.google.protobuf.GeneratedMessageV3
10348  .parseWithIOException(PARSER, input);
10349  }
10350  public static com.google.ortools.sat.SatParameters parseFrom(
10351  com.google.protobuf.CodedInputStream input,
10352  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10353  throws java.io.IOException {
10354  return com.google.protobuf.GeneratedMessageV3
10355  .parseWithIOException(PARSER, input, extensionRegistry);
10356  }
10357 
10358  @java.lang.Override
10359  public Builder newBuilderForType() { return newBuilder(); }
10360  public static Builder newBuilder() {
10361  return DEFAULT_INSTANCE.toBuilder();
10362  }
10363  public static Builder newBuilder(com.google.ortools.sat.SatParameters prototype) {
10364  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
10365  }
10366  @java.lang.Override
10367  public Builder toBuilder() {
10368  return this == DEFAULT_INSTANCE
10369  ? new Builder() : new Builder().mergeFrom(this);
10370  }
10371 
10372  @java.lang.Override
10374  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
10375  Builder builder = new Builder(parent);
10376  return builder;
10377  }
10387  public static final class Builder extends
10388  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
10389  // @@protoc_insertion_point(builder_implements:operations_research.sat.SatParameters)
10390  com.google.ortools.sat.SatParametersOrBuilder {
10391  public static final com.google.protobuf.Descriptors.Descriptor
10393  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
10394  }
10395 
10396  @java.lang.Override
10397  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
10399  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
10400  .ensureFieldAccessorsInitialized(
10401  com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
10402  }
10403 
10404  // Construct using com.google.ortools.sat.SatParameters.newBuilder()
10405  private Builder() {
10406  maybeForceBuilderInitialization();
10407  }
10408 
10409  private Builder(
10410  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
10411  super(parent);
10412  maybeForceBuilderInitialization();
10413  }
10414  private void maybeForceBuilderInitialization() {
10415  if (com.google.protobuf.GeneratedMessageV3
10416  .alwaysUseFieldBuilders) {
10417  }
10418  }
10419  @java.lang.Override
10420  public Builder clear() {
10421  super.clear();
10422  name_ = "";
10423  bitField0_ = (bitField0_ & ~0x00000001);
10424  preferredVariableOrder_ = 0;
10425  bitField0_ = (bitField0_ & ~0x00000002);
10426  initialPolarity_ = 1;
10427  bitField0_ = (bitField0_ & ~0x00000004);
10428  usePhaseSaving_ = true;
10429  bitField0_ = (bitField0_ & ~0x00000008);
10430  polarityRephaseIncrement_ = 1000;
10431  bitField0_ = (bitField0_ & ~0x00000010);
10432  randomPolarityRatio_ = 0D;
10433  bitField0_ = (bitField0_ & ~0x00000020);
10434  randomBranchesRatio_ = 0D;
10435  bitField0_ = (bitField0_ & ~0x00000040);
10436  useErwaHeuristic_ = false;
10437  bitField0_ = (bitField0_ & ~0x00000080);
10438  initialVariablesActivity_ = 0D;
10439  bitField0_ = (bitField0_ & ~0x00000100);
10440  alsoBumpVariablesInConflictReasons_ = false;
10441  bitField0_ = (bitField0_ & ~0x00000200);
10442  minimizationAlgorithm_ = 2;
10443  bitField0_ = (bitField0_ & ~0x00000400);
10444  binaryMinimizationAlgorithm_ = 1;
10445  bitField0_ = (bitField0_ & ~0x00000800);
10446  subsumptionDuringConflictAnalysis_ = true;
10447  bitField0_ = (bitField0_ & ~0x00001000);
10448  clauseCleanupPeriod_ = 10000;
10449  bitField0_ = (bitField0_ & ~0x00002000);
10450  clauseCleanupTarget_ = 10000;
10451  bitField0_ = (bitField0_ & ~0x00004000);
10452  clauseCleanupProtection_ = 0;
10453  bitField0_ = (bitField0_ & ~0x00008000);
10454  clauseCleanupLbdBound_ = 5;
10455  bitField0_ = (bitField0_ & ~0x00010000);
10456  clauseCleanupOrdering_ = 0;
10457  bitField0_ = (bitField0_ & ~0x00020000);
10458  pbCleanupIncrement_ = 200;
10459  bitField0_ = (bitField0_ & ~0x00040000);
10460  pbCleanupRatio_ = 0.5D;
10461  bitField0_ = (bitField0_ & ~0x00080000);
10462  minimizeWithPropagationRestartPeriod_ = 10;
10463  bitField0_ = (bitField0_ & ~0x00100000);
10464  minimizeWithPropagationNumDecisions_ = 1000;
10465  bitField0_ = (bitField0_ & ~0x00200000);
10466  variableActivityDecay_ = 0.8D;
10467  bitField0_ = (bitField0_ & ~0x00400000);
10468  maxVariableActivityValue_ = 1e+100D;
10469  bitField0_ = (bitField0_ & ~0x00800000);
10470  glucoseMaxDecay_ = 0.95D;
10471  bitField0_ = (bitField0_ & ~0x01000000);
10472  glucoseDecayIncrement_ = 0.01D;
10473  bitField0_ = (bitField0_ & ~0x02000000);
10474  glucoseDecayIncrementPeriod_ = 5000;
10475  bitField0_ = (bitField0_ & ~0x04000000);
10476  clauseActivityDecay_ = 0.999D;
10477  bitField0_ = (bitField0_ & ~0x08000000);
10478  maxClauseActivityValue_ = 1e+20D;
10479  bitField0_ = (bitField0_ & ~0x10000000);
10480  restartAlgorithms_ = java.util.Collections.emptyList();
10481  bitField0_ = (bitField0_ & ~0x20000000);
10482  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
10483  bitField0_ = (bitField0_ & ~0x40000000);
10484  restartPeriod_ = 50;
10485  bitField0_ = (bitField0_ & ~0x80000000);
10486  restartRunningWindowSize_ = 50;
10487  bitField1_ = (bitField1_ & ~0x00000001);
10488  restartDlAverageRatio_ = 1D;
10489  bitField1_ = (bitField1_ & ~0x00000002);
10490  restartLbdAverageRatio_ = 1D;
10491  bitField1_ = (bitField1_ & ~0x00000004);
10492  useBlockingRestart_ = false;
10493  bitField1_ = (bitField1_ & ~0x00000008);
10494  blockingRestartWindowSize_ = 5000;
10495  bitField1_ = (bitField1_ & ~0x00000010);
10496  blockingRestartMultiplier_ = 1.4D;
10497  bitField1_ = (bitField1_ & ~0x00000020);
10498  numConflictsBeforeStrategyChanges_ = 0;
10499  bitField1_ = (bitField1_ & ~0x00000040);
10500  strategyChangeIncreaseRatio_ = 0D;
10501  bitField1_ = (bitField1_ & ~0x00000080);
10502  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
10503  bitField1_ = (bitField1_ & ~0x00000100);
10504  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
10505  bitField1_ = (bitField1_ & ~0x00000200);
10506  maxNumberOfConflicts_ = 9223372036854775807L;
10507  bitField1_ = (bitField1_ & ~0x00000400);
10508  maxMemoryInMb_ = 10000L;
10509  bitField1_ = (bitField1_ & ~0x00000800);
10510  absoluteGapLimit_ = 0D;
10511  bitField1_ = (bitField1_ & ~0x00001000);
10512  relativeGapLimit_ = 0D;
10513  bitField1_ = (bitField1_ & ~0x00002000);
10514  treatBinaryClausesSeparately_ = true;
10515  bitField1_ = (bitField1_ & ~0x00004000);
10516  randomSeed_ = 1;
10517  bitField1_ = (bitField1_ & ~0x00008000);
10518  permuteVariableRandomly_ = false;
10519  bitField1_ = (bitField1_ & ~0x00010000);
10520  permutePresolveConstraintOrder_ = false;
10521  bitField1_ = (bitField1_ & ~0x00020000);
10522  useAbslRandom_ = false;
10523  bitField1_ = (bitField1_ & ~0x00040000);
10524  logSearchProgress_ = false;
10525  bitField1_ = (bitField1_ & ~0x00080000);
10526  usePbResolution_ = false;
10527  bitField1_ = (bitField1_ & ~0x00100000);
10528  minimizeReductionDuringPbResolution_ = false;
10529  bitField1_ = (bitField1_ & ~0x00200000);
10530  countAssumptionLevelsInLbd_ = true;
10531  bitField1_ = (bitField1_ & ~0x00400000);
10532  presolveBveThreshold_ = 500;
10533  bitField1_ = (bitField1_ & ~0x00800000);
10534  presolveBveClauseWeight_ = 3;
10535  bitField1_ = (bitField1_ & ~0x01000000);
10536  presolveProbingDeterministicTimeLimit_ = 30D;
10537  bitField1_ = (bitField1_ & ~0x02000000);
10538  presolveBlockedClause_ = true;
10539  bitField1_ = (bitField1_ & ~0x04000000);
10540  presolveUseBva_ = true;
10541  bitField1_ = (bitField1_ & ~0x08000000);
10542  presolveBvaThreshold_ = 1;
10543  bitField1_ = (bitField1_ & ~0x10000000);
10544  maxPresolveIterations_ = 3;
10545  bitField1_ = (bitField1_ & ~0x20000000);
10546  cpModelPresolve_ = true;
10547  bitField1_ = (bitField1_ & ~0x40000000);
10548  cpModelPostsolveWithFullSolver_ = false;
10549  bitField1_ = (bitField1_ & ~0x80000000);
10550  cpModelMaxNumPresolveOperations_ = 0;
10551  bitField2_ = (bitField2_ & ~0x00000001);
10552  cpModelProbingLevel_ = 2;
10553  bitField2_ = (bitField2_ & ~0x00000002);
10554  cpModelUseSatPresolve_ = true;
10555  bitField2_ = (bitField2_ & ~0x00000004);
10556  useSatInprocessing_ = false;
10557  bitField2_ = (bitField2_ & ~0x00000008);
10558  expandElementConstraints_ = true;
10559  bitField2_ = (bitField2_ & ~0x00000010);
10560  expandAutomatonConstraints_ = true;
10561  bitField2_ = (bitField2_ & ~0x00000020);
10562  expandTableConstraints_ = true;
10563  bitField2_ = (bitField2_ & ~0x00000040);
10564  expandAlldiffConstraints_ = false;
10565  bitField2_ = (bitField2_ & ~0x00000080);
10566  expandReservoirConstraints_ = true;
10567  bitField2_ = (bitField2_ & ~0x00000100);
10568  disableConstraintExpansion_ = false;
10569  bitField2_ = (bitField2_ & ~0x00000200);
10570  mergeNoOverlapWorkLimit_ = 1000000000000D;
10571  bitField2_ = (bitField2_ & ~0x00000400);
10572  mergeAtMostOneWorkLimit_ = 100000000D;
10573  bitField2_ = (bitField2_ & ~0x00000800);
10574  presolveSubstitutionLevel_ = 1;
10575  bitField2_ = (bitField2_ & ~0x00001000);
10576  presolveExtractIntegerEnforcement_ = false;
10577  bitField2_ = (bitField2_ & ~0x00002000);
10578  useOptimizationHints_ = true;
10579  bitField2_ = (bitField2_ & ~0x00004000);
10580  minimizeCore_ = true;
10581  bitField2_ = (bitField2_ & ~0x00008000);
10582  findMultipleCores_ = true;
10583  bitField2_ = (bitField2_ & ~0x00010000);
10584  coverOptimization_ = true;
10585  bitField2_ = (bitField2_ & ~0x00020000);
10586  maxSatAssumptionOrder_ = 0;
10587  bitField2_ = (bitField2_ & ~0x00040000);
10588  maxSatReverseAssumptionOrder_ = false;
10589  bitField2_ = (bitField2_ & ~0x00080000);
10590  maxSatStratification_ = 1;
10591  bitField2_ = (bitField2_ & ~0x00100000);
10592  usePrecedencesInDisjunctiveConstraint_ = true;
10593  bitField2_ = (bitField2_ & ~0x00200000);
10594  useOverloadCheckerInCumulativeConstraint_ = false;
10595  bitField2_ = (bitField2_ & ~0x00400000);
10596  useTimetableEdgeFindingInCumulativeConstraint_ = false;
10597  bitField2_ = (bitField2_ & ~0x00800000);
10598  useDisjunctiveConstraintInCumulativeConstraint_ = true;
10599  bitField2_ = (bitField2_ & ~0x01000000);
10600  linearizationLevel_ = 1;
10601  bitField2_ = (bitField2_ & ~0x02000000);
10602  booleanEncodingLevel_ = 1;
10603  bitField2_ = (bitField2_ & ~0x04000000);
10604  maxNumCuts_ = 10000;
10605  bitField2_ = (bitField2_ & ~0x08000000);
10606  onlyAddCutsAtLevelZero_ = false;
10607  bitField2_ = (bitField2_ & ~0x10000000);
10608  addKnapsackCuts_ = false;
10609  bitField2_ = (bitField2_ & ~0x20000000);
10610  addCgCuts_ = true;
10611  bitField2_ = (bitField2_ & ~0x40000000);
10612  addMirCuts_ = true;
10613  bitField2_ = (bitField2_ & ~0x80000000);
10614  addZeroHalfCuts_ = true;
10615  bitField3_ = (bitField3_ & ~0x00000001);
10616  addCliqueCuts_ = true;
10617  bitField3_ = (bitField3_ & ~0x00000002);
10618  maxAllDiffCutSize_ = 7;
10619  bitField3_ = (bitField3_ & ~0x00000004);
10620  addLinMaxCuts_ = true;
10621  bitField3_ = (bitField3_ & ~0x00000008);
10622  maxIntegerRoundingScaling_ = 600;
10623  bitField3_ = (bitField3_ & ~0x00000010);
10624  addLpConstraintsLazily_ = true;
10625  bitField3_ = (bitField3_ & ~0x00000020);
10626  minOrthogonalityForLpConstraints_ = 0.05D;
10627  bitField3_ = (bitField3_ & ~0x00000040);
10628  maxCutRoundsAtLevelZero_ = 1;
10629  bitField3_ = (bitField3_ & ~0x00000080);
10630  maxConsecutiveInactiveCount_ = 100;
10631  bitField3_ = (bitField3_ & ~0x00000100);
10632  cutMaxActiveCountValue_ = 10000000000D;
10633  bitField3_ = (bitField3_ & ~0x00000200);
10634  cutActiveCountDecay_ = 0.8D;
10635  bitField3_ = (bitField3_ & ~0x00000400);
10636  cutCleanupTarget_ = 1000;
10637  bitField3_ = (bitField3_ & ~0x00000800);
10638  newConstraintsBatchSize_ = 50;
10639  bitField3_ = (bitField3_ & ~0x00001000);
10640  searchBranching_ = 0;
10641  bitField3_ = (bitField3_ & ~0x00002000);
10642  hintConflictLimit_ = 10;
10643  bitField3_ = (bitField3_ & ~0x00004000);
10644  repairHint_ = false;
10645  bitField3_ = (bitField3_ & ~0x00008000);
10646  exploitIntegerLpSolution_ = true;
10647  bitField3_ = (bitField3_ & ~0x00010000);
10648  exploitAllLpSolution_ = true;
10649  bitField3_ = (bitField3_ & ~0x00020000);
10650  exploitBestSolution_ = false;
10651  bitField3_ = (bitField3_ & ~0x00040000);
10652  exploitRelaxationSolution_ = false;
10653  bitField3_ = (bitField3_ & ~0x00080000);
10654  exploitObjective_ = true;
10655  bitField3_ = (bitField3_ & ~0x00100000);
10656  probingPeriodAtRoot_ = 0L;
10657  bitField3_ = (bitField3_ & ~0x00200000);
10658  useProbingSearch_ = false;
10659  bitField3_ = (bitField3_ & ~0x00400000);
10660  pseudoCostReliabilityThreshold_ = 100L;
10661  bitField3_ = (bitField3_ & ~0x00800000);
10662  optimizeWithCore_ = false;
10663  bitField3_ = (bitField3_ & ~0x01000000);
10664  binarySearchNumConflicts_ = -1;
10665  bitField3_ = (bitField3_ & ~0x02000000);
10666  optimizeWithMaxHs_ = false;
10667  bitField3_ = (bitField3_ & ~0x04000000);
10668  enumerateAllSolutions_ = false;
10669  bitField3_ = (bitField3_ & ~0x08000000);
10670  keepAllFeasibleSolutionsInPresolve_ = false;
10671  bitField3_ = (bitField3_ & ~0x10000000);
10672  fillTightenedDomainsInResponse_ = false;
10673  bitField3_ = (bitField3_ & ~0x20000000);
10674  instantiateAllVariables_ = true;
10675  bitField3_ = (bitField3_ & ~0x40000000);
10676  autoDetectGreaterThanAtLeastOneOf_ = true;
10677  bitField3_ = (bitField3_ & ~0x80000000);
10678  stopAfterFirstSolution_ = false;
10679  bitField4_ = (bitField4_ & ~0x00000001);
10680  stopAfterPresolve_ = false;
10681  bitField4_ = (bitField4_ & ~0x00000002);
10682  numSearchWorkers_ = 1;
10683  bitField4_ = (bitField4_ & ~0x00000004);
10684  interleaveSearch_ = false;
10685  bitField4_ = (bitField4_ & ~0x00000008);
10686  interleaveBatchSize_ = 1;
10687  bitField4_ = (bitField4_ & ~0x00000010);
10688  reduceMemoryUsageInInterleaveMode_ = false;
10689  bitField4_ = (bitField4_ & ~0x00000020);
10690  shareObjectiveBounds_ = true;
10691  bitField4_ = (bitField4_ & ~0x00000040);
10692  shareLevelZeroBounds_ = true;
10693  bitField4_ = (bitField4_ & ~0x00000080);
10694  useLnsOnly_ = false;
10695  bitField4_ = (bitField4_ & ~0x00000100);
10696  lnsFocusOnDecisionVariables_ = false;
10697  bitField4_ = (bitField4_ & ~0x00000200);
10698  lnsExpandIntervalsInConstraintGraph_ = true;
10699  bitField4_ = (bitField4_ & ~0x00000400);
10700  useRinsLns_ = true;
10701  bitField4_ = (bitField4_ & ~0x00000800);
10702  useFeasibilityPump_ = true;
10703  bitField4_ = (bitField4_ & ~0x00001000);
10704  fpRounding_ = 2;
10705  bitField4_ = (bitField4_ & ~0x00002000);
10706  useRelaxationLns_ = false;
10707  bitField4_ = (bitField4_ & ~0x00004000);
10708  diversifyLnsParams_ = false;
10709  bitField4_ = (bitField4_ & ~0x00008000);
10710  randomizeSearch_ = false;
10711  bitField4_ = (bitField4_ & ~0x00010000);
10712  searchRandomizationTolerance_ = 0L;
10713  bitField4_ = (bitField4_ & ~0x00020000);
10714  useOptionalVariables_ = true;
10715  bitField4_ = (bitField4_ & ~0x00040000);
10716  useExactLpReason_ = true;
10717  bitField4_ = (bitField4_ & ~0x00080000);
10718  useBranchingInLp_ = false;
10719  bitField4_ = (bitField4_ & ~0x00100000);
10720  useCombinedNoOverlap_ = false;
10721  bitField4_ = (bitField4_ & ~0x00200000);
10722  catchSigintSignal_ = true;
10723  bitField4_ = (bitField4_ & ~0x00400000);
10724  useImpliedBounds_ = true;
10725  bitField4_ = (bitField4_ & ~0x00800000);
10726  polishLpSolution_ = false;
10727  bitField4_ = (bitField4_ & ~0x01000000);
10728  convertIntervals_ = false;
10729  bitField4_ = (bitField4_ & ~0x02000000);
10730  symmetryLevel_ = 2;
10731  bitField4_ = (bitField4_ & ~0x04000000);
10732  mipMaxBound_ = 10000000D;
10733  bitField4_ = (bitField4_ & ~0x08000000);
10734  mipVarScaling_ = 1D;
10735  bitField4_ = (bitField4_ & ~0x10000000);
10736  mipAutomaticallyScaleVariables_ = true;
10737  bitField4_ = (bitField4_ & ~0x20000000);
10738  mipWantedPrecision_ = 1e-06D;
10739  bitField4_ = (bitField4_ & ~0x40000000);
10740  mipMaxActivityExponent_ = 53;
10741  bitField4_ = (bitField4_ & ~0x80000000);
10742  mipCheckPrecision_ = 0.0001D;
10743  bitField5_ = (bitField5_ & ~0x00000001);
10744  return this;
10745  }
10746 
10747  @java.lang.Override
10748  public com.google.protobuf.Descriptors.Descriptor
10750  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
10751  }
10752 
10753  @java.lang.Override
10754  public com.google.ortools.sat.SatParameters getDefaultInstanceForType() {
10755  return com.google.ortools.sat.SatParameters.getDefaultInstance();
10756  }
10757 
10758  @java.lang.Override
10759  public com.google.ortools.sat.SatParameters build() {
10760  com.google.ortools.sat.SatParameters result = buildPartial();
10761  if (!result.isInitialized()) {
10762  throw newUninitializedMessageException(result);
10763  }
10764  return result;
10765  }
10766 
10767  @java.lang.Override
10768  public com.google.ortools.sat.SatParameters buildPartial() {
10769  com.google.ortools.sat.SatParameters result = new com.google.ortools.sat.SatParameters(this);
10770  int from_bitField0_ = bitField0_;
10771  int from_bitField1_ = bitField1_;
10772  int from_bitField2_ = bitField2_;
10773  int from_bitField3_ = bitField3_;
10774  int from_bitField4_ = bitField4_;
10775  int from_bitField5_ = bitField5_;
10776  int to_bitField0_ = 0;
10777  int to_bitField1_ = 0;
10778  int to_bitField2_ = 0;
10779  int to_bitField3_ = 0;
10780  int to_bitField4_ = 0;
10781  if (((from_bitField0_ & 0x00000001) != 0)) {
10782  to_bitField0_ |= 0x00000001;
10783  }
10784  result.name_ = name_;
10785  if (((from_bitField0_ & 0x00000002) != 0)) {
10786  to_bitField0_ |= 0x00000002;
10787  }
10788  result.preferredVariableOrder_ = preferredVariableOrder_;
10789  if (((from_bitField0_ & 0x00000004) != 0)) {
10790  to_bitField0_ |= 0x00000004;
10791  }
10792  result.initialPolarity_ = initialPolarity_;
10793  if (((from_bitField0_ & 0x00000008) != 0)) {
10794  to_bitField0_ |= 0x00000008;
10795  }
10796  result.usePhaseSaving_ = usePhaseSaving_;
10797  if (((from_bitField0_ & 0x00000010) != 0)) {
10798  to_bitField0_ |= 0x00000010;
10799  }
10800  result.polarityRephaseIncrement_ = polarityRephaseIncrement_;
10801  if (((from_bitField0_ & 0x00000020) != 0)) {
10802  result.randomPolarityRatio_ = randomPolarityRatio_;
10803  to_bitField0_ |= 0x00000020;
10804  }
10805  if (((from_bitField0_ & 0x00000040) != 0)) {
10806  result.randomBranchesRatio_ = randomBranchesRatio_;
10807  to_bitField0_ |= 0x00000040;
10808  }
10809  if (((from_bitField0_ & 0x00000080) != 0)) {
10810  result.useErwaHeuristic_ = useErwaHeuristic_;
10811  to_bitField0_ |= 0x00000080;
10812  }
10813  if (((from_bitField0_ & 0x00000100) != 0)) {
10814  result.initialVariablesActivity_ = initialVariablesActivity_;
10815  to_bitField0_ |= 0x00000100;
10816  }
10817  if (((from_bitField0_ & 0x00000200) != 0)) {
10818  result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
10819  to_bitField0_ |= 0x00000200;
10820  }
10821  if (((from_bitField0_ & 0x00000400) != 0)) {
10822  to_bitField0_ |= 0x00000400;
10823  }
10824  result.minimizationAlgorithm_ = minimizationAlgorithm_;
10825  if (((from_bitField0_ & 0x00000800) != 0)) {
10826  to_bitField0_ |= 0x00000800;
10827  }
10828  result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
10829  if (((from_bitField0_ & 0x00001000) != 0)) {
10830  to_bitField0_ |= 0x00001000;
10831  }
10832  result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
10833  if (((from_bitField0_ & 0x00002000) != 0)) {
10834  to_bitField0_ |= 0x00002000;
10835  }
10836  result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
10837  if (((from_bitField0_ & 0x00004000) != 0)) {
10838  to_bitField0_ |= 0x00004000;
10839  }
10840  result.clauseCleanupTarget_ = clauseCleanupTarget_;
10841  if (((from_bitField0_ & 0x00008000) != 0)) {
10842  to_bitField0_ |= 0x00008000;
10843  }
10844  result.clauseCleanupProtection_ = clauseCleanupProtection_;
10845  if (((from_bitField0_ & 0x00010000) != 0)) {
10846  to_bitField0_ |= 0x00010000;
10847  }
10848  result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
10849  if (((from_bitField0_ & 0x00020000) != 0)) {
10850  to_bitField0_ |= 0x00020000;
10851  }
10852  result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
10853  if (((from_bitField0_ & 0x00040000) != 0)) {
10854  to_bitField0_ |= 0x00040000;
10855  }
10856  result.pbCleanupIncrement_ = pbCleanupIncrement_;
10857  if (((from_bitField0_ & 0x00080000) != 0)) {
10858  to_bitField0_ |= 0x00080000;
10859  }
10860  result.pbCleanupRatio_ = pbCleanupRatio_;
10861  if (((from_bitField0_ & 0x00100000) != 0)) {
10862  to_bitField0_ |= 0x00100000;
10863  }
10864  result.minimizeWithPropagationRestartPeriod_ = minimizeWithPropagationRestartPeriod_;
10865  if (((from_bitField0_ & 0x00200000) != 0)) {
10866  to_bitField0_ |= 0x00200000;
10867  }
10868  result.minimizeWithPropagationNumDecisions_ = minimizeWithPropagationNumDecisions_;
10869  if (((from_bitField0_ & 0x00400000) != 0)) {
10870  to_bitField0_ |= 0x00400000;
10871  }
10872  result.variableActivityDecay_ = variableActivityDecay_;
10873  if (((from_bitField0_ & 0x00800000) != 0)) {
10874  to_bitField0_ |= 0x00800000;
10875  }
10876  result.maxVariableActivityValue_ = maxVariableActivityValue_;
10877  if (((from_bitField0_ & 0x01000000) != 0)) {
10878  to_bitField0_ |= 0x01000000;
10879  }
10880  result.glucoseMaxDecay_ = glucoseMaxDecay_;
10881  if (((from_bitField0_ & 0x02000000) != 0)) {
10882  to_bitField0_ |= 0x02000000;
10883  }
10884  result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
10885  if (((from_bitField0_ & 0x04000000) != 0)) {
10886  to_bitField0_ |= 0x04000000;
10887  }
10888  result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
10889  if (((from_bitField0_ & 0x08000000) != 0)) {
10890  to_bitField0_ |= 0x08000000;
10891  }
10892  result.clauseActivityDecay_ = clauseActivityDecay_;
10893  if (((from_bitField0_ & 0x10000000) != 0)) {
10894  to_bitField0_ |= 0x10000000;
10895  }
10896  result.maxClauseActivityValue_ = maxClauseActivityValue_;
10897  if (((bitField0_ & 0x20000000) != 0)) {
10898  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
10899  bitField0_ = (bitField0_ & ~0x20000000);
10900  }
10901  result.restartAlgorithms_ = restartAlgorithms_;
10902  if (((from_bitField0_ & 0x40000000) != 0)) {
10903  to_bitField0_ |= 0x20000000;
10904  }
10905  result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
10906  if (((from_bitField0_ & 0x80000000) != 0)) {
10907  to_bitField0_ |= 0x40000000;
10908  }
10909  result.restartPeriod_ = restartPeriod_;
10910  if (((from_bitField1_ & 0x00000001) != 0)) {
10911  to_bitField0_ |= 0x80000000;
10912  }
10913  result.restartRunningWindowSize_ = restartRunningWindowSize_;
10914  if (((from_bitField1_ & 0x00000002) != 0)) {
10915  to_bitField1_ |= 0x00000001;
10916  }
10917  result.restartDlAverageRatio_ = restartDlAverageRatio_;
10918  if (((from_bitField1_ & 0x00000004) != 0)) {
10919  to_bitField1_ |= 0x00000002;
10920  }
10921  result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
10922  if (((from_bitField1_ & 0x00000008) != 0)) {
10923  result.useBlockingRestart_ = useBlockingRestart_;
10924  to_bitField1_ |= 0x00000004;
10925  }
10926  if (((from_bitField1_ & 0x00000010) != 0)) {
10927  to_bitField1_ |= 0x00000008;
10928  }
10929  result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
10930  if (((from_bitField1_ & 0x00000020) != 0)) {
10931  to_bitField1_ |= 0x00000010;
10932  }
10933  result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
10934  if (((from_bitField1_ & 0x00000040) != 0)) {
10935  result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
10936  to_bitField1_ |= 0x00000020;
10937  }
10938  if (((from_bitField1_ & 0x00000080) != 0)) {
10939  result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
10940  to_bitField1_ |= 0x00000040;
10941  }
10942  if (((from_bitField1_ & 0x00000100) != 0)) {
10943  to_bitField1_ |= 0x00000080;
10944  }
10945  result.maxTimeInSeconds_ = maxTimeInSeconds_;
10946  if (((from_bitField1_ & 0x00000200) != 0)) {
10947  to_bitField1_ |= 0x00000100;
10948  }
10949  result.maxDeterministicTime_ = maxDeterministicTime_;
10950  if (((from_bitField1_ & 0x00000400) != 0)) {
10951  to_bitField1_ |= 0x00000200;
10952  }
10953  result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
10954  if (((from_bitField1_ & 0x00000800) != 0)) {
10955  to_bitField1_ |= 0x00000400;
10956  }
10957  result.maxMemoryInMb_ = maxMemoryInMb_;
10958  if (((from_bitField1_ & 0x00001000) != 0)) {
10959  result.absoluteGapLimit_ = absoluteGapLimit_;
10960  to_bitField1_ |= 0x00000800;
10961  }
10962  if (((from_bitField1_ & 0x00002000) != 0)) {
10963  result.relativeGapLimit_ = relativeGapLimit_;
10964  to_bitField1_ |= 0x00001000;
10965  }
10966  if (((from_bitField1_ & 0x00004000) != 0)) {
10967  to_bitField1_ |= 0x00002000;
10968  }
10969  result.treatBinaryClausesSeparately_ = treatBinaryClausesSeparately_;
10970  if (((from_bitField1_ & 0x00008000) != 0)) {
10971  to_bitField1_ |= 0x00004000;
10972  }
10973  result.randomSeed_ = randomSeed_;
10974  if (((from_bitField1_ & 0x00010000) != 0)) {
10975  result.permuteVariableRandomly_ = permuteVariableRandomly_;
10976  to_bitField1_ |= 0x00008000;
10977  }
10978  if (((from_bitField1_ & 0x00020000) != 0)) {
10979  result.permutePresolveConstraintOrder_ = permutePresolveConstraintOrder_;
10980  to_bitField1_ |= 0x00010000;
10981  }
10982  if (((from_bitField1_ & 0x00040000) != 0)) {
10983  result.useAbslRandom_ = useAbslRandom_;
10984  to_bitField1_ |= 0x00020000;
10985  }
10986  if (((from_bitField1_ & 0x00080000) != 0)) {
10987  result.logSearchProgress_ = logSearchProgress_;
10988  to_bitField1_ |= 0x00040000;
10989  }
10990  if (((from_bitField1_ & 0x00100000) != 0)) {
10991  result.usePbResolution_ = usePbResolution_;
10992  to_bitField1_ |= 0x00080000;
10993  }
10994  if (((from_bitField1_ & 0x00200000) != 0)) {
10995  result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
10996  to_bitField1_ |= 0x00100000;
10997  }
10998  if (((from_bitField1_ & 0x00400000) != 0)) {
10999  to_bitField1_ |= 0x00200000;
11000  }
11001  result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
11002  if (((from_bitField1_ & 0x00800000) != 0)) {
11003  to_bitField1_ |= 0x00400000;
11004  }
11005  result.presolveBveThreshold_ = presolveBveThreshold_;
11006  if (((from_bitField1_ & 0x01000000) != 0)) {
11007  to_bitField1_ |= 0x00800000;
11008  }
11009  result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
11010  if (((from_bitField1_ & 0x02000000) != 0)) {
11011  to_bitField1_ |= 0x01000000;
11012  }
11013  result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
11014  if (((from_bitField1_ & 0x04000000) != 0)) {
11015  to_bitField1_ |= 0x02000000;
11016  }
11017  result.presolveBlockedClause_ = presolveBlockedClause_;
11018  if (((from_bitField1_ & 0x08000000) != 0)) {
11019  to_bitField1_ |= 0x04000000;
11020  }
11021  result.presolveUseBva_ = presolveUseBva_;
11022  if (((from_bitField1_ & 0x10000000) != 0)) {
11023  to_bitField1_ |= 0x08000000;
11024  }
11025  result.presolveBvaThreshold_ = presolveBvaThreshold_;
11026  if (((from_bitField1_ & 0x20000000) != 0)) {
11027  to_bitField1_ |= 0x10000000;
11028  }
11029  result.maxPresolveIterations_ = maxPresolveIterations_;
11030  if (((from_bitField1_ & 0x40000000) != 0)) {
11031  to_bitField1_ |= 0x20000000;
11032  }
11033  result.cpModelPresolve_ = cpModelPresolve_;
11034  if (((from_bitField1_ & 0x80000000) != 0)) {
11035  result.cpModelPostsolveWithFullSolver_ = cpModelPostsolveWithFullSolver_;
11036  to_bitField1_ |= 0x40000000;
11037  }
11038  if (((from_bitField2_ & 0x00000001) != 0)) {
11039  result.cpModelMaxNumPresolveOperations_ = cpModelMaxNumPresolveOperations_;
11040  to_bitField1_ |= 0x80000000;
11041  }
11042  if (((from_bitField2_ & 0x00000002) != 0)) {
11043  to_bitField2_ |= 0x00000001;
11044  }
11045  result.cpModelProbingLevel_ = cpModelProbingLevel_;
11046  if (((from_bitField2_ & 0x00000004) != 0)) {
11047  to_bitField2_ |= 0x00000002;
11048  }
11049  result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
11050  if (((from_bitField2_ & 0x00000008) != 0)) {
11051  result.useSatInprocessing_ = useSatInprocessing_;
11052  to_bitField2_ |= 0x00000004;
11053  }
11054  if (((from_bitField2_ & 0x00000010) != 0)) {
11055  to_bitField2_ |= 0x00000008;
11056  }
11057  result.expandElementConstraints_ = expandElementConstraints_;
11058  if (((from_bitField2_ & 0x00000020) != 0)) {
11059  to_bitField2_ |= 0x00000010;
11060  }
11061  result.expandAutomatonConstraints_ = expandAutomatonConstraints_;
11062  if (((from_bitField2_ & 0x00000040) != 0)) {
11063  to_bitField2_ |= 0x00000020;
11064  }
11065  result.expandTableConstraints_ = expandTableConstraints_;
11066  if (((from_bitField2_ & 0x00000080) != 0)) {
11067  result.expandAlldiffConstraints_ = expandAlldiffConstraints_;
11068  to_bitField2_ |= 0x00000040;
11069  }
11070  if (((from_bitField2_ & 0x00000100) != 0)) {
11071  to_bitField2_ |= 0x00000080;
11072  }
11073  result.expandReservoirConstraints_ = expandReservoirConstraints_;
11074  if (((from_bitField2_ & 0x00000200) != 0)) {
11075  result.disableConstraintExpansion_ = disableConstraintExpansion_;
11076  to_bitField2_ |= 0x00000100;
11077  }
11078  if (((from_bitField2_ & 0x00000400) != 0)) {
11079  to_bitField2_ |= 0x00000200;
11080  }
11081  result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
11082  if (((from_bitField2_ & 0x00000800) != 0)) {
11083  to_bitField2_ |= 0x00000400;
11084  }
11085  result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
11086  if (((from_bitField2_ & 0x00001000) != 0)) {
11087  to_bitField2_ |= 0x00000800;
11088  }
11089  result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
11090  if (((from_bitField2_ & 0x00002000) != 0)) {
11091  result.presolveExtractIntegerEnforcement_ = presolveExtractIntegerEnforcement_;
11092  to_bitField2_ |= 0x00001000;
11093  }
11094  if (((from_bitField2_ & 0x00004000) != 0)) {
11095  to_bitField2_ |= 0x00002000;
11096  }
11097  result.useOptimizationHints_ = useOptimizationHints_;
11098  if (((from_bitField2_ & 0x00008000) != 0)) {
11099  to_bitField2_ |= 0x00004000;
11100  }
11101  result.minimizeCore_ = minimizeCore_;
11102  if (((from_bitField2_ & 0x00010000) != 0)) {
11103  to_bitField2_ |= 0x00008000;
11104  }
11105  result.findMultipleCores_ = findMultipleCores_;
11106  if (((from_bitField2_ & 0x00020000) != 0)) {
11107  to_bitField2_ |= 0x00010000;
11108  }
11109  result.coverOptimization_ = coverOptimization_;
11110  if (((from_bitField2_ & 0x00040000) != 0)) {
11111  to_bitField2_ |= 0x00020000;
11112  }
11113  result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
11114  if (((from_bitField2_ & 0x00080000) != 0)) {
11115  result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
11116  to_bitField2_ |= 0x00040000;
11117  }
11118  if (((from_bitField2_ & 0x00100000) != 0)) {
11119  to_bitField2_ |= 0x00080000;
11120  }
11121  result.maxSatStratification_ = maxSatStratification_;
11122  if (((from_bitField2_ & 0x00200000) != 0)) {
11123  to_bitField2_ |= 0x00100000;
11124  }
11125  result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
11126  if (((from_bitField2_ & 0x00400000) != 0)) {
11127  result.useOverloadCheckerInCumulativeConstraint_ = useOverloadCheckerInCumulativeConstraint_;
11128  to_bitField2_ |= 0x00200000;
11129  }
11130  if (((from_bitField2_ & 0x00800000) != 0)) {
11131  result.useTimetableEdgeFindingInCumulativeConstraint_ = useTimetableEdgeFindingInCumulativeConstraint_;
11132  to_bitField2_ |= 0x00400000;
11133  }
11134  if (((from_bitField2_ & 0x01000000) != 0)) {
11135  to_bitField2_ |= 0x00800000;
11136  }
11137  result.useDisjunctiveConstraintInCumulativeConstraint_ = useDisjunctiveConstraintInCumulativeConstraint_;
11138  if (((from_bitField2_ & 0x02000000) != 0)) {
11139  to_bitField2_ |= 0x01000000;
11140  }
11141  result.linearizationLevel_ = linearizationLevel_;
11142  if (((from_bitField2_ & 0x04000000) != 0)) {
11143  to_bitField2_ |= 0x02000000;
11144  }
11145  result.booleanEncodingLevel_ = booleanEncodingLevel_;
11146  if (((from_bitField2_ & 0x08000000) != 0)) {
11147  to_bitField2_ |= 0x04000000;
11148  }
11149  result.maxNumCuts_ = maxNumCuts_;
11150  if (((from_bitField2_ & 0x10000000) != 0)) {
11151  result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
11152  to_bitField2_ |= 0x08000000;
11153  }
11154  if (((from_bitField2_ & 0x20000000) != 0)) {
11155  result.addKnapsackCuts_ = addKnapsackCuts_;
11156  to_bitField2_ |= 0x10000000;
11157  }
11158  if (((from_bitField2_ & 0x40000000) != 0)) {
11159  to_bitField2_ |= 0x20000000;
11160  }
11161  result.addCgCuts_ = addCgCuts_;
11162  if (((from_bitField2_ & 0x80000000) != 0)) {
11163  to_bitField2_ |= 0x40000000;
11164  }
11165  result.addMirCuts_ = addMirCuts_;
11166  if (((from_bitField3_ & 0x00000001) != 0)) {
11167  to_bitField2_ |= 0x80000000;
11168  }
11169  result.addZeroHalfCuts_ = addZeroHalfCuts_;
11170  if (((from_bitField3_ & 0x00000002) != 0)) {
11171  to_bitField3_ |= 0x00000001;
11172  }
11173  result.addCliqueCuts_ = addCliqueCuts_;
11174  if (((from_bitField3_ & 0x00000004) != 0)) {
11175  to_bitField3_ |= 0x00000002;
11176  }
11177  result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
11178  if (((from_bitField3_ & 0x00000008) != 0)) {
11179  to_bitField3_ |= 0x00000004;
11180  }
11181  result.addLinMaxCuts_ = addLinMaxCuts_;
11182  if (((from_bitField3_ & 0x00000010) != 0)) {
11183  to_bitField3_ |= 0x00000008;
11184  }
11185  result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
11186  if (((from_bitField3_ & 0x00000020) != 0)) {
11187  to_bitField3_ |= 0x00000010;
11188  }
11189  result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
11190  if (((from_bitField3_ & 0x00000040) != 0)) {
11191  to_bitField3_ |= 0x00000020;
11192  }
11193  result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
11194  if (((from_bitField3_ & 0x00000080) != 0)) {
11195  to_bitField3_ |= 0x00000040;
11196  }
11197  result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
11198  if (((from_bitField3_ & 0x00000100) != 0)) {
11199  to_bitField3_ |= 0x00000080;
11200  }
11201  result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
11202  if (((from_bitField3_ & 0x00000200) != 0)) {
11203  to_bitField3_ |= 0x00000100;
11204  }
11205  result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
11206  if (((from_bitField3_ & 0x00000400) != 0)) {
11207  to_bitField3_ |= 0x00000200;
11208  }
11209  result.cutActiveCountDecay_ = cutActiveCountDecay_;
11210  if (((from_bitField3_ & 0x00000800) != 0)) {
11211  to_bitField3_ |= 0x00000400;
11212  }
11213  result.cutCleanupTarget_ = cutCleanupTarget_;
11214  if (((from_bitField3_ & 0x00001000) != 0)) {
11215  to_bitField3_ |= 0x00000800;
11216  }
11217  result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
11218  if (((from_bitField3_ & 0x00002000) != 0)) {
11219  to_bitField3_ |= 0x00001000;
11220  }
11221  result.searchBranching_ = searchBranching_;
11222  if (((from_bitField3_ & 0x00004000) != 0)) {
11223  to_bitField3_ |= 0x00002000;
11224  }
11225  result.hintConflictLimit_ = hintConflictLimit_;
11226  if (((from_bitField3_ & 0x00008000) != 0)) {
11227  result.repairHint_ = repairHint_;
11228  to_bitField3_ |= 0x00004000;
11229  }
11230  if (((from_bitField3_ & 0x00010000) != 0)) {
11231  to_bitField3_ |= 0x00008000;
11232  }
11233  result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
11234  if (((from_bitField3_ & 0x00020000) != 0)) {
11235  to_bitField3_ |= 0x00010000;
11236  }
11237  result.exploitAllLpSolution_ = exploitAllLpSolution_;
11238  if (((from_bitField3_ & 0x00040000) != 0)) {
11239  result.exploitBestSolution_ = exploitBestSolution_;
11240  to_bitField3_ |= 0x00020000;
11241  }
11242  if (((from_bitField3_ & 0x00080000) != 0)) {
11243  result.exploitRelaxationSolution_ = exploitRelaxationSolution_;
11244  to_bitField3_ |= 0x00040000;
11245  }
11246  if (((from_bitField3_ & 0x00100000) != 0)) {
11247  to_bitField3_ |= 0x00080000;
11248  }
11249  result.exploitObjective_ = exploitObjective_;
11250  if (((from_bitField3_ & 0x00200000) != 0)) {
11251  result.probingPeriodAtRoot_ = probingPeriodAtRoot_;
11252  to_bitField3_ |= 0x00100000;
11253  }
11254  if (((from_bitField3_ & 0x00400000) != 0)) {
11255  result.useProbingSearch_ = useProbingSearch_;
11256  to_bitField3_ |= 0x00200000;
11257  }
11258  if (((from_bitField3_ & 0x00800000) != 0)) {
11259  to_bitField3_ |= 0x00400000;
11260  }
11261  result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
11262  if (((from_bitField3_ & 0x01000000) != 0)) {
11263  result.optimizeWithCore_ = optimizeWithCore_;
11264  to_bitField3_ |= 0x00800000;
11265  }
11266  if (((from_bitField3_ & 0x02000000) != 0)) {
11267  to_bitField3_ |= 0x01000000;
11268  }
11269  result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
11270  if (((from_bitField3_ & 0x04000000) != 0)) {
11271  result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
11272  to_bitField3_ |= 0x02000000;
11273  }
11274  if (((from_bitField3_ & 0x08000000) != 0)) {
11275  result.enumerateAllSolutions_ = enumerateAllSolutions_;
11276  to_bitField3_ |= 0x04000000;
11277  }
11278  if (((from_bitField3_ & 0x10000000) != 0)) {
11279  result.keepAllFeasibleSolutionsInPresolve_ = keepAllFeasibleSolutionsInPresolve_;
11280  to_bitField3_ |= 0x08000000;
11281  }
11282  if (((from_bitField3_ & 0x20000000) != 0)) {
11283  result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
11284  to_bitField3_ |= 0x10000000;
11285  }
11286  if (((from_bitField3_ & 0x40000000) != 0)) {
11287  to_bitField3_ |= 0x20000000;
11288  }
11289  result.instantiateAllVariables_ = instantiateAllVariables_;
11290  if (((from_bitField3_ & 0x80000000) != 0)) {
11291  to_bitField3_ |= 0x40000000;
11292  }
11293  result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
11294  if (((from_bitField4_ & 0x00000001) != 0)) {
11295  result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
11296  to_bitField3_ |= 0x80000000;
11297  }
11298  if (((from_bitField4_ & 0x00000002) != 0)) {
11299  result.stopAfterPresolve_ = stopAfterPresolve_;
11300  to_bitField4_ |= 0x00000001;
11301  }
11302  if (((from_bitField4_ & 0x00000004) != 0)) {
11303  to_bitField4_ |= 0x00000002;
11304  }
11305  result.numSearchWorkers_ = numSearchWorkers_;
11306  if (((from_bitField4_ & 0x00000008) != 0)) {
11307  result.interleaveSearch_ = interleaveSearch_;
11308  to_bitField4_ |= 0x00000004;
11309  }
11310  if (((from_bitField4_ & 0x00000010) != 0)) {
11311  to_bitField4_ |= 0x00000008;
11312  }
11313  result.interleaveBatchSize_ = interleaveBatchSize_;
11314  if (((from_bitField4_ & 0x00000020) != 0)) {
11315  result.reduceMemoryUsageInInterleaveMode_ = reduceMemoryUsageInInterleaveMode_;
11316  to_bitField4_ |= 0x00000010;
11317  }
11318  if (((from_bitField4_ & 0x00000040) != 0)) {
11319  to_bitField4_ |= 0x00000020;
11320  }
11321  result.shareObjectiveBounds_ = shareObjectiveBounds_;
11322  if (((from_bitField4_ & 0x00000080) != 0)) {
11323  to_bitField4_ |= 0x00000040;
11324  }
11325  result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
11326  if (((from_bitField4_ & 0x00000100) != 0)) {
11327  result.useLnsOnly_ = useLnsOnly_;
11328  to_bitField4_ |= 0x00000080;
11329  }
11330  if (((from_bitField4_ & 0x00000200) != 0)) {
11331  result.lnsFocusOnDecisionVariables_ = lnsFocusOnDecisionVariables_;
11332  to_bitField4_ |= 0x00000100;
11333  }
11334  if (((from_bitField4_ & 0x00000400) != 0)) {
11335  to_bitField4_ |= 0x00000200;
11336  }
11337  result.lnsExpandIntervalsInConstraintGraph_ = lnsExpandIntervalsInConstraintGraph_;
11338  if (((from_bitField4_ & 0x00000800) != 0)) {
11339  to_bitField4_ |= 0x00000400;
11340  }
11341  result.useRinsLns_ = useRinsLns_;
11342  if (((from_bitField4_ & 0x00001000) != 0)) {
11343  to_bitField4_ |= 0x00000800;
11344  }
11345  result.useFeasibilityPump_ = useFeasibilityPump_;
11346  if (((from_bitField4_ & 0x00002000) != 0)) {
11347  to_bitField4_ |= 0x00001000;
11348  }
11349  result.fpRounding_ = fpRounding_;
11350  if (((from_bitField4_ & 0x00004000) != 0)) {
11351  result.useRelaxationLns_ = useRelaxationLns_;
11352  to_bitField4_ |= 0x00002000;
11353  }
11354  if (((from_bitField4_ & 0x00008000) != 0)) {
11355  result.diversifyLnsParams_ = diversifyLnsParams_;
11356  to_bitField4_ |= 0x00004000;
11357  }
11358  if (((from_bitField4_ & 0x00010000) != 0)) {
11359  result.randomizeSearch_ = randomizeSearch_;
11360  to_bitField4_ |= 0x00008000;
11361  }
11362  if (((from_bitField4_ & 0x00020000) != 0)) {
11363  result.searchRandomizationTolerance_ = searchRandomizationTolerance_;
11364  to_bitField4_ |= 0x00010000;
11365  }
11366  if (((from_bitField4_ & 0x00040000) != 0)) {
11367  to_bitField4_ |= 0x00020000;
11368  }
11369  result.useOptionalVariables_ = useOptionalVariables_;
11370  if (((from_bitField4_ & 0x00080000) != 0)) {
11371  to_bitField4_ |= 0x00040000;
11372  }
11373  result.useExactLpReason_ = useExactLpReason_;
11374  if (((from_bitField4_ & 0x00100000) != 0)) {
11375  result.useBranchingInLp_ = useBranchingInLp_;
11376  to_bitField4_ |= 0x00080000;
11377  }
11378  if (((from_bitField4_ & 0x00200000) != 0)) {
11379  result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
11380  to_bitField4_ |= 0x00100000;
11381  }
11382  if (((from_bitField4_ & 0x00400000) != 0)) {
11383  to_bitField4_ |= 0x00200000;
11384  }
11385  result.catchSigintSignal_ = catchSigintSignal_;
11386  if (((from_bitField4_ & 0x00800000) != 0)) {
11387  to_bitField4_ |= 0x00400000;
11388  }
11389  result.useImpliedBounds_ = useImpliedBounds_;
11390  if (((from_bitField4_ & 0x01000000) != 0)) {
11391  result.polishLpSolution_ = polishLpSolution_;
11392  to_bitField4_ |= 0x00800000;
11393  }
11394  if (((from_bitField4_ & 0x02000000) != 0)) {
11395  result.convertIntervals_ = convertIntervals_;
11396  to_bitField4_ |= 0x01000000;
11397  }
11398  if (((from_bitField4_ & 0x04000000) != 0)) {
11399  to_bitField4_ |= 0x02000000;
11400  }
11401  result.symmetryLevel_ = symmetryLevel_;
11402  if (((from_bitField4_ & 0x08000000) != 0)) {
11403  to_bitField4_ |= 0x04000000;
11404  }
11405  result.mipMaxBound_ = mipMaxBound_;
11406  if (((from_bitField4_ & 0x10000000) != 0)) {
11407  to_bitField4_ |= 0x08000000;
11408  }
11409  result.mipVarScaling_ = mipVarScaling_;
11410  if (((from_bitField4_ & 0x20000000) != 0)) {
11411  to_bitField4_ |= 0x10000000;
11412  }
11413  result.mipAutomaticallyScaleVariables_ = mipAutomaticallyScaleVariables_;
11414  if (((from_bitField4_ & 0x40000000) != 0)) {
11415  to_bitField4_ |= 0x20000000;
11416  }
11417  result.mipWantedPrecision_ = mipWantedPrecision_;
11418  if (((from_bitField4_ & 0x80000000) != 0)) {
11419  to_bitField4_ |= 0x40000000;
11420  }
11421  result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
11422  if (((from_bitField5_ & 0x00000001) != 0)) {
11423  to_bitField4_ |= 0x80000000;
11424  }
11425  result.mipCheckPrecision_ = mipCheckPrecision_;
11426  result.bitField0_ = to_bitField0_;
11427  result.bitField1_ = to_bitField1_;
11428  result.bitField2_ = to_bitField2_;
11429  result.bitField3_ = to_bitField3_;
11430  result.bitField4_ = to_bitField4_;
11431  onBuilt();
11432  return result;
11433  }
11434 
11435  @java.lang.Override
11436  public Builder clone() {
11437  return super.clone();
11438  }
11439  @java.lang.Override
11441  com.google.protobuf.Descriptors.FieldDescriptor field,
11442  java.lang.Object value) {
11443  return super.setField(field, value);
11444  }
11445  @java.lang.Override
11447  com.google.protobuf.Descriptors.FieldDescriptor field) {
11448  return super.clearField(field);
11449  }
11450  @java.lang.Override
11452  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
11453  return super.clearOneof(oneof);
11454  }
11455  @java.lang.Override
11457  com.google.protobuf.Descriptors.FieldDescriptor field,
11458  int index, java.lang.Object value) {
11459  return super.setRepeatedField(field, index, value);
11460  }
11461  @java.lang.Override
11463  com.google.protobuf.Descriptors.FieldDescriptor field,
11464  java.lang.Object value) {
11465  return super.addRepeatedField(field, value);
11466  }
11467  @java.lang.Override
11468  public Builder mergeFrom(com.google.protobuf.Message other) {
11469  if (other instanceof com.google.ortools.sat.SatParameters) {
11470  return mergeFrom((com.google.ortools.sat.SatParameters)other);
11471  } else {
11472  super.mergeFrom(other);
11473  return this;
11474  }
11475  }
11476 
11477  public Builder mergeFrom(com.google.ortools.sat.SatParameters other) {
11478  if (other == com.google.ortools.sat.SatParameters.getDefaultInstance()) return this;
11479  if (other.hasName()) {
11480  bitField0_ |= 0x00000001;
11481  name_ = other.name_;
11482  onChanged();
11483  }
11484  if (other.hasPreferredVariableOrder()) {
11485  setPreferredVariableOrder(other.getPreferredVariableOrder());
11486  }
11487  if (other.hasInitialPolarity()) {
11488  setInitialPolarity(other.getInitialPolarity());
11489  }
11490  if (other.hasUsePhaseSaving()) {
11491  setUsePhaseSaving(other.getUsePhaseSaving());
11492  }
11493  if (other.hasPolarityRephaseIncrement()) {
11494  setPolarityRephaseIncrement(other.getPolarityRephaseIncrement());
11495  }
11496  if (other.hasRandomPolarityRatio()) {
11497  setRandomPolarityRatio(other.getRandomPolarityRatio());
11498  }
11499  if (other.hasRandomBranchesRatio()) {
11500  setRandomBranchesRatio(other.getRandomBranchesRatio());
11501  }
11502  if (other.hasUseErwaHeuristic()) {
11503  setUseErwaHeuristic(other.getUseErwaHeuristic());
11504  }
11505  if (other.hasInitialVariablesActivity()) {
11506  setInitialVariablesActivity(other.getInitialVariablesActivity());
11507  }
11508  if (other.hasAlsoBumpVariablesInConflictReasons()) {
11509  setAlsoBumpVariablesInConflictReasons(other.getAlsoBumpVariablesInConflictReasons());
11510  }
11511  if (other.hasMinimizationAlgorithm()) {
11512  setMinimizationAlgorithm(other.getMinimizationAlgorithm());
11513  }
11514  if (other.hasBinaryMinimizationAlgorithm()) {
11515  setBinaryMinimizationAlgorithm(other.getBinaryMinimizationAlgorithm());
11516  }
11517  if (other.hasSubsumptionDuringConflictAnalysis()) {
11518  setSubsumptionDuringConflictAnalysis(other.getSubsumptionDuringConflictAnalysis());
11519  }
11520  if (other.hasClauseCleanupPeriod()) {
11521  setClauseCleanupPeriod(other.getClauseCleanupPeriod());
11522  }
11523  if (other.hasClauseCleanupTarget()) {
11524  setClauseCleanupTarget(other.getClauseCleanupTarget());
11525  }
11526  if (other.hasClauseCleanupProtection()) {
11527  setClauseCleanupProtection(other.getClauseCleanupProtection());
11528  }
11529  if (other.hasClauseCleanupLbdBound()) {
11530  setClauseCleanupLbdBound(other.getClauseCleanupLbdBound());
11531  }
11532  if (other.hasClauseCleanupOrdering()) {
11533  setClauseCleanupOrdering(other.getClauseCleanupOrdering());
11534  }
11535  if (other.hasPbCleanupIncrement()) {
11536  setPbCleanupIncrement(other.getPbCleanupIncrement());
11537  }
11538  if (other.hasPbCleanupRatio()) {
11539  setPbCleanupRatio(other.getPbCleanupRatio());
11540  }
11541  if (other.hasMinimizeWithPropagationRestartPeriod()) {
11542  setMinimizeWithPropagationRestartPeriod(other.getMinimizeWithPropagationRestartPeriod());
11543  }
11544  if (other.hasMinimizeWithPropagationNumDecisions()) {
11545  setMinimizeWithPropagationNumDecisions(other.getMinimizeWithPropagationNumDecisions());
11546  }
11547  if (other.hasVariableActivityDecay()) {
11548  setVariableActivityDecay(other.getVariableActivityDecay());
11549  }
11550  if (other.hasMaxVariableActivityValue()) {
11551  setMaxVariableActivityValue(other.getMaxVariableActivityValue());
11552  }
11553  if (other.hasGlucoseMaxDecay()) {
11554  setGlucoseMaxDecay(other.getGlucoseMaxDecay());
11555  }
11556  if (other.hasGlucoseDecayIncrement()) {
11557  setGlucoseDecayIncrement(other.getGlucoseDecayIncrement());
11558  }
11559  if (other.hasGlucoseDecayIncrementPeriod()) {
11560  setGlucoseDecayIncrementPeriod(other.getGlucoseDecayIncrementPeriod());
11561  }
11562  if (other.hasClauseActivityDecay()) {
11563  setClauseActivityDecay(other.getClauseActivityDecay());
11564  }
11565  if (other.hasMaxClauseActivityValue()) {
11566  setMaxClauseActivityValue(other.getMaxClauseActivityValue());
11567  }
11568  if (!other.restartAlgorithms_.isEmpty()) {
11569  if (restartAlgorithms_.isEmpty()) {
11570  restartAlgorithms_ = other.restartAlgorithms_;
11571  bitField0_ = (bitField0_ & ~0x20000000);
11572  } else {
11573  ensureRestartAlgorithmsIsMutable();
11574  restartAlgorithms_.addAll(other.restartAlgorithms_);
11575  }
11576  onChanged();
11577  }
11578  if (other.hasDefaultRestartAlgorithms()) {
11579  bitField0_ |= 0x40000000;
11580  defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
11581  onChanged();
11582  }
11583  if (other.hasRestartPeriod()) {
11584  setRestartPeriod(other.getRestartPeriod());
11585  }
11586  if (other.hasRestartRunningWindowSize()) {
11587  setRestartRunningWindowSize(other.getRestartRunningWindowSize());
11588  }
11589  if (other.hasRestartDlAverageRatio()) {
11590  setRestartDlAverageRatio(other.getRestartDlAverageRatio());
11591  }
11592  if (other.hasRestartLbdAverageRatio()) {
11593  setRestartLbdAverageRatio(other.getRestartLbdAverageRatio());
11594  }
11595  if (other.hasUseBlockingRestart()) {
11596  setUseBlockingRestart(other.getUseBlockingRestart());
11597  }
11598  if (other.hasBlockingRestartWindowSize()) {
11599  setBlockingRestartWindowSize(other.getBlockingRestartWindowSize());
11600  }
11601  if (other.hasBlockingRestartMultiplier()) {
11602  setBlockingRestartMultiplier(other.getBlockingRestartMultiplier());
11603  }
11604  if (other.hasNumConflictsBeforeStrategyChanges()) {
11605  setNumConflictsBeforeStrategyChanges(other.getNumConflictsBeforeStrategyChanges());
11606  }
11607  if (other.hasStrategyChangeIncreaseRatio()) {
11608  setStrategyChangeIncreaseRatio(other.getStrategyChangeIncreaseRatio());
11609  }
11610  if (other.hasMaxTimeInSeconds()) {
11611  setMaxTimeInSeconds(other.getMaxTimeInSeconds());
11612  }
11613  if (other.hasMaxDeterministicTime()) {
11614  setMaxDeterministicTime(other.getMaxDeterministicTime());
11615  }
11616  if (other.hasMaxNumberOfConflicts()) {
11617  setMaxNumberOfConflicts(other.getMaxNumberOfConflicts());
11618  }
11619  if (other.hasMaxMemoryInMb()) {
11620  setMaxMemoryInMb(other.getMaxMemoryInMb());
11621  }
11622  if (other.hasAbsoluteGapLimit()) {
11623  setAbsoluteGapLimit(other.getAbsoluteGapLimit());
11624  }
11625  if (other.hasRelativeGapLimit()) {
11626  setRelativeGapLimit(other.getRelativeGapLimit());
11627  }
11628  if (other.hasTreatBinaryClausesSeparately()) {
11629  setTreatBinaryClausesSeparately(other.getTreatBinaryClausesSeparately());
11630  }
11631  if (other.hasRandomSeed()) {
11632  setRandomSeed(other.getRandomSeed());
11633  }
11634  if (other.hasPermuteVariableRandomly()) {
11635  setPermuteVariableRandomly(other.getPermuteVariableRandomly());
11636  }
11637  if (other.hasPermutePresolveConstraintOrder()) {
11638  setPermutePresolveConstraintOrder(other.getPermutePresolveConstraintOrder());
11639  }
11640  if (other.hasUseAbslRandom()) {
11641  setUseAbslRandom(other.getUseAbslRandom());
11642  }
11643  if (other.hasLogSearchProgress()) {
11644  setLogSearchProgress(other.getLogSearchProgress());
11645  }
11646  if (other.hasUsePbResolution()) {
11647  setUsePbResolution(other.getUsePbResolution());
11648  }
11649  if (other.hasMinimizeReductionDuringPbResolution()) {
11650  setMinimizeReductionDuringPbResolution(other.getMinimizeReductionDuringPbResolution());
11651  }
11652  if (other.hasCountAssumptionLevelsInLbd()) {
11653  setCountAssumptionLevelsInLbd(other.getCountAssumptionLevelsInLbd());
11654  }
11655  if (other.hasPresolveBveThreshold()) {
11656  setPresolveBveThreshold(other.getPresolveBveThreshold());
11657  }
11658  if (other.hasPresolveBveClauseWeight()) {
11659  setPresolveBveClauseWeight(other.getPresolveBveClauseWeight());
11660  }
11661  if (other.hasPresolveProbingDeterministicTimeLimit()) {
11662  setPresolveProbingDeterministicTimeLimit(other.getPresolveProbingDeterministicTimeLimit());
11663  }
11664  if (other.hasPresolveBlockedClause()) {
11665  setPresolveBlockedClause(other.getPresolveBlockedClause());
11666  }
11667  if (other.hasPresolveUseBva()) {
11668  setPresolveUseBva(other.getPresolveUseBva());
11669  }
11670  if (other.hasPresolveBvaThreshold()) {
11671  setPresolveBvaThreshold(other.getPresolveBvaThreshold());
11672  }
11673  if (other.hasMaxPresolveIterations()) {
11674  setMaxPresolveIterations(other.getMaxPresolveIterations());
11675  }
11676  if (other.hasCpModelPresolve()) {
11677  setCpModelPresolve(other.getCpModelPresolve());
11678  }
11679  if (other.hasCpModelPostsolveWithFullSolver()) {
11680  setCpModelPostsolveWithFullSolver(other.getCpModelPostsolveWithFullSolver());
11681  }
11682  if (other.hasCpModelMaxNumPresolveOperations()) {
11683  setCpModelMaxNumPresolveOperations(other.getCpModelMaxNumPresolveOperations());
11684  }
11685  if (other.hasCpModelProbingLevel()) {
11686  setCpModelProbingLevel(other.getCpModelProbingLevel());
11687  }
11688  if (other.hasCpModelUseSatPresolve()) {
11689  setCpModelUseSatPresolve(other.getCpModelUseSatPresolve());
11690  }
11691  if (other.hasUseSatInprocessing()) {
11692  setUseSatInprocessing(other.getUseSatInprocessing());
11693  }
11694  if (other.hasExpandElementConstraints()) {
11695  setExpandElementConstraints(other.getExpandElementConstraints());
11696  }
11697  if (other.hasExpandAutomatonConstraints()) {
11698  setExpandAutomatonConstraints(other.getExpandAutomatonConstraints());
11699  }
11700  if (other.hasExpandTableConstraints()) {
11701  setExpandTableConstraints(other.getExpandTableConstraints());
11702  }
11703  if (other.hasExpandAlldiffConstraints()) {
11704  setExpandAlldiffConstraints(other.getExpandAlldiffConstraints());
11705  }
11706  if (other.hasExpandReservoirConstraints()) {
11707  setExpandReservoirConstraints(other.getExpandReservoirConstraints());
11708  }
11709  if (other.hasDisableConstraintExpansion()) {
11710  setDisableConstraintExpansion(other.getDisableConstraintExpansion());
11711  }
11712  if (other.hasMergeNoOverlapWorkLimit()) {
11713  setMergeNoOverlapWorkLimit(other.getMergeNoOverlapWorkLimit());
11714  }
11715  if (other.hasMergeAtMostOneWorkLimit()) {
11716  setMergeAtMostOneWorkLimit(other.getMergeAtMostOneWorkLimit());
11717  }
11718  if (other.hasPresolveSubstitutionLevel()) {
11719  setPresolveSubstitutionLevel(other.getPresolveSubstitutionLevel());
11720  }
11721  if (other.hasPresolveExtractIntegerEnforcement()) {
11722  setPresolveExtractIntegerEnforcement(other.getPresolveExtractIntegerEnforcement());
11723  }
11724  if (other.hasUseOptimizationHints()) {
11725  setUseOptimizationHints(other.getUseOptimizationHints());
11726  }
11727  if (other.hasMinimizeCore()) {
11728  setMinimizeCore(other.getMinimizeCore());
11729  }
11730  if (other.hasFindMultipleCores()) {
11731  setFindMultipleCores(other.getFindMultipleCores());
11732  }
11733  if (other.hasCoverOptimization()) {
11734  setCoverOptimization(other.getCoverOptimization());
11735  }
11736  if (other.hasMaxSatAssumptionOrder()) {
11737  setMaxSatAssumptionOrder(other.getMaxSatAssumptionOrder());
11738  }
11739  if (other.hasMaxSatReverseAssumptionOrder()) {
11740  setMaxSatReverseAssumptionOrder(other.getMaxSatReverseAssumptionOrder());
11741  }
11742  if (other.hasMaxSatStratification()) {
11743  setMaxSatStratification(other.getMaxSatStratification());
11744  }
11745  if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
11746  setUsePrecedencesInDisjunctiveConstraint(other.getUsePrecedencesInDisjunctiveConstraint());
11747  }
11748  if (other.hasUseOverloadCheckerInCumulativeConstraint()) {
11749  setUseOverloadCheckerInCumulativeConstraint(other.getUseOverloadCheckerInCumulativeConstraint());
11750  }
11751  if (other.hasUseTimetableEdgeFindingInCumulativeConstraint()) {
11752  setUseTimetableEdgeFindingInCumulativeConstraint(other.getUseTimetableEdgeFindingInCumulativeConstraint());
11753  }
11754  if (other.hasUseDisjunctiveConstraintInCumulativeConstraint()) {
11755  setUseDisjunctiveConstraintInCumulativeConstraint(other.getUseDisjunctiveConstraintInCumulativeConstraint());
11756  }
11757  if (other.hasLinearizationLevel()) {
11758  setLinearizationLevel(other.getLinearizationLevel());
11759  }
11760  if (other.hasBooleanEncodingLevel()) {
11761  setBooleanEncodingLevel(other.getBooleanEncodingLevel());
11762  }
11763  if (other.hasMaxNumCuts()) {
11764  setMaxNumCuts(other.getMaxNumCuts());
11765  }
11766  if (other.hasOnlyAddCutsAtLevelZero()) {
11767  setOnlyAddCutsAtLevelZero(other.getOnlyAddCutsAtLevelZero());
11768  }
11769  if (other.hasAddKnapsackCuts()) {
11770  setAddKnapsackCuts(other.getAddKnapsackCuts());
11771  }
11772  if (other.hasAddCgCuts()) {
11773  setAddCgCuts(other.getAddCgCuts());
11774  }
11775  if (other.hasAddMirCuts()) {
11776  setAddMirCuts(other.getAddMirCuts());
11777  }
11778  if (other.hasAddZeroHalfCuts()) {
11779  setAddZeroHalfCuts(other.getAddZeroHalfCuts());
11780  }
11781  if (other.hasAddCliqueCuts()) {
11782  setAddCliqueCuts(other.getAddCliqueCuts());
11783  }
11784  if (other.hasMaxAllDiffCutSize()) {
11785  setMaxAllDiffCutSize(other.getMaxAllDiffCutSize());
11786  }
11787  if (other.hasAddLinMaxCuts()) {
11788  setAddLinMaxCuts(other.getAddLinMaxCuts());
11789  }
11790  if (other.hasMaxIntegerRoundingScaling()) {
11791  setMaxIntegerRoundingScaling(other.getMaxIntegerRoundingScaling());
11792  }
11793  if (other.hasAddLpConstraintsLazily()) {
11794  setAddLpConstraintsLazily(other.getAddLpConstraintsLazily());
11795  }
11796  if (other.hasMinOrthogonalityForLpConstraints()) {
11797  setMinOrthogonalityForLpConstraints(other.getMinOrthogonalityForLpConstraints());
11798  }
11799  if (other.hasMaxCutRoundsAtLevelZero()) {
11800  setMaxCutRoundsAtLevelZero(other.getMaxCutRoundsAtLevelZero());
11801  }
11802  if (other.hasMaxConsecutiveInactiveCount()) {
11803  setMaxConsecutiveInactiveCount(other.getMaxConsecutiveInactiveCount());
11804  }
11805  if (other.hasCutMaxActiveCountValue()) {
11806  setCutMaxActiveCountValue(other.getCutMaxActiveCountValue());
11807  }
11808  if (other.hasCutActiveCountDecay()) {
11809  setCutActiveCountDecay(other.getCutActiveCountDecay());
11810  }
11811  if (other.hasCutCleanupTarget()) {
11812  setCutCleanupTarget(other.getCutCleanupTarget());
11813  }
11814  if (other.hasNewConstraintsBatchSize()) {
11815  setNewConstraintsBatchSize(other.getNewConstraintsBatchSize());
11816  }
11817  if (other.hasSearchBranching()) {
11818  setSearchBranching(other.getSearchBranching());
11819  }
11820  if (other.hasHintConflictLimit()) {
11821  setHintConflictLimit(other.getHintConflictLimit());
11822  }
11823  if (other.hasRepairHint()) {
11824  setRepairHint(other.getRepairHint());
11825  }
11826  if (other.hasExploitIntegerLpSolution()) {
11827  setExploitIntegerLpSolution(other.getExploitIntegerLpSolution());
11828  }
11829  if (other.hasExploitAllLpSolution()) {
11830  setExploitAllLpSolution(other.getExploitAllLpSolution());
11831  }
11832  if (other.hasExploitBestSolution()) {
11833  setExploitBestSolution(other.getExploitBestSolution());
11834  }
11835  if (other.hasExploitRelaxationSolution()) {
11836  setExploitRelaxationSolution(other.getExploitRelaxationSolution());
11837  }
11838  if (other.hasExploitObjective()) {
11839  setExploitObjective(other.getExploitObjective());
11840  }
11841  if (other.hasProbingPeriodAtRoot()) {
11842  setProbingPeriodAtRoot(other.getProbingPeriodAtRoot());
11843  }
11844  if (other.hasUseProbingSearch()) {
11845  setUseProbingSearch(other.getUseProbingSearch());
11846  }
11847  if (other.hasPseudoCostReliabilityThreshold()) {
11848  setPseudoCostReliabilityThreshold(other.getPseudoCostReliabilityThreshold());
11849  }
11850  if (other.hasOptimizeWithCore()) {
11851  setOptimizeWithCore(other.getOptimizeWithCore());
11852  }
11853  if (other.hasBinarySearchNumConflicts()) {
11854  setBinarySearchNumConflicts(other.getBinarySearchNumConflicts());
11855  }
11856  if (other.hasOptimizeWithMaxHs()) {
11857  setOptimizeWithMaxHs(other.getOptimizeWithMaxHs());
11858  }
11859  if (other.hasEnumerateAllSolutions()) {
11860  setEnumerateAllSolutions(other.getEnumerateAllSolutions());
11861  }
11862  if (other.hasKeepAllFeasibleSolutionsInPresolve()) {
11863  setKeepAllFeasibleSolutionsInPresolve(other.getKeepAllFeasibleSolutionsInPresolve());
11864  }
11865  if (other.hasFillTightenedDomainsInResponse()) {
11866  setFillTightenedDomainsInResponse(other.getFillTightenedDomainsInResponse());
11867  }
11868  if (other.hasInstantiateAllVariables()) {
11869  setInstantiateAllVariables(other.getInstantiateAllVariables());
11870  }
11871  if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
11872  setAutoDetectGreaterThanAtLeastOneOf(other.getAutoDetectGreaterThanAtLeastOneOf());
11873  }
11874  if (other.hasStopAfterFirstSolution()) {
11875  setStopAfterFirstSolution(other.getStopAfterFirstSolution());
11876  }
11877  if (other.hasStopAfterPresolve()) {
11878  setStopAfterPresolve(other.getStopAfterPresolve());
11879  }
11880  if (other.hasNumSearchWorkers()) {
11881  setNumSearchWorkers(other.getNumSearchWorkers());
11882  }
11883  if (other.hasInterleaveSearch()) {
11884  setInterleaveSearch(other.getInterleaveSearch());
11885  }
11886  if (other.hasInterleaveBatchSize()) {
11887  setInterleaveBatchSize(other.getInterleaveBatchSize());
11888  }
11889  if (other.hasReduceMemoryUsageInInterleaveMode()) {
11890  setReduceMemoryUsageInInterleaveMode(other.getReduceMemoryUsageInInterleaveMode());
11891  }
11892  if (other.hasShareObjectiveBounds()) {
11893  setShareObjectiveBounds(other.getShareObjectiveBounds());
11894  }
11895  if (other.hasShareLevelZeroBounds()) {
11896  setShareLevelZeroBounds(other.getShareLevelZeroBounds());
11897  }
11898  if (other.hasUseLnsOnly()) {
11899  setUseLnsOnly(other.getUseLnsOnly());
11900  }
11901  if (other.hasLnsFocusOnDecisionVariables()) {
11902  setLnsFocusOnDecisionVariables(other.getLnsFocusOnDecisionVariables());
11903  }
11904  if (other.hasLnsExpandIntervalsInConstraintGraph()) {
11905  setLnsExpandIntervalsInConstraintGraph(other.getLnsExpandIntervalsInConstraintGraph());
11906  }
11907  if (other.hasUseRinsLns()) {
11908  setUseRinsLns(other.getUseRinsLns());
11909  }
11910  if (other.hasUseFeasibilityPump()) {
11911  setUseFeasibilityPump(other.getUseFeasibilityPump());
11912  }
11913  if (other.hasFpRounding()) {
11914  setFpRounding(other.getFpRounding());
11915  }
11916  if (other.hasUseRelaxationLns()) {
11917  setUseRelaxationLns(other.getUseRelaxationLns());
11918  }
11919  if (other.hasDiversifyLnsParams()) {
11920  setDiversifyLnsParams(other.getDiversifyLnsParams());
11921  }
11922  if (other.hasRandomizeSearch()) {
11923  setRandomizeSearch(other.getRandomizeSearch());
11924  }
11925  if (other.hasSearchRandomizationTolerance()) {
11926  setSearchRandomizationTolerance(other.getSearchRandomizationTolerance());
11927  }
11928  if (other.hasUseOptionalVariables()) {
11929  setUseOptionalVariables(other.getUseOptionalVariables());
11930  }
11931  if (other.hasUseExactLpReason()) {
11932  setUseExactLpReason(other.getUseExactLpReason());
11933  }
11934  if (other.hasUseBranchingInLp()) {
11935  setUseBranchingInLp(other.getUseBranchingInLp());
11936  }
11937  if (other.hasUseCombinedNoOverlap()) {
11938  setUseCombinedNoOverlap(other.getUseCombinedNoOverlap());
11939  }
11940  if (other.hasCatchSigintSignal()) {
11941  setCatchSigintSignal(other.getCatchSigintSignal());
11942  }
11943  if (other.hasUseImpliedBounds()) {
11944  setUseImpliedBounds(other.getUseImpliedBounds());
11945  }
11946  if (other.hasPolishLpSolution()) {
11947  setPolishLpSolution(other.getPolishLpSolution());
11948  }
11949  if (other.hasConvertIntervals()) {
11950  setConvertIntervals(other.getConvertIntervals());
11951  }
11952  if (other.hasSymmetryLevel()) {
11953  setSymmetryLevel(other.getSymmetryLevel());
11954  }
11955  if (other.hasMipMaxBound()) {
11956  setMipMaxBound(other.getMipMaxBound());
11957  }
11958  if (other.hasMipVarScaling()) {
11959  setMipVarScaling(other.getMipVarScaling());
11960  }
11961  if (other.hasMipAutomaticallyScaleVariables()) {
11962  setMipAutomaticallyScaleVariables(other.getMipAutomaticallyScaleVariables());
11963  }
11964  if (other.hasMipWantedPrecision()) {
11965  setMipWantedPrecision(other.getMipWantedPrecision());
11966  }
11967  if (other.hasMipMaxActivityExponent()) {
11968  setMipMaxActivityExponent(other.getMipMaxActivityExponent());
11969  }
11970  if (other.hasMipCheckPrecision()) {
11971  setMipCheckPrecision(other.getMipCheckPrecision());
11972  }
11973  this.mergeUnknownFields(other.unknownFields);
11974  onChanged();
11975  return this;
11976  }
11977 
11978  @java.lang.Override
11979  public final boolean isInitialized() {
11980  return true;
11981  }
11982 
11983  @java.lang.Override
11985  com.google.protobuf.CodedInputStream input,
11986  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11987  throws java.io.IOException {
11988  com.google.ortools.sat.SatParameters parsedMessage = null;
11989  try {
11990  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11991  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11992  parsedMessage = (com.google.ortools.sat.SatParameters) e.getUnfinishedMessage();
11993  throw e.unwrapIOException();
11994  } finally {
11995  if (parsedMessage != null) {
11996  mergeFrom(parsedMessage);
11997  }
11998  }
11999  return this;
12000  }
12001  private int bitField0_;
12002  private int bitField1_;
12003  private int bitField2_;
12004  private int bitField3_;
12005  private int bitField4_;
12006  private int bitField5_;
12007 
12008  private java.lang.Object name_ = "";
12018  public boolean hasName() {
12019  return ((bitField0_ & 0x00000001) != 0);
12020  }
12030  public java.lang.String getName() {
12031  java.lang.Object ref = name_;
12032  if (!(ref instanceof java.lang.String)) {
12033  com.google.protobuf.ByteString bs =
12034  (com.google.protobuf.ByteString) ref;
12035  java.lang.String s = bs.toStringUtf8();
12036  if (bs.isValidUtf8()) {
12037  name_ = s;
12038  }
12039  return s;
12040  } else {
12041  return (java.lang.String) ref;
12042  }
12043  }
12053  public com.google.protobuf.ByteString
12055  java.lang.Object ref = name_;
12056  if (ref instanceof String) {
12057  com.google.protobuf.ByteString b =
12058  com.google.protobuf.ByteString.copyFromUtf8(
12059  (java.lang.String) ref);
12060  name_ = b;
12061  return b;
12062  } else {
12063  return (com.google.protobuf.ByteString) ref;
12064  }
12065  }
12077  java.lang.String value) {
12078  if (value == null) {
12079  throw new NullPointerException();
12080  }
12081  bitField0_ |= 0x00000001;
12082  name_ = value;
12083  onChanged();
12084  return this;
12085  }
12095  public Builder clearName() {
12096  bitField0_ = (bitField0_ & ~0x00000001);
12097  name_ = getDefaultInstance().getName();
12098  onChanged();
12099  return this;
12100  }
12112  com.google.protobuf.ByteString value) {
12113  if (value == null) {
12114  throw new NullPointerException();
12115  }
12116  bitField0_ |= 0x00000001;
12117  name_ = value;
12118  onChanged();
12119  return this;
12120  }
12121 
12122  private int preferredVariableOrder_ = 0;
12127  @java.lang.Override public boolean hasPreferredVariableOrder() {
12128  return ((bitField0_ & 0x00000002) != 0);
12129  }
12134  @java.lang.Override
12135  public com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder() {
12136  @SuppressWarnings("deprecation")
12137  com.google.ortools.sat.SatParameters.VariableOrder result = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(preferredVariableOrder_);
12138  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
12139  }
12145  public Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value) {
12146  if (value == null) {
12147  throw new NullPointerException();
12148  }
12149  bitField0_ |= 0x00000002;
12150  preferredVariableOrder_ = value.getNumber();
12151  onChanged();
12152  return this;
12153  }
12159  bitField0_ = (bitField0_ & ~0x00000002);
12160  preferredVariableOrder_ = 0;
12161  onChanged();
12162  return this;
12163  }
12164 
12165  private int initialPolarity_ = 1;
12170  @java.lang.Override public boolean hasInitialPolarity() {
12171  return ((bitField0_ & 0x00000004) != 0);
12172  }
12177  @java.lang.Override
12178  public com.google.ortools.sat.SatParameters.Polarity getInitialPolarity() {
12179  @SuppressWarnings("deprecation")
12180  com.google.ortools.sat.SatParameters.Polarity result = com.google.ortools.sat.SatParameters.Polarity.valueOf(initialPolarity_);
12181  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
12182  }
12188  public Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value) {
12189  if (value == null) {
12190  throw new NullPointerException();
12191  }
12192  bitField0_ |= 0x00000004;
12193  initialPolarity_ = value.getNumber();
12194  onChanged();
12195  return this;
12196  }
12202  bitField0_ = (bitField0_ & ~0x00000004);
12203  initialPolarity_ = 1;
12204  onChanged();
12205  return this;
12206  }
12207 
12208  private boolean usePhaseSaving_ = true;
12225  @java.lang.Override
12226  public boolean hasUsePhaseSaving() {
12227  return ((bitField0_ & 0x00000008) != 0);
12228  }
12245  @java.lang.Override
12246  public boolean getUsePhaseSaving() {
12247  return usePhaseSaving_;
12248  }
12266  public Builder setUsePhaseSaving(boolean value) {
12267  bitField0_ |= 0x00000008;
12268  usePhaseSaving_ = value;
12269  onChanged();
12270  return this;
12271  }
12289  bitField0_ = (bitField0_ & ~0x00000008);
12290  usePhaseSaving_ = true;
12291  onChanged();
12292  return this;
12293  }
12294 
12295  private int polarityRephaseIncrement_ = 1000;
12306  @java.lang.Override
12307  public boolean hasPolarityRephaseIncrement() {
12308  return ((bitField0_ & 0x00000010) != 0);
12309  }
12320  @java.lang.Override
12322  return polarityRephaseIncrement_;
12323  }
12336  bitField0_ |= 0x00000010;
12337  polarityRephaseIncrement_ = value;
12338  onChanged();
12339  return this;
12340  }
12352  bitField0_ = (bitField0_ & ~0x00000010);
12353  polarityRephaseIncrement_ = 1000;
12354  onChanged();
12355  return this;
12356  }
12357 
12358  private double randomPolarityRatio_ ;
12371  @java.lang.Override
12372  public boolean hasRandomPolarityRatio() {
12373  return ((bitField0_ & 0x00000020) != 0);
12374  }
12387  @java.lang.Override
12388  public double getRandomPolarityRatio() {
12389  return randomPolarityRatio_;
12390  }
12404  public Builder setRandomPolarityRatio(double value) {
12405  bitField0_ |= 0x00000020;
12406  randomPolarityRatio_ = value;
12407  onChanged();
12408  return this;
12409  }
12423  bitField0_ = (bitField0_ & ~0x00000020);
12424  randomPolarityRatio_ = 0D;
12425  onChanged();
12426  return this;
12427  }
12428 
12429  private double randomBranchesRatio_ ;
12440  @java.lang.Override
12441  public boolean hasRandomBranchesRatio() {
12442  return ((bitField0_ & 0x00000040) != 0);
12443  }
12454  @java.lang.Override
12455  public double getRandomBranchesRatio() {
12456  return randomBranchesRatio_;
12457  }
12469  public Builder setRandomBranchesRatio(double value) {
12470  bitField0_ |= 0x00000040;
12471  randomBranchesRatio_ = value;
12472  onChanged();
12473  return this;
12474  }
12486  bitField0_ = (bitField0_ & ~0x00000040);
12487  randomBranchesRatio_ = 0D;
12488  onChanged();
12489  return this;
12490  }
12491 
12492  private boolean useErwaHeuristic_ ;
12503  @java.lang.Override
12504  public boolean hasUseErwaHeuristic() {
12505  return ((bitField0_ & 0x00000080) != 0);
12506  }
12517  @java.lang.Override
12518  public boolean getUseErwaHeuristic() {
12519  return useErwaHeuristic_;
12520  }
12532  public Builder setUseErwaHeuristic(boolean value) {
12533  bitField0_ |= 0x00000080;
12534  useErwaHeuristic_ = value;
12535  onChanged();
12536  return this;
12537  }
12549  bitField0_ = (bitField0_ & ~0x00000080);
12550  useErwaHeuristic_ = false;
12551  onChanged();
12552  return this;
12553  }
12554 
12555  private double initialVariablesActivity_ ;
12569  @java.lang.Override
12570  public boolean hasInitialVariablesActivity() {
12571  return ((bitField0_ & 0x00000100) != 0);
12572  }
12586  @java.lang.Override
12588  return initialVariablesActivity_;
12589  }
12604  public Builder setInitialVariablesActivity(double value) {
12605  bitField0_ |= 0x00000100;
12606  initialVariablesActivity_ = value;
12607  onChanged();
12608  return this;
12609  }
12624  bitField0_ = (bitField0_ & ~0x00000100);
12625  initialVariablesActivity_ = 0D;
12626  onChanged();
12627  return this;
12628  }
12629 
12630  private boolean alsoBumpVariablesInConflictReasons_ ;
12642  @java.lang.Override
12644  return ((bitField0_ & 0x00000200) != 0);
12645  }
12657  @java.lang.Override
12659  return alsoBumpVariablesInConflictReasons_;
12660  }
12674  bitField0_ |= 0x00000200;
12675  alsoBumpVariablesInConflictReasons_ = value;
12676  onChanged();
12677  return this;
12678  }
12691  bitField0_ = (bitField0_ & ~0x00000200);
12692  alsoBumpVariablesInConflictReasons_ = false;
12693  onChanged();
12694  return this;
12695  }
12696 
12697  private int minimizationAlgorithm_ = 2;
12702  @java.lang.Override public boolean hasMinimizationAlgorithm() {
12703  return ((bitField0_ & 0x00000400) != 0);
12704  }
12709  @java.lang.Override
12710  public com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm() {
12711  @SuppressWarnings("deprecation")
12712  com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm result = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(minimizationAlgorithm_);
12713  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
12714  }
12720  public Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value) {
12721  if (value == null) {
12722  throw new NullPointerException();
12723  }
12724  bitField0_ |= 0x00000400;
12725  minimizationAlgorithm_ = value.getNumber();
12726  onChanged();
12727  return this;
12728  }
12734  bitField0_ = (bitField0_ & ~0x00000400);
12735  minimizationAlgorithm_ = 2;
12736  onChanged();
12737  return this;
12738  }
12739 
12740  private int binaryMinimizationAlgorithm_ = 1;
12745  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
12746  return ((bitField0_ & 0x00000800) != 0);
12747  }
12752  @java.lang.Override
12753  public com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm() {
12754  @SuppressWarnings("deprecation")
12755  com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm result = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(binaryMinimizationAlgorithm_);
12756  return result == null ? com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.BINARY_MINIMIZATION_FIRST : result;
12757  }
12763  public Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value) {
12764  if (value == null) {
12765  throw new NullPointerException();
12766  }
12767  bitField0_ |= 0x00000800;
12768  binaryMinimizationAlgorithm_ = value.getNumber();
12769  onChanged();
12770  return this;
12771  }
12777  bitField0_ = (bitField0_ & ~0x00000800);
12778  binaryMinimizationAlgorithm_ = 1;
12779  onChanged();
12780  return this;
12781  }
12782 
12783  private boolean subsumptionDuringConflictAnalysis_ = true;
12795  @java.lang.Override
12797  return ((bitField0_ & 0x00001000) != 0);
12798  }
12810  @java.lang.Override
12812  return subsumptionDuringConflictAnalysis_;
12813  }
12827  bitField0_ |= 0x00001000;
12828  subsumptionDuringConflictAnalysis_ = value;
12829  onChanged();
12830  return this;
12831  }
12844  bitField0_ = (bitField0_ & ~0x00001000);
12845  subsumptionDuringConflictAnalysis_ = true;
12846  onChanged();
12847  return this;
12848  }
12849 
12850  private int clauseCleanupPeriod_ = 10000;
12859  @java.lang.Override
12860  public boolean hasClauseCleanupPeriod() {
12861  return ((bitField0_ & 0x00002000) != 0);
12862  }
12871  @java.lang.Override
12872  public int getClauseCleanupPeriod() {
12873  return clauseCleanupPeriod_;
12874  }
12884  public Builder setClauseCleanupPeriod(int value) {
12885  bitField0_ |= 0x00002000;
12886  clauseCleanupPeriod_ = value;
12887  onChanged();
12888  return this;
12889  }
12899  bitField0_ = (bitField0_ & ~0x00002000);
12900  clauseCleanupPeriod_ = 10000;
12901  onChanged();
12902  return this;
12903  }
12904 
12905  private int clauseCleanupTarget_ = 10000;
12915  @java.lang.Override
12916  public boolean hasClauseCleanupTarget() {
12917  return ((bitField0_ & 0x00004000) != 0);
12918  }
12928  @java.lang.Override
12929  public int getClauseCleanupTarget() {
12930  return clauseCleanupTarget_;
12931  }
12942  public Builder setClauseCleanupTarget(int value) {
12943  bitField0_ |= 0x00004000;
12944  clauseCleanupTarget_ = value;
12945  onChanged();
12946  return this;
12947  }
12958  bitField0_ = (bitField0_ & ~0x00004000);
12959  clauseCleanupTarget_ = 10000;
12960  onChanged();
12961  return this;
12962  }
12963 
12964  private int clauseCleanupProtection_ = 0;
12969  @java.lang.Override public boolean hasClauseCleanupProtection() {
12970  return ((bitField0_ & 0x00008000) != 0);
12971  }
12976  @java.lang.Override
12977  public com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection() {
12978  @SuppressWarnings("deprecation")
12979  com.google.ortools.sat.SatParameters.ClauseProtection result = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(clauseCleanupProtection_);
12980  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
12981  }
12987  public Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value) {
12988  if (value == null) {
12989  throw new NullPointerException();
12990  }
12991  bitField0_ |= 0x00008000;
12992  clauseCleanupProtection_ = value.getNumber();
12993  onChanged();
12994  return this;
12995  }
13001  bitField0_ = (bitField0_ & ~0x00008000);
13002  clauseCleanupProtection_ = 0;
13003  onChanged();
13004  return this;
13005  }
13006 
13007  private int clauseCleanupLbdBound_ = 5;
13017  @java.lang.Override
13018  public boolean hasClauseCleanupLbdBound() {
13019  return ((bitField0_ & 0x00010000) != 0);
13020  }
13030  @java.lang.Override
13032  return clauseCleanupLbdBound_;
13033  }
13044  public Builder setClauseCleanupLbdBound(int value) {
13045  bitField0_ |= 0x00010000;
13046  clauseCleanupLbdBound_ = value;
13047  onChanged();
13048  return this;
13049  }
13060  bitField0_ = (bitField0_ & ~0x00010000);
13061  clauseCleanupLbdBound_ = 5;
13062  onChanged();
13063  return this;
13064  }
13065 
13066  private int clauseCleanupOrdering_ = 0;
13071  @java.lang.Override public boolean hasClauseCleanupOrdering() {
13072  return ((bitField0_ & 0x00020000) != 0);
13073  }
13078  @java.lang.Override
13079  public com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering() {
13080  @SuppressWarnings("deprecation")
13081  com.google.ortools.sat.SatParameters.ClauseOrdering result = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(clauseCleanupOrdering_);
13082  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
13083  }
13089  public Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value) {
13090  if (value == null) {
13091  throw new NullPointerException();
13092  }
13093  bitField0_ |= 0x00020000;
13094  clauseCleanupOrdering_ = value.getNumber();
13095  onChanged();
13096  return this;
13097  }
13103  bitField0_ = (bitField0_ & ~0x00020000);
13104  clauseCleanupOrdering_ = 0;
13105  onChanged();
13106  return this;
13107  }
13108 
13109  private int pbCleanupIncrement_ = 200;
13118  @java.lang.Override
13119  public boolean hasPbCleanupIncrement() {
13120  return ((bitField0_ & 0x00040000) != 0);
13121  }
13130  @java.lang.Override
13131  public int getPbCleanupIncrement() {
13132  return pbCleanupIncrement_;
13133  }
13143  public Builder setPbCleanupIncrement(int value) {
13144  bitField0_ |= 0x00040000;
13145  pbCleanupIncrement_ = value;
13146  onChanged();
13147  return this;
13148  }
13158  bitField0_ = (bitField0_ & ~0x00040000);
13159  pbCleanupIncrement_ = 200;
13160  onChanged();
13161  return this;
13162  }
13163 
13164  private double pbCleanupRatio_ = 0.5D;
13169  @java.lang.Override
13170  public boolean hasPbCleanupRatio() {
13171  return ((bitField0_ & 0x00080000) != 0);
13172  }
13177  @java.lang.Override
13178  public double getPbCleanupRatio() {
13179  return pbCleanupRatio_;
13180  }
13186  public Builder setPbCleanupRatio(double value) {
13187  bitField0_ |= 0x00080000;
13188  pbCleanupRatio_ = value;
13189  onChanged();
13190  return this;
13191  }
13197  bitField0_ = (bitField0_ & ~0x00080000);
13198  pbCleanupRatio_ = 0.5D;
13199  onChanged();
13200  return this;
13201  }
13202 
13203  private int minimizeWithPropagationRestartPeriod_ = 10;
13222  @java.lang.Override
13224  return ((bitField0_ & 0x00100000) != 0);
13225  }
13244  @java.lang.Override
13246  return minimizeWithPropagationRestartPeriod_;
13247  }
13268  bitField0_ |= 0x00100000;
13269  minimizeWithPropagationRestartPeriod_ = value;
13270  onChanged();
13271  return this;
13272  }
13292  bitField0_ = (bitField0_ & ~0x00100000);
13293  minimizeWithPropagationRestartPeriod_ = 10;
13294  onChanged();
13295  return this;
13296  }
13297 
13298  private int minimizeWithPropagationNumDecisions_ = 1000;
13303  @java.lang.Override
13305  return ((bitField0_ & 0x00200000) != 0);
13306  }
13311  @java.lang.Override
13313  return minimizeWithPropagationNumDecisions_;
13314  }
13321  bitField0_ |= 0x00200000;
13322  minimizeWithPropagationNumDecisions_ = value;
13323  onChanged();
13324  return this;
13325  }
13331  bitField0_ = (bitField0_ & ~0x00200000);
13332  minimizeWithPropagationNumDecisions_ = 1000;
13333  onChanged();
13334  return this;
13335  }
13336 
13337  private double variableActivityDecay_ = 0.8D;
13352  @java.lang.Override
13353  public boolean hasVariableActivityDecay() {
13354  return ((bitField0_ & 0x00400000) != 0);
13355  }
13370  @java.lang.Override
13371  public double getVariableActivityDecay() {
13372  return variableActivityDecay_;
13373  }
13389  public Builder setVariableActivityDecay(double value) {
13390  bitField0_ |= 0x00400000;
13391  variableActivityDecay_ = value;
13392  onChanged();
13393  return this;
13394  }
13410  bitField0_ = (bitField0_ & ~0x00400000);
13411  variableActivityDecay_ = 0.8D;
13412  onChanged();
13413  return this;
13414  }
13415 
13416  private double maxVariableActivityValue_ = 1e+100D;
13421  @java.lang.Override
13422  public boolean hasMaxVariableActivityValue() {
13423  return ((bitField0_ & 0x00800000) != 0);
13424  }
13429  @java.lang.Override
13431  return maxVariableActivityValue_;
13432  }
13438  public Builder setMaxVariableActivityValue(double value) {
13439  bitField0_ |= 0x00800000;
13440  maxVariableActivityValue_ = value;
13441  onChanged();
13442  return this;
13443  }
13449  bitField0_ = (bitField0_ & ~0x00800000);
13450  maxVariableActivityValue_ = 1e+100D;
13451  onChanged();
13452  return this;
13453  }
13454 
13455  private double glucoseMaxDecay_ = 0.95D;
13467  @java.lang.Override
13468  public boolean hasGlucoseMaxDecay() {
13469  return ((bitField0_ & 0x01000000) != 0);
13470  }
13482  @java.lang.Override
13483  public double getGlucoseMaxDecay() {
13484  return glucoseMaxDecay_;
13485  }
13498  public Builder setGlucoseMaxDecay(double value) {
13499  bitField0_ |= 0x01000000;
13500  glucoseMaxDecay_ = value;
13501  onChanged();
13502  return this;
13503  }
13516  bitField0_ = (bitField0_ & ~0x01000000);
13517  glucoseMaxDecay_ = 0.95D;
13518  onChanged();
13519  return this;
13520  }
13521 
13522  private double glucoseDecayIncrement_ = 0.01D;
13527  @java.lang.Override
13528  public boolean hasGlucoseDecayIncrement() {
13529  return ((bitField0_ & 0x02000000) != 0);
13530  }
13535  @java.lang.Override
13536  public double getGlucoseDecayIncrement() {
13537  return glucoseDecayIncrement_;
13538  }
13544  public Builder setGlucoseDecayIncrement(double value) {
13545  bitField0_ |= 0x02000000;
13546  glucoseDecayIncrement_ = value;
13547  onChanged();
13548  return this;
13549  }
13555  bitField0_ = (bitField0_ & ~0x02000000);
13556  glucoseDecayIncrement_ = 0.01D;
13557  onChanged();
13558  return this;
13559  }
13560 
13561  private int glucoseDecayIncrementPeriod_ = 5000;
13566  @java.lang.Override
13568  return ((bitField0_ & 0x04000000) != 0);
13569  }
13574  @java.lang.Override
13576  return glucoseDecayIncrementPeriod_;
13577  }
13584  bitField0_ |= 0x04000000;
13585  glucoseDecayIncrementPeriod_ = value;
13586  onChanged();
13587  return this;
13588  }
13594  bitField0_ = (bitField0_ & ~0x04000000);
13595  glucoseDecayIncrementPeriod_ = 5000;
13596  onChanged();
13597  return this;
13598  }
13599 
13600  private double clauseActivityDecay_ = 0.999D;
13609  @java.lang.Override
13610  public boolean hasClauseActivityDecay() {
13611  return ((bitField0_ & 0x08000000) != 0);
13612  }
13621  @java.lang.Override
13622  public double getClauseActivityDecay() {
13623  return clauseActivityDecay_;
13624  }
13634  public Builder setClauseActivityDecay(double value) {
13635  bitField0_ |= 0x08000000;
13636  clauseActivityDecay_ = value;
13637  onChanged();
13638  return this;
13639  }
13649  bitField0_ = (bitField0_ & ~0x08000000);
13650  clauseActivityDecay_ = 0.999D;
13651  onChanged();
13652  return this;
13653  }
13654 
13655  private double maxClauseActivityValue_ = 1e+20D;
13660  @java.lang.Override
13661  public boolean hasMaxClauseActivityValue() {
13662  return ((bitField0_ & 0x10000000) != 0);
13663  }
13668  @java.lang.Override
13669  public double getMaxClauseActivityValue() {
13670  return maxClauseActivityValue_;
13671  }
13677  public Builder setMaxClauseActivityValue(double value) {
13678  bitField0_ |= 0x10000000;
13679  maxClauseActivityValue_ = value;
13680  onChanged();
13681  return this;
13682  }
13688  bitField0_ = (bitField0_ & ~0x10000000);
13689  maxClauseActivityValue_ = 1e+20D;
13690  onChanged();
13691  return this;
13692  }
13693 
13694  private java.util.List<java.lang.Integer> restartAlgorithms_ =
13695  java.util.Collections.emptyList();
13696  private void ensureRestartAlgorithmsIsMutable() {
13697  if (!((bitField0_ & 0x20000000) != 0)) {
13698  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
13699  bitField0_ |= 0x20000000;
13700  }
13701  }
13717  public java.util.List<com.google.ortools.sat.SatParameters.RestartAlgorithm> getRestartAlgorithmsList() {
13718  return new com.google.protobuf.Internal.ListAdapter<
13719  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
13720  }
13737  return restartAlgorithms_.size();
13738  }
13755  public com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index) {
13756  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
13757  }
13776  int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
13777  if (value == null) {
13778  throw new NullPointerException();
13779  }
13780  ensureRestartAlgorithmsIsMutable();
13781  restartAlgorithms_.set(index, value.getNumber());
13782  onChanged();
13783  return this;
13784  }
13801  public Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
13802  if (value == null) {
13803  throw new NullPointerException();
13804  }
13805  ensureRestartAlgorithmsIsMutable();
13806  restartAlgorithms_.add(value.getNumber());
13807  onChanged();
13808  return this;
13809  }
13827  java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
13828  ensureRestartAlgorithmsIsMutable();
13829  for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
13830  restartAlgorithms_.add(value.getNumber());
13831  }
13832  onChanged();
13833  return this;
13834  }
13851  restartAlgorithms_ = java.util.Collections.emptyList();
13852  bitField0_ = (bitField0_ & ~0x20000000);
13853  onChanged();
13854  return this;
13855  }
13856 
13857  private java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
13862  public boolean hasDefaultRestartAlgorithms() {
13863  return ((bitField0_ & 0x40000000) != 0);
13864  }
13869  public java.lang.String getDefaultRestartAlgorithms() {
13870  java.lang.Object ref = defaultRestartAlgorithms_;
13871  if (!(ref instanceof java.lang.String)) {
13872  com.google.protobuf.ByteString bs =
13873  (com.google.protobuf.ByteString) ref;
13874  java.lang.String s = bs.toStringUtf8();
13875  if (bs.isValidUtf8()) {
13876  defaultRestartAlgorithms_ = s;
13877  }
13878  return s;
13879  } else {
13880  return (java.lang.String) ref;
13881  }
13882  }
13887  public com.google.protobuf.ByteString
13889  java.lang.Object ref = defaultRestartAlgorithms_;
13890  if (ref instanceof String) {
13891  com.google.protobuf.ByteString b =
13892  com.google.protobuf.ByteString.copyFromUtf8(
13893  (java.lang.String) ref);
13894  defaultRestartAlgorithms_ = b;
13895  return b;
13896  } else {
13897  return (com.google.protobuf.ByteString) ref;
13898  }
13899  }
13906  java.lang.String value) {
13907  if (value == null) {
13908  throw new NullPointerException();
13909  }
13910  bitField0_ |= 0x40000000;
13911  defaultRestartAlgorithms_ = value;
13912  onChanged();
13913  return this;
13914  }
13920  bitField0_ = (bitField0_ & ~0x40000000);
13921  defaultRestartAlgorithms_ = getDefaultInstance().getDefaultRestartAlgorithms();
13922  onChanged();
13923  return this;
13924  }
13931  com.google.protobuf.ByteString value) {
13932  if (value == null) {
13933  throw new NullPointerException();
13934  }
13935  bitField0_ |= 0x40000000;
13936  defaultRestartAlgorithms_ = value;
13937  onChanged();
13938  return this;
13939  }
13940 
13941  private int restartPeriod_ = 50;
13951  @java.lang.Override
13952  public boolean hasRestartPeriod() {
13953  return ((bitField0_ & 0x80000000) != 0);
13954  }
13964  @java.lang.Override
13965  public int getRestartPeriod() {
13966  return restartPeriod_;
13967  }
13978  public Builder setRestartPeriod(int value) {
13979  bitField0_ |= 0x80000000;
13980  restartPeriod_ = value;
13981  onChanged();
13982  return this;
13983  }
13994  bitField0_ = (bitField0_ & ~0x80000000);
13995  restartPeriod_ = 50;
13996  onChanged();
13997  return this;
13998  }
13999 
14000  private int restartRunningWindowSize_ = 50;
14009  @java.lang.Override
14010  public boolean hasRestartRunningWindowSize() {
14011  return ((bitField1_ & 0x00000001) != 0);
14012  }
14021  @java.lang.Override
14023  return restartRunningWindowSize_;
14024  }
14035  bitField1_ |= 0x00000001;
14036  restartRunningWindowSize_ = value;
14037  onChanged();
14038  return this;
14039  }
14049  bitField1_ = (bitField1_ & ~0x00000001);
14050  restartRunningWindowSize_ = 50;
14051  onChanged();
14052  return this;
14053  }
14054 
14055  private double restartDlAverageRatio_ = 1D;
14065  @java.lang.Override
14066  public boolean hasRestartDlAverageRatio() {
14067  return ((bitField1_ & 0x00000002) != 0);
14068  }
14078  @java.lang.Override
14079  public double getRestartDlAverageRatio() {
14080  return restartDlAverageRatio_;
14081  }
14092  public Builder setRestartDlAverageRatio(double value) {
14093  bitField1_ |= 0x00000002;
14094  restartDlAverageRatio_ = value;
14095  onChanged();
14096  return this;
14097  }
14108  bitField1_ = (bitField1_ & ~0x00000002);
14109  restartDlAverageRatio_ = 1D;
14110  onChanged();
14111  return this;
14112  }
14113 
14114  private double restartLbdAverageRatio_ = 1D;
14119  @java.lang.Override
14120  public boolean hasRestartLbdAverageRatio() {
14121  return ((bitField1_ & 0x00000004) != 0);
14122  }
14127  @java.lang.Override
14128  public double getRestartLbdAverageRatio() {
14129  return restartLbdAverageRatio_;
14130  }
14136  public Builder setRestartLbdAverageRatio(double value) {
14137  bitField1_ |= 0x00000004;
14138  restartLbdAverageRatio_ = value;
14139  onChanged();
14140  return this;
14141  }
14147  bitField1_ = (bitField1_ & ~0x00000004);
14148  restartLbdAverageRatio_ = 1D;
14149  onChanged();
14150  return this;
14151  }
14152 
14153  private boolean useBlockingRestart_ ;
14164  @java.lang.Override
14165  public boolean hasUseBlockingRestart() {
14166  return ((bitField1_ & 0x00000008) != 0);
14167  }
14178  @java.lang.Override
14179  public boolean getUseBlockingRestart() {
14180  return useBlockingRestart_;
14181  }
14193  public Builder setUseBlockingRestart(boolean value) {
14194  bitField1_ |= 0x00000008;
14195  useBlockingRestart_ = value;
14196  onChanged();
14197  return this;
14198  }
14210  bitField1_ = (bitField1_ & ~0x00000008);
14211  useBlockingRestart_ = false;
14212  onChanged();
14213  return this;
14214  }
14215 
14216  private int blockingRestartWindowSize_ = 5000;
14221  @java.lang.Override
14222  public boolean hasBlockingRestartWindowSize() {
14223  return ((bitField1_ & 0x00000010) != 0);
14224  }
14229  @java.lang.Override
14231  return blockingRestartWindowSize_;
14232  }
14239  bitField1_ |= 0x00000010;
14240  blockingRestartWindowSize_ = value;
14241  onChanged();
14242  return this;
14243  }
14249  bitField1_ = (bitField1_ & ~0x00000010);
14250  blockingRestartWindowSize_ = 5000;
14251  onChanged();
14252  return this;
14253  }
14254 
14255  private double blockingRestartMultiplier_ = 1.4D;
14260  @java.lang.Override
14261  public boolean hasBlockingRestartMultiplier() {
14262  return ((bitField1_ & 0x00000020) != 0);
14263  }
14268  @java.lang.Override
14270  return blockingRestartMultiplier_;
14271  }
14277  public Builder setBlockingRestartMultiplier(double value) {
14278  bitField1_ |= 0x00000020;
14279  blockingRestartMultiplier_ = value;
14280  onChanged();
14281  return this;
14282  }
14288  bitField1_ = (bitField1_ & ~0x00000020);
14289  blockingRestartMultiplier_ = 1.4D;
14290  onChanged();
14291  return this;
14292  }
14293 
14294  private int numConflictsBeforeStrategyChanges_ ;
14305  @java.lang.Override
14307  return ((bitField1_ & 0x00000040) != 0);
14308  }
14319  @java.lang.Override
14321  return numConflictsBeforeStrategyChanges_;
14322  }
14335  bitField1_ |= 0x00000040;
14336  numConflictsBeforeStrategyChanges_ = value;
14337  onChanged();
14338  return this;
14339  }
14351  bitField1_ = (bitField1_ & ~0x00000040);
14352  numConflictsBeforeStrategyChanges_ = 0;
14353  onChanged();
14354  return this;
14355  }
14356 
14357  private double strategyChangeIncreaseRatio_ ;
14367  @java.lang.Override
14369  return ((bitField1_ & 0x00000080) != 0);
14370  }
14380  @java.lang.Override
14382  return strategyChangeIncreaseRatio_;
14383  }
14395  bitField1_ |= 0x00000080;
14396  strategyChangeIncreaseRatio_ = value;
14397  onChanged();
14398  return this;
14399  }
14410  bitField1_ = (bitField1_ & ~0x00000080);
14411  strategyChangeIncreaseRatio_ = 0D;
14412  onChanged();
14413  return this;
14414  }
14415 
14416  private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
14426  @java.lang.Override
14427  public boolean hasMaxTimeInSeconds() {
14428  return ((bitField1_ & 0x00000100) != 0);
14429  }
14439  @java.lang.Override
14440  public double getMaxTimeInSeconds() {
14441  return maxTimeInSeconds_;
14442  }
14453  public Builder setMaxTimeInSeconds(double value) {
14454  bitField1_ |= 0x00000100;
14455  maxTimeInSeconds_ = value;
14456  onChanged();
14457  return this;
14458  }
14469  bitField1_ = (bitField1_ & ~0x00000100);
14470  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
14471  onChanged();
14472  return this;
14473  }
14474 
14475  private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
14486  @java.lang.Override
14487  public boolean hasMaxDeterministicTime() {
14488  return ((bitField1_ & 0x00000200) != 0);
14489  }
14500  @java.lang.Override
14501  public double getMaxDeterministicTime() {
14502  return maxDeterministicTime_;
14503  }
14515  public Builder setMaxDeterministicTime(double value) {
14516  bitField1_ |= 0x00000200;
14517  maxDeterministicTime_ = value;
14518  onChanged();
14519  return this;
14520  }
14532  bitField1_ = (bitField1_ & ~0x00000200);
14533  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
14534  onChanged();
14535  return this;
14536  }
14537 
14538  private long maxNumberOfConflicts_ = 9223372036854775807L;
14552  @java.lang.Override
14553  public boolean hasMaxNumberOfConflicts() {
14554  return ((bitField1_ & 0x00000400) != 0);
14555  }
14569  @java.lang.Override
14570  public long getMaxNumberOfConflicts() {
14571  return maxNumberOfConflicts_;
14572  }
14587  public Builder setMaxNumberOfConflicts(long value) {
14588  bitField1_ |= 0x00000400;
14589  maxNumberOfConflicts_ = value;
14590  onChanged();
14591  return this;
14592  }
14607  bitField1_ = (bitField1_ & ~0x00000400);
14608  maxNumberOfConflicts_ = 9223372036854775807L;
14609  onChanged();
14610  return this;
14611  }
14612 
14613  private long maxMemoryInMb_ = 10000L;
14625  @java.lang.Override
14626  public boolean hasMaxMemoryInMb() {
14627  return ((bitField1_ & 0x00000800) != 0);
14628  }
14640  @java.lang.Override
14641  public long getMaxMemoryInMb() {
14642  return maxMemoryInMb_;
14643  }
14656  public Builder setMaxMemoryInMb(long value) {
14657  bitField1_ |= 0x00000800;
14658  maxMemoryInMb_ = value;
14659  onChanged();
14660  return this;
14661  }
14674  bitField1_ = (bitField1_ & ~0x00000800);
14675  maxMemoryInMb_ = 10000L;
14676  onChanged();
14677  return this;
14678  }
14679 
14680  private double absoluteGapLimit_ ;
14698  @java.lang.Override
14699  public boolean hasAbsoluteGapLimit() {
14700  return ((bitField1_ & 0x00001000) != 0);
14701  }
14719  @java.lang.Override
14720  public double getAbsoluteGapLimit() {
14721  return absoluteGapLimit_;
14722  }
14741  public Builder setAbsoluteGapLimit(double value) {
14742  bitField1_ |= 0x00001000;
14743  absoluteGapLimit_ = value;
14744  onChanged();
14745  return this;
14746  }
14765  bitField1_ = (bitField1_ & ~0x00001000);
14766  absoluteGapLimit_ = 0D;
14767  onChanged();
14768  return this;
14769  }
14770 
14771  private double relativeGapLimit_ ;
14776  @java.lang.Override
14777  public boolean hasRelativeGapLimit() {
14778  return ((bitField1_ & 0x00002000) != 0);
14779  }
14784  @java.lang.Override
14785  public double getRelativeGapLimit() {
14786  return relativeGapLimit_;
14787  }
14793  public Builder setRelativeGapLimit(double value) {
14794  bitField1_ |= 0x00002000;
14795  relativeGapLimit_ = value;
14796  onChanged();
14797  return this;
14798  }
14804  bitField1_ = (bitField1_ & ~0x00002000);
14805  relativeGapLimit_ = 0D;
14806  onChanged();
14807  return this;
14808  }
14809 
14810  private boolean treatBinaryClausesSeparately_ = true;
14821  @java.lang.Override
14823  return ((bitField1_ & 0x00004000) != 0);
14824  }
14835  @java.lang.Override
14837  return treatBinaryClausesSeparately_;
14838  }
14851  bitField1_ |= 0x00004000;
14852  treatBinaryClausesSeparately_ = value;
14853  onChanged();
14854  return this;
14855  }
14867  bitField1_ = (bitField1_ & ~0x00004000);
14868  treatBinaryClausesSeparately_ = true;
14869  onChanged();
14870  return this;
14871  }
14872 
14873  private int randomSeed_ = 1;
14887  @java.lang.Override
14888  public boolean hasRandomSeed() {
14889  return ((bitField1_ & 0x00008000) != 0);
14890  }
14904  @java.lang.Override
14905  public int getRandomSeed() {
14906  return randomSeed_;
14907  }
14922  public Builder setRandomSeed(int value) {
14923  bitField1_ |= 0x00008000;
14924  randomSeed_ = value;
14925  onChanged();
14926  return this;
14927  }
14942  bitField1_ = (bitField1_ & ~0x00008000);
14943  randomSeed_ = 1;
14944  onChanged();
14945  return this;
14946  }
14947 
14948  private boolean permuteVariableRandomly_ ;
14960  @java.lang.Override
14961  public boolean hasPermuteVariableRandomly() {
14962  return ((bitField1_ & 0x00010000) != 0);
14963  }
14975  @java.lang.Override
14976  public boolean getPermuteVariableRandomly() {
14977  return permuteVariableRandomly_;
14978  }
14991  public Builder setPermuteVariableRandomly(boolean value) {
14992  bitField1_ |= 0x00010000;
14993  permuteVariableRandomly_ = value;
14994  onChanged();
14995  return this;
14996  }
15009  bitField1_ = (bitField1_ & ~0x00010000);
15010  permuteVariableRandomly_ = false;
15011  onChanged();
15012  return this;
15013  }
15014 
15015  private boolean permutePresolveConstraintOrder_ ;
15020  @java.lang.Override
15022  return ((bitField1_ & 0x00020000) != 0);
15023  }
15028  @java.lang.Override
15030  return permutePresolveConstraintOrder_;
15031  }
15038  bitField1_ |= 0x00020000;
15039  permutePresolveConstraintOrder_ = value;
15040  onChanged();
15041  return this;
15042  }
15048  bitField1_ = (bitField1_ & ~0x00020000);
15049  permutePresolveConstraintOrder_ = false;
15050  onChanged();
15051  return this;
15052  }
15053 
15054  private boolean useAbslRandom_ ;
15059  @java.lang.Override
15060  public boolean hasUseAbslRandom() {
15061  return ((bitField1_ & 0x00040000) != 0);
15062  }
15067  @java.lang.Override
15068  public boolean getUseAbslRandom() {
15069  return useAbslRandom_;
15070  }
15076  public Builder setUseAbslRandom(boolean value) {
15077  bitField1_ |= 0x00040000;
15078  useAbslRandom_ = value;
15079  onChanged();
15080  return this;
15081  }
15087  bitField1_ = (bitField1_ & ~0x00040000);
15088  useAbslRandom_ = false;
15089  onChanged();
15090  return this;
15091  }
15092 
15093  private boolean logSearchProgress_ ;
15102  @java.lang.Override
15103  public boolean hasLogSearchProgress() {
15104  return ((bitField1_ & 0x00080000) != 0);
15105  }
15114  @java.lang.Override
15115  public boolean getLogSearchProgress() {
15116  return logSearchProgress_;
15117  }
15127  public Builder setLogSearchProgress(boolean value) {
15128  bitField1_ |= 0x00080000;
15129  logSearchProgress_ = value;
15130  onChanged();
15131  return this;
15132  }
15142  bitField1_ = (bitField1_ & ~0x00080000);
15143  logSearchProgress_ = false;
15144  onChanged();
15145  return this;
15146  }
15147 
15148  private boolean usePbResolution_ ;
15160  @java.lang.Override
15161  public boolean hasUsePbResolution() {
15162  return ((bitField1_ & 0x00100000) != 0);
15163  }
15175  @java.lang.Override
15176  public boolean getUsePbResolution() {
15177  return usePbResolution_;
15178  }
15191  public Builder setUsePbResolution(boolean value) {
15192  bitField1_ |= 0x00100000;
15193  usePbResolution_ = value;
15194  onChanged();
15195  return this;
15196  }
15209  bitField1_ = (bitField1_ & ~0x00100000);
15210  usePbResolution_ = false;
15211  onChanged();
15212  return this;
15213  }
15214 
15215  private boolean minimizeReductionDuringPbResolution_ ;
15227  @java.lang.Override
15229  return ((bitField1_ & 0x00200000) != 0);
15230  }
15242  @java.lang.Override
15244  return minimizeReductionDuringPbResolution_;
15245  }
15259  bitField1_ |= 0x00200000;
15260  minimizeReductionDuringPbResolution_ = value;
15261  onChanged();
15262  return this;
15263  }
15276  bitField1_ = (bitField1_ & ~0x00200000);
15277  minimizeReductionDuringPbResolution_ = false;
15278  onChanged();
15279  return this;
15280  }
15281 
15282  private boolean countAssumptionLevelsInLbd_ = true;
15298  @java.lang.Override
15300  return ((bitField1_ & 0x00400000) != 0);
15301  }
15317  @java.lang.Override
15319  return countAssumptionLevelsInLbd_;
15320  }
15337  public Builder setCountAssumptionLevelsInLbd(boolean value) {
15338  bitField1_ |= 0x00400000;
15339  countAssumptionLevelsInLbd_ = value;
15340  onChanged();
15341  return this;
15342  }
15359  bitField1_ = (bitField1_ & ~0x00400000);
15360  countAssumptionLevelsInLbd_ = true;
15361  onChanged();
15362  return this;
15363  }
15364 
15365  private int presolveBveThreshold_ = 500;
15376  @java.lang.Override
15377  public boolean hasPresolveBveThreshold() {
15378  return ((bitField1_ & 0x00800000) != 0);
15379  }
15390  @java.lang.Override
15392  return presolveBveThreshold_;
15393  }
15405  public Builder setPresolveBveThreshold(int value) {
15406  bitField1_ |= 0x00800000;
15407  presolveBveThreshold_ = value;
15408  onChanged();
15409  return this;
15410  }
15422  bitField1_ = (bitField1_ & ~0x00800000);
15423  presolveBveThreshold_ = 500;
15424  onChanged();
15425  return this;
15426  }
15427 
15428  private int presolveBveClauseWeight_ = 3;
15438  @java.lang.Override
15439  public boolean hasPresolveBveClauseWeight() {
15440  return ((bitField1_ & 0x01000000) != 0);
15441  }
15451  @java.lang.Override
15453  return presolveBveClauseWeight_;
15454  }
15466  bitField1_ |= 0x01000000;
15467  presolveBveClauseWeight_ = value;
15468  onChanged();
15469  return this;
15470  }
15481  bitField1_ = (bitField1_ & ~0x01000000);
15482  presolveBveClauseWeight_ = 3;
15483  onChanged();
15484  return this;
15485  }
15486 
15487  private double presolveProbingDeterministicTimeLimit_ = 30D;
15497  @java.lang.Override
15499  return ((bitField1_ & 0x02000000) != 0);
15500  }
15510  @java.lang.Override
15512  return presolveProbingDeterministicTimeLimit_;
15513  }
15525  bitField1_ |= 0x02000000;
15526  presolveProbingDeterministicTimeLimit_ = value;
15527  onChanged();
15528  return this;
15529  }
15540  bitField1_ = (bitField1_ & ~0x02000000);
15541  presolveProbingDeterministicTimeLimit_ = 30D;
15542  onChanged();
15543  return this;
15544  }
15545 
15546  private boolean presolveBlockedClause_ = true;
15556  @java.lang.Override
15557  public boolean hasPresolveBlockedClause() {
15558  return ((bitField1_ & 0x04000000) != 0);
15559  }
15569  @java.lang.Override
15570  public boolean getPresolveBlockedClause() {
15571  return presolveBlockedClause_;
15572  }
15583  public Builder setPresolveBlockedClause(boolean value) {
15584  bitField1_ |= 0x04000000;
15585  presolveBlockedClause_ = value;
15586  onChanged();
15587  return this;
15588  }
15599  bitField1_ = (bitField1_ & ~0x04000000);
15600  presolveBlockedClause_ = true;
15601  onChanged();
15602  return this;
15603  }
15604 
15605  private boolean presolveUseBva_ = true;
15614  @java.lang.Override
15615  public boolean hasPresolveUseBva() {
15616  return ((bitField1_ & 0x08000000) != 0);
15617  }
15626  @java.lang.Override
15627  public boolean getPresolveUseBva() {
15628  return presolveUseBva_;
15629  }
15639  public Builder setPresolveUseBva(boolean value) {
15640  bitField1_ |= 0x08000000;
15641  presolveUseBva_ = value;
15642  onChanged();
15643  return this;
15644  }
15654  bitField1_ = (bitField1_ & ~0x08000000);
15655  presolveUseBva_ = true;
15656  onChanged();
15657  return this;
15658  }
15659 
15660  private int presolveBvaThreshold_ = 1;
15672  @java.lang.Override
15673  public boolean hasPresolveBvaThreshold() {
15674  return ((bitField1_ & 0x10000000) != 0);
15675  }
15687  @java.lang.Override
15689  return presolveBvaThreshold_;
15690  }
15703  public Builder setPresolveBvaThreshold(int value) {
15704  bitField1_ |= 0x10000000;
15705  presolveBvaThreshold_ = value;
15706  onChanged();
15707  return this;
15708  }
15721  bitField1_ = (bitField1_ & ~0x10000000);
15722  presolveBvaThreshold_ = 1;
15723  onChanged();
15724  return this;
15725  }
15726 
15727  private int maxPresolveIterations_ = 3;
15738  @java.lang.Override
15739  public boolean hasMaxPresolveIterations() {
15740  return ((bitField1_ & 0x20000000) != 0);
15741  }
15752  @java.lang.Override
15754  return maxPresolveIterations_;
15755  }
15767  public Builder setMaxPresolveIterations(int value) {
15768  bitField1_ |= 0x20000000;
15769  maxPresolveIterations_ = value;
15770  onChanged();
15771  return this;
15772  }
15784  bitField1_ = (bitField1_ & ~0x20000000);
15785  maxPresolveIterations_ = 3;
15786  onChanged();
15787  return this;
15788  }
15789 
15790  private boolean cpModelPresolve_ = true;
15799  @java.lang.Override
15800  public boolean hasCpModelPresolve() {
15801  return ((bitField1_ & 0x40000000) != 0);
15802  }
15811  @java.lang.Override
15812  public boolean getCpModelPresolve() {
15813  return cpModelPresolve_;
15814  }
15824  public Builder setCpModelPresolve(boolean value) {
15825  bitField1_ |= 0x40000000;
15826  cpModelPresolve_ = value;
15827  onChanged();
15828  return this;
15829  }
15839  bitField1_ = (bitField1_ & ~0x40000000);
15840  cpModelPresolve_ = true;
15841  onChanged();
15842  return this;
15843  }
15844 
15845  private boolean cpModelPostsolveWithFullSolver_ ;
15857  @java.lang.Override
15859  return ((bitField1_ & 0x80000000) != 0);
15860  }
15872  @java.lang.Override
15874  return cpModelPostsolveWithFullSolver_;
15875  }
15889  bitField1_ |= 0x80000000;
15890  cpModelPostsolveWithFullSolver_ = value;
15891  onChanged();
15892  return this;
15893  }
15906  bitField1_ = (bitField1_ & ~0x80000000);
15907  cpModelPostsolveWithFullSolver_ = false;
15908  onChanged();
15909  return this;
15910  }
15911 
15912  private int cpModelMaxNumPresolveOperations_ ;
15922  @java.lang.Override
15924  return ((bitField2_ & 0x00000001) != 0);
15925  }
15935  @java.lang.Override
15937  return cpModelMaxNumPresolveOperations_;
15938  }
15950  bitField2_ |= 0x00000001;
15951  cpModelMaxNumPresolveOperations_ = value;
15952  onChanged();
15953  return this;
15954  }
15965  bitField2_ = (bitField2_ & ~0x00000001);
15966  cpModelMaxNumPresolveOperations_ = 0;
15967  onChanged();
15968  return this;
15969  }
15970 
15971  private int cpModelProbingLevel_ = 2;
15980  @java.lang.Override
15981  public boolean hasCpModelProbingLevel() {
15982  return ((bitField2_ & 0x00000002) != 0);
15983  }
15992  @java.lang.Override
15993  public int getCpModelProbingLevel() {
15994  return cpModelProbingLevel_;
15995  }
16005  public Builder setCpModelProbingLevel(int value) {
16006  bitField2_ |= 0x00000002;
16007  cpModelProbingLevel_ = value;
16008  onChanged();
16009  return this;
16010  }
16020  bitField2_ = (bitField2_ & ~0x00000002);
16021  cpModelProbingLevel_ = 2;
16022  onChanged();
16023  return this;
16024  }
16025 
16026  private boolean cpModelUseSatPresolve_ = true;
16035  @java.lang.Override
16036  public boolean hasCpModelUseSatPresolve() {
16037  return ((bitField2_ & 0x00000004) != 0);
16038  }
16047  @java.lang.Override
16048  public boolean getCpModelUseSatPresolve() {
16049  return cpModelUseSatPresolve_;
16050  }
16060  public Builder setCpModelUseSatPresolve(boolean value) {
16061  bitField2_ |= 0x00000004;
16062  cpModelUseSatPresolve_ = value;
16063  onChanged();
16064  return this;
16065  }
16075  bitField2_ = (bitField2_ & ~0x00000004);
16076  cpModelUseSatPresolve_ = true;
16077  onChanged();
16078  return this;
16079  }
16080 
16081  private boolean useSatInprocessing_ ;
16086  @java.lang.Override
16087  public boolean hasUseSatInprocessing() {
16088  return ((bitField2_ & 0x00000008) != 0);
16089  }
16094  @java.lang.Override
16095  public boolean getUseSatInprocessing() {
16096  return useSatInprocessing_;
16097  }
16103  public Builder setUseSatInprocessing(boolean value) {
16104  bitField2_ |= 0x00000008;
16105  useSatInprocessing_ = value;
16106  onChanged();
16107  return this;
16108  }
16114  bitField2_ = (bitField2_ & ~0x00000008);
16115  useSatInprocessing_ = false;
16116  onChanged();
16117  return this;
16118  }
16119 
16120  private boolean expandElementConstraints_ = true;
16130  @java.lang.Override
16131  public boolean hasExpandElementConstraints() {
16132  return ((bitField2_ & 0x00000010) != 0);
16133  }
16143  @java.lang.Override
16144  public boolean getExpandElementConstraints() {
16145  return expandElementConstraints_;
16146  }
16157  public Builder setExpandElementConstraints(boolean value) {
16158  bitField2_ |= 0x00000010;
16159  expandElementConstraints_ = value;
16160  onChanged();
16161  return this;
16162  }
16173  bitField2_ = (bitField2_ & ~0x00000010);
16174  expandElementConstraints_ = true;
16175  onChanged();
16176  return this;
16177  }
16178 
16179  private boolean expandAutomatonConstraints_ = true;
16188  @java.lang.Override
16190  return ((bitField2_ & 0x00000020) != 0);
16191  }
16200  @java.lang.Override
16202  return expandAutomatonConstraints_;
16203  }
16213  public Builder setExpandAutomatonConstraints(boolean value) {
16214  bitField2_ |= 0x00000020;
16215  expandAutomatonConstraints_ = value;
16216  onChanged();
16217  return this;
16218  }
16228  bitField2_ = (bitField2_ & ~0x00000020);
16229  expandAutomatonConstraints_ = true;
16230  onChanged();
16231  return this;
16232  }
16233 
16234  private boolean expandTableConstraints_ = true;
16244  @java.lang.Override
16245  public boolean hasExpandTableConstraints() {
16246  return ((bitField2_ & 0x00000040) != 0);
16247  }
16257  @java.lang.Override
16258  public boolean getExpandTableConstraints() {
16259  return expandTableConstraints_;
16260  }
16271  public Builder setExpandTableConstraints(boolean value) {
16272  bitField2_ |= 0x00000040;
16273  expandTableConstraints_ = value;
16274  onChanged();
16275  return this;
16276  }
16287  bitField2_ = (bitField2_ & ~0x00000040);
16288  expandTableConstraints_ = true;
16289  onChanged();
16290  return this;
16291  }
16292 
16293  private boolean expandAlldiffConstraints_ ;
16303  @java.lang.Override
16304  public boolean hasExpandAlldiffConstraints() {
16305  return ((bitField2_ & 0x00000080) != 0);
16306  }
16316  @java.lang.Override
16317  public boolean getExpandAlldiffConstraints() {
16318  return expandAlldiffConstraints_;
16319  }
16330  public Builder setExpandAlldiffConstraints(boolean value) {
16331  bitField2_ |= 0x00000080;
16332  expandAlldiffConstraints_ = value;
16333  onChanged();
16334  return this;
16335  }
16346  bitField2_ = (bitField2_ & ~0x00000080);
16347  expandAlldiffConstraints_ = false;
16348  onChanged();
16349  return this;
16350  }
16351 
16352  private boolean expandReservoirConstraints_ = true;
16362  @java.lang.Override
16364  return ((bitField2_ & 0x00000100) != 0);
16365  }
16375  @java.lang.Override
16377  return expandReservoirConstraints_;
16378  }
16389  public Builder setExpandReservoirConstraints(boolean value) {
16390  bitField2_ |= 0x00000100;
16391  expandReservoirConstraints_ = value;
16392  onChanged();
16393  return this;
16394  }
16405  bitField2_ = (bitField2_ & ~0x00000100);
16406  expandReservoirConstraints_ = true;
16407  onChanged();
16408  return this;
16409  }
16410 
16411  private boolean disableConstraintExpansion_ ;
16421  @java.lang.Override
16423  return ((bitField2_ & 0x00000200) != 0);
16424  }
16434  @java.lang.Override
16436  return disableConstraintExpansion_;
16437  }
16448  public Builder setDisableConstraintExpansion(boolean value) {
16449  bitField2_ |= 0x00000200;
16450  disableConstraintExpansion_ = value;
16451  onChanged();
16452  return this;
16453  }
16464  bitField2_ = (bitField2_ & ~0x00000200);
16465  disableConstraintExpansion_ = false;
16466  onChanged();
16467  return this;
16468  }
16469 
16470  private double mergeNoOverlapWorkLimit_ = 1000000000000D;
16483  @java.lang.Override
16484  public boolean hasMergeNoOverlapWorkLimit() {
16485  return ((bitField2_ & 0x00000400) != 0);
16486  }
16499  @java.lang.Override
16500  public double getMergeNoOverlapWorkLimit() {
16501  return mergeNoOverlapWorkLimit_;
16502  }
16516  public Builder setMergeNoOverlapWorkLimit(double value) {
16517  bitField2_ |= 0x00000400;
16518  mergeNoOverlapWorkLimit_ = value;
16519  onChanged();
16520  return this;
16521  }
16535  bitField2_ = (bitField2_ & ~0x00000400);
16536  mergeNoOverlapWorkLimit_ = 1000000000000D;
16537  onChanged();
16538  return this;
16539  }
16540 
16541  private double mergeAtMostOneWorkLimit_ = 100000000D;
16546  @java.lang.Override
16547  public boolean hasMergeAtMostOneWorkLimit() {
16548  return ((bitField2_ & 0x00000800) != 0);
16549  }
16554  @java.lang.Override
16555  public double getMergeAtMostOneWorkLimit() {
16556  return mergeAtMostOneWorkLimit_;
16557  }
16563  public Builder setMergeAtMostOneWorkLimit(double value) {
16564  bitField2_ |= 0x00000800;
16565  mergeAtMostOneWorkLimit_ = value;
16566  onChanged();
16567  return this;
16568  }
16574  bitField2_ = (bitField2_ & ~0x00000800);
16575  mergeAtMostOneWorkLimit_ = 100000000D;
16576  onChanged();
16577  return this;
16578  }
16579 
16580  private int presolveSubstitutionLevel_ = 1;
16592  @java.lang.Override
16593  public boolean hasPresolveSubstitutionLevel() {
16594  return ((bitField2_ & 0x00001000) != 0);
16595  }
16607  @java.lang.Override
16609  return presolveSubstitutionLevel_;
16610  }
16624  bitField2_ |= 0x00001000;
16625  presolveSubstitutionLevel_ = value;
16626  onChanged();
16627  return this;
16628  }
16641  bitField2_ = (bitField2_ & ~0x00001000);
16642  presolveSubstitutionLevel_ = 1;
16643  onChanged();
16644  return this;
16645  }
16646 
16647  private boolean presolveExtractIntegerEnforcement_ ;
16661  @java.lang.Override
16663  return ((bitField2_ & 0x00002000) != 0);
16664  }
16678  @java.lang.Override
16680  return presolveExtractIntegerEnforcement_;
16681  }
16697  bitField2_ |= 0x00002000;
16698  presolveExtractIntegerEnforcement_ = value;
16699  onChanged();
16700  return this;
16701  }
16716  bitField2_ = (bitField2_ & ~0x00002000);
16717  presolveExtractIntegerEnforcement_ = false;
16718  onChanged();
16719  return this;
16720  }
16721 
16722  private boolean useOptimizationHints_ = true;
16734  @java.lang.Override
16735  public boolean hasUseOptimizationHints() {
16736  return ((bitField2_ & 0x00004000) != 0);
16737  }
16749  @java.lang.Override
16750  public boolean getUseOptimizationHints() {
16751  return useOptimizationHints_;
16752  }
16765  public Builder setUseOptimizationHints(boolean value) {
16766  bitField2_ |= 0x00004000;
16767  useOptimizationHints_ = value;
16768  onChanged();
16769  return this;
16770  }
16783  bitField2_ = (bitField2_ & ~0x00004000);
16784  useOptimizationHints_ = true;
16785  onChanged();
16786  return this;
16787  }
16788 
16789  private boolean minimizeCore_ = true;
16798  @java.lang.Override
16799  public boolean hasMinimizeCore() {
16800  return ((bitField2_ & 0x00008000) != 0);
16801  }
16810  @java.lang.Override
16811  public boolean getMinimizeCore() {
16812  return minimizeCore_;
16813  }
16823  public Builder setMinimizeCore(boolean value) {
16824  bitField2_ |= 0x00008000;
16825  minimizeCore_ = value;
16826  onChanged();
16827  return this;
16828  }
16838  bitField2_ = (bitField2_ & ~0x00008000);
16839  minimizeCore_ = true;
16840  onChanged();
16841  return this;
16842  }
16843 
16844  private boolean findMultipleCores_ = true;
16854  @java.lang.Override
16855  public boolean hasFindMultipleCores() {
16856  return ((bitField2_ & 0x00010000) != 0);
16857  }
16867  @java.lang.Override
16868  public boolean getFindMultipleCores() {
16869  return findMultipleCores_;
16870  }
16881  public Builder setFindMultipleCores(boolean value) {
16882  bitField2_ |= 0x00010000;
16883  findMultipleCores_ = value;
16884  onChanged();
16885  return this;
16886  }
16897  bitField2_ = (bitField2_ & ~0x00010000);
16898  findMultipleCores_ = true;
16899  onChanged();
16900  return this;
16901  }
16902 
16903  private boolean coverOptimization_ = true;
16913  @java.lang.Override
16914  public boolean hasCoverOptimization() {
16915  return ((bitField2_ & 0x00020000) != 0);
16916  }
16926  @java.lang.Override
16927  public boolean getCoverOptimization() {
16928  return coverOptimization_;
16929  }
16940  public Builder setCoverOptimization(boolean value) {
16941  bitField2_ |= 0x00020000;
16942  coverOptimization_ = value;
16943  onChanged();
16944  return this;
16945  }
16956  bitField2_ = (bitField2_ & ~0x00020000);
16957  coverOptimization_ = true;
16958  onChanged();
16959  return this;
16960  }
16961 
16962  private int maxSatAssumptionOrder_ = 0;
16967  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
16968  return ((bitField2_ & 0x00040000) != 0);
16969  }
16974  @java.lang.Override
16975  public com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder() {
16976  @SuppressWarnings("deprecation")
16977  com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder result = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(maxSatAssumptionOrder_);
16978  return result == null ? com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.DEFAULT_ASSUMPTION_ORDER : result;
16979  }
16985  public Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value) {
16986  if (value == null) {
16987  throw new NullPointerException();
16988  }
16989  bitField2_ |= 0x00040000;
16990  maxSatAssumptionOrder_ = value.getNumber();
16991  onChanged();
16992  return this;
16993  }
16999  bitField2_ = (bitField2_ & ~0x00040000);
17000  maxSatAssumptionOrder_ = 0;
17001  onChanged();
17002  return this;
17003  }
17004 
17005  private boolean maxSatReverseAssumptionOrder_ ;
17015  @java.lang.Override
17017  return ((bitField2_ & 0x00080000) != 0);
17018  }
17028  @java.lang.Override
17030  return maxSatReverseAssumptionOrder_;
17031  }
17043  bitField2_ |= 0x00080000;
17044  maxSatReverseAssumptionOrder_ = value;
17045  onChanged();
17046  return this;
17047  }
17058  bitField2_ = (bitField2_ & ~0x00080000);
17059  maxSatReverseAssumptionOrder_ = false;
17060  onChanged();
17061  return this;
17062  }
17063 
17064  private int maxSatStratification_ = 1;
17069  @java.lang.Override public boolean hasMaxSatStratification() {
17070  return ((bitField2_ & 0x00100000) != 0);
17071  }
17076  @java.lang.Override
17077  public com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification() {
17078  @SuppressWarnings("deprecation")
17079  com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm result = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(maxSatStratification_);
17080  return result == null ? com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.STRATIFICATION_DESCENT : result;
17081  }
17087  public Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value) {
17088  if (value == null) {
17089  throw new NullPointerException();
17090  }
17091  bitField2_ |= 0x00100000;
17092  maxSatStratification_ = value.getNumber();
17093  onChanged();
17094  return this;
17095  }
17101  bitField2_ = (bitField2_ & ~0x00100000);
17102  maxSatStratification_ = 1;
17103  onChanged();
17104  return this;
17105  }
17106 
17107  private boolean usePrecedencesInDisjunctiveConstraint_ = true;
17123  @java.lang.Override
17125  return ((bitField2_ & 0x00200000) != 0);
17126  }
17142  @java.lang.Override
17144  return usePrecedencesInDisjunctiveConstraint_;
17145  }
17163  bitField2_ |= 0x00200000;
17164  usePrecedencesInDisjunctiveConstraint_ = value;
17165  onChanged();
17166  return this;
17167  }
17184  bitField2_ = (bitField2_ & ~0x00200000);
17185  usePrecedencesInDisjunctiveConstraint_ = true;
17186  onChanged();
17187  return this;
17188  }
17189 
17190  private boolean useOverloadCheckerInCumulativeConstraint_ ;
17204  @java.lang.Override
17206  return ((bitField2_ & 0x00400000) != 0);
17207  }
17221  @java.lang.Override
17223  return useOverloadCheckerInCumulativeConstraint_;
17224  }
17240  bitField2_ |= 0x00400000;
17241  useOverloadCheckerInCumulativeConstraint_ = value;
17242  onChanged();
17243  return this;
17244  }
17259  bitField2_ = (bitField2_ & ~0x00400000);
17260  useOverloadCheckerInCumulativeConstraint_ = false;
17261  onChanged();
17262  return this;
17263  }
17264 
17265  private boolean useTimetableEdgeFindingInCumulativeConstraint_ ;
17279  @java.lang.Override
17281  return ((bitField2_ & 0x00800000) != 0);
17282  }
17296  @java.lang.Override
17298  return useTimetableEdgeFindingInCumulativeConstraint_;
17299  }
17315  bitField2_ |= 0x00800000;
17316  useTimetableEdgeFindingInCumulativeConstraint_ = value;
17317  onChanged();
17318  return this;
17319  }
17334  bitField2_ = (bitField2_ & ~0x00800000);
17335  useTimetableEdgeFindingInCumulativeConstraint_ = false;
17336  onChanged();
17337  return this;
17338  }
17339 
17340  private boolean useDisjunctiveConstraintInCumulativeConstraint_ = true;
17356  @java.lang.Override
17358  return ((bitField2_ & 0x01000000) != 0);
17359  }
17375  @java.lang.Override
17377  return useDisjunctiveConstraintInCumulativeConstraint_;
17378  }
17396  bitField2_ |= 0x01000000;
17397  useDisjunctiveConstraintInCumulativeConstraint_ = value;
17398  onChanged();
17399  return this;
17400  }
17417  bitField2_ = (bitField2_ & ~0x01000000);
17418  useDisjunctiveConstraintInCumulativeConstraint_ = true;
17419  onChanged();
17420  return this;
17421  }
17422 
17423  private int linearizationLevel_ = 1;
17435  @java.lang.Override
17436  public boolean hasLinearizationLevel() {
17437  return ((bitField2_ & 0x02000000) != 0);
17438  }
17450  @java.lang.Override
17451  public int getLinearizationLevel() {
17452  return linearizationLevel_;
17453  }
17466  public Builder setLinearizationLevel(int value) {
17467  bitField2_ |= 0x02000000;
17468  linearizationLevel_ = value;
17469  onChanged();
17470  return this;
17471  }
17484  bitField2_ = (bitField2_ & ~0x02000000);
17485  linearizationLevel_ = 1;
17486  onChanged();
17487  return this;
17488  }
17489 
17490  private int booleanEncodingLevel_ = 1;
17500  @java.lang.Override
17501  public boolean hasBooleanEncodingLevel() {
17502  return ((bitField2_ & 0x04000000) != 0);
17503  }
17513  @java.lang.Override
17515  return booleanEncodingLevel_;
17516  }
17527  public Builder setBooleanEncodingLevel(int value) {
17528  bitField2_ |= 0x04000000;
17529  booleanEncodingLevel_ = value;
17530  onChanged();
17531  return this;
17532  }
17543  bitField2_ = (bitField2_ & ~0x04000000);
17544  booleanEncodingLevel_ = 1;
17545  onChanged();
17546  return this;
17547  }
17548 
17549  private int maxNumCuts_ = 10000;
17561  @java.lang.Override
17562  public boolean hasMaxNumCuts() {
17563  return ((bitField2_ & 0x08000000) != 0);
17564  }
17576  @java.lang.Override
17577  public int getMaxNumCuts() {
17578  return maxNumCuts_;
17579  }
17592  public Builder setMaxNumCuts(int value) {
17593  bitField2_ |= 0x08000000;
17594  maxNumCuts_ = value;
17595  onChanged();
17596  return this;
17597  }
17610  bitField2_ = (bitField2_ & ~0x08000000);
17611  maxNumCuts_ = 10000;
17612  onChanged();
17613  return this;
17614  }
17615 
17616  private boolean onlyAddCutsAtLevelZero_ ;
17626  @java.lang.Override
17627  public boolean hasOnlyAddCutsAtLevelZero() {
17628  return ((bitField2_ & 0x10000000) != 0);
17629  }
17639  @java.lang.Override
17640  public boolean getOnlyAddCutsAtLevelZero() {
17641  return onlyAddCutsAtLevelZero_;
17642  }
17653  public Builder setOnlyAddCutsAtLevelZero(boolean value) {
17654  bitField2_ |= 0x10000000;
17655  onlyAddCutsAtLevelZero_ = value;
17656  onChanged();
17657  return this;
17658  }
17669  bitField2_ = (bitField2_ & ~0x10000000);
17670  onlyAddCutsAtLevelZero_ = false;
17671  onChanged();
17672  return this;
17673  }
17674 
17675  private boolean addKnapsackCuts_ ;
17686  @java.lang.Override
17687  public boolean hasAddKnapsackCuts() {
17688  return ((bitField2_ & 0x20000000) != 0);
17689  }
17700  @java.lang.Override
17701  public boolean getAddKnapsackCuts() {
17702  return addKnapsackCuts_;
17703  }
17715  public Builder setAddKnapsackCuts(boolean value) {
17716  bitField2_ |= 0x20000000;
17717  addKnapsackCuts_ = value;
17718  onChanged();
17719  return this;
17720  }
17732  bitField2_ = (bitField2_ & ~0x20000000);
17733  addKnapsackCuts_ = false;
17734  onChanged();
17735  return this;
17736  }
17737 
17738  private boolean addCgCuts_ = true;
17748  @java.lang.Override
17749  public boolean hasAddCgCuts() {
17750  return ((bitField2_ & 0x40000000) != 0);
17751  }
17761  @java.lang.Override
17762  public boolean getAddCgCuts() {
17763  return addCgCuts_;
17764  }
17775  public Builder setAddCgCuts(boolean value) {
17776  bitField2_ |= 0x40000000;
17777  addCgCuts_ = value;
17778  onChanged();
17779  return this;
17780  }
17791  bitField2_ = (bitField2_ & ~0x40000000);
17792  addCgCuts_ = true;
17793  onChanged();
17794  return this;
17795  }
17796 
17797  private boolean addMirCuts_ = true;
17807  @java.lang.Override
17808  public boolean hasAddMirCuts() {
17809  return ((bitField2_ & 0x80000000) != 0);
17810  }
17820  @java.lang.Override
17821  public boolean getAddMirCuts() {
17822  return addMirCuts_;
17823  }
17834  public Builder setAddMirCuts(boolean value) {
17835  bitField2_ |= 0x80000000;
17836  addMirCuts_ = value;
17837  onChanged();
17838  return this;
17839  }
17850  bitField2_ = (bitField2_ & ~0x80000000);
17851  addMirCuts_ = true;
17852  onChanged();
17853  return this;
17854  }
17855 
17856  private boolean addZeroHalfCuts_ = true;
17866  @java.lang.Override
17867  public boolean hasAddZeroHalfCuts() {
17868  return ((bitField3_ & 0x00000001) != 0);
17869  }
17879  @java.lang.Override
17880  public boolean getAddZeroHalfCuts() {
17881  return addZeroHalfCuts_;
17882  }
17893  public Builder setAddZeroHalfCuts(boolean value) {
17894  bitField3_ |= 0x00000001;
17895  addZeroHalfCuts_ = value;
17896  onChanged();
17897  return this;
17898  }
17909  bitField3_ = (bitField3_ & ~0x00000001);
17910  addZeroHalfCuts_ = true;
17911  onChanged();
17912  return this;
17913  }
17914 
17915  private boolean addCliqueCuts_ = true;
17926  @java.lang.Override
17927  public boolean hasAddCliqueCuts() {
17928  return ((bitField3_ & 0x00000002) != 0);
17929  }
17940  @java.lang.Override
17941  public boolean getAddCliqueCuts() {
17942  return addCliqueCuts_;
17943  }
17955  public Builder setAddCliqueCuts(boolean value) {
17956  bitField3_ |= 0x00000002;
17957  addCliqueCuts_ = value;
17958  onChanged();
17959  return this;
17960  }
17972  bitField3_ = (bitField3_ & ~0x00000002);
17973  addCliqueCuts_ = true;
17974  onChanged();
17975  return this;
17976  }
17977 
17978  private int maxAllDiffCutSize_ = 7;
17989  @java.lang.Override
17990  public boolean hasMaxAllDiffCutSize() {
17991  return ((bitField3_ & 0x00000004) != 0);
17992  }
18003  @java.lang.Override
18004  public int getMaxAllDiffCutSize() {
18005  return maxAllDiffCutSize_;
18006  }
18018  public Builder setMaxAllDiffCutSize(int value) {
18019  bitField3_ |= 0x00000004;
18020  maxAllDiffCutSize_ = value;
18021  onChanged();
18022  return this;
18023  }
18035  bitField3_ = (bitField3_ & ~0x00000004);
18036  maxAllDiffCutSize_ = 7;
18037  onChanged();
18038  return this;
18039  }
18040 
18041  private boolean addLinMaxCuts_ = true;
18052  @java.lang.Override
18053  public boolean hasAddLinMaxCuts() {
18054  return ((bitField3_ & 0x00000008) != 0);
18055  }
18066  @java.lang.Override
18067  public boolean getAddLinMaxCuts() {
18068  return addLinMaxCuts_;
18069  }
18081  public Builder setAddLinMaxCuts(boolean value) {
18082  bitField3_ |= 0x00000008;
18083  addLinMaxCuts_ = value;
18084  onChanged();
18085  return this;
18086  }
18098  bitField3_ = (bitField3_ & ~0x00000008);
18099  addLinMaxCuts_ = true;
18100  onChanged();
18101  return this;
18102  }
18103 
18104  private int maxIntegerRoundingScaling_ = 600;
18119  @java.lang.Override
18120  public boolean hasMaxIntegerRoundingScaling() {
18121  return ((bitField3_ & 0x00000010) != 0);
18122  }
18137  @java.lang.Override
18139  return maxIntegerRoundingScaling_;
18140  }
18157  bitField3_ |= 0x00000010;
18158  maxIntegerRoundingScaling_ = value;
18159  onChanged();
18160  return this;
18161  }
18177  bitField3_ = (bitField3_ & ~0x00000010);
18178  maxIntegerRoundingScaling_ = 600;
18179  onChanged();
18180  return this;
18181  }
18182 
18183  private boolean addLpConstraintsLazily_ = true;
18195  @java.lang.Override
18196  public boolean hasAddLpConstraintsLazily() {
18197  return ((bitField3_ & 0x00000020) != 0);
18198  }
18210  @java.lang.Override
18211  public boolean getAddLpConstraintsLazily() {
18212  return addLpConstraintsLazily_;
18213  }
18226  public Builder setAddLpConstraintsLazily(boolean value) {
18227  bitField3_ |= 0x00000020;
18228  addLpConstraintsLazily_ = value;
18229  onChanged();
18230  return this;
18231  }
18244  bitField3_ = (bitField3_ & ~0x00000020);
18245  addLpConstraintsLazily_ = true;
18246  onChanged();
18247  return this;
18248  }
18249 
18250  private double minOrthogonalityForLpConstraints_ = 0.05D;
18263  @java.lang.Override
18265  return ((bitField3_ & 0x00000040) != 0);
18266  }
18279  @java.lang.Override
18281  return minOrthogonalityForLpConstraints_;
18282  }
18297  bitField3_ |= 0x00000040;
18298  minOrthogonalityForLpConstraints_ = value;
18299  onChanged();
18300  return this;
18301  }
18315  bitField3_ = (bitField3_ & ~0x00000040);
18316  minOrthogonalityForLpConstraints_ = 0.05D;
18317  onChanged();
18318  return this;
18319  }
18320 
18321  private int maxCutRoundsAtLevelZero_ = 1;
18330  @java.lang.Override
18331  public boolean hasMaxCutRoundsAtLevelZero() {
18332  return ((bitField3_ & 0x00000080) != 0);
18333  }
18342  @java.lang.Override
18344  return maxCutRoundsAtLevelZero_;
18345  }
18356  bitField3_ |= 0x00000080;
18357  maxCutRoundsAtLevelZero_ = value;
18358  onChanged();
18359  return this;
18360  }
18370  bitField3_ = (bitField3_ & ~0x00000080);
18371  maxCutRoundsAtLevelZero_ = 1;
18372  onChanged();
18373  return this;
18374  }
18375 
18376  private int maxConsecutiveInactiveCount_ = 100;
18387  @java.lang.Override
18389  return ((bitField3_ & 0x00000100) != 0);
18390  }
18401  @java.lang.Override
18403  return maxConsecutiveInactiveCount_;
18404  }
18417  bitField3_ |= 0x00000100;
18418  maxConsecutiveInactiveCount_ = value;
18419  onChanged();
18420  return this;
18421  }
18433  bitField3_ = (bitField3_ & ~0x00000100);
18434  maxConsecutiveInactiveCount_ = 100;
18435  onChanged();
18436  return this;
18437  }
18438 
18439  private double cutMaxActiveCountValue_ = 10000000000D;
18450  @java.lang.Override
18451  public boolean hasCutMaxActiveCountValue() {
18452  return ((bitField3_ & 0x00000200) != 0);
18453  }
18464  @java.lang.Override
18465  public double getCutMaxActiveCountValue() {
18466  return cutMaxActiveCountValue_;
18467  }
18479  public Builder setCutMaxActiveCountValue(double value) {
18480  bitField3_ |= 0x00000200;
18481  cutMaxActiveCountValue_ = value;
18482  onChanged();
18483  return this;
18484  }
18496  bitField3_ = (bitField3_ & ~0x00000200);
18497  cutMaxActiveCountValue_ = 10000000000D;
18498  onChanged();
18499  return this;
18500  }
18501 
18502  private double cutActiveCountDecay_ = 0.8D;
18507  @java.lang.Override
18508  public boolean hasCutActiveCountDecay() {
18509  return ((bitField3_ & 0x00000400) != 0);
18510  }
18515  @java.lang.Override
18516  public double getCutActiveCountDecay() {
18517  return cutActiveCountDecay_;
18518  }
18524  public Builder setCutActiveCountDecay(double value) {
18525  bitField3_ |= 0x00000400;
18526  cutActiveCountDecay_ = value;
18527  onChanged();
18528  return this;
18529  }
18535  bitField3_ = (bitField3_ & ~0x00000400);
18536  cutActiveCountDecay_ = 0.8D;
18537  onChanged();
18538  return this;
18539  }
18540 
18541  private int cutCleanupTarget_ = 1000;
18550  @java.lang.Override
18551  public boolean hasCutCleanupTarget() {
18552  return ((bitField3_ & 0x00000800) != 0);
18553  }
18562  @java.lang.Override
18563  public int getCutCleanupTarget() {
18564  return cutCleanupTarget_;
18565  }
18575  public Builder setCutCleanupTarget(int value) {
18576  bitField3_ |= 0x00000800;
18577  cutCleanupTarget_ = value;
18578  onChanged();
18579  return this;
18580  }
18590  bitField3_ = (bitField3_ & ~0x00000800);
18591  cutCleanupTarget_ = 1000;
18592  onChanged();
18593  return this;
18594  }
18595 
18596  private int newConstraintsBatchSize_ = 50;
18606  @java.lang.Override
18607  public boolean hasNewConstraintsBatchSize() {
18608  return ((bitField3_ & 0x00001000) != 0);
18609  }
18619  @java.lang.Override
18621  return newConstraintsBatchSize_;
18622  }
18634  bitField3_ |= 0x00001000;
18635  newConstraintsBatchSize_ = value;
18636  onChanged();
18637  return this;
18638  }
18649  bitField3_ = (bitField3_ & ~0x00001000);
18650  newConstraintsBatchSize_ = 50;
18651  onChanged();
18652  return this;
18653  }
18654 
18655  private int searchBranching_ = 0;
18660  @java.lang.Override public boolean hasSearchBranching() {
18661  return ((bitField3_ & 0x00002000) != 0);
18662  }
18667  @java.lang.Override
18668  public com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching() {
18669  @SuppressWarnings("deprecation")
18670  com.google.ortools.sat.SatParameters.SearchBranching result = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(searchBranching_);
18671  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
18672  }
18678  public Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value) {
18679  if (value == null) {
18680  throw new NullPointerException();
18681  }
18682  bitField3_ |= 0x00002000;
18683  searchBranching_ = value.getNumber();
18684  onChanged();
18685  return this;
18686  }
18692  bitField3_ = (bitField3_ & ~0x00002000);
18693  searchBranching_ = 0;
18694  onChanged();
18695  return this;
18696  }
18697 
18698  private int hintConflictLimit_ = 10;
18707  @java.lang.Override
18708  public boolean hasHintConflictLimit() {
18709  return ((bitField3_ & 0x00004000) != 0);
18710  }
18719  @java.lang.Override
18720  public int getHintConflictLimit() {
18721  return hintConflictLimit_;
18722  }
18732  public Builder setHintConflictLimit(int value) {
18733  bitField3_ |= 0x00004000;
18734  hintConflictLimit_ = value;
18735  onChanged();
18736  return this;
18737  }
18747  bitField3_ = (bitField3_ & ~0x00004000);
18748  hintConflictLimit_ = 10;
18749  onChanged();
18750  return this;
18751  }
18752 
18753  private boolean repairHint_ ;
18765  @java.lang.Override
18766  public boolean hasRepairHint() {
18767  return ((bitField3_ & 0x00008000) != 0);
18768  }
18780  @java.lang.Override
18781  public boolean getRepairHint() {
18782  return repairHint_;
18783  }
18796  public Builder setRepairHint(boolean value) {
18797  bitField3_ |= 0x00008000;
18798  repairHint_ = value;
18799  onChanged();
18800  return this;
18801  }
18814  bitField3_ = (bitField3_ & ~0x00008000);
18815  repairHint_ = false;
18816  onChanged();
18817  return this;
18818  }
18819 
18820  private boolean exploitIntegerLpSolution_ = true;
18832  @java.lang.Override
18833  public boolean hasExploitIntegerLpSolution() {
18834  return ((bitField3_ & 0x00010000) != 0);
18835  }
18847  @java.lang.Override
18848  public boolean getExploitIntegerLpSolution() {
18849  return exploitIntegerLpSolution_;
18850  }
18863  public Builder setExploitIntegerLpSolution(boolean value) {
18864  bitField3_ |= 0x00010000;
18865  exploitIntegerLpSolution_ = value;
18866  onChanged();
18867  return this;
18868  }
18881  bitField3_ = (bitField3_ & ~0x00010000);
18882  exploitIntegerLpSolution_ = true;
18883  onChanged();
18884  return this;
18885  }
18886 
18887  private boolean exploitAllLpSolution_ = true;
18898  @java.lang.Override
18899  public boolean hasExploitAllLpSolution() {
18900  return ((bitField3_ & 0x00020000) != 0);
18901  }
18912  @java.lang.Override
18913  public boolean getExploitAllLpSolution() {
18914  return exploitAllLpSolution_;
18915  }
18927  public Builder setExploitAllLpSolution(boolean value) {
18928  bitField3_ |= 0x00020000;
18929  exploitAllLpSolution_ = value;
18930  onChanged();
18931  return this;
18932  }
18944  bitField3_ = (bitField3_ & ~0x00020000);
18945  exploitAllLpSolution_ = true;
18946  onChanged();
18947  return this;
18948  }
18949 
18950  private boolean exploitBestSolution_ ;
18959  @java.lang.Override
18960  public boolean hasExploitBestSolution() {
18961  return ((bitField3_ & 0x00040000) != 0);
18962  }
18971  @java.lang.Override
18972  public boolean getExploitBestSolution() {
18973  return exploitBestSolution_;
18974  }
18984  public Builder setExploitBestSolution(boolean value) {
18985  bitField3_ |= 0x00040000;
18986  exploitBestSolution_ = value;
18987  onChanged();
18988  return this;
18989  }
18999  bitField3_ = (bitField3_ & ~0x00040000);
19000  exploitBestSolution_ = false;
19001  onChanged();
19002  return this;
19003  }
19004 
19005  private boolean exploitRelaxationSolution_ ;
19016  @java.lang.Override
19017  public boolean hasExploitRelaxationSolution() {
19018  return ((bitField3_ & 0x00080000) != 0);
19019  }
19030  @java.lang.Override
19031  public boolean getExploitRelaxationSolution() {
19032  return exploitRelaxationSolution_;
19033  }
19045  public Builder setExploitRelaxationSolution(boolean value) {
19046  bitField3_ |= 0x00080000;
19047  exploitRelaxationSolution_ = value;
19048  onChanged();
19049  return this;
19050  }
19062  bitField3_ = (bitField3_ & ~0x00080000);
19063  exploitRelaxationSolution_ = false;
19064  onChanged();
19065  return this;
19066  }
19067 
19068  private boolean exploitObjective_ = true;
19078  @java.lang.Override
19079  public boolean hasExploitObjective() {
19080  return ((bitField3_ & 0x00100000) != 0);
19081  }
19091  @java.lang.Override
19092  public boolean getExploitObjective() {
19093  return exploitObjective_;
19094  }
19105  public Builder setExploitObjective(boolean value) {
19106  bitField3_ |= 0x00100000;
19107  exploitObjective_ = value;
19108  onChanged();
19109  return this;
19110  }
19121  bitField3_ = (bitField3_ & ~0x00100000);
19122  exploitObjective_ = true;
19123  onChanged();
19124  return this;
19125  }
19126 
19127  private long probingPeriodAtRoot_ ;
19138  @java.lang.Override
19139  public boolean hasProbingPeriodAtRoot() {
19140  return ((bitField3_ & 0x00200000) != 0);
19141  }
19152  @java.lang.Override
19153  public long getProbingPeriodAtRoot() {
19154  return probingPeriodAtRoot_;
19155  }
19167  public Builder setProbingPeriodAtRoot(long value) {
19168  bitField3_ |= 0x00200000;
19169  probingPeriodAtRoot_ = value;
19170  onChanged();
19171  return this;
19172  }
19184  bitField3_ = (bitField3_ & ~0x00200000);
19185  probingPeriodAtRoot_ = 0L;
19186  onChanged();
19187  return this;
19188  }
19189 
19190  private boolean useProbingSearch_ ;
19200  @java.lang.Override
19201  public boolean hasUseProbingSearch() {
19202  return ((bitField3_ & 0x00400000) != 0);
19203  }
19213  @java.lang.Override
19214  public boolean getUseProbingSearch() {
19215  return useProbingSearch_;
19216  }
19227  public Builder setUseProbingSearch(boolean value) {
19228  bitField3_ |= 0x00400000;
19229  useProbingSearch_ = value;
19230  onChanged();
19231  return this;
19232  }
19243  bitField3_ = (bitField3_ & ~0x00400000);
19244  useProbingSearch_ = false;
19245  onChanged();
19246  return this;
19247  }
19248 
19249  private long pseudoCostReliabilityThreshold_ = 100L;
19259  @java.lang.Override
19261  return ((bitField3_ & 0x00800000) != 0);
19262  }
19272  @java.lang.Override
19274  return pseudoCostReliabilityThreshold_;
19275  }
19287  bitField3_ |= 0x00800000;
19288  pseudoCostReliabilityThreshold_ = value;
19289  onChanged();
19290  return this;
19291  }
19302  bitField3_ = (bitField3_ & ~0x00800000);
19303  pseudoCostReliabilityThreshold_ = 100L;
19304  onChanged();
19305  return this;
19306  }
19307 
19308  private boolean optimizeWithCore_ ;
19320  @java.lang.Override
19321  public boolean hasOptimizeWithCore() {
19322  return ((bitField3_ & 0x01000000) != 0);
19323  }
19335  @java.lang.Override
19336  public boolean getOptimizeWithCore() {
19337  return optimizeWithCore_;
19338  }
19351  public Builder setOptimizeWithCore(boolean value) {
19352  bitField3_ |= 0x01000000;
19353  optimizeWithCore_ = value;
19354  onChanged();
19355  return this;
19356  }
19369  bitField3_ = (bitField3_ & ~0x01000000);
19370  optimizeWithCore_ = false;
19371  onChanged();
19372  return this;
19373  }
19374 
19375  private int binarySearchNumConflicts_ = -1;
19387  @java.lang.Override
19388  public boolean hasBinarySearchNumConflicts() {
19389  return ((bitField3_ & 0x02000000) != 0);
19390  }
19402  @java.lang.Override
19404  return binarySearchNumConflicts_;
19405  }
19419  bitField3_ |= 0x02000000;
19420  binarySearchNumConflicts_ = value;
19421  onChanged();
19422  return this;
19423  }
19436  bitField3_ = (bitField3_ & ~0x02000000);
19437  binarySearchNumConflicts_ = -1;
19438  onChanged();
19439  return this;
19440  }
19441 
19442  private boolean optimizeWithMaxHs_ ;
19456  @java.lang.Override
19457  public boolean hasOptimizeWithMaxHs() {
19458  return ((bitField3_ & 0x04000000) != 0);
19459  }
19473  @java.lang.Override
19474  public boolean getOptimizeWithMaxHs() {
19475  return optimizeWithMaxHs_;
19476  }
19491  public Builder setOptimizeWithMaxHs(boolean value) {
19492  bitField3_ |= 0x04000000;
19493  optimizeWithMaxHs_ = value;
19494  onChanged();
19495  return this;
19496  }
19511  bitField3_ = (bitField3_ & ~0x04000000);
19512  optimizeWithMaxHs_ = false;
19513  onChanged();
19514  return this;
19515  }
19516 
19517  private boolean enumerateAllSolutions_ ;
19531  @java.lang.Override
19532  public boolean hasEnumerateAllSolutions() {
19533  return ((bitField3_ & 0x08000000) != 0);
19534  }
19548  @java.lang.Override
19549  public boolean getEnumerateAllSolutions() {
19550  return enumerateAllSolutions_;
19551  }
19566  public Builder setEnumerateAllSolutions(boolean value) {
19567  bitField3_ |= 0x08000000;
19568  enumerateAllSolutions_ = value;
19569  onChanged();
19570  return this;
19571  }
19586  bitField3_ = (bitField3_ & ~0x08000000);
19587  enumerateAllSolutions_ = false;
19588  onChanged();
19589  return this;
19590  }
19591 
19592  private boolean keepAllFeasibleSolutionsInPresolve_ ;
19607  @java.lang.Override
19609  return ((bitField3_ & 0x10000000) != 0);
19610  }
19625  @java.lang.Override
19627  return keepAllFeasibleSolutionsInPresolve_;
19628  }
19645  bitField3_ |= 0x10000000;
19646  keepAllFeasibleSolutionsInPresolve_ = value;
19647  onChanged();
19648  return this;
19649  }
19665  bitField3_ = (bitField3_ & ~0x10000000);
19666  keepAllFeasibleSolutionsInPresolve_ = false;
19667  onChanged();
19668  return this;
19669  }
19670 
19671  private boolean fillTightenedDomainsInResponse_ ;
19684  @java.lang.Override
19686  return ((bitField3_ & 0x20000000) != 0);
19687  }
19700  @java.lang.Override
19702  return fillTightenedDomainsInResponse_;
19703  }
19718  bitField3_ |= 0x20000000;
19719  fillTightenedDomainsInResponse_ = value;
19720  onChanged();
19721  return this;
19722  }
19736  bitField3_ = (bitField3_ & ~0x20000000);
19737  fillTightenedDomainsInResponse_ = false;
19738  onChanged();
19739  return this;
19740  }
19741 
19742  private boolean instantiateAllVariables_ = true;
19752  @java.lang.Override
19753  public boolean hasInstantiateAllVariables() {
19754  return ((bitField3_ & 0x40000000) != 0);
19755  }
19765  @java.lang.Override
19766  public boolean getInstantiateAllVariables() {
19767  return instantiateAllVariables_;
19768  }
19779  public Builder setInstantiateAllVariables(boolean value) {
19780  bitField3_ |= 0x40000000;
19781  instantiateAllVariables_ = value;
19782  onChanged();
19783  return this;
19784  }
19795  bitField3_ = (bitField3_ & ~0x40000000);
19796  instantiateAllVariables_ = true;
19797  onChanged();
19798  return this;
19799  }
19800 
19801  private boolean autoDetectGreaterThanAtLeastOneOf_ = true;
19813  @java.lang.Override
19815  return ((bitField3_ & 0x80000000) != 0);
19816  }
19828  @java.lang.Override
19830  return autoDetectGreaterThanAtLeastOneOf_;
19831  }
19845  bitField3_ |= 0x80000000;
19846  autoDetectGreaterThanAtLeastOneOf_ = value;
19847  onChanged();
19848  return this;
19849  }
19862  bitField3_ = (bitField3_ & ~0x80000000);
19863  autoDetectGreaterThanAtLeastOneOf_ = true;
19864  onChanged();
19865  return this;
19866  }
19867 
19868  private boolean stopAfterFirstSolution_ ;
19877  @java.lang.Override
19878  public boolean hasStopAfterFirstSolution() {
19879  return ((bitField4_ & 0x00000001) != 0);
19880  }
19889  @java.lang.Override
19890  public boolean getStopAfterFirstSolution() {
19891  return stopAfterFirstSolution_;
19892  }
19902  public Builder setStopAfterFirstSolution(boolean value) {
19903  bitField4_ |= 0x00000001;
19904  stopAfterFirstSolution_ = value;
19905  onChanged();
19906  return this;
19907  }
19917  bitField4_ = (bitField4_ & ~0x00000001);
19918  stopAfterFirstSolution_ = false;
19919  onChanged();
19920  return this;
19921  }
19922 
19923  private boolean stopAfterPresolve_ ;
19933  @java.lang.Override
19934  public boolean hasStopAfterPresolve() {
19935  return ((bitField4_ & 0x00000002) != 0);
19936  }
19946  @java.lang.Override
19947  public boolean getStopAfterPresolve() {
19948  return stopAfterPresolve_;
19949  }
19960  public Builder setStopAfterPresolve(boolean value) {
19961  bitField4_ |= 0x00000002;
19962  stopAfterPresolve_ = value;
19963  onChanged();
19964  return this;
19965  }
19976  bitField4_ = (bitField4_ & ~0x00000002);
19977  stopAfterPresolve_ = false;
19978  onChanged();
19979  return this;
19980  }
19981 
19982  private int numSearchWorkers_ = 1;
19996  @java.lang.Override
19997  public boolean hasNumSearchWorkers() {
19998  return ((bitField4_ & 0x00000004) != 0);
19999  }
20013  @java.lang.Override
20014  public int getNumSearchWorkers() {
20015  return numSearchWorkers_;
20016  }
20031  public Builder setNumSearchWorkers(int value) {
20032  bitField4_ |= 0x00000004;
20033  numSearchWorkers_ = value;
20034  onChanged();
20035  return this;
20036  }
20051  bitField4_ = (bitField4_ & ~0x00000004);
20052  numSearchWorkers_ = 1;
20053  onChanged();
20054  return this;
20055  }
20056 
20057  private boolean interleaveSearch_ ;
20070  @java.lang.Override
20071  public boolean hasInterleaveSearch() {
20072  return ((bitField4_ & 0x00000008) != 0);
20073  }
20086  @java.lang.Override
20087  public boolean getInterleaveSearch() {
20088  return interleaveSearch_;
20089  }
20103  public Builder setInterleaveSearch(boolean value) {
20104  bitField4_ |= 0x00000008;
20105  interleaveSearch_ = value;
20106  onChanged();
20107  return this;
20108  }
20122  bitField4_ = (bitField4_ & ~0x00000008);
20123  interleaveSearch_ = false;
20124  onChanged();
20125  return this;
20126  }
20127 
20128  private int interleaveBatchSize_ = 1;
20133  @java.lang.Override
20134  public boolean hasInterleaveBatchSize() {
20135  return ((bitField4_ & 0x00000010) != 0);
20136  }
20141  @java.lang.Override
20142  public int getInterleaveBatchSize() {
20143  return interleaveBatchSize_;
20144  }
20150  public Builder setInterleaveBatchSize(int value) {
20151  bitField4_ |= 0x00000010;
20152  interleaveBatchSize_ = value;
20153  onChanged();
20154  return this;
20155  }
20161  bitField4_ = (bitField4_ & ~0x00000010);
20162  interleaveBatchSize_ = 1;
20163  onChanged();
20164  return this;
20165  }
20166 
20167  private boolean reduceMemoryUsageInInterleaveMode_ ;
20176  @java.lang.Override
20178  return ((bitField4_ & 0x00000020) != 0);
20179  }
20188  @java.lang.Override
20190  return reduceMemoryUsageInInterleaveMode_;
20191  }
20202  bitField4_ |= 0x00000020;
20203  reduceMemoryUsageInInterleaveMode_ = value;
20204  onChanged();
20205  return this;
20206  }
20216  bitField4_ = (bitField4_ & ~0x00000020);
20217  reduceMemoryUsageInInterleaveMode_ = false;
20218  onChanged();
20219  return this;
20220  }
20221 
20222  private boolean shareObjectiveBounds_ = true;
20231  @java.lang.Override
20232  public boolean hasShareObjectiveBounds() {
20233  return ((bitField4_ & 0x00000040) != 0);
20234  }
20243  @java.lang.Override
20244  public boolean getShareObjectiveBounds() {
20245  return shareObjectiveBounds_;
20246  }
20256  public Builder setShareObjectiveBounds(boolean value) {
20257  bitField4_ |= 0x00000040;
20258  shareObjectiveBounds_ = value;
20259  onChanged();
20260  return this;
20261  }
20271  bitField4_ = (bitField4_ & ~0x00000040);
20272  shareObjectiveBounds_ = true;
20273  onChanged();
20274  return this;
20275  }
20276 
20277  private boolean shareLevelZeroBounds_ = true;
20286  @java.lang.Override
20287  public boolean hasShareLevelZeroBounds() {
20288  return ((bitField4_ & 0x00000080) != 0);
20289  }
20298  @java.lang.Override
20299  public boolean getShareLevelZeroBounds() {
20300  return shareLevelZeroBounds_;
20301  }
20311  public Builder setShareLevelZeroBounds(boolean value) {
20312  bitField4_ |= 0x00000080;
20313  shareLevelZeroBounds_ = value;
20314  onChanged();
20315  return this;
20316  }
20326  bitField4_ = (bitField4_ & ~0x00000080);
20327  shareLevelZeroBounds_ = true;
20328  onChanged();
20329  return this;
20330  }
20331 
20332  private boolean useLnsOnly_ ;
20341  @java.lang.Override
20342  public boolean hasUseLnsOnly() {
20343  return ((bitField4_ & 0x00000100) != 0);
20344  }
20353  @java.lang.Override
20354  public boolean getUseLnsOnly() {
20355  return useLnsOnly_;
20356  }
20366  public Builder setUseLnsOnly(boolean value) {
20367  bitField4_ |= 0x00000100;
20368  useLnsOnly_ = value;
20369  onChanged();
20370  return this;
20371  }
20381  bitField4_ = (bitField4_ & ~0x00000100);
20382  useLnsOnly_ = false;
20383  onChanged();
20384  return this;
20385  }
20386 
20387  private boolean lnsFocusOnDecisionVariables_ ;
20392  @java.lang.Override
20394  return ((bitField4_ & 0x00000200) != 0);
20395  }
20400  @java.lang.Override
20402  return lnsFocusOnDecisionVariables_;
20403  }
20409  public Builder setLnsFocusOnDecisionVariables(boolean value) {
20410  bitField4_ |= 0x00000200;
20411  lnsFocusOnDecisionVariables_ = value;
20412  onChanged();
20413  return this;
20414  }
20420  bitField4_ = (bitField4_ & ~0x00000200);
20421  lnsFocusOnDecisionVariables_ = false;
20422  onChanged();
20423  return this;
20424  }
20425 
20426  private boolean lnsExpandIntervalsInConstraintGraph_ = true;
20431  @java.lang.Override
20433  return ((bitField4_ & 0x00000400) != 0);
20434  }
20439  @java.lang.Override
20441  return lnsExpandIntervalsInConstraintGraph_;
20442  }
20449  bitField4_ |= 0x00000400;
20450  lnsExpandIntervalsInConstraintGraph_ = value;
20451  onChanged();
20452  return this;
20453  }
20459  bitField4_ = (bitField4_ & ~0x00000400);
20460  lnsExpandIntervalsInConstraintGraph_ = true;
20461  onChanged();
20462  return this;
20463  }
20464 
20465  private boolean useRinsLns_ = true;
20474  @java.lang.Override
20475  public boolean hasUseRinsLns() {
20476  return ((bitField4_ & 0x00000800) != 0);
20477  }
20486  @java.lang.Override
20487  public boolean getUseRinsLns() {
20488  return useRinsLns_;
20489  }
20499  public Builder setUseRinsLns(boolean value) {
20500  bitField4_ |= 0x00000800;
20501  useRinsLns_ = value;
20502  onChanged();
20503  return this;
20504  }
20514  bitField4_ = (bitField4_ & ~0x00000800);
20515  useRinsLns_ = true;
20516  onChanged();
20517  return this;
20518  }
20519 
20520  private boolean useFeasibilityPump_ = true;
20529  @java.lang.Override
20530  public boolean hasUseFeasibilityPump() {
20531  return ((bitField4_ & 0x00001000) != 0);
20532  }
20541  @java.lang.Override
20542  public boolean getUseFeasibilityPump() {
20543  return useFeasibilityPump_;
20544  }
20554  public Builder setUseFeasibilityPump(boolean value) {
20555  bitField4_ |= 0x00001000;
20556  useFeasibilityPump_ = value;
20557  onChanged();
20558  return this;
20559  }
20569  bitField4_ = (bitField4_ & ~0x00001000);
20570  useFeasibilityPump_ = true;
20571  onChanged();
20572  return this;
20573  }
20574 
20575  private int fpRounding_ = 2;
20580  @java.lang.Override public boolean hasFpRounding() {
20581  return ((bitField4_ & 0x00002000) != 0);
20582  }
20587  @java.lang.Override
20588  public com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding() {
20589  @SuppressWarnings("deprecation")
20590  com.google.ortools.sat.SatParameters.FPRoundingMethod result = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(fpRounding_);
20591  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
20592  }
20598  public Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value) {
20599  if (value == null) {
20600  throw new NullPointerException();
20601  }
20602  bitField4_ |= 0x00002000;
20603  fpRounding_ = value.getNumber();
20604  onChanged();
20605  return this;
20606  }
20612  bitField4_ = (bitField4_ & ~0x00002000);
20613  fpRounding_ = 2;
20614  onChanged();
20615  return this;
20616  }
20617 
20618  private boolean useRelaxationLns_ ;
20628  @java.lang.Override
20629  public boolean hasUseRelaxationLns() {
20630  return ((bitField4_ & 0x00004000) != 0);
20631  }
20641  @java.lang.Override
20642  public boolean getUseRelaxationLns() {
20643  return useRelaxationLns_;
20644  }
20655  public Builder setUseRelaxationLns(boolean value) {
20656  bitField4_ |= 0x00004000;
20657  useRelaxationLns_ = value;
20658  onChanged();
20659  return this;
20660  }
20671  bitField4_ = (bitField4_ & ~0x00004000);
20672  useRelaxationLns_ = false;
20673  onChanged();
20674  return this;
20675  }
20676 
20677  private boolean diversifyLnsParams_ ;
20686  @java.lang.Override
20687  public boolean hasDiversifyLnsParams() {
20688  return ((bitField4_ & 0x00008000) != 0);
20689  }
20698  @java.lang.Override
20699  public boolean getDiversifyLnsParams() {
20700  return diversifyLnsParams_;
20701  }
20711  public Builder setDiversifyLnsParams(boolean value) {
20712  bitField4_ |= 0x00008000;
20713  diversifyLnsParams_ = value;
20714  onChanged();
20715  return this;
20716  }
20726  bitField4_ = (bitField4_ & ~0x00008000);
20727  diversifyLnsParams_ = false;
20728  onChanged();
20729  return this;
20730  }
20731 
20732  private boolean randomizeSearch_ ;
20741  @java.lang.Override
20742  public boolean hasRandomizeSearch() {
20743  return ((bitField4_ & 0x00010000) != 0);
20744  }
20753  @java.lang.Override
20754  public boolean getRandomizeSearch() {
20755  return randomizeSearch_;
20756  }
20766  public Builder setRandomizeSearch(boolean value) {
20767  bitField4_ |= 0x00010000;
20768  randomizeSearch_ = value;
20769  onChanged();
20770  return this;
20771  }
20781  bitField4_ = (bitField4_ & ~0x00010000);
20782  randomizeSearch_ = false;
20783  onChanged();
20784  return this;
20785  }
20786 
20787  private long searchRandomizationTolerance_ ;
20802  @java.lang.Override
20804  return ((bitField4_ & 0x00020000) != 0);
20805  }
20820  @java.lang.Override
20822  return searchRandomizationTolerance_;
20823  }
20840  bitField4_ |= 0x00020000;
20841  searchRandomizationTolerance_ = value;
20842  onChanged();
20843  return this;
20844  }
20860  bitField4_ = (bitField4_ & ~0x00020000);
20861  searchRandomizationTolerance_ = 0L;
20862  onChanged();
20863  return this;
20864  }
20865 
20866  private boolean useOptionalVariables_ = true;
20877  @java.lang.Override
20878  public boolean hasUseOptionalVariables() {
20879  return ((bitField4_ & 0x00040000) != 0);
20880  }
20891  @java.lang.Override
20892  public boolean getUseOptionalVariables() {
20893  return useOptionalVariables_;
20894  }
20906  public Builder setUseOptionalVariables(boolean value) {
20907  bitField4_ |= 0x00040000;
20908  useOptionalVariables_ = value;
20909  onChanged();
20910  return this;
20911  }
20923  bitField4_ = (bitField4_ & ~0x00040000);
20924  useOptionalVariables_ = true;
20925  onChanged();
20926  return this;
20927  }
20928 
20929  private boolean useExactLpReason_ = true;
20941  @java.lang.Override
20942  public boolean hasUseExactLpReason() {
20943  return ((bitField4_ & 0x00080000) != 0);
20944  }
20956  @java.lang.Override
20957  public boolean getUseExactLpReason() {
20958  return useExactLpReason_;
20959  }
20972  public Builder setUseExactLpReason(boolean value) {
20973  bitField4_ |= 0x00080000;
20974  useExactLpReason_ = value;
20975  onChanged();
20976  return this;
20977  }
20990  bitField4_ = (bitField4_ & ~0x00080000);
20991  useExactLpReason_ = true;
20992  onChanged();
20993  return this;
20994  }
20995 
20996  private boolean useBranchingInLp_ ;
21007  @java.lang.Override
21008  public boolean hasUseBranchingInLp() {
21009  return ((bitField4_ & 0x00100000) != 0);
21010  }
21021  @java.lang.Override
21022  public boolean getUseBranchingInLp() {
21023  return useBranchingInLp_;
21024  }
21036  public Builder setUseBranchingInLp(boolean value) {
21037  bitField4_ |= 0x00100000;
21038  useBranchingInLp_ = value;
21039  onChanged();
21040  return this;
21041  }
21053  bitField4_ = (bitField4_ & ~0x00100000);
21054  useBranchingInLp_ = false;
21055  onChanged();
21056  return this;
21057  }
21058 
21059  private boolean useCombinedNoOverlap_ ;
21070  @java.lang.Override
21071  public boolean hasUseCombinedNoOverlap() {
21072  return ((bitField4_ & 0x00200000) != 0);
21073  }
21084  @java.lang.Override
21085  public boolean getUseCombinedNoOverlap() {
21086  return useCombinedNoOverlap_;
21087  }
21099  public Builder setUseCombinedNoOverlap(boolean value) {
21100  bitField4_ |= 0x00200000;
21101  useCombinedNoOverlap_ = value;
21102  onChanged();
21103  return this;
21104  }
21116  bitField4_ = (bitField4_ & ~0x00200000);
21117  useCombinedNoOverlap_ = false;
21118  onChanged();
21119  return this;
21120  }
21121 
21122  private boolean catchSigintSignal_ = true;
21133  @java.lang.Override
21134  public boolean hasCatchSigintSignal() {
21135  return ((bitField4_ & 0x00400000) != 0);
21136  }
21147  @java.lang.Override
21148  public boolean getCatchSigintSignal() {
21149  return catchSigintSignal_;
21150  }
21162  public Builder setCatchSigintSignal(boolean value) {
21163  bitField4_ |= 0x00400000;
21164  catchSigintSignal_ = value;
21165  onChanged();
21166  return this;
21167  }
21179  bitField4_ = (bitField4_ & ~0x00400000);
21180  catchSigintSignal_ = true;
21181  onChanged();
21182  return this;
21183  }
21184 
21185  private boolean useImpliedBounds_ = true;
21196  @java.lang.Override
21197  public boolean hasUseImpliedBounds() {
21198  return ((bitField4_ & 0x00800000) != 0);
21199  }
21210  @java.lang.Override
21211  public boolean getUseImpliedBounds() {
21212  return useImpliedBounds_;
21213  }
21225  public Builder setUseImpliedBounds(boolean value) {
21226  bitField4_ |= 0x00800000;
21227  useImpliedBounds_ = value;
21228  onChanged();
21229  return this;
21230  }
21242  bitField4_ = (bitField4_ & ~0x00800000);
21243  useImpliedBounds_ = true;
21244  onChanged();
21245  return this;
21246  }
21247 
21248  private boolean polishLpSolution_ ;
21260  @java.lang.Override
21261  public boolean hasPolishLpSolution() {
21262  return ((bitField4_ & 0x01000000) != 0);
21263  }
21275  @java.lang.Override
21276  public boolean getPolishLpSolution() {
21277  return polishLpSolution_;
21278  }
21291  public Builder setPolishLpSolution(boolean value) {
21292  bitField4_ |= 0x01000000;
21293  polishLpSolution_ = value;
21294  onChanged();
21295  return this;
21296  }
21309  bitField4_ = (bitField4_ & ~0x01000000);
21310  polishLpSolution_ = false;
21311  onChanged();
21312  return this;
21313  }
21314 
21315  private boolean convertIntervals_ ;
21326  @java.lang.Override
21327  public boolean hasConvertIntervals() {
21328  return ((bitField4_ & 0x02000000) != 0);
21329  }
21340  @java.lang.Override
21341  public boolean getConvertIntervals() {
21342  return convertIntervals_;
21343  }
21355  public Builder setConvertIntervals(boolean value) {
21356  bitField4_ |= 0x02000000;
21357  convertIntervals_ = value;
21358  onChanged();
21359  return this;
21360  }
21372  bitField4_ = (bitField4_ & ~0x02000000);
21373  convertIntervals_ = false;
21374  onChanged();
21375  return this;
21376  }
21377 
21378  private int symmetryLevel_ = 2;
21390  @java.lang.Override
21391  public boolean hasSymmetryLevel() {
21392  return ((bitField4_ & 0x04000000) != 0);
21393  }
21405  @java.lang.Override
21406  public int getSymmetryLevel() {
21407  return symmetryLevel_;
21408  }
21421  public Builder setSymmetryLevel(int value) {
21422  bitField4_ |= 0x04000000;
21423  symmetryLevel_ = value;
21424  onChanged();
21425  return this;
21426  }
21439  bitField4_ = (bitField4_ & ~0x04000000);
21440  symmetryLevel_ = 2;
21441  onChanged();
21442  return this;
21443  }
21444 
21445  private double mipMaxBound_ = 10000000D;
21456  @java.lang.Override
21457  public boolean hasMipMaxBound() {
21458  return ((bitField4_ & 0x08000000) != 0);
21459  }
21470  @java.lang.Override
21471  public double getMipMaxBound() {
21472  return mipMaxBound_;
21473  }
21485  public Builder setMipMaxBound(double value) {
21486  bitField4_ |= 0x08000000;
21487  mipMaxBound_ = value;
21488  onChanged();
21489  return this;
21490  }
21502  bitField4_ = (bitField4_ & ~0x08000000);
21503  mipMaxBound_ = 10000000D;
21504  onChanged();
21505  return this;
21506  }
21507 
21508  private double mipVarScaling_ = 1D;
21519  @java.lang.Override
21520  public boolean hasMipVarScaling() {
21521  return ((bitField4_ & 0x10000000) != 0);
21522  }
21533  @java.lang.Override
21534  public double getMipVarScaling() {
21535  return mipVarScaling_;
21536  }
21548  public Builder setMipVarScaling(double value) {
21549  bitField4_ |= 0x10000000;
21550  mipVarScaling_ = value;
21551  onChanged();
21552  return this;
21553  }
21565  bitField4_ = (bitField4_ & ~0x10000000);
21566  mipVarScaling_ = 1D;
21567  onChanged();
21568  return this;
21569  }
21570 
21571  private boolean mipAutomaticallyScaleVariables_ = true;
21584  @java.lang.Override
21586  return ((bitField4_ & 0x20000000) != 0);
21587  }
21600  @java.lang.Override
21602  return mipAutomaticallyScaleVariables_;
21603  }
21618  bitField4_ |= 0x20000000;
21619  mipAutomaticallyScaleVariables_ = value;
21620  onChanged();
21621  return this;
21622  }
21636  bitField4_ = (bitField4_ & ~0x20000000);
21637  mipAutomaticallyScaleVariables_ = true;
21638  onChanged();
21639  return this;
21640  }
21641 
21642  private double mipWantedPrecision_ = 1e-06D;
21660  @java.lang.Override
21661  public boolean hasMipWantedPrecision() {
21662  return ((bitField4_ & 0x40000000) != 0);
21663  }
21681  @java.lang.Override
21682  public double getMipWantedPrecision() {
21683  return mipWantedPrecision_;
21684  }
21703  public Builder setMipWantedPrecision(double value) {
21704  bitField4_ |= 0x40000000;
21705  mipWantedPrecision_ = value;
21706  onChanged();
21707  return this;
21708  }
21727  bitField4_ = (bitField4_ & ~0x40000000);
21728  mipWantedPrecision_ = 1e-06D;
21729  onChanged();
21730  return this;
21731  }
21732 
21733  private int mipMaxActivityExponent_ = 53;
21748  @java.lang.Override
21749  public boolean hasMipMaxActivityExponent() {
21750  return ((bitField4_ & 0x80000000) != 0);
21751  }
21766  @java.lang.Override
21768  return mipMaxActivityExponent_;
21769  }
21786  bitField4_ |= 0x80000000;
21787  mipMaxActivityExponent_ = value;
21788  onChanged();
21789  return this;
21790  }
21806  bitField4_ = (bitField4_ & ~0x80000000);
21807  mipMaxActivityExponent_ = 53;
21808  onChanged();
21809  return this;
21810  }
21811 
21812  private double mipCheckPrecision_ = 0.0001D;
21823  @java.lang.Override
21824  public boolean hasMipCheckPrecision() {
21825  return ((bitField5_ & 0x00000001) != 0);
21826  }
21837  @java.lang.Override
21838  public double getMipCheckPrecision() {
21839  return mipCheckPrecision_;
21840  }
21852  public Builder setMipCheckPrecision(double value) {
21853  bitField5_ |= 0x00000001;
21854  mipCheckPrecision_ = value;
21855  onChanged();
21856  return this;
21857  }
21869  bitField5_ = (bitField5_ & ~0x00000001);
21870  mipCheckPrecision_ = 0.0001D;
21871  onChanged();
21872  return this;
21873  }
21874  @java.lang.Override
21876  final com.google.protobuf.UnknownFieldSet unknownFields) {
21877  return super.setUnknownFields(unknownFields);
21878  }
21879 
21880  @java.lang.Override
21882  final com.google.protobuf.UnknownFieldSet unknownFields) {
21883  return super.mergeUnknownFields(unknownFields);
21884  }
21885 
21886 
21887  // @@protoc_insertion_point(builder_scope:operations_research.sat.SatParameters)
21888  }
21889 
21890  // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
21891  private static final com.google.ortools.sat.SatParameters DEFAULT_INSTANCE;
21892  static {
21893  DEFAULT_INSTANCE = new com.google.ortools.sat.SatParameters();
21894  }
21895 
21896  public static com.google.ortools.sat.SatParameters getDefaultInstance() {
21897  return DEFAULT_INSTANCE;
21898  }
21899 
21900  @java.lang.Deprecated public static final com.google.protobuf.Parser<SatParameters>
21901  PARSER = new com.google.protobuf.AbstractParser<SatParameters>() {
21902  @java.lang.Override
21903  public SatParameters parsePartialFrom(
21904  com.google.protobuf.CodedInputStream input,
21905  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
21906  throws com.google.protobuf.InvalidProtocolBufferException {
21907  return new SatParameters(input, extensionRegistry);
21908  }
21909  };
21910 
21911  public static com.google.protobuf.Parser<SatParameters> parser() {
21912  return PARSER;
21913  }
21914 
21915  @java.lang.Override
21916  public com.google.protobuf.Parser<SatParameters> getParserForType() {
21917  return PARSER;
21918  }
21919 
21920  @java.lang.Override
21921  public com.google.ortools.sat.SatParameters getDefaultInstanceForType() {
21922  return DEFAULT_INSTANCE;
21923  }
21924 
21925 }
21926 
Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value)
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder setSubsumptionDuringConflictAnalysis(boolean value)
Builder setRelativeGapLimit(double value)
optional double relative_gap_limit = 160 [default = 0];
Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value)
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean getCountAssumptionLevelsInLbd()
Builder setRestartLbdAverageRatio(double value)
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
.lang.Override boolean hasExpandAlldiffConstraints()
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
Builder setBlockingRestartMultiplier(double value)
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder setLnsFocusOnDecisionVariables(boolean value)
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasExpandElementConstraints()
Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value)
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder addAllRestartAlgorithms(java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm > values)
.lang.Override com.google.ortools.sat.SatParameters buildPartial()
Builder clearPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
Builder setRestartAlgorithms(int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value)
.lang.Override boolean hasSearchRandomizationTolerance()
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasMaxConsecutiveInactiveCount()
.lang.Override boolean hasExpandAutomatonConstraints()
Builder clearUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean getMinimizeReductionDuringPbResolution()
.lang.Override double getStrategyChangeIncreaseRatio()
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean getDisableConstraintExpansion()
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
Builder setGlucoseDecayIncrement(double value)
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
Builder setUseTimetableEdgeFindingInCumulativeConstraint(boolean value)
Builder setLnsExpandIntervalsInConstraintGraph(boolean value)
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasMaxIntegerRoundingScaling()
Builder clearSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
Builder clearBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
Builder setName(java.lang.String value)
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
Builder clearLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
Builder setPermutePresolveConstraintOrder(boolean value)
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
.lang.Override boolean getLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
Builder setMinimizeWithPropagationNumDecisions(int value)
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setMergeAtMostOneWorkLimit(double value)
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setNameBytes(com.google.protobuf.ByteString value)
.lang.Override boolean getExpandAlldiffConstraints()
Builder clearMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasExploitIntegerLpSolution()
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasExploitRelaxationSolution()
Builder setAutoDetectGreaterThanAtLeastOneOf(boolean value)
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
Builder clearMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setInterleaveBatchSize(int value)
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasPolarityRephaseIncrement()
Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value)
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean hasBinarySearchNumConflicts()
.lang.Override boolean getExpandAutomatonConstraints()
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
Builder setPbCleanupRatio(double value)
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getExpandReservoirConstraints()
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder setUseSatInprocessing(boolean value)
optional bool use_sat_inprocessing = 163 [default = false];
Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value)
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder setBlockingRestartWindowSize(int value)
optional int32 blocking_restart_window_size = 65 [default = 5000];
com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder clearClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder clearLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder mergeFrom(com.google.ortools.sat.SatParameters other)
Builder setUseOverloadCheckerInCumulativeConstraint(boolean value)
.lang.Override boolean hasPseudoCostReliabilityThreshold()
java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasInitialVariablesActivity()
Builder clearMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder setUseDisjunctiveConstraintInCumulativeConstraint(boolean value)
.lang.Override boolean getCpModelPostsolveWithFullSolver()
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getMipAutomaticallyScaleVariables()
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
.lang.Override boolean getExpandElementConstraints()
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
Builder clearMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasCountAssumptionLevelsInLbd()
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder clearFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder setGlucoseDecayIncrementPeriod(int value)
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override final boolean isInitialized()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
Builder clearGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder setMinimizeReductionDuringPbResolution(boolean value)
.lang.Override double getPresolveProbingDeterministicTimeLimit()
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
Builder setDefaultRestartAlgorithmsBytes(com.google.protobuf.ByteString value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder clearPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasDisableConstraintExpansion()
Builder clearMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder clearGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
Builder setUseAbslRandom(boolean value)
optional bool use_absl_random = 180 [default = false];
Builder setUsePrecedencesInDisjunctiveConstraint(boolean value)
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getPresolveExtractIntegerEnforcement()
Builder setMaxClauseActivityValue(double value)
optional double max_clause_activity_value = 18 [default = 1e+20];
Builder setFillTightenedDomainsInResponse(boolean value)
Builder clearClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder setPresolveProbingDeterministicTimeLimit(double value)
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
Builder clearRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override boolean hasPresolveSubstitutionLevel()
Builder clearBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
Builder clearDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder clearUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override double getMinOrthogonalityForLpConstraints()
.lang.Override boolean hasRestartRunningWindowSize()
.lang.Override boolean hasExpandReservoirConstraints()
.lang.Override boolean hasStrategyChangeIncreaseRatio()
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
.lang.Override boolean getFillTightenedDomainsInResponse()
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setKeepAllFeasibleSolutionsInPresolve(boolean value)
Builder clearInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder setCpModelPostsolveWithFullSolver(boolean value)
Builder clearPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setMaxVariableActivityValue(double value)
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override com.google.ortools.sat.SatParameters build()
Builder clearMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value)
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value)
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value)
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder setDefaultRestartAlgorithms(java.lang.String value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value)
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value)
Builder setCutActiveCountDecay(double value)
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override int getMinimizeWithPropagationRestartPeriod()
boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder clearRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value)
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder setReduceMemoryUsageInInterleaveMode(boolean value)
com.google.protobuf.ByteString getNameBytes()
.lang.Override boolean getMaxSatReverseAssumptionOrder()
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder clearMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
Builder setMipAutomaticallyScaleVariables(boolean value)
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override boolean hasPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
Builder setAlsoBumpVariablesInConflictReasons(boolean value)
.lang.Override boolean hasMipAutomaticallyScaleVariables()
Builder setPresolveExtractIntegerEnforcement(boolean value)
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder clearBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER
static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER
static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER
.lang.Override int getNumConflictsBeforeStrategyChanges()
.lang.Override boolean hasExploitAllLpSolution()
.lang.Override boolean getCountAssumptionLevelsInLbd()
static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER
.lang.Override boolean hasMipCheckPrecision()
static final int USE_TIMETABLE_EDGE_FINDING_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER
.lang.Override boolean hasRepairHint()
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override boolean getAddCliqueCuts()
static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasCatchSigintSignal()
static final int LNS_EXPAND_INTERVALS_IN_CONSTRAINT_GRAPH_FIELD_NUMBER
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
.lang.Override boolean hasUseProbingSearch()
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean hasRandomPolarityRatio()
static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER
static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER
.lang.Override boolean getPresolveUseBva()
static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER
.lang.Override boolean hasExpandAlldiffConstraints()
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER
.lang.Override boolean hasExpandElementConstraints()
static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasPresolveBveClauseWeight()
.lang.Override boolean hasPresolveBlockedClause()
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasSearchRandomizationTolerance()
.lang.Override boolean hasAddLpConstraintsLazily()
.lang.Override boolean hasMipVarScaling()
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasMaxConsecutiveInactiveCount()
.lang.Override boolean hasExpandAutomatonConstraints()
.lang.Override boolean hasMaxDeterministicTime()
.lang.Override boolean hasFindMultipleCores()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasUseCombinedNoOverlap()
.lang.Override boolean hasRandomSeed()
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean getMinimizeReductionDuringPbResolution()
.lang.Override int getCpModelProbingLevel()
.lang.Override double getRandomPolarityRatio()
.lang.Override double getStrategyChangeIncreaseRatio()
.lang.Override boolean hasCoverOptimization()
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean getDisableConstraintExpansion()
.lang.Override boolean getUseRelaxationLns()
static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER
.lang.Override boolean hasUseLnsOnly()
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override boolean hasRestartPeriod()
.lang.Override boolean hasExploitObjective()
.lang.Override boolean hasPermuteVariableRandomly()
.lang.Override com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean hasInstantiateAllVariables()
static final int MINIMIZE_WITH_PROPAGATION_RESTART_PERIOD_FIELD_NUMBER
.lang.Override boolean hasUseFeasibilityPump()
static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER
.lang.Override int getMipMaxActivityExponent()
.lang.Override boolean getEnumerateAllSolutions()
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override int getRestartAlgorithmsCount()
.lang.Override boolean hasCutCleanupTarget()
.lang.Override boolean getPermutePresolveConstraintOrder()
optional bool permute_presolve_constraint_order = 179 [default = false];
.lang.Override int getMaxPresolveIterations()
.lang.Override boolean hasRandomizeSearch()
.lang.Override boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasExploitBestSolution()
static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
.lang.Override int getLinearizationLevel()
static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER
static final int SUBSUMPTION_DURING_CONFLICT_ANALYSIS_FIELD_NUMBER
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasMaxIntegerRoundingScaling()
.lang.Override boolean getUseRinsLns()
.lang.Override boolean hasClauseActivityDecay()
static final int MIP_WANTED_PRECISION_FIELD_NUMBER
.lang.Override boolean hasMipMaxActivityExponent()
.lang.Override boolean hasShareObjectiveBounds()
.lang.Override boolean getCpModelUseSatPresolve()
.lang.Override boolean hasSymmetryLevel()
.lang.Override double getMipWantedPrecision()
.lang.Override boolean hasMaxPresolveIterations()
.lang.Override boolean hasMaxNumberOfConflicts()
.lang.Override boolean hasClauseCleanupTarget()
.lang.Override boolean hasAddMirCuts()
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
static final int ALSO_BUMP_VARIABLES_IN_CONFLICT_REASONS_FIELD_NUMBER
static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean getMinimizeCore()
.lang.Override double getMergeNoOverlapWorkLimit()
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER
.lang.Override boolean hasConvertIntervals()
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasMergeNoOverlapWorkLimit()
.lang.Override boolean getLogSearchProgress()
static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override int getNewConstraintsBatchSize()
static Builder newBuilder(com.google.ortools.sat.SatParameters prototype)
.lang.Override boolean getLnsExpandIntervalsInConstraintGraph()
optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
.lang.Override boolean hasPbCleanupIncrement()
.lang.Override boolean hasOptimizeWithMaxHs()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input)
.lang.Override boolean hasVariableActivityDecay()
static final int AUTO_DETECT_GREATER_THAN_AT_LEAST_ONE_OF_FIELD_NUMBER
.lang.Override boolean hasMipWantedPrecision()
.lang.Override boolean hasClauseCleanupLbdBound()
static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean getInstantiateAllVariables()
.lang.Override boolean getUseProbingSearch()
.lang.Override double getMaxDeterministicTime()
.lang.Override boolean getExpandAlldiffConstraints()
.lang.Override boolean hasExploitIntegerLpSolution()
static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER
.lang.Override boolean getShareLevelZeroBounds()
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER
.lang.Override boolean getOptimizeWithCore()
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasClauseCleanupPeriod()
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
.lang.Override boolean hasAddZeroHalfCuts()
static com.google.ortools.sat.SatParameters getDefaultInstance()
static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
.lang.Override boolean hasExploitRelaxationSolution()
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
static final int USE_DISJUNCTIVE_CONSTRAINT_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override java.lang.String getName()
static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER
.lang.Override boolean getShareObjectiveBounds()
static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER
.lang.Override boolean hasUsePbResolution()
static final int NUM_CONFLICTS_BEFORE_STRATEGY_CHANGES_FIELD_NUMBER
static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER
.lang.Override boolean hasUseOptionalVariables()
static final int PRESOLVE_PROBING_DETERMINISTIC_TIME_LIMIT_FIELD_NUMBER
static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasAddCliqueCuts()
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasPolarityRephaseIncrement()
.lang.Override boolean hasUseErwaHeuristic()
static final int PRESOLVE_EXTRACT_INTEGER_ENFORCEMENT_FIELD_NUMBER
static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER
.lang.Override int getPolarityRephaseIncrement()
.lang.Override boolean hasNewConstraintsBatchSize()
static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER
static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER
.lang.Override boolean getInterleaveSearch()
.lang.Override boolean hasOnlyAddCutsAtLevelZero()
.lang.Override double getRandomBranchesRatio()
.lang.Override boolean hasBinarySearchNumConflicts()
.lang.Override boolean getExpandAutomatonConstraints()
.lang.Override boolean hasShareLevelZeroBounds()
static final int MIN_ORTHOGONALITY_FOR_LP_CONSTRAINTS_FIELD_NUMBER
static final int PERMUTE_PRESOLVE_CONSTRAINT_ORDER_FIELD_NUMBER
.lang.Override boolean getOnlyAddCutsAtLevelZero()
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean getRepairHint()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
static final int USE_SAT_INPROCESSING_FIELD_NUMBER
.lang.Override boolean getExpandReservoirConstraints()
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override double getCutMaxActiveCountValue()
.lang.Override double getRestartDlAverageRatio()
static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER
static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER
.lang.Override int getRestartRunningWindowSize()
.lang.Override boolean hasMaxAllDiffCutSize()
.lang.Override boolean hasMaxNumCuts()
static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER
.lang.Override boolean hasUsePhaseSaving()
static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER
.lang.Override boolean hasOptimizeWithCore()
.lang.Override boolean getExploitAllLpSolution()
.lang.Override boolean hasAddCgCuts()
.lang.Override long getPseudoCostReliabilityThreshold()
static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER
.lang.Override boolean getPermuteVariableRandomly()
.lang.Override double getMaxTimeInSeconds()
.lang.Override int getPresolveSubstitutionLevel()
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override com.google.protobuf.Parser< SatParameters > getParserForType()
.lang.Override boolean hasPseudoCostReliabilityThreshold()
.lang.Override boolean getAddKnapsackCuts()
.lang.Override boolean hasCpModelProbingLevel()
.lang.Override boolean hasMaxMemoryInMb()
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean getOptimizeWithMaxHs()
static final int USE_PRECEDENCES_IN_DISJUNCTIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override Builder newBuilderForType()
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER
.lang.Override int getClauseCleanupTarget()
static final int CP_MODEL_POSTSOLVE_WITH_FULL_SOLVER_FIELD_NUMBER
.lang.Override boolean hasInitialVariablesActivity()
.lang.Override boolean hasMinimizeCore()
.lang.Override boolean hasEnumerateAllSolutions()
.lang.Override double getClauseActivityDecay()
static com.google.protobuf.Parser< SatParameters > parser()
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER
static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER
static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER
.lang.Override boolean getCpModelPostsolveWithFullSolver()
static final int KEEP_ALL_FEASIBLE_SOLUTIONS_IN_PRESOLVE_FIELD_NUMBER
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getUseBranchingInLp()
.lang.Override boolean getMipAutomaticallyScaleVariables()
.lang.Override java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER
static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER
.lang.Override int getMaxConsecutiveInactiveCount()
.lang.Override boolean getExpandElementConstraints()
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override double getMipVarScaling()
static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER
.lang.Override int getBooleanEncodingLevel()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override boolean getPolishLpSolution()
.lang.Override boolean hasUseAbslRandom()
optional bool use_absl_random = 180 [default = false];
static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER
.lang.Override boolean hasAbsoluteGapLimit()
.lang.Override int getCpModelMaxNumPresolveOperations()
.lang.Override long getProbingPeriodAtRoot()
.lang.Override boolean hasUseExactLpReason()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
.lang.Override boolean hasCountAssumptionLevelsInLbd()
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
static final int CP_MODEL_MAX_NUM_PRESOLVE_OPERATIONS_FIELD_NUMBER
.lang.Override final boolean isInitialized()
.lang.Override boolean hasInterleaveSearch()
.lang.Override boolean getStopAfterFirstSolution()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override double getPresolveProbingDeterministicTimeLimit()
.lang.Override double getInitialVariablesActivity()
static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
.lang.Override boolean getCatchSigintSignal()
.lang.Override boolean hasBooleanEncodingLevel()
.lang.Override boolean hasMaxTimeInSeconds()
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean hasHintConflictLimit()
.lang.Override int getPresolveBvaThreshold()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER
static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override boolean getExpandTableConstraints()
.lang.Override int getPresolveBveClauseWeight()
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override double getMipCheckPrecision()
.lang.Override boolean hasPresolveUseBva()
.lang.Override boolean getUseOptimizationHints()
.lang.Override int getClauseCleanupPeriod()
.lang.Override long getSearchRandomizationTolerance()
.lang.Override boolean hasDisableConstraintExpansion()
.lang.Override boolean hasMaxCutRoundsAtLevelZero()
.lang.Override boolean hasGlucoseMaxDecay()
.lang.Override boolean hasUseImpliedBounds()
.lang.Override boolean hasCutMaxActiveCountValue()
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
static final int FILL_TIGHTENED_DOMAINS_IN_RESPONSE_FIELD_NUMBER
static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasAddKnapsackCuts()
.lang.Override boolean hasUseRelaxationLns()
static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER
.lang.Override boolean getUseCombinedNoOverlap()
.lang.Deprecated static final com.google.protobuf.Parser< SatParameters > PARSER
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean getPresolveExtractIntegerEnforcement()
static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data)
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Override double getGlucoseMaxDecay()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
.lang.Override boolean hasProbingPeriodAtRoot()
.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 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()