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  mergeNoOverlapWorkLimit_ = 1000000000000D;
78  mergeAtMostOneWorkLimit_ = 100000000D;
79  presolveSubstitutionLevel_ = 1;
80  useOptimizationHints_ = true;
81  minimizeCore_ = true;
82  findMultipleCores_ = true;
83  coverOptimization_ = true;
84  maxSatAssumptionOrder_ = 0;
85  maxSatStratification_ = 1;
86  usePrecedencesInDisjunctiveConstraint_ = true;
87  useDisjunctiveConstraintInCumulativeConstraint_ = true;
88  linearizationLevel_ = 1;
89  booleanEncodingLevel_ = 1;
90  maxNumCuts_ = 10000;
91  addCgCuts_ = true;
92  addMirCuts_ = true;
93  addZeroHalfCuts_ = true;
94  addCliqueCuts_ = true;
95  maxAllDiffCutSize_ = 7;
96  addLinMaxCuts_ = true;
97  maxIntegerRoundingScaling_ = 600;
98  addLpConstraintsLazily_ = true;
99  minOrthogonalityForLpConstraints_ = 0.05D;
100  maxCutRoundsAtLevelZero_ = 1;
101  maxConsecutiveInactiveCount_ = 100;
102  cutMaxActiveCountValue_ = 10000000000D;
103  cutActiveCountDecay_ = 0.8D;
104  cutCleanupTarget_ = 1000;
105  newConstraintsBatchSize_ = 50;
106  searchBranching_ = 0;
107  hintConflictLimit_ = 10;
108  exploitIntegerLpSolution_ = true;
109  exploitAllLpSolution_ = true;
110  exploitObjective_ = true;
111  pseudoCostReliabilityThreshold_ = 100L;
112  binarySearchNumConflicts_ = -1;
113  instantiateAllVariables_ = true;
114  autoDetectGreaterThanAtLeastOneOf_ = true;
115  numSearchWorkers_ = 1;
116  interleaveBatchSize_ = 1;
117  shareObjectiveBounds_ = true;
118  shareLevelZeroBounds_ = true;
119  useRinsLns_ = true;
120  useFeasibilityPump_ = true;
121  fpRounding_ = 2;
122  useOptionalVariables_ = true;
123  useExactLpReason_ = true;
124  catchSigintSignal_ = true;
125  useImpliedBounds_ = true;
126  mipMaxBound_ = 10000000D;
127  mipVarScaling_ = 1D;
128  mipAutomaticallyScaleVariables_ = true;
129  mipWantedPrecision_ = 1e-06D;
130  mipMaxActivityExponent_ = 53;
131  mipCheckPrecision_ = 0.0001D;
132  }
133 
134  @java.lang.Override
135  @SuppressWarnings({"unused"})
136  protected java.lang.Object newInstance(
137  UnusedPrivateParameter unused) {
138  return new SatParameters();
139  }
140 
141  @java.lang.Override
142  public final com.google.protobuf.UnknownFieldSet
144  return this.unknownFields;
145  }
146  private SatParameters(
147  com.google.protobuf.CodedInputStream input,
148  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
149  throws com.google.protobuf.InvalidProtocolBufferException {
150  this();
151  if (extensionRegistry == null) {
152  throw new java.lang.NullPointerException();
153  }
154  int mutable_bitField0_ = 0;
155  int mutable_bitField1_ = 0;
156  int mutable_bitField2_ = 0;
157  int mutable_bitField3_ = 0;
158  int mutable_bitField4_ = 0;
159  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
160  com.google.protobuf.UnknownFieldSet.newBuilder();
161  try {
162  boolean done = false;
163  while (!done) {
164  int tag = input.readTag();
165  switch (tag) {
166  case 0:
167  done = true;
168  break;
169  case 8: {
170  int rawValue = input.readEnum();
171  @SuppressWarnings("deprecation")
172  com.google.ortools.sat.SatParameters.VariableOrder value = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(rawValue);
173  if (value == null) {
174  unknownFields.mergeVarintField(1, rawValue);
175  } else {
176  bitField0_ |= 0x00000002;
177  preferredVariableOrder_ = rawValue;
178  }
179  break;
180  }
181  case 16: {
182  int rawValue = input.readEnum();
183  @SuppressWarnings("deprecation")
184  com.google.ortools.sat.SatParameters.Polarity value = com.google.ortools.sat.SatParameters.Polarity.valueOf(rawValue);
185  if (value == null) {
186  unknownFields.mergeVarintField(2, rawValue);
187  } else {
188  bitField0_ |= 0x00000004;
189  initialPolarity_ = rawValue;
190  }
191  break;
192  }
193  case 32: {
194  int rawValue = input.readEnum();
195  @SuppressWarnings("deprecation")
196  com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(rawValue);
197  if (value == null) {
198  unknownFields.mergeVarintField(4, rawValue);
199  } else {
200  bitField0_ |= 0x00000400;
201  minimizationAlgorithm_ = rawValue;
202  }
203  break;
204  }
205  case 88: {
206  bitField0_ |= 0x00002000;
207  clauseCleanupPeriod_ = input.readInt32();
208  break;
209  }
210  case 104: {
211  bitField0_ |= 0x00004000;
212  clauseCleanupTarget_ = input.readInt32();
213  break;
214  }
215  case 121: {
216  bitField0_ |= 0x00400000;
217  variableActivityDecay_ = input.readDouble();
218  break;
219  }
220  case 129: {
221  bitField0_ |= 0x00800000;
222  maxVariableActivityValue_ = input.readDouble();
223  break;
224  }
225  case 137: {
226  bitField0_ |= 0x08000000;
227  clauseActivityDecay_ = input.readDouble();
228  break;
229  }
230  case 145: {
231  bitField0_ |= 0x10000000;
232  maxClauseActivityValue_ = input.readDouble();
233  break;
234  }
235  case 177: {
236  bitField0_ |= 0x01000000;
237  glucoseMaxDecay_ = input.readDouble();
238  break;
239  }
240  case 185: {
241  bitField0_ |= 0x02000000;
242  glucoseDecayIncrement_ = input.readDouble();
243  break;
244  }
245  case 192: {
246  bitField0_ |= 0x04000000;
247  glucoseDecayIncrementPeriod_ = input.readInt32();
248  break;
249  }
250  case 240: {
251  bitField0_ |= 0x40000000;
252  restartPeriod_ = input.readInt32();
253  break;
254  }
255  case 248: {
256  bitField1_ |= 0x00004000;
257  randomSeed_ = input.readInt32();
258  break;
259  }
260  case 257: {
261  bitField0_ |= 0x00000040;
262  randomBranchesRatio_ = input.readDouble();
263  break;
264  }
265  case 264: {
266  bitField1_ |= 0x00002000;
267  treatBinaryClausesSeparately_ = input.readBool();
268  break;
269  }
270  case 272: {
271  int rawValue = input.readEnum();
272  @SuppressWarnings("deprecation")
273  com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(rawValue);
274  if (value == null) {
275  unknownFields.mergeVarintField(34, rawValue);
276  } else {
277  bitField0_ |= 0x00000800;
278  binaryMinimizationAlgorithm_ = rawValue;
279  }
280  break;
281  }
282  case 280: {
283  bitField2_ |= 0x00000100;
284  useOptimizationHints_ = input.readBool();
285  break;
286  }
287  case 289: {
288  bitField1_ |= 0x00000080;
289  maxTimeInSeconds_ = input.readDouble();
290  break;
291  }
292  case 296: {
293  bitField1_ |= 0x00000200;
294  maxNumberOfConflicts_ = input.readInt64();
295  break;
296  }
297  case 320: {
298  bitField1_ |= 0x00000400;
299  maxMemoryInMb_ = input.readInt64();
300  break;
301  }
302  case 328: {
303  bitField1_ |= 0x00008000;
304  logSearchProgress_ = input.readBool();
305  break;
306  }
307  case 344: {
308  bitField1_ |= 0x00010000;
309  usePbResolution_ = input.readBool();
310  break;
311  }
312  case 352: {
313  bitField0_ |= 0x00000008;
314  usePhaseSaving_ = input.readBool();
315  break;
316  }
317  case 361: {
318  bitField0_ |= 0x00000020;
319  randomPolarityRatio_ = input.readDouble();
320  break;
321  }
322  case 368: {
323  bitField0_ |= 0x00040000;
324  pbCleanupIncrement_ = input.readInt32();
325  break;
326  }
327  case 377: {
328  bitField0_ |= 0x00080000;
329  pbCleanupRatio_ = input.readDouble();
330  break;
331  }
332  case 384: {
333  bitField1_ |= 0x00020000;
334  minimizeReductionDuringPbResolution_ = input.readBool();
335  break;
336  }
337  case 392: {
338  bitField1_ |= 0x00040000;
339  countAssumptionLevelsInLbd_ = input.readBool();
340  break;
341  }
342  case 400: {
343  bitField2_ |= 0x00000200;
344  minimizeCore_ = input.readBool();
345  break;
346  }
347  case 408: {
348  int rawValue = input.readEnum();
349  @SuppressWarnings("deprecation")
350  com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(rawValue);
351  if (value == null) {
352  unknownFields.mergeVarintField(51, rawValue);
353  } else {
354  bitField2_ |= 0x00001000;
355  maxSatAssumptionOrder_ = rawValue;
356  }
357  break;
358  }
359  case 416: {
360  bitField2_ |= 0x00002000;
361  maxSatReverseAssumptionOrder_ = input.readBool();
362  break;
363  }
364  case 424: {
365  int rawValue = input.readEnum();
366  @SuppressWarnings("deprecation")
367  com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(rawValue);
368  if (value == null) {
369  unknownFields.mergeVarintField(53, rawValue);
370  } else {
371  bitField2_ |= 0x00004000;
372  maxSatStratification_ = rawValue;
373  }
374  break;
375  }
376  case 432: {
377  bitField1_ |= 0x00080000;
378  presolveBveThreshold_ = input.readInt32();
379  break;
380  }
381  case 440: {
382  bitField1_ |= 0x00100000;
383  presolveBveClauseWeight_ = input.readInt32();
384  break;
385  }
386  case 448: {
387  bitField0_ |= 0x00001000;
388  subsumptionDuringConflictAnalysis_ = input.readBool();
389  break;
390  }
391  case 457: {
392  bitField1_ |= 0x00200000;
393  presolveProbingDeterministicTimeLimit_ = input.readDouble();
394  break;
395  }
396  case 464: {
397  int rawValue = input.readEnum();
398  @SuppressWarnings("deprecation")
399  com.google.ortools.sat.SatParameters.ClauseProtection value = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(rawValue);
400  if (value == null) {
401  unknownFields.mergeVarintField(58, rawValue);
402  } else {
403  bitField0_ |= 0x00008000;
404  clauseCleanupProtection_ = rawValue;
405  }
406  break;
407  }
408  case 472: {
409  bitField0_ |= 0x00010000;
410  clauseCleanupLbdBound_ = input.readInt32();
411  break;
412  }
413  case 480: {
414  int rawValue = input.readEnum();
415  @SuppressWarnings("deprecation")
416  com.google.ortools.sat.SatParameters.ClauseOrdering value = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(rawValue);
417  if (value == null) {
418  unknownFields.mergeVarintField(60, rawValue);
419  } else {
420  bitField0_ |= 0x00020000;
421  clauseCleanupOrdering_ = rawValue;
422  }
423  break;
424  }
425  case 488: {
426  int rawValue = input.readEnum();
427  @SuppressWarnings("deprecation")
428  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
429  if (value == null) {
430  unknownFields.mergeVarintField(61, rawValue);
431  } else {
432  if (!((mutable_bitField0_ & 0x20000000) != 0)) {
433  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
434  mutable_bitField0_ |= 0x20000000;
435  }
436  restartAlgorithms_.add(rawValue);
437  }
438  break;
439  }
440  case 490: {
441  int length = input.readRawVarint32();
442  int oldLimit = input.pushLimit(length);
443  while(input.getBytesUntilLimit() > 0) {
444  int rawValue = input.readEnum();
445  @SuppressWarnings("deprecation")
446  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
447  if (value == null) {
448  unknownFields.mergeVarintField(61, rawValue);
449  } else {
450  if (!((mutable_bitField0_ & 0x20000000) != 0)) {
451  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
452  mutable_bitField0_ |= 0x20000000;
453  }
454  restartAlgorithms_.add(rawValue);
455  }
456  }
457  input.popLimit(oldLimit);
458  break;
459  }
460  case 496: {
461  bitField0_ |= 0x80000000;
462  restartRunningWindowSize_ = input.readInt32();
463  break;
464  }
465  case 505: {
466  bitField1_ |= 0x00000001;
467  restartDlAverageRatio_ = input.readDouble();
468  break;
469  }
470  case 512: {
471  bitField1_ |= 0x00000004;
472  useBlockingRestart_ = input.readBool();
473  break;
474  }
475  case 520: {
476  bitField1_ |= 0x00000008;
477  blockingRestartWindowSize_ = input.readInt32();
478  break;
479  }
480  case 529: {
481  bitField1_ |= 0x00000010;
482  blockingRestartMultiplier_ = input.readDouble();
483  break;
484  }
485  case 537: {
486  bitField1_ |= 0x00000100;
487  maxDeterministicTime_ = input.readDouble();
488  break;
489  }
490  case 544: {
491  bitField1_ |= 0x00000020;
492  numConflictsBeforeStrategyChanges_ = input.readInt32();
493  break;
494  }
495  case 553: {
496  bitField1_ |= 0x00000040;
497  strategyChangeIncreaseRatio_ = input.readDouble();
498  break;
499  }
500  case 562: {
501  com.google.protobuf.ByteString bs = input.readBytes();
502  bitField0_ |= 0x20000000;
503  defaultRestartAlgorithms_ = bs;
504  break;
505  }
506  case 569: {
507  bitField1_ |= 0x00000002;
508  restartLbdAverageRatio_ = input.readDouble();
509  break;
510  }
511  case 576: {
512  bitField1_ |= 0x00800000;
513  presolveUseBva_ = input.readBool();
514  break;
515  }
516  case 584: {
517  bitField1_ |= 0x01000000;
518  presolveBvaThreshold_ = input.readInt32();
519  break;
520  }
521  case 592: {
522  bitField2_ |= 0x00008000;
523  usePrecedencesInDisjunctiveConstraint_ = input.readBool();
524  break;
525  }
526  case 600: {
527  bitField0_ |= 0x00000080;
528  useErwaHeuristic_ = input.readBool();
529  break;
530  }
531  case 609: {
532  bitField0_ |= 0x00000100;
533  initialVariablesActivity_ = input.readDouble();
534  break;
535  }
536  case 616: {
537  bitField0_ |= 0x00000200;
538  alsoBumpVariablesInConflictReasons_ = input.readBool();
539  break;
540  }
541  case 624: {
542  bitField2_ |= 0x00010000;
543  useOverloadCheckerInCumulativeConstraint_ = input.readBool();
544  break;
545  }
546  case 632: {
547  bitField2_ |= 0x00020000;
548  useTimetableEdgeFindingInCumulativeConstraint_ = input.readBool();
549  break;
550  }
551  case 640: {
552  bitField2_ |= 0x00040000;
553  useDisjunctiveConstraintInCumulativeConstraint_ = input.readBool();
554  break;
555  }
556  case 656: {
557  int rawValue = input.readEnum();
558  @SuppressWarnings("deprecation")
559  com.google.ortools.sat.SatParameters.SearchBranching value = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(rawValue);
560  if (value == null) {
561  unknownFields.mergeVarintField(82, rawValue);
562  } else {
563  bitField3_ |= 0x00000080;
564  searchBranching_ = rawValue;
565  }
566  break;
567  }
568  case 664: {
569  bitField3_ |= 0x00040000;
570  optimizeWithCore_ = input.readBool();
571  break;
572  }
573  case 672: {
574  bitField2_ |= 0x00000400;
575  findMultipleCores_ = input.readBool();
576  break;
577  }
578  case 680: {
579  bitField3_ |= 0x00100000;
580  optimizeWithMaxHs_ = input.readBool();
581  break;
582  }
583  case 688: {
584  bitField1_ |= 0x04000000;
585  cpModelPresolve_ = input.readBool();
586  break;
587  }
588  case 696: {
589  bitField3_ |= 0x00200000;
590  enumerateAllSolutions_ = input.readBool();
591  break;
592  }
593  case 704: {
594  bitField1_ |= 0x00400000;
595  presolveBlockedClause_ = input.readBool();
596  break;
597  }
598  case 712: {
599  bitField2_ |= 0x00000800;
600  coverOptimization_ = input.readBool();
601  break;
602  }
603  case 720: {
604  bitField2_ |= 0x00080000;
605  linearizationLevel_ = input.readInt32();
606  break;
607  }
608  case 728: {
609  bitField2_ |= 0x00200000;
610  maxNumCuts_ = input.readInt32();
611  break;
612  }
613  case 736: {
614  bitField2_ |= 0x00400000;
615  onlyAddCutsAtLevelZero_ = input.readBool();
616  break;
617  }
618  case 744: {
619  bitField1_ |= 0x40000000;
620  cpModelUseSatPresolve_ = input.readBool();
621  break;
622  }
623  case 752: {
624  bitField3_ |= 0x00000400;
625  exploitIntegerLpSolution_ = input.readBool();
626  break;
627  }
628  case 760: {
629  bitField3_ |= 0x02000000;
630  autoDetectGreaterThanAtLeastOneOf_ = input.readBool();
631  break;
632  }
633  case 768: {
634  bitField0_ |= 0x00100000;
635  minimizeWithPropagationRestartPeriod_ = input.readInt32();
636  break;
637  }
638  case 776: {
639  bitField0_ |= 0x00200000;
640  minimizeWithPropagationNumDecisions_ = input.readInt32();
641  break;
642  }
643  case 784: {
644  bitField3_ |= 0x04000000;
645  stopAfterFirstSolution_ = input.readBool();
646  break;
647  }
648  case 792: {
649  bitField3_ |= 0x00080000;
650  binarySearchNumConflicts_ = input.readInt32();
651  break;
652  }
653  case 800: {
654  bitField3_ |= 0x10000000;
655  numSearchWorkers_ = input.readInt32();
656  break;
657  }
658  case 808: {
659  bitField4_ |= 0x00000004;
660  useLnsOnly_ = input.readBool();
661  break;
662  }
663  case 824: {
664  bitField4_ |= 0x00000200;
665  randomizeSearch_ = input.readBool();
666  break;
667  }
668  case 832: {
669  bitField4_ |= 0x00000400;
670  searchRandomizationTolerance_ = input.readInt64();
671  break;
672  }
673  case 840: {
674  bitField4_ |= 0x00000008;
675  lnsFocusOnDecisionVariables_ = input.readBool();
676  break;
677  }
678  case 848: {
679  bitField3_ |= 0x01000000;
680  instantiateAllVariables_ = input.readBool();
681  break;
682  }
683  case 856: {
684  bitField2_ |= 0x00100000;
685  booleanEncodingLevel_ = input.readInt32();
686  break;
687  }
688  case 864: {
689  bitField4_ |= 0x00000800;
690  useOptionalVariables_ = input.readBool();
691  break;
692  }
693  case 872: {
694  bitField4_ |= 0x00001000;
695  useExactLpReason_ = input.readBool();
696  break;
697  }
698  case 880: {
699  bitField1_ |= 0x20000000;
700  cpModelProbingLevel_ = input.readInt32();
701  break;
702  }
703  case 888: {
704  bitField2_ |= 0x00800000;
705  addKnapsackCuts_ = input.readBool();
706  break;
707  }
708  case 896: {
709  bitField2_ |= 0x80000000;
710  addLpConstraintsLazily_ = input.readBool();
711  break;
712  }
713  case 904: {
714  bitField4_ |= 0x00000001;
715  shareObjectiveBounds_ = input.readBool();
716  break;
717  }
718  case 912: {
719  bitField4_ |= 0x00000002;
720  shareLevelZeroBounds_ = input.readBool();
721  break;
722  }
723  case 921: {
724  bitField3_ |= 0x00000001;
725  minOrthogonalityForLpConstraints_ = input.readDouble();
726  break;
727  }
728  case 928: {
729  bitField3_ |= 0x00000800;
730  exploitAllLpSolution_ = input.readBool();
731  break;
732  }
733  case 936: {
734  bitField2_ |= 0x01000000;
735  addCgCuts_ = input.readBool();
736  break;
737  }
738  case 952: {
739  bitField2_ |= 0x40000000;
740  maxIntegerRoundingScaling_ = input.readInt32();
741  break;
742  }
743  case 960: {
744  bitField2_ |= 0x02000000;
745  addMirCuts_ = input.readBool();
746  break;
747  }
748  case 968: {
749  bitField3_ |= 0x00000004;
750  maxConsecutiveInactiveCount_ = input.readInt32();
751  break;
752  }
753  case 976: {
754  bitField3_ |= 0x00000040;
755  newConstraintsBatchSize_ = input.readInt32();
756  break;
757  }
758  case 984: {
759  bitField3_ |= 0x00020000;
760  pseudoCostReliabilityThreshold_ = input.readInt64();
761  break;
762  }
763  case 993: {
764  bitField4_ |= 0x00040000;
765  mipMaxBound_ = input.readDouble();
766  break;
767  }
768  case 1001: {
769  bitField4_ |= 0x00080000;
770  mipVarScaling_ = input.readDouble();
771  break;
772  }
773  case 1009: {
774  bitField4_ |= 0x00200000;
775  mipWantedPrecision_ = input.readDouble();
776  break;
777  }
778  case 1016: {
779  bitField4_ |= 0x00400000;
780  mipMaxActivityExponent_ = input.readInt32();
781  break;
782  }
783  case 1025: {
784  bitField4_ |= 0x00800000;
785  mipCheckPrecision_ = input.readDouble();
786  break;
787  }
788  case 1032: {
789  bitField4_ |= 0x00000010;
790  useRinsLns_ = input.readBool();
791  break;
792  }
793  case 1040: {
794  bitField3_ |= 0x00001000;
795  exploitBestSolution_ = input.readBool();
796  break;
797  }
798  case 1048: {
799  bitField3_ |= 0x00004000;
800  exploitObjective_ = input.readBool();
801  break;
802  }
803  case 1056: {
804  bitField3_ |= 0x00800000;
805  fillTightenedDomainsInResponse_ = input.readBool();
806  break;
807  }
808  case 1064: {
809  bitField4_ |= 0x00004000;
810  useCombinedNoOverlap_ = input.readBool();
811  break;
812  }
813  case 1072: {
814  bitField3_ |= 0x40000000;
815  interleaveBatchSize_ = input.readInt32();
816  break;
817  }
818  case 1080: {
819  bitField4_ |= 0x00008000;
820  catchSigintSignal_ = input.readBool();
821  break;
822  }
823  case 1088: {
824  bitField3_ |= 0x20000000;
825  interleaveSearch_ = input.readBool();
826  break;
827  }
828  case 1096: {
829  bitField4_ |= 0x00000100;
830  diversifyLnsParams_ = input.readBool();
831  break;
832  }
833  case 1104: {
834  bitField1_ |= 0x02000000;
835  maxPresolveIterations_ = input.readInt32();
836  break;
837  }
838  case 1112: {
839  bitField4_ |= 0x00002000;
840  useBranchingInLp_ = input.readBool();
841  break;
842  }
843  case 1120: {
844  bitField2_ |= 0x00000001;
845  expandElementConstraints_ = input.readBool();
846  break;
847  }
848  case 1128: {
849  bitField3_ |= 0x80000000;
850  reduceMemoryUsageInInterleaveMode_ = input.readBool();
851  break;
852  }
853  case 1136: {
854  bitField3_ |= 0x00008000;
855  probingPeriodAtRoot_ = input.readInt64();
856  break;
857  }
858  case 1144: {
859  bitField2_ |= 0x00000002;
860  expandAutomatonConstraints_ = input.readBool();
861  break;
862  }
863  case 1152: {
864  bitField4_ |= 0x00010000;
865  useImpliedBounds_ = input.readBool();
866  break;
867  }
868  case 1161: {
869  bitField2_ |= 0x00000010;
870  mergeNoOverlapWorkLimit_ = input.readDouble();
871  break;
872  }
873  case 1169: {
874  bitField2_ |= 0x00000020;
875  mergeAtMostOneWorkLimit_ = input.readDouble();
876  break;
877  }
878  case 1176: {
879  bitField2_ |= 0x00000040;
880  presolveSubstitutionLevel_ = input.readInt32();
881  break;
882  }
883  case 1184: {
884  bitField2_ |= 0x10000000;
885  maxAllDiffCutSize_ = input.readInt32();
886  break;
887  }
888  case 1192: {
889  bitField3_ |= 0x08000000;
890  stopAfterPresolve_ = input.readBool();
891  break;
892  }
893  case 1200: {
894  bitField4_ |= 0x00000080;
895  useRelaxationLns_ = input.readBool();
896  break;
897  }
898  case 1208: {
899  bitField1_ |= 0x10000000;
900  cpModelMaxNumPresolveOperations_ = input.readInt32();
901  break;
902  }
903  case 1216: {
904  bitField2_ |= 0x20000000;
905  addLinMaxCuts_ = input.readBool();
906  break;
907  }
908  case 1224: {
909  bitField3_ |= 0x00000100;
910  hintConflictLimit_ = input.readInt32();
911  break;
912  }
913  case 1232: {
914  bitField3_ |= 0x00000002;
915  maxCutRoundsAtLevelZero_ = input.readInt32();
916  break;
917  }
918  case 1241: {
919  bitField3_ |= 0x00000008;
920  cutMaxActiveCountValue_ = input.readDouble();
921  break;
922  }
923  case 1249: {
924  bitField3_ |= 0x00000010;
925  cutActiveCountDecay_ = input.readDouble();
926  break;
927  }
928  case 1256: {
929  bitField3_ |= 0x00000020;
930  cutCleanupTarget_ = input.readInt32();
931  break;
932  }
933  case 1264: {
934  bitField2_ |= 0x00000004;
935  expandTableConstraints_ = input.readBool();
936  break;
937  }
938  case 1273: {
939  bitField1_ |= 0x00000800;
940  absoluteGapLimit_ = input.readDouble();
941  break;
942  }
943  case 1281: {
944  bitField1_ |= 0x00001000;
945  relativeGapLimit_ = input.readDouble();
946  break;
947  }
948  case 1288: {
949  bitField3_ |= 0x00002000;
950  exploitRelaxationSolution_ = input.readBool();
951  break;
952  }
953  case 1296: {
954  bitField1_ |= 0x08000000;
955  cpModelPostsolveWithFullSolver_ = input.readBool();
956  break;
957  }
958  case 1304: {
959  bitField1_ |= 0x80000000;
960  useSatInprocessing_ = input.readBool();
961  break;
962  }
963  case 1312: {
964  bitField4_ |= 0x00000020;
965  useFeasibilityPump_ = input.readBool();
966  break;
967  }
968  case 1320: {
969  int rawValue = input.readEnum();
970  @SuppressWarnings("deprecation")
971  com.google.ortools.sat.SatParameters.FPRoundingMethod value = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(rawValue);
972  if (value == null) {
973  unknownFields.mergeVarintField(165, rawValue);
974  } else {
975  bitField4_ |= 0x00000040;
976  fpRounding_ = rawValue;
977  }
978  break;
979  }
980  case 1328: {
981  bitField4_ |= 0x00100000;
982  mipAutomaticallyScaleVariables_ = input.readBool();
983  break;
984  }
985  case 1336: {
986  bitField3_ |= 0x00000200;
987  repairHint_ = input.readBool();
988  break;
989  }
990  case 1344: {
991  bitField0_ |= 0x00000010;
992  polarityRephaseIncrement_ = input.readInt32();
993  break;
994  }
995  case 1352: {
996  bitField2_ |= 0x04000000;
997  addZeroHalfCuts_ = input.readBool();
998  break;
999  }
1000  case 1360: {
1001  bitField2_ |= 0x00000008;
1002  expandAlldiffConstraints_ = input.readBool();
1003  break;
1004  }
1005  case 1370: {
1006  com.google.protobuf.ByteString bs = input.readBytes();
1007  bitField0_ |= 0x00000001;
1008  name_ = bs;
1009  break;
1010  }
1011  case 1376: {
1012  bitField2_ |= 0x08000000;
1013  addCliqueCuts_ = input.readBool();
1014  break;
1015  }
1016  case 1384: {
1017  bitField3_ |= 0x00400000;
1018  keepAllFeasibleSolutionsInPresolve_ = input.readBool();
1019  break;
1020  }
1021  case 1392: {
1022  bitField2_ |= 0x00000080;
1023  presolveExtractIntegerEnforcement_ = input.readBool();
1024  break;
1025  }
1026  case 1400: {
1027  bitField4_ |= 0x00020000;
1028  polishLpSolution_ = input.readBool();
1029  break;
1030  }
1031  case 1408: {
1032  bitField3_ |= 0x00010000;
1033  useProbingSearch_ = input.readBool();
1034  break;
1035  }
1036  default: {
1037  if (!parseUnknownField(
1038  input, unknownFields, extensionRegistry, tag)) {
1039  done = true;
1040  }
1041  break;
1042  }
1043  }
1044  }
1045  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1046  throw e.setUnfinishedMessage(this);
1047  } catch (java.io.IOException e) {
1048  throw new com.google.protobuf.InvalidProtocolBufferException(
1049  e).setUnfinishedMessage(this);
1050  } finally {
1051  if (((mutable_bitField0_ & 0x20000000) != 0)) {
1052  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
1053  }
1054  this.unknownFields = unknownFields.build();
1055  makeExtensionsImmutable();
1056  }
1057  }
1058  public static final com.google.protobuf.Descriptors.Descriptor
1060  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
1061  }
1062 
1063  @java.lang.Override
1064  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1066  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
1067  .ensureFieldAccessorsInitialized(
1069  }
1070 
1079  public enum VariableOrder
1080  implements com.google.protobuf.ProtocolMessageEnum {
1097  ;
1098 
1106  public static final int IN_ORDER_VALUE = 0;
1110  public static final int IN_REVERSE_ORDER_VALUE = 1;
1114  public static final int IN_RANDOM_ORDER_VALUE = 2;
1115 
1116 
1117  public final int getNumber() {
1118  return value;
1119  }
1120 
1126  @java.lang.Deprecated
1127  public static VariableOrder valueOf(int value) {
1128  return forNumber(value);
1129  }
1130 
1135  public static VariableOrder forNumber(int value) {
1136  switch (value) {
1137  case 0: return IN_ORDER;
1138  case 1: return IN_REVERSE_ORDER;
1139  case 2: return IN_RANDOM_ORDER;
1140  default: return null;
1141  }
1142  }
1143 
1144  public static com.google.protobuf.Internal.EnumLiteMap<VariableOrder>
1146  return internalValueMap;
1147  }
1148  private static final com.google.protobuf.Internal.EnumLiteMap<
1149  VariableOrder> internalValueMap =
1150  new com.google.protobuf.Internal.EnumLiteMap<VariableOrder>() {
1151  public VariableOrder findValueByNumber(int number) {
1152  return VariableOrder.forNumber(number);
1153  }
1154  };
1155 
1156  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1158  return getDescriptor().getValues().get(ordinal());
1159  }
1160  public final com.google.protobuf.Descriptors.EnumDescriptor
1162  return getDescriptor();
1163  }
1164  public static final com.google.protobuf.Descriptors.EnumDescriptor
1166  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
1167  }
1168 
1169  private static final VariableOrder[] VALUES = values();
1170 
1171  public static VariableOrder valueOf(
1172  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1173  if (desc.getType() != getDescriptor()) {
1174  throw new java.lang.IllegalArgumentException(
1175  "EnumValueDescriptor is not for this type.");
1176  }
1177  return VALUES[desc.getIndex()];
1178  }
1179 
1180  private final int value;
1181 
1182  private VariableOrder(int value) {
1183  this.value = value;
1184  }
1185 
1186  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.VariableOrder)
1187  }
1188 
1200  public enum Polarity
1201  implements com.google.protobuf.ProtocolMessageEnum {
1233  ;
1234 
1238  public static final int POLARITY_TRUE_VALUE = 0;
1242  public static final int POLARITY_FALSE_VALUE = 1;
1246  public static final int POLARITY_RANDOM_VALUE = 2;
1257  public static final int POLARITY_WEIGHTED_SIGN_VALUE = 3;
1265  public static final int POLARITY_REVERSE_WEIGHTED_SIGN_VALUE = 4;
1266 
1267 
1268  public final int getNumber() {
1269  return value;
1270  }
1271 
1277  @java.lang.Deprecated
1278  public static Polarity valueOf(int value) {
1279  return forNumber(value);
1280  }
1281 
1286  public static Polarity forNumber(int value) {
1287  switch (value) {
1288  case 0: return POLARITY_TRUE;
1289  case 1: return POLARITY_FALSE;
1290  case 2: return POLARITY_RANDOM;
1291  case 3: return POLARITY_WEIGHTED_SIGN;
1292  case 4: return POLARITY_REVERSE_WEIGHTED_SIGN;
1293  default: return null;
1294  }
1295  }
1296 
1297  public static com.google.protobuf.Internal.EnumLiteMap<Polarity>
1299  return internalValueMap;
1300  }
1301  private static final com.google.protobuf.Internal.EnumLiteMap<
1302  Polarity> internalValueMap =
1303  new com.google.protobuf.Internal.EnumLiteMap<Polarity>() {
1304  public Polarity findValueByNumber(int number) {
1305  return Polarity.forNumber(number);
1306  }
1307  };
1308 
1309  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1311  return getDescriptor().getValues().get(ordinal());
1312  }
1313  public final com.google.protobuf.Descriptors.EnumDescriptor
1315  return getDescriptor();
1316  }
1317  public static final com.google.protobuf.Descriptors.EnumDescriptor
1319  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
1320  }
1321 
1322  private static final Polarity[] VALUES = values();
1323 
1324  public static Polarity valueOf(
1325  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1326  if (desc.getType() != getDescriptor()) {
1327  throw new java.lang.IllegalArgumentException(
1328  "EnumValueDescriptor is not for this type.");
1329  }
1330  return VALUES[desc.getIndex()];
1331  }
1332 
1333  private final int value;
1334 
1335  private Polarity(int value) {
1336  this.value = value;
1337  }
1338 
1339  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.Polarity)
1340  }
1341 
1350  implements com.google.protobuf.ProtocolMessageEnum {
1354  NONE(0),
1367  ;
1368 
1372  public static final int NONE_VALUE = 0;
1376  public static final int SIMPLE_VALUE = 1;
1380  public static final int RECURSIVE_VALUE = 2;
1384  public static final int EXPERIMENTAL_VALUE = 3;
1385 
1386 
1387  public final int getNumber() {
1388  return value;
1389  }
1390 
1396  @java.lang.Deprecated
1397  public static ConflictMinimizationAlgorithm valueOf(int value) {
1398  return forNumber(value);
1399  }
1400 
1405  public static ConflictMinimizationAlgorithm forNumber(int value) {
1406  switch (value) {
1407  case 0: return NONE;
1408  case 1: return SIMPLE;
1409  case 2: return RECURSIVE;
1410  case 3: return EXPERIMENTAL;
1411  default: return null;
1412  }
1413  }
1414 
1415  public static com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>
1417  return internalValueMap;
1418  }
1419  private static final com.google.protobuf.Internal.EnumLiteMap<
1420  ConflictMinimizationAlgorithm> internalValueMap =
1421  new com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>() {
1422  public ConflictMinimizationAlgorithm findValueByNumber(int number) {
1424  }
1425  };
1426 
1427  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1429  return getDescriptor().getValues().get(ordinal());
1430  }
1431  public final com.google.protobuf.Descriptors.EnumDescriptor
1433  return getDescriptor();
1434  }
1435  public static final com.google.protobuf.Descriptors.EnumDescriptor
1437  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
1438  }
1439 
1440  private static final ConflictMinimizationAlgorithm[] VALUES = values();
1441 
1443  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1444  if (desc.getType() != getDescriptor()) {
1445  throw new java.lang.IllegalArgumentException(
1446  "EnumValueDescriptor is not for this type.");
1447  }
1448  return VALUES[desc.getIndex()];
1449  }
1450 
1451  private final int value;
1452 
1453  private ConflictMinimizationAlgorithm(int value) {
1454  this.value = value;
1455  }
1456 
1457  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ConflictMinimizationAlgorithm)
1458  }
1459 
1469  implements com.google.protobuf.ProtocolMessageEnum {
1490  ;
1491 
1495  public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
1499  public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
1503  public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
1507  public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
1511  public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
1512 
1513 
1514  public final int getNumber() {
1515  return value;
1516  }
1517 
1523  @java.lang.Deprecated
1524  public static BinaryMinizationAlgorithm valueOf(int value) {
1525  return forNumber(value);
1526  }
1527 
1532  public static BinaryMinizationAlgorithm forNumber(int value) {
1533  switch (value) {
1534  case 0: return NO_BINARY_MINIMIZATION;
1535  case 1: return BINARY_MINIMIZATION_FIRST;
1536  case 4: return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
1537  case 2: return BINARY_MINIMIZATION_WITH_REACHABILITY;
1538  case 3: return EXPERIMENTAL_BINARY_MINIMIZATION;
1539  default: return null;
1540  }
1541  }
1542 
1543  public static com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>
1545  return internalValueMap;
1546  }
1547  private static final com.google.protobuf.Internal.EnumLiteMap<
1548  BinaryMinizationAlgorithm> internalValueMap =
1549  new com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>() {
1550  public BinaryMinizationAlgorithm findValueByNumber(int number) {
1551  return BinaryMinizationAlgorithm.forNumber(number);
1552  }
1553  };
1554 
1555  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1557  return getDescriptor().getValues().get(ordinal());
1558  }
1559  public final com.google.protobuf.Descriptors.EnumDescriptor
1561  return getDescriptor();
1562  }
1563  public static final com.google.protobuf.Descriptors.EnumDescriptor
1565  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
1566  }
1567 
1568  private static final BinaryMinizationAlgorithm[] VALUES = values();
1569 
1571  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1572  if (desc.getType() != getDescriptor()) {
1573  throw new java.lang.IllegalArgumentException(
1574  "EnumValueDescriptor is not for this type.");
1575  }
1576  return VALUES[desc.getIndex()];
1577  }
1578 
1579  private final int value;
1580 
1581  private BinaryMinizationAlgorithm(int value) {
1582  this.value = value;
1583  }
1584 
1585  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.BinaryMinizationAlgorithm)
1586  }
1587 
1597  public enum ClauseProtection
1598  implements com.google.protobuf.ProtocolMessageEnum {
1623  ;
1624 
1632  public static final int PROTECTION_NONE_VALUE = 0;
1640  public static final int PROTECTION_ALWAYS_VALUE = 1;
1648  public static final int PROTECTION_LBD_VALUE = 2;
1649 
1650 
1651  public final int getNumber() {
1652  return value;
1653  }
1654 
1660  @java.lang.Deprecated
1661  public static ClauseProtection valueOf(int value) {
1662  return forNumber(value);
1663  }
1664 
1669  public static ClauseProtection forNumber(int value) {
1670  switch (value) {
1671  case 0: return PROTECTION_NONE;
1672  case 1: return PROTECTION_ALWAYS;
1673  case 2: return PROTECTION_LBD;
1674  default: return null;
1675  }
1676  }
1677 
1678  public static com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>
1680  return internalValueMap;
1681  }
1682  private static final com.google.protobuf.Internal.EnumLiteMap<
1683  ClauseProtection> internalValueMap =
1684  new com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>() {
1685  public ClauseProtection findValueByNumber(int number) {
1686  return ClauseProtection.forNumber(number);
1687  }
1688  };
1689 
1690  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1692  return getDescriptor().getValues().get(ordinal());
1693  }
1694  public final com.google.protobuf.Descriptors.EnumDescriptor
1696  return getDescriptor();
1697  }
1698  public static final com.google.protobuf.Descriptors.EnumDescriptor
1700  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
1701  }
1702 
1703  private static final ClauseProtection[] VALUES = values();
1704 
1705  public static ClauseProtection valueOf(
1706  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1707  if (desc.getType() != getDescriptor()) {
1708  throw new java.lang.IllegalArgumentException(
1709  "EnumValueDescriptor is not for this type.");
1710  }
1711  return VALUES[desc.getIndex()];
1712  }
1713 
1714  private final int value;
1715 
1716  private ClauseProtection(int value) {
1717  this.value = value;
1718  }
1719 
1720  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseProtection)
1721  }
1722 
1731  public enum ClauseOrdering
1732  implements com.google.protobuf.ProtocolMessageEnum {
1749  ;
1750 
1758  public static final int CLAUSE_ACTIVITY_VALUE = 0;
1766  public static final int CLAUSE_LBD_VALUE = 1;
1767 
1768 
1769  public final int getNumber() {
1770  return value;
1771  }
1772 
1778  @java.lang.Deprecated
1779  public static ClauseOrdering valueOf(int value) {
1780  return forNumber(value);
1781  }
1782 
1787  public static ClauseOrdering forNumber(int value) {
1788  switch (value) {
1789  case 0: return CLAUSE_ACTIVITY;
1790  case 1: return CLAUSE_LBD;
1791  default: return null;
1792  }
1793  }
1794 
1795  public static com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>
1797  return internalValueMap;
1798  }
1799  private static final com.google.protobuf.Internal.EnumLiteMap<
1800  ClauseOrdering> internalValueMap =
1801  new com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>() {
1802  public ClauseOrdering findValueByNumber(int number) {
1803  return ClauseOrdering.forNumber(number);
1804  }
1805  };
1806 
1807  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1809  return getDescriptor().getValues().get(ordinal());
1810  }
1811  public final com.google.protobuf.Descriptors.EnumDescriptor
1813  return getDescriptor();
1814  }
1815  public static final com.google.protobuf.Descriptors.EnumDescriptor
1817  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
1818  }
1819 
1820  private static final ClauseOrdering[] VALUES = values();
1821 
1822  public static ClauseOrdering valueOf(
1823  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1824  if (desc.getType() != getDescriptor()) {
1825  throw new java.lang.IllegalArgumentException(
1826  "EnumValueDescriptor is not for this type.");
1827  }
1828  return VALUES[desc.getIndex()];
1829  }
1830 
1831  private final int value;
1832 
1833  private ClauseOrdering(int value) {
1834  this.value = value;
1835  }
1836 
1837  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseOrdering)
1838  }
1839 
1851  public enum RestartAlgorithm
1852  implements com.google.protobuf.ProtocolMessageEnum {
1889  ;
1890 
1894  public static final int NO_RESTART_VALUE = 0;
1902  public static final int LUBY_RESTART_VALUE = 1;
1910  public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
1918  public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
1926  public static final int FIXED_RESTART_VALUE = 4;
1927 
1928 
1929  public final int getNumber() {
1930  return value;
1931  }
1932 
1938  @java.lang.Deprecated
1939  public static RestartAlgorithm valueOf(int value) {
1940  return forNumber(value);
1941  }
1942 
1947  public static RestartAlgorithm forNumber(int value) {
1948  switch (value) {
1949  case 0: return NO_RESTART;
1950  case 1: return LUBY_RESTART;
1951  case 2: return DL_MOVING_AVERAGE_RESTART;
1952  case 3: return LBD_MOVING_AVERAGE_RESTART;
1953  case 4: return FIXED_RESTART;
1954  default: return null;
1955  }
1956  }
1957 
1958  public static com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>
1960  return internalValueMap;
1961  }
1962  private static final com.google.protobuf.Internal.EnumLiteMap<
1963  RestartAlgorithm> internalValueMap =
1964  new com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>() {
1965  public RestartAlgorithm findValueByNumber(int number) {
1966  return RestartAlgorithm.forNumber(number);
1967  }
1968  };
1969 
1970  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1972  return getDescriptor().getValues().get(ordinal());
1973  }
1974  public final com.google.protobuf.Descriptors.EnumDescriptor
1976  return getDescriptor();
1977  }
1978  public static final com.google.protobuf.Descriptors.EnumDescriptor
1980  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
1981  }
1982 
1983  private static final RestartAlgorithm[] VALUES = values();
1984 
1985  public static RestartAlgorithm valueOf(
1986  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1987  if (desc.getType() != getDescriptor()) {
1988  throw new java.lang.IllegalArgumentException(
1989  "EnumValueDescriptor is not for this type.");
1990  }
1991  return VALUES[desc.getIndex()];
1992  }
1993 
1994  private final int value;
1995 
1996  private RestartAlgorithm(int value) {
1997  this.value = value;
1998  }
1999 
2000  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.RestartAlgorithm)
2001  }
2002 
2011  implements com.google.protobuf.ProtocolMessageEnum {
2024  ;
2025 
2029  public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
2033  public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
2037  public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
2038 
2039 
2040  public final int getNumber() {
2041  return value;
2042  }
2043 
2049  @java.lang.Deprecated
2050  public static MaxSatAssumptionOrder valueOf(int value) {
2051  return forNumber(value);
2052  }
2053 
2058  public static MaxSatAssumptionOrder forNumber(int value) {
2059  switch (value) {
2060  case 0: return DEFAULT_ASSUMPTION_ORDER;
2061  case 1: return ORDER_ASSUMPTION_BY_DEPTH;
2062  case 2: return ORDER_ASSUMPTION_BY_WEIGHT;
2063  default: return null;
2064  }
2065  }
2066 
2067  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>
2069  return internalValueMap;
2070  }
2071  private static final com.google.protobuf.Internal.EnumLiteMap<
2072  MaxSatAssumptionOrder> internalValueMap =
2073  new com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>() {
2074  public MaxSatAssumptionOrder findValueByNumber(int number) {
2075  return MaxSatAssumptionOrder.forNumber(number);
2076  }
2077  };
2078 
2079  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2081  return getDescriptor().getValues().get(ordinal());
2082  }
2083  public final com.google.protobuf.Descriptors.EnumDescriptor
2085  return getDescriptor();
2086  }
2087  public static final com.google.protobuf.Descriptors.EnumDescriptor
2089  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
2090  }
2091 
2092  private static final MaxSatAssumptionOrder[] VALUES = values();
2093 
2095  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2096  if (desc.getType() != getDescriptor()) {
2097  throw new java.lang.IllegalArgumentException(
2098  "EnumValueDescriptor is not for this type.");
2099  }
2100  return VALUES[desc.getIndex()];
2101  }
2102 
2103  private final int value;
2104 
2105  private MaxSatAssumptionOrder(int value) {
2106  this.value = value;
2107  }
2108 
2109  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatAssumptionOrder)
2110  }
2111 
2120  implements com.google.protobuf.ProtocolMessageEnum {
2149  ;
2150 
2158  public static final int STRATIFICATION_NONE_VALUE = 0;
2167  public static final int STRATIFICATION_DESCENT_VALUE = 1;
2178  public static final int STRATIFICATION_ASCENT_VALUE = 2;
2179 
2180 
2181  public final int getNumber() {
2182  return value;
2183  }
2184 
2190  @java.lang.Deprecated
2191  public static MaxSatStratificationAlgorithm valueOf(int value) {
2192  return forNumber(value);
2193  }
2194 
2199  public static MaxSatStratificationAlgorithm forNumber(int value) {
2200  switch (value) {
2201  case 0: return STRATIFICATION_NONE;
2202  case 1: return STRATIFICATION_DESCENT;
2203  case 2: return STRATIFICATION_ASCENT;
2204  default: return null;
2205  }
2206  }
2207 
2208  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>
2210  return internalValueMap;
2211  }
2212  private static final com.google.protobuf.Internal.EnumLiteMap<
2213  MaxSatStratificationAlgorithm> internalValueMap =
2214  new com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>() {
2215  public MaxSatStratificationAlgorithm findValueByNumber(int number) {
2217  }
2218  };
2219 
2220  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2222  return getDescriptor().getValues().get(ordinal());
2223  }
2224  public final com.google.protobuf.Descriptors.EnumDescriptor
2226  return getDescriptor();
2227  }
2228  public static final com.google.protobuf.Descriptors.EnumDescriptor
2230  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
2231  }
2232 
2233  private static final MaxSatStratificationAlgorithm[] VALUES = values();
2234 
2236  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2237  if (desc.getType() != getDescriptor()) {
2238  throw new java.lang.IllegalArgumentException(
2239  "EnumValueDescriptor is not for this type.");
2240  }
2241  return VALUES[desc.getIndex()];
2242  }
2243 
2244  private final int value;
2245 
2246  private MaxSatStratificationAlgorithm(int value) {
2247  this.value = value;
2248  }
2249 
2250  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatStratificationAlgorithm)
2251  }
2252 
2260  public enum SearchBranching
2261  implements com.google.protobuf.ProtocolMessageEnum {
2329  ;
2330 
2339  public static final int AUTOMATIC_SEARCH_VALUE = 0;
2349  public static final int FIXED_SEARCH_VALUE = 1;
2357  public static final int PORTFOLIO_SEARCH_VALUE = 2;
2367  public static final int LP_SEARCH_VALUE = 3;
2377  public static final int PSEUDO_COST_SEARCH_VALUE = 4;
2387  public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
2397  public static final int HINT_SEARCH_VALUE = 6;
2398 
2399 
2400  public final int getNumber() {
2401  return value;
2402  }
2403 
2409  @java.lang.Deprecated
2410  public static SearchBranching valueOf(int value) {
2411  return forNumber(value);
2412  }
2413 
2418  public static SearchBranching forNumber(int value) {
2419  switch (value) {
2420  case 0: return AUTOMATIC_SEARCH;
2421  case 1: return FIXED_SEARCH;
2422  case 2: return PORTFOLIO_SEARCH;
2423  case 3: return LP_SEARCH;
2424  case 4: return PSEUDO_COST_SEARCH;
2425  case 5: return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
2426  case 6: return HINT_SEARCH;
2427  default: return null;
2428  }
2429  }
2430 
2431  public static com.google.protobuf.Internal.EnumLiteMap<SearchBranching>
2433  return internalValueMap;
2434  }
2435  private static final com.google.protobuf.Internal.EnumLiteMap<
2436  SearchBranching> internalValueMap =
2437  new com.google.protobuf.Internal.EnumLiteMap<SearchBranching>() {
2438  public SearchBranching findValueByNumber(int number) {
2439  return SearchBranching.forNumber(number);
2440  }
2441  };
2442 
2443  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2445  return getDescriptor().getValues().get(ordinal());
2446  }
2447  public final com.google.protobuf.Descriptors.EnumDescriptor
2449  return getDescriptor();
2450  }
2451  public static final com.google.protobuf.Descriptors.EnumDescriptor
2453  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
2454  }
2455 
2456  private static final SearchBranching[] VALUES = values();
2457 
2458  public static SearchBranching valueOf(
2459  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2460  if (desc.getType() != getDescriptor()) {
2461  throw new java.lang.IllegalArgumentException(
2462  "EnumValueDescriptor is not for this type.");
2463  }
2464  return VALUES[desc.getIndex()];
2465  }
2466 
2467  private final int value;
2468 
2469  private SearchBranching(int value) {
2470  this.value = value;
2471  }
2472 
2473  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.SearchBranching)
2474  }
2475 
2483  public enum FPRoundingMethod
2484  implements com.google.protobuf.ProtocolMessageEnum {
2525  ;
2526 
2534  public static final int NEAREST_INTEGER_VALUE = 0;
2544  public static final int LOCK_BASED_VALUE = 1;
2553  public static final int ACTIVE_LOCK_BASED_VALUE = 3;
2566  public static final int PROPAGATION_ASSISTED_VALUE = 2;
2567 
2568 
2569  public final int getNumber() {
2570  return value;
2571  }
2572 
2578  @java.lang.Deprecated
2579  public static FPRoundingMethod valueOf(int value) {
2580  return forNumber(value);
2581  }
2582 
2587  public static FPRoundingMethod forNumber(int value) {
2588  switch (value) {
2589  case 0: return NEAREST_INTEGER;
2590  case 1: return LOCK_BASED;
2591  case 3: return ACTIVE_LOCK_BASED;
2592  case 2: return PROPAGATION_ASSISTED;
2593  default: return null;
2594  }
2595  }
2596 
2597  public static com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>
2599  return internalValueMap;
2600  }
2601  private static final com.google.protobuf.Internal.EnumLiteMap<
2602  FPRoundingMethod> internalValueMap =
2603  new com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>() {
2604  public FPRoundingMethod findValueByNumber(int number) {
2605  return FPRoundingMethod.forNumber(number);
2606  }
2607  };
2608 
2609  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2611  return getDescriptor().getValues().get(ordinal());
2612  }
2613  public final com.google.protobuf.Descriptors.EnumDescriptor
2615  return getDescriptor();
2616  }
2617  public static final com.google.protobuf.Descriptors.EnumDescriptor
2619  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(10);
2620  }
2621 
2622  private static final FPRoundingMethod[] VALUES = values();
2623 
2624  public static FPRoundingMethod valueOf(
2625  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2626  if (desc.getType() != getDescriptor()) {
2627  throw new java.lang.IllegalArgumentException(
2628  "EnumValueDescriptor is not for this type.");
2629  }
2630  return VALUES[desc.getIndex()];
2631  }
2632 
2633  private final int value;
2634 
2635  private FPRoundingMethod(int value) {
2636  this.value = value;
2637  }
2638 
2639  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.FPRoundingMethod)
2640  }
2641 
2642  private int bitField0_;
2643  private int bitField1_;
2644  private int bitField2_;
2645  private int bitField3_;
2646  private int bitField4_;
2647  public static final int NAME_FIELD_NUMBER = 171;
2648  private volatile java.lang.Object name_;
2658  @java.lang.Override
2659  public boolean hasName() {
2660  return ((bitField0_ & 0x00000001) != 0);
2661  }
2671  @java.lang.Override
2672  public java.lang.String getName() {
2673  java.lang.Object ref = name_;
2674  if (ref instanceof java.lang.String) {
2675  return (java.lang.String) ref;
2676  } else {
2677  com.google.protobuf.ByteString bs =
2678  (com.google.protobuf.ByteString) ref;
2679  java.lang.String s = bs.toStringUtf8();
2680  if (bs.isValidUtf8()) {
2681  name_ = s;
2682  }
2683  return s;
2684  }
2685  }
2695  @java.lang.Override
2696  public com.google.protobuf.ByteString
2698  java.lang.Object ref = name_;
2699  if (ref instanceof java.lang.String) {
2700  com.google.protobuf.ByteString b =
2701  com.google.protobuf.ByteString.copyFromUtf8(
2702  (java.lang.String) ref);
2703  name_ = b;
2704  return b;
2705  } else {
2706  return (com.google.protobuf.ByteString) ref;
2707  }
2708  }
2709 
2710  public static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER = 1;
2711  private int preferredVariableOrder_;
2716  @java.lang.Override public boolean hasPreferredVariableOrder() {
2717  return ((bitField0_ & 0x00000002) != 0);
2718  }
2724  @SuppressWarnings("deprecation")
2726  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
2727  }
2728 
2729  public static final int INITIAL_POLARITY_FIELD_NUMBER = 2;
2730  private int initialPolarity_;
2735  @java.lang.Override public boolean hasInitialPolarity() {
2736  return ((bitField0_ & 0x00000004) != 0);
2737  }
2743  @SuppressWarnings("deprecation")
2745  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
2746  }
2747 
2748  public static final int USE_PHASE_SAVING_FIELD_NUMBER = 44;
2749  private boolean usePhaseSaving_;
2766  @java.lang.Override
2767  public boolean hasUsePhaseSaving() {
2768  return ((bitField0_ & 0x00000008) != 0);
2769  }
2786  @java.lang.Override
2787  public boolean getUsePhaseSaving() {
2788  return usePhaseSaving_;
2789  }
2790 
2791  public static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER = 168;
2792  private int polarityRephaseIncrement_;
2803  @java.lang.Override
2804  public boolean hasPolarityRephaseIncrement() {
2805  return ((bitField0_ & 0x00000010) != 0);
2806  }
2817  @java.lang.Override
2819  return polarityRephaseIncrement_;
2820  }
2821 
2822  public static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER = 45;
2823  private double randomPolarityRatio_;
2836  @java.lang.Override
2837  public boolean hasRandomPolarityRatio() {
2838  return ((bitField0_ & 0x00000020) != 0);
2839  }
2852  @java.lang.Override
2853  public double getRandomPolarityRatio() {
2854  return randomPolarityRatio_;
2855  }
2856 
2857  public static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER = 32;
2858  private double randomBranchesRatio_;
2869  @java.lang.Override
2870  public boolean hasRandomBranchesRatio() {
2871  return ((bitField0_ & 0x00000040) != 0);
2872  }
2883  @java.lang.Override
2884  public double getRandomBranchesRatio() {
2885  return randomBranchesRatio_;
2886  }
2887 
2888  public static final int USE_ERWA_HEURISTIC_FIELD_NUMBER = 75;
2889  private boolean useErwaHeuristic_;
2900  @java.lang.Override
2901  public boolean hasUseErwaHeuristic() {
2902  return ((bitField0_ & 0x00000080) != 0);
2903  }
2914  @java.lang.Override
2915  public boolean getUseErwaHeuristic() {
2916  return useErwaHeuristic_;
2917  }
2918 
2919  public static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER = 76;
2920  private double initialVariablesActivity_;
2934  @java.lang.Override
2935  public boolean hasInitialVariablesActivity() {
2936  return ((bitField0_ & 0x00000100) != 0);
2937  }
2951  @java.lang.Override
2953  return initialVariablesActivity_;
2954  }
2955 
2957  private boolean alsoBumpVariablesInConflictReasons_;
2969  @java.lang.Override
2971  return ((bitField0_ & 0x00000200) != 0);
2972  }
2984  @java.lang.Override
2986  return alsoBumpVariablesInConflictReasons_;
2987  }
2988 
2989  public static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER = 4;
2990  private int minimizationAlgorithm_;
2995  @java.lang.Override public boolean hasMinimizationAlgorithm() {
2996  return ((bitField0_ & 0x00000400) != 0);
2997  }
3003  @SuppressWarnings("deprecation")
3005  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
3006  }
3007 
3008  public static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER = 34;
3009  private int binaryMinimizationAlgorithm_;
3014  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
3015  return ((bitField0_ & 0x00000800) != 0);
3016  }
3022  @SuppressWarnings("deprecation")
3025  }
3026 
3028  private boolean subsumptionDuringConflictAnalysis_;
3040  @java.lang.Override
3042  return ((bitField0_ & 0x00001000) != 0);
3043  }
3055  @java.lang.Override
3057  return subsumptionDuringConflictAnalysis_;
3058  }
3059 
3060  public static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER = 11;
3061  private int clauseCleanupPeriod_;
3070  @java.lang.Override
3071  public boolean hasClauseCleanupPeriod() {
3072  return ((bitField0_ & 0x00002000) != 0);
3073  }
3082  @java.lang.Override
3083  public int getClauseCleanupPeriod() {
3084  return clauseCleanupPeriod_;
3085  }
3086 
3087  public static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER = 13;
3088  private int clauseCleanupTarget_;
3098  @java.lang.Override
3099  public boolean hasClauseCleanupTarget() {
3100  return ((bitField0_ & 0x00004000) != 0);
3101  }
3111  @java.lang.Override
3112  public int getClauseCleanupTarget() {
3113  return clauseCleanupTarget_;
3114  }
3115 
3116  public static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER = 58;
3117  private int clauseCleanupProtection_;
3122  @java.lang.Override public boolean hasClauseCleanupProtection() {
3123  return ((bitField0_ & 0x00008000) != 0);
3124  }
3130  @SuppressWarnings("deprecation")
3132  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
3133  }
3134 
3135  public static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER = 59;
3136  private int clauseCleanupLbdBound_;
3146  @java.lang.Override
3147  public boolean hasClauseCleanupLbdBound() {
3148  return ((bitField0_ & 0x00010000) != 0);
3149  }
3159  @java.lang.Override
3161  return clauseCleanupLbdBound_;
3162  }
3163 
3164  public static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER = 60;
3165  private int clauseCleanupOrdering_;
3170  @java.lang.Override public boolean hasClauseCleanupOrdering() {
3171  return ((bitField0_ & 0x00020000) != 0);
3172  }
3178  @SuppressWarnings("deprecation")
3180  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
3181  }
3182 
3183  public static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER = 46;
3184  private int pbCleanupIncrement_;
3193  @java.lang.Override
3194  public boolean hasPbCleanupIncrement() {
3195  return ((bitField0_ & 0x00040000) != 0);
3196  }
3205  @java.lang.Override
3206  public int getPbCleanupIncrement() {
3207  return pbCleanupIncrement_;
3208  }
3209 
3210  public static final int PB_CLEANUP_RATIO_FIELD_NUMBER = 47;
3211  private double pbCleanupRatio_;
3216  @java.lang.Override
3217  public boolean hasPbCleanupRatio() {
3218  return ((bitField0_ & 0x00080000) != 0);
3219  }
3224  @java.lang.Override
3225  public double getPbCleanupRatio() {
3226  return pbCleanupRatio_;
3227  }
3228 
3230  private int minimizeWithPropagationRestartPeriod_;
3249  @java.lang.Override
3251  return ((bitField0_ & 0x00100000) != 0);
3252  }
3271  @java.lang.Override
3273  return minimizeWithPropagationRestartPeriod_;
3274  }
3275 
3277  private int minimizeWithPropagationNumDecisions_;
3282  @java.lang.Override
3284  return ((bitField0_ & 0x00200000) != 0);
3285  }
3290  @java.lang.Override
3292  return minimizeWithPropagationNumDecisions_;
3293  }
3294 
3295  public static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER = 15;
3296  private double variableActivityDecay_;
3311  @java.lang.Override
3312  public boolean hasVariableActivityDecay() {
3313  return ((bitField0_ & 0x00400000) != 0);
3314  }
3329  @java.lang.Override
3330  public double getVariableActivityDecay() {
3331  return variableActivityDecay_;
3332  }
3333 
3334  public static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER = 16;
3335  private double maxVariableActivityValue_;
3340  @java.lang.Override
3341  public boolean hasMaxVariableActivityValue() {
3342  return ((bitField0_ & 0x00800000) != 0);
3343  }
3348  @java.lang.Override
3350  return maxVariableActivityValue_;
3351  }
3352 
3353  public static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER = 22;
3354  private double glucoseMaxDecay_;
3366  @java.lang.Override
3367  public boolean hasGlucoseMaxDecay() {
3368  return ((bitField0_ & 0x01000000) != 0);
3369  }
3381  @java.lang.Override
3382  public double getGlucoseMaxDecay() {
3383  return glucoseMaxDecay_;
3384  }
3385 
3386  public static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER = 23;
3387  private double glucoseDecayIncrement_;
3392  @java.lang.Override
3393  public boolean hasGlucoseDecayIncrement() {
3394  return ((bitField0_ & 0x02000000) != 0);
3395  }
3400  @java.lang.Override
3401  public double getGlucoseDecayIncrement() {
3402  return glucoseDecayIncrement_;
3403  }
3404 
3405  public static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER = 24;
3406  private int glucoseDecayIncrementPeriod_;
3411  @java.lang.Override
3413  return ((bitField0_ & 0x04000000) != 0);
3414  }
3419  @java.lang.Override
3421  return glucoseDecayIncrementPeriod_;
3422  }
3423 
3424  public static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER = 17;
3425  private double clauseActivityDecay_;
3434  @java.lang.Override
3435  public boolean hasClauseActivityDecay() {
3436  return ((bitField0_ & 0x08000000) != 0);
3437  }
3446  @java.lang.Override
3447  public double getClauseActivityDecay() {
3448  return clauseActivityDecay_;
3449  }
3450 
3451  public static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER = 18;
3452  private double maxClauseActivityValue_;
3457  @java.lang.Override
3458  public boolean hasMaxClauseActivityValue() {
3459  return ((bitField0_ & 0x10000000) != 0);
3460  }
3465  @java.lang.Override
3466  public double getMaxClauseActivityValue() {
3467  return maxClauseActivityValue_;
3468  }
3469 
3470  public static final int RESTART_ALGORITHMS_FIELD_NUMBER = 61;
3471  private java.util.List<java.lang.Integer> restartAlgorithms_;
3472  private static final com.google.protobuf.Internal.ListAdapter.Converter<
3473  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm> restartAlgorithms_converter_ =
3474  new com.google.protobuf.Internal.ListAdapter.Converter<
3475  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>() {
3476  public com.google.ortools.sat.SatParameters.RestartAlgorithm convert(java.lang.Integer from) {
3477  @SuppressWarnings("deprecation")
3479  return result == null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
3480  }
3481  };
3497  @java.lang.Override
3499  return new com.google.protobuf.Internal.ListAdapter<
3500  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
3501  }
3517  @java.lang.Override
3519  return restartAlgorithms_.size();
3520  }
3537  @java.lang.Override
3539  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
3540  }
3541 
3542  public static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER = 70;
3543  private volatile java.lang.Object defaultRestartAlgorithms_;
3548  @java.lang.Override
3549  public boolean hasDefaultRestartAlgorithms() {
3550  return ((bitField0_ & 0x20000000) != 0);
3551  }
3556  @java.lang.Override
3557  public java.lang.String getDefaultRestartAlgorithms() {
3558  java.lang.Object ref = defaultRestartAlgorithms_;
3559  if (ref instanceof java.lang.String) {
3560  return (java.lang.String) ref;
3561  } else {
3562  com.google.protobuf.ByteString bs =
3563  (com.google.protobuf.ByteString) ref;
3564  java.lang.String s = bs.toStringUtf8();
3565  if (bs.isValidUtf8()) {
3566  defaultRestartAlgorithms_ = s;
3567  }
3568  return s;
3569  }
3570  }
3575  @java.lang.Override
3576  public com.google.protobuf.ByteString
3578  java.lang.Object ref = defaultRestartAlgorithms_;
3579  if (ref instanceof java.lang.String) {
3580  com.google.protobuf.ByteString b =
3581  com.google.protobuf.ByteString.copyFromUtf8(
3582  (java.lang.String) ref);
3583  defaultRestartAlgorithms_ = b;
3584  return b;
3585  } else {
3586  return (com.google.protobuf.ByteString) ref;
3587  }
3588  }
3589 
3590  public static final int RESTART_PERIOD_FIELD_NUMBER = 30;
3591  private int restartPeriod_;
3601  @java.lang.Override
3602  public boolean hasRestartPeriod() {
3603  return ((bitField0_ & 0x40000000) != 0);
3604  }
3614  @java.lang.Override
3615  public int getRestartPeriod() {
3616  return restartPeriod_;
3617  }
3618 
3619  public static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER = 62;
3620  private int restartRunningWindowSize_;
3629  @java.lang.Override
3630  public boolean hasRestartRunningWindowSize() {
3631  return ((bitField0_ & 0x80000000) != 0);
3632  }
3641  @java.lang.Override
3643  return restartRunningWindowSize_;
3644  }
3645 
3646  public static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER = 63;
3647  private double restartDlAverageRatio_;
3657  @java.lang.Override
3658  public boolean hasRestartDlAverageRatio() {
3659  return ((bitField1_ & 0x00000001) != 0);
3660  }
3670  @java.lang.Override
3671  public double getRestartDlAverageRatio() {
3672  return restartDlAverageRatio_;
3673  }
3674 
3675  public static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER = 71;
3676  private double restartLbdAverageRatio_;
3681  @java.lang.Override
3682  public boolean hasRestartLbdAverageRatio() {
3683  return ((bitField1_ & 0x00000002) != 0);
3684  }
3689  @java.lang.Override
3690  public double getRestartLbdAverageRatio() {
3691  return restartLbdAverageRatio_;
3692  }
3693 
3694  public static final int USE_BLOCKING_RESTART_FIELD_NUMBER = 64;
3695  private boolean useBlockingRestart_;
3706  @java.lang.Override
3707  public boolean hasUseBlockingRestart() {
3708  return ((bitField1_ & 0x00000004) != 0);
3709  }
3720  @java.lang.Override
3721  public boolean getUseBlockingRestart() {
3722  return useBlockingRestart_;
3723  }
3724 
3725  public static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER = 65;
3726  private int blockingRestartWindowSize_;
3731  @java.lang.Override
3732  public boolean hasBlockingRestartWindowSize() {
3733  return ((bitField1_ & 0x00000008) != 0);
3734  }
3739  @java.lang.Override
3741  return blockingRestartWindowSize_;
3742  }
3743 
3744  public static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER = 66;
3745  private double blockingRestartMultiplier_;
3750  @java.lang.Override
3751  public boolean hasBlockingRestartMultiplier() {
3752  return ((bitField1_ & 0x00000010) != 0);
3753  }
3758  @java.lang.Override
3760  return blockingRestartMultiplier_;
3761  }
3762 
3764  private int numConflictsBeforeStrategyChanges_;
3775  @java.lang.Override
3777  return ((bitField1_ & 0x00000020) != 0);
3778  }
3789  @java.lang.Override
3791  return numConflictsBeforeStrategyChanges_;
3792  }
3793 
3794  public static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER = 69;
3795  private double strategyChangeIncreaseRatio_;
3805  @java.lang.Override
3807  return ((bitField1_ & 0x00000040) != 0);
3808  }
3818  @java.lang.Override
3820  return strategyChangeIncreaseRatio_;
3821  }
3822 
3823  public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 36;
3824  private double maxTimeInSeconds_;
3834  @java.lang.Override
3835  public boolean hasMaxTimeInSeconds() {
3836  return ((bitField1_ & 0x00000080) != 0);
3837  }
3847  @java.lang.Override
3848  public double getMaxTimeInSeconds() {
3849  return maxTimeInSeconds_;
3850  }
3851 
3852  public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 67;
3853  private double maxDeterministicTime_;
3864  @java.lang.Override
3865  public boolean hasMaxDeterministicTime() {
3866  return ((bitField1_ & 0x00000100) != 0);
3867  }
3878  @java.lang.Override
3879  public double getMaxDeterministicTime() {
3880  return maxDeterministicTime_;
3881  }
3882 
3883  public static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER = 37;
3884  private long maxNumberOfConflicts_;
3898  @java.lang.Override
3899  public boolean hasMaxNumberOfConflicts() {
3900  return ((bitField1_ & 0x00000200) != 0);
3901  }
3915  @java.lang.Override
3916  public long getMaxNumberOfConflicts() {
3917  return maxNumberOfConflicts_;
3918  }
3919 
3920  public static final int MAX_MEMORY_IN_MB_FIELD_NUMBER = 40;
3921  private long maxMemoryInMb_;
3933  @java.lang.Override
3934  public boolean hasMaxMemoryInMb() {
3935  return ((bitField1_ & 0x00000400) != 0);
3936  }
3948  @java.lang.Override
3949  public long getMaxMemoryInMb() {
3950  return maxMemoryInMb_;
3951  }
3952 
3953  public static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER = 159;
3954  private double absoluteGapLimit_;
3972  @java.lang.Override
3973  public boolean hasAbsoluteGapLimit() {
3974  return ((bitField1_ & 0x00000800) != 0);
3975  }
3993  @java.lang.Override
3994  public double getAbsoluteGapLimit() {
3995  return absoluteGapLimit_;
3996  }
3997 
3998  public static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER = 160;
3999  private double relativeGapLimit_;
4004  @java.lang.Override
4005  public boolean hasRelativeGapLimit() {
4006  return ((bitField1_ & 0x00001000) != 0);
4007  }
4012  @java.lang.Override
4013  public double getRelativeGapLimit() {
4014  return relativeGapLimit_;
4015  }
4016 
4017  public static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER = 33;
4018  private boolean treatBinaryClausesSeparately_;
4029  @java.lang.Override
4031  return ((bitField1_ & 0x00002000) != 0);
4032  }
4043  @java.lang.Override
4045  return treatBinaryClausesSeparately_;
4046  }
4047 
4048  public static final int RANDOM_SEED_FIELD_NUMBER = 31;
4049  private int randomSeed_;
4063  @java.lang.Override
4064  public boolean hasRandomSeed() {
4065  return ((bitField1_ & 0x00004000) != 0);
4066  }
4080  @java.lang.Override
4081  public int getRandomSeed() {
4082  return randomSeed_;
4083  }
4084 
4085  public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 41;
4086  private boolean logSearchProgress_;
4095  @java.lang.Override
4096  public boolean hasLogSearchProgress() {
4097  return ((bitField1_ & 0x00008000) != 0);
4098  }
4107  @java.lang.Override
4108  public boolean getLogSearchProgress() {
4109  return logSearchProgress_;
4110  }
4111 
4112  public static final int USE_PB_RESOLUTION_FIELD_NUMBER = 43;
4113  private boolean usePbResolution_;
4125  @java.lang.Override
4126  public boolean hasUsePbResolution() {
4127  return ((bitField1_ & 0x00010000) != 0);
4128  }
4140  @java.lang.Override
4141  public boolean getUsePbResolution() {
4142  return usePbResolution_;
4143  }
4144 
4146  private boolean minimizeReductionDuringPbResolution_;
4158  @java.lang.Override
4160  return ((bitField1_ & 0x00020000) != 0);
4161  }
4173  @java.lang.Override
4175  return minimizeReductionDuringPbResolution_;
4176  }
4177 
4178  public static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER = 49;
4179  private boolean countAssumptionLevelsInLbd_;
4195  @java.lang.Override
4197  return ((bitField1_ & 0x00040000) != 0);
4198  }
4214  @java.lang.Override
4216  return countAssumptionLevelsInLbd_;
4217  }
4218 
4219  public static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER = 54;
4220  private int presolveBveThreshold_;
4231  @java.lang.Override
4232  public boolean hasPresolveBveThreshold() {
4233  return ((bitField1_ & 0x00080000) != 0);
4234  }
4245  @java.lang.Override
4247  return presolveBveThreshold_;
4248  }
4249 
4250  public static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER = 55;
4251  private int presolveBveClauseWeight_;
4261  @java.lang.Override
4262  public boolean hasPresolveBveClauseWeight() {
4263  return ((bitField1_ & 0x00100000) != 0);
4264  }
4274  @java.lang.Override
4276  return presolveBveClauseWeight_;
4277  }
4278 
4280  private double presolveProbingDeterministicTimeLimit_;
4290  @java.lang.Override
4292  return ((bitField1_ & 0x00200000) != 0);
4293  }
4303  @java.lang.Override
4305  return presolveProbingDeterministicTimeLimit_;
4306  }
4307 
4308  public static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER = 88;
4309  private boolean presolveBlockedClause_;
4319  @java.lang.Override
4320  public boolean hasPresolveBlockedClause() {
4321  return ((bitField1_ & 0x00400000) != 0);
4322  }
4332  @java.lang.Override
4333  public boolean getPresolveBlockedClause() {
4334  return presolveBlockedClause_;
4335  }
4336 
4337  public static final int PRESOLVE_USE_BVA_FIELD_NUMBER = 72;
4338  private boolean presolveUseBva_;
4347  @java.lang.Override
4348  public boolean hasPresolveUseBva() {
4349  return ((bitField1_ & 0x00800000) != 0);
4350  }
4359  @java.lang.Override
4360  public boolean getPresolveUseBva() {
4361  return presolveUseBva_;
4362  }
4363 
4364  public static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER = 73;
4365  private int presolveBvaThreshold_;
4377  @java.lang.Override
4378  public boolean hasPresolveBvaThreshold() {
4379  return ((bitField1_ & 0x01000000) != 0);
4380  }
4392  @java.lang.Override
4394  return presolveBvaThreshold_;
4395  }
4396 
4397  public static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER = 138;
4398  private int maxPresolveIterations_;
4409  @java.lang.Override
4410  public boolean hasMaxPresolveIterations() {
4411  return ((bitField1_ & 0x02000000) != 0);
4412  }
4423  @java.lang.Override
4425  return maxPresolveIterations_;
4426  }
4427 
4428  public static final int CP_MODEL_PRESOLVE_FIELD_NUMBER = 86;
4429  private boolean cpModelPresolve_;
4438  @java.lang.Override
4439  public boolean hasCpModelPresolve() {
4440  return ((bitField1_ & 0x04000000) != 0);
4441  }
4450  @java.lang.Override
4451  public boolean getCpModelPresolve() {
4452  return cpModelPresolve_;
4453  }
4454 
4456  private boolean cpModelPostsolveWithFullSolver_;
4468  @java.lang.Override
4470  return ((bitField1_ & 0x08000000) != 0);
4471  }
4483  @java.lang.Override
4485  return cpModelPostsolveWithFullSolver_;
4486  }
4487 
4489  private int cpModelMaxNumPresolveOperations_;
4499  @java.lang.Override
4501  return ((bitField1_ & 0x10000000) != 0);
4502  }
4512  @java.lang.Override
4514  return cpModelMaxNumPresolveOperations_;
4515  }
4516 
4517  public static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER = 110;
4518  private int cpModelProbingLevel_;
4527  @java.lang.Override
4528  public boolean hasCpModelProbingLevel() {
4529  return ((bitField1_ & 0x20000000) != 0);
4530  }
4539  @java.lang.Override
4540  public int getCpModelProbingLevel() {
4541  return cpModelProbingLevel_;
4542  }
4543 
4544  public static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER = 93;
4545  private boolean cpModelUseSatPresolve_;
4554  @java.lang.Override
4555  public boolean hasCpModelUseSatPresolve() {
4556  return ((bitField1_ & 0x40000000) != 0);
4557  }
4566  @java.lang.Override
4567  public boolean getCpModelUseSatPresolve() {
4568  return cpModelUseSatPresolve_;
4569  }
4570 
4571  public static final int USE_SAT_INPROCESSING_FIELD_NUMBER = 163;
4572  private boolean useSatInprocessing_;
4577  @java.lang.Override
4578  public boolean hasUseSatInprocessing() {
4579  return ((bitField1_ & 0x80000000) != 0);
4580  }
4585  @java.lang.Override
4586  public boolean getUseSatInprocessing() {
4587  return useSatInprocessing_;
4588  }
4589 
4590  public static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER = 140;
4591  private boolean expandElementConstraints_;
4601  @java.lang.Override
4602  public boolean hasExpandElementConstraints() {
4603  return ((bitField2_ & 0x00000001) != 0);
4604  }
4614  @java.lang.Override
4615  public boolean getExpandElementConstraints() {
4616  return expandElementConstraints_;
4617  }
4618 
4619  public static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER = 143;
4620  private boolean expandAutomatonConstraints_;
4629  @java.lang.Override
4631  return ((bitField2_ & 0x00000002) != 0);
4632  }
4641  @java.lang.Override
4643  return expandAutomatonConstraints_;
4644  }
4645 
4646  public static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER = 158;
4647  private boolean expandTableConstraints_;
4657  @java.lang.Override
4658  public boolean hasExpandTableConstraints() {
4659  return ((bitField2_ & 0x00000004) != 0);
4660  }
4670  @java.lang.Override
4671  public boolean getExpandTableConstraints() {
4672  return expandTableConstraints_;
4673  }
4674 
4675  public static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER = 170;
4676  private boolean expandAlldiffConstraints_;
4686  @java.lang.Override
4687  public boolean hasExpandAlldiffConstraints() {
4688  return ((bitField2_ & 0x00000008) != 0);
4689  }
4699  @java.lang.Override
4700  public boolean getExpandAlldiffConstraints() {
4701  return expandAlldiffConstraints_;
4702  }
4703 
4704  public static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER = 145;
4705  private double mergeNoOverlapWorkLimit_;
4718  @java.lang.Override
4719  public boolean hasMergeNoOverlapWorkLimit() {
4720  return ((bitField2_ & 0x00000010) != 0);
4721  }
4734  @java.lang.Override
4735  public double getMergeNoOverlapWorkLimit() {
4736  return mergeNoOverlapWorkLimit_;
4737  }
4738 
4739  public static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER = 146;
4740  private double mergeAtMostOneWorkLimit_;
4745  @java.lang.Override
4746  public boolean hasMergeAtMostOneWorkLimit() {
4747  return ((bitField2_ & 0x00000020) != 0);
4748  }
4753  @java.lang.Override
4754  public double getMergeAtMostOneWorkLimit() {
4755  return mergeAtMostOneWorkLimit_;
4756  }
4757 
4758  public static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER = 147;
4759  private int presolveSubstitutionLevel_;
4771  @java.lang.Override
4772  public boolean hasPresolveSubstitutionLevel() {
4773  return ((bitField2_ & 0x00000040) != 0);
4774  }
4786  @java.lang.Override
4788  return presolveSubstitutionLevel_;
4789  }
4790 
4792  private boolean presolveExtractIntegerEnforcement_;
4806  @java.lang.Override
4808  return ((bitField2_ & 0x00000080) != 0);
4809  }
4823  @java.lang.Override
4825  return presolveExtractIntegerEnforcement_;
4826  }
4827 
4828  public static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER = 35;
4829  private boolean useOptimizationHints_;
4841  @java.lang.Override
4842  public boolean hasUseOptimizationHints() {
4843  return ((bitField2_ & 0x00000100) != 0);
4844  }
4856  @java.lang.Override
4857  public boolean getUseOptimizationHints() {
4858  return useOptimizationHints_;
4859  }
4860 
4861  public static final int MINIMIZE_CORE_FIELD_NUMBER = 50;
4862  private boolean minimizeCore_;
4871  @java.lang.Override
4872  public boolean hasMinimizeCore() {
4873  return ((bitField2_ & 0x00000200) != 0);
4874  }
4883  @java.lang.Override
4884  public boolean getMinimizeCore() {
4885  return minimizeCore_;
4886  }
4887 
4888  public static final int FIND_MULTIPLE_CORES_FIELD_NUMBER = 84;
4889  private boolean findMultipleCores_;
4899  @java.lang.Override
4900  public boolean hasFindMultipleCores() {
4901  return ((bitField2_ & 0x00000400) != 0);
4902  }
4912  @java.lang.Override
4913  public boolean getFindMultipleCores() {
4914  return findMultipleCores_;
4915  }
4916 
4917  public static final int COVER_OPTIMIZATION_FIELD_NUMBER = 89;
4918  private boolean coverOptimization_;
4928  @java.lang.Override
4929  public boolean hasCoverOptimization() {
4930  return ((bitField2_ & 0x00000800) != 0);
4931  }
4941  @java.lang.Override
4942  public boolean getCoverOptimization() {
4943  return coverOptimization_;
4944  }
4945 
4946  public static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER = 51;
4947  private int maxSatAssumptionOrder_;
4952  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
4953  return ((bitField2_ & 0x00001000) != 0);
4954  }
4960  @SuppressWarnings("deprecation")
4963  }
4964 
4966  private boolean maxSatReverseAssumptionOrder_;
4976  @java.lang.Override
4978  return ((bitField2_ & 0x00002000) != 0);
4979  }
4989  @java.lang.Override
4991  return maxSatReverseAssumptionOrder_;
4992  }
4993 
4994  public static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER = 53;
4995  private int maxSatStratification_;
5000  @java.lang.Override public boolean hasMaxSatStratification() {
5001  return ((bitField2_ & 0x00004000) != 0);
5002  }
5008  @SuppressWarnings("deprecation")
5011  }
5012 
5014  private boolean usePrecedencesInDisjunctiveConstraint_;
5030  @java.lang.Override
5032  return ((bitField2_ & 0x00008000) != 0);
5033  }
5049  @java.lang.Override
5051  return usePrecedencesInDisjunctiveConstraint_;
5052  }
5053 
5055  private boolean useOverloadCheckerInCumulativeConstraint_;
5069  @java.lang.Override
5071  return ((bitField2_ & 0x00010000) != 0);
5072  }
5086  @java.lang.Override
5088  return useOverloadCheckerInCumulativeConstraint_;
5089  }
5090 
5092  private boolean useTimetableEdgeFindingInCumulativeConstraint_;
5106  @java.lang.Override
5108  return ((bitField2_ & 0x00020000) != 0);
5109  }
5123  @java.lang.Override
5125  return useTimetableEdgeFindingInCumulativeConstraint_;
5126  }
5127 
5129  private boolean useDisjunctiveConstraintInCumulativeConstraint_;
5145  @java.lang.Override
5147  return ((bitField2_ & 0x00040000) != 0);
5148  }
5164  @java.lang.Override
5166  return useDisjunctiveConstraintInCumulativeConstraint_;
5167  }
5168 
5169  public static final int LINEARIZATION_LEVEL_FIELD_NUMBER = 90;
5170  private int linearizationLevel_;
5182  @java.lang.Override
5183  public boolean hasLinearizationLevel() {
5184  return ((bitField2_ & 0x00080000) != 0);
5185  }
5197  @java.lang.Override
5198  public int getLinearizationLevel() {
5199  return linearizationLevel_;
5200  }
5201 
5202  public static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER = 107;
5203  private int booleanEncodingLevel_;
5213  @java.lang.Override
5214  public boolean hasBooleanEncodingLevel() {
5215  return ((bitField2_ & 0x00100000) != 0);
5216  }
5226  @java.lang.Override
5228  return booleanEncodingLevel_;
5229  }
5230 
5231  public static final int MAX_NUM_CUTS_FIELD_NUMBER = 91;
5232  private int maxNumCuts_;
5244  @java.lang.Override
5245  public boolean hasMaxNumCuts() {
5246  return ((bitField2_ & 0x00200000) != 0);
5247  }
5259  @java.lang.Override
5260  public int getMaxNumCuts() {
5261  return maxNumCuts_;
5262  }
5263 
5264  public static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER = 92;
5265  private boolean onlyAddCutsAtLevelZero_;
5275  @java.lang.Override
5276  public boolean hasOnlyAddCutsAtLevelZero() {
5277  return ((bitField2_ & 0x00400000) != 0);
5278  }
5288  @java.lang.Override
5289  public boolean getOnlyAddCutsAtLevelZero() {
5290  return onlyAddCutsAtLevelZero_;
5291  }
5292 
5293  public static final int ADD_KNAPSACK_CUTS_FIELD_NUMBER = 111;
5294  private boolean addKnapsackCuts_;
5305  @java.lang.Override
5306  public boolean hasAddKnapsackCuts() {
5307  return ((bitField2_ & 0x00800000) != 0);
5308  }
5319  @java.lang.Override
5320  public boolean getAddKnapsackCuts() {
5321  return addKnapsackCuts_;
5322  }
5323 
5324  public static final int ADD_CG_CUTS_FIELD_NUMBER = 117;
5325  private boolean addCgCuts_;
5335  @java.lang.Override
5336  public boolean hasAddCgCuts() {
5337  return ((bitField2_ & 0x01000000) != 0);
5338  }
5348  @java.lang.Override
5349  public boolean getAddCgCuts() {
5350  return addCgCuts_;
5351  }
5352 
5353  public static final int ADD_MIR_CUTS_FIELD_NUMBER = 120;
5354  private boolean addMirCuts_;
5364  @java.lang.Override
5365  public boolean hasAddMirCuts() {
5366  return ((bitField2_ & 0x02000000) != 0);
5367  }
5377  @java.lang.Override
5378  public boolean getAddMirCuts() {
5379  return addMirCuts_;
5380  }
5381 
5382  public static final int ADD_ZERO_HALF_CUTS_FIELD_NUMBER = 169;
5383  private boolean addZeroHalfCuts_;
5393  @java.lang.Override
5394  public boolean hasAddZeroHalfCuts() {
5395  return ((bitField2_ & 0x04000000) != 0);
5396  }
5406  @java.lang.Override
5407  public boolean getAddZeroHalfCuts() {
5408  return addZeroHalfCuts_;
5409  }
5410 
5411  public static final int ADD_CLIQUE_CUTS_FIELD_NUMBER = 172;
5412  private boolean addCliqueCuts_;
5423  @java.lang.Override
5424  public boolean hasAddCliqueCuts() {
5425  return ((bitField2_ & 0x08000000) != 0);
5426  }
5437  @java.lang.Override
5438  public boolean getAddCliqueCuts() {
5439  return addCliqueCuts_;
5440  }
5441 
5442  public static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER = 148;
5443  private int maxAllDiffCutSize_;
5454  @java.lang.Override
5455  public boolean hasMaxAllDiffCutSize() {
5456  return ((bitField2_ & 0x10000000) != 0);
5457  }
5468  @java.lang.Override
5469  public int getMaxAllDiffCutSize() {
5470  return maxAllDiffCutSize_;
5471  }
5472 
5473  public static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER = 152;
5474  private boolean addLinMaxCuts_;
5485  @java.lang.Override
5486  public boolean hasAddLinMaxCuts() {
5487  return ((bitField2_ & 0x20000000) != 0);
5488  }
5499  @java.lang.Override
5500  public boolean getAddLinMaxCuts() {
5501  return addLinMaxCuts_;
5502  }
5503 
5504  public static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER = 119;
5505  private int maxIntegerRoundingScaling_;
5520  @java.lang.Override
5521  public boolean hasMaxIntegerRoundingScaling() {
5522  return ((bitField2_ & 0x40000000) != 0);
5523  }
5538  @java.lang.Override
5540  return maxIntegerRoundingScaling_;
5541  }
5542 
5543  public static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER = 112;
5544  private boolean addLpConstraintsLazily_;
5556  @java.lang.Override
5557  public boolean hasAddLpConstraintsLazily() {
5558  return ((bitField2_ & 0x80000000) != 0);
5559  }
5571  @java.lang.Override
5572  public boolean getAddLpConstraintsLazily() {
5573  return addLpConstraintsLazily_;
5574  }
5575 
5577  private double minOrthogonalityForLpConstraints_;
5590  @java.lang.Override
5592  return ((bitField3_ & 0x00000001) != 0);
5593  }
5606  @java.lang.Override
5608  return minOrthogonalityForLpConstraints_;
5609  }
5610 
5611  public static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER = 154;
5612  private int maxCutRoundsAtLevelZero_;
5621  @java.lang.Override
5622  public boolean hasMaxCutRoundsAtLevelZero() {
5623  return ((bitField3_ & 0x00000002) != 0);
5624  }
5633  @java.lang.Override
5635  return maxCutRoundsAtLevelZero_;
5636  }
5637 
5638  public static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER = 121;
5639  private int maxConsecutiveInactiveCount_;
5650  @java.lang.Override
5652  return ((bitField3_ & 0x00000004) != 0);
5653  }
5664  @java.lang.Override
5666  return maxConsecutiveInactiveCount_;
5667  }
5668 
5669  public static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER = 155;
5670  private double cutMaxActiveCountValue_;
5681  @java.lang.Override
5682  public boolean hasCutMaxActiveCountValue() {
5683  return ((bitField3_ & 0x00000008) != 0);
5684  }
5695  @java.lang.Override
5696  public double getCutMaxActiveCountValue() {
5697  return cutMaxActiveCountValue_;
5698  }
5699 
5700  public static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER = 156;
5701  private double cutActiveCountDecay_;
5706  @java.lang.Override
5707  public boolean hasCutActiveCountDecay() {
5708  return ((bitField3_ & 0x00000010) != 0);
5709  }
5714  @java.lang.Override
5715  public double getCutActiveCountDecay() {
5716  return cutActiveCountDecay_;
5717  }
5718 
5719  public static final int CUT_CLEANUP_TARGET_FIELD_NUMBER = 157;
5720  private int cutCleanupTarget_;
5729  @java.lang.Override
5730  public boolean hasCutCleanupTarget() {
5731  return ((bitField3_ & 0x00000020) != 0);
5732  }
5741  @java.lang.Override
5742  public int getCutCleanupTarget() {
5743  return cutCleanupTarget_;
5744  }
5745 
5746  public static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER = 122;
5747  private int newConstraintsBatchSize_;
5757  @java.lang.Override
5758  public boolean hasNewConstraintsBatchSize() {
5759  return ((bitField3_ & 0x00000040) != 0);
5760  }
5770  @java.lang.Override
5772  return newConstraintsBatchSize_;
5773  }
5774 
5775  public static final int SEARCH_BRANCHING_FIELD_NUMBER = 82;
5776  private int searchBranching_;
5781  @java.lang.Override public boolean hasSearchBranching() {
5782  return ((bitField3_ & 0x00000080) != 0);
5783  }
5789  @SuppressWarnings("deprecation")
5791  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
5792  }
5793 
5794  public static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER = 153;
5795  private int hintConflictLimit_;
5804  @java.lang.Override
5805  public boolean hasHintConflictLimit() {
5806  return ((bitField3_ & 0x00000100) != 0);
5807  }
5816  @java.lang.Override
5817  public int getHintConflictLimit() {
5818  return hintConflictLimit_;
5819  }
5820 
5821  public static final int REPAIR_HINT_FIELD_NUMBER = 167;
5822  private boolean repairHint_;
5834  @java.lang.Override
5835  public boolean hasRepairHint() {
5836  return ((bitField3_ & 0x00000200) != 0);
5837  }
5849  @java.lang.Override
5850  public boolean getRepairHint() {
5851  return repairHint_;
5852  }
5853 
5854  public static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER = 94;
5855  private boolean exploitIntegerLpSolution_;
5867  @java.lang.Override
5868  public boolean hasExploitIntegerLpSolution() {
5869  return ((bitField3_ & 0x00000400) != 0);
5870  }
5882  @java.lang.Override
5883  public boolean getExploitIntegerLpSolution() {
5884  return exploitIntegerLpSolution_;
5885  }
5886 
5887  public static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER = 116;
5888  private boolean exploitAllLpSolution_;
5899  @java.lang.Override
5900  public boolean hasExploitAllLpSolution() {
5901  return ((bitField3_ & 0x00000800) != 0);
5902  }
5913  @java.lang.Override
5914  public boolean getExploitAllLpSolution() {
5915  return exploitAllLpSolution_;
5916  }
5917 
5918  public static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER = 130;
5919  private boolean exploitBestSolution_;
5928  @java.lang.Override
5929  public boolean hasExploitBestSolution() {
5930  return ((bitField3_ & 0x00001000) != 0);
5931  }
5940  @java.lang.Override
5941  public boolean getExploitBestSolution() {
5942  return exploitBestSolution_;
5943  }
5944 
5945  public static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER = 161;
5946  private boolean exploitRelaxationSolution_;
5957  @java.lang.Override
5958  public boolean hasExploitRelaxationSolution() {
5959  return ((bitField3_ & 0x00002000) != 0);
5960  }
5971  @java.lang.Override
5972  public boolean getExploitRelaxationSolution() {
5973  return exploitRelaxationSolution_;
5974  }
5975 
5976  public static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER = 131;
5977  private boolean exploitObjective_;
5987  @java.lang.Override
5988  public boolean hasExploitObjective() {
5989  return ((bitField3_ & 0x00004000) != 0);
5990  }
6000  @java.lang.Override
6001  public boolean getExploitObjective() {
6002  return exploitObjective_;
6003  }
6004 
6005  public static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER = 142;
6006  private long probingPeriodAtRoot_;
6017  @java.lang.Override
6018  public boolean hasProbingPeriodAtRoot() {
6019  return ((bitField3_ & 0x00008000) != 0);
6020  }
6031  @java.lang.Override
6032  public long getProbingPeriodAtRoot() {
6033  return probingPeriodAtRoot_;
6034  }
6035 
6036  public static final int USE_PROBING_SEARCH_FIELD_NUMBER = 176;
6037  private boolean useProbingSearch_;
6047  @java.lang.Override
6048  public boolean hasUseProbingSearch() {
6049  return ((bitField3_ & 0x00010000) != 0);
6050  }
6060  @java.lang.Override
6061  public boolean getUseProbingSearch() {
6062  return useProbingSearch_;
6063  }
6064 
6065  public static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER = 123;
6066  private long pseudoCostReliabilityThreshold_;
6076  @java.lang.Override
6078  return ((bitField3_ & 0x00020000) != 0);
6079  }
6089  @java.lang.Override
6091  return pseudoCostReliabilityThreshold_;
6092  }
6093 
6094  public static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER = 83;
6095  private boolean optimizeWithCore_;
6107  @java.lang.Override
6108  public boolean hasOptimizeWithCore() {
6109  return ((bitField3_ & 0x00040000) != 0);
6110  }
6122  @java.lang.Override
6123  public boolean getOptimizeWithCore() {
6124  return optimizeWithCore_;
6125  }
6126 
6127  public static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER = 99;
6128  private int binarySearchNumConflicts_;
6140  @java.lang.Override
6141  public boolean hasBinarySearchNumConflicts() {
6142  return ((bitField3_ & 0x00080000) != 0);
6143  }
6155  @java.lang.Override
6157  return binarySearchNumConflicts_;
6158  }
6159 
6160  public static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER = 85;
6161  private boolean optimizeWithMaxHs_;
6175  @java.lang.Override
6176  public boolean hasOptimizeWithMaxHs() {
6177  return ((bitField3_ & 0x00100000) != 0);
6178  }
6192  @java.lang.Override
6193  public boolean getOptimizeWithMaxHs() {
6194  return optimizeWithMaxHs_;
6195  }
6196 
6197  public static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER = 87;
6198  private boolean enumerateAllSolutions_;
6212  @java.lang.Override
6213  public boolean hasEnumerateAllSolutions() {
6214  return ((bitField3_ & 0x00200000) != 0);
6215  }
6229  @java.lang.Override
6230  public boolean getEnumerateAllSolutions() {
6231  return enumerateAllSolutions_;
6232  }
6233 
6235  private boolean keepAllFeasibleSolutionsInPresolve_;
6250  @java.lang.Override
6252  return ((bitField3_ & 0x00400000) != 0);
6253  }
6268  @java.lang.Override
6270  return keepAllFeasibleSolutionsInPresolve_;
6271  }
6272 
6274  private boolean fillTightenedDomainsInResponse_;
6287  @java.lang.Override
6289  return ((bitField3_ & 0x00800000) != 0);
6290  }
6303  @java.lang.Override
6305  return fillTightenedDomainsInResponse_;
6306  }
6307 
6308  public static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER = 106;
6309  private boolean instantiateAllVariables_;
6319  @java.lang.Override
6320  public boolean hasInstantiateAllVariables() {
6321  return ((bitField3_ & 0x01000000) != 0);
6322  }
6332  @java.lang.Override
6333  public boolean getInstantiateAllVariables() {
6334  return instantiateAllVariables_;
6335  }
6336 
6338  private boolean autoDetectGreaterThanAtLeastOneOf_;
6350  @java.lang.Override
6352  return ((bitField3_ & 0x02000000) != 0);
6353  }
6365  @java.lang.Override
6367  return autoDetectGreaterThanAtLeastOneOf_;
6368  }
6369 
6370  public static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER = 98;
6371  private boolean stopAfterFirstSolution_;
6380  @java.lang.Override
6381  public boolean hasStopAfterFirstSolution() {
6382  return ((bitField3_ & 0x04000000) != 0);
6383  }
6392  @java.lang.Override
6393  public boolean getStopAfterFirstSolution() {
6394  return stopAfterFirstSolution_;
6395  }
6396 
6397  public static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER = 149;
6398  private boolean stopAfterPresolve_;
6408  @java.lang.Override
6409  public boolean hasStopAfterPresolve() {
6410  return ((bitField3_ & 0x08000000) != 0);
6411  }
6421  @java.lang.Override
6422  public boolean getStopAfterPresolve() {
6423  return stopAfterPresolve_;
6424  }
6425 
6426  public static final int NUM_SEARCH_WORKERS_FIELD_NUMBER = 100;
6427  private int numSearchWorkers_;
6441  @java.lang.Override
6442  public boolean hasNumSearchWorkers() {
6443  return ((bitField3_ & 0x10000000) != 0);
6444  }
6458  @java.lang.Override
6459  public int getNumSearchWorkers() {
6460  return numSearchWorkers_;
6461  }
6462 
6463  public static final int INTERLEAVE_SEARCH_FIELD_NUMBER = 136;
6464  private boolean interleaveSearch_;
6477  @java.lang.Override
6478  public boolean hasInterleaveSearch() {
6479  return ((bitField3_ & 0x20000000) != 0);
6480  }
6493  @java.lang.Override
6494  public boolean getInterleaveSearch() {
6495  return interleaveSearch_;
6496  }
6497 
6498  public static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER = 134;
6499  private int interleaveBatchSize_;
6504  @java.lang.Override
6505  public boolean hasInterleaveBatchSize() {
6506  return ((bitField3_ & 0x40000000) != 0);
6507  }
6512  @java.lang.Override
6513  public int getInterleaveBatchSize() {
6514  return interleaveBatchSize_;
6515  }
6516 
6518  private boolean reduceMemoryUsageInInterleaveMode_;
6527  @java.lang.Override
6529  return ((bitField3_ & 0x80000000) != 0);
6530  }
6539  @java.lang.Override
6541  return reduceMemoryUsageInInterleaveMode_;
6542  }
6543 
6544  public static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER = 113;
6545  private boolean shareObjectiveBounds_;
6554  @java.lang.Override
6555  public boolean hasShareObjectiveBounds() {
6556  return ((bitField4_ & 0x00000001) != 0);
6557  }
6566  @java.lang.Override
6567  public boolean getShareObjectiveBounds() {
6568  return shareObjectiveBounds_;
6569  }
6570 
6571  public static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER = 114;
6572  private boolean shareLevelZeroBounds_;
6581  @java.lang.Override
6582  public boolean hasShareLevelZeroBounds() {
6583  return ((bitField4_ & 0x00000002) != 0);
6584  }
6593  @java.lang.Override
6594  public boolean getShareLevelZeroBounds() {
6595  return shareLevelZeroBounds_;
6596  }
6597 
6598  public static final int USE_LNS_ONLY_FIELD_NUMBER = 101;
6599  private boolean useLnsOnly_;
6608  @java.lang.Override
6609  public boolean hasUseLnsOnly() {
6610  return ((bitField4_ & 0x00000004) != 0);
6611  }
6620  @java.lang.Override
6621  public boolean getUseLnsOnly() {
6622  return useLnsOnly_;
6623  }
6624 
6625  public static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER = 105;
6626  private boolean lnsFocusOnDecisionVariables_;
6631  @java.lang.Override
6633  return ((bitField4_ & 0x00000008) != 0);
6634  }
6639  @java.lang.Override
6641  return lnsFocusOnDecisionVariables_;
6642  }
6643 
6644  public static final int USE_RINS_LNS_FIELD_NUMBER = 129;
6645  private boolean useRinsLns_;
6654  @java.lang.Override
6655  public boolean hasUseRinsLns() {
6656  return ((bitField4_ & 0x00000010) != 0);
6657  }
6666  @java.lang.Override
6667  public boolean getUseRinsLns() {
6668  return useRinsLns_;
6669  }
6670 
6671  public static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER = 164;
6672  private boolean useFeasibilityPump_;
6681  @java.lang.Override
6682  public boolean hasUseFeasibilityPump() {
6683  return ((bitField4_ & 0x00000020) != 0);
6684  }
6693  @java.lang.Override
6694  public boolean getUseFeasibilityPump() {
6695  return useFeasibilityPump_;
6696  }
6697 
6698  public static final int FP_ROUNDING_FIELD_NUMBER = 165;
6699  private int fpRounding_;
6704  @java.lang.Override public boolean hasFpRounding() {
6705  return ((bitField4_ & 0x00000040) != 0);
6706  }
6712  @SuppressWarnings("deprecation")
6714  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
6715  }
6716 
6717  public static final int USE_RELAXATION_LNS_FIELD_NUMBER = 150;
6718  private boolean useRelaxationLns_;
6728  @java.lang.Override
6729  public boolean hasUseRelaxationLns() {
6730  return ((bitField4_ & 0x00000080) != 0);
6731  }
6741  @java.lang.Override
6742  public boolean getUseRelaxationLns() {
6743  return useRelaxationLns_;
6744  }
6745 
6746  public static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER = 137;
6747  private boolean diversifyLnsParams_;
6756  @java.lang.Override
6757  public boolean hasDiversifyLnsParams() {
6758  return ((bitField4_ & 0x00000100) != 0);
6759  }
6768  @java.lang.Override
6769  public boolean getDiversifyLnsParams() {
6770  return diversifyLnsParams_;
6771  }
6772 
6773  public static final int RANDOMIZE_SEARCH_FIELD_NUMBER = 103;
6774  private boolean randomizeSearch_;
6783  @java.lang.Override
6784  public boolean hasRandomizeSearch() {
6785  return ((bitField4_ & 0x00000200) != 0);
6786  }
6795  @java.lang.Override
6796  public boolean getRandomizeSearch() {
6797  return randomizeSearch_;
6798  }
6799 
6800  public static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER = 104;
6801  private long searchRandomizationTolerance_;
6816  @java.lang.Override
6818  return ((bitField4_ & 0x00000400) != 0);
6819  }
6834  @java.lang.Override
6836  return searchRandomizationTolerance_;
6837  }
6838 
6839  public static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER = 108;
6840  private boolean useOptionalVariables_;
6851  @java.lang.Override
6852  public boolean hasUseOptionalVariables() {
6853  return ((bitField4_ & 0x00000800) != 0);
6854  }
6865  @java.lang.Override
6866  public boolean getUseOptionalVariables() {
6867  return useOptionalVariables_;
6868  }
6869 
6870  public static final int USE_EXACT_LP_REASON_FIELD_NUMBER = 109;
6871  private boolean useExactLpReason_;
6883  @java.lang.Override
6884  public boolean hasUseExactLpReason() {
6885  return ((bitField4_ & 0x00001000) != 0);
6886  }
6898  @java.lang.Override
6899  public boolean getUseExactLpReason() {
6900  return useExactLpReason_;
6901  }
6902 
6903  public static final int USE_BRANCHING_IN_LP_FIELD_NUMBER = 139;
6904  private boolean useBranchingInLp_;
6915  @java.lang.Override
6916  public boolean hasUseBranchingInLp() {
6917  return ((bitField4_ & 0x00002000) != 0);
6918  }
6929  @java.lang.Override
6930  public boolean getUseBranchingInLp() {
6931  return useBranchingInLp_;
6932  }
6933 
6934  public static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER = 133;
6935  private boolean useCombinedNoOverlap_;
6946  @java.lang.Override
6947  public boolean hasUseCombinedNoOverlap() {
6948  return ((bitField4_ & 0x00004000) != 0);
6949  }
6960  @java.lang.Override
6961  public boolean getUseCombinedNoOverlap() {
6962  return useCombinedNoOverlap_;
6963  }
6964 
6965  public static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER = 135;
6966  private boolean catchSigintSignal_;
6977  @java.lang.Override
6978  public boolean hasCatchSigintSignal() {
6979  return ((bitField4_ & 0x00008000) != 0);
6980  }
6991  @java.lang.Override
6992  public boolean getCatchSigintSignal() {
6993  return catchSigintSignal_;
6994  }
6995 
6996  public static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER = 144;
6997  private boolean useImpliedBounds_;
7008  @java.lang.Override
7009  public boolean hasUseImpliedBounds() {
7010  return ((bitField4_ & 0x00010000) != 0);
7011  }
7022  @java.lang.Override
7023  public boolean getUseImpliedBounds() {
7024  return useImpliedBounds_;
7025  }
7026 
7027  public static final int POLISH_LP_SOLUTION_FIELD_NUMBER = 175;
7028  private boolean polishLpSolution_;
7040  @java.lang.Override
7041  public boolean hasPolishLpSolution() {
7042  return ((bitField4_ & 0x00020000) != 0);
7043  }
7055  @java.lang.Override
7056  public boolean getPolishLpSolution() {
7057  return polishLpSolution_;
7058  }
7059 
7060  public static final int MIP_MAX_BOUND_FIELD_NUMBER = 124;
7061  private double mipMaxBound_;
7072  @java.lang.Override
7073  public boolean hasMipMaxBound() {
7074  return ((bitField4_ & 0x00040000) != 0);
7075  }
7086  @java.lang.Override
7087  public double getMipMaxBound() {
7088  return mipMaxBound_;
7089  }
7090 
7091  public static final int MIP_VAR_SCALING_FIELD_NUMBER = 125;
7092  private double mipVarScaling_;
7103  @java.lang.Override
7104  public boolean hasMipVarScaling() {
7105  return ((bitField4_ & 0x00080000) != 0);
7106  }
7117  @java.lang.Override
7118  public double getMipVarScaling() {
7119  return mipVarScaling_;
7120  }
7121 
7122  public static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER = 166;
7123  private boolean mipAutomaticallyScaleVariables_;
7136  @java.lang.Override
7138  return ((bitField4_ & 0x00100000) != 0);
7139  }
7152  @java.lang.Override
7154  return mipAutomaticallyScaleVariables_;
7155  }
7156 
7157  public static final int MIP_WANTED_PRECISION_FIELD_NUMBER = 126;
7158  private double mipWantedPrecision_;
7176  @java.lang.Override
7177  public boolean hasMipWantedPrecision() {
7178  return ((bitField4_ & 0x00200000) != 0);
7179  }
7197  @java.lang.Override
7198  public double getMipWantedPrecision() {
7199  return mipWantedPrecision_;
7200  }
7201 
7202  public static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER = 127;
7203  private int mipMaxActivityExponent_;
7218  @java.lang.Override
7219  public boolean hasMipMaxActivityExponent() {
7220  return ((bitField4_ & 0x00400000) != 0);
7221  }
7236  @java.lang.Override
7238  return mipMaxActivityExponent_;
7239  }
7240 
7241  public static final int MIP_CHECK_PRECISION_FIELD_NUMBER = 128;
7242  private double mipCheckPrecision_;
7253  @java.lang.Override
7254  public boolean hasMipCheckPrecision() {
7255  return ((bitField4_ & 0x00800000) != 0);
7256  }
7267  @java.lang.Override
7268  public double getMipCheckPrecision() {
7269  return mipCheckPrecision_;
7270  }
7271 
7272  private byte memoizedIsInitialized = -1;
7273  @java.lang.Override
7274  public final boolean isInitialized() {
7275  byte isInitialized = memoizedIsInitialized;
7276  if (isInitialized == 1) return true;
7277  if (isInitialized == 0) return false;
7278 
7279  memoizedIsInitialized = 1;
7280  return true;
7281  }
7282 
7283  @java.lang.Override
7284  public void writeTo(com.google.protobuf.CodedOutputStream output)
7285  throws java.io.IOException {
7286  if (((bitField0_ & 0x00000002) != 0)) {
7287  output.writeEnum(1, preferredVariableOrder_);
7288  }
7289  if (((bitField0_ & 0x00000004) != 0)) {
7290  output.writeEnum(2, initialPolarity_);
7291  }
7292  if (((bitField0_ & 0x00000400) != 0)) {
7293  output.writeEnum(4, minimizationAlgorithm_);
7294  }
7295  if (((bitField0_ & 0x00002000) != 0)) {
7296  output.writeInt32(11, clauseCleanupPeriod_);
7297  }
7298  if (((bitField0_ & 0x00004000) != 0)) {
7299  output.writeInt32(13, clauseCleanupTarget_);
7300  }
7301  if (((bitField0_ & 0x00400000) != 0)) {
7302  output.writeDouble(15, variableActivityDecay_);
7303  }
7304  if (((bitField0_ & 0x00800000) != 0)) {
7305  output.writeDouble(16, maxVariableActivityValue_);
7306  }
7307  if (((bitField0_ & 0x08000000) != 0)) {
7308  output.writeDouble(17, clauseActivityDecay_);
7309  }
7310  if (((bitField0_ & 0x10000000) != 0)) {
7311  output.writeDouble(18, maxClauseActivityValue_);
7312  }
7313  if (((bitField0_ & 0x01000000) != 0)) {
7314  output.writeDouble(22, glucoseMaxDecay_);
7315  }
7316  if (((bitField0_ & 0x02000000) != 0)) {
7317  output.writeDouble(23, glucoseDecayIncrement_);
7318  }
7319  if (((bitField0_ & 0x04000000) != 0)) {
7320  output.writeInt32(24, glucoseDecayIncrementPeriod_);
7321  }
7322  if (((bitField0_ & 0x40000000) != 0)) {
7323  output.writeInt32(30, restartPeriod_);
7324  }
7325  if (((bitField1_ & 0x00004000) != 0)) {
7326  output.writeInt32(31, randomSeed_);
7327  }
7328  if (((bitField0_ & 0x00000040) != 0)) {
7329  output.writeDouble(32, randomBranchesRatio_);
7330  }
7331  if (((bitField1_ & 0x00002000) != 0)) {
7332  output.writeBool(33, treatBinaryClausesSeparately_);
7333  }
7334  if (((bitField0_ & 0x00000800) != 0)) {
7335  output.writeEnum(34, binaryMinimizationAlgorithm_);
7336  }
7337  if (((bitField2_ & 0x00000100) != 0)) {
7338  output.writeBool(35, useOptimizationHints_);
7339  }
7340  if (((bitField1_ & 0x00000080) != 0)) {
7341  output.writeDouble(36, maxTimeInSeconds_);
7342  }
7343  if (((bitField1_ & 0x00000200) != 0)) {
7344  output.writeInt64(37, maxNumberOfConflicts_);
7345  }
7346  if (((bitField1_ & 0x00000400) != 0)) {
7347  output.writeInt64(40, maxMemoryInMb_);
7348  }
7349  if (((bitField1_ & 0x00008000) != 0)) {
7350  output.writeBool(41, logSearchProgress_);
7351  }
7352  if (((bitField1_ & 0x00010000) != 0)) {
7353  output.writeBool(43, usePbResolution_);
7354  }
7355  if (((bitField0_ & 0x00000008) != 0)) {
7356  output.writeBool(44, usePhaseSaving_);
7357  }
7358  if (((bitField0_ & 0x00000020) != 0)) {
7359  output.writeDouble(45, randomPolarityRatio_);
7360  }
7361  if (((bitField0_ & 0x00040000) != 0)) {
7362  output.writeInt32(46, pbCleanupIncrement_);
7363  }
7364  if (((bitField0_ & 0x00080000) != 0)) {
7365  output.writeDouble(47, pbCleanupRatio_);
7366  }
7367  if (((bitField1_ & 0x00020000) != 0)) {
7368  output.writeBool(48, minimizeReductionDuringPbResolution_);
7369  }
7370  if (((bitField1_ & 0x00040000) != 0)) {
7371  output.writeBool(49, countAssumptionLevelsInLbd_);
7372  }
7373  if (((bitField2_ & 0x00000200) != 0)) {
7374  output.writeBool(50, minimizeCore_);
7375  }
7376  if (((bitField2_ & 0x00001000) != 0)) {
7377  output.writeEnum(51, maxSatAssumptionOrder_);
7378  }
7379  if (((bitField2_ & 0x00002000) != 0)) {
7380  output.writeBool(52, maxSatReverseAssumptionOrder_);
7381  }
7382  if (((bitField2_ & 0x00004000) != 0)) {
7383  output.writeEnum(53, maxSatStratification_);
7384  }
7385  if (((bitField1_ & 0x00080000) != 0)) {
7386  output.writeInt32(54, presolveBveThreshold_);
7387  }
7388  if (((bitField1_ & 0x00100000) != 0)) {
7389  output.writeInt32(55, presolveBveClauseWeight_);
7390  }
7391  if (((bitField0_ & 0x00001000) != 0)) {
7392  output.writeBool(56, subsumptionDuringConflictAnalysis_);
7393  }
7394  if (((bitField1_ & 0x00200000) != 0)) {
7395  output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
7396  }
7397  if (((bitField0_ & 0x00008000) != 0)) {
7398  output.writeEnum(58, clauseCleanupProtection_);
7399  }
7400  if (((bitField0_ & 0x00010000) != 0)) {
7401  output.writeInt32(59, clauseCleanupLbdBound_);
7402  }
7403  if (((bitField0_ & 0x00020000) != 0)) {
7404  output.writeEnum(60, clauseCleanupOrdering_);
7405  }
7406  for (int i = 0; i < restartAlgorithms_.size(); i++) {
7407  output.writeEnum(61, restartAlgorithms_.get(i));
7408  }
7409  if (((bitField0_ & 0x80000000) != 0)) {
7410  output.writeInt32(62, restartRunningWindowSize_);
7411  }
7412  if (((bitField1_ & 0x00000001) != 0)) {
7413  output.writeDouble(63, restartDlAverageRatio_);
7414  }
7415  if (((bitField1_ & 0x00000004) != 0)) {
7416  output.writeBool(64, useBlockingRestart_);
7417  }
7418  if (((bitField1_ & 0x00000008) != 0)) {
7419  output.writeInt32(65, blockingRestartWindowSize_);
7420  }
7421  if (((bitField1_ & 0x00000010) != 0)) {
7422  output.writeDouble(66, blockingRestartMultiplier_);
7423  }
7424  if (((bitField1_ & 0x00000100) != 0)) {
7425  output.writeDouble(67, maxDeterministicTime_);
7426  }
7427  if (((bitField1_ & 0x00000020) != 0)) {
7428  output.writeInt32(68, numConflictsBeforeStrategyChanges_);
7429  }
7430  if (((bitField1_ & 0x00000040) != 0)) {
7431  output.writeDouble(69, strategyChangeIncreaseRatio_);
7432  }
7433  if (((bitField0_ & 0x20000000) != 0)) {
7434  com.google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
7435  }
7436  if (((bitField1_ & 0x00000002) != 0)) {
7437  output.writeDouble(71, restartLbdAverageRatio_);
7438  }
7439  if (((bitField1_ & 0x00800000) != 0)) {
7440  output.writeBool(72, presolveUseBva_);
7441  }
7442  if (((bitField1_ & 0x01000000) != 0)) {
7443  output.writeInt32(73, presolveBvaThreshold_);
7444  }
7445  if (((bitField2_ & 0x00008000) != 0)) {
7446  output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
7447  }
7448  if (((bitField0_ & 0x00000080) != 0)) {
7449  output.writeBool(75, useErwaHeuristic_);
7450  }
7451  if (((bitField0_ & 0x00000100) != 0)) {
7452  output.writeDouble(76, initialVariablesActivity_);
7453  }
7454  if (((bitField0_ & 0x00000200) != 0)) {
7455  output.writeBool(77, alsoBumpVariablesInConflictReasons_);
7456  }
7457  if (((bitField2_ & 0x00010000) != 0)) {
7458  output.writeBool(78, useOverloadCheckerInCumulativeConstraint_);
7459  }
7460  if (((bitField2_ & 0x00020000) != 0)) {
7461  output.writeBool(79, useTimetableEdgeFindingInCumulativeConstraint_);
7462  }
7463  if (((bitField2_ & 0x00040000) != 0)) {
7464  output.writeBool(80, useDisjunctiveConstraintInCumulativeConstraint_);
7465  }
7466  if (((bitField3_ & 0x00000080) != 0)) {
7467  output.writeEnum(82, searchBranching_);
7468  }
7469  if (((bitField3_ & 0x00040000) != 0)) {
7470  output.writeBool(83, optimizeWithCore_);
7471  }
7472  if (((bitField2_ & 0x00000400) != 0)) {
7473  output.writeBool(84, findMultipleCores_);
7474  }
7475  if (((bitField3_ & 0x00100000) != 0)) {
7476  output.writeBool(85, optimizeWithMaxHs_);
7477  }
7478  if (((bitField1_ & 0x04000000) != 0)) {
7479  output.writeBool(86, cpModelPresolve_);
7480  }
7481  if (((bitField3_ & 0x00200000) != 0)) {
7482  output.writeBool(87, enumerateAllSolutions_);
7483  }
7484  if (((bitField1_ & 0x00400000) != 0)) {
7485  output.writeBool(88, presolveBlockedClause_);
7486  }
7487  if (((bitField2_ & 0x00000800) != 0)) {
7488  output.writeBool(89, coverOptimization_);
7489  }
7490  if (((bitField2_ & 0x00080000) != 0)) {
7491  output.writeInt32(90, linearizationLevel_);
7492  }
7493  if (((bitField2_ & 0x00200000) != 0)) {
7494  output.writeInt32(91, maxNumCuts_);
7495  }
7496  if (((bitField2_ & 0x00400000) != 0)) {
7497  output.writeBool(92, onlyAddCutsAtLevelZero_);
7498  }
7499  if (((bitField1_ & 0x40000000) != 0)) {
7500  output.writeBool(93, cpModelUseSatPresolve_);
7501  }
7502  if (((bitField3_ & 0x00000400) != 0)) {
7503  output.writeBool(94, exploitIntegerLpSolution_);
7504  }
7505  if (((bitField3_ & 0x02000000) != 0)) {
7506  output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
7507  }
7508  if (((bitField0_ & 0x00100000) != 0)) {
7509  output.writeInt32(96, minimizeWithPropagationRestartPeriod_);
7510  }
7511  if (((bitField0_ & 0x00200000) != 0)) {
7512  output.writeInt32(97, minimizeWithPropagationNumDecisions_);
7513  }
7514  if (((bitField3_ & 0x04000000) != 0)) {
7515  output.writeBool(98, stopAfterFirstSolution_);
7516  }
7517  if (((bitField3_ & 0x00080000) != 0)) {
7518  output.writeInt32(99, binarySearchNumConflicts_);
7519  }
7520  if (((bitField3_ & 0x10000000) != 0)) {
7521  output.writeInt32(100, numSearchWorkers_);
7522  }
7523  if (((bitField4_ & 0x00000004) != 0)) {
7524  output.writeBool(101, useLnsOnly_);
7525  }
7526  if (((bitField4_ & 0x00000200) != 0)) {
7527  output.writeBool(103, randomizeSearch_);
7528  }
7529  if (((bitField4_ & 0x00000400) != 0)) {
7530  output.writeInt64(104, searchRandomizationTolerance_);
7531  }
7532  if (((bitField4_ & 0x00000008) != 0)) {
7533  output.writeBool(105, lnsFocusOnDecisionVariables_);
7534  }
7535  if (((bitField3_ & 0x01000000) != 0)) {
7536  output.writeBool(106, instantiateAllVariables_);
7537  }
7538  if (((bitField2_ & 0x00100000) != 0)) {
7539  output.writeInt32(107, booleanEncodingLevel_);
7540  }
7541  if (((bitField4_ & 0x00000800) != 0)) {
7542  output.writeBool(108, useOptionalVariables_);
7543  }
7544  if (((bitField4_ & 0x00001000) != 0)) {
7545  output.writeBool(109, useExactLpReason_);
7546  }
7547  if (((bitField1_ & 0x20000000) != 0)) {
7548  output.writeInt32(110, cpModelProbingLevel_);
7549  }
7550  if (((bitField2_ & 0x00800000) != 0)) {
7551  output.writeBool(111, addKnapsackCuts_);
7552  }
7553  if (((bitField2_ & 0x80000000) != 0)) {
7554  output.writeBool(112, addLpConstraintsLazily_);
7555  }
7556  if (((bitField4_ & 0x00000001) != 0)) {
7557  output.writeBool(113, shareObjectiveBounds_);
7558  }
7559  if (((bitField4_ & 0x00000002) != 0)) {
7560  output.writeBool(114, shareLevelZeroBounds_);
7561  }
7562  if (((bitField3_ & 0x00000001) != 0)) {
7563  output.writeDouble(115, minOrthogonalityForLpConstraints_);
7564  }
7565  if (((bitField3_ & 0x00000800) != 0)) {
7566  output.writeBool(116, exploitAllLpSolution_);
7567  }
7568  if (((bitField2_ & 0x01000000) != 0)) {
7569  output.writeBool(117, addCgCuts_);
7570  }
7571  if (((bitField2_ & 0x40000000) != 0)) {
7572  output.writeInt32(119, maxIntegerRoundingScaling_);
7573  }
7574  if (((bitField2_ & 0x02000000) != 0)) {
7575  output.writeBool(120, addMirCuts_);
7576  }
7577  if (((bitField3_ & 0x00000004) != 0)) {
7578  output.writeInt32(121, maxConsecutiveInactiveCount_);
7579  }
7580  if (((bitField3_ & 0x00000040) != 0)) {
7581  output.writeInt32(122, newConstraintsBatchSize_);
7582  }
7583  if (((bitField3_ & 0x00020000) != 0)) {
7584  output.writeInt64(123, pseudoCostReliabilityThreshold_);
7585  }
7586  if (((bitField4_ & 0x00040000) != 0)) {
7587  output.writeDouble(124, mipMaxBound_);
7588  }
7589  if (((bitField4_ & 0x00080000) != 0)) {
7590  output.writeDouble(125, mipVarScaling_);
7591  }
7592  if (((bitField4_ & 0x00200000) != 0)) {
7593  output.writeDouble(126, mipWantedPrecision_);
7594  }
7595  if (((bitField4_ & 0x00400000) != 0)) {
7596  output.writeInt32(127, mipMaxActivityExponent_);
7597  }
7598  if (((bitField4_ & 0x00800000) != 0)) {
7599  output.writeDouble(128, mipCheckPrecision_);
7600  }
7601  if (((bitField4_ & 0x00000010) != 0)) {
7602  output.writeBool(129, useRinsLns_);
7603  }
7604  if (((bitField3_ & 0x00001000) != 0)) {
7605  output.writeBool(130, exploitBestSolution_);
7606  }
7607  if (((bitField3_ & 0x00004000) != 0)) {
7608  output.writeBool(131, exploitObjective_);
7609  }
7610  if (((bitField3_ & 0x00800000) != 0)) {
7611  output.writeBool(132, fillTightenedDomainsInResponse_);
7612  }
7613  if (((bitField4_ & 0x00004000) != 0)) {
7614  output.writeBool(133, useCombinedNoOverlap_);
7615  }
7616  if (((bitField3_ & 0x40000000) != 0)) {
7617  output.writeInt32(134, interleaveBatchSize_);
7618  }
7619  if (((bitField4_ & 0x00008000) != 0)) {
7620  output.writeBool(135, catchSigintSignal_);
7621  }
7622  if (((bitField3_ & 0x20000000) != 0)) {
7623  output.writeBool(136, interleaveSearch_);
7624  }
7625  if (((bitField4_ & 0x00000100) != 0)) {
7626  output.writeBool(137, diversifyLnsParams_);
7627  }
7628  if (((bitField1_ & 0x02000000) != 0)) {
7629  output.writeInt32(138, maxPresolveIterations_);
7630  }
7631  if (((bitField4_ & 0x00002000) != 0)) {
7632  output.writeBool(139, useBranchingInLp_);
7633  }
7634  if (((bitField2_ & 0x00000001) != 0)) {
7635  output.writeBool(140, expandElementConstraints_);
7636  }
7637  if (((bitField3_ & 0x80000000) != 0)) {
7638  output.writeBool(141, reduceMemoryUsageInInterleaveMode_);
7639  }
7640  if (((bitField3_ & 0x00008000) != 0)) {
7641  output.writeInt64(142, probingPeriodAtRoot_);
7642  }
7643  if (((bitField2_ & 0x00000002) != 0)) {
7644  output.writeBool(143, expandAutomatonConstraints_);
7645  }
7646  if (((bitField4_ & 0x00010000) != 0)) {
7647  output.writeBool(144, useImpliedBounds_);
7648  }
7649  if (((bitField2_ & 0x00000010) != 0)) {
7650  output.writeDouble(145, mergeNoOverlapWorkLimit_);
7651  }
7652  if (((bitField2_ & 0x00000020) != 0)) {
7653  output.writeDouble(146, mergeAtMostOneWorkLimit_);
7654  }
7655  if (((bitField2_ & 0x00000040) != 0)) {
7656  output.writeInt32(147, presolveSubstitutionLevel_);
7657  }
7658  if (((bitField2_ & 0x10000000) != 0)) {
7659  output.writeInt32(148, maxAllDiffCutSize_);
7660  }
7661  if (((bitField3_ & 0x08000000) != 0)) {
7662  output.writeBool(149, stopAfterPresolve_);
7663  }
7664  if (((bitField4_ & 0x00000080) != 0)) {
7665  output.writeBool(150, useRelaxationLns_);
7666  }
7667  if (((bitField1_ & 0x10000000) != 0)) {
7668  output.writeInt32(151, cpModelMaxNumPresolveOperations_);
7669  }
7670  if (((bitField2_ & 0x20000000) != 0)) {
7671  output.writeBool(152, addLinMaxCuts_);
7672  }
7673  if (((bitField3_ & 0x00000100) != 0)) {
7674  output.writeInt32(153, hintConflictLimit_);
7675  }
7676  if (((bitField3_ & 0x00000002) != 0)) {
7677  output.writeInt32(154, maxCutRoundsAtLevelZero_);
7678  }
7679  if (((bitField3_ & 0x00000008) != 0)) {
7680  output.writeDouble(155, cutMaxActiveCountValue_);
7681  }
7682  if (((bitField3_ & 0x00000010) != 0)) {
7683  output.writeDouble(156, cutActiveCountDecay_);
7684  }
7685  if (((bitField3_ & 0x00000020) != 0)) {
7686  output.writeInt32(157, cutCleanupTarget_);
7687  }
7688  if (((bitField2_ & 0x00000004) != 0)) {
7689  output.writeBool(158, expandTableConstraints_);
7690  }
7691  if (((bitField1_ & 0x00000800) != 0)) {
7692  output.writeDouble(159, absoluteGapLimit_);
7693  }
7694  if (((bitField1_ & 0x00001000) != 0)) {
7695  output.writeDouble(160, relativeGapLimit_);
7696  }
7697  if (((bitField3_ & 0x00002000) != 0)) {
7698  output.writeBool(161, exploitRelaxationSolution_);
7699  }
7700  if (((bitField1_ & 0x08000000) != 0)) {
7701  output.writeBool(162, cpModelPostsolveWithFullSolver_);
7702  }
7703  if (((bitField1_ & 0x80000000) != 0)) {
7704  output.writeBool(163, useSatInprocessing_);
7705  }
7706  if (((bitField4_ & 0x00000020) != 0)) {
7707  output.writeBool(164, useFeasibilityPump_);
7708  }
7709  if (((bitField4_ & 0x00000040) != 0)) {
7710  output.writeEnum(165, fpRounding_);
7711  }
7712  if (((bitField4_ & 0x00100000) != 0)) {
7713  output.writeBool(166, mipAutomaticallyScaleVariables_);
7714  }
7715  if (((bitField3_ & 0x00000200) != 0)) {
7716  output.writeBool(167, repairHint_);
7717  }
7718  if (((bitField0_ & 0x00000010) != 0)) {
7719  output.writeInt32(168, polarityRephaseIncrement_);
7720  }
7721  if (((bitField2_ & 0x04000000) != 0)) {
7722  output.writeBool(169, addZeroHalfCuts_);
7723  }
7724  if (((bitField2_ & 0x00000008) != 0)) {
7725  output.writeBool(170, expandAlldiffConstraints_);
7726  }
7727  if (((bitField0_ & 0x00000001) != 0)) {
7728  com.google.protobuf.GeneratedMessageV3.writeString(output, 171, name_);
7729  }
7730  if (((bitField2_ & 0x08000000) != 0)) {
7731  output.writeBool(172, addCliqueCuts_);
7732  }
7733  if (((bitField3_ & 0x00400000) != 0)) {
7734  output.writeBool(173, keepAllFeasibleSolutionsInPresolve_);
7735  }
7736  if (((bitField2_ & 0x00000080) != 0)) {
7737  output.writeBool(174, presolveExtractIntegerEnforcement_);
7738  }
7739  if (((bitField4_ & 0x00020000) != 0)) {
7740  output.writeBool(175, polishLpSolution_);
7741  }
7742  if (((bitField3_ & 0x00010000) != 0)) {
7743  output.writeBool(176, useProbingSearch_);
7744  }
7745  unknownFields.writeTo(output);
7746  }
7747 
7748  @java.lang.Override
7749  public int getSerializedSize() {
7750  int size = memoizedSize;
7751  if (size != -1) return size;
7752 
7753  size = 0;
7754  if (((bitField0_ & 0x00000002) != 0)) {
7755  size += com.google.protobuf.CodedOutputStream
7756  .computeEnumSize(1, preferredVariableOrder_);
7757  }
7758  if (((bitField0_ & 0x00000004) != 0)) {
7759  size += com.google.protobuf.CodedOutputStream
7760  .computeEnumSize(2, initialPolarity_);
7761  }
7762  if (((bitField0_ & 0x00000400) != 0)) {
7763  size += com.google.protobuf.CodedOutputStream
7764  .computeEnumSize(4, minimizationAlgorithm_);
7765  }
7766  if (((bitField0_ & 0x00002000) != 0)) {
7767  size += com.google.protobuf.CodedOutputStream
7768  .computeInt32Size(11, clauseCleanupPeriod_);
7769  }
7770  if (((bitField0_ & 0x00004000) != 0)) {
7771  size += com.google.protobuf.CodedOutputStream
7772  .computeInt32Size(13, clauseCleanupTarget_);
7773  }
7774  if (((bitField0_ & 0x00400000) != 0)) {
7775  size += com.google.protobuf.CodedOutputStream
7776  .computeDoubleSize(15, variableActivityDecay_);
7777  }
7778  if (((bitField0_ & 0x00800000) != 0)) {
7779  size += com.google.protobuf.CodedOutputStream
7780  .computeDoubleSize(16, maxVariableActivityValue_);
7781  }
7782  if (((bitField0_ & 0x08000000) != 0)) {
7783  size += com.google.protobuf.CodedOutputStream
7784  .computeDoubleSize(17, clauseActivityDecay_);
7785  }
7786  if (((bitField0_ & 0x10000000) != 0)) {
7787  size += com.google.protobuf.CodedOutputStream
7788  .computeDoubleSize(18, maxClauseActivityValue_);
7789  }
7790  if (((bitField0_ & 0x01000000) != 0)) {
7791  size += com.google.protobuf.CodedOutputStream
7792  .computeDoubleSize(22, glucoseMaxDecay_);
7793  }
7794  if (((bitField0_ & 0x02000000) != 0)) {
7795  size += com.google.protobuf.CodedOutputStream
7796  .computeDoubleSize(23, glucoseDecayIncrement_);
7797  }
7798  if (((bitField0_ & 0x04000000) != 0)) {
7799  size += com.google.protobuf.CodedOutputStream
7800  .computeInt32Size(24, glucoseDecayIncrementPeriod_);
7801  }
7802  if (((bitField0_ & 0x40000000) != 0)) {
7803  size += com.google.protobuf.CodedOutputStream
7804  .computeInt32Size(30, restartPeriod_);
7805  }
7806  if (((bitField1_ & 0x00004000) != 0)) {
7807  size += com.google.protobuf.CodedOutputStream
7808  .computeInt32Size(31, randomSeed_);
7809  }
7810  if (((bitField0_ & 0x00000040) != 0)) {
7811  size += com.google.protobuf.CodedOutputStream
7812  .computeDoubleSize(32, randomBranchesRatio_);
7813  }
7814  if (((bitField1_ & 0x00002000) != 0)) {
7815  size += com.google.protobuf.CodedOutputStream
7816  .computeBoolSize(33, treatBinaryClausesSeparately_);
7817  }
7818  if (((bitField0_ & 0x00000800) != 0)) {
7819  size += com.google.protobuf.CodedOutputStream
7820  .computeEnumSize(34, binaryMinimizationAlgorithm_);
7821  }
7822  if (((bitField2_ & 0x00000100) != 0)) {
7823  size += com.google.protobuf.CodedOutputStream
7824  .computeBoolSize(35, useOptimizationHints_);
7825  }
7826  if (((bitField1_ & 0x00000080) != 0)) {
7827  size += com.google.protobuf.CodedOutputStream
7828  .computeDoubleSize(36, maxTimeInSeconds_);
7829  }
7830  if (((bitField1_ & 0x00000200) != 0)) {
7831  size += com.google.protobuf.CodedOutputStream
7832  .computeInt64Size(37, maxNumberOfConflicts_);
7833  }
7834  if (((bitField1_ & 0x00000400) != 0)) {
7835  size += com.google.protobuf.CodedOutputStream
7836  .computeInt64Size(40, maxMemoryInMb_);
7837  }
7838  if (((bitField1_ & 0x00008000) != 0)) {
7839  size += com.google.protobuf.CodedOutputStream
7840  .computeBoolSize(41, logSearchProgress_);
7841  }
7842  if (((bitField1_ & 0x00010000) != 0)) {
7843  size += com.google.protobuf.CodedOutputStream
7844  .computeBoolSize(43, usePbResolution_);
7845  }
7846  if (((bitField0_ & 0x00000008) != 0)) {
7847  size += com.google.protobuf.CodedOutputStream
7848  .computeBoolSize(44, usePhaseSaving_);
7849  }
7850  if (((bitField0_ & 0x00000020) != 0)) {
7851  size += com.google.protobuf.CodedOutputStream
7852  .computeDoubleSize(45, randomPolarityRatio_);
7853  }
7854  if (((bitField0_ & 0x00040000) != 0)) {
7855  size += com.google.protobuf.CodedOutputStream
7856  .computeInt32Size(46, pbCleanupIncrement_);
7857  }
7858  if (((bitField0_ & 0x00080000) != 0)) {
7859  size += com.google.protobuf.CodedOutputStream
7860  .computeDoubleSize(47, pbCleanupRatio_);
7861  }
7862  if (((bitField1_ & 0x00020000) != 0)) {
7863  size += com.google.protobuf.CodedOutputStream
7864  .computeBoolSize(48, minimizeReductionDuringPbResolution_);
7865  }
7866  if (((bitField1_ & 0x00040000) != 0)) {
7867  size += com.google.protobuf.CodedOutputStream
7868  .computeBoolSize(49, countAssumptionLevelsInLbd_);
7869  }
7870  if (((bitField2_ & 0x00000200) != 0)) {
7871  size += com.google.protobuf.CodedOutputStream
7872  .computeBoolSize(50, minimizeCore_);
7873  }
7874  if (((bitField2_ & 0x00001000) != 0)) {
7875  size += com.google.protobuf.CodedOutputStream
7876  .computeEnumSize(51, maxSatAssumptionOrder_);
7877  }
7878  if (((bitField2_ & 0x00002000) != 0)) {
7879  size += com.google.protobuf.CodedOutputStream
7880  .computeBoolSize(52, maxSatReverseAssumptionOrder_);
7881  }
7882  if (((bitField2_ & 0x00004000) != 0)) {
7883  size += com.google.protobuf.CodedOutputStream
7884  .computeEnumSize(53, maxSatStratification_);
7885  }
7886  if (((bitField1_ & 0x00080000) != 0)) {
7887  size += com.google.protobuf.CodedOutputStream
7888  .computeInt32Size(54, presolveBveThreshold_);
7889  }
7890  if (((bitField1_ & 0x00100000) != 0)) {
7891  size += com.google.protobuf.CodedOutputStream
7892  .computeInt32Size(55, presolveBveClauseWeight_);
7893  }
7894  if (((bitField0_ & 0x00001000) != 0)) {
7895  size += com.google.protobuf.CodedOutputStream
7896  .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
7897  }
7898  if (((bitField1_ & 0x00200000) != 0)) {
7899  size += com.google.protobuf.CodedOutputStream
7900  .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
7901  }
7902  if (((bitField0_ & 0x00008000) != 0)) {
7903  size += com.google.protobuf.CodedOutputStream
7904  .computeEnumSize(58, clauseCleanupProtection_);
7905  }
7906  if (((bitField0_ & 0x00010000) != 0)) {
7907  size += com.google.protobuf.CodedOutputStream
7908  .computeInt32Size(59, clauseCleanupLbdBound_);
7909  }
7910  if (((bitField0_ & 0x00020000) != 0)) {
7911  size += com.google.protobuf.CodedOutputStream
7912  .computeEnumSize(60, clauseCleanupOrdering_);
7913  }
7914  {
7915  int dataSize = 0;
7916  for (int i = 0; i < restartAlgorithms_.size(); i++) {
7917  dataSize += com.google.protobuf.CodedOutputStream
7918  .computeEnumSizeNoTag(restartAlgorithms_.get(i));
7919  }
7920  size += dataSize;
7921  size += 2 * restartAlgorithms_.size();
7922  }
7923  if (((bitField0_ & 0x80000000) != 0)) {
7924  size += com.google.protobuf.CodedOutputStream
7925  .computeInt32Size(62, restartRunningWindowSize_);
7926  }
7927  if (((bitField1_ & 0x00000001) != 0)) {
7928  size += com.google.protobuf.CodedOutputStream
7929  .computeDoubleSize(63, restartDlAverageRatio_);
7930  }
7931  if (((bitField1_ & 0x00000004) != 0)) {
7932  size += com.google.protobuf.CodedOutputStream
7933  .computeBoolSize(64, useBlockingRestart_);
7934  }
7935  if (((bitField1_ & 0x00000008) != 0)) {
7936  size += com.google.protobuf.CodedOutputStream
7937  .computeInt32Size(65, blockingRestartWindowSize_);
7938  }
7939  if (((bitField1_ & 0x00000010) != 0)) {
7940  size += com.google.protobuf.CodedOutputStream
7941  .computeDoubleSize(66, blockingRestartMultiplier_);
7942  }
7943  if (((bitField1_ & 0x00000100) != 0)) {
7944  size += com.google.protobuf.CodedOutputStream
7945  .computeDoubleSize(67, maxDeterministicTime_);
7946  }
7947  if (((bitField1_ & 0x00000020) != 0)) {
7948  size += com.google.protobuf.CodedOutputStream
7949  .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
7950  }
7951  if (((bitField1_ & 0x00000040) != 0)) {
7952  size += com.google.protobuf.CodedOutputStream
7953  .computeDoubleSize(69, strategyChangeIncreaseRatio_);
7954  }
7955  if (((bitField0_ & 0x20000000) != 0)) {
7956  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
7957  }
7958  if (((bitField1_ & 0x00000002) != 0)) {
7959  size += com.google.protobuf.CodedOutputStream
7960  .computeDoubleSize(71, restartLbdAverageRatio_);
7961  }
7962  if (((bitField1_ & 0x00800000) != 0)) {
7963  size += com.google.protobuf.CodedOutputStream
7964  .computeBoolSize(72, presolveUseBva_);
7965  }
7966  if (((bitField1_ & 0x01000000) != 0)) {
7967  size += com.google.protobuf.CodedOutputStream
7968  .computeInt32Size(73, presolveBvaThreshold_);
7969  }
7970  if (((bitField2_ & 0x00008000) != 0)) {
7971  size += com.google.protobuf.CodedOutputStream
7972  .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
7973  }
7974  if (((bitField0_ & 0x00000080) != 0)) {
7975  size += com.google.protobuf.CodedOutputStream
7976  .computeBoolSize(75, useErwaHeuristic_);
7977  }
7978  if (((bitField0_ & 0x00000100) != 0)) {
7979  size += com.google.protobuf.CodedOutputStream
7980  .computeDoubleSize(76, initialVariablesActivity_);
7981  }
7982  if (((bitField0_ & 0x00000200) != 0)) {
7983  size += com.google.protobuf.CodedOutputStream
7984  .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
7985  }
7986  if (((bitField2_ & 0x00010000) != 0)) {
7987  size += com.google.protobuf.CodedOutputStream
7988  .computeBoolSize(78, useOverloadCheckerInCumulativeConstraint_);
7989  }
7990  if (((bitField2_ & 0x00020000) != 0)) {
7991  size += com.google.protobuf.CodedOutputStream
7992  .computeBoolSize(79, useTimetableEdgeFindingInCumulativeConstraint_);
7993  }
7994  if (((bitField2_ & 0x00040000) != 0)) {
7995  size += com.google.protobuf.CodedOutputStream
7996  .computeBoolSize(80, useDisjunctiveConstraintInCumulativeConstraint_);
7997  }
7998  if (((bitField3_ & 0x00000080) != 0)) {
7999  size += com.google.protobuf.CodedOutputStream
8000  .computeEnumSize(82, searchBranching_);
8001  }
8002  if (((bitField3_ & 0x00040000) != 0)) {
8003  size += com.google.protobuf.CodedOutputStream
8004  .computeBoolSize(83, optimizeWithCore_);
8005  }
8006  if (((bitField2_ & 0x00000400) != 0)) {
8007  size += com.google.protobuf.CodedOutputStream
8008  .computeBoolSize(84, findMultipleCores_);
8009  }
8010  if (((bitField3_ & 0x00100000) != 0)) {
8011  size += com.google.protobuf.CodedOutputStream
8012  .computeBoolSize(85, optimizeWithMaxHs_);
8013  }
8014  if (((bitField1_ & 0x04000000) != 0)) {
8015  size += com.google.protobuf.CodedOutputStream
8016  .computeBoolSize(86, cpModelPresolve_);
8017  }
8018  if (((bitField3_ & 0x00200000) != 0)) {
8019  size += com.google.protobuf.CodedOutputStream
8020  .computeBoolSize(87, enumerateAllSolutions_);
8021  }
8022  if (((bitField1_ & 0x00400000) != 0)) {
8023  size += com.google.protobuf.CodedOutputStream
8024  .computeBoolSize(88, presolveBlockedClause_);
8025  }
8026  if (((bitField2_ & 0x00000800) != 0)) {
8027  size += com.google.protobuf.CodedOutputStream
8028  .computeBoolSize(89, coverOptimization_);
8029  }
8030  if (((bitField2_ & 0x00080000) != 0)) {
8031  size += com.google.protobuf.CodedOutputStream
8032  .computeInt32Size(90, linearizationLevel_);
8033  }
8034  if (((bitField2_ & 0x00200000) != 0)) {
8035  size += com.google.protobuf.CodedOutputStream
8036  .computeInt32Size(91, maxNumCuts_);
8037  }
8038  if (((bitField2_ & 0x00400000) != 0)) {
8039  size += com.google.protobuf.CodedOutputStream
8040  .computeBoolSize(92, onlyAddCutsAtLevelZero_);
8041  }
8042  if (((bitField1_ & 0x40000000) != 0)) {
8043  size += com.google.protobuf.CodedOutputStream
8044  .computeBoolSize(93, cpModelUseSatPresolve_);
8045  }
8046  if (((bitField3_ & 0x00000400) != 0)) {
8047  size += com.google.protobuf.CodedOutputStream
8048  .computeBoolSize(94, exploitIntegerLpSolution_);
8049  }
8050  if (((bitField3_ & 0x02000000) != 0)) {
8051  size += com.google.protobuf.CodedOutputStream
8052  .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
8053  }
8054  if (((bitField0_ & 0x00100000) != 0)) {
8055  size += com.google.protobuf.CodedOutputStream
8056  .computeInt32Size(96, minimizeWithPropagationRestartPeriod_);
8057  }
8058  if (((bitField0_ & 0x00200000) != 0)) {
8059  size += com.google.protobuf.CodedOutputStream
8060  .computeInt32Size(97, minimizeWithPropagationNumDecisions_);
8061  }
8062  if (((bitField3_ & 0x04000000) != 0)) {
8063  size += com.google.protobuf.CodedOutputStream
8064  .computeBoolSize(98, stopAfterFirstSolution_);
8065  }
8066  if (((bitField3_ & 0x00080000) != 0)) {
8067  size += com.google.protobuf.CodedOutputStream
8068  .computeInt32Size(99, binarySearchNumConflicts_);
8069  }
8070  if (((bitField3_ & 0x10000000) != 0)) {
8071  size += com.google.protobuf.CodedOutputStream
8072  .computeInt32Size(100, numSearchWorkers_);
8073  }
8074  if (((bitField4_ & 0x00000004) != 0)) {
8075  size += com.google.protobuf.CodedOutputStream
8076  .computeBoolSize(101, useLnsOnly_);
8077  }
8078  if (((bitField4_ & 0x00000200) != 0)) {
8079  size += com.google.protobuf.CodedOutputStream
8080  .computeBoolSize(103, randomizeSearch_);
8081  }
8082  if (((bitField4_ & 0x00000400) != 0)) {
8083  size += com.google.protobuf.CodedOutputStream
8084  .computeInt64Size(104, searchRandomizationTolerance_);
8085  }
8086  if (((bitField4_ & 0x00000008) != 0)) {
8087  size += com.google.protobuf.CodedOutputStream
8088  .computeBoolSize(105, lnsFocusOnDecisionVariables_);
8089  }
8090  if (((bitField3_ & 0x01000000) != 0)) {
8091  size += com.google.protobuf.CodedOutputStream
8092  .computeBoolSize(106, instantiateAllVariables_);
8093  }
8094  if (((bitField2_ & 0x00100000) != 0)) {
8095  size += com.google.protobuf.CodedOutputStream
8096  .computeInt32Size(107, booleanEncodingLevel_);
8097  }
8098  if (((bitField4_ & 0x00000800) != 0)) {
8099  size += com.google.protobuf.CodedOutputStream
8100  .computeBoolSize(108, useOptionalVariables_);
8101  }
8102  if (((bitField4_ & 0x00001000) != 0)) {
8103  size += com.google.protobuf.CodedOutputStream
8104  .computeBoolSize(109, useExactLpReason_);
8105  }
8106  if (((bitField1_ & 0x20000000) != 0)) {
8107  size += com.google.protobuf.CodedOutputStream
8108  .computeInt32Size(110, cpModelProbingLevel_);
8109  }
8110  if (((bitField2_ & 0x00800000) != 0)) {
8111  size += com.google.protobuf.CodedOutputStream
8112  .computeBoolSize(111, addKnapsackCuts_);
8113  }
8114  if (((bitField2_ & 0x80000000) != 0)) {
8115  size += com.google.protobuf.CodedOutputStream
8116  .computeBoolSize(112, addLpConstraintsLazily_);
8117  }
8118  if (((bitField4_ & 0x00000001) != 0)) {
8119  size += com.google.protobuf.CodedOutputStream
8120  .computeBoolSize(113, shareObjectiveBounds_);
8121  }
8122  if (((bitField4_ & 0x00000002) != 0)) {
8123  size += com.google.protobuf.CodedOutputStream
8124  .computeBoolSize(114, shareLevelZeroBounds_);
8125  }
8126  if (((bitField3_ & 0x00000001) != 0)) {
8127  size += com.google.protobuf.CodedOutputStream
8128  .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
8129  }
8130  if (((bitField3_ & 0x00000800) != 0)) {
8131  size += com.google.protobuf.CodedOutputStream
8132  .computeBoolSize(116, exploitAllLpSolution_);
8133  }
8134  if (((bitField2_ & 0x01000000) != 0)) {
8135  size += com.google.protobuf.CodedOutputStream
8136  .computeBoolSize(117, addCgCuts_);
8137  }
8138  if (((bitField2_ & 0x40000000) != 0)) {
8139  size += com.google.protobuf.CodedOutputStream
8140  .computeInt32Size(119, maxIntegerRoundingScaling_);
8141  }
8142  if (((bitField2_ & 0x02000000) != 0)) {
8143  size += com.google.protobuf.CodedOutputStream
8144  .computeBoolSize(120, addMirCuts_);
8145  }
8146  if (((bitField3_ & 0x00000004) != 0)) {
8147  size += com.google.protobuf.CodedOutputStream
8148  .computeInt32Size(121, maxConsecutiveInactiveCount_);
8149  }
8150  if (((bitField3_ & 0x00000040) != 0)) {
8151  size += com.google.protobuf.CodedOutputStream
8152  .computeInt32Size(122, newConstraintsBatchSize_);
8153  }
8154  if (((bitField3_ & 0x00020000) != 0)) {
8155  size += com.google.protobuf.CodedOutputStream
8156  .computeInt64Size(123, pseudoCostReliabilityThreshold_);
8157  }
8158  if (((bitField4_ & 0x00040000) != 0)) {
8159  size += com.google.protobuf.CodedOutputStream
8160  .computeDoubleSize(124, mipMaxBound_);
8161  }
8162  if (((bitField4_ & 0x00080000) != 0)) {
8163  size += com.google.protobuf.CodedOutputStream
8164  .computeDoubleSize(125, mipVarScaling_);
8165  }
8166  if (((bitField4_ & 0x00200000) != 0)) {
8167  size += com.google.protobuf.CodedOutputStream
8168  .computeDoubleSize(126, mipWantedPrecision_);
8169  }
8170  if (((bitField4_ & 0x00400000) != 0)) {
8171  size += com.google.protobuf.CodedOutputStream
8172  .computeInt32Size(127, mipMaxActivityExponent_);
8173  }
8174  if (((bitField4_ & 0x00800000) != 0)) {
8175  size += com.google.protobuf.CodedOutputStream
8176  .computeDoubleSize(128, mipCheckPrecision_);
8177  }
8178  if (((bitField4_ & 0x00000010) != 0)) {
8179  size += com.google.protobuf.CodedOutputStream
8180  .computeBoolSize(129, useRinsLns_);
8181  }
8182  if (((bitField3_ & 0x00001000) != 0)) {
8183  size += com.google.protobuf.CodedOutputStream
8184  .computeBoolSize(130, exploitBestSolution_);
8185  }
8186  if (((bitField3_ & 0x00004000) != 0)) {
8187  size += com.google.protobuf.CodedOutputStream
8188  .computeBoolSize(131, exploitObjective_);
8189  }
8190  if (((bitField3_ & 0x00800000) != 0)) {
8191  size += com.google.protobuf.CodedOutputStream
8192  .computeBoolSize(132, fillTightenedDomainsInResponse_);
8193  }
8194  if (((bitField4_ & 0x00004000) != 0)) {
8195  size += com.google.protobuf.CodedOutputStream
8196  .computeBoolSize(133, useCombinedNoOverlap_);
8197  }
8198  if (((bitField3_ & 0x40000000) != 0)) {
8199  size += com.google.protobuf.CodedOutputStream
8200  .computeInt32Size(134, interleaveBatchSize_);
8201  }
8202  if (((bitField4_ & 0x00008000) != 0)) {
8203  size += com.google.protobuf.CodedOutputStream
8204  .computeBoolSize(135, catchSigintSignal_);
8205  }
8206  if (((bitField3_ & 0x20000000) != 0)) {
8207  size += com.google.protobuf.CodedOutputStream
8208  .computeBoolSize(136, interleaveSearch_);
8209  }
8210  if (((bitField4_ & 0x00000100) != 0)) {
8211  size += com.google.protobuf.CodedOutputStream
8212  .computeBoolSize(137, diversifyLnsParams_);
8213  }
8214  if (((bitField1_ & 0x02000000) != 0)) {
8215  size += com.google.protobuf.CodedOutputStream
8216  .computeInt32Size(138, maxPresolveIterations_);
8217  }
8218  if (((bitField4_ & 0x00002000) != 0)) {
8219  size += com.google.protobuf.CodedOutputStream
8220  .computeBoolSize(139, useBranchingInLp_);
8221  }
8222  if (((bitField2_ & 0x00000001) != 0)) {
8223  size += com.google.protobuf.CodedOutputStream
8224  .computeBoolSize(140, expandElementConstraints_);
8225  }
8226  if (((bitField3_ & 0x80000000) != 0)) {
8227  size += com.google.protobuf.CodedOutputStream
8228  .computeBoolSize(141, reduceMemoryUsageInInterleaveMode_);
8229  }
8230  if (((bitField3_ & 0x00008000) != 0)) {
8231  size += com.google.protobuf.CodedOutputStream
8232  .computeInt64Size(142, probingPeriodAtRoot_);
8233  }
8234  if (((bitField2_ & 0x00000002) != 0)) {
8235  size += com.google.protobuf.CodedOutputStream
8236  .computeBoolSize(143, expandAutomatonConstraints_);
8237  }
8238  if (((bitField4_ & 0x00010000) != 0)) {
8239  size += com.google.protobuf.CodedOutputStream
8240  .computeBoolSize(144, useImpliedBounds_);
8241  }
8242  if (((bitField2_ & 0x00000010) != 0)) {
8243  size += com.google.protobuf.CodedOutputStream
8244  .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
8245  }
8246  if (((bitField2_ & 0x00000020) != 0)) {
8247  size += com.google.protobuf.CodedOutputStream
8248  .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
8249  }
8250  if (((bitField2_ & 0x00000040) != 0)) {
8251  size += com.google.protobuf.CodedOutputStream
8252  .computeInt32Size(147, presolveSubstitutionLevel_);
8253  }
8254  if (((bitField2_ & 0x10000000) != 0)) {
8255  size += com.google.protobuf.CodedOutputStream
8256  .computeInt32Size(148, maxAllDiffCutSize_);
8257  }
8258  if (((bitField3_ & 0x08000000) != 0)) {
8259  size += com.google.protobuf.CodedOutputStream
8260  .computeBoolSize(149, stopAfterPresolve_);
8261  }
8262  if (((bitField4_ & 0x00000080) != 0)) {
8263  size += com.google.protobuf.CodedOutputStream
8264  .computeBoolSize(150, useRelaxationLns_);
8265  }
8266  if (((bitField1_ & 0x10000000) != 0)) {
8267  size += com.google.protobuf.CodedOutputStream
8268  .computeInt32Size(151, cpModelMaxNumPresolveOperations_);
8269  }
8270  if (((bitField2_ & 0x20000000) != 0)) {
8271  size += com.google.protobuf.CodedOutputStream
8272  .computeBoolSize(152, addLinMaxCuts_);
8273  }
8274  if (((bitField3_ & 0x00000100) != 0)) {
8275  size += com.google.protobuf.CodedOutputStream
8276  .computeInt32Size(153, hintConflictLimit_);
8277  }
8278  if (((bitField3_ & 0x00000002) != 0)) {
8279  size += com.google.protobuf.CodedOutputStream
8280  .computeInt32Size(154, maxCutRoundsAtLevelZero_);
8281  }
8282  if (((bitField3_ & 0x00000008) != 0)) {
8283  size += com.google.protobuf.CodedOutputStream
8284  .computeDoubleSize(155, cutMaxActiveCountValue_);
8285  }
8286  if (((bitField3_ & 0x00000010) != 0)) {
8287  size += com.google.protobuf.CodedOutputStream
8288  .computeDoubleSize(156, cutActiveCountDecay_);
8289  }
8290  if (((bitField3_ & 0x00000020) != 0)) {
8291  size += com.google.protobuf.CodedOutputStream
8292  .computeInt32Size(157, cutCleanupTarget_);
8293  }
8294  if (((bitField2_ & 0x00000004) != 0)) {
8295  size += com.google.protobuf.CodedOutputStream
8296  .computeBoolSize(158, expandTableConstraints_);
8297  }
8298  if (((bitField1_ & 0x00000800) != 0)) {
8299  size += com.google.protobuf.CodedOutputStream
8300  .computeDoubleSize(159, absoluteGapLimit_);
8301  }
8302  if (((bitField1_ & 0x00001000) != 0)) {
8303  size += com.google.protobuf.CodedOutputStream
8304  .computeDoubleSize(160, relativeGapLimit_);
8305  }
8306  if (((bitField3_ & 0x00002000) != 0)) {
8307  size += com.google.protobuf.CodedOutputStream
8308  .computeBoolSize(161, exploitRelaxationSolution_);
8309  }
8310  if (((bitField1_ & 0x08000000) != 0)) {
8311  size += com.google.protobuf.CodedOutputStream
8312  .computeBoolSize(162, cpModelPostsolveWithFullSolver_);
8313  }
8314  if (((bitField1_ & 0x80000000) != 0)) {
8315  size += com.google.protobuf.CodedOutputStream
8316  .computeBoolSize(163, useSatInprocessing_);
8317  }
8318  if (((bitField4_ & 0x00000020) != 0)) {
8319  size += com.google.protobuf.CodedOutputStream
8320  .computeBoolSize(164, useFeasibilityPump_);
8321  }
8322  if (((bitField4_ & 0x00000040) != 0)) {
8323  size += com.google.protobuf.CodedOutputStream
8324  .computeEnumSize(165, fpRounding_);
8325  }
8326  if (((bitField4_ & 0x00100000) != 0)) {
8327  size += com.google.protobuf.CodedOutputStream
8328  .computeBoolSize(166, mipAutomaticallyScaleVariables_);
8329  }
8330  if (((bitField3_ & 0x00000200) != 0)) {
8331  size += com.google.protobuf.CodedOutputStream
8332  .computeBoolSize(167, repairHint_);
8333  }
8334  if (((bitField0_ & 0x00000010) != 0)) {
8335  size += com.google.protobuf.CodedOutputStream
8336  .computeInt32Size(168, polarityRephaseIncrement_);
8337  }
8338  if (((bitField2_ & 0x04000000) != 0)) {
8339  size += com.google.protobuf.CodedOutputStream
8340  .computeBoolSize(169, addZeroHalfCuts_);
8341  }
8342  if (((bitField2_ & 0x00000008) != 0)) {
8343  size += com.google.protobuf.CodedOutputStream
8344  .computeBoolSize(170, expandAlldiffConstraints_);
8345  }
8346  if (((bitField0_ & 0x00000001) != 0)) {
8347  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(171, name_);
8348  }
8349  if (((bitField2_ & 0x08000000) != 0)) {
8350  size += com.google.protobuf.CodedOutputStream
8351  .computeBoolSize(172, addCliqueCuts_);
8352  }
8353  if (((bitField3_ & 0x00400000) != 0)) {
8354  size += com.google.protobuf.CodedOutputStream
8355  .computeBoolSize(173, keepAllFeasibleSolutionsInPresolve_);
8356  }
8357  if (((bitField2_ & 0x00000080) != 0)) {
8358  size += com.google.protobuf.CodedOutputStream
8359  .computeBoolSize(174, presolveExtractIntegerEnforcement_);
8360  }
8361  if (((bitField4_ & 0x00020000) != 0)) {
8362  size += com.google.protobuf.CodedOutputStream
8363  .computeBoolSize(175, polishLpSolution_);
8364  }
8365  if (((bitField3_ & 0x00010000) != 0)) {
8366  size += com.google.protobuf.CodedOutputStream
8367  .computeBoolSize(176, useProbingSearch_);
8368  }
8369  size += unknownFields.getSerializedSize();
8370  memoizedSize = size;
8371  return size;
8372  }
8373 
8374  @java.lang.Override
8375  public boolean equals(final java.lang.Object obj) {
8376  if (obj == this) {
8377  return true;
8378  }
8379  if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
8380  return super.equals(obj);
8381  }
8383 
8384  if (hasName() != other.hasName()) return false;
8385  if (hasName()) {
8386  if (!getName()
8387  .equals(other.getName())) return false;
8388  }
8389  if (hasPreferredVariableOrder() != other.hasPreferredVariableOrder()) return false;
8390  if (hasPreferredVariableOrder()) {
8391  if (preferredVariableOrder_ != other.preferredVariableOrder_) return false;
8392  }
8393  if (hasInitialPolarity() != other.hasInitialPolarity()) return false;
8394  if (hasInitialPolarity()) {
8395  if (initialPolarity_ != other.initialPolarity_) return false;
8396  }
8397  if (hasUsePhaseSaving() != other.hasUsePhaseSaving()) return false;
8398  if (hasUsePhaseSaving()) {
8399  if (getUsePhaseSaving()
8400  != other.getUsePhaseSaving()) return false;
8401  }
8402  if (hasPolarityRephaseIncrement() != other.hasPolarityRephaseIncrement()) return false;
8405  != other.getPolarityRephaseIncrement()) return false;
8406  }
8407  if (hasRandomPolarityRatio() != other.hasRandomPolarityRatio()) return false;
8408  if (hasRandomPolarityRatio()) {
8409  if (java.lang.Double.doubleToLongBits(getRandomPolarityRatio())
8410  != java.lang.Double.doubleToLongBits(
8411  other.getRandomPolarityRatio())) return false;
8412  }
8413  if (hasRandomBranchesRatio() != other.hasRandomBranchesRatio()) return false;
8414  if (hasRandomBranchesRatio()) {
8415  if (java.lang.Double.doubleToLongBits(getRandomBranchesRatio())
8416  != java.lang.Double.doubleToLongBits(
8417  other.getRandomBranchesRatio())) return false;
8418  }
8419  if (hasUseErwaHeuristic() != other.hasUseErwaHeuristic()) return false;
8420  if (hasUseErwaHeuristic()) {
8421  if (getUseErwaHeuristic()
8422  != other.getUseErwaHeuristic()) return false;
8423  }
8424  if (hasInitialVariablesActivity() != other.hasInitialVariablesActivity()) return false;
8426  if (java.lang.Double.doubleToLongBits(getInitialVariablesActivity())
8427  != java.lang.Double.doubleToLongBits(
8428  other.getInitialVariablesActivity())) return false;
8429  }
8430  if (hasAlsoBumpVariablesInConflictReasons() != other.hasAlsoBumpVariablesInConflictReasons()) return false;
8433  != other.getAlsoBumpVariablesInConflictReasons()) return false;
8434  }
8435  if (hasMinimizationAlgorithm() != other.hasMinimizationAlgorithm()) return false;
8436  if (hasMinimizationAlgorithm()) {
8437  if (minimizationAlgorithm_ != other.minimizationAlgorithm_) return false;
8438  }
8439  if (hasBinaryMinimizationAlgorithm() != other.hasBinaryMinimizationAlgorithm()) return false;
8441  if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_) return false;
8442  }
8443  if (hasSubsumptionDuringConflictAnalysis() != other.hasSubsumptionDuringConflictAnalysis()) return false;
8446  != other.getSubsumptionDuringConflictAnalysis()) return false;
8447  }
8448  if (hasClauseCleanupPeriod() != other.hasClauseCleanupPeriod()) return false;
8449  if (hasClauseCleanupPeriod()) {
8451  != other.getClauseCleanupPeriod()) return false;
8452  }
8453  if (hasClauseCleanupTarget() != other.hasClauseCleanupTarget()) return false;
8454  if (hasClauseCleanupTarget()) {
8456  != other.getClauseCleanupTarget()) return false;
8457  }
8458  if (hasClauseCleanupProtection() != other.hasClauseCleanupProtection()) return false;
8460  if (clauseCleanupProtection_ != other.clauseCleanupProtection_) return false;
8461  }
8462  if (hasClauseCleanupLbdBound() != other.hasClauseCleanupLbdBound()) return false;
8463  if (hasClauseCleanupLbdBound()) {
8465  != other.getClauseCleanupLbdBound()) return false;
8466  }
8467  if (hasClauseCleanupOrdering() != other.hasClauseCleanupOrdering()) return false;
8468  if (hasClauseCleanupOrdering()) {
8469  if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_) return false;
8470  }
8471  if (hasPbCleanupIncrement() != other.hasPbCleanupIncrement()) return false;
8472  if (hasPbCleanupIncrement()) {
8473  if (getPbCleanupIncrement()
8474  != other.getPbCleanupIncrement()) return false;
8475  }
8476  if (hasPbCleanupRatio() != other.hasPbCleanupRatio()) return false;
8477  if (hasPbCleanupRatio()) {
8478  if (java.lang.Double.doubleToLongBits(getPbCleanupRatio())
8479  != java.lang.Double.doubleToLongBits(
8480  other.getPbCleanupRatio())) return false;
8481  }
8482  if (hasMinimizeWithPropagationRestartPeriod() != other.hasMinimizeWithPropagationRestartPeriod()) return false;
8485  != other.getMinimizeWithPropagationRestartPeriod()) return false;
8486  }
8487  if (hasMinimizeWithPropagationNumDecisions() != other.hasMinimizeWithPropagationNumDecisions()) return false;
8490  != other.getMinimizeWithPropagationNumDecisions()) return false;
8491  }
8492  if (hasVariableActivityDecay() != other.hasVariableActivityDecay()) return false;
8493  if (hasVariableActivityDecay()) {
8494  if (java.lang.Double.doubleToLongBits(getVariableActivityDecay())
8495  != java.lang.Double.doubleToLongBits(
8496  other.getVariableActivityDecay())) return false;
8497  }
8498  if (hasMaxVariableActivityValue() != other.hasMaxVariableActivityValue()) return false;
8500  if (java.lang.Double.doubleToLongBits(getMaxVariableActivityValue())
8501  != java.lang.Double.doubleToLongBits(
8502  other.getMaxVariableActivityValue())) return false;
8503  }
8504  if (hasGlucoseMaxDecay() != other.hasGlucoseMaxDecay()) return false;
8505  if (hasGlucoseMaxDecay()) {
8506  if (java.lang.Double.doubleToLongBits(getGlucoseMaxDecay())
8507  != java.lang.Double.doubleToLongBits(
8508  other.getGlucoseMaxDecay())) return false;
8509  }
8510  if (hasGlucoseDecayIncrement() != other.hasGlucoseDecayIncrement()) return false;
8511  if (hasGlucoseDecayIncrement()) {
8512  if (java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement())
8513  != java.lang.Double.doubleToLongBits(
8514  other.getGlucoseDecayIncrement())) return false;
8515  }
8516  if (hasGlucoseDecayIncrementPeriod() != other.hasGlucoseDecayIncrementPeriod()) return false;
8519  != other.getGlucoseDecayIncrementPeriod()) return false;
8520  }
8521  if (hasClauseActivityDecay() != other.hasClauseActivityDecay()) return false;
8522  if (hasClauseActivityDecay()) {
8523  if (java.lang.Double.doubleToLongBits(getClauseActivityDecay())
8524  != java.lang.Double.doubleToLongBits(
8525  other.getClauseActivityDecay())) return false;
8526  }
8527  if (hasMaxClauseActivityValue() != other.hasMaxClauseActivityValue()) return false;
8528  if (hasMaxClauseActivityValue()) {
8529  if (java.lang.Double.doubleToLongBits(getMaxClauseActivityValue())
8530  != java.lang.Double.doubleToLongBits(
8531  other.getMaxClauseActivityValue())) return false;
8532  }
8533  if (!restartAlgorithms_.equals(other.restartAlgorithms_)) return false;
8534  if (hasDefaultRestartAlgorithms() != other.hasDefaultRestartAlgorithms()) return false;
8537  .equals(other.getDefaultRestartAlgorithms())) return false;
8538  }
8539  if (hasRestartPeriod() != other.hasRestartPeriod()) return false;
8540  if (hasRestartPeriod()) {
8541  if (getRestartPeriod()
8542  != other.getRestartPeriod()) return false;
8543  }
8544  if (hasRestartRunningWindowSize() != other.hasRestartRunningWindowSize()) return false;
8547  != other.getRestartRunningWindowSize()) return false;
8548  }
8549  if (hasRestartDlAverageRatio() != other.hasRestartDlAverageRatio()) return false;
8550  if (hasRestartDlAverageRatio()) {
8551  if (java.lang.Double.doubleToLongBits(getRestartDlAverageRatio())
8552  != java.lang.Double.doubleToLongBits(
8553  other.getRestartDlAverageRatio())) return false;
8554  }
8555  if (hasRestartLbdAverageRatio() != other.hasRestartLbdAverageRatio()) return false;
8556  if (hasRestartLbdAverageRatio()) {
8557  if (java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio())
8558  != java.lang.Double.doubleToLongBits(
8559  other.getRestartLbdAverageRatio())) return false;
8560  }
8561  if (hasUseBlockingRestart() != other.hasUseBlockingRestart()) return false;
8562  if (hasUseBlockingRestart()) {
8563  if (getUseBlockingRestart()
8564  != other.getUseBlockingRestart()) return false;
8565  }
8566  if (hasBlockingRestartWindowSize() != other.hasBlockingRestartWindowSize()) return false;
8569  != other.getBlockingRestartWindowSize()) return false;
8570  }
8571  if (hasBlockingRestartMultiplier() != other.hasBlockingRestartMultiplier()) return false;
8573  if (java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier())
8574  != java.lang.Double.doubleToLongBits(
8575  other.getBlockingRestartMultiplier())) return false;
8576  }
8577  if (hasNumConflictsBeforeStrategyChanges() != other.hasNumConflictsBeforeStrategyChanges()) return false;
8580  != other.getNumConflictsBeforeStrategyChanges()) return false;
8581  }
8582  if (hasStrategyChangeIncreaseRatio() != other.hasStrategyChangeIncreaseRatio()) return false;
8584  if (java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio())
8585  != java.lang.Double.doubleToLongBits(
8586  other.getStrategyChangeIncreaseRatio())) return false;
8587  }
8588  if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
8589  if (hasMaxTimeInSeconds()) {
8590  if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
8591  != java.lang.Double.doubleToLongBits(
8592  other.getMaxTimeInSeconds())) return false;
8593  }
8594  if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
8595  if (hasMaxDeterministicTime()) {
8596  if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
8597  != java.lang.Double.doubleToLongBits(
8598  other.getMaxDeterministicTime())) return false;
8599  }
8600  if (hasMaxNumberOfConflicts() != other.hasMaxNumberOfConflicts()) return false;
8601  if (hasMaxNumberOfConflicts()) {
8603  != other.getMaxNumberOfConflicts()) return false;
8604  }
8605  if (hasMaxMemoryInMb() != other.hasMaxMemoryInMb()) return false;
8606  if (hasMaxMemoryInMb()) {
8607  if (getMaxMemoryInMb()
8608  != other.getMaxMemoryInMb()) return false;
8609  }
8610  if (hasAbsoluteGapLimit() != other.hasAbsoluteGapLimit()) return false;
8611  if (hasAbsoluteGapLimit()) {
8612  if (java.lang.Double.doubleToLongBits(getAbsoluteGapLimit())
8613  != java.lang.Double.doubleToLongBits(
8614  other.getAbsoluteGapLimit())) return false;
8615  }
8616  if (hasRelativeGapLimit() != other.hasRelativeGapLimit()) return false;
8617  if (hasRelativeGapLimit()) {
8618  if (java.lang.Double.doubleToLongBits(getRelativeGapLimit())
8619  != java.lang.Double.doubleToLongBits(
8620  other.getRelativeGapLimit())) return false;
8621  }
8622  if (hasTreatBinaryClausesSeparately() != other.hasTreatBinaryClausesSeparately()) return false;
8625  != other.getTreatBinaryClausesSeparately()) return false;
8626  }
8627  if (hasRandomSeed() != other.hasRandomSeed()) return false;
8628  if (hasRandomSeed()) {
8629  if (getRandomSeed()
8630  != other.getRandomSeed()) return false;
8631  }
8632  if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
8633  if (hasLogSearchProgress()) {
8634  if (getLogSearchProgress()
8635  != other.getLogSearchProgress()) return false;
8636  }
8637  if (hasUsePbResolution() != other.hasUsePbResolution()) return false;
8638  if (hasUsePbResolution()) {
8639  if (getUsePbResolution()
8640  != other.getUsePbResolution()) return false;
8641  }
8642  if (hasMinimizeReductionDuringPbResolution() != other.hasMinimizeReductionDuringPbResolution()) return false;
8645  != other.getMinimizeReductionDuringPbResolution()) return false;
8646  }
8647  if (hasCountAssumptionLevelsInLbd() != other.hasCountAssumptionLevelsInLbd()) return false;
8650  != other.getCountAssumptionLevelsInLbd()) return false;
8651  }
8652  if (hasPresolveBveThreshold() != other.hasPresolveBveThreshold()) return false;
8653  if (hasPresolveBveThreshold()) {
8655  != other.getPresolveBveThreshold()) return false;
8656  }
8657  if (hasPresolveBveClauseWeight() != other.hasPresolveBveClauseWeight()) return false;
8660  != other.getPresolveBveClauseWeight()) return false;
8661  }
8662  if (hasPresolveProbingDeterministicTimeLimit() != other.hasPresolveProbingDeterministicTimeLimit()) return false;
8664  if (java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit())
8665  != java.lang.Double.doubleToLongBits(
8666  other.getPresolveProbingDeterministicTimeLimit())) return false;
8667  }
8668  if (hasPresolveBlockedClause() != other.hasPresolveBlockedClause()) return false;
8669  if (hasPresolveBlockedClause()) {
8671  != other.getPresolveBlockedClause()) return false;
8672  }
8673  if (hasPresolveUseBva() != other.hasPresolveUseBva()) return false;
8674  if (hasPresolveUseBva()) {
8675  if (getPresolveUseBva()
8676  != other.getPresolveUseBva()) return false;
8677  }
8678  if (hasPresolveBvaThreshold() != other.hasPresolveBvaThreshold()) return false;
8679  if (hasPresolveBvaThreshold()) {
8681  != other.getPresolveBvaThreshold()) return false;
8682  }
8683  if (hasMaxPresolveIterations() != other.hasMaxPresolveIterations()) return false;
8684  if (hasMaxPresolveIterations()) {
8686  != other.getMaxPresolveIterations()) return false;
8687  }
8688  if (hasCpModelPresolve() != other.hasCpModelPresolve()) return false;
8689  if (hasCpModelPresolve()) {
8690  if (getCpModelPresolve()
8691  != other.getCpModelPresolve()) return false;
8692  }
8693  if (hasCpModelPostsolveWithFullSolver() != other.hasCpModelPostsolveWithFullSolver()) return false;
8696  != other.getCpModelPostsolveWithFullSolver()) return false;
8697  }
8698  if (hasCpModelMaxNumPresolveOperations() != other.hasCpModelMaxNumPresolveOperations()) return false;
8701  != other.getCpModelMaxNumPresolveOperations()) return false;
8702  }
8703  if (hasCpModelProbingLevel() != other.hasCpModelProbingLevel()) return false;
8704  if (hasCpModelProbingLevel()) {
8706  != other.getCpModelProbingLevel()) return false;
8707  }
8708  if (hasCpModelUseSatPresolve() != other.hasCpModelUseSatPresolve()) return false;
8709  if (hasCpModelUseSatPresolve()) {
8711  != other.getCpModelUseSatPresolve()) return false;
8712  }
8713  if (hasUseSatInprocessing() != other.hasUseSatInprocessing()) return false;
8714  if (hasUseSatInprocessing()) {
8715  if (getUseSatInprocessing()
8716  != other.getUseSatInprocessing()) return false;
8717  }
8718  if (hasExpandElementConstraints() != other.hasExpandElementConstraints()) return false;
8721  != other.getExpandElementConstraints()) return false;
8722  }
8723  if (hasExpandAutomatonConstraints() != other.hasExpandAutomatonConstraints()) return false;
8726  != other.getExpandAutomatonConstraints()) return false;
8727  }
8728  if (hasExpandTableConstraints() != other.hasExpandTableConstraints()) return false;
8729  if (hasExpandTableConstraints()) {
8731  != other.getExpandTableConstraints()) return false;
8732  }
8733  if (hasExpandAlldiffConstraints() != other.hasExpandAlldiffConstraints()) return false;
8736  != other.getExpandAlldiffConstraints()) return false;
8737  }
8738  if (hasMergeNoOverlapWorkLimit() != other.hasMergeNoOverlapWorkLimit()) return false;
8740  if (java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit())
8741  != java.lang.Double.doubleToLongBits(
8742  other.getMergeNoOverlapWorkLimit())) return false;
8743  }
8744  if (hasMergeAtMostOneWorkLimit() != other.hasMergeAtMostOneWorkLimit()) return false;
8746  if (java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit())
8747  != java.lang.Double.doubleToLongBits(
8748  other.getMergeAtMostOneWorkLimit())) return false;
8749  }
8750  if (hasPresolveSubstitutionLevel() != other.hasPresolveSubstitutionLevel()) return false;
8753  != other.getPresolveSubstitutionLevel()) return false;
8754  }
8755  if (hasPresolveExtractIntegerEnforcement() != other.hasPresolveExtractIntegerEnforcement()) return false;
8758  != other.getPresolveExtractIntegerEnforcement()) return false;
8759  }
8760  if (hasUseOptimizationHints() != other.hasUseOptimizationHints()) return false;
8761  if (hasUseOptimizationHints()) {
8763  != other.getUseOptimizationHints()) return false;
8764  }
8765  if (hasMinimizeCore() != other.hasMinimizeCore()) return false;
8766  if (hasMinimizeCore()) {
8767  if (getMinimizeCore()
8768  != other.getMinimizeCore()) return false;
8769  }
8770  if (hasFindMultipleCores() != other.hasFindMultipleCores()) return false;
8771  if (hasFindMultipleCores()) {
8772  if (getFindMultipleCores()
8773  != other.getFindMultipleCores()) return false;
8774  }
8775  if (hasCoverOptimization() != other.hasCoverOptimization()) return false;
8776  if (hasCoverOptimization()) {
8777  if (getCoverOptimization()
8778  != other.getCoverOptimization()) return false;
8779  }
8780  if (hasMaxSatAssumptionOrder() != other.hasMaxSatAssumptionOrder()) return false;
8781  if (hasMaxSatAssumptionOrder()) {
8782  if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_) return false;
8783  }
8784  if (hasMaxSatReverseAssumptionOrder() != other.hasMaxSatReverseAssumptionOrder()) return false;
8787  != other.getMaxSatReverseAssumptionOrder()) return false;
8788  }
8789  if (hasMaxSatStratification() != other.hasMaxSatStratification()) return false;
8790  if (hasMaxSatStratification()) {
8791  if (maxSatStratification_ != other.maxSatStratification_) return false;
8792  }
8793  if (hasUsePrecedencesInDisjunctiveConstraint() != other.hasUsePrecedencesInDisjunctiveConstraint()) return false;
8796  != other.getUsePrecedencesInDisjunctiveConstraint()) return false;
8797  }
8798  if (hasUseOverloadCheckerInCumulativeConstraint() != other.hasUseOverloadCheckerInCumulativeConstraint()) return false;
8801  != other.getUseOverloadCheckerInCumulativeConstraint()) return false;
8802  }
8803  if (hasUseTimetableEdgeFindingInCumulativeConstraint() != other.hasUseTimetableEdgeFindingInCumulativeConstraint()) return false;
8806  != other.getUseTimetableEdgeFindingInCumulativeConstraint()) return false;
8807  }
8808  if (hasUseDisjunctiveConstraintInCumulativeConstraint() != other.hasUseDisjunctiveConstraintInCumulativeConstraint()) return false;
8811  != other.getUseDisjunctiveConstraintInCumulativeConstraint()) return false;
8812  }
8813  if (hasLinearizationLevel() != other.hasLinearizationLevel()) return false;
8814  if (hasLinearizationLevel()) {
8815  if (getLinearizationLevel()
8816  != other.getLinearizationLevel()) return false;
8817  }
8818  if (hasBooleanEncodingLevel() != other.hasBooleanEncodingLevel()) return false;
8819  if (hasBooleanEncodingLevel()) {
8821  != other.getBooleanEncodingLevel()) return false;
8822  }
8823  if (hasMaxNumCuts() != other.hasMaxNumCuts()) return false;
8824  if (hasMaxNumCuts()) {
8825  if (getMaxNumCuts()
8826  != other.getMaxNumCuts()) return false;
8827  }
8828  if (hasOnlyAddCutsAtLevelZero() != other.hasOnlyAddCutsAtLevelZero()) return false;
8829  if (hasOnlyAddCutsAtLevelZero()) {
8831  != other.getOnlyAddCutsAtLevelZero()) return false;
8832  }
8833  if (hasAddKnapsackCuts() != other.hasAddKnapsackCuts()) return false;
8834  if (hasAddKnapsackCuts()) {
8835  if (getAddKnapsackCuts()
8836  != other.getAddKnapsackCuts()) return false;
8837  }
8838  if (hasAddCgCuts() != other.hasAddCgCuts()) return false;
8839  if (hasAddCgCuts()) {
8840  if (getAddCgCuts()
8841  != other.getAddCgCuts()) return false;
8842  }
8843  if (hasAddMirCuts() != other.hasAddMirCuts()) return false;
8844  if (hasAddMirCuts()) {
8845  if (getAddMirCuts()
8846  != other.getAddMirCuts()) return false;
8847  }
8848  if (hasAddZeroHalfCuts() != other.hasAddZeroHalfCuts()) return false;
8849  if (hasAddZeroHalfCuts()) {
8850  if (getAddZeroHalfCuts()
8851  != other.getAddZeroHalfCuts()) return false;
8852  }
8853  if (hasAddCliqueCuts() != other.hasAddCliqueCuts()) return false;
8854  if (hasAddCliqueCuts()) {
8855  if (getAddCliqueCuts()
8856  != other.getAddCliqueCuts()) return false;
8857  }
8858  if (hasMaxAllDiffCutSize() != other.hasMaxAllDiffCutSize()) return false;
8859  if (hasMaxAllDiffCutSize()) {
8860  if (getMaxAllDiffCutSize()
8861  != other.getMaxAllDiffCutSize()) return false;
8862  }
8863  if (hasAddLinMaxCuts() != other.hasAddLinMaxCuts()) return false;
8864  if (hasAddLinMaxCuts()) {
8865  if (getAddLinMaxCuts()
8866  != other.getAddLinMaxCuts()) return false;
8867  }
8868  if (hasMaxIntegerRoundingScaling() != other.hasMaxIntegerRoundingScaling()) return false;
8871  != other.getMaxIntegerRoundingScaling()) return false;
8872  }
8873  if (hasAddLpConstraintsLazily() != other.hasAddLpConstraintsLazily()) return false;
8874  if (hasAddLpConstraintsLazily()) {
8876  != other.getAddLpConstraintsLazily()) return false;
8877  }
8878  if (hasMinOrthogonalityForLpConstraints() != other.hasMinOrthogonalityForLpConstraints()) return false;
8880  if (java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints())
8881  != java.lang.Double.doubleToLongBits(
8882  other.getMinOrthogonalityForLpConstraints())) return false;
8883  }
8884  if (hasMaxCutRoundsAtLevelZero() != other.hasMaxCutRoundsAtLevelZero()) return false;
8887  != other.getMaxCutRoundsAtLevelZero()) return false;
8888  }
8889  if (hasMaxConsecutiveInactiveCount() != other.hasMaxConsecutiveInactiveCount()) return false;
8892  != other.getMaxConsecutiveInactiveCount()) return false;
8893  }
8894  if (hasCutMaxActiveCountValue() != other.hasCutMaxActiveCountValue()) return false;
8895  if (hasCutMaxActiveCountValue()) {
8896  if (java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue())
8897  != java.lang.Double.doubleToLongBits(
8898  other.getCutMaxActiveCountValue())) return false;
8899  }
8900  if (hasCutActiveCountDecay() != other.hasCutActiveCountDecay()) return false;
8901  if (hasCutActiveCountDecay()) {
8902  if (java.lang.Double.doubleToLongBits(getCutActiveCountDecay())
8903  != java.lang.Double.doubleToLongBits(
8904  other.getCutActiveCountDecay())) return false;
8905  }
8906  if (hasCutCleanupTarget() != other.hasCutCleanupTarget()) return false;
8907  if (hasCutCleanupTarget()) {
8908  if (getCutCleanupTarget()
8909  != other.getCutCleanupTarget()) return false;
8910  }
8911  if (hasNewConstraintsBatchSize() != other.hasNewConstraintsBatchSize()) return false;
8914  != other.getNewConstraintsBatchSize()) return false;
8915  }
8916  if (hasSearchBranching() != other.hasSearchBranching()) return false;
8917  if (hasSearchBranching()) {
8918  if (searchBranching_ != other.searchBranching_) return false;
8919  }
8920  if (hasHintConflictLimit() != other.hasHintConflictLimit()) return false;
8921  if (hasHintConflictLimit()) {
8922  if (getHintConflictLimit()
8923  != other.getHintConflictLimit()) return false;
8924  }
8925  if (hasRepairHint() != other.hasRepairHint()) return false;
8926  if (hasRepairHint()) {
8927  if (getRepairHint()
8928  != other.getRepairHint()) return false;
8929  }
8930  if (hasExploitIntegerLpSolution() != other.hasExploitIntegerLpSolution()) return false;
8933  != other.getExploitIntegerLpSolution()) return false;
8934  }
8935  if (hasExploitAllLpSolution() != other.hasExploitAllLpSolution()) return false;
8936  if (hasExploitAllLpSolution()) {
8938  != other.getExploitAllLpSolution()) return false;
8939  }
8940  if (hasExploitBestSolution() != other.hasExploitBestSolution()) return false;
8941  if (hasExploitBestSolution()) {
8943  != other.getExploitBestSolution()) return false;
8944  }
8945  if (hasExploitRelaxationSolution() != other.hasExploitRelaxationSolution()) return false;
8948  != other.getExploitRelaxationSolution()) return false;
8949  }
8950  if (hasExploitObjective() != other.hasExploitObjective()) return false;
8951  if (hasExploitObjective()) {
8952  if (getExploitObjective()
8953  != other.getExploitObjective()) return false;
8954  }
8955  if (hasProbingPeriodAtRoot() != other.hasProbingPeriodAtRoot()) return false;
8956  if (hasProbingPeriodAtRoot()) {
8958  != other.getProbingPeriodAtRoot()) return false;
8959  }
8960  if (hasUseProbingSearch() != other.hasUseProbingSearch()) return false;
8961  if (hasUseProbingSearch()) {
8962  if (getUseProbingSearch()
8963  != other.getUseProbingSearch()) return false;
8964  }
8965  if (hasPseudoCostReliabilityThreshold() != other.hasPseudoCostReliabilityThreshold()) return false;
8968  != other.getPseudoCostReliabilityThreshold()) return false;
8969  }
8970  if (hasOptimizeWithCore() != other.hasOptimizeWithCore()) return false;
8971  if (hasOptimizeWithCore()) {
8972  if (getOptimizeWithCore()
8973  != other.getOptimizeWithCore()) return false;
8974  }
8975  if (hasBinarySearchNumConflicts() != other.hasBinarySearchNumConflicts()) return false;
8978  != other.getBinarySearchNumConflicts()) return false;
8979  }
8980  if (hasOptimizeWithMaxHs() != other.hasOptimizeWithMaxHs()) return false;
8981  if (hasOptimizeWithMaxHs()) {
8982  if (getOptimizeWithMaxHs()
8983  != other.getOptimizeWithMaxHs()) return false;
8984  }
8985  if (hasEnumerateAllSolutions() != other.hasEnumerateAllSolutions()) return false;
8986  if (hasEnumerateAllSolutions()) {
8988  != other.getEnumerateAllSolutions()) return false;
8989  }
8990  if (hasKeepAllFeasibleSolutionsInPresolve() != other.hasKeepAllFeasibleSolutionsInPresolve()) return false;
8993  != other.getKeepAllFeasibleSolutionsInPresolve()) return false;
8994  }
8995  if (hasFillTightenedDomainsInResponse() != other.hasFillTightenedDomainsInResponse()) return false;
8998  != other.getFillTightenedDomainsInResponse()) return false;
8999  }
9000  if (hasInstantiateAllVariables() != other.hasInstantiateAllVariables()) return false;
9003  != other.getInstantiateAllVariables()) return false;
9004  }
9005  if (hasAutoDetectGreaterThanAtLeastOneOf() != other.hasAutoDetectGreaterThanAtLeastOneOf()) return false;
9008  != other.getAutoDetectGreaterThanAtLeastOneOf()) return false;
9009  }
9010  if (hasStopAfterFirstSolution() != other.hasStopAfterFirstSolution()) return false;
9011  if (hasStopAfterFirstSolution()) {
9013  != other.getStopAfterFirstSolution()) return false;
9014  }
9015  if (hasStopAfterPresolve() != other.hasStopAfterPresolve()) return false;
9016  if (hasStopAfterPresolve()) {
9017  if (getStopAfterPresolve()
9018  != other.getStopAfterPresolve()) return false;
9019  }
9020  if (hasNumSearchWorkers() != other.hasNumSearchWorkers()) return false;
9021  if (hasNumSearchWorkers()) {
9022  if (getNumSearchWorkers()
9023  != other.getNumSearchWorkers()) return false;
9024  }
9025  if (hasInterleaveSearch() != other.hasInterleaveSearch()) return false;
9026  if (hasInterleaveSearch()) {
9027  if (getInterleaveSearch()
9028  != other.getInterleaveSearch()) return false;
9029  }
9030  if (hasInterleaveBatchSize() != other.hasInterleaveBatchSize()) return false;
9031  if (hasInterleaveBatchSize()) {
9033  != other.getInterleaveBatchSize()) return false;
9034  }
9035  if (hasReduceMemoryUsageInInterleaveMode() != other.hasReduceMemoryUsageInInterleaveMode()) return false;
9038  != other.getReduceMemoryUsageInInterleaveMode()) return false;
9039  }
9040  if (hasShareObjectiveBounds() != other.hasShareObjectiveBounds()) return false;
9041  if (hasShareObjectiveBounds()) {
9043  != other.getShareObjectiveBounds()) return false;
9044  }
9045  if (hasShareLevelZeroBounds() != other.hasShareLevelZeroBounds()) return false;
9046  if (hasShareLevelZeroBounds()) {
9048  != other.getShareLevelZeroBounds()) return false;
9049  }
9050  if (hasUseLnsOnly() != other.hasUseLnsOnly()) return false;
9051  if (hasUseLnsOnly()) {
9052  if (getUseLnsOnly()
9053  != other.getUseLnsOnly()) return false;
9054  }
9055  if (hasLnsFocusOnDecisionVariables() != other.hasLnsFocusOnDecisionVariables()) return false;
9058  != other.getLnsFocusOnDecisionVariables()) return false;
9059  }
9060  if (hasUseRinsLns() != other.hasUseRinsLns()) return false;
9061  if (hasUseRinsLns()) {
9062  if (getUseRinsLns()
9063  != other.getUseRinsLns()) return false;
9064  }
9065  if (hasUseFeasibilityPump() != other.hasUseFeasibilityPump()) return false;
9066  if (hasUseFeasibilityPump()) {
9067  if (getUseFeasibilityPump()
9068  != other.getUseFeasibilityPump()) return false;
9069  }
9070  if (hasFpRounding() != other.hasFpRounding()) return false;
9071  if (hasFpRounding()) {
9072  if (fpRounding_ != other.fpRounding_) return false;
9073  }
9074  if (hasUseRelaxationLns() != other.hasUseRelaxationLns()) return false;
9075  if (hasUseRelaxationLns()) {
9076  if (getUseRelaxationLns()
9077  != other.getUseRelaxationLns()) return false;
9078  }
9079  if (hasDiversifyLnsParams() != other.hasDiversifyLnsParams()) return false;
9080  if (hasDiversifyLnsParams()) {
9081  if (getDiversifyLnsParams()
9082  != other.getDiversifyLnsParams()) return false;
9083  }
9084  if (hasRandomizeSearch() != other.hasRandomizeSearch()) return false;
9085  if (hasRandomizeSearch()) {
9086  if (getRandomizeSearch()
9087  != other.getRandomizeSearch()) return false;
9088  }
9089  if (hasSearchRandomizationTolerance() != other.hasSearchRandomizationTolerance()) return false;
9092  != other.getSearchRandomizationTolerance()) return false;
9093  }
9094  if (hasUseOptionalVariables() != other.hasUseOptionalVariables()) return false;
9095  if (hasUseOptionalVariables()) {
9097  != other.getUseOptionalVariables()) return false;
9098  }
9099  if (hasUseExactLpReason() != other.hasUseExactLpReason()) return false;
9100  if (hasUseExactLpReason()) {
9101  if (getUseExactLpReason()
9102  != other.getUseExactLpReason()) return false;
9103  }
9104  if (hasUseBranchingInLp() != other.hasUseBranchingInLp()) return false;
9105  if (hasUseBranchingInLp()) {
9106  if (getUseBranchingInLp()
9107  != other.getUseBranchingInLp()) return false;
9108  }
9109  if (hasUseCombinedNoOverlap() != other.hasUseCombinedNoOverlap()) return false;
9110  if (hasUseCombinedNoOverlap()) {
9112  != other.getUseCombinedNoOverlap()) return false;
9113  }
9114  if (hasCatchSigintSignal() != other.hasCatchSigintSignal()) return false;
9115  if (hasCatchSigintSignal()) {
9116  if (getCatchSigintSignal()
9117  != other.getCatchSigintSignal()) return false;
9118  }
9119  if (hasUseImpliedBounds() != other.hasUseImpliedBounds()) return false;
9120  if (hasUseImpliedBounds()) {
9121  if (getUseImpliedBounds()
9122  != other.getUseImpliedBounds()) return false;
9123  }
9124  if (hasPolishLpSolution() != other.hasPolishLpSolution()) return false;
9125  if (hasPolishLpSolution()) {
9126  if (getPolishLpSolution()
9127  != other.getPolishLpSolution()) return false;
9128  }
9129  if (hasMipMaxBound() != other.hasMipMaxBound()) return false;
9130  if (hasMipMaxBound()) {
9131  if (java.lang.Double.doubleToLongBits(getMipMaxBound())
9132  != java.lang.Double.doubleToLongBits(
9133  other.getMipMaxBound())) return false;
9134  }
9135  if (hasMipVarScaling() != other.hasMipVarScaling()) return false;
9136  if (hasMipVarScaling()) {
9137  if (java.lang.Double.doubleToLongBits(getMipVarScaling())
9138  != java.lang.Double.doubleToLongBits(
9139  other.getMipVarScaling())) return false;
9140  }
9141  if (hasMipAutomaticallyScaleVariables() != other.hasMipAutomaticallyScaleVariables()) return false;
9144  != other.getMipAutomaticallyScaleVariables()) return false;
9145  }
9146  if (hasMipWantedPrecision() != other.hasMipWantedPrecision()) return false;
9147  if (hasMipWantedPrecision()) {
9148  if (java.lang.Double.doubleToLongBits(getMipWantedPrecision())
9149  != java.lang.Double.doubleToLongBits(
9150  other.getMipWantedPrecision())) return false;
9151  }
9152  if (hasMipMaxActivityExponent() != other.hasMipMaxActivityExponent()) return false;
9153  if (hasMipMaxActivityExponent()) {
9155  != other.getMipMaxActivityExponent()) return false;
9156  }
9157  if (hasMipCheckPrecision() != other.hasMipCheckPrecision()) return false;
9158  if (hasMipCheckPrecision()) {
9159  if (java.lang.Double.doubleToLongBits(getMipCheckPrecision())
9160  != java.lang.Double.doubleToLongBits(
9161  other.getMipCheckPrecision())) return false;
9162  }
9163  if (!unknownFields.equals(other.unknownFields)) return false;
9164  return true;
9165  }
9166 
9167  @java.lang.Override
9168  public int hashCode() {
9169  if (memoizedHashCode != 0) {
9170  return memoizedHashCode;
9171  }
9172  int hash = 41;
9173  hash = (19 * hash) + getDescriptor().hashCode();
9174  if (hasName()) {
9175  hash = (37 * hash) + NAME_FIELD_NUMBER;
9176  hash = (53 * hash) + getName().hashCode();
9177  }
9178  if (hasPreferredVariableOrder()) {
9179  hash = (37 * hash) + PREFERRED_VARIABLE_ORDER_FIELD_NUMBER;
9180  hash = (53 * hash) + preferredVariableOrder_;
9181  }
9182  if (hasInitialPolarity()) {
9183  hash = (37 * hash) + INITIAL_POLARITY_FIELD_NUMBER;
9184  hash = (53 * hash) + initialPolarity_;
9185  }
9186  if (hasUsePhaseSaving()) {
9187  hash = (37 * hash) + USE_PHASE_SAVING_FIELD_NUMBER;
9188  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9189  getUsePhaseSaving());
9190  }
9192  hash = (37 * hash) + POLARITY_REPHASE_INCREMENT_FIELD_NUMBER;
9193  hash = (53 * hash) + getPolarityRephaseIncrement();
9194  }
9195  if (hasRandomPolarityRatio()) {
9196  hash = (37 * hash) + RANDOM_POLARITY_RATIO_FIELD_NUMBER;
9197  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9198  java.lang.Double.doubleToLongBits(getRandomPolarityRatio()));
9199  }
9200  if (hasRandomBranchesRatio()) {
9201  hash = (37 * hash) + RANDOM_BRANCHES_RATIO_FIELD_NUMBER;
9202  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9203  java.lang.Double.doubleToLongBits(getRandomBranchesRatio()));
9204  }
9205  if (hasUseErwaHeuristic()) {
9206  hash = (37 * hash) + USE_ERWA_HEURISTIC_FIELD_NUMBER;
9207  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9209  }
9211  hash = (37 * hash) + INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER;
9212  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9213  java.lang.Double.doubleToLongBits(getInitialVariablesActivity()));
9214  }
9217  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9219  }
9220  if (hasMinimizationAlgorithm()) {
9221  hash = (37 * hash) + MINIMIZATION_ALGORITHM_FIELD_NUMBER;
9222  hash = (53 * hash) + minimizationAlgorithm_;
9223  }
9225  hash = (37 * hash) + BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER;
9226  hash = (53 * hash) + binaryMinimizationAlgorithm_;
9227  }
9230  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9232  }
9233  if (hasClauseCleanupPeriod()) {
9234  hash = (37 * hash) + CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER;
9235  hash = (53 * hash) + getClauseCleanupPeriod();
9236  }
9237  if (hasClauseCleanupTarget()) {
9238  hash = (37 * hash) + CLAUSE_CLEANUP_TARGET_FIELD_NUMBER;
9239  hash = (53 * hash) + getClauseCleanupTarget();
9240  }
9242  hash = (37 * hash) + CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER;
9243  hash = (53 * hash) + clauseCleanupProtection_;
9244  }
9245  if (hasClauseCleanupLbdBound()) {
9246  hash = (37 * hash) + CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER;
9247  hash = (53 * hash) + getClauseCleanupLbdBound();
9248  }
9249  if (hasClauseCleanupOrdering()) {
9250  hash = (37 * hash) + CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER;
9251  hash = (53 * hash) + clauseCleanupOrdering_;
9252  }
9253  if (hasPbCleanupIncrement()) {
9254  hash = (37 * hash) + PB_CLEANUP_INCREMENT_FIELD_NUMBER;
9255  hash = (53 * hash) + getPbCleanupIncrement();
9256  }
9257  if (hasPbCleanupRatio()) {
9258  hash = (37 * hash) + PB_CLEANUP_RATIO_FIELD_NUMBER;
9259  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9260  java.lang.Double.doubleToLongBits(getPbCleanupRatio()));
9261  }
9264  hash = (53 * hash) + getMinimizeWithPropagationRestartPeriod();
9265  }
9268  hash = (53 * hash) + getMinimizeWithPropagationNumDecisions();
9269  }
9270  if (hasVariableActivityDecay()) {
9271  hash = (37 * hash) + VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER;
9272  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9273  java.lang.Double.doubleToLongBits(getVariableActivityDecay()));
9274  }
9276  hash = (37 * hash) + MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER;
9277  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9278  java.lang.Double.doubleToLongBits(getMaxVariableActivityValue()));
9279  }
9280  if (hasGlucoseMaxDecay()) {
9281  hash = (37 * hash) + GLUCOSE_MAX_DECAY_FIELD_NUMBER;
9282  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9283  java.lang.Double.doubleToLongBits(getGlucoseMaxDecay()));
9284  }
9285  if (hasGlucoseDecayIncrement()) {
9286  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER;
9287  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9288  java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement()));
9289  }
9291  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER;
9292  hash = (53 * hash) + getGlucoseDecayIncrementPeriod();
9293  }
9294  if (hasClauseActivityDecay()) {
9295  hash = (37 * hash) + CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER;
9296  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9297  java.lang.Double.doubleToLongBits(getClauseActivityDecay()));
9298  }
9299  if (hasMaxClauseActivityValue()) {
9300  hash = (37 * hash) + MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER;
9301  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9302  java.lang.Double.doubleToLongBits(getMaxClauseActivityValue()));
9303  }
9304  if (getRestartAlgorithmsCount() > 0) {
9305  hash = (37 * hash) + RESTART_ALGORITHMS_FIELD_NUMBER;
9306  hash = (53 * hash) + restartAlgorithms_.hashCode();
9307  }
9309  hash = (37 * hash) + DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER;
9310  hash = (53 * hash) + getDefaultRestartAlgorithms().hashCode();
9311  }
9312  if (hasRestartPeriod()) {
9313  hash = (37 * hash) + RESTART_PERIOD_FIELD_NUMBER;
9314  hash = (53 * hash) + getRestartPeriod();
9315  }
9317  hash = (37 * hash) + RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER;
9318  hash = (53 * hash) + getRestartRunningWindowSize();
9319  }
9320  if (hasRestartDlAverageRatio()) {
9321  hash = (37 * hash) + RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER;
9322  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9323  java.lang.Double.doubleToLongBits(getRestartDlAverageRatio()));
9324  }
9325  if (hasRestartLbdAverageRatio()) {
9326  hash = (37 * hash) + RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER;
9327  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9328  java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio()));
9329  }
9330  if (hasUseBlockingRestart()) {
9331  hash = (37 * hash) + USE_BLOCKING_RESTART_FIELD_NUMBER;
9332  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9334  }
9336  hash = (37 * hash) + BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER;
9337  hash = (53 * hash) + getBlockingRestartWindowSize();
9338  }
9340  hash = (37 * hash) + BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER;
9341  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9342  java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier()));
9343  }
9346  hash = (53 * hash) + getNumConflictsBeforeStrategyChanges();
9347  }
9349  hash = (37 * hash) + STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER;
9350  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9351  java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio()));
9352  }
9353  if (hasMaxTimeInSeconds()) {
9354  hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
9355  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9356  java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
9357  }
9358  if (hasMaxDeterministicTime()) {
9359  hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
9360  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9361  java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
9362  }
9363  if (hasMaxNumberOfConflicts()) {
9364  hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER;
9365  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9367  }
9368  if (hasMaxMemoryInMb()) {
9369  hash = (37 * hash) + MAX_MEMORY_IN_MB_FIELD_NUMBER;
9370  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9371  getMaxMemoryInMb());
9372  }
9373  if (hasAbsoluteGapLimit()) {
9374  hash = (37 * hash) + ABSOLUTE_GAP_LIMIT_FIELD_NUMBER;
9375  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9376  java.lang.Double.doubleToLongBits(getAbsoluteGapLimit()));
9377  }
9378  if (hasRelativeGapLimit()) {
9379  hash = (37 * hash) + RELATIVE_GAP_LIMIT_FIELD_NUMBER;
9380  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9381  java.lang.Double.doubleToLongBits(getRelativeGapLimit()));
9382  }
9384  hash = (37 * hash) + TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER;
9385  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9387  }
9388  if (hasRandomSeed()) {
9389  hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
9390  hash = (53 * hash) + getRandomSeed();
9391  }
9392  if (hasLogSearchProgress()) {
9393  hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
9394  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9396  }
9397  if (hasUsePbResolution()) {
9398  hash = (37 * hash) + USE_PB_RESOLUTION_FIELD_NUMBER;
9399  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9400  getUsePbResolution());
9401  }
9404  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9406  }
9408  hash = (37 * hash) + COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER;
9409  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9411  }
9412  if (hasPresolveBveThreshold()) {
9413  hash = (37 * hash) + PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER;
9414  hash = (53 * hash) + getPresolveBveThreshold();
9415  }
9417  hash = (37 * hash) + PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER;
9418  hash = (53 * hash) + getPresolveBveClauseWeight();
9419  }
9422  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9423  java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit()));
9424  }
9425  if (hasPresolveBlockedClause()) {
9426  hash = (37 * hash) + PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER;
9427  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9429  }
9430  if (hasPresolveUseBva()) {
9431  hash = (37 * hash) + PRESOLVE_USE_BVA_FIELD_NUMBER;
9432  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9433  getPresolveUseBva());
9434  }
9435  if (hasPresolveBvaThreshold()) {
9436  hash = (37 * hash) + PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER;
9437  hash = (53 * hash) + getPresolveBvaThreshold();
9438  }
9439  if (hasMaxPresolveIterations()) {
9440  hash = (37 * hash) + MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER;
9441  hash = (53 * hash) + getMaxPresolveIterations();
9442  }
9443  if (hasCpModelPresolve()) {
9444  hash = (37 * hash) + CP_MODEL_PRESOLVE_FIELD_NUMBER;
9445  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9446  getCpModelPresolve());
9447  }
9450  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9452  }
9455  hash = (53 * hash) + getCpModelMaxNumPresolveOperations();
9456  }
9457  if (hasCpModelProbingLevel()) {
9458  hash = (37 * hash) + CP_MODEL_PROBING_LEVEL_FIELD_NUMBER;
9459  hash = (53 * hash) + getCpModelProbingLevel();
9460  }
9461  if (hasCpModelUseSatPresolve()) {
9462  hash = (37 * hash) + CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER;
9463  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9465  }
9466  if (hasUseSatInprocessing()) {
9467  hash = (37 * hash) + USE_SAT_INPROCESSING_FIELD_NUMBER;
9468  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9470  }
9472  hash = (37 * hash) + EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER;
9473  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9475  }
9477  hash = (37 * hash) + EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER;
9478  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9480  }
9481  if (hasExpandTableConstraints()) {
9482  hash = (37 * hash) + EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER;
9483  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9485  }
9487  hash = (37 * hash) + EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER;
9488  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9490  }
9492  hash = (37 * hash) + MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER;
9493  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9494  java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit()));
9495  }
9497  hash = (37 * hash) + MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER;
9498  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9499  java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit()));
9500  }
9502  hash = (37 * hash) + PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER;
9503  hash = (53 * hash) + getPresolveSubstitutionLevel();
9504  }
9507  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9509  }
9510  if (hasUseOptimizationHints()) {
9511  hash = (37 * hash) + USE_OPTIMIZATION_HINTS_FIELD_NUMBER;
9512  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9514  }
9515  if (hasMinimizeCore()) {
9516  hash = (37 * hash) + MINIMIZE_CORE_FIELD_NUMBER;
9517  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9518  getMinimizeCore());
9519  }
9520  if (hasFindMultipleCores()) {
9521  hash = (37 * hash) + FIND_MULTIPLE_CORES_FIELD_NUMBER;
9522  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9524  }
9525  if (hasCoverOptimization()) {
9526  hash = (37 * hash) + COVER_OPTIMIZATION_FIELD_NUMBER;
9527  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9529  }
9530  if (hasMaxSatAssumptionOrder()) {
9531  hash = (37 * hash) + MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER;
9532  hash = (53 * hash) + maxSatAssumptionOrder_;
9533  }
9535  hash = (37 * hash) + MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER;
9536  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9538  }
9539  if (hasMaxSatStratification()) {
9540  hash = (37 * hash) + MAX_SAT_STRATIFICATION_FIELD_NUMBER;
9541  hash = (53 * hash) + maxSatStratification_;
9542  }
9545  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9547  }
9550  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9552  }
9555  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9557  }
9560  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9562  }
9563  if (hasLinearizationLevel()) {
9564  hash = (37 * hash) + LINEARIZATION_LEVEL_FIELD_NUMBER;
9565  hash = (53 * hash) + getLinearizationLevel();
9566  }
9567  if (hasBooleanEncodingLevel()) {
9568  hash = (37 * hash) + BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER;
9569  hash = (53 * hash) + getBooleanEncodingLevel();
9570  }
9571  if (hasMaxNumCuts()) {
9572  hash = (37 * hash) + MAX_NUM_CUTS_FIELD_NUMBER;
9573  hash = (53 * hash) + getMaxNumCuts();
9574  }
9575  if (hasOnlyAddCutsAtLevelZero()) {
9576  hash = (37 * hash) + ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER;
9577  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9579  }
9580  if (hasAddKnapsackCuts()) {
9581  hash = (37 * hash) + ADD_KNAPSACK_CUTS_FIELD_NUMBER;
9582  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9583  getAddKnapsackCuts());
9584  }
9585  if (hasAddCgCuts()) {
9586  hash = (37 * hash) + ADD_CG_CUTS_FIELD_NUMBER;
9587  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9588  getAddCgCuts());
9589  }
9590  if (hasAddMirCuts()) {
9591  hash = (37 * hash) + ADD_MIR_CUTS_FIELD_NUMBER;
9592  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9593  getAddMirCuts());
9594  }
9595  if (hasAddZeroHalfCuts()) {
9596  hash = (37 * hash) + ADD_ZERO_HALF_CUTS_FIELD_NUMBER;
9597  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9598  getAddZeroHalfCuts());
9599  }
9600  if (hasAddCliqueCuts()) {
9601  hash = (37 * hash) + ADD_CLIQUE_CUTS_FIELD_NUMBER;
9602  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9603  getAddCliqueCuts());
9604  }
9605  if (hasMaxAllDiffCutSize()) {
9606  hash = (37 * hash) + MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER;
9607  hash = (53 * hash) + getMaxAllDiffCutSize();
9608  }
9609  if (hasAddLinMaxCuts()) {
9610  hash = (37 * hash) + ADD_LIN_MAX_CUTS_FIELD_NUMBER;
9611  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9612  getAddLinMaxCuts());
9613  }
9615  hash = (37 * hash) + MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER;
9616  hash = (53 * hash) + getMaxIntegerRoundingScaling();
9617  }
9618  if (hasAddLpConstraintsLazily()) {
9619  hash = (37 * hash) + ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER;
9620  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9622  }
9625  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9626  java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints()));
9627  }
9629  hash = (37 * hash) + MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER;
9630  hash = (53 * hash) + getMaxCutRoundsAtLevelZero();
9631  }
9633  hash = (37 * hash) + MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER;
9634  hash = (53 * hash) + getMaxConsecutiveInactiveCount();
9635  }
9636  if (hasCutMaxActiveCountValue()) {
9637  hash = (37 * hash) + CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER;
9638  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9639  java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue()));
9640  }
9641  if (hasCutActiveCountDecay()) {
9642  hash = (37 * hash) + CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER;
9643  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9644  java.lang.Double.doubleToLongBits(getCutActiveCountDecay()));
9645  }
9646  if (hasCutCleanupTarget()) {
9647  hash = (37 * hash) + CUT_CLEANUP_TARGET_FIELD_NUMBER;
9648  hash = (53 * hash) + getCutCleanupTarget();
9649  }
9651  hash = (37 * hash) + NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER;
9652  hash = (53 * hash) + getNewConstraintsBatchSize();
9653  }
9654  if (hasSearchBranching()) {
9655  hash = (37 * hash) + SEARCH_BRANCHING_FIELD_NUMBER;
9656  hash = (53 * hash) + searchBranching_;
9657  }
9658  if (hasHintConflictLimit()) {
9659  hash = (37 * hash) + HINT_CONFLICT_LIMIT_FIELD_NUMBER;
9660  hash = (53 * hash) + getHintConflictLimit();
9661  }
9662  if (hasRepairHint()) {
9663  hash = (37 * hash) + REPAIR_HINT_FIELD_NUMBER;
9664  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9665  getRepairHint());
9666  }
9668  hash = (37 * hash) + EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER;
9669  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9671  }
9672  if (hasExploitAllLpSolution()) {
9673  hash = (37 * hash) + EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER;
9674  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9676  }
9677  if (hasExploitBestSolution()) {
9678  hash = (37 * hash) + EXPLOIT_BEST_SOLUTION_FIELD_NUMBER;
9679  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9681  }
9683  hash = (37 * hash) + EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER;
9684  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9686  }
9687  if (hasExploitObjective()) {
9688  hash = (37 * hash) + EXPLOIT_OBJECTIVE_FIELD_NUMBER;
9689  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9691  }
9692  if (hasProbingPeriodAtRoot()) {
9693  hash = (37 * hash) + PROBING_PERIOD_AT_ROOT_FIELD_NUMBER;
9694  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9696  }
9697  if (hasUseProbingSearch()) {
9698  hash = (37 * hash) + USE_PROBING_SEARCH_FIELD_NUMBER;
9699  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9701  }
9704  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9706  }
9707  if (hasOptimizeWithCore()) {
9708  hash = (37 * hash) + OPTIMIZE_WITH_CORE_FIELD_NUMBER;
9709  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9711  }
9713  hash = (37 * hash) + BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER;
9714  hash = (53 * hash) + getBinarySearchNumConflicts();
9715  }
9716  if (hasOptimizeWithMaxHs()) {
9717  hash = (37 * hash) + OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER;
9718  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9720  }
9721  if (hasEnumerateAllSolutions()) {
9722  hash = (37 * hash) + ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER;
9723  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9725  }
9728  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9730  }
9733  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9735  }
9737  hash = (37 * hash) + INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER;
9738  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9740  }
9743  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9745  }
9746  if (hasStopAfterFirstSolution()) {
9747  hash = (37 * hash) + STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER;
9748  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9750  }
9751  if (hasStopAfterPresolve()) {
9752  hash = (37 * hash) + STOP_AFTER_PRESOLVE_FIELD_NUMBER;
9753  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9755  }
9756  if (hasNumSearchWorkers()) {
9757  hash = (37 * hash) + NUM_SEARCH_WORKERS_FIELD_NUMBER;
9758  hash = (53 * hash) + getNumSearchWorkers();
9759  }
9760  if (hasInterleaveSearch()) {
9761  hash = (37 * hash) + INTERLEAVE_SEARCH_FIELD_NUMBER;
9762  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9764  }
9765  if (hasInterleaveBatchSize()) {
9766  hash = (37 * hash) + INTERLEAVE_BATCH_SIZE_FIELD_NUMBER;
9767  hash = (53 * hash) + getInterleaveBatchSize();
9768  }
9771  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9773  }
9774  if (hasShareObjectiveBounds()) {
9775  hash = (37 * hash) + SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER;
9776  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9778  }
9779  if (hasShareLevelZeroBounds()) {
9780  hash = (37 * hash) + SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER;
9781  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9783  }
9784  if (hasUseLnsOnly()) {
9785  hash = (37 * hash) + USE_LNS_ONLY_FIELD_NUMBER;
9786  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9787  getUseLnsOnly());
9788  }
9790  hash = (37 * hash) + LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER;
9791  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9793  }
9794  if (hasUseRinsLns()) {
9795  hash = (37 * hash) + USE_RINS_LNS_FIELD_NUMBER;
9796  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9797  getUseRinsLns());
9798  }
9799  if (hasUseFeasibilityPump()) {
9800  hash = (37 * hash) + USE_FEASIBILITY_PUMP_FIELD_NUMBER;
9801  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9803  }
9804  if (hasFpRounding()) {
9805  hash = (37 * hash) + FP_ROUNDING_FIELD_NUMBER;
9806  hash = (53 * hash) + fpRounding_;
9807  }
9808  if (hasUseRelaxationLns()) {
9809  hash = (37 * hash) + USE_RELAXATION_LNS_FIELD_NUMBER;
9810  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9812  }
9813  if (hasDiversifyLnsParams()) {
9814  hash = (37 * hash) + DIVERSIFY_LNS_PARAMS_FIELD_NUMBER;
9815  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9817  }
9818  if (hasRandomizeSearch()) {
9819  hash = (37 * hash) + RANDOMIZE_SEARCH_FIELD_NUMBER;
9820  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9821  getRandomizeSearch());
9822  }
9824  hash = (37 * hash) + SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER;
9825  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9827  }
9828  if (hasUseOptionalVariables()) {
9829  hash = (37 * hash) + USE_OPTIONAL_VARIABLES_FIELD_NUMBER;
9830  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9832  }
9833  if (hasUseExactLpReason()) {
9834  hash = (37 * hash) + USE_EXACT_LP_REASON_FIELD_NUMBER;
9835  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9837  }
9838  if (hasUseBranchingInLp()) {
9839  hash = (37 * hash) + USE_BRANCHING_IN_LP_FIELD_NUMBER;
9840  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9842  }
9843  if (hasUseCombinedNoOverlap()) {
9844  hash = (37 * hash) + USE_COMBINED_NO_OVERLAP_FIELD_NUMBER;
9845  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9847  }
9848  if (hasCatchSigintSignal()) {
9849  hash = (37 * hash) + CATCH_SIGINT_SIGNAL_FIELD_NUMBER;
9850  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9852  }
9853  if (hasUseImpliedBounds()) {
9854  hash = (37 * hash) + USE_IMPLIED_BOUNDS_FIELD_NUMBER;
9855  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9857  }
9858  if (hasPolishLpSolution()) {
9859  hash = (37 * hash) + POLISH_LP_SOLUTION_FIELD_NUMBER;
9860  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9862  }
9863  if (hasMipMaxBound()) {
9864  hash = (37 * hash) + MIP_MAX_BOUND_FIELD_NUMBER;
9865  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9866  java.lang.Double.doubleToLongBits(getMipMaxBound()));
9867  }
9868  if (hasMipVarScaling()) {
9869  hash = (37 * hash) + MIP_VAR_SCALING_FIELD_NUMBER;
9870  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9871  java.lang.Double.doubleToLongBits(getMipVarScaling()));
9872  }
9875  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9877  }
9878  if (hasMipWantedPrecision()) {
9879  hash = (37 * hash) + MIP_WANTED_PRECISION_FIELD_NUMBER;
9880  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9881  java.lang.Double.doubleToLongBits(getMipWantedPrecision()));
9882  }
9883  if (hasMipMaxActivityExponent()) {
9884  hash = (37 * hash) + MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER;
9885  hash = (53 * hash) + getMipMaxActivityExponent();
9886  }
9887  if (hasMipCheckPrecision()) {
9888  hash = (37 * hash) + MIP_CHECK_PRECISION_FIELD_NUMBER;
9889  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9890  java.lang.Double.doubleToLongBits(getMipCheckPrecision()));
9891  }
9892  hash = (29 * hash) + unknownFields.hashCode();
9893  memoizedHashCode = hash;
9894  return hash;
9895  }
9896 
9898  java.nio.ByteBuffer data)
9899  throws com.google.protobuf.InvalidProtocolBufferException {
9900  return PARSER.parseFrom(data);
9901  }
9903  java.nio.ByteBuffer data,
9904  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9905  throws com.google.protobuf.InvalidProtocolBufferException {
9906  return PARSER.parseFrom(data, extensionRegistry);
9907  }
9909  com.google.protobuf.ByteString data)
9910  throws com.google.protobuf.InvalidProtocolBufferException {
9911  return PARSER.parseFrom(data);
9912  }
9914  com.google.protobuf.ByteString data,
9915  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9916  throws com.google.protobuf.InvalidProtocolBufferException {
9917  return PARSER.parseFrom(data, extensionRegistry);
9918  }
9919  public static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
9920  throws com.google.protobuf.InvalidProtocolBufferException {
9921  return PARSER.parseFrom(data);
9922  }
9924  byte[] data,
9925  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9926  throws com.google.protobuf.InvalidProtocolBufferException {
9927  return PARSER.parseFrom(data, extensionRegistry);
9928  }
9929  public static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
9930  throws java.io.IOException {
9931  return com.google.protobuf.GeneratedMessageV3
9932  .parseWithIOException(PARSER, input);
9933  }
9935  java.io.InputStream input,
9936  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9937  throws java.io.IOException {
9938  return com.google.protobuf.GeneratedMessageV3
9939  .parseWithIOException(PARSER, input, extensionRegistry);
9940  }
9941  public static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
9942  throws java.io.IOException {
9943  return com.google.protobuf.GeneratedMessageV3
9944  .parseDelimitedWithIOException(PARSER, input);
9945  }
9947  java.io.InputStream input,
9948  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9949  throws java.io.IOException {
9950  return com.google.protobuf.GeneratedMessageV3
9951  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
9952  }
9954  com.google.protobuf.CodedInputStream input)
9955  throws java.io.IOException {
9956  return com.google.protobuf.GeneratedMessageV3
9957  .parseWithIOException(PARSER, input);
9958  }
9960  com.google.protobuf.CodedInputStream input,
9961  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9962  throws java.io.IOException {
9963  return com.google.protobuf.GeneratedMessageV3
9964  .parseWithIOException(PARSER, input, extensionRegistry);
9965  }
9966 
9967  @java.lang.Override
9968  public Builder newBuilderForType() { return newBuilder(); }
9969  public static Builder newBuilder() {
9970  return DEFAULT_INSTANCE.toBuilder();
9971  }
9972  public static Builder newBuilder(com.google.ortools.sat.SatParameters prototype) {
9973  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
9974  }
9975  @java.lang.Override
9976  public Builder toBuilder() {
9977  return this == DEFAULT_INSTANCE
9978  ? new Builder() : new Builder().mergeFrom(this);
9979  }
9980 
9981  @java.lang.Override
9983  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9984  Builder builder = new Builder(parent);
9985  return builder;
9986  }
9996  public static final class Builder extends
9997  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
9998  // @@protoc_insertion_point(builder_implements:operations_research.sat.SatParameters)
9999  com.google.ortools.sat.SatParametersOrBuilder {
10000  public static final com.google.protobuf.Descriptors.Descriptor
10002  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
10003  }
10004 
10005  @java.lang.Override
10006  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
10008  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
10009  .ensureFieldAccessorsInitialized(
10011  }
10012 
10013  // Construct using com.google.ortools.sat.SatParameters.newBuilder()
10014  private Builder() {
10015  maybeForceBuilderInitialization();
10016  }
10017 
10018  private Builder(
10019  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
10020  super(parent);
10021  maybeForceBuilderInitialization();
10022  }
10023  private void maybeForceBuilderInitialization() {
10024  if (com.google.protobuf.GeneratedMessageV3
10025  .alwaysUseFieldBuilders) {
10026  }
10027  }
10028  @java.lang.Override
10029  public Builder clear() {
10030  super.clear();
10031  name_ = "";
10032  bitField0_ = (bitField0_ & ~0x00000001);
10033  preferredVariableOrder_ = 0;
10034  bitField0_ = (bitField0_ & ~0x00000002);
10035  initialPolarity_ = 1;
10036  bitField0_ = (bitField0_ & ~0x00000004);
10037  usePhaseSaving_ = true;
10038  bitField0_ = (bitField0_ & ~0x00000008);
10039  polarityRephaseIncrement_ = 1000;
10040  bitField0_ = (bitField0_ & ~0x00000010);
10041  randomPolarityRatio_ = 0D;
10042  bitField0_ = (bitField0_ & ~0x00000020);
10043  randomBranchesRatio_ = 0D;
10044  bitField0_ = (bitField0_ & ~0x00000040);
10045  useErwaHeuristic_ = false;
10046  bitField0_ = (bitField0_ & ~0x00000080);
10047  initialVariablesActivity_ = 0D;
10048  bitField0_ = (bitField0_ & ~0x00000100);
10049  alsoBumpVariablesInConflictReasons_ = false;
10050  bitField0_ = (bitField0_ & ~0x00000200);
10051  minimizationAlgorithm_ = 2;
10052  bitField0_ = (bitField0_ & ~0x00000400);
10053  binaryMinimizationAlgorithm_ = 1;
10054  bitField0_ = (bitField0_ & ~0x00000800);
10055  subsumptionDuringConflictAnalysis_ = true;
10056  bitField0_ = (bitField0_ & ~0x00001000);
10057  clauseCleanupPeriod_ = 10000;
10058  bitField0_ = (bitField0_ & ~0x00002000);
10059  clauseCleanupTarget_ = 10000;
10060  bitField0_ = (bitField0_ & ~0x00004000);
10061  clauseCleanupProtection_ = 0;
10062  bitField0_ = (bitField0_ & ~0x00008000);
10063  clauseCleanupLbdBound_ = 5;
10064  bitField0_ = (bitField0_ & ~0x00010000);
10065  clauseCleanupOrdering_ = 0;
10066  bitField0_ = (bitField0_ & ~0x00020000);
10067  pbCleanupIncrement_ = 200;
10068  bitField0_ = (bitField0_ & ~0x00040000);
10069  pbCleanupRatio_ = 0.5D;
10070  bitField0_ = (bitField0_ & ~0x00080000);
10071  minimizeWithPropagationRestartPeriod_ = 10;
10072  bitField0_ = (bitField0_ & ~0x00100000);
10073  minimizeWithPropagationNumDecisions_ = 1000;
10074  bitField0_ = (bitField0_ & ~0x00200000);
10075  variableActivityDecay_ = 0.8D;
10076  bitField0_ = (bitField0_ & ~0x00400000);
10077  maxVariableActivityValue_ = 1e+100D;
10078  bitField0_ = (bitField0_ & ~0x00800000);
10079  glucoseMaxDecay_ = 0.95D;
10080  bitField0_ = (bitField0_ & ~0x01000000);
10081  glucoseDecayIncrement_ = 0.01D;
10082  bitField0_ = (bitField0_ & ~0x02000000);
10083  glucoseDecayIncrementPeriod_ = 5000;
10084  bitField0_ = (bitField0_ & ~0x04000000);
10085  clauseActivityDecay_ = 0.999D;
10086  bitField0_ = (bitField0_ & ~0x08000000);
10087  maxClauseActivityValue_ = 1e+20D;
10088  bitField0_ = (bitField0_ & ~0x10000000);
10089  restartAlgorithms_ = java.util.Collections.emptyList();
10090  bitField0_ = (bitField0_ & ~0x20000000);
10091  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
10092  bitField0_ = (bitField0_ & ~0x40000000);
10093  restartPeriod_ = 50;
10094  bitField0_ = (bitField0_ & ~0x80000000);
10095  restartRunningWindowSize_ = 50;
10096  bitField1_ = (bitField1_ & ~0x00000001);
10097  restartDlAverageRatio_ = 1D;
10098  bitField1_ = (bitField1_ & ~0x00000002);
10099  restartLbdAverageRatio_ = 1D;
10100  bitField1_ = (bitField1_ & ~0x00000004);
10101  useBlockingRestart_ = false;
10102  bitField1_ = (bitField1_ & ~0x00000008);
10103  blockingRestartWindowSize_ = 5000;
10104  bitField1_ = (bitField1_ & ~0x00000010);
10105  blockingRestartMultiplier_ = 1.4D;
10106  bitField1_ = (bitField1_ & ~0x00000020);
10107  numConflictsBeforeStrategyChanges_ = 0;
10108  bitField1_ = (bitField1_ & ~0x00000040);
10109  strategyChangeIncreaseRatio_ = 0D;
10110  bitField1_ = (bitField1_ & ~0x00000080);
10111  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
10112  bitField1_ = (bitField1_ & ~0x00000100);
10113  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
10114  bitField1_ = (bitField1_ & ~0x00000200);
10115  maxNumberOfConflicts_ = 9223372036854775807L;
10116  bitField1_ = (bitField1_ & ~0x00000400);
10117  maxMemoryInMb_ = 10000L;
10118  bitField1_ = (bitField1_ & ~0x00000800);
10119  absoluteGapLimit_ = 0D;
10120  bitField1_ = (bitField1_ & ~0x00001000);
10121  relativeGapLimit_ = 0D;
10122  bitField1_ = (bitField1_ & ~0x00002000);
10123  treatBinaryClausesSeparately_ = true;
10124  bitField1_ = (bitField1_ & ~0x00004000);
10125  randomSeed_ = 1;
10126  bitField1_ = (bitField1_ & ~0x00008000);
10127  logSearchProgress_ = false;
10128  bitField1_ = (bitField1_ & ~0x00010000);
10129  usePbResolution_ = false;
10130  bitField1_ = (bitField1_ & ~0x00020000);
10131  minimizeReductionDuringPbResolution_ = false;
10132  bitField1_ = (bitField1_ & ~0x00040000);
10133  countAssumptionLevelsInLbd_ = true;
10134  bitField1_ = (bitField1_ & ~0x00080000);
10135  presolveBveThreshold_ = 500;
10136  bitField1_ = (bitField1_ & ~0x00100000);
10137  presolveBveClauseWeight_ = 3;
10138  bitField1_ = (bitField1_ & ~0x00200000);
10139  presolveProbingDeterministicTimeLimit_ = 30D;
10140  bitField1_ = (bitField1_ & ~0x00400000);
10141  presolveBlockedClause_ = true;
10142  bitField1_ = (bitField1_ & ~0x00800000);
10143  presolveUseBva_ = true;
10144  bitField1_ = (bitField1_ & ~0x01000000);
10145  presolveBvaThreshold_ = 1;
10146  bitField1_ = (bitField1_ & ~0x02000000);
10147  maxPresolveIterations_ = 3;
10148  bitField1_ = (bitField1_ & ~0x04000000);
10149  cpModelPresolve_ = true;
10150  bitField1_ = (bitField1_ & ~0x08000000);
10151  cpModelPostsolveWithFullSolver_ = false;
10152  bitField1_ = (bitField1_ & ~0x10000000);
10153  cpModelMaxNumPresolveOperations_ = 0;
10154  bitField1_ = (bitField1_ & ~0x20000000);
10155  cpModelProbingLevel_ = 2;
10156  bitField1_ = (bitField1_ & ~0x40000000);
10157  cpModelUseSatPresolve_ = true;
10158  bitField1_ = (bitField1_ & ~0x80000000);
10159  useSatInprocessing_ = false;
10160  bitField2_ = (bitField2_ & ~0x00000001);
10161  expandElementConstraints_ = true;
10162  bitField2_ = (bitField2_ & ~0x00000002);
10163  expandAutomatonConstraints_ = true;
10164  bitField2_ = (bitField2_ & ~0x00000004);
10165  expandTableConstraints_ = true;
10166  bitField2_ = (bitField2_ & ~0x00000008);
10167  expandAlldiffConstraints_ = false;
10168  bitField2_ = (bitField2_ & ~0x00000010);
10169  mergeNoOverlapWorkLimit_ = 1000000000000D;
10170  bitField2_ = (bitField2_ & ~0x00000020);
10171  mergeAtMostOneWorkLimit_ = 100000000D;
10172  bitField2_ = (bitField2_ & ~0x00000040);
10173  presolveSubstitutionLevel_ = 1;
10174  bitField2_ = (bitField2_ & ~0x00000080);
10175  presolveExtractIntegerEnforcement_ = false;
10176  bitField2_ = (bitField2_ & ~0x00000100);
10177  useOptimizationHints_ = true;
10178  bitField2_ = (bitField2_ & ~0x00000200);
10179  minimizeCore_ = true;
10180  bitField2_ = (bitField2_ & ~0x00000400);
10181  findMultipleCores_ = true;
10182  bitField2_ = (bitField2_ & ~0x00000800);
10183  coverOptimization_ = true;
10184  bitField2_ = (bitField2_ & ~0x00001000);
10185  maxSatAssumptionOrder_ = 0;
10186  bitField2_ = (bitField2_ & ~0x00002000);
10187  maxSatReverseAssumptionOrder_ = false;
10188  bitField2_ = (bitField2_ & ~0x00004000);
10189  maxSatStratification_ = 1;
10190  bitField2_ = (bitField2_ & ~0x00008000);
10191  usePrecedencesInDisjunctiveConstraint_ = true;
10192  bitField2_ = (bitField2_ & ~0x00010000);
10193  useOverloadCheckerInCumulativeConstraint_ = false;
10194  bitField2_ = (bitField2_ & ~0x00020000);
10195  useTimetableEdgeFindingInCumulativeConstraint_ = false;
10196  bitField2_ = (bitField2_ & ~0x00040000);
10197  useDisjunctiveConstraintInCumulativeConstraint_ = true;
10198  bitField2_ = (bitField2_ & ~0x00080000);
10199  linearizationLevel_ = 1;
10200  bitField2_ = (bitField2_ & ~0x00100000);
10201  booleanEncodingLevel_ = 1;
10202  bitField2_ = (bitField2_ & ~0x00200000);
10203  maxNumCuts_ = 10000;
10204  bitField2_ = (bitField2_ & ~0x00400000);
10205  onlyAddCutsAtLevelZero_ = false;
10206  bitField2_ = (bitField2_ & ~0x00800000);
10207  addKnapsackCuts_ = false;
10208  bitField2_ = (bitField2_ & ~0x01000000);
10209  addCgCuts_ = true;
10210  bitField2_ = (bitField2_ & ~0x02000000);
10211  addMirCuts_ = true;
10212  bitField2_ = (bitField2_ & ~0x04000000);
10213  addZeroHalfCuts_ = true;
10214  bitField2_ = (bitField2_ & ~0x08000000);
10215  addCliqueCuts_ = true;
10216  bitField2_ = (bitField2_ & ~0x10000000);
10217  maxAllDiffCutSize_ = 7;
10218  bitField2_ = (bitField2_ & ~0x20000000);
10219  addLinMaxCuts_ = true;
10220  bitField2_ = (bitField2_ & ~0x40000000);
10221  maxIntegerRoundingScaling_ = 600;
10222  bitField2_ = (bitField2_ & ~0x80000000);
10223  addLpConstraintsLazily_ = true;
10224  bitField3_ = (bitField3_ & ~0x00000001);
10225  minOrthogonalityForLpConstraints_ = 0.05D;
10226  bitField3_ = (bitField3_ & ~0x00000002);
10227  maxCutRoundsAtLevelZero_ = 1;
10228  bitField3_ = (bitField3_ & ~0x00000004);
10229  maxConsecutiveInactiveCount_ = 100;
10230  bitField3_ = (bitField3_ & ~0x00000008);
10231  cutMaxActiveCountValue_ = 10000000000D;
10232  bitField3_ = (bitField3_ & ~0x00000010);
10233  cutActiveCountDecay_ = 0.8D;
10234  bitField3_ = (bitField3_ & ~0x00000020);
10235  cutCleanupTarget_ = 1000;
10236  bitField3_ = (bitField3_ & ~0x00000040);
10237  newConstraintsBatchSize_ = 50;
10238  bitField3_ = (bitField3_ & ~0x00000080);
10239  searchBranching_ = 0;
10240  bitField3_ = (bitField3_ & ~0x00000100);
10241  hintConflictLimit_ = 10;
10242  bitField3_ = (bitField3_ & ~0x00000200);
10243  repairHint_ = false;
10244  bitField3_ = (bitField3_ & ~0x00000400);
10245  exploitIntegerLpSolution_ = true;
10246  bitField3_ = (bitField3_ & ~0x00000800);
10247  exploitAllLpSolution_ = true;
10248  bitField3_ = (bitField3_ & ~0x00001000);
10249  exploitBestSolution_ = false;
10250  bitField3_ = (bitField3_ & ~0x00002000);
10251  exploitRelaxationSolution_ = false;
10252  bitField3_ = (bitField3_ & ~0x00004000);
10253  exploitObjective_ = true;
10254  bitField3_ = (bitField3_ & ~0x00008000);
10255  probingPeriodAtRoot_ = 0L;
10256  bitField3_ = (bitField3_ & ~0x00010000);
10257  useProbingSearch_ = false;
10258  bitField3_ = (bitField3_ & ~0x00020000);
10259  pseudoCostReliabilityThreshold_ = 100L;
10260  bitField3_ = (bitField3_ & ~0x00040000);
10261  optimizeWithCore_ = false;
10262  bitField3_ = (bitField3_ & ~0x00080000);
10263  binarySearchNumConflicts_ = -1;
10264  bitField3_ = (bitField3_ & ~0x00100000);
10265  optimizeWithMaxHs_ = false;
10266  bitField3_ = (bitField3_ & ~0x00200000);
10267  enumerateAllSolutions_ = false;
10268  bitField3_ = (bitField3_ & ~0x00400000);
10269  keepAllFeasibleSolutionsInPresolve_ = false;
10270  bitField3_ = (bitField3_ & ~0x00800000);
10271  fillTightenedDomainsInResponse_ = false;
10272  bitField3_ = (bitField3_ & ~0x01000000);
10273  instantiateAllVariables_ = true;
10274  bitField3_ = (bitField3_ & ~0x02000000);
10275  autoDetectGreaterThanAtLeastOneOf_ = true;
10276  bitField3_ = (bitField3_ & ~0x04000000);
10277  stopAfterFirstSolution_ = false;
10278  bitField3_ = (bitField3_ & ~0x08000000);
10279  stopAfterPresolve_ = false;
10280  bitField3_ = (bitField3_ & ~0x10000000);
10281  numSearchWorkers_ = 1;
10282  bitField3_ = (bitField3_ & ~0x20000000);
10283  interleaveSearch_ = false;
10284  bitField3_ = (bitField3_ & ~0x40000000);
10285  interleaveBatchSize_ = 1;
10286  bitField3_ = (bitField3_ & ~0x80000000);
10287  reduceMemoryUsageInInterleaveMode_ = false;
10288  bitField4_ = (bitField4_ & ~0x00000001);
10289  shareObjectiveBounds_ = true;
10290  bitField4_ = (bitField4_ & ~0x00000002);
10291  shareLevelZeroBounds_ = true;
10292  bitField4_ = (bitField4_ & ~0x00000004);
10293  useLnsOnly_ = false;
10294  bitField4_ = (bitField4_ & ~0x00000008);
10295  lnsFocusOnDecisionVariables_ = false;
10296  bitField4_ = (bitField4_ & ~0x00000010);
10297  useRinsLns_ = true;
10298  bitField4_ = (bitField4_ & ~0x00000020);
10299  useFeasibilityPump_ = true;
10300  bitField4_ = (bitField4_ & ~0x00000040);
10301  fpRounding_ = 2;
10302  bitField4_ = (bitField4_ & ~0x00000080);
10303  useRelaxationLns_ = false;
10304  bitField4_ = (bitField4_ & ~0x00000100);
10305  diversifyLnsParams_ = false;
10306  bitField4_ = (bitField4_ & ~0x00000200);
10307  randomizeSearch_ = false;
10308  bitField4_ = (bitField4_ & ~0x00000400);
10309  searchRandomizationTolerance_ = 0L;
10310  bitField4_ = (bitField4_ & ~0x00000800);
10311  useOptionalVariables_ = true;
10312  bitField4_ = (bitField4_ & ~0x00001000);
10313  useExactLpReason_ = true;
10314  bitField4_ = (bitField4_ & ~0x00002000);
10315  useBranchingInLp_ = false;
10316  bitField4_ = (bitField4_ & ~0x00004000);
10317  useCombinedNoOverlap_ = false;
10318  bitField4_ = (bitField4_ & ~0x00008000);
10319  catchSigintSignal_ = true;
10320  bitField4_ = (bitField4_ & ~0x00010000);
10321  useImpliedBounds_ = true;
10322  bitField4_ = (bitField4_ & ~0x00020000);
10323  polishLpSolution_ = false;
10324  bitField4_ = (bitField4_ & ~0x00040000);
10325  mipMaxBound_ = 10000000D;
10326  bitField4_ = (bitField4_ & ~0x00080000);
10327  mipVarScaling_ = 1D;
10328  bitField4_ = (bitField4_ & ~0x00100000);
10329  mipAutomaticallyScaleVariables_ = true;
10330  bitField4_ = (bitField4_ & ~0x00200000);
10331  mipWantedPrecision_ = 1e-06D;
10332  bitField4_ = (bitField4_ & ~0x00400000);
10333  mipMaxActivityExponent_ = 53;
10334  bitField4_ = (bitField4_ & ~0x00800000);
10335  mipCheckPrecision_ = 0.0001D;
10336  bitField4_ = (bitField4_ & ~0x01000000);
10337  return this;
10338  }
10339 
10340  @java.lang.Override
10341  public com.google.protobuf.Descriptors.Descriptor
10343  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
10344  }
10345 
10346  @java.lang.Override
10349  }
10350 
10351  @java.lang.Override
10354  if (!result.isInitialized()) {
10355  throw newUninitializedMessageException(result);
10356  }
10357  return result;
10358  }
10359 
10360  @java.lang.Override
10363  int from_bitField0_ = bitField0_;
10364  int from_bitField1_ = bitField1_;
10365  int from_bitField2_ = bitField2_;
10366  int from_bitField3_ = bitField3_;
10367  int from_bitField4_ = bitField4_;
10368  int to_bitField0_ = 0;
10369  int to_bitField1_ = 0;
10370  int to_bitField2_ = 0;
10371  int to_bitField3_ = 0;
10372  int to_bitField4_ = 0;
10373  if (((from_bitField0_ & 0x00000001) != 0)) {
10374  to_bitField0_ |= 0x00000001;
10375  }
10376  result.name_ = name_;
10377  if (((from_bitField0_ & 0x00000002) != 0)) {
10378  to_bitField0_ |= 0x00000002;
10379  }
10380  result.preferredVariableOrder_ = preferredVariableOrder_;
10381  if (((from_bitField0_ & 0x00000004) != 0)) {
10382  to_bitField0_ |= 0x00000004;
10383  }
10384  result.initialPolarity_ = initialPolarity_;
10385  if (((from_bitField0_ & 0x00000008) != 0)) {
10386  to_bitField0_ |= 0x00000008;
10387  }
10388  result.usePhaseSaving_ = usePhaseSaving_;
10389  if (((from_bitField0_ & 0x00000010) != 0)) {
10390  to_bitField0_ |= 0x00000010;
10391  }
10392  result.polarityRephaseIncrement_ = polarityRephaseIncrement_;
10393  if (((from_bitField0_ & 0x00000020) != 0)) {
10394  result.randomPolarityRatio_ = randomPolarityRatio_;
10395  to_bitField0_ |= 0x00000020;
10396  }
10397  if (((from_bitField0_ & 0x00000040) != 0)) {
10398  result.randomBranchesRatio_ = randomBranchesRatio_;
10399  to_bitField0_ |= 0x00000040;
10400  }
10401  if (((from_bitField0_ & 0x00000080) != 0)) {
10402  result.useErwaHeuristic_ = useErwaHeuristic_;
10403  to_bitField0_ |= 0x00000080;
10404  }
10405  if (((from_bitField0_ & 0x00000100) != 0)) {
10406  result.initialVariablesActivity_ = initialVariablesActivity_;
10407  to_bitField0_ |= 0x00000100;
10408  }
10409  if (((from_bitField0_ & 0x00000200) != 0)) {
10410  result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
10411  to_bitField0_ |= 0x00000200;
10412  }
10413  if (((from_bitField0_ & 0x00000400) != 0)) {
10414  to_bitField0_ |= 0x00000400;
10415  }
10416  result.minimizationAlgorithm_ = minimizationAlgorithm_;
10417  if (((from_bitField0_ & 0x00000800) != 0)) {
10418  to_bitField0_ |= 0x00000800;
10419  }
10420  result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
10421  if (((from_bitField0_ & 0x00001000) != 0)) {
10422  to_bitField0_ |= 0x00001000;
10423  }
10424  result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
10425  if (((from_bitField0_ & 0x00002000) != 0)) {
10426  to_bitField0_ |= 0x00002000;
10427  }
10428  result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
10429  if (((from_bitField0_ & 0x00004000) != 0)) {
10430  to_bitField0_ |= 0x00004000;
10431  }
10432  result.clauseCleanupTarget_ = clauseCleanupTarget_;
10433  if (((from_bitField0_ & 0x00008000) != 0)) {
10434  to_bitField0_ |= 0x00008000;
10435  }
10436  result.clauseCleanupProtection_ = clauseCleanupProtection_;
10437  if (((from_bitField0_ & 0x00010000) != 0)) {
10438  to_bitField0_ |= 0x00010000;
10439  }
10440  result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
10441  if (((from_bitField0_ & 0x00020000) != 0)) {
10442  to_bitField0_ |= 0x00020000;
10443  }
10444  result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
10445  if (((from_bitField0_ & 0x00040000) != 0)) {
10446  to_bitField0_ |= 0x00040000;
10447  }
10448  result.pbCleanupIncrement_ = pbCleanupIncrement_;
10449  if (((from_bitField0_ & 0x00080000) != 0)) {
10450  to_bitField0_ |= 0x00080000;
10451  }
10452  result.pbCleanupRatio_ = pbCleanupRatio_;
10453  if (((from_bitField0_ & 0x00100000) != 0)) {
10454  to_bitField0_ |= 0x00100000;
10455  }
10456  result.minimizeWithPropagationRestartPeriod_ = minimizeWithPropagationRestartPeriod_;
10457  if (((from_bitField0_ & 0x00200000) != 0)) {
10458  to_bitField0_ |= 0x00200000;
10459  }
10460  result.minimizeWithPropagationNumDecisions_ = minimizeWithPropagationNumDecisions_;
10461  if (((from_bitField0_ & 0x00400000) != 0)) {
10462  to_bitField0_ |= 0x00400000;
10463  }
10464  result.variableActivityDecay_ = variableActivityDecay_;
10465  if (((from_bitField0_ & 0x00800000) != 0)) {
10466  to_bitField0_ |= 0x00800000;
10467  }
10468  result.maxVariableActivityValue_ = maxVariableActivityValue_;
10469  if (((from_bitField0_ & 0x01000000) != 0)) {
10470  to_bitField0_ |= 0x01000000;
10471  }
10472  result.glucoseMaxDecay_ = glucoseMaxDecay_;
10473  if (((from_bitField0_ & 0x02000000) != 0)) {
10474  to_bitField0_ |= 0x02000000;
10475  }
10476  result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
10477  if (((from_bitField0_ & 0x04000000) != 0)) {
10478  to_bitField0_ |= 0x04000000;
10479  }
10480  result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
10481  if (((from_bitField0_ & 0x08000000) != 0)) {
10482  to_bitField0_ |= 0x08000000;
10483  }
10484  result.clauseActivityDecay_ = clauseActivityDecay_;
10485  if (((from_bitField0_ & 0x10000000) != 0)) {
10486  to_bitField0_ |= 0x10000000;
10487  }
10488  result.maxClauseActivityValue_ = maxClauseActivityValue_;
10489  if (((bitField0_ & 0x20000000) != 0)) {
10490  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
10491  bitField0_ = (bitField0_ & ~0x20000000);
10492  }
10493  result.restartAlgorithms_ = restartAlgorithms_;
10494  if (((from_bitField0_ & 0x40000000) != 0)) {
10495  to_bitField0_ |= 0x20000000;
10496  }
10497  result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
10498  if (((from_bitField0_ & 0x80000000) != 0)) {
10499  to_bitField0_ |= 0x40000000;
10500  }
10501  result.restartPeriod_ = restartPeriod_;
10502  if (((from_bitField1_ & 0x00000001) != 0)) {
10503  to_bitField0_ |= 0x80000000;
10504  }
10505  result.restartRunningWindowSize_ = restartRunningWindowSize_;
10506  if (((from_bitField1_ & 0x00000002) != 0)) {
10507  to_bitField1_ |= 0x00000001;
10508  }
10509  result.restartDlAverageRatio_ = restartDlAverageRatio_;
10510  if (((from_bitField1_ & 0x00000004) != 0)) {
10511  to_bitField1_ |= 0x00000002;
10512  }
10513  result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
10514  if (((from_bitField1_ & 0x00000008) != 0)) {
10515  result.useBlockingRestart_ = useBlockingRestart_;
10516  to_bitField1_ |= 0x00000004;
10517  }
10518  if (((from_bitField1_ & 0x00000010) != 0)) {
10519  to_bitField1_ |= 0x00000008;
10520  }
10521  result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
10522  if (((from_bitField1_ & 0x00000020) != 0)) {
10523  to_bitField1_ |= 0x00000010;
10524  }
10525  result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
10526  if (((from_bitField1_ & 0x00000040) != 0)) {
10527  result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
10528  to_bitField1_ |= 0x00000020;
10529  }
10530  if (((from_bitField1_ & 0x00000080) != 0)) {
10531  result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
10532  to_bitField1_ |= 0x00000040;
10533  }
10534  if (((from_bitField1_ & 0x00000100) != 0)) {
10535  to_bitField1_ |= 0x00000080;
10536  }
10537  result.maxTimeInSeconds_ = maxTimeInSeconds_;
10538  if (((from_bitField1_ & 0x00000200) != 0)) {
10539  to_bitField1_ |= 0x00000100;
10540  }
10541  result.maxDeterministicTime_ = maxDeterministicTime_;
10542  if (((from_bitField1_ & 0x00000400) != 0)) {
10543  to_bitField1_ |= 0x00000200;
10544  }
10545  result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
10546  if (((from_bitField1_ & 0x00000800) != 0)) {
10547  to_bitField1_ |= 0x00000400;
10548  }
10549  result.maxMemoryInMb_ = maxMemoryInMb_;
10550  if (((from_bitField1_ & 0x00001000) != 0)) {
10551  result.absoluteGapLimit_ = absoluteGapLimit_;
10552  to_bitField1_ |= 0x00000800;
10553  }
10554  if (((from_bitField1_ & 0x00002000) != 0)) {
10555  result.relativeGapLimit_ = relativeGapLimit_;
10556  to_bitField1_ |= 0x00001000;
10557  }
10558  if (((from_bitField1_ & 0x00004000) != 0)) {
10559  to_bitField1_ |= 0x00002000;
10560  }
10561  result.treatBinaryClausesSeparately_ = treatBinaryClausesSeparately_;
10562  if (((from_bitField1_ & 0x00008000) != 0)) {
10563  to_bitField1_ |= 0x00004000;
10564  }
10565  result.randomSeed_ = randomSeed_;
10566  if (((from_bitField1_ & 0x00010000) != 0)) {
10567  result.logSearchProgress_ = logSearchProgress_;
10568  to_bitField1_ |= 0x00008000;
10569  }
10570  if (((from_bitField1_ & 0x00020000) != 0)) {
10571  result.usePbResolution_ = usePbResolution_;
10572  to_bitField1_ |= 0x00010000;
10573  }
10574  if (((from_bitField1_ & 0x00040000) != 0)) {
10575  result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
10576  to_bitField1_ |= 0x00020000;
10577  }
10578  if (((from_bitField1_ & 0x00080000) != 0)) {
10579  to_bitField1_ |= 0x00040000;
10580  }
10581  result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
10582  if (((from_bitField1_ & 0x00100000) != 0)) {
10583  to_bitField1_ |= 0x00080000;
10584  }
10585  result.presolveBveThreshold_ = presolveBveThreshold_;
10586  if (((from_bitField1_ & 0x00200000) != 0)) {
10587  to_bitField1_ |= 0x00100000;
10588  }
10589  result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
10590  if (((from_bitField1_ & 0x00400000) != 0)) {
10591  to_bitField1_ |= 0x00200000;
10592  }
10593  result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
10594  if (((from_bitField1_ & 0x00800000) != 0)) {
10595  to_bitField1_ |= 0x00400000;
10596  }
10597  result.presolveBlockedClause_ = presolveBlockedClause_;
10598  if (((from_bitField1_ & 0x01000000) != 0)) {
10599  to_bitField1_ |= 0x00800000;
10600  }
10601  result.presolveUseBva_ = presolveUseBva_;
10602  if (((from_bitField1_ & 0x02000000) != 0)) {
10603  to_bitField1_ |= 0x01000000;
10604  }
10605  result.presolveBvaThreshold_ = presolveBvaThreshold_;
10606  if (((from_bitField1_ & 0x04000000) != 0)) {
10607  to_bitField1_ |= 0x02000000;
10608  }
10609  result.maxPresolveIterations_ = maxPresolveIterations_;
10610  if (((from_bitField1_ & 0x08000000) != 0)) {
10611  to_bitField1_ |= 0x04000000;
10612  }
10613  result.cpModelPresolve_ = cpModelPresolve_;
10614  if (((from_bitField1_ & 0x10000000) != 0)) {
10615  result.cpModelPostsolveWithFullSolver_ = cpModelPostsolveWithFullSolver_;
10616  to_bitField1_ |= 0x08000000;
10617  }
10618  if (((from_bitField1_ & 0x20000000) != 0)) {
10619  result.cpModelMaxNumPresolveOperations_ = cpModelMaxNumPresolveOperations_;
10620  to_bitField1_ |= 0x10000000;
10621  }
10622  if (((from_bitField1_ & 0x40000000) != 0)) {
10623  to_bitField1_ |= 0x20000000;
10624  }
10625  result.cpModelProbingLevel_ = cpModelProbingLevel_;
10626  if (((from_bitField1_ & 0x80000000) != 0)) {
10627  to_bitField1_ |= 0x40000000;
10628  }
10629  result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
10630  if (((from_bitField2_ & 0x00000001) != 0)) {
10631  result.useSatInprocessing_ = useSatInprocessing_;
10632  to_bitField1_ |= 0x80000000;
10633  }
10634  if (((from_bitField2_ & 0x00000002) != 0)) {
10635  to_bitField2_ |= 0x00000001;
10636  }
10637  result.expandElementConstraints_ = expandElementConstraints_;
10638  if (((from_bitField2_ & 0x00000004) != 0)) {
10639  to_bitField2_ |= 0x00000002;
10640  }
10641  result.expandAutomatonConstraints_ = expandAutomatonConstraints_;
10642  if (((from_bitField2_ & 0x00000008) != 0)) {
10643  to_bitField2_ |= 0x00000004;
10644  }
10645  result.expandTableConstraints_ = expandTableConstraints_;
10646  if (((from_bitField2_ & 0x00000010) != 0)) {
10647  result.expandAlldiffConstraints_ = expandAlldiffConstraints_;
10648  to_bitField2_ |= 0x00000008;
10649  }
10650  if (((from_bitField2_ & 0x00000020) != 0)) {
10651  to_bitField2_ |= 0x00000010;
10652  }
10653  result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
10654  if (((from_bitField2_ & 0x00000040) != 0)) {
10655  to_bitField2_ |= 0x00000020;
10656  }
10657  result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
10658  if (((from_bitField2_ & 0x00000080) != 0)) {
10659  to_bitField2_ |= 0x00000040;
10660  }
10661  result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
10662  if (((from_bitField2_ & 0x00000100) != 0)) {
10663  result.presolveExtractIntegerEnforcement_ = presolveExtractIntegerEnforcement_;
10664  to_bitField2_ |= 0x00000080;
10665  }
10666  if (((from_bitField2_ & 0x00000200) != 0)) {
10667  to_bitField2_ |= 0x00000100;
10668  }
10669  result.useOptimizationHints_ = useOptimizationHints_;
10670  if (((from_bitField2_ & 0x00000400) != 0)) {
10671  to_bitField2_ |= 0x00000200;
10672  }
10673  result.minimizeCore_ = minimizeCore_;
10674  if (((from_bitField2_ & 0x00000800) != 0)) {
10675  to_bitField2_ |= 0x00000400;
10676  }
10677  result.findMultipleCores_ = findMultipleCores_;
10678  if (((from_bitField2_ & 0x00001000) != 0)) {
10679  to_bitField2_ |= 0x00000800;
10680  }
10681  result.coverOptimization_ = coverOptimization_;
10682  if (((from_bitField2_ & 0x00002000) != 0)) {
10683  to_bitField2_ |= 0x00001000;
10684  }
10685  result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
10686  if (((from_bitField2_ & 0x00004000) != 0)) {
10687  result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
10688  to_bitField2_ |= 0x00002000;
10689  }
10690  if (((from_bitField2_ & 0x00008000) != 0)) {
10691  to_bitField2_ |= 0x00004000;
10692  }
10693  result.maxSatStratification_ = maxSatStratification_;
10694  if (((from_bitField2_ & 0x00010000) != 0)) {
10695  to_bitField2_ |= 0x00008000;
10696  }
10697  result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
10698  if (((from_bitField2_ & 0x00020000) != 0)) {
10699  result.useOverloadCheckerInCumulativeConstraint_ = useOverloadCheckerInCumulativeConstraint_;
10700  to_bitField2_ |= 0x00010000;
10701  }
10702  if (((from_bitField2_ & 0x00040000) != 0)) {
10703  result.useTimetableEdgeFindingInCumulativeConstraint_ = useTimetableEdgeFindingInCumulativeConstraint_;
10704  to_bitField2_ |= 0x00020000;
10705  }
10706  if (((from_bitField2_ & 0x00080000) != 0)) {
10707  to_bitField2_ |= 0x00040000;
10708  }
10709  result.useDisjunctiveConstraintInCumulativeConstraint_ = useDisjunctiveConstraintInCumulativeConstraint_;
10710  if (((from_bitField2_ & 0x00100000) != 0)) {
10711  to_bitField2_ |= 0x00080000;
10712  }
10713  result.linearizationLevel_ = linearizationLevel_;
10714  if (((from_bitField2_ & 0x00200000) != 0)) {
10715  to_bitField2_ |= 0x00100000;
10716  }
10717  result.booleanEncodingLevel_ = booleanEncodingLevel_;
10718  if (((from_bitField2_ & 0x00400000) != 0)) {
10719  to_bitField2_ |= 0x00200000;
10720  }
10721  result.maxNumCuts_ = maxNumCuts_;
10722  if (((from_bitField2_ & 0x00800000) != 0)) {
10723  result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
10724  to_bitField2_ |= 0x00400000;
10725  }
10726  if (((from_bitField2_ & 0x01000000) != 0)) {
10727  result.addKnapsackCuts_ = addKnapsackCuts_;
10728  to_bitField2_ |= 0x00800000;
10729  }
10730  if (((from_bitField2_ & 0x02000000) != 0)) {
10731  to_bitField2_ |= 0x01000000;
10732  }
10733  result.addCgCuts_ = addCgCuts_;
10734  if (((from_bitField2_ & 0x04000000) != 0)) {
10735  to_bitField2_ |= 0x02000000;
10736  }
10737  result.addMirCuts_ = addMirCuts_;
10738  if (((from_bitField2_ & 0x08000000) != 0)) {
10739  to_bitField2_ |= 0x04000000;
10740  }
10741  result.addZeroHalfCuts_ = addZeroHalfCuts_;
10742  if (((from_bitField2_ & 0x10000000) != 0)) {
10743  to_bitField2_ |= 0x08000000;
10744  }
10745  result.addCliqueCuts_ = addCliqueCuts_;
10746  if (((from_bitField2_ & 0x20000000) != 0)) {
10747  to_bitField2_ |= 0x10000000;
10748  }
10749  result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
10750  if (((from_bitField2_ & 0x40000000) != 0)) {
10751  to_bitField2_ |= 0x20000000;
10752  }
10753  result.addLinMaxCuts_ = addLinMaxCuts_;
10754  if (((from_bitField2_ & 0x80000000) != 0)) {
10755  to_bitField2_ |= 0x40000000;
10756  }
10757  result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
10758  if (((from_bitField3_ & 0x00000001) != 0)) {
10759  to_bitField2_ |= 0x80000000;
10760  }
10761  result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
10762  if (((from_bitField3_ & 0x00000002) != 0)) {
10763  to_bitField3_ |= 0x00000001;
10764  }
10765  result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
10766  if (((from_bitField3_ & 0x00000004) != 0)) {
10767  to_bitField3_ |= 0x00000002;
10768  }
10769  result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
10770  if (((from_bitField3_ & 0x00000008) != 0)) {
10771  to_bitField3_ |= 0x00000004;
10772  }
10773  result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
10774  if (((from_bitField3_ & 0x00000010) != 0)) {
10775  to_bitField3_ |= 0x00000008;
10776  }
10777  result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
10778  if (((from_bitField3_ & 0x00000020) != 0)) {
10779  to_bitField3_ |= 0x00000010;
10780  }
10781  result.cutActiveCountDecay_ = cutActiveCountDecay_;
10782  if (((from_bitField3_ & 0x00000040) != 0)) {
10783  to_bitField3_ |= 0x00000020;
10784  }
10785  result.cutCleanupTarget_ = cutCleanupTarget_;
10786  if (((from_bitField3_ & 0x00000080) != 0)) {
10787  to_bitField3_ |= 0x00000040;
10788  }
10789  result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
10790  if (((from_bitField3_ & 0x00000100) != 0)) {
10791  to_bitField3_ |= 0x00000080;
10792  }
10793  result.searchBranching_ = searchBranching_;
10794  if (((from_bitField3_ & 0x00000200) != 0)) {
10795  to_bitField3_ |= 0x00000100;
10796  }
10797  result.hintConflictLimit_ = hintConflictLimit_;
10798  if (((from_bitField3_ & 0x00000400) != 0)) {
10799  result.repairHint_ = repairHint_;
10800  to_bitField3_ |= 0x00000200;
10801  }
10802  if (((from_bitField3_ & 0x00000800) != 0)) {
10803  to_bitField3_ |= 0x00000400;
10804  }
10805  result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
10806  if (((from_bitField3_ & 0x00001000) != 0)) {
10807  to_bitField3_ |= 0x00000800;
10808  }
10809  result.exploitAllLpSolution_ = exploitAllLpSolution_;
10810  if (((from_bitField3_ & 0x00002000) != 0)) {
10811  result.exploitBestSolution_ = exploitBestSolution_;
10812  to_bitField3_ |= 0x00001000;
10813  }
10814  if (((from_bitField3_ & 0x00004000) != 0)) {
10815  result.exploitRelaxationSolution_ = exploitRelaxationSolution_;
10816  to_bitField3_ |= 0x00002000;
10817  }
10818  if (((from_bitField3_ & 0x00008000) != 0)) {
10819  to_bitField3_ |= 0x00004000;
10820  }
10821  result.exploitObjective_ = exploitObjective_;
10822  if (((from_bitField3_ & 0x00010000) != 0)) {
10823  result.probingPeriodAtRoot_ = probingPeriodAtRoot_;
10824  to_bitField3_ |= 0x00008000;
10825  }
10826  if (((from_bitField3_ & 0x00020000) != 0)) {
10827  result.useProbingSearch_ = useProbingSearch_;
10828  to_bitField3_ |= 0x00010000;
10829  }
10830  if (((from_bitField3_ & 0x00040000) != 0)) {
10831  to_bitField3_ |= 0x00020000;
10832  }
10833  result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
10834  if (((from_bitField3_ & 0x00080000) != 0)) {
10835  result.optimizeWithCore_ = optimizeWithCore_;
10836  to_bitField3_ |= 0x00040000;
10837  }
10838  if (((from_bitField3_ & 0x00100000) != 0)) {
10839  to_bitField3_ |= 0x00080000;
10840  }
10841  result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
10842  if (((from_bitField3_ & 0x00200000) != 0)) {
10843  result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
10844  to_bitField3_ |= 0x00100000;
10845  }
10846  if (((from_bitField3_ & 0x00400000) != 0)) {
10847  result.enumerateAllSolutions_ = enumerateAllSolutions_;
10848  to_bitField3_ |= 0x00200000;
10849  }
10850  if (((from_bitField3_ & 0x00800000) != 0)) {
10851  result.keepAllFeasibleSolutionsInPresolve_ = keepAllFeasibleSolutionsInPresolve_;
10852  to_bitField3_ |= 0x00400000;
10853  }
10854  if (((from_bitField3_ & 0x01000000) != 0)) {
10855  result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
10856  to_bitField3_ |= 0x00800000;
10857  }
10858  if (((from_bitField3_ & 0x02000000) != 0)) {
10859  to_bitField3_ |= 0x01000000;
10860  }
10861  result.instantiateAllVariables_ = instantiateAllVariables_;
10862  if (((from_bitField3_ & 0x04000000) != 0)) {
10863  to_bitField3_ |= 0x02000000;
10864  }
10865  result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
10866  if (((from_bitField3_ & 0x08000000) != 0)) {
10867  result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
10868  to_bitField3_ |= 0x04000000;
10869  }
10870  if (((from_bitField3_ & 0x10000000) != 0)) {
10871  result.stopAfterPresolve_ = stopAfterPresolve_;
10872  to_bitField3_ |= 0x08000000;
10873  }
10874  if (((from_bitField3_ & 0x20000000) != 0)) {
10875  to_bitField3_ |= 0x10000000;
10876  }
10877  result.numSearchWorkers_ = numSearchWorkers_;
10878  if (((from_bitField3_ & 0x40000000) != 0)) {
10879  result.interleaveSearch_ = interleaveSearch_;
10880  to_bitField3_ |= 0x20000000;
10881  }
10882  if (((from_bitField3_ & 0x80000000) != 0)) {
10883  to_bitField3_ |= 0x40000000;
10884  }
10885  result.interleaveBatchSize_ = interleaveBatchSize_;
10886  if (((from_bitField4_ & 0x00000001) != 0)) {
10887  result.reduceMemoryUsageInInterleaveMode_ = reduceMemoryUsageInInterleaveMode_;
10888  to_bitField3_ |= 0x80000000;
10889  }
10890  if (((from_bitField4_ & 0x00000002) != 0)) {
10891  to_bitField4_ |= 0x00000001;
10892  }
10893  result.shareObjectiveBounds_ = shareObjectiveBounds_;
10894  if (((from_bitField4_ & 0x00000004) != 0)) {
10895  to_bitField4_ |= 0x00000002;
10896  }
10897  result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
10898  if (((from_bitField4_ & 0x00000008) != 0)) {
10899  result.useLnsOnly_ = useLnsOnly_;
10900  to_bitField4_ |= 0x00000004;
10901  }
10902  if (((from_bitField4_ & 0x00000010) != 0)) {
10903  result.lnsFocusOnDecisionVariables_ = lnsFocusOnDecisionVariables_;
10904  to_bitField4_ |= 0x00000008;
10905  }
10906  if (((from_bitField4_ & 0x00000020) != 0)) {
10907  to_bitField4_ |= 0x00000010;
10908  }
10909  result.useRinsLns_ = useRinsLns_;
10910  if (((from_bitField4_ & 0x00000040) != 0)) {
10911  to_bitField4_ |= 0x00000020;
10912  }
10913  result.useFeasibilityPump_ = useFeasibilityPump_;
10914  if (((from_bitField4_ & 0x00000080) != 0)) {
10915  to_bitField4_ |= 0x00000040;
10916  }
10917  result.fpRounding_ = fpRounding_;
10918  if (((from_bitField4_ & 0x00000100) != 0)) {
10919  result.useRelaxationLns_ = useRelaxationLns_;
10920  to_bitField4_ |= 0x00000080;
10921  }
10922  if (((from_bitField4_ & 0x00000200) != 0)) {
10923  result.diversifyLnsParams_ = diversifyLnsParams_;
10924  to_bitField4_ |= 0x00000100;
10925  }
10926  if (((from_bitField4_ & 0x00000400) != 0)) {
10927  result.randomizeSearch_ = randomizeSearch_;
10928  to_bitField4_ |= 0x00000200;
10929  }
10930  if (((from_bitField4_ & 0x00000800) != 0)) {
10931  result.searchRandomizationTolerance_ = searchRandomizationTolerance_;
10932  to_bitField4_ |= 0x00000400;
10933  }
10934  if (((from_bitField4_ & 0x00001000) != 0)) {
10935  to_bitField4_ |= 0x00000800;
10936  }
10937  result.useOptionalVariables_ = useOptionalVariables_;
10938  if (((from_bitField4_ & 0x00002000) != 0)) {
10939  to_bitField4_ |= 0x00001000;
10940  }
10941  result.useExactLpReason_ = useExactLpReason_;
10942  if (((from_bitField4_ & 0x00004000) != 0)) {
10943  result.useBranchingInLp_ = useBranchingInLp_;
10944  to_bitField4_ |= 0x00002000;
10945  }
10946  if (((from_bitField4_ & 0x00008000) != 0)) {
10947  result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
10948  to_bitField4_ |= 0x00004000;
10949  }
10950  if (((from_bitField4_ & 0x00010000) != 0)) {
10951  to_bitField4_ |= 0x00008000;
10952  }
10953  result.catchSigintSignal_ = catchSigintSignal_;
10954  if (((from_bitField4_ & 0x00020000) != 0)) {
10955  to_bitField4_ |= 0x00010000;
10956  }
10957  result.useImpliedBounds_ = useImpliedBounds_;
10958  if (((from_bitField4_ & 0x00040000) != 0)) {
10959  result.polishLpSolution_ = polishLpSolution_;
10960  to_bitField4_ |= 0x00020000;
10961  }
10962  if (((from_bitField4_ & 0x00080000) != 0)) {
10963  to_bitField4_ |= 0x00040000;
10964  }
10965  result.mipMaxBound_ = mipMaxBound_;
10966  if (((from_bitField4_ & 0x00100000) != 0)) {
10967  to_bitField4_ |= 0x00080000;
10968  }
10969  result.mipVarScaling_ = mipVarScaling_;
10970  if (((from_bitField4_ & 0x00200000) != 0)) {
10971  to_bitField4_ |= 0x00100000;
10972  }
10973  result.mipAutomaticallyScaleVariables_ = mipAutomaticallyScaleVariables_;
10974  if (((from_bitField4_ & 0x00400000) != 0)) {
10975  to_bitField4_ |= 0x00200000;
10976  }
10977  result.mipWantedPrecision_ = mipWantedPrecision_;
10978  if (((from_bitField4_ & 0x00800000) != 0)) {
10979  to_bitField4_ |= 0x00400000;
10980  }
10981  result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
10982  if (((from_bitField4_ & 0x01000000) != 0)) {
10983  to_bitField4_ |= 0x00800000;
10984  }
10985  result.mipCheckPrecision_ = mipCheckPrecision_;
10986  result.bitField0_ = to_bitField0_;
10987  result.bitField1_ = to_bitField1_;
10988  result.bitField2_ = to_bitField2_;
10989  result.bitField3_ = to_bitField3_;
10990  result.bitField4_ = to_bitField4_;
10991  onBuilt();
10992  return result;
10993  }
10994 
10995  @java.lang.Override
10996  public Builder clone() {
10997  return super.clone();
10998  }
10999  @java.lang.Override
11001  com.google.protobuf.Descriptors.FieldDescriptor field,
11002  java.lang.Object value) {
11003  return super.setField(field, value);
11004  }
11005  @java.lang.Override
11007  com.google.protobuf.Descriptors.FieldDescriptor field) {
11008  return super.clearField(field);
11009  }
11010  @java.lang.Override
11012  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
11013  return super.clearOneof(oneof);
11014  }
11015  @java.lang.Override
11017  com.google.protobuf.Descriptors.FieldDescriptor field,
11018  int index, java.lang.Object value) {
11019  return super.setRepeatedField(field, index, value);
11020  }
11021  @java.lang.Override
11023  com.google.protobuf.Descriptors.FieldDescriptor field,
11024  java.lang.Object value) {
11025  return super.addRepeatedField(field, value);
11026  }
11027  @java.lang.Override
11028  public Builder mergeFrom(com.google.protobuf.Message other) {
11029  if (other instanceof com.google.ortools.sat.SatParameters) {
11030  return mergeFrom((com.google.ortools.sat.SatParameters)other);
11031  } else {
11032  super.mergeFrom(other);
11033  return this;
11034  }
11035  }
11036 
11038  if (other == com.google.ortools.sat.SatParameters.getDefaultInstance()) return this;
11039  if (other.hasName()) {
11040  bitField0_ |= 0x00000001;
11041  name_ = other.name_;
11042  onChanged();
11043  }
11044  if (other.hasPreferredVariableOrder()) {
11045  setPreferredVariableOrder(other.getPreferredVariableOrder());
11046  }
11047  if (other.hasInitialPolarity()) {
11048  setInitialPolarity(other.getInitialPolarity());
11049  }
11050  if (other.hasUsePhaseSaving()) {
11051  setUsePhaseSaving(other.getUsePhaseSaving());
11052  }
11053  if (other.hasPolarityRephaseIncrement()) {
11054  setPolarityRephaseIncrement(other.getPolarityRephaseIncrement());
11055  }
11056  if (other.hasRandomPolarityRatio()) {
11057  setRandomPolarityRatio(other.getRandomPolarityRatio());
11058  }
11059  if (other.hasRandomBranchesRatio()) {
11060  setRandomBranchesRatio(other.getRandomBranchesRatio());
11061  }
11062  if (other.hasUseErwaHeuristic()) {
11063  setUseErwaHeuristic(other.getUseErwaHeuristic());
11064  }
11065  if (other.hasInitialVariablesActivity()) {
11066  setInitialVariablesActivity(other.getInitialVariablesActivity());
11067  }
11068  if (other.hasAlsoBumpVariablesInConflictReasons()) {
11069  setAlsoBumpVariablesInConflictReasons(other.getAlsoBumpVariablesInConflictReasons());
11070  }
11071  if (other.hasMinimizationAlgorithm()) {
11072  setMinimizationAlgorithm(other.getMinimizationAlgorithm());
11073  }
11074  if (other.hasBinaryMinimizationAlgorithm()) {
11075  setBinaryMinimizationAlgorithm(other.getBinaryMinimizationAlgorithm());
11076  }
11077  if (other.hasSubsumptionDuringConflictAnalysis()) {
11078  setSubsumptionDuringConflictAnalysis(other.getSubsumptionDuringConflictAnalysis());
11079  }
11080  if (other.hasClauseCleanupPeriod()) {
11081  setClauseCleanupPeriod(other.getClauseCleanupPeriod());
11082  }
11083  if (other.hasClauseCleanupTarget()) {
11084  setClauseCleanupTarget(other.getClauseCleanupTarget());
11085  }
11086  if (other.hasClauseCleanupProtection()) {
11087  setClauseCleanupProtection(other.getClauseCleanupProtection());
11088  }
11089  if (other.hasClauseCleanupLbdBound()) {
11090  setClauseCleanupLbdBound(other.getClauseCleanupLbdBound());
11091  }
11092  if (other.hasClauseCleanupOrdering()) {
11093  setClauseCleanupOrdering(other.getClauseCleanupOrdering());
11094  }
11095  if (other.hasPbCleanupIncrement()) {
11096  setPbCleanupIncrement(other.getPbCleanupIncrement());
11097  }
11098  if (other.hasPbCleanupRatio()) {
11099  setPbCleanupRatio(other.getPbCleanupRatio());
11100  }
11101  if (other.hasMinimizeWithPropagationRestartPeriod()) {
11102  setMinimizeWithPropagationRestartPeriod(other.getMinimizeWithPropagationRestartPeriod());
11103  }
11104  if (other.hasMinimizeWithPropagationNumDecisions()) {
11105  setMinimizeWithPropagationNumDecisions(other.getMinimizeWithPropagationNumDecisions());
11106  }
11107  if (other.hasVariableActivityDecay()) {
11108  setVariableActivityDecay(other.getVariableActivityDecay());
11109  }
11110  if (other.hasMaxVariableActivityValue()) {
11111  setMaxVariableActivityValue(other.getMaxVariableActivityValue());
11112  }
11113  if (other.hasGlucoseMaxDecay()) {
11114  setGlucoseMaxDecay(other.getGlucoseMaxDecay());
11115  }
11116  if (other.hasGlucoseDecayIncrement()) {
11117  setGlucoseDecayIncrement(other.getGlucoseDecayIncrement());
11118  }
11119  if (other.hasGlucoseDecayIncrementPeriod()) {
11120  setGlucoseDecayIncrementPeriod(other.getGlucoseDecayIncrementPeriod());
11121  }
11122  if (other.hasClauseActivityDecay()) {
11123  setClauseActivityDecay(other.getClauseActivityDecay());
11124  }
11125  if (other.hasMaxClauseActivityValue()) {
11126  setMaxClauseActivityValue(other.getMaxClauseActivityValue());
11127  }
11128  if (!other.restartAlgorithms_.isEmpty()) {
11129  if (restartAlgorithms_.isEmpty()) {
11130  restartAlgorithms_ = other.restartAlgorithms_;
11131  bitField0_ = (bitField0_ & ~0x20000000);
11132  } else {
11133  ensureRestartAlgorithmsIsMutable();
11134  restartAlgorithms_.addAll(other.restartAlgorithms_);
11135  }
11136  onChanged();
11137  }
11138  if (other.hasDefaultRestartAlgorithms()) {
11139  bitField0_ |= 0x40000000;
11140  defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
11141  onChanged();
11142  }
11143  if (other.hasRestartPeriod()) {
11144  setRestartPeriod(other.getRestartPeriod());
11145  }
11146  if (other.hasRestartRunningWindowSize()) {
11147  setRestartRunningWindowSize(other.getRestartRunningWindowSize());
11148  }
11149  if (other.hasRestartDlAverageRatio()) {
11150  setRestartDlAverageRatio(other.getRestartDlAverageRatio());
11151  }
11152  if (other.hasRestartLbdAverageRatio()) {
11153  setRestartLbdAverageRatio(other.getRestartLbdAverageRatio());
11154  }
11155  if (other.hasUseBlockingRestart()) {
11156  setUseBlockingRestart(other.getUseBlockingRestart());
11157  }
11158  if (other.hasBlockingRestartWindowSize()) {
11159  setBlockingRestartWindowSize(other.getBlockingRestartWindowSize());
11160  }
11161  if (other.hasBlockingRestartMultiplier()) {
11162  setBlockingRestartMultiplier(other.getBlockingRestartMultiplier());
11163  }
11164  if (other.hasNumConflictsBeforeStrategyChanges()) {
11165  setNumConflictsBeforeStrategyChanges(other.getNumConflictsBeforeStrategyChanges());
11166  }
11167  if (other.hasStrategyChangeIncreaseRatio()) {
11168  setStrategyChangeIncreaseRatio(other.getStrategyChangeIncreaseRatio());
11169  }
11170  if (other.hasMaxTimeInSeconds()) {
11171  setMaxTimeInSeconds(other.getMaxTimeInSeconds());
11172  }
11173  if (other.hasMaxDeterministicTime()) {
11174  setMaxDeterministicTime(other.getMaxDeterministicTime());
11175  }
11176  if (other.hasMaxNumberOfConflicts()) {
11177  setMaxNumberOfConflicts(other.getMaxNumberOfConflicts());
11178  }
11179  if (other.hasMaxMemoryInMb()) {
11180  setMaxMemoryInMb(other.getMaxMemoryInMb());
11181  }
11182  if (other.hasAbsoluteGapLimit()) {
11183  setAbsoluteGapLimit(other.getAbsoluteGapLimit());
11184  }
11185  if (other.hasRelativeGapLimit()) {
11186  setRelativeGapLimit(other.getRelativeGapLimit());
11187  }
11188  if (other.hasTreatBinaryClausesSeparately()) {
11189  setTreatBinaryClausesSeparately(other.getTreatBinaryClausesSeparately());
11190  }
11191  if (other.hasRandomSeed()) {
11192  setRandomSeed(other.getRandomSeed());
11193  }
11194  if (other.hasLogSearchProgress()) {
11195  setLogSearchProgress(other.getLogSearchProgress());
11196  }
11197  if (other.hasUsePbResolution()) {
11198  setUsePbResolution(other.getUsePbResolution());
11199  }
11200  if (other.hasMinimizeReductionDuringPbResolution()) {
11201  setMinimizeReductionDuringPbResolution(other.getMinimizeReductionDuringPbResolution());
11202  }
11203  if (other.hasCountAssumptionLevelsInLbd()) {
11204  setCountAssumptionLevelsInLbd(other.getCountAssumptionLevelsInLbd());
11205  }
11206  if (other.hasPresolveBveThreshold()) {
11207  setPresolveBveThreshold(other.getPresolveBveThreshold());
11208  }
11209  if (other.hasPresolveBveClauseWeight()) {
11210  setPresolveBveClauseWeight(other.getPresolveBveClauseWeight());
11211  }
11212  if (other.hasPresolveProbingDeterministicTimeLimit()) {
11213  setPresolveProbingDeterministicTimeLimit(other.getPresolveProbingDeterministicTimeLimit());
11214  }
11215  if (other.hasPresolveBlockedClause()) {
11216  setPresolveBlockedClause(other.getPresolveBlockedClause());
11217  }
11218  if (other.hasPresolveUseBva()) {
11219  setPresolveUseBva(other.getPresolveUseBva());
11220  }
11221  if (other.hasPresolveBvaThreshold()) {
11222  setPresolveBvaThreshold(other.getPresolveBvaThreshold());
11223  }
11224  if (other.hasMaxPresolveIterations()) {
11225  setMaxPresolveIterations(other.getMaxPresolveIterations());
11226  }
11227  if (other.hasCpModelPresolve()) {
11228  setCpModelPresolve(other.getCpModelPresolve());
11229  }
11230  if (other.hasCpModelPostsolveWithFullSolver()) {
11231  setCpModelPostsolveWithFullSolver(other.getCpModelPostsolveWithFullSolver());
11232  }
11233  if (other.hasCpModelMaxNumPresolveOperations()) {
11234  setCpModelMaxNumPresolveOperations(other.getCpModelMaxNumPresolveOperations());
11235  }
11236  if (other.hasCpModelProbingLevel()) {
11237  setCpModelProbingLevel(other.getCpModelProbingLevel());
11238  }
11239  if (other.hasCpModelUseSatPresolve()) {
11240  setCpModelUseSatPresolve(other.getCpModelUseSatPresolve());
11241  }
11242  if (other.hasUseSatInprocessing()) {
11243  setUseSatInprocessing(other.getUseSatInprocessing());
11244  }
11245  if (other.hasExpandElementConstraints()) {
11246  setExpandElementConstraints(other.getExpandElementConstraints());
11247  }
11248  if (other.hasExpandAutomatonConstraints()) {
11249  setExpandAutomatonConstraints(other.getExpandAutomatonConstraints());
11250  }
11251  if (other.hasExpandTableConstraints()) {
11252  setExpandTableConstraints(other.getExpandTableConstraints());
11253  }
11254  if (other.hasExpandAlldiffConstraints()) {
11255  setExpandAlldiffConstraints(other.getExpandAlldiffConstraints());
11256  }
11257  if (other.hasMergeNoOverlapWorkLimit()) {
11258  setMergeNoOverlapWorkLimit(other.getMergeNoOverlapWorkLimit());
11259  }
11260  if (other.hasMergeAtMostOneWorkLimit()) {
11261  setMergeAtMostOneWorkLimit(other.getMergeAtMostOneWorkLimit());
11262  }
11263  if (other.hasPresolveSubstitutionLevel()) {
11264  setPresolveSubstitutionLevel(other.getPresolveSubstitutionLevel());
11265  }
11266  if (other.hasPresolveExtractIntegerEnforcement()) {
11267  setPresolveExtractIntegerEnforcement(other.getPresolveExtractIntegerEnforcement());
11268  }
11269  if (other.hasUseOptimizationHints()) {
11270  setUseOptimizationHints(other.getUseOptimizationHints());
11271  }
11272  if (other.hasMinimizeCore()) {
11273  setMinimizeCore(other.getMinimizeCore());
11274  }
11275  if (other.hasFindMultipleCores()) {
11276  setFindMultipleCores(other.getFindMultipleCores());
11277  }
11278  if (other.hasCoverOptimization()) {
11279  setCoverOptimization(other.getCoverOptimization());
11280  }
11281  if (other.hasMaxSatAssumptionOrder()) {
11282  setMaxSatAssumptionOrder(other.getMaxSatAssumptionOrder());
11283  }
11284  if (other.hasMaxSatReverseAssumptionOrder()) {
11285  setMaxSatReverseAssumptionOrder(other.getMaxSatReverseAssumptionOrder());
11286  }
11287  if (other.hasMaxSatStratification()) {
11288  setMaxSatStratification(other.getMaxSatStratification());
11289  }
11290  if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
11291  setUsePrecedencesInDisjunctiveConstraint(other.getUsePrecedencesInDisjunctiveConstraint());
11292  }
11293  if (other.hasUseOverloadCheckerInCumulativeConstraint()) {
11294  setUseOverloadCheckerInCumulativeConstraint(other.getUseOverloadCheckerInCumulativeConstraint());
11295  }
11296  if (other.hasUseTimetableEdgeFindingInCumulativeConstraint()) {
11297  setUseTimetableEdgeFindingInCumulativeConstraint(other.getUseTimetableEdgeFindingInCumulativeConstraint());
11298  }
11299  if (other.hasUseDisjunctiveConstraintInCumulativeConstraint()) {
11300  setUseDisjunctiveConstraintInCumulativeConstraint(other.getUseDisjunctiveConstraintInCumulativeConstraint());
11301  }
11302  if (other.hasLinearizationLevel()) {
11303  setLinearizationLevel(other.getLinearizationLevel());
11304  }
11305  if (other.hasBooleanEncodingLevel()) {
11306  setBooleanEncodingLevel(other.getBooleanEncodingLevel());
11307  }
11308  if (other.hasMaxNumCuts()) {
11309  setMaxNumCuts(other.getMaxNumCuts());
11310  }
11311  if (other.hasOnlyAddCutsAtLevelZero()) {
11312  setOnlyAddCutsAtLevelZero(other.getOnlyAddCutsAtLevelZero());
11313  }
11314  if (other.hasAddKnapsackCuts()) {
11315  setAddKnapsackCuts(other.getAddKnapsackCuts());
11316  }
11317  if (other.hasAddCgCuts()) {
11318  setAddCgCuts(other.getAddCgCuts());
11319  }
11320  if (other.hasAddMirCuts()) {
11321  setAddMirCuts(other.getAddMirCuts());
11322  }
11323  if (other.hasAddZeroHalfCuts()) {
11324  setAddZeroHalfCuts(other.getAddZeroHalfCuts());
11325  }
11326  if (other.hasAddCliqueCuts()) {
11327  setAddCliqueCuts(other.getAddCliqueCuts());
11328  }
11329  if (other.hasMaxAllDiffCutSize()) {
11330  setMaxAllDiffCutSize(other.getMaxAllDiffCutSize());
11331  }
11332  if (other.hasAddLinMaxCuts()) {
11333  setAddLinMaxCuts(other.getAddLinMaxCuts());
11334  }
11335  if (other.hasMaxIntegerRoundingScaling()) {
11336  setMaxIntegerRoundingScaling(other.getMaxIntegerRoundingScaling());
11337  }
11338  if (other.hasAddLpConstraintsLazily()) {
11339  setAddLpConstraintsLazily(other.getAddLpConstraintsLazily());
11340  }
11341  if (other.hasMinOrthogonalityForLpConstraints()) {
11342  setMinOrthogonalityForLpConstraints(other.getMinOrthogonalityForLpConstraints());
11343  }
11344  if (other.hasMaxCutRoundsAtLevelZero()) {
11345  setMaxCutRoundsAtLevelZero(other.getMaxCutRoundsAtLevelZero());
11346  }
11347  if (other.hasMaxConsecutiveInactiveCount()) {
11348  setMaxConsecutiveInactiveCount(other.getMaxConsecutiveInactiveCount());
11349  }
11350  if (other.hasCutMaxActiveCountValue()) {
11351  setCutMaxActiveCountValue(other.getCutMaxActiveCountValue());
11352  }
11353  if (other.hasCutActiveCountDecay()) {
11354  setCutActiveCountDecay(other.getCutActiveCountDecay());
11355  }
11356  if (other.hasCutCleanupTarget()) {
11357  setCutCleanupTarget(other.getCutCleanupTarget());
11358  }
11359  if (other.hasNewConstraintsBatchSize()) {
11360  setNewConstraintsBatchSize(other.getNewConstraintsBatchSize());
11361  }
11362  if (other.hasSearchBranching()) {
11363  setSearchBranching(other.getSearchBranching());
11364  }
11365  if (other.hasHintConflictLimit()) {
11366  setHintConflictLimit(other.getHintConflictLimit());
11367  }
11368  if (other.hasRepairHint()) {
11369  setRepairHint(other.getRepairHint());
11370  }
11371  if (other.hasExploitIntegerLpSolution()) {
11372  setExploitIntegerLpSolution(other.getExploitIntegerLpSolution());
11373  }
11374  if (other.hasExploitAllLpSolution()) {
11375  setExploitAllLpSolution(other.getExploitAllLpSolution());
11376  }
11377  if (other.hasExploitBestSolution()) {
11378  setExploitBestSolution(other.getExploitBestSolution());
11379  }
11380  if (other.hasExploitRelaxationSolution()) {
11381  setExploitRelaxationSolution(other.getExploitRelaxationSolution());
11382  }
11383  if (other.hasExploitObjective()) {
11384  setExploitObjective(other.getExploitObjective());
11385  }
11386  if (other.hasProbingPeriodAtRoot()) {
11387  setProbingPeriodAtRoot(other.getProbingPeriodAtRoot());
11388  }
11389  if (other.hasUseProbingSearch()) {
11390  setUseProbingSearch(other.getUseProbingSearch());
11391  }
11392  if (other.hasPseudoCostReliabilityThreshold()) {
11393  setPseudoCostReliabilityThreshold(other.getPseudoCostReliabilityThreshold());
11394  }
11395  if (other.hasOptimizeWithCore()) {
11396  setOptimizeWithCore(other.getOptimizeWithCore());
11397  }
11398  if (other.hasBinarySearchNumConflicts()) {
11399  setBinarySearchNumConflicts(other.getBinarySearchNumConflicts());
11400  }
11401  if (other.hasOptimizeWithMaxHs()) {
11402  setOptimizeWithMaxHs(other.getOptimizeWithMaxHs());
11403  }
11404  if (other.hasEnumerateAllSolutions()) {
11405  setEnumerateAllSolutions(other.getEnumerateAllSolutions());
11406  }
11407  if (other.hasKeepAllFeasibleSolutionsInPresolve()) {
11408  setKeepAllFeasibleSolutionsInPresolve(other.getKeepAllFeasibleSolutionsInPresolve());
11409  }
11410  if (other.hasFillTightenedDomainsInResponse()) {
11411  setFillTightenedDomainsInResponse(other.getFillTightenedDomainsInResponse());
11412  }
11413  if (other.hasInstantiateAllVariables()) {
11414  setInstantiateAllVariables(other.getInstantiateAllVariables());
11415  }
11416  if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
11417  setAutoDetectGreaterThanAtLeastOneOf(other.getAutoDetectGreaterThanAtLeastOneOf());
11418  }
11419  if (other.hasStopAfterFirstSolution()) {
11420  setStopAfterFirstSolution(other.getStopAfterFirstSolution());
11421  }
11422  if (other.hasStopAfterPresolve()) {
11423  setStopAfterPresolve(other.getStopAfterPresolve());
11424  }
11425  if (other.hasNumSearchWorkers()) {
11426  setNumSearchWorkers(other.getNumSearchWorkers());
11427  }
11428  if (other.hasInterleaveSearch()) {
11429  setInterleaveSearch(other.getInterleaveSearch());
11430  }
11431  if (other.hasInterleaveBatchSize()) {
11432  setInterleaveBatchSize(other.getInterleaveBatchSize());
11433  }
11434  if (other.hasReduceMemoryUsageInInterleaveMode()) {
11435  setReduceMemoryUsageInInterleaveMode(other.getReduceMemoryUsageInInterleaveMode());
11436  }
11437  if (other.hasShareObjectiveBounds()) {
11438  setShareObjectiveBounds(other.getShareObjectiveBounds());
11439  }
11440  if (other.hasShareLevelZeroBounds()) {
11441  setShareLevelZeroBounds(other.getShareLevelZeroBounds());
11442  }
11443  if (other.hasUseLnsOnly()) {
11444  setUseLnsOnly(other.getUseLnsOnly());
11445  }
11446  if (other.hasLnsFocusOnDecisionVariables()) {
11447  setLnsFocusOnDecisionVariables(other.getLnsFocusOnDecisionVariables());
11448  }
11449  if (other.hasUseRinsLns()) {
11450  setUseRinsLns(other.getUseRinsLns());
11451  }
11452  if (other.hasUseFeasibilityPump()) {
11453  setUseFeasibilityPump(other.getUseFeasibilityPump());
11454  }
11455  if (other.hasFpRounding()) {
11456  setFpRounding(other.getFpRounding());
11457  }
11458  if (other.hasUseRelaxationLns()) {
11459  setUseRelaxationLns(other.getUseRelaxationLns());
11460  }
11461  if (other.hasDiversifyLnsParams()) {
11462  setDiversifyLnsParams(other.getDiversifyLnsParams());
11463  }
11464  if (other.hasRandomizeSearch()) {
11465  setRandomizeSearch(other.getRandomizeSearch());
11466  }
11467  if (other.hasSearchRandomizationTolerance()) {
11468  setSearchRandomizationTolerance(other.getSearchRandomizationTolerance());
11469  }
11470  if (other.hasUseOptionalVariables()) {
11471  setUseOptionalVariables(other.getUseOptionalVariables());
11472  }
11473  if (other.hasUseExactLpReason()) {
11474  setUseExactLpReason(other.getUseExactLpReason());
11475  }
11476  if (other.hasUseBranchingInLp()) {
11477  setUseBranchingInLp(other.getUseBranchingInLp());
11478  }
11479  if (other.hasUseCombinedNoOverlap()) {
11480  setUseCombinedNoOverlap(other.getUseCombinedNoOverlap());
11481  }
11482  if (other.hasCatchSigintSignal()) {
11483  setCatchSigintSignal(other.getCatchSigintSignal());
11484  }
11485  if (other.hasUseImpliedBounds()) {
11486  setUseImpliedBounds(other.getUseImpliedBounds());
11487  }
11488  if (other.hasPolishLpSolution()) {
11489  setPolishLpSolution(other.getPolishLpSolution());
11490  }
11491  if (other.hasMipMaxBound()) {
11492  setMipMaxBound(other.getMipMaxBound());
11493  }
11494  if (other.hasMipVarScaling()) {
11495  setMipVarScaling(other.getMipVarScaling());
11496  }
11497  if (other.hasMipAutomaticallyScaleVariables()) {
11498  setMipAutomaticallyScaleVariables(other.getMipAutomaticallyScaleVariables());
11499  }
11500  if (other.hasMipWantedPrecision()) {
11501  setMipWantedPrecision(other.getMipWantedPrecision());
11502  }
11503  if (other.hasMipMaxActivityExponent()) {
11504  setMipMaxActivityExponent(other.getMipMaxActivityExponent());
11505  }
11506  if (other.hasMipCheckPrecision()) {
11507  setMipCheckPrecision(other.getMipCheckPrecision());
11508  }
11509  this.mergeUnknownFields(other.unknownFields);
11510  onChanged();
11511  return this;
11512  }
11513 
11514  @java.lang.Override
11515  public final boolean isInitialized() {
11516  return true;
11517  }
11518 
11519  @java.lang.Override
11521  com.google.protobuf.CodedInputStream input,
11522  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11523  throws java.io.IOException {
11524  com.google.ortools.sat.SatParameters parsedMessage = null;
11525  try {
11526  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11527  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11528  parsedMessage = (com.google.ortools.sat.SatParameters) e.getUnfinishedMessage();
11529  throw e.unwrapIOException();
11530  } finally {
11531  if (parsedMessage != null) {
11532  mergeFrom(parsedMessage);
11533  }
11534  }
11535  return this;
11536  }
11537  private int bitField0_;
11538  private int bitField1_;
11539  private int bitField2_;
11540  private int bitField3_;
11541  private int bitField4_;
11542 
11543  private java.lang.Object name_ = "";
11553  public boolean hasName() {
11554  return ((bitField0_ & 0x00000001) != 0);
11555  }
11565  public java.lang.String getName() {
11566  java.lang.Object ref = name_;
11567  if (!(ref instanceof java.lang.String)) {
11568  com.google.protobuf.ByteString bs =
11569  (com.google.protobuf.ByteString) ref;
11570  java.lang.String s = bs.toStringUtf8();
11571  if (bs.isValidUtf8()) {
11572  name_ = s;
11573  }
11574  return s;
11575  } else {
11576  return (java.lang.String) ref;
11577  }
11578  }
11588  public com.google.protobuf.ByteString
11590  java.lang.Object ref = name_;
11591  if (ref instanceof String) {
11592  com.google.protobuf.ByteString b =
11593  com.google.protobuf.ByteString.copyFromUtf8(
11594  (java.lang.String) ref);
11595  name_ = b;
11596  return b;
11597  } else {
11598  return (com.google.protobuf.ByteString) ref;
11599  }
11600  }
11612  java.lang.String value) {
11613  if (value == null) {
11614  throw new NullPointerException();
11615  }
11616  bitField0_ |= 0x00000001;
11617  name_ = value;
11618  onChanged();
11619  return this;
11620  }
11630  public Builder clearName() {
11631  bitField0_ = (bitField0_ & ~0x00000001);
11632  name_ = getDefaultInstance().getName();
11633  onChanged();
11634  return this;
11635  }
11647  com.google.protobuf.ByteString value) {
11648  if (value == null) {
11649  throw new NullPointerException();
11650  }
11651  bitField0_ |= 0x00000001;
11652  name_ = value;
11653  onChanged();
11654  return this;
11655  }
11656 
11657  private int preferredVariableOrder_ = 0;
11662  @java.lang.Override public boolean hasPreferredVariableOrder() {
11663  return ((bitField0_ & 0x00000002) != 0);
11664  }
11669  @java.lang.Override
11671  @SuppressWarnings("deprecation")
11673  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
11674  }
11681  if (value == null) {
11682  throw new NullPointerException();
11683  }
11684  bitField0_ |= 0x00000002;
11685  preferredVariableOrder_ = value.getNumber();
11686  onChanged();
11687  return this;
11688  }
11694  bitField0_ = (bitField0_ & ~0x00000002);
11695  preferredVariableOrder_ = 0;
11696  onChanged();
11697  return this;
11698  }
11699 
11700  private int initialPolarity_ = 1;
11705  @java.lang.Override public boolean hasInitialPolarity() {
11706  return ((bitField0_ & 0x00000004) != 0);
11707  }
11712  @java.lang.Override
11714  @SuppressWarnings("deprecation")
11716  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
11717  }
11724  if (value == null) {
11725  throw new NullPointerException();
11726  }
11727  bitField0_ |= 0x00000004;
11728  initialPolarity_ = value.getNumber();
11729  onChanged();
11730  return this;
11731  }
11737  bitField0_ = (bitField0_ & ~0x00000004);
11738  initialPolarity_ = 1;
11739  onChanged();
11740  return this;
11741  }
11742 
11743  private boolean usePhaseSaving_ = true;
11760  @java.lang.Override
11761  public boolean hasUsePhaseSaving() {
11762  return ((bitField0_ & 0x00000008) != 0);
11763  }
11780  @java.lang.Override
11781  public boolean getUsePhaseSaving() {
11782  return usePhaseSaving_;
11783  }
11801  public Builder setUsePhaseSaving(boolean value) {
11802  bitField0_ |= 0x00000008;
11803  usePhaseSaving_ = value;
11804  onChanged();
11805  return this;
11806  }
11824  bitField0_ = (bitField0_ & ~0x00000008);
11825  usePhaseSaving_ = true;
11826  onChanged();
11827  return this;
11828  }
11829 
11830  private int polarityRephaseIncrement_ = 1000;
11841  @java.lang.Override
11842  public boolean hasPolarityRephaseIncrement() {
11843  return ((bitField0_ & 0x00000010) != 0);
11844  }
11855  @java.lang.Override
11857  return polarityRephaseIncrement_;
11858  }
11871  bitField0_ |= 0x00000010;
11872  polarityRephaseIncrement_ = value;
11873  onChanged();
11874  return this;
11875  }
11887  bitField0_ = (bitField0_ & ~0x00000010);
11888  polarityRephaseIncrement_ = 1000;
11889  onChanged();
11890  return this;
11891  }
11892 
11893  private double randomPolarityRatio_ ;
11906  @java.lang.Override
11907  public boolean hasRandomPolarityRatio() {
11908  return ((bitField0_ & 0x00000020) != 0);
11909  }
11922  @java.lang.Override
11923  public double getRandomPolarityRatio() {
11924  return randomPolarityRatio_;
11925  }
11939  public Builder setRandomPolarityRatio(double value) {
11940  bitField0_ |= 0x00000020;
11941  randomPolarityRatio_ = value;
11942  onChanged();
11943  return this;
11944  }
11958  bitField0_ = (bitField0_ & ~0x00000020);
11959  randomPolarityRatio_ = 0D;
11960  onChanged();
11961  return this;
11962  }
11963 
11964  private double randomBranchesRatio_ ;
11975  @java.lang.Override
11976  public boolean hasRandomBranchesRatio() {
11977  return ((bitField0_ & 0x00000040) != 0);
11978  }
11989  @java.lang.Override
11990  public double getRandomBranchesRatio() {
11991  return randomBranchesRatio_;
11992  }
12004  public Builder setRandomBranchesRatio(double value) {
12005  bitField0_ |= 0x00000040;
12006  randomBranchesRatio_ = value;
12007  onChanged();
12008  return this;
12009  }
12021  bitField0_ = (bitField0_ & ~0x00000040);
12022  randomBranchesRatio_ = 0D;
12023  onChanged();
12024  return this;
12025  }
12026 
12027  private boolean useErwaHeuristic_ ;
12038  @java.lang.Override
12039  public boolean hasUseErwaHeuristic() {
12040  return ((bitField0_ & 0x00000080) != 0);
12041  }
12052  @java.lang.Override
12053  public boolean getUseErwaHeuristic() {
12054  return useErwaHeuristic_;
12055  }
12067  public Builder setUseErwaHeuristic(boolean value) {
12068  bitField0_ |= 0x00000080;
12069  useErwaHeuristic_ = value;
12070  onChanged();
12071  return this;
12072  }
12084  bitField0_ = (bitField0_ & ~0x00000080);
12085  useErwaHeuristic_ = false;
12086  onChanged();
12087  return this;
12088  }
12089 
12090  private double initialVariablesActivity_ ;
12104  @java.lang.Override
12105  public boolean hasInitialVariablesActivity() {
12106  return ((bitField0_ & 0x00000100) != 0);
12107  }
12121  @java.lang.Override
12123  return initialVariablesActivity_;
12124  }
12139  public Builder setInitialVariablesActivity(double value) {
12140  bitField0_ |= 0x00000100;
12141  initialVariablesActivity_ = value;
12142  onChanged();
12143  return this;
12144  }
12159  bitField0_ = (bitField0_ & ~0x00000100);
12160  initialVariablesActivity_ = 0D;
12161  onChanged();
12162  return this;
12163  }
12164 
12165  private boolean alsoBumpVariablesInConflictReasons_ ;
12177  @java.lang.Override
12179  return ((bitField0_ & 0x00000200) != 0);
12180  }
12192  @java.lang.Override
12194  return alsoBumpVariablesInConflictReasons_;
12195  }
12209  bitField0_ |= 0x00000200;
12210  alsoBumpVariablesInConflictReasons_ = value;
12211  onChanged();
12212  return this;
12213  }
12226  bitField0_ = (bitField0_ & ~0x00000200);
12227  alsoBumpVariablesInConflictReasons_ = false;
12228  onChanged();
12229  return this;
12230  }
12231 
12232  private int minimizationAlgorithm_ = 2;
12237  @java.lang.Override public boolean hasMinimizationAlgorithm() {
12238  return ((bitField0_ & 0x00000400) != 0);
12239  }
12244  @java.lang.Override
12246  @SuppressWarnings("deprecation")
12248  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
12249  }
12256  if (value == null) {
12257  throw new NullPointerException();
12258  }
12259  bitField0_ |= 0x00000400;
12260  minimizationAlgorithm_ = value.getNumber();
12261  onChanged();
12262  return this;
12263  }
12269  bitField0_ = (bitField0_ & ~0x00000400);
12270  minimizationAlgorithm_ = 2;
12271  onChanged();
12272  return this;
12273  }
12274 
12275  private int binaryMinimizationAlgorithm_ = 1;
12280  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
12281  return ((bitField0_ & 0x00000800) != 0);
12282  }
12287  @java.lang.Override
12289  @SuppressWarnings("deprecation")
12292  }
12299  if (value == null) {
12300  throw new NullPointerException();
12301  }
12302  bitField0_ |= 0x00000800;
12303  binaryMinimizationAlgorithm_ = value.getNumber();
12304  onChanged();
12305  return this;
12306  }
12312  bitField0_ = (bitField0_ & ~0x00000800);
12313  binaryMinimizationAlgorithm_ = 1;
12314  onChanged();
12315  return this;
12316  }
12317 
12318  private boolean subsumptionDuringConflictAnalysis_ = true;
12330  @java.lang.Override
12332  return ((bitField0_ & 0x00001000) != 0);
12333  }
12345  @java.lang.Override
12347  return subsumptionDuringConflictAnalysis_;
12348  }
12362  bitField0_ |= 0x00001000;
12363  subsumptionDuringConflictAnalysis_ = value;
12364  onChanged();
12365  return this;
12366  }
12379  bitField0_ = (bitField0_ & ~0x00001000);
12380  subsumptionDuringConflictAnalysis_ = true;
12381  onChanged();
12382  return this;
12383  }
12384 
12385  private int clauseCleanupPeriod_ = 10000;
12394  @java.lang.Override
12395  public boolean hasClauseCleanupPeriod() {
12396  return ((bitField0_ & 0x00002000) != 0);
12397  }
12406  @java.lang.Override
12407  public int getClauseCleanupPeriod() {
12408  return clauseCleanupPeriod_;
12409  }
12419  public Builder setClauseCleanupPeriod(int value) {
12420  bitField0_ |= 0x00002000;
12421  clauseCleanupPeriod_ = value;
12422  onChanged();
12423  return this;
12424  }
12434  bitField0_ = (bitField0_ & ~0x00002000);
12435  clauseCleanupPeriod_ = 10000;
12436  onChanged();
12437  return this;
12438  }
12439 
12440  private int clauseCleanupTarget_ = 10000;
12450  @java.lang.Override
12451  public boolean hasClauseCleanupTarget() {
12452  return ((bitField0_ & 0x00004000) != 0);
12453  }
12463  @java.lang.Override
12464  public int getClauseCleanupTarget() {
12465  return clauseCleanupTarget_;
12466  }
12477  public Builder setClauseCleanupTarget(int value) {
12478  bitField0_ |= 0x00004000;
12479  clauseCleanupTarget_ = value;
12480  onChanged();
12481  return this;
12482  }
12493  bitField0_ = (bitField0_ & ~0x00004000);
12494  clauseCleanupTarget_ = 10000;
12495  onChanged();
12496  return this;
12497  }
12498 
12499  private int clauseCleanupProtection_ = 0;
12504  @java.lang.Override public boolean hasClauseCleanupProtection() {
12505  return ((bitField0_ & 0x00008000) != 0);
12506  }
12511  @java.lang.Override
12513  @SuppressWarnings("deprecation")
12515  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
12516  }
12523  if (value == null) {
12524  throw new NullPointerException();
12525  }
12526  bitField0_ |= 0x00008000;
12527  clauseCleanupProtection_ = value.getNumber();
12528  onChanged();
12529  return this;
12530  }
12536  bitField0_ = (bitField0_ & ~0x00008000);
12537  clauseCleanupProtection_ = 0;
12538  onChanged();
12539  return this;
12540  }
12541 
12542  private int clauseCleanupLbdBound_ = 5;
12552  @java.lang.Override
12553  public boolean hasClauseCleanupLbdBound() {
12554  return ((bitField0_ & 0x00010000) != 0);
12555  }
12565  @java.lang.Override
12567  return clauseCleanupLbdBound_;
12568  }
12579  public Builder setClauseCleanupLbdBound(int value) {
12580  bitField0_ |= 0x00010000;
12581  clauseCleanupLbdBound_ = value;
12582  onChanged();
12583  return this;
12584  }
12595  bitField0_ = (bitField0_ & ~0x00010000);
12596  clauseCleanupLbdBound_ = 5;
12597  onChanged();
12598  return this;
12599  }
12600 
12601  private int clauseCleanupOrdering_ = 0;
12606  @java.lang.Override public boolean hasClauseCleanupOrdering() {
12607  return ((bitField0_ & 0x00020000) != 0);
12608  }
12613  @java.lang.Override
12615  @SuppressWarnings("deprecation")
12617  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
12618  }
12625  if (value == null) {
12626  throw new NullPointerException();
12627  }
12628  bitField0_ |= 0x00020000;
12629  clauseCleanupOrdering_ = value.getNumber();
12630  onChanged();
12631  return this;
12632  }
12638  bitField0_ = (bitField0_ & ~0x00020000);
12639  clauseCleanupOrdering_ = 0;
12640  onChanged();
12641  return this;
12642  }
12643 
12644  private int pbCleanupIncrement_ = 200;
12653  @java.lang.Override
12654  public boolean hasPbCleanupIncrement() {
12655  return ((bitField0_ & 0x00040000) != 0);
12656  }
12665  @java.lang.Override
12666  public int getPbCleanupIncrement() {
12667  return pbCleanupIncrement_;
12668  }
12678  public Builder setPbCleanupIncrement(int value) {
12679  bitField0_ |= 0x00040000;
12680  pbCleanupIncrement_ = value;
12681  onChanged();
12682  return this;
12683  }
12693  bitField0_ = (bitField0_ & ~0x00040000);
12694  pbCleanupIncrement_ = 200;
12695  onChanged();
12696  return this;
12697  }
12698 
12699  private double pbCleanupRatio_ = 0.5D;
12704  @java.lang.Override
12705  public boolean hasPbCleanupRatio() {
12706  return ((bitField0_ & 0x00080000) != 0);
12707  }
12712  @java.lang.Override
12713  public double getPbCleanupRatio() {
12714  return pbCleanupRatio_;
12715  }
12721  public Builder setPbCleanupRatio(double value) {
12722  bitField0_ |= 0x00080000;
12723  pbCleanupRatio_ = value;
12724  onChanged();
12725  return this;
12726  }
12732  bitField0_ = (bitField0_ & ~0x00080000);
12733  pbCleanupRatio_ = 0.5D;
12734  onChanged();
12735  return this;
12736  }
12737 
12738  private int minimizeWithPropagationRestartPeriod_ = 10;
12757  @java.lang.Override
12759  return ((bitField0_ & 0x00100000) != 0);
12760  }
12779  @java.lang.Override
12781  return minimizeWithPropagationRestartPeriod_;
12782  }
12803  bitField0_ |= 0x00100000;
12804  minimizeWithPropagationRestartPeriod_ = value;
12805  onChanged();
12806  return this;
12807  }
12827  bitField0_ = (bitField0_ & ~0x00100000);
12828  minimizeWithPropagationRestartPeriod_ = 10;
12829  onChanged();
12830  return this;
12831  }
12832 
12833  private int minimizeWithPropagationNumDecisions_ = 1000;
12838  @java.lang.Override
12840  return ((bitField0_ & 0x00200000) != 0);
12841  }
12846  @java.lang.Override
12848  return minimizeWithPropagationNumDecisions_;
12849  }
12856  bitField0_ |= 0x00200000;
12857  minimizeWithPropagationNumDecisions_ = value;
12858  onChanged();
12859  return this;
12860  }
12866  bitField0_ = (bitField0_ & ~0x00200000);
12867  minimizeWithPropagationNumDecisions_ = 1000;
12868  onChanged();
12869  return this;
12870  }
12871 
12872  private double variableActivityDecay_ = 0.8D;
12887  @java.lang.Override
12888  public boolean hasVariableActivityDecay() {
12889  return ((bitField0_ & 0x00400000) != 0);
12890  }
12905  @java.lang.Override
12906  public double getVariableActivityDecay() {
12907  return variableActivityDecay_;
12908  }
12924  public Builder setVariableActivityDecay(double value) {
12925  bitField0_ |= 0x00400000;
12926  variableActivityDecay_ = value;
12927  onChanged();
12928  return this;
12929  }
12945  bitField0_ = (bitField0_ & ~0x00400000);
12946  variableActivityDecay_ = 0.8D;
12947  onChanged();
12948  return this;
12949  }
12950 
12951  private double maxVariableActivityValue_ = 1e+100D;
12956  @java.lang.Override
12957  public boolean hasMaxVariableActivityValue() {
12958  return ((bitField0_ & 0x00800000) != 0);
12959  }
12964  @java.lang.Override
12966  return maxVariableActivityValue_;
12967  }
12973  public Builder setMaxVariableActivityValue(double value) {
12974  bitField0_ |= 0x00800000;
12975  maxVariableActivityValue_ = value;
12976  onChanged();
12977  return this;
12978  }
12984  bitField0_ = (bitField0_ & ~0x00800000);
12985  maxVariableActivityValue_ = 1e+100D;
12986  onChanged();
12987  return this;
12988  }
12989 
12990  private double glucoseMaxDecay_ = 0.95D;
13002  @java.lang.Override
13003  public boolean hasGlucoseMaxDecay() {
13004  return ((bitField0_ & 0x01000000) != 0);
13005  }
13017  @java.lang.Override
13018  public double getGlucoseMaxDecay() {
13019  return glucoseMaxDecay_;
13020  }
13033  public Builder setGlucoseMaxDecay(double value) {
13034  bitField0_ |= 0x01000000;
13035  glucoseMaxDecay_ = value;
13036  onChanged();
13037  return this;
13038  }
13051  bitField0_ = (bitField0_ & ~0x01000000);
13052  glucoseMaxDecay_ = 0.95D;
13053  onChanged();
13054  return this;
13055  }
13056 
13057  private double glucoseDecayIncrement_ = 0.01D;
13062  @java.lang.Override
13063  public boolean hasGlucoseDecayIncrement() {
13064  return ((bitField0_ & 0x02000000) != 0);
13065  }
13070  @java.lang.Override
13071  public double getGlucoseDecayIncrement() {
13072  return glucoseDecayIncrement_;
13073  }
13079  public Builder setGlucoseDecayIncrement(double value) {
13080  bitField0_ |= 0x02000000;
13081  glucoseDecayIncrement_ = value;
13082  onChanged();
13083  return this;
13084  }
13090  bitField0_ = (bitField0_ & ~0x02000000);
13091  glucoseDecayIncrement_ = 0.01D;
13092  onChanged();
13093  return this;
13094  }
13095 
13096  private int glucoseDecayIncrementPeriod_ = 5000;
13101  @java.lang.Override
13103  return ((bitField0_ & 0x04000000) != 0);
13104  }
13109  @java.lang.Override
13111  return glucoseDecayIncrementPeriod_;
13112  }
13119  bitField0_ |= 0x04000000;
13120  glucoseDecayIncrementPeriod_ = value;
13121  onChanged();
13122  return this;
13123  }
13129  bitField0_ = (bitField0_ & ~0x04000000);
13130  glucoseDecayIncrementPeriod_ = 5000;
13131  onChanged();
13132  return this;
13133  }
13134 
13135  private double clauseActivityDecay_ = 0.999D;
13144  @java.lang.Override
13145  public boolean hasClauseActivityDecay() {
13146  return ((bitField0_ & 0x08000000) != 0);
13147  }
13156  @java.lang.Override
13157  public double getClauseActivityDecay() {
13158  return clauseActivityDecay_;
13159  }
13169  public Builder setClauseActivityDecay(double value) {
13170  bitField0_ |= 0x08000000;
13171  clauseActivityDecay_ = value;
13172  onChanged();
13173  return this;
13174  }
13184  bitField0_ = (bitField0_ & ~0x08000000);
13185  clauseActivityDecay_ = 0.999D;
13186  onChanged();
13187  return this;
13188  }
13189 
13190  private double maxClauseActivityValue_ = 1e+20D;
13195  @java.lang.Override
13196  public boolean hasMaxClauseActivityValue() {
13197  return ((bitField0_ & 0x10000000) != 0);
13198  }
13203  @java.lang.Override
13204  public double getMaxClauseActivityValue() {
13205  return maxClauseActivityValue_;
13206  }
13212  public Builder setMaxClauseActivityValue(double value) {
13213  bitField0_ |= 0x10000000;
13214  maxClauseActivityValue_ = value;
13215  onChanged();
13216  return this;
13217  }
13223  bitField0_ = (bitField0_ & ~0x10000000);
13224  maxClauseActivityValue_ = 1e+20D;
13225  onChanged();
13226  return this;
13227  }
13228 
13229  private java.util.List<java.lang.Integer> restartAlgorithms_ =
13230  java.util.Collections.emptyList();
13231  private void ensureRestartAlgorithmsIsMutable() {
13232  if (!((bitField0_ & 0x20000000) != 0)) {
13233  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
13234  bitField0_ |= 0x20000000;
13235  }
13236  }
13253  return new com.google.protobuf.Internal.ListAdapter<
13254  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
13255  }
13272  return restartAlgorithms_.size();
13273  }
13291  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
13292  }
13311  int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
13312  if (value == null) {
13313  throw new NullPointerException();
13314  }
13315  ensureRestartAlgorithmsIsMutable();
13316  restartAlgorithms_.set(index, value.getNumber());
13317  onChanged();
13318  return this;
13319  }
13337  if (value == null) {
13338  throw new NullPointerException();
13339  }
13340  ensureRestartAlgorithmsIsMutable();
13341  restartAlgorithms_.add(value.getNumber());
13342  onChanged();
13343  return this;
13344  }
13362  java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
13363  ensureRestartAlgorithmsIsMutable();
13364  for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
13365  restartAlgorithms_.add(value.getNumber());
13366  }
13367  onChanged();
13368  return this;
13369  }
13386  restartAlgorithms_ = java.util.Collections.emptyList();
13387  bitField0_ = (bitField0_ & ~0x20000000);
13388  onChanged();
13389  return this;
13390  }
13391 
13392  private java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
13397  public boolean hasDefaultRestartAlgorithms() {
13398  return ((bitField0_ & 0x40000000) != 0);
13399  }
13404  public java.lang.String getDefaultRestartAlgorithms() {
13405  java.lang.Object ref = defaultRestartAlgorithms_;
13406  if (!(ref instanceof java.lang.String)) {
13407  com.google.protobuf.ByteString bs =
13408  (com.google.protobuf.ByteString) ref;
13409  java.lang.String s = bs.toStringUtf8();
13410  if (bs.isValidUtf8()) {
13411  defaultRestartAlgorithms_ = s;
13412  }
13413  return s;
13414  } else {
13415  return (java.lang.String) ref;
13416  }
13417  }
13422  public com.google.protobuf.ByteString
13424  java.lang.Object ref = defaultRestartAlgorithms_;
13425  if (ref instanceof String) {
13426  com.google.protobuf.ByteString b =
13427  com.google.protobuf.ByteString.copyFromUtf8(
13428  (java.lang.String) ref);
13429  defaultRestartAlgorithms_ = b;
13430  return b;
13431  } else {
13432  return (com.google.protobuf.ByteString) ref;
13433  }
13434  }
13441  java.lang.String value) {
13442  if (value == null) {
13443  throw new NullPointerException();
13444  }
13445  bitField0_ |= 0x40000000;
13446  defaultRestartAlgorithms_ = value;
13447  onChanged();
13448  return this;
13449  }
13455  bitField0_ = (bitField0_ & ~0x40000000);
13456  defaultRestartAlgorithms_ = getDefaultInstance().getDefaultRestartAlgorithms();
13457  onChanged();
13458  return this;
13459  }
13466  com.google.protobuf.ByteString value) {
13467  if (value == null) {
13468  throw new NullPointerException();
13469  }
13470  bitField0_ |= 0x40000000;
13471  defaultRestartAlgorithms_ = value;
13472  onChanged();
13473  return this;
13474  }
13475 
13476  private int restartPeriod_ = 50;
13486  @java.lang.Override
13487  public boolean hasRestartPeriod() {
13488  return ((bitField0_ & 0x80000000) != 0);
13489  }
13499  @java.lang.Override
13500  public int getRestartPeriod() {
13501  return restartPeriod_;
13502  }
13513  public Builder setRestartPeriod(int value) {
13514  bitField0_ |= 0x80000000;
13515  restartPeriod_ = value;
13516  onChanged();
13517  return this;
13518  }
13529  bitField0_ = (bitField0_ & ~0x80000000);
13530  restartPeriod_ = 50;
13531  onChanged();
13532  return this;
13533  }
13534 
13535  private int restartRunningWindowSize_ = 50;
13544  @java.lang.Override
13545  public boolean hasRestartRunningWindowSize() {
13546  return ((bitField1_ & 0x00000001) != 0);
13547  }
13556  @java.lang.Override
13558  return restartRunningWindowSize_;
13559  }
13570  bitField1_ |= 0x00000001;
13571  restartRunningWindowSize_ = value;
13572  onChanged();
13573  return this;
13574  }
13584  bitField1_ = (bitField1_ & ~0x00000001);
13585  restartRunningWindowSize_ = 50;
13586  onChanged();
13587  return this;
13588  }
13589 
13590  private double restartDlAverageRatio_ = 1D;
13600  @java.lang.Override
13601  public boolean hasRestartDlAverageRatio() {
13602  return ((bitField1_ & 0x00000002) != 0);
13603  }
13613  @java.lang.Override
13614  public double getRestartDlAverageRatio() {
13615  return restartDlAverageRatio_;
13616  }
13627  public Builder setRestartDlAverageRatio(double value) {
13628  bitField1_ |= 0x00000002;
13629  restartDlAverageRatio_ = value;
13630  onChanged();
13631  return this;
13632  }
13643  bitField1_ = (bitField1_ & ~0x00000002);
13644  restartDlAverageRatio_ = 1D;
13645  onChanged();
13646  return this;
13647  }
13648 
13649  private double restartLbdAverageRatio_ = 1D;
13654  @java.lang.Override
13655  public boolean hasRestartLbdAverageRatio() {
13656  return ((bitField1_ & 0x00000004) != 0);
13657  }
13662  @java.lang.Override
13663  public double getRestartLbdAverageRatio() {
13664  return restartLbdAverageRatio_;
13665  }
13671  public Builder setRestartLbdAverageRatio(double value) {
13672  bitField1_ |= 0x00000004;
13673  restartLbdAverageRatio_ = value;
13674  onChanged();
13675  return this;
13676  }
13682  bitField1_ = (bitField1_ & ~0x00000004);
13683  restartLbdAverageRatio_ = 1D;
13684  onChanged();
13685  return this;
13686  }
13687 
13688  private boolean useBlockingRestart_ ;
13699  @java.lang.Override
13700  public boolean hasUseBlockingRestart() {
13701  return ((bitField1_ & 0x00000008) != 0);
13702  }
13713  @java.lang.Override
13714  public boolean getUseBlockingRestart() {
13715  return useBlockingRestart_;
13716  }
13728  public Builder setUseBlockingRestart(boolean value) {
13729  bitField1_ |= 0x00000008;
13730  useBlockingRestart_ = value;
13731  onChanged();
13732  return this;
13733  }
13745  bitField1_ = (bitField1_ & ~0x00000008);
13746  useBlockingRestart_ = false;
13747  onChanged();
13748  return this;
13749  }
13750 
13751  private int blockingRestartWindowSize_ = 5000;
13756  @java.lang.Override
13757  public boolean hasBlockingRestartWindowSize() {
13758  return ((bitField1_ & 0x00000010) != 0);
13759  }
13764  @java.lang.Override
13766  return blockingRestartWindowSize_;
13767  }
13774  bitField1_ |= 0x00000010;
13775  blockingRestartWindowSize_ = value;
13776  onChanged();
13777  return this;
13778  }
13784  bitField1_ = (bitField1_ & ~0x00000010);
13785  blockingRestartWindowSize_ = 5000;
13786  onChanged();
13787  return this;
13788  }
13789 
13790  private double blockingRestartMultiplier_ = 1.4D;
13795  @java.lang.Override
13796  public boolean hasBlockingRestartMultiplier() {
13797  return ((bitField1_ & 0x00000020) != 0);
13798  }
13803  @java.lang.Override
13805  return blockingRestartMultiplier_;
13806  }
13812  public Builder setBlockingRestartMultiplier(double value) {
13813  bitField1_ |= 0x00000020;
13814  blockingRestartMultiplier_ = value;
13815  onChanged();
13816  return this;
13817  }
13823  bitField1_ = (bitField1_ & ~0x00000020);
13824  blockingRestartMultiplier_ = 1.4D;
13825  onChanged();
13826  return this;
13827  }
13828 
13829  private int numConflictsBeforeStrategyChanges_ ;
13840  @java.lang.Override
13842  return ((bitField1_ & 0x00000040) != 0);
13843  }
13854  @java.lang.Override
13856  return numConflictsBeforeStrategyChanges_;
13857  }
13870  bitField1_ |= 0x00000040;
13871  numConflictsBeforeStrategyChanges_ = value;
13872  onChanged();
13873  return this;
13874  }
13886  bitField1_ = (bitField1_ & ~0x00000040);
13887  numConflictsBeforeStrategyChanges_ = 0;
13888  onChanged();
13889  return this;
13890  }
13891 
13892  private double strategyChangeIncreaseRatio_ ;
13902  @java.lang.Override
13904  return ((bitField1_ & 0x00000080) != 0);
13905  }
13915  @java.lang.Override
13917  return strategyChangeIncreaseRatio_;
13918  }
13930  bitField1_ |= 0x00000080;
13931  strategyChangeIncreaseRatio_ = value;
13932  onChanged();
13933  return this;
13934  }
13945  bitField1_ = (bitField1_ & ~0x00000080);
13946  strategyChangeIncreaseRatio_ = 0D;
13947  onChanged();
13948  return this;
13949  }
13950 
13951  private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
13961  @java.lang.Override
13962  public boolean hasMaxTimeInSeconds() {
13963  return ((bitField1_ & 0x00000100) != 0);
13964  }
13974  @java.lang.Override
13975  public double getMaxTimeInSeconds() {
13976  return maxTimeInSeconds_;
13977  }
13988  public Builder setMaxTimeInSeconds(double value) {
13989  bitField1_ |= 0x00000100;
13990  maxTimeInSeconds_ = value;
13991  onChanged();
13992  return this;
13993  }
14004  bitField1_ = (bitField1_ & ~0x00000100);
14005  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
14006  onChanged();
14007  return this;
14008  }
14009 
14010  private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
14021  @java.lang.Override
14022  public boolean hasMaxDeterministicTime() {
14023  return ((bitField1_ & 0x00000200) != 0);
14024  }
14035  @java.lang.Override
14036  public double getMaxDeterministicTime() {
14037  return maxDeterministicTime_;
14038  }
14050  public Builder setMaxDeterministicTime(double value) {
14051  bitField1_ |= 0x00000200;
14052  maxDeterministicTime_ = value;
14053  onChanged();
14054  return this;
14055  }
14067  bitField1_ = (bitField1_ & ~0x00000200);
14068  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
14069  onChanged();
14070  return this;
14071  }
14072 
14073  private long maxNumberOfConflicts_ = 9223372036854775807L;
14087  @java.lang.Override
14088  public boolean hasMaxNumberOfConflicts() {
14089  return ((bitField1_ & 0x00000400) != 0);
14090  }
14104  @java.lang.Override
14105  public long getMaxNumberOfConflicts() {
14106  return maxNumberOfConflicts_;
14107  }
14122  public Builder setMaxNumberOfConflicts(long value) {
14123  bitField1_ |= 0x00000400;
14124  maxNumberOfConflicts_ = value;
14125  onChanged();
14126  return this;
14127  }
14142  bitField1_ = (bitField1_ & ~0x00000400);
14143  maxNumberOfConflicts_ = 9223372036854775807L;
14144  onChanged();
14145  return this;
14146  }
14147 
14148  private long maxMemoryInMb_ = 10000L;
14160  @java.lang.Override
14161  public boolean hasMaxMemoryInMb() {
14162  return ((bitField1_ & 0x00000800) != 0);
14163  }
14175  @java.lang.Override
14176  public long getMaxMemoryInMb() {
14177  return maxMemoryInMb_;
14178  }
14191  public Builder setMaxMemoryInMb(long value) {
14192  bitField1_ |= 0x00000800;
14193  maxMemoryInMb_ = value;
14194  onChanged();
14195  return this;
14196  }
14209  bitField1_ = (bitField1_ & ~0x00000800);
14210  maxMemoryInMb_ = 10000L;
14211  onChanged();
14212  return this;
14213  }
14214 
14215  private double absoluteGapLimit_ ;
14233  @java.lang.Override
14234  public boolean hasAbsoluteGapLimit() {
14235  return ((bitField1_ & 0x00001000) != 0);
14236  }
14254  @java.lang.Override
14255  public double getAbsoluteGapLimit() {
14256  return absoluteGapLimit_;
14257  }
14276  public Builder setAbsoluteGapLimit(double value) {
14277  bitField1_ |= 0x00001000;
14278  absoluteGapLimit_ = value;
14279  onChanged();
14280  return this;
14281  }
14300  bitField1_ = (bitField1_ & ~0x00001000);
14301  absoluteGapLimit_ = 0D;
14302  onChanged();
14303  return this;
14304  }
14305 
14306  private double relativeGapLimit_ ;
14311  @java.lang.Override
14312  public boolean hasRelativeGapLimit() {
14313  return ((bitField1_ & 0x00002000) != 0);
14314  }
14319  @java.lang.Override
14320  public double getRelativeGapLimit() {
14321  return relativeGapLimit_;
14322  }
14328  public Builder setRelativeGapLimit(double value) {
14329  bitField1_ |= 0x00002000;
14330  relativeGapLimit_ = value;
14331  onChanged();
14332  return this;
14333  }
14339  bitField1_ = (bitField1_ & ~0x00002000);
14340  relativeGapLimit_ = 0D;
14341  onChanged();
14342  return this;
14343  }
14344 
14345  private boolean treatBinaryClausesSeparately_ = true;
14356  @java.lang.Override
14358  return ((bitField1_ & 0x00004000) != 0);
14359  }
14370  @java.lang.Override
14372  return treatBinaryClausesSeparately_;
14373  }
14386  bitField1_ |= 0x00004000;
14387  treatBinaryClausesSeparately_ = value;
14388  onChanged();
14389  return this;
14390  }
14402  bitField1_ = (bitField1_ & ~0x00004000);
14403  treatBinaryClausesSeparately_ = true;
14404  onChanged();
14405  return this;
14406  }
14407 
14408  private int randomSeed_ = 1;
14422  @java.lang.Override
14423  public boolean hasRandomSeed() {
14424  return ((bitField1_ & 0x00008000) != 0);
14425  }
14439  @java.lang.Override
14440  public int getRandomSeed() {
14441  return randomSeed_;
14442  }
14457  public Builder setRandomSeed(int value) {
14458  bitField1_ |= 0x00008000;
14459  randomSeed_ = value;
14460  onChanged();
14461  return this;
14462  }
14477  bitField1_ = (bitField1_ & ~0x00008000);
14478  randomSeed_ = 1;
14479  onChanged();
14480  return this;
14481  }
14482 
14483  private boolean logSearchProgress_ ;
14492  @java.lang.Override
14493  public boolean hasLogSearchProgress() {
14494  return ((bitField1_ & 0x00010000) != 0);
14495  }
14504  @java.lang.Override
14505  public boolean getLogSearchProgress() {
14506  return logSearchProgress_;
14507  }
14517  public Builder setLogSearchProgress(boolean value) {
14518  bitField1_ |= 0x00010000;
14519  logSearchProgress_ = value;
14520  onChanged();
14521  return this;
14522  }
14532  bitField1_ = (bitField1_ & ~0x00010000);
14533  logSearchProgress_ = false;
14534  onChanged();
14535  return this;
14536  }
14537 
14538  private boolean usePbResolution_ ;
14550  @java.lang.Override
14551  public boolean hasUsePbResolution() {
14552  return ((bitField1_ & 0x00020000) != 0);
14553  }
14565  @java.lang.Override
14566  public boolean getUsePbResolution() {
14567  return usePbResolution_;
14568  }
14581  public Builder setUsePbResolution(boolean value) {
14582  bitField1_ |= 0x00020000;
14583  usePbResolution_ = value;
14584  onChanged();
14585  return this;
14586  }
14599  bitField1_ = (bitField1_ & ~0x00020000);
14600  usePbResolution_ = false;
14601  onChanged();
14602  return this;
14603  }
14604 
14605  private boolean minimizeReductionDuringPbResolution_ ;
14617  @java.lang.Override
14619  return ((bitField1_ & 0x00040000) != 0);
14620  }
14632  @java.lang.Override
14634  return minimizeReductionDuringPbResolution_;
14635  }
14649  bitField1_ |= 0x00040000;
14650  minimizeReductionDuringPbResolution_ = value;
14651  onChanged();
14652  return this;
14653  }
14666  bitField1_ = (bitField1_ & ~0x00040000);
14667  minimizeReductionDuringPbResolution_ = false;
14668  onChanged();
14669  return this;
14670  }
14671 
14672  private boolean countAssumptionLevelsInLbd_ = true;
14688  @java.lang.Override
14690  return ((bitField1_ & 0x00080000) != 0);
14691  }
14707  @java.lang.Override
14709  return countAssumptionLevelsInLbd_;
14710  }
14727  public Builder setCountAssumptionLevelsInLbd(boolean value) {
14728  bitField1_ |= 0x00080000;
14729  countAssumptionLevelsInLbd_ = value;
14730  onChanged();
14731  return this;
14732  }
14749  bitField1_ = (bitField1_ & ~0x00080000);
14750  countAssumptionLevelsInLbd_ = true;
14751  onChanged();
14752  return this;
14753  }
14754 
14755  private int presolveBveThreshold_ = 500;
14766  @java.lang.Override
14767  public boolean hasPresolveBveThreshold() {
14768  return ((bitField1_ & 0x00100000) != 0);
14769  }
14780  @java.lang.Override
14782  return presolveBveThreshold_;
14783  }
14795  public Builder setPresolveBveThreshold(int value) {
14796  bitField1_ |= 0x00100000;
14797  presolveBveThreshold_ = value;
14798  onChanged();
14799  return this;
14800  }
14812  bitField1_ = (bitField1_ & ~0x00100000);
14813  presolveBveThreshold_ = 500;
14814  onChanged();
14815  return this;
14816  }
14817 
14818  private int presolveBveClauseWeight_ = 3;
14828  @java.lang.Override
14829  public boolean hasPresolveBveClauseWeight() {
14830  return ((bitField1_ & 0x00200000) != 0);
14831  }
14841  @java.lang.Override
14843  return presolveBveClauseWeight_;
14844  }
14856  bitField1_ |= 0x00200000;
14857  presolveBveClauseWeight_ = value;
14858  onChanged();
14859  return this;
14860  }
14871  bitField1_ = (bitField1_ & ~0x00200000);
14872  presolveBveClauseWeight_ = 3;
14873  onChanged();
14874  return this;
14875  }
14876 
14877  private double presolveProbingDeterministicTimeLimit_ = 30D;
14887  @java.lang.Override
14889  return ((bitField1_ & 0x00400000) != 0);
14890  }
14900  @java.lang.Override
14902  return presolveProbingDeterministicTimeLimit_;
14903  }
14915  bitField1_ |= 0x00400000;
14916  presolveProbingDeterministicTimeLimit_ = value;
14917  onChanged();
14918  return this;
14919  }
14930  bitField1_ = (bitField1_ & ~0x00400000);
14931  presolveProbingDeterministicTimeLimit_ = 30D;
14932  onChanged();
14933  return this;
14934  }
14935 
14936  private boolean presolveBlockedClause_ = true;
14946  @java.lang.Override
14947  public boolean hasPresolveBlockedClause() {
14948  return ((bitField1_ & 0x00800000) != 0);
14949  }
14959  @java.lang.Override
14960  public boolean getPresolveBlockedClause() {
14961  return presolveBlockedClause_;
14962  }
14973  public Builder setPresolveBlockedClause(boolean value) {
14974  bitField1_ |= 0x00800000;
14975  presolveBlockedClause_ = value;
14976  onChanged();
14977  return this;
14978  }
14989  bitField1_ = (bitField1_ & ~0x00800000);
14990  presolveBlockedClause_ = true;
14991  onChanged();
14992  return this;
14993  }
14994 
14995  private boolean presolveUseBva_ = true;
15004  @java.lang.Override
15005  public boolean hasPresolveUseBva() {
15006  return ((bitField1_ & 0x01000000) != 0);
15007  }
15016  @java.lang.Override
15017  public boolean getPresolveUseBva() {
15018  return presolveUseBva_;
15019  }
15029  public Builder setPresolveUseBva(boolean value) {
15030  bitField1_ |= 0x01000000;
15031  presolveUseBva_ = value;
15032  onChanged();
15033  return this;
15034  }
15044  bitField1_ = (bitField1_ & ~0x01000000);
15045  presolveUseBva_ = true;
15046  onChanged();
15047  return this;
15048  }
15049 
15050  private int presolveBvaThreshold_ = 1;
15062  @java.lang.Override
15063  public boolean hasPresolveBvaThreshold() {
15064  return ((bitField1_ & 0x02000000) != 0);
15065  }
15077  @java.lang.Override
15079  return presolveBvaThreshold_;
15080  }
15093  public Builder setPresolveBvaThreshold(int value) {
15094  bitField1_ |= 0x02000000;
15095  presolveBvaThreshold_ = value;
15096  onChanged();
15097  return this;
15098  }
15111  bitField1_ = (bitField1_ & ~0x02000000);
15112  presolveBvaThreshold_ = 1;
15113  onChanged();
15114  return this;
15115  }
15116 
15117  private int maxPresolveIterations_ = 3;
15128  @java.lang.Override
15129  public boolean hasMaxPresolveIterations() {
15130  return ((bitField1_ & 0x04000000) != 0);
15131  }
15142  @java.lang.Override
15144  return maxPresolveIterations_;
15145  }
15157  public Builder setMaxPresolveIterations(int value) {
15158  bitField1_ |= 0x04000000;
15159  maxPresolveIterations_ = value;
15160  onChanged();
15161  return this;
15162  }
15174  bitField1_ = (bitField1_ & ~0x04000000);
15175  maxPresolveIterations_ = 3;
15176  onChanged();
15177  return this;
15178  }
15179 
15180  private boolean cpModelPresolve_ = true;
15189  @java.lang.Override
15190  public boolean hasCpModelPresolve() {
15191  return ((bitField1_ & 0x08000000) != 0);
15192  }
15201  @java.lang.Override
15202  public boolean getCpModelPresolve() {
15203  return cpModelPresolve_;
15204  }
15214  public Builder setCpModelPresolve(boolean value) {
15215  bitField1_ |= 0x08000000;
15216  cpModelPresolve_ = value;
15217  onChanged();
15218  return this;
15219  }
15229  bitField1_ = (bitField1_ & ~0x08000000);
15230  cpModelPresolve_ = true;
15231  onChanged();
15232  return this;
15233  }
15234 
15235  private boolean cpModelPostsolveWithFullSolver_ ;
15247  @java.lang.Override
15249  return ((bitField1_ & 0x10000000) != 0);
15250  }
15262  @java.lang.Override
15264  return cpModelPostsolveWithFullSolver_;
15265  }
15279  bitField1_ |= 0x10000000;
15280  cpModelPostsolveWithFullSolver_ = value;
15281  onChanged();
15282  return this;
15283  }
15296  bitField1_ = (bitField1_ & ~0x10000000);
15297  cpModelPostsolveWithFullSolver_ = false;
15298  onChanged();
15299  return this;
15300  }
15301 
15302  private int cpModelMaxNumPresolveOperations_ ;
15312  @java.lang.Override
15314  return ((bitField1_ & 0x20000000) != 0);
15315  }
15325  @java.lang.Override
15327  return cpModelMaxNumPresolveOperations_;
15328  }
15340  bitField1_ |= 0x20000000;
15341  cpModelMaxNumPresolveOperations_ = value;
15342  onChanged();
15343  return this;
15344  }
15355  bitField1_ = (bitField1_ & ~0x20000000);
15356  cpModelMaxNumPresolveOperations_ = 0;
15357  onChanged();
15358  return this;
15359  }
15360 
15361  private int cpModelProbingLevel_ = 2;
15370  @java.lang.Override
15371  public boolean hasCpModelProbingLevel() {
15372  return ((bitField1_ & 0x40000000) != 0);
15373  }
15382  @java.lang.Override
15383  public int getCpModelProbingLevel() {
15384  return cpModelProbingLevel_;
15385  }
15395  public Builder setCpModelProbingLevel(int value) {
15396  bitField1_ |= 0x40000000;
15397  cpModelProbingLevel_ = value;
15398  onChanged();
15399  return this;
15400  }
15410  bitField1_ = (bitField1_ & ~0x40000000);
15411  cpModelProbingLevel_ = 2;
15412  onChanged();
15413  return this;
15414  }
15415 
15416  private boolean cpModelUseSatPresolve_ = true;
15425  @java.lang.Override
15426  public boolean hasCpModelUseSatPresolve() {
15427  return ((bitField1_ & 0x80000000) != 0);
15428  }
15437  @java.lang.Override
15438  public boolean getCpModelUseSatPresolve() {
15439  return cpModelUseSatPresolve_;
15440  }
15450  public Builder setCpModelUseSatPresolve(boolean value) {
15451  bitField1_ |= 0x80000000;
15452  cpModelUseSatPresolve_ = value;
15453  onChanged();
15454  return this;
15455  }
15465  bitField1_ = (bitField1_ & ~0x80000000);
15466  cpModelUseSatPresolve_ = true;
15467  onChanged();
15468  return this;
15469  }
15470 
15471  private boolean useSatInprocessing_ ;
15476  @java.lang.Override
15477  public boolean hasUseSatInprocessing() {
15478  return ((bitField2_ & 0x00000001) != 0);
15479  }
15484  @java.lang.Override
15485  public boolean getUseSatInprocessing() {
15486  return useSatInprocessing_;
15487  }
15493  public Builder setUseSatInprocessing(boolean value) {
15494  bitField2_ |= 0x00000001;
15495  useSatInprocessing_ = value;
15496  onChanged();
15497  return this;
15498  }
15504  bitField2_ = (bitField2_ & ~0x00000001);
15505  useSatInprocessing_ = false;
15506  onChanged();
15507  return this;
15508  }
15509 
15510  private boolean expandElementConstraints_ = true;
15520  @java.lang.Override
15521  public boolean hasExpandElementConstraints() {
15522  return ((bitField2_ & 0x00000002) != 0);
15523  }
15533  @java.lang.Override
15534  public boolean getExpandElementConstraints() {
15535  return expandElementConstraints_;
15536  }
15547  public Builder setExpandElementConstraints(boolean value) {
15548  bitField2_ |= 0x00000002;
15549  expandElementConstraints_ = value;
15550  onChanged();
15551  return this;
15552  }
15563  bitField2_ = (bitField2_ & ~0x00000002);
15564  expandElementConstraints_ = true;
15565  onChanged();
15566  return this;
15567  }
15568 
15569  private boolean expandAutomatonConstraints_ = true;
15578  @java.lang.Override
15580  return ((bitField2_ & 0x00000004) != 0);
15581  }
15590  @java.lang.Override
15592  return expandAutomatonConstraints_;
15593  }
15603  public Builder setExpandAutomatonConstraints(boolean value) {
15604  bitField2_ |= 0x00000004;
15605  expandAutomatonConstraints_ = value;
15606  onChanged();
15607  return this;
15608  }
15618  bitField2_ = (bitField2_ & ~0x00000004);
15619  expandAutomatonConstraints_ = true;
15620  onChanged();
15621  return this;
15622  }
15623 
15624  private boolean expandTableConstraints_ = true;
15634  @java.lang.Override
15635  public boolean hasExpandTableConstraints() {
15636  return ((bitField2_ & 0x00000008) != 0);
15637  }
15647  @java.lang.Override
15648  public boolean getExpandTableConstraints() {
15649  return expandTableConstraints_;
15650  }
15661  public Builder setExpandTableConstraints(boolean value) {
15662  bitField2_ |= 0x00000008;
15663  expandTableConstraints_ = value;
15664  onChanged();
15665  return this;
15666  }
15677  bitField2_ = (bitField2_ & ~0x00000008);
15678  expandTableConstraints_ = true;
15679  onChanged();
15680  return this;
15681  }
15682 
15683  private boolean expandAlldiffConstraints_ ;
15693  @java.lang.Override
15694  public boolean hasExpandAlldiffConstraints() {
15695  return ((bitField2_ & 0x00000010) != 0);
15696  }
15706  @java.lang.Override
15707  public boolean getExpandAlldiffConstraints() {
15708  return expandAlldiffConstraints_;
15709  }
15720  public Builder setExpandAlldiffConstraints(boolean value) {
15721  bitField2_ |= 0x00000010;
15722  expandAlldiffConstraints_ = value;
15723  onChanged();
15724  return this;
15725  }
15736  bitField2_ = (bitField2_ & ~0x00000010);
15737  expandAlldiffConstraints_ = false;
15738  onChanged();
15739  return this;
15740  }
15741 
15742  private double mergeNoOverlapWorkLimit_ = 1000000000000D;
15755  @java.lang.Override
15756  public boolean hasMergeNoOverlapWorkLimit() {
15757  return ((bitField2_ & 0x00000020) != 0);
15758  }
15771  @java.lang.Override
15772  public double getMergeNoOverlapWorkLimit() {
15773  return mergeNoOverlapWorkLimit_;
15774  }
15788  public Builder setMergeNoOverlapWorkLimit(double value) {
15789  bitField2_ |= 0x00000020;
15790  mergeNoOverlapWorkLimit_ = value;
15791  onChanged();
15792  return this;
15793  }
15807  bitField2_ = (bitField2_ & ~0x00000020);
15808  mergeNoOverlapWorkLimit_ = 1000000000000D;
15809  onChanged();
15810  return this;
15811  }
15812 
15813  private double mergeAtMostOneWorkLimit_ = 100000000D;
15818  @java.lang.Override
15819  public boolean hasMergeAtMostOneWorkLimit() {
15820  return ((bitField2_ & 0x00000040) != 0);
15821  }
15826  @java.lang.Override
15827  public double getMergeAtMostOneWorkLimit() {
15828  return mergeAtMostOneWorkLimit_;
15829  }
15835  public Builder setMergeAtMostOneWorkLimit(double value) {
15836  bitField2_ |= 0x00000040;
15837  mergeAtMostOneWorkLimit_ = value;
15838  onChanged();
15839  return this;
15840  }
15846  bitField2_ = (bitField2_ & ~0x00000040);
15847  mergeAtMostOneWorkLimit_ = 100000000D;
15848  onChanged();
15849  return this;
15850  }
15851 
15852  private int presolveSubstitutionLevel_ = 1;
15864  @java.lang.Override
15865  public boolean hasPresolveSubstitutionLevel() {
15866  return ((bitField2_ & 0x00000080) != 0);
15867  }
15879  @java.lang.Override
15881  return presolveSubstitutionLevel_;
15882  }
15896  bitField2_ |= 0x00000080;
15897  presolveSubstitutionLevel_ = value;
15898  onChanged();
15899  return this;
15900  }
15913  bitField2_ = (bitField2_ & ~0x00000080);
15914  presolveSubstitutionLevel_ = 1;
15915  onChanged();
15916  return this;
15917  }
15918 
15919  private boolean presolveExtractIntegerEnforcement_ ;
15933  @java.lang.Override
15935  return ((bitField2_ & 0x00000100) != 0);
15936  }
15950  @java.lang.Override
15952  return presolveExtractIntegerEnforcement_;
15953  }
15969  bitField2_ |= 0x00000100;
15970  presolveExtractIntegerEnforcement_ = value;
15971  onChanged();
15972  return this;
15973  }
15988  bitField2_ = (bitField2_ & ~0x00000100);
15989  presolveExtractIntegerEnforcement_ = false;
15990  onChanged();
15991  return this;
15992  }
15993 
15994  private boolean useOptimizationHints_ = true;
16006  @java.lang.Override
16007  public boolean hasUseOptimizationHints() {
16008  return ((bitField2_ & 0x00000200) != 0);
16009  }
16021  @java.lang.Override
16022  public boolean getUseOptimizationHints() {
16023  return useOptimizationHints_;
16024  }
16037  public Builder setUseOptimizationHints(boolean value) {
16038  bitField2_ |= 0x00000200;
16039  useOptimizationHints_ = value;
16040  onChanged();
16041  return this;
16042  }
16055  bitField2_ = (bitField2_ & ~0x00000200);
16056  useOptimizationHints_ = true;
16057  onChanged();
16058  return this;
16059  }
16060 
16061  private boolean minimizeCore_ = true;
16070  @java.lang.Override
16071  public boolean hasMinimizeCore() {
16072  return ((bitField2_ & 0x00000400) != 0);
16073  }
16082  @java.lang.Override
16083  public boolean getMinimizeCore() {
16084  return minimizeCore_;
16085  }
16095  public Builder setMinimizeCore(boolean value) {
16096  bitField2_ |= 0x00000400;
16097  minimizeCore_ = value;
16098  onChanged();
16099  return this;
16100  }
16110  bitField2_ = (bitField2_ & ~0x00000400);
16111  minimizeCore_ = true;
16112  onChanged();
16113  return this;
16114  }
16115 
16116  private boolean findMultipleCores_ = true;
16126  @java.lang.Override
16127  public boolean hasFindMultipleCores() {
16128  return ((bitField2_ & 0x00000800) != 0);
16129  }
16139  @java.lang.Override
16140  public boolean getFindMultipleCores() {
16141  return findMultipleCores_;
16142  }
16153  public Builder setFindMultipleCores(boolean value) {
16154  bitField2_ |= 0x00000800;
16155  findMultipleCores_ = value;
16156  onChanged();
16157  return this;
16158  }
16169  bitField2_ = (bitField2_ & ~0x00000800);
16170  findMultipleCores_ = true;
16171  onChanged();
16172  return this;
16173  }
16174 
16175  private boolean coverOptimization_ = true;
16185  @java.lang.Override
16186  public boolean hasCoverOptimization() {
16187  return ((bitField2_ & 0x00001000) != 0);
16188  }
16198  @java.lang.Override
16199  public boolean getCoverOptimization() {
16200  return coverOptimization_;
16201  }
16212  public Builder setCoverOptimization(boolean value) {
16213  bitField2_ |= 0x00001000;
16214  coverOptimization_ = value;
16215  onChanged();
16216  return this;
16217  }
16228  bitField2_ = (bitField2_ & ~0x00001000);
16229  coverOptimization_ = true;
16230  onChanged();
16231  return this;
16232  }
16233 
16234  private int maxSatAssumptionOrder_ = 0;
16239  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
16240  return ((bitField2_ & 0x00002000) != 0);
16241  }
16246  @java.lang.Override
16248  @SuppressWarnings("deprecation")
16251  }
16258  if (value == null) {
16259  throw new NullPointerException();
16260  }
16261  bitField2_ |= 0x00002000;
16262  maxSatAssumptionOrder_ = value.getNumber();
16263  onChanged();
16264  return this;
16265  }
16271  bitField2_ = (bitField2_ & ~0x00002000);
16272  maxSatAssumptionOrder_ = 0;
16273  onChanged();
16274  return this;
16275  }
16276 
16277  private boolean maxSatReverseAssumptionOrder_ ;
16287  @java.lang.Override
16289  return ((bitField2_ & 0x00004000) != 0);
16290  }
16300  @java.lang.Override
16302  return maxSatReverseAssumptionOrder_;
16303  }
16315  bitField2_ |= 0x00004000;
16316  maxSatReverseAssumptionOrder_ = value;
16317  onChanged();
16318  return this;
16319  }
16330  bitField2_ = (bitField2_ & ~0x00004000);
16331  maxSatReverseAssumptionOrder_ = false;
16332  onChanged();
16333  return this;
16334  }
16335 
16336  private int maxSatStratification_ = 1;
16341  @java.lang.Override public boolean hasMaxSatStratification() {
16342  return ((bitField2_ & 0x00008000) != 0);
16343  }
16348  @java.lang.Override
16350  @SuppressWarnings("deprecation")
16353  }
16360  if (value == null) {
16361  throw new NullPointerException();
16362  }
16363  bitField2_ |= 0x00008000;
16364  maxSatStratification_ = value.getNumber();
16365  onChanged();
16366  return this;
16367  }
16373  bitField2_ = (bitField2_ & ~0x00008000);
16374  maxSatStratification_ = 1;
16375  onChanged();
16376  return this;
16377  }
16378 
16379  private boolean usePrecedencesInDisjunctiveConstraint_ = true;
16395  @java.lang.Override
16397  return ((bitField2_ & 0x00010000) != 0);
16398  }
16414  @java.lang.Override
16416  return usePrecedencesInDisjunctiveConstraint_;
16417  }
16435  bitField2_ |= 0x00010000;
16436  usePrecedencesInDisjunctiveConstraint_ = value;
16437  onChanged();
16438  return this;
16439  }
16456  bitField2_ = (bitField2_ & ~0x00010000);
16457  usePrecedencesInDisjunctiveConstraint_ = true;
16458  onChanged();
16459  return this;
16460  }
16461 
16462  private boolean useOverloadCheckerInCumulativeConstraint_ ;
16476  @java.lang.Override
16478  return ((bitField2_ & 0x00020000) != 0);
16479  }
16493  @java.lang.Override
16495  return useOverloadCheckerInCumulativeConstraint_;
16496  }
16512  bitField2_ |= 0x00020000;
16513  useOverloadCheckerInCumulativeConstraint_ = value;
16514  onChanged();
16515  return this;
16516  }
16531  bitField2_ = (bitField2_ & ~0x00020000);
16532  useOverloadCheckerInCumulativeConstraint_ = false;
16533  onChanged();
16534  return this;
16535  }
16536 
16537  private boolean useTimetableEdgeFindingInCumulativeConstraint_ ;
16551  @java.lang.Override
16553  return ((bitField2_ & 0x00040000) != 0);
16554  }
16568  @java.lang.Override
16570  return useTimetableEdgeFindingInCumulativeConstraint_;
16571  }
16587  bitField2_ |= 0x00040000;
16588  useTimetableEdgeFindingInCumulativeConstraint_ = value;
16589  onChanged();
16590  return this;
16591  }
16606  bitField2_ = (bitField2_ & ~0x00040000);
16607  useTimetableEdgeFindingInCumulativeConstraint_ = false;
16608  onChanged();
16609  return this;
16610  }
16611 
16612  private boolean useDisjunctiveConstraintInCumulativeConstraint_ = true;
16628  @java.lang.Override
16630  return ((bitField2_ & 0x00080000) != 0);
16631  }
16647  @java.lang.Override
16649  return useDisjunctiveConstraintInCumulativeConstraint_;
16650  }
16668  bitField2_ |= 0x00080000;
16669  useDisjunctiveConstraintInCumulativeConstraint_ = value;
16670  onChanged();
16671  return this;
16672  }
16689  bitField2_ = (bitField2_ & ~0x00080000);
16690  useDisjunctiveConstraintInCumulativeConstraint_ = true;
16691  onChanged();
16692  return this;
16693  }
16694 
16695  private int linearizationLevel_ = 1;
16707  @java.lang.Override
16708  public boolean hasLinearizationLevel() {
16709  return ((bitField2_ & 0x00100000) != 0);
16710  }
16722  @java.lang.Override
16723  public int getLinearizationLevel() {
16724  return linearizationLevel_;
16725  }
16738  public Builder setLinearizationLevel(int value) {
16739  bitField2_ |= 0x00100000;
16740  linearizationLevel_ = value;
16741  onChanged();
16742  return this;
16743  }
16756  bitField2_ = (bitField2_ & ~0x00100000);
16757  linearizationLevel_ = 1;
16758  onChanged();
16759  return this;
16760  }
16761 
16762  private int booleanEncodingLevel_ = 1;
16772  @java.lang.Override
16773  public boolean hasBooleanEncodingLevel() {
16774  return ((bitField2_ & 0x00200000) != 0);
16775  }
16785  @java.lang.Override
16787  return booleanEncodingLevel_;
16788  }
16799  public Builder setBooleanEncodingLevel(int value) {
16800  bitField2_ |= 0x00200000;
16801  booleanEncodingLevel_ = value;
16802  onChanged();
16803  return this;
16804  }
16815  bitField2_ = (bitField2_ & ~0x00200000);
16816  booleanEncodingLevel_ = 1;
16817  onChanged();
16818  return this;
16819  }
16820 
16821  private int maxNumCuts_ = 10000;
16833  @java.lang.Override
16834  public boolean hasMaxNumCuts() {
16835  return ((bitField2_ & 0x00400000) != 0);
16836  }
16848  @java.lang.Override
16849  public int getMaxNumCuts() {
16850  return maxNumCuts_;
16851  }
16864  public Builder setMaxNumCuts(int value) {
16865  bitField2_ |= 0x00400000;
16866  maxNumCuts_ = value;
16867  onChanged();
16868  return this;
16869  }
16882  bitField2_ = (bitField2_ & ~0x00400000);
16883  maxNumCuts_ = 10000;
16884  onChanged();
16885  return this;
16886  }
16887 
16888  private boolean onlyAddCutsAtLevelZero_ ;
16898  @java.lang.Override
16899  public boolean hasOnlyAddCutsAtLevelZero() {
16900  return ((bitField2_ & 0x00800000) != 0);
16901  }
16911  @java.lang.Override
16912  public boolean getOnlyAddCutsAtLevelZero() {
16913  return onlyAddCutsAtLevelZero_;
16914  }
16925  public Builder setOnlyAddCutsAtLevelZero(boolean value) {
16926  bitField2_ |= 0x00800000;
16927  onlyAddCutsAtLevelZero_ = value;
16928  onChanged();
16929  return this;
16930  }
16941  bitField2_ = (bitField2_ & ~0x00800000);
16942  onlyAddCutsAtLevelZero_ = false;
16943  onChanged();
16944  return this;
16945  }
16946 
16947  private boolean addKnapsackCuts_ ;
16958  @java.lang.Override
16959  public boolean hasAddKnapsackCuts() {
16960  return ((bitField2_ & 0x01000000) != 0);
16961  }
16972  @java.lang.Override
16973  public boolean getAddKnapsackCuts() {
16974  return addKnapsackCuts_;
16975  }
16987  public Builder setAddKnapsackCuts(boolean value) {
16988  bitField2_ |= 0x01000000;
16989  addKnapsackCuts_ = value;
16990  onChanged();
16991  return this;
16992  }
17004  bitField2_ = (bitField2_ & ~0x01000000);
17005  addKnapsackCuts_ = false;
17006  onChanged();
17007  return this;
17008  }
17009 
17010  private boolean addCgCuts_ = true;
17020  @java.lang.Override
17021  public boolean hasAddCgCuts() {
17022  return ((bitField2_ & 0x02000000) != 0);
17023  }
17033  @java.lang.Override
17034  public boolean getAddCgCuts() {
17035  return addCgCuts_;
17036  }
17047  public Builder setAddCgCuts(boolean value) {
17048  bitField2_ |= 0x02000000;
17049  addCgCuts_ = value;
17050  onChanged();
17051  return this;
17052  }
17063  bitField2_ = (bitField2_ & ~0x02000000);
17064  addCgCuts_ = true;
17065  onChanged();
17066  return this;
17067  }
17068 
17069  private boolean addMirCuts_ = true;
17079  @java.lang.Override
17080  public boolean hasAddMirCuts() {
17081  return ((bitField2_ & 0x04000000) != 0);
17082  }
17092  @java.lang.Override
17093  public boolean getAddMirCuts() {
17094  return addMirCuts_;
17095  }
17106  public Builder setAddMirCuts(boolean value) {
17107  bitField2_ |= 0x04000000;
17108  addMirCuts_ = value;
17109  onChanged();
17110  return this;
17111  }
17122  bitField2_ = (bitField2_ & ~0x04000000);
17123  addMirCuts_ = true;
17124  onChanged();
17125  return this;
17126  }
17127 
17128  private boolean addZeroHalfCuts_ = true;
17138  @java.lang.Override
17139  public boolean hasAddZeroHalfCuts() {
17140  return ((bitField2_ & 0x08000000) != 0);
17141  }
17151  @java.lang.Override
17152  public boolean getAddZeroHalfCuts() {
17153  return addZeroHalfCuts_;
17154  }
17165  public Builder setAddZeroHalfCuts(boolean value) {
17166  bitField2_ |= 0x08000000;
17167  addZeroHalfCuts_ = value;
17168  onChanged();
17169  return this;
17170  }
17181  bitField2_ = (bitField2_ & ~0x08000000);
17182  addZeroHalfCuts_ = true;
17183  onChanged();
17184  return this;
17185  }
17186 
17187  private boolean addCliqueCuts_ = true;
17198  @java.lang.Override
17199  public boolean hasAddCliqueCuts() {
17200  return ((bitField2_ & 0x10000000) != 0);
17201  }
17212  @java.lang.Override
17213  public boolean getAddCliqueCuts() {
17214  return addCliqueCuts_;
17215  }
17227  public Builder setAddCliqueCuts(boolean value) {
17228  bitField2_ |= 0x10000000;
17229  addCliqueCuts_ = value;
17230  onChanged();
17231  return this;
17232  }
17244  bitField2_ = (bitField2_ & ~0x10000000);
17245  addCliqueCuts_ = true;
17246  onChanged();
17247  return this;
17248  }
17249 
17250  private int maxAllDiffCutSize_ = 7;
17261  @java.lang.Override
17262  public boolean hasMaxAllDiffCutSize() {
17263  return ((bitField2_ & 0x20000000) != 0);
17264  }
17275  @java.lang.Override
17276  public int getMaxAllDiffCutSize() {
17277  return maxAllDiffCutSize_;
17278  }
17290  public Builder setMaxAllDiffCutSize(int value) {
17291  bitField2_ |= 0x20000000;
17292  maxAllDiffCutSize_ = value;
17293  onChanged();
17294  return this;
17295  }
17307  bitField2_ = (bitField2_ & ~0x20000000);
17308  maxAllDiffCutSize_ = 7;
17309  onChanged();
17310  return this;
17311  }
17312 
17313  private boolean addLinMaxCuts_ = true;
17324  @java.lang.Override
17325  public boolean hasAddLinMaxCuts() {
17326  return ((bitField2_ & 0x40000000) != 0);
17327  }
17338  @java.lang.Override
17339  public boolean getAddLinMaxCuts() {
17340  return addLinMaxCuts_;
17341  }
17353  public Builder setAddLinMaxCuts(boolean value) {
17354  bitField2_ |= 0x40000000;
17355  addLinMaxCuts_ = value;
17356  onChanged();
17357  return this;
17358  }
17370  bitField2_ = (bitField2_ & ~0x40000000);
17371  addLinMaxCuts_ = true;
17372  onChanged();
17373  return this;
17374  }
17375 
17376  private int maxIntegerRoundingScaling_ = 600;
17391  @java.lang.Override
17392  public boolean hasMaxIntegerRoundingScaling() {
17393  return ((bitField2_ & 0x80000000) != 0);
17394  }
17409  @java.lang.Override
17411  return maxIntegerRoundingScaling_;
17412  }
17429  bitField2_ |= 0x80000000;
17430  maxIntegerRoundingScaling_ = value;
17431  onChanged();
17432  return this;
17433  }
17449  bitField2_ = (bitField2_ & ~0x80000000);
17450  maxIntegerRoundingScaling_ = 600;
17451  onChanged();
17452  return this;
17453  }
17454 
17455  private boolean addLpConstraintsLazily_ = true;
17467  @java.lang.Override
17468  public boolean hasAddLpConstraintsLazily() {
17469  return ((bitField3_ & 0x00000001) != 0);
17470  }
17482  @java.lang.Override
17483  public boolean getAddLpConstraintsLazily() {
17484  return addLpConstraintsLazily_;
17485  }
17498  public Builder setAddLpConstraintsLazily(boolean value) {
17499  bitField3_ |= 0x00000001;
17500  addLpConstraintsLazily_ = value;
17501  onChanged();
17502  return this;
17503  }
17516  bitField3_ = (bitField3_ & ~0x00000001);
17517  addLpConstraintsLazily_ = true;
17518  onChanged();
17519  return this;
17520  }
17521 
17522  private double minOrthogonalityForLpConstraints_ = 0.05D;
17535  @java.lang.Override
17537  return ((bitField3_ & 0x00000002) != 0);
17538  }
17551  @java.lang.Override
17553  return minOrthogonalityForLpConstraints_;
17554  }
17569  bitField3_ |= 0x00000002;
17570  minOrthogonalityForLpConstraints_ = value;
17571  onChanged();
17572  return this;
17573  }
17587  bitField3_ = (bitField3_ & ~0x00000002);
17588  minOrthogonalityForLpConstraints_ = 0.05D;
17589  onChanged();
17590  return this;
17591  }
17592 
17593  private int maxCutRoundsAtLevelZero_ = 1;
17602  @java.lang.Override
17603  public boolean hasMaxCutRoundsAtLevelZero() {
17604  return ((bitField3_ & 0x00000004) != 0);
17605  }
17614  @java.lang.Override
17616  return maxCutRoundsAtLevelZero_;
17617  }
17628  bitField3_ |= 0x00000004;
17629  maxCutRoundsAtLevelZero_ = value;
17630  onChanged();
17631  return this;
17632  }
17642  bitField3_ = (bitField3_ & ~0x00000004);
17643  maxCutRoundsAtLevelZero_ = 1;
17644  onChanged();
17645  return this;
17646  }
17647 
17648  private int maxConsecutiveInactiveCount_ = 100;
17659  @java.lang.Override
17661  return ((bitField3_ & 0x00000008) != 0);
17662  }
17673  @java.lang.Override
17675  return maxConsecutiveInactiveCount_;
17676  }
17689  bitField3_ |= 0x00000008;
17690  maxConsecutiveInactiveCount_ = value;
17691  onChanged();
17692  return this;
17693  }
17705  bitField3_ = (bitField3_ & ~0x00000008);
17706  maxConsecutiveInactiveCount_ = 100;
17707  onChanged();
17708  return this;
17709  }
17710 
17711  private double cutMaxActiveCountValue_ = 10000000000D;
17722  @java.lang.Override
17723  public boolean hasCutMaxActiveCountValue() {
17724  return ((bitField3_ & 0x00000010) != 0);
17725  }
17736  @java.lang.Override
17737  public double getCutMaxActiveCountValue() {
17738  return cutMaxActiveCountValue_;
17739  }
17751  public Builder setCutMaxActiveCountValue(double value) {
17752  bitField3_ |= 0x00000010;
17753  cutMaxActiveCountValue_ = value;
17754  onChanged();
17755  return this;
17756  }
17768  bitField3_ = (bitField3_ & ~0x00000010);
17769  cutMaxActiveCountValue_ = 10000000000D;
17770  onChanged();
17771  return this;
17772  }
17773 
17774  private double cutActiveCountDecay_ = 0.8D;
17779  @java.lang.Override
17780  public boolean hasCutActiveCountDecay() {
17781  return ((bitField3_ & 0x00000020) != 0);
17782  }
17787  @java.lang.Override
17788  public double getCutActiveCountDecay() {
17789  return cutActiveCountDecay_;
17790  }
17796  public Builder setCutActiveCountDecay(double value) {
17797  bitField3_ |= 0x00000020;
17798  cutActiveCountDecay_ = value;
17799  onChanged();
17800  return this;
17801  }
17807  bitField3_ = (bitField3_ & ~0x00000020);
17808  cutActiveCountDecay_ = 0.8D;
17809  onChanged();
17810  return this;
17811  }
17812 
17813  private int cutCleanupTarget_ = 1000;
17822  @java.lang.Override
17823  public boolean hasCutCleanupTarget() {
17824  return ((bitField3_ & 0x00000040) != 0);
17825  }
17834  @java.lang.Override
17835  public int getCutCleanupTarget() {
17836  return cutCleanupTarget_;
17837  }
17847  public Builder setCutCleanupTarget(int value) {
17848  bitField3_ |= 0x00000040;
17849  cutCleanupTarget_ = value;
17850  onChanged();
17851  return this;
17852  }
17862  bitField3_ = (bitField3_ & ~0x00000040);
17863  cutCleanupTarget_ = 1000;
17864  onChanged();
17865  return this;
17866  }
17867 
17868  private int newConstraintsBatchSize_ = 50;
17878  @java.lang.Override
17879  public boolean hasNewConstraintsBatchSize() {
17880  return ((bitField3_ & 0x00000080) != 0);
17881  }
17891  @java.lang.Override
17893  return newConstraintsBatchSize_;
17894  }
17906  bitField3_ |= 0x00000080;
17907  newConstraintsBatchSize_ = value;
17908  onChanged();
17909  return this;
17910  }
17921  bitField3_ = (bitField3_ & ~0x00000080);
17922  newConstraintsBatchSize_ = 50;
17923  onChanged();
17924  return this;
17925  }
17926 
17927  private int searchBranching_ = 0;
17932  @java.lang.Override public boolean hasSearchBranching() {
17933  return ((bitField3_ & 0x00000100) != 0);
17934  }
17939  @java.lang.Override
17941  @SuppressWarnings("deprecation")
17943  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
17944  }
17951  if (value == null) {
17952  throw new NullPointerException();
17953  }
17954  bitField3_ |= 0x00000100;
17955  searchBranching_ = value.getNumber();
17956  onChanged();
17957  return this;
17958  }
17964  bitField3_ = (bitField3_ & ~0x00000100);
17965  searchBranching_ = 0;
17966  onChanged();
17967  return this;
17968  }
17969 
17970  private int hintConflictLimit_ = 10;
17979  @java.lang.Override
17980  public boolean hasHintConflictLimit() {
17981  return ((bitField3_ & 0x00000200) != 0);
17982  }
17991  @java.lang.Override
17992  public int getHintConflictLimit() {
17993  return hintConflictLimit_;
17994  }
18004  public Builder setHintConflictLimit(int value) {
18005  bitField3_ |= 0x00000200;
18006  hintConflictLimit_ = value;
18007  onChanged();
18008  return this;
18009  }
18019  bitField3_ = (bitField3_ & ~0x00000200);
18020  hintConflictLimit_ = 10;
18021  onChanged();
18022  return this;
18023  }
18024 
18025  private boolean repairHint_ ;
18037  @java.lang.Override
18038  public boolean hasRepairHint() {
18039  return ((bitField3_ & 0x00000400) != 0);
18040  }
18052  @java.lang.Override
18053  public boolean getRepairHint() {
18054  return repairHint_;
18055  }
18068  public Builder setRepairHint(boolean value) {
18069  bitField3_ |= 0x00000400;
18070  repairHint_ = value;
18071  onChanged();
18072  return this;
18073  }
18086  bitField3_ = (bitField3_ & ~0x00000400);
18087  repairHint_ = false;
18088  onChanged();
18089  return this;
18090  }
18091 
18092  private boolean exploitIntegerLpSolution_ = true;
18104  @java.lang.Override
18105  public boolean hasExploitIntegerLpSolution() {
18106  return ((bitField3_ & 0x00000800) != 0);
18107  }
18119  @java.lang.Override
18120  public boolean getExploitIntegerLpSolution() {
18121  return exploitIntegerLpSolution_;
18122  }
18135  public Builder setExploitIntegerLpSolution(boolean value) {
18136  bitField3_ |= 0x00000800;
18137  exploitIntegerLpSolution_ = value;
18138  onChanged();
18139  return this;
18140  }
18153  bitField3_ = (bitField3_ & ~0x00000800);
18154  exploitIntegerLpSolution_ = true;
18155  onChanged();
18156  return this;
18157  }
18158 
18159  private boolean exploitAllLpSolution_ = true;
18170  @java.lang.Override
18171  public boolean hasExploitAllLpSolution() {
18172  return ((bitField3_ & 0x00001000) != 0);
18173  }
18184  @java.lang.Override
18185  public boolean getExploitAllLpSolution() {
18186  return exploitAllLpSolution_;
18187  }
18199  public Builder setExploitAllLpSolution(boolean value) {
18200  bitField3_ |= 0x00001000;
18201  exploitAllLpSolution_ = value;
18202  onChanged();
18203  return this;
18204  }
18216  bitField3_ = (bitField3_ & ~0x00001000);
18217  exploitAllLpSolution_ = true;
18218  onChanged();
18219  return this;
18220  }
18221 
18222  private boolean exploitBestSolution_ ;
18231  @java.lang.Override
18232  public boolean hasExploitBestSolution() {
18233  return ((bitField3_ & 0x00002000) != 0);
18234  }
18243  @java.lang.Override
18244  public boolean getExploitBestSolution() {
18245  return exploitBestSolution_;
18246  }
18256  public Builder setExploitBestSolution(boolean value) {
18257  bitField3_ |= 0x00002000;
18258  exploitBestSolution_ = value;
18259  onChanged();
18260  return this;
18261  }
18271  bitField3_ = (bitField3_ & ~0x00002000);
18272  exploitBestSolution_ = false;
18273  onChanged();
18274  return this;
18275  }
18276 
18277  private boolean exploitRelaxationSolution_ ;
18288  @java.lang.Override
18289  public boolean hasExploitRelaxationSolution() {
18290  return ((bitField3_ & 0x00004000) != 0);
18291  }
18302  @java.lang.Override
18303  public boolean getExploitRelaxationSolution() {
18304  return exploitRelaxationSolution_;
18305  }
18317  public Builder setExploitRelaxationSolution(boolean value) {
18318  bitField3_ |= 0x00004000;
18319  exploitRelaxationSolution_ = value;
18320  onChanged();
18321  return this;
18322  }
18334  bitField3_ = (bitField3_ & ~0x00004000);
18335  exploitRelaxationSolution_ = false;
18336  onChanged();
18337  return this;
18338  }
18339 
18340  private boolean exploitObjective_ = true;
18350  @java.lang.Override
18351  public boolean hasExploitObjective() {
18352  return ((bitField3_ & 0x00008000) != 0);
18353  }
18363  @java.lang.Override
18364  public boolean getExploitObjective() {
18365  return exploitObjective_;
18366  }
18377  public Builder setExploitObjective(boolean value) {
18378  bitField3_ |= 0x00008000;
18379  exploitObjective_ = value;
18380  onChanged();
18381  return this;
18382  }
18393  bitField3_ = (bitField3_ & ~0x00008000);
18394  exploitObjective_ = true;
18395  onChanged();
18396  return this;
18397  }
18398 
18399  private long probingPeriodAtRoot_ ;
18410  @java.lang.Override
18411  public boolean hasProbingPeriodAtRoot() {
18412  return ((bitField3_ & 0x00010000) != 0);
18413  }
18424  @java.lang.Override
18425  public long getProbingPeriodAtRoot() {
18426  return probingPeriodAtRoot_;
18427  }
18439  public Builder setProbingPeriodAtRoot(long value) {
18440  bitField3_ |= 0x00010000;
18441  probingPeriodAtRoot_ = value;
18442  onChanged();
18443  return this;
18444  }
18456  bitField3_ = (bitField3_ & ~0x00010000);
18457  probingPeriodAtRoot_ = 0L;
18458  onChanged();
18459  return this;
18460  }
18461 
18462  private boolean useProbingSearch_ ;
18472  @java.lang.Override
18473  public boolean hasUseProbingSearch() {
18474  return ((bitField3_ & 0x00020000) != 0);
18475  }
18485  @java.lang.Override
18486  public boolean getUseProbingSearch() {
18487  return useProbingSearch_;
18488  }
18499  public Builder setUseProbingSearch(boolean value) {
18500  bitField3_ |= 0x00020000;
18501  useProbingSearch_ = value;
18502  onChanged();
18503  return this;
18504  }
18515  bitField3_ = (bitField3_ & ~0x00020000);
18516  useProbingSearch_ = false;
18517  onChanged();
18518  return this;
18519  }
18520 
18521  private long pseudoCostReliabilityThreshold_ = 100L;
18531  @java.lang.Override
18533  return ((bitField3_ & 0x00040000) != 0);
18534  }
18544  @java.lang.Override
18546  return pseudoCostReliabilityThreshold_;
18547  }
18559  bitField3_ |= 0x00040000;
18560  pseudoCostReliabilityThreshold_ = value;
18561  onChanged();
18562  return this;
18563  }
18574  bitField3_ = (bitField3_ & ~0x00040000);
18575  pseudoCostReliabilityThreshold_ = 100L;
18576  onChanged();
18577  return this;
18578  }
18579 
18580  private boolean optimizeWithCore_ ;
18592  @java.lang.Override
18593  public boolean hasOptimizeWithCore() {
18594  return ((bitField3_ & 0x00080000) != 0);
18595  }
18607  @java.lang.Override
18608  public boolean getOptimizeWithCore() {
18609  return optimizeWithCore_;
18610  }
18623  public Builder setOptimizeWithCore(boolean value) {
18624  bitField3_ |= 0x00080000;
18625  optimizeWithCore_ = value;
18626  onChanged();
18627  return this;
18628  }
18641  bitField3_ = (bitField3_ & ~0x00080000);
18642  optimizeWithCore_ = false;
18643  onChanged();
18644  return this;
18645  }
18646 
18647  private int binarySearchNumConflicts_ = -1;
18659  @java.lang.Override
18660  public boolean hasBinarySearchNumConflicts() {
18661  return ((bitField3_ & 0x00100000) != 0);
18662  }
18674  @java.lang.Override
18676  return binarySearchNumConflicts_;
18677  }
18691  bitField3_ |= 0x00100000;
18692  binarySearchNumConflicts_ = value;
18693  onChanged();
18694  return this;
18695  }
18708  bitField3_ = (bitField3_ & ~0x00100000);
18709  binarySearchNumConflicts_ = -1;
18710  onChanged();
18711  return this;
18712  }
18713 
18714  private boolean optimizeWithMaxHs_ ;
18728  @java.lang.Override
18729  public boolean hasOptimizeWithMaxHs() {
18730  return ((bitField3_ & 0x00200000) != 0);
18731  }
18745  @java.lang.Override
18746  public boolean getOptimizeWithMaxHs() {
18747  return optimizeWithMaxHs_;
18748  }
18763  public Builder setOptimizeWithMaxHs(boolean value) {
18764  bitField3_ |= 0x00200000;
18765  optimizeWithMaxHs_ = value;
18766  onChanged();
18767  return this;
18768  }
18783  bitField3_ = (bitField3_ & ~0x00200000);
18784  optimizeWithMaxHs_ = false;
18785  onChanged();
18786  return this;
18787  }
18788 
18789  private boolean enumerateAllSolutions_ ;
18803  @java.lang.Override
18804  public boolean hasEnumerateAllSolutions() {
18805  return ((bitField3_ & 0x00400000) != 0);
18806  }
18820  @java.lang.Override
18821  public boolean getEnumerateAllSolutions() {
18822  return enumerateAllSolutions_;
18823  }
18838  public Builder setEnumerateAllSolutions(boolean value) {
18839  bitField3_ |= 0x00400000;
18840  enumerateAllSolutions_ = value;
18841  onChanged();
18842  return this;
18843  }
18858  bitField3_ = (bitField3_ & ~0x00400000);
18859  enumerateAllSolutions_ = false;
18860  onChanged();
18861  return this;
18862  }
18863 
18864  private boolean keepAllFeasibleSolutionsInPresolve_ ;
18879  @java.lang.Override
18881  return ((bitField3_ & 0x00800000) != 0);
18882  }
18897  @java.lang.Override
18899  return keepAllFeasibleSolutionsInPresolve_;
18900  }
18917  bitField3_ |= 0x00800000;
18918  keepAllFeasibleSolutionsInPresolve_ = value;
18919  onChanged();
18920  return this;
18921  }
18937  bitField3_ = (bitField3_ & ~0x00800000);
18938  keepAllFeasibleSolutionsInPresolve_ = false;
18939  onChanged();
18940  return this;
18941  }
18942 
18943  private boolean fillTightenedDomainsInResponse_ ;
18956  @java.lang.Override
18958  return ((bitField3_ & 0x01000000) != 0);
18959  }
18972  @java.lang.Override
18974  return fillTightenedDomainsInResponse_;
18975  }
18990  bitField3_ |= 0x01000000;
18991  fillTightenedDomainsInResponse_ = value;
18992  onChanged();
18993  return this;
18994  }
19008  bitField3_ = (bitField3_ & ~0x01000000);
19009  fillTightenedDomainsInResponse_ = false;
19010  onChanged();
19011  return this;
19012  }
19013 
19014  private boolean instantiateAllVariables_ = true;
19024  @java.lang.Override
19025  public boolean hasInstantiateAllVariables() {
19026  return ((bitField3_ & 0x02000000) != 0);
19027  }
19037  @java.lang.Override
19038  public boolean getInstantiateAllVariables() {
19039  return instantiateAllVariables_;
19040  }
19051  public Builder setInstantiateAllVariables(boolean value) {
19052  bitField3_ |= 0x02000000;
19053  instantiateAllVariables_ = value;
19054  onChanged();
19055  return this;
19056  }
19067  bitField3_ = (bitField3_ & ~0x02000000);
19068  instantiateAllVariables_ = true;
19069  onChanged();
19070  return this;
19071  }
19072 
19073  private boolean autoDetectGreaterThanAtLeastOneOf_ = true;
19085  @java.lang.Override
19087  return ((bitField3_ & 0x04000000) != 0);
19088  }
19100  @java.lang.Override
19102  return autoDetectGreaterThanAtLeastOneOf_;
19103  }
19117  bitField3_ |= 0x04000000;
19118  autoDetectGreaterThanAtLeastOneOf_ = value;
19119  onChanged();
19120  return this;
19121  }
19134  bitField3_ = (bitField3_ & ~0x04000000);
19135  autoDetectGreaterThanAtLeastOneOf_ = true;
19136  onChanged();
19137  return this;
19138  }
19139 
19140  private boolean stopAfterFirstSolution_ ;
19149  @java.lang.Override
19150  public boolean hasStopAfterFirstSolution() {
19151  return ((bitField3_ & 0x08000000) != 0);
19152  }
19161  @java.lang.Override
19162  public boolean getStopAfterFirstSolution() {
19163  return stopAfterFirstSolution_;
19164  }
19174  public Builder setStopAfterFirstSolution(boolean value) {
19175  bitField3_ |= 0x08000000;
19176  stopAfterFirstSolution_ = value;
19177  onChanged();
19178  return this;
19179  }
19189  bitField3_ = (bitField3_ & ~0x08000000);
19190  stopAfterFirstSolution_ = false;
19191  onChanged();
19192  return this;
19193  }
19194 
19195  private boolean stopAfterPresolve_ ;
19205  @java.lang.Override
19206  public boolean hasStopAfterPresolve() {
19207  return ((bitField3_ & 0x10000000) != 0);
19208  }
19218  @java.lang.Override
19219  public boolean getStopAfterPresolve() {
19220  return stopAfterPresolve_;
19221  }
19232  public Builder setStopAfterPresolve(boolean value) {
19233  bitField3_ |= 0x10000000;
19234  stopAfterPresolve_ = value;
19235  onChanged();
19236  return this;
19237  }
19248  bitField3_ = (bitField3_ & ~0x10000000);
19249  stopAfterPresolve_ = false;
19250  onChanged();
19251  return this;
19252  }
19253 
19254  private int numSearchWorkers_ = 1;
19268  @java.lang.Override
19269  public boolean hasNumSearchWorkers() {
19270  return ((bitField3_ & 0x20000000) != 0);
19271  }
19285  @java.lang.Override
19286  public int getNumSearchWorkers() {
19287  return numSearchWorkers_;
19288  }
19303  public Builder setNumSearchWorkers(int value) {
19304  bitField3_ |= 0x20000000;
19305  numSearchWorkers_ = value;
19306  onChanged();
19307  return this;
19308  }
19323  bitField3_ = (bitField3_ & ~0x20000000);
19324  numSearchWorkers_ = 1;
19325  onChanged();
19326  return this;
19327  }
19328 
19329  private boolean interleaveSearch_ ;
19342  @java.lang.Override
19343  public boolean hasInterleaveSearch() {
19344  return ((bitField3_ & 0x40000000) != 0);
19345  }
19358  @java.lang.Override
19359  public boolean getInterleaveSearch() {
19360  return interleaveSearch_;
19361  }
19375  public Builder setInterleaveSearch(boolean value) {
19376  bitField3_ |= 0x40000000;
19377  interleaveSearch_ = value;
19378  onChanged();
19379  return this;
19380  }
19394  bitField3_ = (bitField3_ & ~0x40000000);
19395  interleaveSearch_ = false;
19396  onChanged();
19397  return this;
19398  }
19399 
19400  private int interleaveBatchSize_ = 1;
19405  @java.lang.Override
19406  public boolean hasInterleaveBatchSize() {
19407  return ((bitField3_ & 0x80000000) != 0);
19408  }
19413  @java.lang.Override
19414  public int getInterleaveBatchSize() {
19415  return interleaveBatchSize_;
19416  }
19422  public Builder setInterleaveBatchSize(int value) {
19423  bitField3_ |= 0x80000000;
19424  interleaveBatchSize_ = value;
19425  onChanged();
19426  return this;
19427  }
19433  bitField3_ = (bitField3_ & ~0x80000000);
19434  interleaveBatchSize_ = 1;
19435  onChanged();
19436  return this;
19437  }
19438 
19439  private boolean reduceMemoryUsageInInterleaveMode_ ;
19448  @java.lang.Override
19450  return ((bitField4_ & 0x00000001) != 0);
19451  }
19460  @java.lang.Override
19462  return reduceMemoryUsageInInterleaveMode_;
19463  }
19474  bitField4_ |= 0x00000001;
19475  reduceMemoryUsageInInterleaveMode_ = value;
19476  onChanged();
19477  return this;
19478  }
19488  bitField4_ = (bitField4_ & ~0x00000001);
19489  reduceMemoryUsageInInterleaveMode_ = false;
19490  onChanged();
19491  return this;
19492  }
19493 
19494  private boolean shareObjectiveBounds_ = true;
19503  @java.lang.Override
19504  public boolean hasShareObjectiveBounds() {
19505  return ((bitField4_ & 0x00000002) != 0);
19506  }
19515  @java.lang.Override
19516  public boolean getShareObjectiveBounds() {
19517  return shareObjectiveBounds_;
19518  }
19528  public Builder setShareObjectiveBounds(boolean value) {
19529  bitField4_ |= 0x00000002;
19530  shareObjectiveBounds_ = value;
19531  onChanged();
19532  return this;
19533  }
19543  bitField4_ = (bitField4_ & ~0x00000002);
19544  shareObjectiveBounds_ = true;
19545  onChanged();
19546  return this;
19547  }
19548 
19549  private boolean shareLevelZeroBounds_ = true;
19558  @java.lang.Override
19559  public boolean hasShareLevelZeroBounds() {
19560  return ((bitField4_ & 0x00000004) != 0);
19561  }
19570  @java.lang.Override
19571  public boolean getShareLevelZeroBounds() {
19572  return shareLevelZeroBounds_;
19573  }
19583  public Builder setShareLevelZeroBounds(boolean value) {
19584  bitField4_ |= 0x00000004;
19585  shareLevelZeroBounds_ = value;
19586  onChanged();
19587  return this;
19588  }
19598  bitField4_ = (bitField4_ & ~0x00000004);
19599  shareLevelZeroBounds_ = true;
19600  onChanged();
19601  return this;
19602  }
19603 
19604  private boolean useLnsOnly_ ;
19613  @java.lang.Override
19614  public boolean hasUseLnsOnly() {
19615  return ((bitField4_ & 0x00000008) != 0);
19616  }
19625  @java.lang.Override
19626  public boolean getUseLnsOnly() {
19627  return useLnsOnly_;
19628  }
19638  public Builder setUseLnsOnly(boolean value) {
19639  bitField4_ |= 0x00000008;
19640  useLnsOnly_ = value;
19641  onChanged();
19642  return this;
19643  }
19653  bitField4_ = (bitField4_ & ~0x00000008);
19654  useLnsOnly_ = false;
19655  onChanged();
19656  return this;
19657  }
19658 
19659  private boolean lnsFocusOnDecisionVariables_ ;
19664  @java.lang.Override
19666  return ((bitField4_ & 0x00000010) != 0);
19667  }
19672  @java.lang.Override
19674  return lnsFocusOnDecisionVariables_;
19675  }
19681  public Builder setLnsFocusOnDecisionVariables(boolean value) {
19682  bitField4_ |= 0x00000010;
19683  lnsFocusOnDecisionVariables_ = value;
19684  onChanged();
19685  return this;
19686  }
19692  bitField4_ = (bitField4_ & ~0x00000010);
19693  lnsFocusOnDecisionVariables_ = false;
19694  onChanged();
19695  return this;
19696  }
19697 
19698  private boolean useRinsLns_ = true;
19707  @java.lang.Override
19708  public boolean hasUseRinsLns() {
19709  return ((bitField4_ & 0x00000020) != 0);
19710  }
19719  @java.lang.Override
19720  public boolean getUseRinsLns() {
19721  return useRinsLns_;
19722  }
19732  public Builder setUseRinsLns(boolean value) {
19733  bitField4_ |= 0x00000020;
19734  useRinsLns_ = value;
19735  onChanged();
19736  return this;
19737  }
19747  bitField4_ = (bitField4_ & ~0x00000020);
19748  useRinsLns_ = true;
19749  onChanged();
19750  return this;
19751  }
19752 
19753  private boolean useFeasibilityPump_ = true;
19762  @java.lang.Override
19763  public boolean hasUseFeasibilityPump() {
19764  return ((bitField4_ & 0x00000040) != 0);
19765  }
19774  @java.lang.Override
19775  public boolean getUseFeasibilityPump() {
19776  return useFeasibilityPump_;
19777  }
19787  public Builder setUseFeasibilityPump(boolean value) {
19788  bitField4_ |= 0x00000040;
19789  useFeasibilityPump_ = value;
19790  onChanged();
19791  return this;
19792  }
19802  bitField4_ = (bitField4_ & ~0x00000040);
19803  useFeasibilityPump_ = true;
19804  onChanged();
19805  return this;
19806  }
19807 
19808  private int fpRounding_ = 2;
19813  @java.lang.Override public boolean hasFpRounding() {
19814  return ((bitField4_ & 0x00000080) != 0);
19815  }
19820  @java.lang.Override
19822  @SuppressWarnings("deprecation")
19824  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
19825  }
19832  if (value == null) {
19833  throw new NullPointerException();
19834  }
19835  bitField4_ |= 0x00000080;
19836  fpRounding_ = value.getNumber();
19837  onChanged();
19838  return this;
19839  }
19845  bitField4_ = (bitField4_ & ~0x00000080);
19846  fpRounding_ = 2;
19847  onChanged();
19848  return this;
19849  }
19850 
19851  private boolean useRelaxationLns_ ;
19861  @java.lang.Override
19862  public boolean hasUseRelaxationLns() {
19863  return ((bitField4_ & 0x00000100) != 0);
19864  }
19874  @java.lang.Override
19875  public boolean getUseRelaxationLns() {
19876  return useRelaxationLns_;
19877  }
19888  public Builder setUseRelaxationLns(boolean value) {
19889  bitField4_ |= 0x00000100;
19890  useRelaxationLns_ = value;
19891  onChanged();
19892  return this;
19893  }
19904  bitField4_ = (bitField4_ & ~0x00000100);
19905  useRelaxationLns_ = false;
19906  onChanged();
19907  return this;
19908  }
19909 
19910  private boolean diversifyLnsParams_ ;
19919  @java.lang.Override
19920  public boolean hasDiversifyLnsParams() {
19921  return ((bitField4_ & 0x00000200) != 0);
19922  }
19931  @java.lang.Override
19932  public boolean getDiversifyLnsParams() {
19933  return diversifyLnsParams_;
19934  }
19944  public Builder setDiversifyLnsParams(boolean value) {
19945  bitField4_ |= 0x00000200;
19946  diversifyLnsParams_ = value;
19947  onChanged();
19948  return this;
19949  }
19959  bitField4_ = (bitField4_ & ~0x00000200);
19960  diversifyLnsParams_ = false;
19961  onChanged();
19962  return this;
19963  }
19964 
19965  private boolean randomizeSearch_ ;
19974  @java.lang.Override
19975  public boolean hasRandomizeSearch() {
19976  return ((bitField4_ & 0x00000400) != 0);
19977  }
19986  @java.lang.Override
19987  public boolean getRandomizeSearch() {
19988  return randomizeSearch_;
19989  }
19999  public Builder setRandomizeSearch(boolean value) {
20000  bitField4_ |= 0x00000400;
20001  randomizeSearch_ = value;
20002  onChanged();
20003  return this;
20004  }
20014  bitField4_ = (bitField4_ & ~0x00000400);
20015  randomizeSearch_ = false;
20016  onChanged();
20017  return this;
20018  }
20019 
20020  private long searchRandomizationTolerance_ ;
20035  @java.lang.Override
20037  return ((bitField4_ & 0x00000800) != 0);
20038  }
20053  @java.lang.Override
20055  return searchRandomizationTolerance_;
20056  }
20073  bitField4_ |= 0x00000800;
20074  searchRandomizationTolerance_ = value;
20075  onChanged();
20076  return this;
20077  }
20093  bitField4_ = (bitField4_ & ~0x00000800);
20094  searchRandomizationTolerance_ = 0L;
20095  onChanged();
20096  return this;
20097  }
20098 
20099  private boolean useOptionalVariables_ = true;
20110  @java.lang.Override
20111  public boolean hasUseOptionalVariables() {
20112  return ((bitField4_ & 0x00001000) != 0);
20113  }
20124  @java.lang.Override
20125  public boolean getUseOptionalVariables() {
20126  return useOptionalVariables_;
20127  }
20139  public Builder setUseOptionalVariables(boolean value) {
20140  bitField4_ |= 0x00001000;
20141  useOptionalVariables_ = value;
20142  onChanged();
20143  return this;
20144  }
20156  bitField4_ = (bitField4_ & ~0x00001000);
20157  useOptionalVariables_ = true;
20158  onChanged();
20159  return this;
20160  }
20161 
20162  private boolean useExactLpReason_ = true;
20174  @java.lang.Override
20175  public boolean hasUseExactLpReason() {
20176  return ((bitField4_ & 0x00002000) != 0);
20177  }
20189  @java.lang.Override
20190  public boolean getUseExactLpReason() {
20191  return useExactLpReason_;
20192  }
20205  public Builder setUseExactLpReason(boolean value) {
20206  bitField4_ |= 0x00002000;
20207  useExactLpReason_ = value;
20208  onChanged();
20209  return this;
20210  }
20223  bitField4_ = (bitField4_ & ~0x00002000);
20224  useExactLpReason_ = true;
20225  onChanged();
20226  return this;
20227  }
20228 
20229  private boolean useBranchingInLp_ ;
20240  @java.lang.Override
20241  public boolean hasUseBranchingInLp() {
20242  return ((bitField4_ & 0x00004000) != 0);
20243  }
20254  @java.lang.Override
20255  public boolean getUseBranchingInLp() {
20256  return useBranchingInLp_;
20257  }
20269  public Builder setUseBranchingInLp(boolean value) {
20270  bitField4_ |= 0x00004000;
20271  useBranchingInLp_ = value;
20272  onChanged();
20273  return this;
20274  }
20286  bitField4_ = (bitField4_ & ~0x00004000);
20287  useBranchingInLp_ = false;
20288  onChanged();
20289  return this;
20290  }
20291 
20292  private boolean useCombinedNoOverlap_ ;
20303  @java.lang.Override
20304  public boolean hasUseCombinedNoOverlap() {
20305  return ((bitField4_ & 0x00008000) != 0);
20306  }
20317  @java.lang.Override
20318  public boolean getUseCombinedNoOverlap() {
20319  return useCombinedNoOverlap_;
20320  }
20332  public Builder setUseCombinedNoOverlap(boolean value) {
20333  bitField4_ |= 0x00008000;
20334  useCombinedNoOverlap_ = value;
20335  onChanged();
20336  return this;
20337  }
20349  bitField4_ = (bitField4_ & ~0x00008000);
20350  useCombinedNoOverlap_ = false;
20351  onChanged();
20352  return this;
20353  }
20354 
20355  private boolean catchSigintSignal_ = true;
20366  @java.lang.Override
20367  public boolean hasCatchSigintSignal() {
20368  return ((bitField4_ & 0x00010000) != 0);
20369  }
20380  @java.lang.Override
20381  public boolean getCatchSigintSignal() {
20382  return catchSigintSignal_;
20383  }
20395  public Builder setCatchSigintSignal(boolean value) {
20396  bitField4_ |= 0x00010000;
20397  catchSigintSignal_ = value;
20398  onChanged();
20399  return this;
20400  }
20412  bitField4_ = (bitField4_ & ~0x00010000);
20413  catchSigintSignal_ = true;
20414  onChanged();
20415  return this;
20416  }
20417 
20418  private boolean useImpliedBounds_ = true;
20429  @java.lang.Override
20430  public boolean hasUseImpliedBounds() {
20431  return ((bitField4_ & 0x00020000) != 0);
20432  }
20443  @java.lang.Override
20444  public boolean getUseImpliedBounds() {
20445  return useImpliedBounds_;
20446  }
20458  public Builder setUseImpliedBounds(boolean value) {
20459  bitField4_ |= 0x00020000;
20460  useImpliedBounds_ = value;
20461  onChanged();
20462  return this;
20463  }
20475  bitField4_ = (bitField4_ & ~0x00020000);
20476  useImpliedBounds_ = true;
20477  onChanged();
20478  return this;
20479  }
20480 
20481  private boolean polishLpSolution_ ;
20493  @java.lang.Override
20494  public boolean hasPolishLpSolution() {
20495  return ((bitField4_ & 0x00040000) != 0);
20496  }
20508  @java.lang.Override
20509  public boolean getPolishLpSolution() {
20510  return polishLpSolution_;
20511  }
20524  public Builder setPolishLpSolution(boolean value) {
20525  bitField4_ |= 0x00040000;
20526  polishLpSolution_ = value;
20527  onChanged();
20528  return this;
20529  }
20542  bitField4_ = (bitField4_ & ~0x00040000);
20543  polishLpSolution_ = false;
20544  onChanged();
20545  return this;
20546  }
20547 
20548  private double mipMaxBound_ = 10000000D;
20559  @java.lang.Override
20560  public boolean hasMipMaxBound() {
20561  return ((bitField4_ & 0x00080000) != 0);
20562  }
20573  @java.lang.Override
20574  public double getMipMaxBound() {
20575  return mipMaxBound_;
20576  }
20588  public Builder setMipMaxBound(double value) {
20589  bitField4_ |= 0x00080000;
20590  mipMaxBound_ = value;
20591  onChanged();
20592  return this;
20593  }
20605  bitField4_ = (bitField4_ & ~0x00080000);
20606  mipMaxBound_ = 10000000D;
20607  onChanged();
20608  return this;
20609  }
20610 
20611  private double mipVarScaling_ = 1D;
20622  @java.lang.Override
20623  public boolean hasMipVarScaling() {
20624  return ((bitField4_ & 0x00100000) != 0);
20625  }
20636  @java.lang.Override
20637  public double getMipVarScaling() {
20638  return mipVarScaling_;
20639  }
20651  public Builder setMipVarScaling(double value) {
20652  bitField4_ |= 0x00100000;
20653  mipVarScaling_ = value;
20654  onChanged();
20655  return this;
20656  }
20668  bitField4_ = (bitField4_ & ~0x00100000);
20669  mipVarScaling_ = 1D;
20670  onChanged();
20671  return this;
20672  }
20673 
20674  private boolean mipAutomaticallyScaleVariables_ = true;
20687  @java.lang.Override
20689  return ((bitField4_ & 0x00200000) != 0);
20690  }
20703  @java.lang.Override
20705  return mipAutomaticallyScaleVariables_;
20706  }
20721  bitField4_ |= 0x00200000;
20722  mipAutomaticallyScaleVariables_ = value;
20723  onChanged();
20724  return this;
20725  }
20739  bitField4_ = (bitField4_ & ~0x00200000);
20740  mipAutomaticallyScaleVariables_ = true;
20741  onChanged();
20742  return this;
20743  }
20744 
20745  private double mipWantedPrecision_ = 1e-06D;
20763  @java.lang.Override
20764  public boolean hasMipWantedPrecision() {
20765  return ((bitField4_ & 0x00400000) != 0);
20766  }
20784  @java.lang.Override
20785  public double getMipWantedPrecision() {
20786  return mipWantedPrecision_;
20787  }
20806  public Builder setMipWantedPrecision(double value) {
20807  bitField4_ |= 0x00400000;
20808  mipWantedPrecision_ = value;
20809  onChanged();
20810  return this;
20811  }
20830  bitField4_ = (bitField4_ & ~0x00400000);
20831  mipWantedPrecision_ = 1e-06D;
20832  onChanged();
20833  return this;
20834  }
20835 
20836  private int mipMaxActivityExponent_ = 53;
20851  @java.lang.Override
20852  public boolean hasMipMaxActivityExponent() {
20853  return ((bitField4_ & 0x00800000) != 0);
20854  }
20869  @java.lang.Override
20871  return mipMaxActivityExponent_;
20872  }
20889  bitField4_ |= 0x00800000;
20890  mipMaxActivityExponent_ = value;
20891  onChanged();
20892  return this;
20893  }
20909  bitField4_ = (bitField4_ & ~0x00800000);
20910  mipMaxActivityExponent_ = 53;
20911  onChanged();
20912  return this;
20913  }
20914 
20915  private double mipCheckPrecision_ = 0.0001D;
20926  @java.lang.Override
20927  public boolean hasMipCheckPrecision() {
20928  return ((bitField4_ & 0x01000000) != 0);
20929  }
20940  @java.lang.Override
20941  public double getMipCheckPrecision() {
20942  return mipCheckPrecision_;
20943  }
20955  public Builder setMipCheckPrecision(double value) {
20956  bitField4_ |= 0x01000000;
20957  mipCheckPrecision_ = value;
20958  onChanged();
20959  return this;
20960  }
20972  bitField4_ = (bitField4_ & ~0x01000000);
20973  mipCheckPrecision_ = 0.0001D;
20974  onChanged();
20975  return this;
20976  }
20977  @java.lang.Override
20979  final com.google.protobuf.UnknownFieldSet unknownFields) {
20980  return super.setUnknownFields(unknownFields);
20981  }
20982 
20983  @java.lang.Override
20985  final com.google.protobuf.UnknownFieldSet unknownFields) {
20986  return super.mergeUnknownFields(unknownFields);
20987  }
20988 
20989 
20990  // @@protoc_insertion_point(builder_scope:operations_research.sat.SatParameters)
20991  }
20992 
20993  // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
20994  private static final com.google.ortools.sat.SatParameters DEFAULT_INSTANCE;
20995  static {
20996  DEFAULT_INSTANCE = new com.google.ortools.sat.SatParameters();
20997  }
20998 
21000  return DEFAULT_INSTANCE;
21001  }
21002 
21003  @java.lang.Deprecated public static final com.google.protobuf.Parser<SatParameters>
21004  PARSER = new com.google.protobuf.AbstractParser<SatParameters>() {
21005  @java.lang.Override
21006  public SatParameters parsePartialFrom(
21007  com.google.protobuf.CodedInputStream input,
21008  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
21009  throws com.google.protobuf.InvalidProtocolBufferException {
21010  return new SatParameters(input, extensionRegistry);
21011  }
21012  };
21013 
21014  public static com.google.protobuf.Parser<SatParameters> parser() {
21015  return PARSER;
21016  }
21017 
21018  @java.lang.Override
21019  public com.google.protobuf.Parser<SatParameters> getParserForType() {
21020  return PARSER;
21021  }
21022 
21023  @java.lang.Override
21025  return DEFAULT_INSTANCE;
21026  }
21027 
21028 }
21029 
static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER
static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER
static final int REDUCE_MEMORY_USAGE_IN_INTERLEAVE_MODE_FIELD_NUMBER
.lang.Override final boolean isInitialized()
.lang.Override double getRandomPolarityRatio()
Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value)
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean hasCatchSigintSignal()
static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER
.lang.Override boolean getShareObjectiveBounds()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override boolean getMinimizeReductionDuringPbResolution()
static final int USE_RINS_LNS_FIELD_NUMBER
static ClauseProtection forNumber(int value)
.lang.Override boolean getMinimizeReductionDuringPbResolution()
Builder setMaxMemoryInMb(long value)
.lang.Override boolean hasUseImpliedBounds()
.lang.Override boolean hasExploitAllLpSolution()
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean hasAddCgCuts()
java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER
Builder setCutMaxActiveCountValue(double value)
.lang.Override int getMipMaxActivityExponent()
Builder setUsePhaseSaving(boolean value)
.lang.Override boolean getRepairHint()
.lang.Override boolean getInterleaveSearch()
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
NO_BINARY_MINIMIZATION
NO_BINARY_MINIMIZATION = 0;
.lang.Override int getPresolveBveClauseWeight()
Builder clearExpandAutomatonConstraints()
static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER
Builder clearMinOrthogonalityForLpConstraints()
.lang.Override boolean getUseLnsOnly()
final int getNumber()
.lang.Override boolean getCountAssumptionLevelsInLbd()
.lang.Override boolean hasRandomizeSearch()
static BinaryMinizationAlgorithm forNumber(int value)
Builder setDiversifyLnsParams(boolean value)
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
.lang.Override boolean hasOptimizeWithMaxHs()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder clearClauseCleanupTarget()
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override boolean getPolishLpSolution()
.lang.Override boolean hasDiversifyLnsParams()
Builder clearAddCgCuts()
.lang.Override boolean hasClauseActivityDecay()
.lang.Override int getBooleanEncodingLevel()
.lang.Override boolean getShareLevelZeroBounds()
static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER
Builder clearCutCleanupTarget()
.lang.Override boolean hasUseExactLpReason()
Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value)
.lang.Override boolean hasRandomSeed()
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
.lang.Override boolean hasPresolveBlockedClause()
.lang.Override boolean hasUseCombinedNoOverlap()
.lang.Override boolean hasStopAfterFirstSolution()
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setPseudoCostReliabilityThreshold(long value)
static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setMergeNoOverlapWorkLimit(double value)
static final int ADD_MIR_CUTS_FIELD_NUMBER
Builder setUseRinsLns(boolean value)
Builder clearMipVarScaling()
static final int AUTO_DETECT_GREATER_THAN_AT_LEAST_ONE_OF_FIELD_NUMBER
.lang.Override int getLinearizationLevel()
.lang.Override boolean hasExploitRelaxationSolution()
.lang.Override boolean hasMaxMemoryInMb()
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
.lang.Override boolean hasMaxDeterministicTime()
Builder setNumSearchWorkers(int value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
Builder clearUseRinsLns()
static final int FIND_MULTIPLE_CORES_FIELD_NUMBER
.lang.Override boolean hasAddZeroHalfCuts()
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean getInterleaveSearch()
static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER
.lang.Override boolean getAddZeroHalfCuts()
IN_REVERSE_ORDER
IN_REVERSE_ORDER = 1;
Builder clearVariableActivityDecay()
Builder setAlsoBumpVariablesInConflictReasons(boolean value)
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static final int RANDOM_SEED_FIELD_NUMBER
POLARITY_TRUE
POLARITY_TRUE = 0;
.lang.Override boolean hasUseProbingSearch()
.lang.Override boolean hasRandomSeed()
static com.google.protobuf.Internal.EnumLiteMap< BinaryMinizationAlgorithm > internalGetValueMap()
Builder clearUseLnsOnly()
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder clearGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
Builder setInterleaveSearch(boolean value)
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override double getRandomPolarityRatio()
.lang.Override boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
static final int CP_MODEL_PRESOLVE_FIELD_NUMBER
PSEUDO_COST_SEARCH
static VariableOrder forNumber(int value)
Builder setExpandTableConstraints(boolean value)
.lang.Override int getMaxAllDiffCutSize()
.lang.Override boolean hasUseOptionalVariables()
Builder clearReduceMemoryUsageInInterleaveMode()
Builder clearPolarityRephaseIncrement()
Builder setAddLpConstraintsLazily(boolean value)
Builder setMinimizeWithPropagationRestartPeriod(int value)
Builder clearShareObjectiveBounds()
.lang.Override boolean hasMergeNoOverlapWorkLimit()
.lang.Override boolean getStopAfterFirstSolution()
.lang.Override boolean hasUseImpliedBounds()
.lang.Override int getHintConflictLimit()
Builder clearMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override int getClauseCleanupPeriod()
SIMPLE
SIMPLE = 1;
Builder setBooleanEncodingLevel(int value)
.lang.Override boolean hasSearchRandomizationTolerance()
Builder setPresolveBvaThreshold(int value)
.lang.Override boolean hasExpandAutomatonConstraints()
static final int NAME_FIELD_NUMBER
.lang.Override boolean getInstantiateAllVariables()
.lang.Override boolean getCatchSigintSignal()
.lang.Override boolean getLogSearchProgress()
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
final int getNumber()
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER
Builder clearKeepAllFeasibleSolutionsInPresolve()
Builder clearClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER
.lang.Override boolean getPresolveExtractIntegerEnforcement()
static final int COVER_OPTIMIZATION_FIELD_NUMBER
final int getNumber()
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
Builder setCutCleanupTarget(int value)
.lang.Override double getCutMaxActiveCountValue()
.lang.Override boolean hasCutCleanupTarget()
Builder setMaxIntegerRoundingScaling(int value)
.lang.Override boolean hasFindMultipleCores()
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder clearRestartRunningWindowSize()
.lang.Override boolean getUseOptionalVariables()
static final int SUBSUMPTION_DURING_CONFLICT_ANALYSIS_FIELD_NUMBER
static final int MIP_CHECK_PRECISION_FIELD_NUMBER
.lang.Override boolean getUseFeasibilityPump()
Builder setAddKnapsackCuts(boolean value)
.lang.Override boolean getMaxSatReverseAssumptionOrder()
.lang.Override boolean getUseOptionalVariables()
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
static final int RANDOMIZE_SEARCH_FIELD_NUMBER
EXPERIMENTAL_BINARY_MINIMIZATION
EXPERIMENTAL_BINARY_MINIMIZATION = 3;
Builder clearAddZeroHalfCuts()
.lang.Override boolean getExploitObjective()
.lang.Override long getPseudoCostReliabilityThreshold()
.lang.Override double getMipWantedPrecision()
.lang.Override boolean getMinimizeCore()
.lang.Override int getRestartAlgorithmsCount()
POLARITY_RANDOM
POLARITY_RANDOM = 2;
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override int getPresolveBvaThreshold()
.lang.Override boolean getStopAfterPresolve()
Builder setCpModelMaxNumPresolveOperations(int value)
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean getCpModelPostsolveWithFullSolver()
STRATIFICATION_ASCENT
final int getNumber()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasMipMaxBound()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean getPresolveBlockedClause()
.lang.Override boolean hasUseBlockingRestart()
.lang.Override boolean hasMaxDeterministicTime()
Builder clearRestartPeriod()
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Deprecated static FPRoundingMethod valueOf(int value)
.lang.Override int getHintConflictLimit()
Builder setExploitAllLpSolution(boolean value)
Builder setMaxSatReverseAssumptionOrder(boolean value)
Builder setCpModelUseSatPresolve(boolean value)
.lang.Override int getCutCleanupTarget()
.lang.Override boolean getExploitAllLpSolution()
final int getNumber()
Builder clearRestartAlgorithms()
Builder setMipMaxActivityExponent(int value)
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override int getMaxPresolveIterations()
Builder clearBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override int getRestartPeriod()
.lang.Override long getMaxNumberOfConflicts()
Builder setMaxCutRoundsAtLevelZero(int value)
Builder clearNewConstraintsBatchSize()
.lang.Override Builder clear()
static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER
.lang.Override boolean hasPolishLpSolution()
Builder clearLogSearchProgress()
Builder setAutoDetectGreaterThanAtLeastOneOf(boolean value)
.lang.Override boolean hasPresolveUseBva()
.lang.Override boolean getEnumerateAllSolutions()
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasRandomPolarityRatio()
Builder clearDiversifyLnsParams()
.lang.Override double getMinOrthogonalityForLpConstraints()
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean hasRandomizeSearch()
.lang.Override int getRestartRunningWindowSize()
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override int getMaxPresolveIterations()
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
Builder clearMinimizeWithPropagationRestartPeriod()
Builder clearMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder clearMipAutomaticallyScaleVariables()
Builder setSearchRandomizationTolerance(long value)
static final int INTERLEAVE_SEARCH_FIELD_NUMBER
.lang.Override boolean hasLinearizationLevel()
com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder setLnsFocusOnDecisionVariables(boolean value)
optional bool lns_focus_on_decision_variables = 105 [default = false];
static final int RESTART_ALGORITHMS_FIELD_NUMBER
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER
.lang.Override boolean hasMaxPresolveIterations()
Builder setReduceMemoryUsageInInterleaveMode(boolean value)
.lang.Override boolean hasPresolveBveClauseWeight()
.lang.Deprecated static ClauseOrdering valueOf(int value)
static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER
Builder setOptimizeWithCore(boolean value)
static final int PRESOLVE_EXTRACT_INTEGER_ENFORCEMENT_FIELD_NUMBER
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
Builder setUseImpliedBounds(boolean value)
static final int ADD_ZERO_HALF_CUTS_FIELD_NUMBER
static final int MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER
Builder setMaxConsecutiveInactiveCount(int value)
static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER
Builder setAddZeroHalfCuts(boolean value)
static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER
Builder clearUseOptimizationHints()
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder clearMaxMemoryInMb()
static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER
.lang.Override double getCutMaxActiveCountValue()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.protobuf.ByteString getNameBytes()
.lang.Override boolean hasMaxCutRoundsAtLevelZero()
.lang.Override boolean hasOnlyAddCutsAtLevelZero()
Builder clearPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean hasPolarityRephaseIncrement()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setAbsoluteGapLimit(double value)
static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER
static final int FP_ROUNDING_FIELD_NUMBER
.lang.Override boolean hasLogSearchProgress()
Builder setPresolveSubstitutionLevel(int value)
.lang.Override boolean getUseProbingSearch()
Builder clearMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder clearName()
Builder setAddMirCuts(boolean value)
static final int MIP_VAR_SCALING_FIELD_NUMBER
.lang.Override boolean hasVariableActivityDecay()
Builder clearUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasNumSearchWorkers()
.lang.Override boolean hasBinarySearchNumConflicts()
static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER
.lang.Override boolean getExpandAlldiffConstraints()
static MaxSatAssumptionOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean hasClauseCleanupTarget()
.lang.Override double getGlucoseMaxDecay()
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
.lang.Override boolean hasRepairHint()
.lang.Override boolean hasUseCombinedNoOverlap()
.lang.Override boolean getUseExactLpReason()
.lang.Override boolean getUseLnsOnly()
.lang.Override boolean hasUseBlockingRestart()
.lang.Deprecated static BinaryMinizationAlgorithm valueOf(int value)
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasUseErwaHeuristic()
Builder setStopAfterFirstSolution(boolean value)
CLAUSE_ACTIVITY
ORDER_ASSUMPTION_BY_WEIGHT
ORDER_ASSUMPTION_BY_WEIGHT = 2;
.lang.Override double getVariableActivityDecay()
Builder clearMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean getAddLinMaxCuts()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean getCpModelUseSatPresolve()
static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER
PROTECTION_LBD
static final int MINIMIZE_CORE_FIELD_NUMBER
Builder clearMaxNumberOfConflicts()
static final int USE_BRANCHING_IN_LP_FIELD_NUMBER
.lang.Override int getMipMaxActivityExponent()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER
Builder setUseFeasibilityPump(boolean value)
boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasMipWantedPrecision()
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER
.lang.Override boolean hasMaxCutRoundsAtLevelZero()
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
static MaxSatAssumptionOrder forNumber(int value)
Builder setPbCleanupIncrement(int value)
static final int MINIMIZE_WITH_PROPAGATION_NUM_DECISIONS_FIELD_NUMBER
.lang.Override int getNumSearchWorkers()
static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Internal.EnumLiteMap< SearchBranching > internalGetValueMap()
PORTFOLIO_SEARCH
static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER
Builder setPresolveExtractIntegerEnforcement(boolean value)
static final int USE_DISJUNCTIVE_CONSTRAINT_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override double getMergeNoOverlapWorkLimit()
com.google.protobuf.ByteString getNameBytes()
final int getNumber()
.lang.Override boolean getUseOptimizationHints()
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER
Builder clearCoverOptimization()
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER
.lang.Override double getInitialVariablesActivity()
.lang.Override boolean getUsePhaseSaving()
Builder clearBinarySearchNumConflicts()
.lang.Override boolean getUseFeasibilityPump()
Builder setMaxNumCuts(int value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER
static RestartAlgorithm forNumber(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder clearCutMaxActiveCountValue()
Builder setFindMultipleCores(boolean value)
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasCutCleanupTarget()
.lang.Override boolean getUsePhaseSaving()
static final int KEEP_ALL_FEASIBLE_SOLUTIONS_IN_PRESOLVE_FIELD_NUMBER
.lang.Override boolean getUseRelaxationLns()
static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER
Builder setGlucoseDecayIncrement(double value)
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Deprecated static ClauseProtection valueOf(int value)
.lang.Override boolean getUseBranchingInLp()
.lang.Override int getMaxIntegerRoundingScaling()
Builder setRestartDlAverageRatio(double value)
.lang.Override boolean hasStrategyChangeIncreaseRatio()
.lang.Override int hashCode()
Builder clearExploitAllLpSolution()
Builder clearInitialVariablesActivity()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override long getMaxMemoryInMb()
.lang.Override double getRestartDlAverageRatio()
.lang.Override boolean getExploitBestSolution()
static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER
Builder setMaxDeterministicTime(double value)
final int getNumber()
Builder clearOnlyAddCutsAtLevelZero()
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasMergeNoOverlapWorkLimit()
.lang.Override boolean hasInstantiateAllVariables()
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasPseudoCostReliabilityThreshold()
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override boolean getExpandElementConstraints()
Builder setExpandAutomatonConstraints(boolean value)
.lang.Override boolean hasMipMaxActivityExponent()
static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER
Builder clearAbsoluteGapLimit()
AUTOMATIC_SEARCH
.lang.Override boolean hasAddLpConstraintsLazily()
.lang.Override boolean hasUseExactLpReason()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean hasShareObjectiveBounds()
Builder setMaxVariableActivityValue(double value)
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override double getRandomBranchesRatio()
Builder clearUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean hasExploitBestSolution()
.lang.Override boolean getStopAfterPresolve()
Builder clearMaxAllDiffCutSize()
IN_RANDOM_ORDER
IN_RANDOM_ORDER = 2;
Builder clearExploitIntegerLpSolution()
.lang.Override boolean hasExpandAlldiffConstraints()
Builder clearLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override double getRandomBranchesRatio()
.lang.Override double getMipMaxBound()
BINARY_MINIMIZATION_WITH_REACHABILITY
BINARY_MINIMIZATION_WITH_REACHABILITY = 2;
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasRestartDlAverageRatio()
.lang.Override Builder clone()
static Builder newBuilder()
LBD_MOVING_AVERAGE_RESTART
.lang.Override Builder toBuilder()
Builder clearMipCheckPrecision()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override boolean getOptimizeWithCore()
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean getUseErwaHeuristic()
.lang.Override boolean hasPresolveUseBva()
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean getAddKnapsackCuts()
.lang.Override boolean hasClauseCleanupLbdBound()
.lang.Override boolean hasMipAutomaticallyScaleVariables()
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
.lang.Override boolean getUseImpliedBounds()
.lang.Override boolean hasLinearizationLevel()
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
Builder setCountAssumptionLevelsInLbd(boolean value)
.lang.Override boolean hasCountAssumptionLevelsInLbd()
.lang.Override long getMaxNumberOfConflicts()
.lang.Override boolean getPresolveUseBva()
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override boolean hasCutMaxActiveCountValue()
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override boolean hasPresolveSubstitutionLevel()
Builder setNumConflictsBeforeStrategyChanges(int value)
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setMipAutomaticallyScaleVariables(boolean value)
.lang.Override boolean hasMaxNumCuts()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input)
static final int CP_MODEL_MAX_NUM_PRESOLVE_OPERATIONS_FIELD_NUMBER
Builder clearRandomBranchesRatio()
.lang.Override boolean getExpandTableConstraints()
Builder setOptimizeWithMaxHs(boolean value)
.lang.Override boolean getUseImpliedBounds()
static ConflictMinimizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Builder clearRandomSeed()
.lang.Override boolean hasStrategyChangeIncreaseRatio()
static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER
Builder setMipCheckPrecision(double value)
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setMinimizeCore(boolean value)
Builder clearUseDisjunctiveConstraintInCumulativeConstraint()
Builder setStopAfterPresolve(boolean value)
Builder setUseLnsOnly(boolean value)
Builder clearUseCombinedNoOverlap()
Builder addAllRestartAlgorithms(java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm > values)
.lang.Override double getMipWantedPrecision()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override boolean hasMipMaxBound()
.lang.Override boolean getOptimizeWithCore()
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean hasMipVarScaling()
.lang.Override int getNumConflictsBeforeStrategyChanges()
static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override com.google.ortools.sat.SatParameters buildPartial()
.lang.Override java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
Builder clearExpandAlldiffConstraints()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Parser< SatParameters > parser()
static ConflictMinimizationAlgorithm forNumber(int value)
.lang.Override final boolean isInitialized()
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean hasMinimizeCore()
Builder setUseBranchingInLp(boolean value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean getUseBlockingRestart()
Builder setStrategyChangeIncreaseRatio(double value)
static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder clearMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override double getMipCheckPrecision()
static final int ADD_CLIQUE_CUTS_FIELD_NUMBER
.lang.Override boolean hasUseRinsLns()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
FIXED_RESTART
Builder clearStrategyChangeIncreaseRatio()
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override boolean hasMipMaxActivityExponent()
Builder clearMaxNumCuts()
CLAUSE_LBD
static MaxSatStratificationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override com.google.ortools.sat.SatParameters build()
int getRestartAlgorithmsCount()
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data)
Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value)
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder clearMaxIntegerRoundingScaling()
.lang.Override boolean hasUsePhaseSaving()
.lang.Override int getClauseCleanupTarget()
Builder setRestartAlgorithms(int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value)
.lang.Override boolean getCpModelPostsolveWithFullSolver()
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder setInstantiateAllVariables(boolean value)
.lang.Override boolean getCoverOptimization()
.lang.Override boolean hasUseFeasibilityPump()
static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER
static final int PRESOLVE_USE_BVA_FIELD_NUMBER
.lang.Override boolean getPresolveUseBva()
.lang.Override boolean hasUseLnsOnly()
static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER
Builder clearSearchRandomizationTolerance()
Builder setPresolveBlockedClause(boolean value)
.lang.Override boolean getAddLpConstraintsLazily()
Builder clearMaxTimeInSeconds()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< ClauseOrdering > internalGetValueMap()
Builder setMaxPresolveIterations(int value)
Builder setEnumerateAllSolutions(boolean value)
Builder clearPseudoCostReliabilityThreshold()
.lang.Override boolean hasUsePhaseSaving()
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasExploitObjective()
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasMaxConsecutiveInactiveCount()
Builder setNameBytes(com.google.protobuf.ByteString value)
Builder clearExpandElementConstraints()
static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER
.lang.Override boolean hasPresolveBveThreshold()
.lang.Deprecated static MaxSatStratificationAlgorithm valueOf(int value)
.lang.Override boolean hasCoverOptimization()
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
Builder clearCpModelProbingLevel()
.lang.Override boolean hasCpModelUseSatPresolve()
.lang.Override boolean getMipAutomaticallyScaleVariables()
.lang.Override boolean hasExploitIntegerLpSolution()
.lang.Override long getProbingPeriodAtRoot()
static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER
.lang.Override boolean hasMipCheckPrecision()
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean hasExpandAlldiffConstraints()
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasEnumerateAllSolutions()
static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER
.lang.Override int getRandomSeed()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setMaxNumberOfConflicts(long value)
.lang.Override boolean hasMaxNumberOfConflicts()
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
Builder setDefaultRestartAlgorithms(java.lang.String value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder clearAddLpConstraintsLazily()
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override int getRandomSeed()
Builder clearDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override int getClauseCleanupLbdBound()
.lang.Override boolean hasMaxIntegerRoundingScaling()
.lang.Override double getAbsoluteGapLimit()
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER
.lang.Override boolean hasMaxNumberOfConflicts()
Builder setUseTimetableEdgeFindingInCumulativeConstraint(boolean value)
.lang.Override boolean hasNewConstraintsBatchSize()
.lang.Override boolean getCpModelPresolve()
.lang.Override boolean hasRandomBranchesRatio()
.lang.Override int getBooleanEncodingLevel()
.lang.Override boolean getCpModelUseSatPresolve()
.lang.Override boolean hasAddLinMaxCuts()
Builder setUsePbResolution(boolean value)
Builder clearNumSearchWorkers()
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder setGlucoseDecayIncrementPeriod(int value)
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder clearUsePrecedencesInDisjunctiveConstraint()
static VariableOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Builder setClauseCleanupPeriod(int value)
static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasPresolveBvaThreshold()
Builder setTreatBinaryClausesSeparately(boolean value)
.lang.Override boolean hasUseFeasibilityPump()
Builder clearFindMultipleCores()
.lang.Override int getPresolveBveClauseWeight()
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
.lang.Override int getLinearizationLevel()
static final int MIP_WANTED_PRECISION_FIELD_NUMBER
.lang.Override int getBinarySearchNumConflicts()
.lang.Override double getMergeNoOverlapWorkLimit()
POLARITY_REVERSE_WEIGHTED_SIGN
IN_ORDER
static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER
static final int MIP_MAX_BOUND_FIELD_NUMBER
.lang.Override boolean getAddCliqueCuts()
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean getDiversifyLnsParams()
.lang.Override boolean hasUseOptionalVariables()
.lang.Override boolean hasPresolveBlockedClause()
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
Builder setPbCleanupRatio(double value)
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasMaxIntegerRoundingScaling()
static final int ADD_KNAPSACK_CUTS_FIELD_NUMBER
com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
Builder clearAddCliqueCuts()
Builder clearMipWantedPrecision()
.lang.Override boolean hasGlucoseMaxDecay()
Builder setInitialVariablesActivity(double value)
Builder clearBooleanEncodingLevel()
Builder clearSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
static ClauseProtection valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
DEFAULT_ASSUMPTION_ORDER
DEFAULT_ASSUMPTION_ORDER = 0;
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasClauseCleanupPeriod()
Builder setUseDisjunctiveConstraintInCumulativeConstraint(boolean value)
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
.lang.Override boolean hasCpModelUseSatPresolve()
static final int FILL_TIGHTENED_DOMAINS_IN_RESPONSE_FIELD_NUMBER
Builder setBlockingRestartMultiplier(double value)
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override long getProbingPeriodAtRoot()
Builder clearRepairHint()
static ClauseOrdering forNumber(int value)
Builder setSubsumptionDuringConflictAnalysis(boolean value)
.lang.Override boolean getMipAutomaticallyScaleVariables()
static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER
.lang.Override boolean hasCoverOptimization()
.lang.Override boolean hasUseBranchingInLp()
.lang.Override boolean hasShareLevelZeroBounds()
.lang.Override boolean getMaxSatReverseAssumptionOrder()
Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value)
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean hasExpandTableConstraints()
static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER
.lang.Override boolean hasPresolveSubstitutionLevel()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
static final int USE_PRECEDENCES_IN_DISJUNCTIVE_CONSTRAINT_FIELD_NUMBER
static MaxSatStratificationAlgorithm forNumber(int value)
LOCK_BASED
.lang.Override boolean hasPresolveBveThreshold()
Builder clearStopAfterPresolve()
.lang.Override int getBinarySearchNumConflicts()
.lang.Override boolean getEnumerateAllSolutions()
.lang.Override int getPbCleanupIncrement()
static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER
.lang.Override boolean hasStopAfterFirstSolution()
.lang.Override boolean getAddCliqueCuts()
Builder setRelativeGapLimit(double value)
optional double relative_gap_limit = 160 [default = 0];
static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER
.lang.Override int getMaxConsecutiveInactiveCount()
Builder setRestartLbdAverageRatio(double value)
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override int getPolarityRephaseIncrement()
static com.google.protobuf.Internal.EnumLiteMap< FPRoundingMethod > internalGetValueMap()
Builder setCoverOptimization(boolean value)
Builder setExpandElementConstraints(boolean value)
Builder clearUseBlockingRestart()
static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
POLARITY_WEIGHTED_SIGN
.lang.Override int getMaxIntegerRoundingScaling()
Builder setPresolveProbingDeterministicTimeLimit(double value)
static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER
Builder clearOptimizeWithMaxHs()
Builder clearEnumerateAllSolutions()
.lang.Override boolean hasInitialVariablesActivity()
.lang.Override boolean getDiversifyLnsParams()
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean getCountAssumptionLevelsInLbd()
Builder setProbingPeriodAtRoot(long value)
static com.google.protobuf.Internal.EnumLiteMap< ConflictMinimizationAlgorithm > internalGetValueMap()
Builder clearRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasInitialVariablesActivity()
Builder clearBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
Builder clearMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder clearGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER
.lang.Override boolean hasCpModelProbingLevel()
Builder clearPresolveExtractIntegerEnforcement()
static final int CUT_CLEANUP_TARGET_FIELD_NUMBER
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
Builder setUseExactLpReason(boolean value)
.lang.Override boolean hasTreatBinaryClausesSeparately()
static final int MAX_NUM_CUTS_FIELD_NUMBER
static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER
Builder setShareLevelZeroBounds(boolean value)
.lang.Override int getCutCleanupTarget()
.lang.Override boolean hasMaxPresolveIterations()
Builder clearPresolveProbingDeterministicTimeLimit()
.lang.Override boolean hasMipCheckPrecision()
static RestartAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override int getCpModelProbingLevel()
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
Builder setPresolveBveThreshold(int value)
static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER
.lang.Override boolean hasMaxTimeInSeconds()
.lang.Override boolean hasRestartPeriod()
.lang.Override boolean hasRestartPeriod()
static final int USE_LNS_ONLY_FIELD_NUMBER
Builder setHintConflictLimit(int value)
Builder setRestartRunningWindowSize(int value)
Builder setMinimizeWithPropagationNumDecisions(int value)
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getRandomizeSearch()
Builder setInterleaveBatchSize(int value)
optional int32 interleave_batch_size = 134 [default = 1];
static final int USE_SAT_INPROCESSING_FIELD_NUMBER
.lang.Override int getMaxNumCuts()
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER
static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Deprecated static SearchBranching valueOf(int value)
final int getNumber()
Builder setMaxTimeInSeconds(double value)
.lang.Override int getCpModelMaxNumPresolveOperations()
Builder setRandomizeSearch(boolean value)
Builder clearNumConflictsBeforeStrategyChanges()
Builder clearRandomPolarityRatio()
.lang.Deprecated static VariableOrder valueOf(int value)
static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER
Builder setExpandAlldiffConstraints(boolean value)
static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER
Builder setLinearizationLevel(int value)
static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER
Builder setUseOptimizationHints(boolean value)
.lang.Override boolean hasPbCleanupIncrement()
Builder clearRandomizeSearch()
.lang.Override double getMipVarScaling()
.lang.Override boolean hasMaxConsecutiveInactiveCount()
Builder setExploitIntegerLpSolution(boolean value)
static final int MIN_ORTHOGONALITY_FOR_LP_CONSTRAINTS_FIELD_NUMBER
.lang.Override double getGlucoseMaxDecay()
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setAddCgCuts(boolean value)
.lang.Override double getClauseActivityDecay()
.lang.Override int getMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasPresolveBveClauseWeight()
.lang.Override boolean hasUseOptimizationHints()
.lang.Override boolean getExpandElementConstraints()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
Builder clearUseOptionalVariables()
.lang.Override double getMaxTimeInSeconds()
static final int REPAIR_HINT_FIELD_NUMBER
.lang.Override boolean hasRandomPolarityRatio()
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
Builder setMinOrthogonalityForLpConstraints(double value)
.lang.Override int getNewConstraintsBatchSize()
.lang.Override boolean hasInterleaveSearch()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean hasRestartRunningWindowSize()
.lang.Override int getMaxAllDiffCutSize()
.lang.Override boolean getExploitAllLpSolution()
.lang.Override double getMaxDeterministicTime()
static com.google.protobuf.Internal.EnumLiteMap< RestartAlgorithm > internalGetValueMap()
.lang.Override int getPbCleanupIncrement()
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
Builder clearAddKnapsackCuts()
.lang.Override boolean hasExpandElementConstraints()
.lang.Override boolean hasMaxAllDiffCutSize()
Builder clearUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override double getRestartDlAverageRatio()
.lang.Override boolean getCatchSigintSignal()
Builder setBlockingRestartWindowSize(int value)
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean hasAddMirCuts()
NEAREST_INTEGER
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean getFindMultipleCores()
.lang.Override boolean hasMinimizeCore()
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override boolean getUseErwaHeuristic()
Builder clearFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value)
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean getAddCgCuts()
.lang.Override boolean hasCountAssumptionLevelsInLbd()
static FPRoundingMethod forNumber(int value)
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
Builder setShareObjectiveBounds(boolean value)
.lang.Override boolean getStopAfterFirstSolution()
static FPRoundingMethod valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Builder clearUsePhaseSaving()
static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER
static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER
.lang.Override boolean equals(final java.lang.Object obj)
static final int POLISH_LP_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
Builder setClauseActivityDecay(double value)
.lang.Override boolean hasRestartDlAverageRatio()
.lang.Override boolean getAddKnapsackCuts()
static BinaryMinizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override double getMipVarScaling()
.lang.Override int getPresolveBveThreshold()
Builder clearExpandTableConstraints()
.lang.Override boolean hasAddZeroHalfCuts()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasFindMultipleCores()
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasHintConflictLimit()
Builder clearCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
static final int RESTART_PERIOD_FIELD_NUMBER
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
Builder clearUsePbResolution()
.lang.Override boolean getShareObjectiveBounds()
.lang.Override boolean getUsePbResolution()
Builder setCutActiveCountDecay(double value)
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasOptimizeWithCore()
static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER
.lang.Override boolean hasShareObjectiveBounds()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data)
.lang.Override boolean hasEnumerateAllSolutions()
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
Builder clearAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
static final int PB_CLEANUP_RATIO_FIELD_NUMBER
Builder clearOptimizeWithCore()
Builder clearUseExactLpReason()
.lang.Override boolean getRandomizeSearch()
static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER
Builder clearMipMaxBound()
.lang.Override boolean hasPresolveBvaThreshold()
Builder setPolarityRephaseIncrement(int value)
static com.google.protobuf.Internal.EnumLiteMap< Polarity > internalGetValueMap()
.lang.Override java.lang.String getName()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasMaxMemoryInMb()
.lang.Override boolean hasExploitObjective()
final int getNumber()
.lang.Override double getVariableActivityDecay()
static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override long getMaxMemoryInMb()
Builder setMipWantedPrecision(double value)
.lang.Override boolean hasExpandElementConstraints()
.lang.Override int getPolarityRephaseIncrement()
Builder setUseOverloadCheckerInCumulativeConstraint(boolean value)
Builder setNewConstraintsBatchSize(int value)
.lang.Deprecated static final com.google.protobuf.Parser< SatParameters > PARSER
.lang.Override com.google.protobuf.Parser< SatParameters > getParserForType()
.lang.Override boolean hasUseProbingSearch()
Builder setAddLinMaxCuts(boolean value)
Builder clearMaxDeterministicTime()
.lang.Override int getPresolveSubstitutionLevel()
Builder setRandomBranchesRatio(double value)
static com.google.protobuf.Internal.EnumLiteMap< ClauseProtection > internalGetValueMap()
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean getUseRelaxationLns()
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasClauseCleanupLbdBound()
static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER
.lang.Override double getInitialVariablesActivity()
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean hasAddKnapsackCuts()
.lang.Override double getPresolveProbingDeterministicTimeLimit()
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Override double getMipCheckPrecision()
Builder clearHintConflictLimit()
.lang.Override boolean hasClauseActivityDecay()
Builder clearInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
POLARITY_FALSE
POLARITY_FALSE = 1;
static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER
static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER
.lang.Override boolean getExpandAutomatonConstraints()
.lang.Override double getAbsoluteGapLimit()
static final int USE_PB_RESOLUTION_FIELD_NUMBER
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
PROTECTION_ALWAYS
Builder setMaxAllDiffCutSize(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder clearPresolveSubstitutionLevel()
.lang.Override boolean getRepairHint()
Builder clearStopAfterFirstSolution()
.lang.Override boolean hasShareLevelZeroBounds()
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean getOnlyAddCutsAtLevelZero()
.lang.Override boolean hasInstantiateAllVariables()
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean hasAbsoluteGapLimit()
Builder setAddCliqueCuts(boolean value)
Builder clearAddMirCuts()
Builder clearPresolveBvaThreshold()
.lang.Override boolean hasOptimizeWithMaxHs()
Builder setCpModelProbingLevel(int value)
static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER
.lang.Override boolean hasMaxNumCuts()
.lang.Override boolean getOptimizeWithMaxHs()
Builder setClauseCleanupTarget(int value)
.lang.Override boolean hasUseRinsLns()
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER
NONE
NONE = 0;
static final int ADD_CG_CUTS_FIELD_NUMBER
.lang.Override boolean hasBooleanEncodingLevel()
Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value)
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder clearUseImpliedBounds()
static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setRepairHint(boolean value)
.lang.Override boolean hasVariableActivityDecay()
HINT_SEARCH
.lang.Override int getPresolveBveThreshold()
static final int SEARCH_BRANCHING_FIELD_NUMBER
Builder clearInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override int getMaxCutRoundsAtLevelZero()
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
Builder setLogSearchProgress(boolean value)
Builder clearUseFeasibilityPump()
Builder clearPresolveBveClauseWeight()
Builder setUseErwaHeuristic(boolean value)
.lang.Override boolean hasBinarySearchNumConflicts()
.lang.Override boolean getAddMirCuts()
Builder clearGlucoseMaxDecay()
.lang.Deprecated static ConflictMinimizationAlgorithm valueOf(int value)
Builder clearCpModelMaxNumPresolveOperations()
.lang.Override boolean hasCpModelProbingLevel()
.lang.Override boolean hasExploitBestSolution()
Builder clearMinimizeCore()
.lang.Deprecated static RestartAlgorithm valueOf(int value)
Builder clearRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
static final int NUM_CONFLICTS_BEFORE_STRATEGY_CHANGES_FIELD_NUMBER
Builder clearUseErwaHeuristic()
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
Builder clearClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER
static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
Builder clearUseRelaxationLns()
.lang.Override boolean hasLogSearchProgress()
Builder clearExploitObjective()
Builder setPolishLpSolution(boolean value)
Builder setOnlyAddCutsAtLevelZero(boolean value)
Builder setDefaultRestartAlgorithmsBytes(com.google.protobuf.ByteString value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder clearMaxSatReverseAssumptionOrder()
.lang.Override boolean getCoverOptimization()
static com.google.protobuf.Internal.EnumLiteMap< MaxSatStratificationAlgorithm > internalGetValueMap()
BINARY_MINIMIZATION_FIRST
BINARY_MINIMIZATION_FIRST = 1;
.lang.Override int getMaxCutRoundsAtLevelZero()
Builder clearExploitRelaxationSolution()
.lang.Override boolean hasClauseCleanupTarget()
static final int MINIMIZE_REDUCTION_DURING_PB_RESOLUTION_FIELD_NUMBER
static com.google.protobuf.Internal.EnumLiteMap< MaxSatAssumptionOrder > internalGetValueMap()
Builder clearInterleaveSearch()
.lang.Override int getPresolveBvaThreshold()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
ORDER_ASSUMPTION_BY_DEPTH
ORDER_ASSUMPTION_BY_DEPTH = 1;
Builder clearPresolveBlockedClause()
.lang.Override boolean hasCatchSigintSignal()
.lang.Override int getNumSearchWorkers()
.lang.Override double getStrategyChangeIncreaseRatio()
Builder setPresolveBveClauseWeight(int value)
static final int PRESOLVE_PROBING_DETERMINISTIC_TIME_LIMIT_FIELD_NUMBER
.lang.Override boolean getUseProbingSearch()
Builder setCpModelPostsolveWithFullSolver(boolean value)
Builder setUseCombinedNoOverlap(boolean value)
Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value)
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER
.lang.Override int getNumConflictsBeforeStrategyChanges()
.lang.Override boolean getUseBlockingRestart()
.lang.Override boolean hasPolishLpSolution()
STRATIFICATION_DESCENT
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER
final int getNumber()
Builder setMipVarScaling(double value)
Builder setUseRelaxationLns(boolean value)
.lang.Override boolean hasOnlyAddCutsAtLevelZero()
Builder setBinarySearchNumConflicts(int value)
.lang.Override boolean hasMaxTimeInSeconds()
.lang.Override boolean hasRandomBranchesRatio()
static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER
.lang.Override boolean getOnlyAddCutsAtLevelZero()
static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER
static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER
.lang.Override boolean hasMipAutomaticallyScaleVariables()
static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder clearRestartDlAverageRatio()
Builder clearCatchSigintSignal()
Builder setKeepAllFeasibleSolutionsInPresolve(boolean value)
.lang.Override int getMaxNumCuts()
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
Builder clearPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION = 4;
.lang.Override boolean getPresolveExtractIntegerEnforcement()
Builder clearCpModelPostsolveWithFullSolver()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasName()
.lang.Deprecated static Polarity valueOf(int value)
final int getNumber()
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override boolean getUseCombinedNoOverlap()
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Override int getMinimizeWithPropagationRestartPeriod()
.lang.Override int getSerializedSize()
.lang.Override long getSearchRandomizationTolerance()
static final int USE_PROBING_SEARCH_FIELD_NUMBER
.lang.Override boolean hasUseRelaxationLns()
Builder clearSubsumptionDuringConflictAnalysis()
.lang.Override boolean getExpandAutomatonConstraints()
Builder clearUseBranchingInLp()
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
Builder setPresolveUseBva(boolean value)
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
Builder clearCpModelPresolve()
static Builder newBuilder(com.google.ortools.sat.SatParameters prototype)
.lang.Override boolean hasAddKnapsackCuts()
PORTFOLIO_WITH_QUICK_RESTART_SEARCH
.lang.Override boolean getAddMirCuts()
.lang.Override boolean getOptimizeWithMaxHs()
.lang.Override boolean hasClauseCleanupPeriod()
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
EXPERIMENTAL
EXPERIMENTAL = 3;
Builder clearAlsoBumpVariablesInConflictReasons()
.lang.Override boolean hasRepairHint()
static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER
DL_MOVING_AVERAGE_RESTART
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder clearPolishLpSolution()
Builder clearMaxConsecutiveInactiveCount()
static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER
Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value)
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasCpModelPresolve()
Builder clearClauseCleanupPeriod()
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean getUseOptimizationHints()
Builder clearPresolveBveThreshold()
.lang.Override boolean hasAddLpConstraintsLazily()
Builder clearMipMaxActivityExponent()
.lang.Override double getMaxDeterministicTime()
static SearchBranching forNumber(int value)
Builder setMergeAtMostOneWorkLimit(double value)
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
static final int USE_RELAXATION_LNS_FIELD_NUMBER
.lang.Override boolean hasMipVarScaling()
Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value)
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasUseOptimizationHints()
Builder setMaxClauseActivityValue(double value)
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override double getMaxTimeInSeconds()
.lang.Override boolean getFillTightenedDomainsInResponse()
.lang.Override boolean hasExpandTableConstraints()
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
static ClauseOrdering valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean getExpandTableConstraints()
static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER
static final int USE_EXACT_LP_REASON_FIELD_NUMBER
static final int INITIAL_POLARITY_FIELD_NUMBER
RECURSIVE
RECURSIVE = 2;
.lang.Override boolean hasProbingPeriodAtRoot()
Builder clearLinearizationLevel()
Builder setMipMaxBound(double value)
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasCpModelPresolve()
.lang.Override boolean getFillTightenedDomainsInResponse()
static Polarity forNumber(int value)
Builder setRandomPolarityRatio(double value)
.lang.Override boolean hasUsePbResolution()
.lang.Override int getClauseCleanupLbdBound()
.lang.Override double getMinOrthogonalityForLpConstraints()
STRATIFICATION_NONE
.lang.Override double getStrategyChangeIncreaseRatio()
Builder clearInstantiateAllVariables()
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
PROTECTION_NONE
.lang.Override boolean getAddCgCuts()
Builder clearShareLevelZeroBounds()
.lang.Override boolean hasCutMaxActiveCountValue()
Builder setClauseCleanupLbdBound(int value)
static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER
static final int NUM_SEARCH_WORKERS_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setRestartPeriod(int value)
Builder clearCpModelUseSatPresolve()
.lang.Override int getRestartRunningWindowSize()
static final int USE_OVERLOAD_CHECKER_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
Builder setVariableActivityDecay(double value)
Builder clearAddLinMaxCuts()
.lang.Override boolean hasExpandAutomatonConstraints()
Builder setCpModelPresolve(boolean value)
.lang.Override boolean hasGlucoseMaxDecay()
.lang.Override int getRestartPeriod()
.lang.Override int getClauseCleanupTarget()
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
NO_RESTART
NO_RESTART = 0;
.lang.Override boolean getUseCombinedNoOverlap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
Builder setRandomSeed(int value)
.lang.Override boolean getUseExactLpReason()
.lang.Override boolean hasStopAfterPresolve()
.lang.Override boolean getLogSearchProgress()
.lang.Override boolean hasRestartRunningWindowSize()
static final int USE_TIMETABLE_EDGE_FINDING_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER
Builder clearTreatBinaryClausesSeparately()
.lang.Override java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER
.lang.Override boolean getExpandAlldiffConstraints()
Builder setUsePrecedencesInDisjunctiveConstraint(boolean value)
.lang.Override boolean hasUsePbResolution()
.lang.Override boolean hasMaxAllDiffCutSize()
.lang.Override boolean getUseBranchingInLp()
static final int USE_PHASE_SAVING_FIELD_NUMBER
.lang.Override boolean hasAddLinMaxCuts()
.lang.Override long getPseudoCostReliabilityThreshold()
static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER
.lang.Override boolean getExploitObjective()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
Builder clearPbCleanupIncrement()
Builder setExploitBestSolution(boolean value)
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
Builder clearMergeNoOverlapWorkLimit()
.lang.Override boolean hasAbsoluteGapLimit()
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
FIXED_SEARCH
.lang.Override boolean getUseRinsLns()
static final int MINIMIZE_WITH_PROPAGATION_RESTART_PERIOD_FIELD_NUMBER
.lang.Override int getMaxConsecutiveInactiveCount()
static Polarity valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean hasNewConstraintsBatchSize()
.lang.Override boolean getUsePbResolution()
.lang.Override boolean hasOptimizeWithCore()
Builder setExploitRelaxationSolution(boolean value)
.lang.Override int getNewConstraintsBatchSize()
.lang.Override boolean hasExploitAllLpSolution()
.lang.Override boolean hasUseRelaxationLns()
static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER
.lang.Override long getSearchRandomizationTolerance()
static final int LINEARIZATION_LEVEL_FIELD_NUMBER
static SearchBranching valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override double getClauseActivityDecay()
static com.google.ortools.sat.SatParameters getDefaultInstance()
Builder setMinimizeReductionDuringPbResolution(boolean value)
.lang.Override boolean hasProbingPeriodAtRoot()
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Deprecated static MaxSatAssumptionOrder valueOf(int value)
.lang.Override boolean hasUseBranchingInLp()
static final int USE_BLOCKING_RESTART_FIELD_NUMBER
.lang.Override boolean hasBooleanEncodingLevel()
.lang.Override boolean hasUseErwaHeuristic()
.lang.Override boolean hasAddCliqueCuts()
Builder setUseOptionalVariables(boolean value)
.lang.Override boolean getPresolveBlockedClause()
static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER
.lang.Override boolean hasExploitIntegerLpSolution()
static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasPseudoCostReliabilityThreshold()
.lang.Override int getCpModelMaxNumPresolveOperations()
LUBY_RESTART
Builder clearProbingPeriodAtRoot()
.lang.Override Builder newBuilderForType()
Builder clearPresolveUseBva()
static com.google.protobuf.Internal.EnumLiteMap< VariableOrder > internalGetValueMap()
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
LP_SEARCH
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setCatchSigintSignal(boolean value)
.lang.Override boolean getUseRinsLns()
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean getTreatBinaryClausesSeparately()
Builder clearExploitBestSolution()
.lang.Override boolean getShareLevelZeroBounds()
Builder setUseProbingSearch(boolean value)
.lang.Override boolean hasInterleaveSearch()
.lang.Override boolean hasAddMirCuts()
Builder clearUseProbingSearch()
static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER
Builder setExploitObjective(boolean value)
.lang.Override boolean getFindMultipleCores()
.lang.Override boolean hasStopAfterPresolve()
.lang.Override boolean hasDiversifyLnsParams()
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean hasSearchRandomizationTolerance()
.lang.Override boolean getPolishLpSolution()
static final int MAX_MEMORY_IN_MB_FIELD_NUMBER
.lang.Override double getPresolveProbingDeterministicTimeLimit()
static final int CP_MODEL_POSTSOLVE_WITH_FULL_SOLVER_FIELD_NUMBER
.lang.Override boolean getAddLinMaxCuts()
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasAddCgCuts()
.lang.Override boolean getAddLpConstraintsLazily()
Builder clearBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean hasNumSearchWorkers()
.lang.Override boolean hasUseLnsOnly()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
Builder clearMinimizeReductionDuringPbResolution()
ACTIVE_LOCK_BASED
.lang.Override int getPresolveSubstitutionLevel()
.lang.Override boolean getCpModelPresolve()
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
PROPAGATION_ASSISTED
Builder mergeFrom(com.google.ortools.sat.SatParameters other)
static com.google.ortools.sat.SatParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
Builder clearMaxCutRoundsAtLevelZero()
.lang.Override int getClauseCleanupPeriod()
.lang.Override boolean hasPbCleanupIncrement()
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
Builder clearMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearFillTightenedDomainsInResponse()
java.lang.String getName()
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder clearClauseCleanupLbdBound()
Builder setFillTightenedDomainsInResponse(boolean value)
Builder setUseBlockingRestart(boolean value)
Builder setUseSatInprocessing(boolean value)
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean getInstantiateAllVariables()
.lang.Override int getCpModelProbingLevel()
Builder clearMaxPresolveIterations()
.lang.Override boolean getMinimizeCore()
.lang.Override boolean getExploitBestSolution()
static final int ALSO_BUMP_VARIABLES_IN_CONFLICT_REASONS_FIELD_NUMBER
boolean hasName()
static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER
Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value)
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
static final int USE_ERWA_HEURISTIC_FIELD_NUMBER
Builder clearCountAssumptionLevelsInLbd()
Builder setGlucoseMaxDecay(double value)
.lang.Override boolean hasExploitRelaxationSolution()
Builder clearClauseActivityDecay()
static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER
static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasMipWantedPrecision()
.lang.Override boolean hasAddCliqueCuts()
Builder setName(java.lang.String value)
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean getAddZeroHalfCuts()
.lang.Override double getMipMaxBound()
.lang.Override boolean hasPolarityRephaseIncrement()
Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value)
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean hasHintConflictLimit()