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.001D;
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_ |= 0x00000080;
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_ |= 0x00000100;
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_ |= 0x00000800;
355  maxSatAssumptionOrder_ = rawValue;
356  }
357  break;
358  }
359  case 416: {
360  bitField2_ |= 0x00001000;
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_ |= 0x00002000;
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_ |= 0x00004000;
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_ |= 0x00008000;
543  useOverloadCheckerInCumulativeConstraint_ = input.readBool();
544  break;
545  }
546  case 632: {
547  bitField2_ |= 0x00010000;
548  useTimetableEdgeFindingInCumulativeConstraint_ = input.readBool();
549  break;
550  }
551  case 640: {
552  bitField2_ |= 0x00020000;
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_ |= 0x00000040;
564  searchBranching_ = rawValue;
565  }
566  break;
567  }
568  case 664: {
569  bitField3_ |= 0x00010000;
570  optimizeWithCore_ = input.readBool();
571  break;
572  }
573  case 672: {
574  bitField2_ |= 0x00000200;
575  findMultipleCores_ = input.readBool();
576  break;
577  }
578  case 680: {
579  bitField3_ |= 0x00040000;
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_ |= 0x00080000;
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_ |= 0x00000400;
600  coverOptimization_ = input.readBool();
601  break;
602  }
603  case 720: {
604  bitField2_ |= 0x00040000;
605  linearizationLevel_ = input.readInt32();
606  break;
607  }
608  case 728: {
609  bitField2_ |= 0x00100000;
610  maxNumCuts_ = input.readInt32();
611  break;
612  }
613  case 736: {
614  bitField2_ |= 0x00200000;
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_ |= 0x00000200;
625  exploitIntegerLpSolution_ = input.readBool();
626  break;
627  }
628  case 760: {
629  bitField3_ |= 0x00400000;
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_ |= 0x00800000;
645  stopAfterFirstSolution_ = input.readBool();
646  break;
647  }
648  case 792: {
649  bitField3_ |= 0x00020000;
650  binarySearchNumConflicts_ = input.readInt32();
651  break;
652  }
653  case 800: {
654  bitField3_ |= 0x02000000;
655  numSearchWorkers_ = input.readInt32();
656  break;
657  }
658  case 808: {
659  bitField3_ |= 0x80000000;
660  useLnsOnly_ = input.readBool();
661  break;
662  }
663  case 824: {
664  bitField4_ |= 0x00000040;
665  randomizeSearch_ = input.readBool();
666  break;
667  }
668  case 832: {
669  bitField4_ |= 0x00000080;
670  searchRandomizationTolerance_ = input.readInt64();
671  break;
672  }
673  case 840: {
674  bitField4_ |= 0x00000001;
675  lnsFocusOnDecisionVariables_ = input.readBool();
676  break;
677  }
678  case 848: {
679  bitField3_ |= 0x00200000;
680  instantiateAllVariables_ = input.readBool();
681  break;
682  }
683  case 856: {
684  bitField2_ |= 0x00080000;
685  booleanEncodingLevel_ = input.readInt32();
686  break;
687  }
688  case 864: {
689  bitField4_ |= 0x00000100;
690  useOptionalVariables_ = input.readBool();
691  break;
692  }
693  case 872: {
694  bitField4_ |= 0x00000200;
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_ |= 0x00400000;
705  addKnapsackCuts_ = input.readBool();
706  break;
707  }
708  case 896: {
709  bitField2_ |= 0x40000000;
710  addLpConstraintsLazily_ = input.readBool();
711  break;
712  }
713  case 904: {
714  bitField3_ |= 0x20000000;
715  shareObjectiveBounds_ = input.readBool();
716  break;
717  }
718  case 912: {
719  bitField3_ |= 0x40000000;
720  shareLevelZeroBounds_ = input.readBool();
721  break;
722  }
723  case 921: {
724  bitField2_ |= 0x80000000;
725  minOrthogonalityForLpConstraints_ = input.readDouble();
726  break;
727  }
728  case 928: {
729  bitField3_ |= 0x00000400;
730  exploitAllLpSolution_ = input.readBool();
731  break;
732  }
733  case 936: {
734  bitField2_ |= 0x00800000;
735  addCgCuts_ = input.readBool();
736  break;
737  }
738  case 952: {
739  bitField2_ |= 0x20000000;
740  maxIntegerRoundingScaling_ = input.readInt32();
741  break;
742  }
743  case 960: {
744  bitField2_ |= 0x01000000;
745  addMirCuts_ = input.readBool();
746  break;
747  }
748  case 968: {
749  bitField3_ |= 0x00000002;
750  maxConsecutiveInactiveCount_ = input.readInt32();
751  break;
752  }
753  case 976: {
754  bitField3_ |= 0x00000020;
755  newConstraintsBatchSize_ = input.readInt32();
756  break;
757  }
758  case 984: {
759  bitField3_ |= 0x00008000;
760  pseudoCostReliabilityThreshold_ = input.readInt64();
761  break;
762  }
763  case 993: {
764  bitField4_ |= 0x00004000;
765  mipMaxBound_ = input.readDouble();
766  break;
767  }
768  case 1001: {
769  bitField4_ |= 0x00008000;
770  mipVarScaling_ = input.readDouble();
771  break;
772  }
773  case 1009: {
774  bitField4_ |= 0x00020000;
775  mipWantedPrecision_ = input.readDouble();
776  break;
777  }
778  case 1016: {
779  bitField4_ |= 0x00040000;
780  mipMaxActivityExponent_ = input.readInt32();
781  break;
782  }
783  case 1025: {
784  bitField4_ |= 0x00080000;
785  mipCheckPrecision_ = input.readDouble();
786  break;
787  }
788  case 1032: {
789  bitField4_ |= 0x00000002;
790  useRinsLns_ = input.readBool();
791  break;
792  }
793  case 1040: {
794  bitField3_ |= 0x00000800;
795  exploitBestSolution_ = input.readBool();
796  break;
797  }
798  case 1048: {
799  bitField3_ |= 0x00002000;
800  exploitObjective_ = input.readBool();
801  break;
802  }
803  case 1056: {
804  bitField3_ |= 0x00100000;
805  fillTightenedDomainsInResponse_ = input.readBool();
806  break;
807  }
808  case 1064: {
809  bitField4_ |= 0x00000800;
810  useCombinedNoOverlap_ = input.readBool();
811  break;
812  }
813  case 1072: {
814  bitField3_ |= 0x08000000;
815  interleaveBatchSize_ = input.readInt32();
816  break;
817  }
818  case 1080: {
819  bitField4_ |= 0x00001000;
820  catchSigintSignal_ = input.readBool();
821  break;
822  }
823  case 1088: {
824  bitField3_ |= 0x04000000;
825  interleaveSearch_ = input.readBool();
826  break;
827  }
828  case 1096: {
829  bitField4_ |= 0x00000020;
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_ |= 0x00000400;
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_ |= 0x10000000;
850  reduceMemoryUsageInInterleaveMode_ = input.readBool();
851  break;
852  }
853  case 1136: {
854  bitField3_ |= 0x00004000;
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_ |= 0x00002000;
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_ |= 0x08000000;
885  maxAllDiffCutSize_ = input.readInt32();
886  break;
887  }
888  case 1192: {
889  bitField3_ |= 0x01000000;
890  stopAfterPresolve_ = input.readBool();
891  break;
892  }
893  case 1200: {
894  bitField4_ |= 0x00000010;
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_ |= 0x10000000;
905  addLinMaxCuts_ = input.readBool();
906  break;
907  }
908  case 1224: {
909  bitField3_ |= 0x00000080;
910  hintConflictLimit_ = input.readInt32();
911  break;
912  }
913  case 1232: {
914  bitField3_ |= 0x00000001;
915  maxCutRoundsAtLevelZero_ = input.readInt32();
916  break;
917  }
918  case 1241: {
919  bitField3_ |= 0x00000004;
920  cutMaxActiveCountValue_ = input.readDouble();
921  break;
922  }
923  case 1249: {
924  bitField3_ |= 0x00000008;
925  cutActiveCountDecay_ = input.readDouble();
926  break;
927  }
928  case 1256: {
929  bitField3_ |= 0x00000010;
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_ |= 0x00001000;
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_ |= 0x00000004;
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_ |= 0x00000008;
976  fpRounding_ = rawValue;
977  }
978  break;
979  }
980  case 1328: {
981  bitField4_ |= 0x00010000;
982  mipAutomaticallyScaleVariables_ = input.readBool();
983  break;
984  }
985  case 1336: {
986  bitField3_ |= 0x00000100;
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_ |= 0x02000000;
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_ |= 0x04000000;
1013  addCliqueCuts_ = input.readBool();
1014  break;
1015  }
1016  default: {
1017  if (!parseUnknownField(
1018  input, unknownFields, extensionRegistry, tag)) {
1019  done = true;
1020  }
1021  break;
1022  }
1023  }
1024  }
1025  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1026  throw e.setUnfinishedMessage(this);
1027  } catch (java.io.IOException e) {
1028  throw new com.google.protobuf.InvalidProtocolBufferException(
1029  e).setUnfinishedMessage(this);
1030  } finally {
1031  if (((mutable_bitField0_ & 0x20000000) != 0)) {
1032  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
1033  }
1034  this.unknownFields = unknownFields.build();
1035  makeExtensionsImmutable();
1036  }
1037  }
1038  public static final com.google.protobuf.Descriptors.Descriptor
1040  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
1041  }
1042 
1043  @java.lang.Override
1044  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1046  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
1047  .ensureFieldAccessorsInitialized(
1049  }
1050 
1059  public enum VariableOrder
1060  implements com.google.protobuf.ProtocolMessageEnum {
1077  ;
1078 
1086  public static final int IN_ORDER_VALUE = 0;
1090  public static final int IN_REVERSE_ORDER_VALUE = 1;
1094  public static final int IN_RANDOM_ORDER_VALUE = 2;
1095 
1096 
1097  public final int getNumber() {
1098  return value;
1099  }
1100 
1106  @java.lang.Deprecated
1107  public static VariableOrder valueOf(int value) {
1108  return forNumber(value);
1109  }
1110 
1115  public static VariableOrder forNumber(int value) {
1116  switch (value) {
1117  case 0: return IN_ORDER;
1118  case 1: return IN_REVERSE_ORDER;
1119  case 2: return IN_RANDOM_ORDER;
1120  default: return null;
1121  }
1122  }
1123 
1124  public static com.google.protobuf.Internal.EnumLiteMap<VariableOrder>
1126  return internalValueMap;
1127  }
1128  private static final com.google.protobuf.Internal.EnumLiteMap<
1129  VariableOrder> internalValueMap =
1130  new com.google.protobuf.Internal.EnumLiteMap<VariableOrder>() {
1131  public VariableOrder findValueByNumber(int number) {
1132  return VariableOrder.forNumber(number);
1133  }
1134  };
1135 
1136  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1138  return getDescriptor().getValues().get(ordinal());
1139  }
1140  public final com.google.protobuf.Descriptors.EnumDescriptor
1142  return getDescriptor();
1143  }
1144  public static final com.google.protobuf.Descriptors.EnumDescriptor
1146  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
1147  }
1148 
1149  private static final VariableOrder[] VALUES = values();
1150 
1151  public static VariableOrder valueOf(
1152  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1153  if (desc.getType() != getDescriptor()) {
1154  throw new java.lang.IllegalArgumentException(
1155  "EnumValueDescriptor is not for this type.");
1156  }
1157  return VALUES[desc.getIndex()];
1158  }
1159 
1160  private final int value;
1161 
1162  private VariableOrder(int value) {
1163  this.value = value;
1164  }
1165 
1166  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.VariableOrder)
1167  }
1168 
1180  public enum Polarity
1181  implements com.google.protobuf.ProtocolMessageEnum {
1213  ;
1214 
1218  public static final int POLARITY_TRUE_VALUE = 0;
1222  public static final int POLARITY_FALSE_VALUE = 1;
1226  public static final int POLARITY_RANDOM_VALUE = 2;
1237  public static final int POLARITY_WEIGHTED_SIGN_VALUE = 3;
1245  public static final int POLARITY_REVERSE_WEIGHTED_SIGN_VALUE = 4;
1246 
1247 
1248  public final int getNumber() {
1249  return value;
1250  }
1251 
1257  @java.lang.Deprecated
1258  public static Polarity valueOf(int value) {
1259  return forNumber(value);
1260  }
1261 
1266  public static Polarity forNumber(int value) {
1267  switch (value) {
1268  case 0: return POLARITY_TRUE;
1269  case 1: return POLARITY_FALSE;
1270  case 2: return POLARITY_RANDOM;
1271  case 3: return POLARITY_WEIGHTED_SIGN;
1272  case 4: return POLARITY_REVERSE_WEIGHTED_SIGN;
1273  default: return null;
1274  }
1275  }
1276 
1277  public static com.google.protobuf.Internal.EnumLiteMap<Polarity>
1279  return internalValueMap;
1280  }
1281  private static final com.google.protobuf.Internal.EnumLiteMap<
1282  Polarity> internalValueMap =
1283  new com.google.protobuf.Internal.EnumLiteMap<Polarity>() {
1284  public Polarity findValueByNumber(int number) {
1285  return Polarity.forNumber(number);
1286  }
1287  };
1288 
1289  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1291  return getDescriptor().getValues().get(ordinal());
1292  }
1293  public final com.google.protobuf.Descriptors.EnumDescriptor
1295  return getDescriptor();
1296  }
1297  public static final com.google.protobuf.Descriptors.EnumDescriptor
1299  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
1300  }
1301 
1302  private static final Polarity[] VALUES = values();
1303 
1304  public static Polarity valueOf(
1305  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1306  if (desc.getType() != getDescriptor()) {
1307  throw new java.lang.IllegalArgumentException(
1308  "EnumValueDescriptor is not for this type.");
1309  }
1310  return VALUES[desc.getIndex()];
1311  }
1312 
1313  private final int value;
1314 
1315  private Polarity(int value) {
1316  this.value = value;
1317  }
1318 
1319  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.Polarity)
1320  }
1321 
1330  implements com.google.protobuf.ProtocolMessageEnum {
1334  NONE(0),
1347  ;
1348 
1352  public static final int NONE_VALUE = 0;
1356  public static final int SIMPLE_VALUE = 1;
1360  public static final int RECURSIVE_VALUE = 2;
1364  public static final int EXPERIMENTAL_VALUE = 3;
1365 
1366 
1367  public final int getNumber() {
1368  return value;
1369  }
1370 
1376  @java.lang.Deprecated
1377  public static ConflictMinimizationAlgorithm valueOf(int value) {
1378  return forNumber(value);
1379  }
1380 
1385  public static ConflictMinimizationAlgorithm forNumber(int value) {
1386  switch (value) {
1387  case 0: return NONE;
1388  case 1: return SIMPLE;
1389  case 2: return RECURSIVE;
1390  case 3: return EXPERIMENTAL;
1391  default: return null;
1392  }
1393  }
1394 
1395  public static com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>
1397  return internalValueMap;
1398  }
1399  private static final com.google.protobuf.Internal.EnumLiteMap<
1400  ConflictMinimizationAlgorithm> internalValueMap =
1401  new com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>() {
1402  public ConflictMinimizationAlgorithm findValueByNumber(int number) {
1404  }
1405  };
1406 
1407  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1409  return getDescriptor().getValues().get(ordinal());
1410  }
1411  public final com.google.protobuf.Descriptors.EnumDescriptor
1413  return getDescriptor();
1414  }
1415  public static final com.google.protobuf.Descriptors.EnumDescriptor
1417  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
1418  }
1419 
1420  private static final ConflictMinimizationAlgorithm[] VALUES = values();
1421 
1423  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1424  if (desc.getType() != getDescriptor()) {
1425  throw new java.lang.IllegalArgumentException(
1426  "EnumValueDescriptor is not for this type.");
1427  }
1428  return VALUES[desc.getIndex()];
1429  }
1430 
1431  private final int value;
1432 
1433  private ConflictMinimizationAlgorithm(int value) {
1434  this.value = value;
1435  }
1436 
1437  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ConflictMinimizationAlgorithm)
1438  }
1439 
1449  implements com.google.protobuf.ProtocolMessageEnum {
1470  ;
1471 
1475  public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
1479  public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
1483  public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
1487  public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
1491  public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
1492 
1493 
1494  public final int getNumber() {
1495  return value;
1496  }
1497 
1503  @java.lang.Deprecated
1504  public static BinaryMinizationAlgorithm valueOf(int value) {
1505  return forNumber(value);
1506  }
1507 
1512  public static BinaryMinizationAlgorithm forNumber(int value) {
1513  switch (value) {
1514  case 0: return NO_BINARY_MINIMIZATION;
1515  case 1: return BINARY_MINIMIZATION_FIRST;
1516  case 4: return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
1517  case 2: return BINARY_MINIMIZATION_WITH_REACHABILITY;
1518  case 3: return EXPERIMENTAL_BINARY_MINIMIZATION;
1519  default: return null;
1520  }
1521  }
1522 
1523  public static com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>
1525  return internalValueMap;
1526  }
1527  private static final com.google.protobuf.Internal.EnumLiteMap<
1528  BinaryMinizationAlgorithm> internalValueMap =
1529  new com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>() {
1530  public BinaryMinizationAlgorithm findValueByNumber(int number) {
1531  return BinaryMinizationAlgorithm.forNumber(number);
1532  }
1533  };
1534 
1535  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1537  return getDescriptor().getValues().get(ordinal());
1538  }
1539  public final com.google.protobuf.Descriptors.EnumDescriptor
1541  return getDescriptor();
1542  }
1543  public static final com.google.protobuf.Descriptors.EnumDescriptor
1545  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
1546  }
1547 
1548  private static final BinaryMinizationAlgorithm[] VALUES = values();
1549 
1551  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1552  if (desc.getType() != getDescriptor()) {
1553  throw new java.lang.IllegalArgumentException(
1554  "EnumValueDescriptor is not for this type.");
1555  }
1556  return VALUES[desc.getIndex()];
1557  }
1558 
1559  private final int value;
1560 
1561  private BinaryMinizationAlgorithm(int value) {
1562  this.value = value;
1563  }
1564 
1565  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.BinaryMinizationAlgorithm)
1566  }
1567 
1577  public enum ClauseProtection
1578  implements com.google.protobuf.ProtocolMessageEnum {
1603  ;
1604 
1612  public static final int PROTECTION_NONE_VALUE = 0;
1620  public static final int PROTECTION_ALWAYS_VALUE = 1;
1628  public static final int PROTECTION_LBD_VALUE = 2;
1629 
1630 
1631  public final int getNumber() {
1632  return value;
1633  }
1634 
1640  @java.lang.Deprecated
1641  public static ClauseProtection valueOf(int value) {
1642  return forNumber(value);
1643  }
1644 
1649  public static ClauseProtection forNumber(int value) {
1650  switch (value) {
1651  case 0: return PROTECTION_NONE;
1652  case 1: return PROTECTION_ALWAYS;
1653  case 2: return PROTECTION_LBD;
1654  default: return null;
1655  }
1656  }
1657 
1658  public static com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>
1660  return internalValueMap;
1661  }
1662  private static final com.google.protobuf.Internal.EnumLiteMap<
1663  ClauseProtection> internalValueMap =
1664  new com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>() {
1665  public ClauseProtection findValueByNumber(int number) {
1666  return ClauseProtection.forNumber(number);
1667  }
1668  };
1669 
1670  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1672  return getDescriptor().getValues().get(ordinal());
1673  }
1674  public final com.google.protobuf.Descriptors.EnumDescriptor
1676  return getDescriptor();
1677  }
1678  public static final com.google.protobuf.Descriptors.EnumDescriptor
1680  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
1681  }
1682 
1683  private static final ClauseProtection[] VALUES = values();
1684 
1685  public static ClauseProtection valueOf(
1686  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1687  if (desc.getType() != getDescriptor()) {
1688  throw new java.lang.IllegalArgumentException(
1689  "EnumValueDescriptor is not for this type.");
1690  }
1691  return VALUES[desc.getIndex()];
1692  }
1693 
1694  private final int value;
1695 
1696  private ClauseProtection(int value) {
1697  this.value = value;
1698  }
1699 
1700  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseProtection)
1701  }
1702 
1711  public enum ClauseOrdering
1712  implements com.google.protobuf.ProtocolMessageEnum {
1729  ;
1730 
1738  public static final int CLAUSE_ACTIVITY_VALUE = 0;
1746  public static final int CLAUSE_LBD_VALUE = 1;
1747 
1748 
1749  public final int getNumber() {
1750  return value;
1751  }
1752 
1758  @java.lang.Deprecated
1759  public static ClauseOrdering valueOf(int value) {
1760  return forNumber(value);
1761  }
1762 
1767  public static ClauseOrdering forNumber(int value) {
1768  switch (value) {
1769  case 0: return CLAUSE_ACTIVITY;
1770  case 1: return CLAUSE_LBD;
1771  default: return null;
1772  }
1773  }
1774 
1775  public static com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>
1777  return internalValueMap;
1778  }
1779  private static final com.google.protobuf.Internal.EnumLiteMap<
1780  ClauseOrdering> internalValueMap =
1781  new com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>() {
1782  public ClauseOrdering findValueByNumber(int number) {
1783  return ClauseOrdering.forNumber(number);
1784  }
1785  };
1786 
1787  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1789  return getDescriptor().getValues().get(ordinal());
1790  }
1791  public final com.google.protobuf.Descriptors.EnumDescriptor
1793  return getDescriptor();
1794  }
1795  public static final com.google.protobuf.Descriptors.EnumDescriptor
1797  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
1798  }
1799 
1800  private static final ClauseOrdering[] VALUES = values();
1801 
1802  public static ClauseOrdering valueOf(
1803  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1804  if (desc.getType() != getDescriptor()) {
1805  throw new java.lang.IllegalArgumentException(
1806  "EnumValueDescriptor is not for this type.");
1807  }
1808  return VALUES[desc.getIndex()];
1809  }
1810 
1811  private final int value;
1812 
1813  private ClauseOrdering(int value) {
1814  this.value = value;
1815  }
1816 
1817  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseOrdering)
1818  }
1819 
1831  public enum RestartAlgorithm
1832  implements com.google.protobuf.ProtocolMessageEnum {
1869  ;
1870 
1874  public static final int NO_RESTART_VALUE = 0;
1882  public static final int LUBY_RESTART_VALUE = 1;
1890  public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
1898  public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
1906  public static final int FIXED_RESTART_VALUE = 4;
1907 
1908 
1909  public final int getNumber() {
1910  return value;
1911  }
1912 
1918  @java.lang.Deprecated
1919  public static RestartAlgorithm valueOf(int value) {
1920  return forNumber(value);
1921  }
1922 
1927  public static RestartAlgorithm forNumber(int value) {
1928  switch (value) {
1929  case 0: return NO_RESTART;
1930  case 1: return LUBY_RESTART;
1931  case 2: return DL_MOVING_AVERAGE_RESTART;
1932  case 3: return LBD_MOVING_AVERAGE_RESTART;
1933  case 4: return FIXED_RESTART;
1934  default: return null;
1935  }
1936  }
1937 
1938  public static com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>
1940  return internalValueMap;
1941  }
1942  private static final com.google.protobuf.Internal.EnumLiteMap<
1943  RestartAlgorithm> internalValueMap =
1944  new com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>() {
1945  public RestartAlgorithm findValueByNumber(int number) {
1946  return RestartAlgorithm.forNumber(number);
1947  }
1948  };
1949 
1950  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1952  return getDescriptor().getValues().get(ordinal());
1953  }
1954  public final com.google.protobuf.Descriptors.EnumDescriptor
1956  return getDescriptor();
1957  }
1958  public static final com.google.protobuf.Descriptors.EnumDescriptor
1960  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
1961  }
1962 
1963  private static final RestartAlgorithm[] VALUES = values();
1964 
1965  public static RestartAlgorithm valueOf(
1966  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1967  if (desc.getType() != getDescriptor()) {
1968  throw new java.lang.IllegalArgumentException(
1969  "EnumValueDescriptor is not for this type.");
1970  }
1971  return VALUES[desc.getIndex()];
1972  }
1973 
1974  private final int value;
1975 
1976  private RestartAlgorithm(int value) {
1977  this.value = value;
1978  }
1979 
1980  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.RestartAlgorithm)
1981  }
1982 
1991  implements com.google.protobuf.ProtocolMessageEnum {
2004  ;
2005 
2009  public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
2013  public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
2017  public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
2018 
2019 
2020  public final int getNumber() {
2021  return value;
2022  }
2023 
2029  @java.lang.Deprecated
2030  public static MaxSatAssumptionOrder valueOf(int value) {
2031  return forNumber(value);
2032  }
2033 
2038  public static MaxSatAssumptionOrder forNumber(int value) {
2039  switch (value) {
2040  case 0: return DEFAULT_ASSUMPTION_ORDER;
2041  case 1: return ORDER_ASSUMPTION_BY_DEPTH;
2042  case 2: return ORDER_ASSUMPTION_BY_WEIGHT;
2043  default: return null;
2044  }
2045  }
2046 
2047  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>
2049  return internalValueMap;
2050  }
2051  private static final com.google.protobuf.Internal.EnumLiteMap<
2052  MaxSatAssumptionOrder> internalValueMap =
2053  new com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>() {
2054  public MaxSatAssumptionOrder findValueByNumber(int number) {
2055  return MaxSatAssumptionOrder.forNumber(number);
2056  }
2057  };
2058 
2059  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2061  return getDescriptor().getValues().get(ordinal());
2062  }
2063  public final com.google.protobuf.Descriptors.EnumDescriptor
2065  return getDescriptor();
2066  }
2067  public static final com.google.protobuf.Descriptors.EnumDescriptor
2069  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
2070  }
2071 
2072  private static final MaxSatAssumptionOrder[] VALUES = values();
2073 
2075  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2076  if (desc.getType() != getDescriptor()) {
2077  throw new java.lang.IllegalArgumentException(
2078  "EnumValueDescriptor is not for this type.");
2079  }
2080  return VALUES[desc.getIndex()];
2081  }
2082 
2083  private final int value;
2084 
2085  private MaxSatAssumptionOrder(int value) {
2086  this.value = value;
2087  }
2088 
2089  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatAssumptionOrder)
2090  }
2091 
2100  implements com.google.protobuf.ProtocolMessageEnum {
2129  ;
2130 
2138  public static final int STRATIFICATION_NONE_VALUE = 0;
2147  public static final int STRATIFICATION_DESCENT_VALUE = 1;
2158  public static final int STRATIFICATION_ASCENT_VALUE = 2;
2159 
2160 
2161  public final int getNumber() {
2162  return value;
2163  }
2164 
2170  @java.lang.Deprecated
2171  public static MaxSatStratificationAlgorithm valueOf(int value) {
2172  return forNumber(value);
2173  }
2174 
2179  public static MaxSatStratificationAlgorithm forNumber(int value) {
2180  switch (value) {
2181  case 0: return STRATIFICATION_NONE;
2182  case 1: return STRATIFICATION_DESCENT;
2183  case 2: return STRATIFICATION_ASCENT;
2184  default: return null;
2185  }
2186  }
2187 
2188  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>
2190  return internalValueMap;
2191  }
2192  private static final com.google.protobuf.Internal.EnumLiteMap<
2193  MaxSatStratificationAlgorithm> internalValueMap =
2194  new com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>() {
2195  public MaxSatStratificationAlgorithm findValueByNumber(int number) {
2197  }
2198  };
2199 
2200  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2202  return getDescriptor().getValues().get(ordinal());
2203  }
2204  public final com.google.protobuf.Descriptors.EnumDescriptor
2206  return getDescriptor();
2207  }
2208  public static final com.google.protobuf.Descriptors.EnumDescriptor
2210  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
2211  }
2212 
2213  private static final MaxSatStratificationAlgorithm[] VALUES = values();
2214 
2216  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2217  if (desc.getType() != getDescriptor()) {
2218  throw new java.lang.IllegalArgumentException(
2219  "EnumValueDescriptor is not for this type.");
2220  }
2221  return VALUES[desc.getIndex()];
2222  }
2223 
2224  private final int value;
2225 
2226  private MaxSatStratificationAlgorithm(int value) {
2227  this.value = value;
2228  }
2229 
2230  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatStratificationAlgorithm)
2231  }
2232 
2240  public enum SearchBranching
2241  implements com.google.protobuf.ProtocolMessageEnum {
2309  ;
2310 
2319  public static final int AUTOMATIC_SEARCH_VALUE = 0;
2329  public static final int FIXED_SEARCH_VALUE = 1;
2337  public static final int PORTFOLIO_SEARCH_VALUE = 2;
2347  public static final int LP_SEARCH_VALUE = 3;
2357  public static final int PSEUDO_COST_SEARCH_VALUE = 4;
2367  public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
2377  public static final int HINT_SEARCH_VALUE = 6;
2378 
2379 
2380  public final int getNumber() {
2381  return value;
2382  }
2383 
2389  @java.lang.Deprecated
2390  public static SearchBranching valueOf(int value) {
2391  return forNumber(value);
2392  }
2393 
2398  public static SearchBranching forNumber(int value) {
2399  switch (value) {
2400  case 0: return AUTOMATIC_SEARCH;
2401  case 1: return FIXED_SEARCH;
2402  case 2: return PORTFOLIO_SEARCH;
2403  case 3: return LP_SEARCH;
2404  case 4: return PSEUDO_COST_SEARCH;
2405  case 5: return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
2406  case 6: return HINT_SEARCH;
2407  default: return null;
2408  }
2409  }
2410 
2411  public static com.google.protobuf.Internal.EnumLiteMap<SearchBranching>
2413  return internalValueMap;
2414  }
2415  private static final com.google.protobuf.Internal.EnumLiteMap<
2416  SearchBranching> internalValueMap =
2417  new com.google.protobuf.Internal.EnumLiteMap<SearchBranching>() {
2418  public SearchBranching findValueByNumber(int number) {
2419  return SearchBranching.forNumber(number);
2420  }
2421  };
2422 
2423  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2425  return getDescriptor().getValues().get(ordinal());
2426  }
2427  public final com.google.protobuf.Descriptors.EnumDescriptor
2429  return getDescriptor();
2430  }
2431  public static final com.google.protobuf.Descriptors.EnumDescriptor
2433  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
2434  }
2435 
2436  private static final SearchBranching[] VALUES = values();
2437 
2438  public static SearchBranching valueOf(
2439  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2440  if (desc.getType() != getDescriptor()) {
2441  throw new java.lang.IllegalArgumentException(
2442  "EnumValueDescriptor is not for this type.");
2443  }
2444  return VALUES[desc.getIndex()];
2445  }
2446 
2447  private final int value;
2448 
2449  private SearchBranching(int value) {
2450  this.value = value;
2451  }
2452 
2453  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.SearchBranching)
2454  }
2455 
2463  public enum FPRoundingMethod
2464  implements com.google.protobuf.ProtocolMessageEnum {
2505  ;
2506 
2514  public static final int NEAREST_INTEGER_VALUE = 0;
2524  public static final int LOCK_BASED_VALUE = 1;
2533  public static final int ACTIVE_LOCK_BASED_VALUE = 3;
2546  public static final int PROPAGATION_ASSISTED_VALUE = 2;
2547 
2548 
2549  public final int getNumber() {
2550  return value;
2551  }
2552 
2558  @java.lang.Deprecated
2559  public static FPRoundingMethod valueOf(int value) {
2560  return forNumber(value);
2561  }
2562 
2567  public static FPRoundingMethod forNumber(int value) {
2568  switch (value) {
2569  case 0: return NEAREST_INTEGER;
2570  case 1: return LOCK_BASED;
2571  case 3: return ACTIVE_LOCK_BASED;
2572  case 2: return PROPAGATION_ASSISTED;
2573  default: return null;
2574  }
2575  }
2576 
2577  public static com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>
2579  return internalValueMap;
2580  }
2581  private static final com.google.protobuf.Internal.EnumLiteMap<
2582  FPRoundingMethod> internalValueMap =
2583  new com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>() {
2584  public FPRoundingMethod findValueByNumber(int number) {
2585  return FPRoundingMethod.forNumber(number);
2586  }
2587  };
2588 
2589  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2591  return getDescriptor().getValues().get(ordinal());
2592  }
2593  public final com.google.protobuf.Descriptors.EnumDescriptor
2595  return getDescriptor();
2596  }
2597  public static final com.google.protobuf.Descriptors.EnumDescriptor
2599  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(10);
2600  }
2601 
2602  private static final FPRoundingMethod[] VALUES = values();
2603 
2604  public static FPRoundingMethod valueOf(
2605  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2606  if (desc.getType() != getDescriptor()) {
2607  throw new java.lang.IllegalArgumentException(
2608  "EnumValueDescriptor is not for this type.");
2609  }
2610  return VALUES[desc.getIndex()];
2611  }
2612 
2613  private final int value;
2614 
2615  private FPRoundingMethod(int value) {
2616  this.value = value;
2617  }
2618 
2619  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.FPRoundingMethod)
2620  }
2621 
2622  private int bitField0_;
2623  private int bitField1_;
2624  private int bitField2_;
2625  private int bitField3_;
2626  private int bitField4_;
2627  public static final int NAME_FIELD_NUMBER = 171;
2628  private volatile java.lang.Object name_;
2638  @java.lang.Override
2639  public boolean hasName() {
2640  return ((bitField0_ & 0x00000001) != 0);
2641  }
2651  @java.lang.Override
2652  public java.lang.String getName() {
2653  java.lang.Object ref = name_;
2654  if (ref instanceof java.lang.String) {
2655  return (java.lang.String) ref;
2656  } else {
2657  com.google.protobuf.ByteString bs =
2658  (com.google.protobuf.ByteString) ref;
2659  java.lang.String s = bs.toStringUtf8();
2660  if (bs.isValidUtf8()) {
2661  name_ = s;
2662  }
2663  return s;
2664  }
2665  }
2675  @java.lang.Override
2676  public com.google.protobuf.ByteString
2678  java.lang.Object ref = name_;
2679  if (ref instanceof java.lang.String) {
2680  com.google.protobuf.ByteString b =
2681  com.google.protobuf.ByteString.copyFromUtf8(
2682  (java.lang.String) ref);
2683  name_ = b;
2684  return b;
2685  } else {
2686  return (com.google.protobuf.ByteString) ref;
2687  }
2688  }
2689 
2690  public static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER = 1;
2691  private int preferredVariableOrder_;
2696  @java.lang.Override public boolean hasPreferredVariableOrder() {
2697  return ((bitField0_ & 0x00000002) != 0);
2698  }
2704  @SuppressWarnings("deprecation")
2706  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
2707  }
2708 
2709  public static final int INITIAL_POLARITY_FIELD_NUMBER = 2;
2710  private int initialPolarity_;
2715  @java.lang.Override public boolean hasInitialPolarity() {
2716  return ((bitField0_ & 0x00000004) != 0);
2717  }
2723  @SuppressWarnings("deprecation")
2725  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
2726  }
2727 
2728  public static final int USE_PHASE_SAVING_FIELD_NUMBER = 44;
2729  private boolean usePhaseSaving_;
2746  @java.lang.Override
2747  public boolean hasUsePhaseSaving() {
2748  return ((bitField0_ & 0x00000008) != 0);
2749  }
2766  @java.lang.Override
2767  public boolean getUsePhaseSaving() {
2768  return usePhaseSaving_;
2769  }
2770 
2771  public static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER = 168;
2772  private int polarityRephaseIncrement_;
2783  @java.lang.Override
2784  public boolean hasPolarityRephaseIncrement() {
2785  return ((bitField0_ & 0x00000010) != 0);
2786  }
2797  @java.lang.Override
2799  return polarityRephaseIncrement_;
2800  }
2801 
2802  public static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER = 45;
2803  private double randomPolarityRatio_;
2816  @java.lang.Override
2817  public boolean hasRandomPolarityRatio() {
2818  return ((bitField0_ & 0x00000020) != 0);
2819  }
2832  @java.lang.Override
2833  public double getRandomPolarityRatio() {
2834  return randomPolarityRatio_;
2835  }
2836 
2837  public static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER = 32;
2838  private double randomBranchesRatio_;
2849  @java.lang.Override
2850  public boolean hasRandomBranchesRatio() {
2851  return ((bitField0_ & 0x00000040) != 0);
2852  }
2863  @java.lang.Override
2864  public double getRandomBranchesRatio() {
2865  return randomBranchesRatio_;
2866  }
2867 
2868  public static final int USE_ERWA_HEURISTIC_FIELD_NUMBER = 75;
2869  private boolean useErwaHeuristic_;
2880  @java.lang.Override
2881  public boolean hasUseErwaHeuristic() {
2882  return ((bitField0_ & 0x00000080) != 0);
2883  }
2894  @java.lang.Override
2895  public boolean getUseErwaHeuristic() {
2896  return useErwaHeuristic_;
2897  }
2898 
2899  public static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER = 76;
2900  private double initialVariablesActivity_;
2914  @java.lang.Override
2915  public boolean hasInitialVariablesActivity() {
2916  return ((bitField0_ & 0x00000100) != 0);
2917  }
2931  @java.lang.Override
2933  return initialVariablesActivity_;
2934  }
2935 
2937  private boolean alsoBumpVariablesInConflictReasons_;
2949  @java.lang.Override
2951  return ((bitField0_ & 0x00000200) != 0);
2952  }
2964  @java.lang.Override
2966  return alsoBumpVariablesInConflictReasons_;
2967  }
2968 
2969  public static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER = 4;
2970  private int minimizationAlgorithm_;
2975  @java.lang.Override public boolean hasMinimizationAlgorithm() {
2976  return ((bitField0_ & 0x00000400) != 0);
2977  }
2983  @SuppressWarnings("deprecation")
2985  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
2986  }
2987 
2988  public static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER = 34;
2989  private int binaryMinimizationAlgorithm_;
2994  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
2995  return ((bitField0_ & 0x00000800) != 0);
2996  }
3002  @SuppressWarnings("deprecation")
3005  }
3006 
3008  private boolean subsumptionDuringConflictAnalysis_;
3020  @java.lang.Override
3022  return ((bitField0_ & 0x00001000) != 0);
3023  }
3035  @java.lang.Override
3037  return subsumptionDuringConflictAnalysis_;
3038  }
3039 
3040  public static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER = 11;
3041  private int clauseCleanupPeriod_;
3050  @java.lang.Override
3051  public boolean hasClauseCleanupPeriod() {
3052  return ((bitField0_ & 0x00002000) != 0);
3053  }
3062  @java.lang.Override
3063  public int getClauseCleanupPeriod() {
3064  return clauseCleanupPeriod_;
3065  }
3066 
3067  public static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER = 13;
3068  private int clauseCleanupTarget_;
3078  @java.lang.Override
3079  public boolean hasClauseCleanupTarget() {
3080  return ((bitField0_ & 0x00004000) != 0);
3081  }
3091  @java.lang.Override
3092  public int getClauseCleanupTarget() {
3093  return clauseCleanupTarget_;
3094  }
3095 
3096  public static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER = 58;
3097  private int clauseCleanupProtection_;
3102  @java.lang.Override public boolean hasClauseCleanupProtection() {
3103  return ((bitField0_ & 0x00008000) != 0);
3104  }
3110  @SuppressWarnings("deprecation")
3112  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
3113  }
3114 
3115  public static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER = 59;
3116  private int clauseCleanupLbdBound_;
3126  @java.lang.Override
3127  public boolean hasClauseCleanupLbdBound() {
3128  return ((bitField0_ & 0x00010000) != 0);
3129  }
3139  @java.lang.Override
3141  return clauseCleanupLbdBound_;
3142  }
3143 
3144  public static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER = 60;
3145  private int clauseCleanupOrdering_;
3150  @java.lang.Override public boolean hasClauseCleanupOrdering() {
3151  return ((bitField0_ & 0x00020000) != 0);
3152  }
3158  @SuppressWarnings("deprecation")
3160  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
3161  }
3162 
3163  public static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER = 46;
3164  private int pbCleanupIncrement_;
3173  @java.lang.Override
3174  public boolean hasPbCleanupIncrement() {
3175  return ((bitField0_ & 0x00040000) != 0);
3176  }
3185  @java.lang.Override
3186  public int getPbCleanupIncrement() {
3187  return pbCleanupIncrement_;
3188  }
3189 
3190  public static final int PB_CLEANUP_RATIO_FIELD_NUMBER = 47;
3191  private double pbCleanupRatio_;
3196  @java.lang.Override
3197  public boolean hasPbCleanupRatio() {
3198  return ((bitField0_ & 0x00080000) != 0);
3199  }
3204  @java.lang.Override
3205  public double getPbCleanupRatio() {
3206  return pbCleanupRatio_;
3207  }
3208 
3210  private int minimizeWithPropagationRestartPeriod_;
3229  @java.lang.Override
3231  return ((bitField0_ & 0x00100000) != 0);
3232  }
3251  @java.lang.Override
3253  return minimizeWithPropagationRestartPeriod_;
3254  }
3255 
3257  private int minimizeWithPropagationNumDecisions_;
3262  @java.lang.Override
3264  return ((bitField0_ & 0x00200000) != 0);
3265  }
3270  @java.lang.Override
3272  return minimizeWithPropagationNumDecisions_;
3273  }
3274 
3275  public static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER = 15;
3276  private double variableActivityDecay_;
3291  @java.lang.Override
3292  public boolean hasVariableActivityDecay() {
3293  return ((bitField0_ & 0x00400000) != 0);
3294  }
3309  @java.lang.Override
3310  public double getVariableActivityDecay() {
3311  return variableActivityDecay_;
3312  }
3313 
3314  public static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER = 16;
3315  private double maxVariableActivityValue_;
3320  @java.lang.Override
3321  public boolean hasMaxVariableActivityValue() {
3322  return ((bitField0_ & 0x00800000) != 0);
3323  }
3328  @java.lang.Override
3330  return maxVariableActivityValue_;
3331  }
3332 
3333  public static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER = 22;
3334  private double glucoseMaxDecay_;
3346  @java.lang.Override
3347  public boolean hasGlucoseMaxDecay() {
3348  return ((bitField0_ & 0x01000000) != 0);
3349  }
3361  @java.lang.Override
3362  public double getGlucoseMaxDecay() {
3363  return glucoseMaxDecay_;
3364  }
3365 
3366  public static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER = 23;
3367  private double glucoseDecayIncrement_;
3372  @java.lang.Override
3373  public boolean hasGlucoseDecayIncrement() {
3374  return ((bitField0_ & 0x02000000) != 0);
3375  }
3380  @java.lang.Override
3381  public double getGlucoseDecayIncrement() {
3382  return glucoseDecayIncrement_;
3383  }
3384 
3385  public static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER = 24;
3386  private int glucoseDecayIncrementPeriod_;
3391  @java.lang.Override
3393  return ((bitField0_ & 0x04000000) != 0);
3394  }
3399  @java.lang.Override
3401  return glucoseDecayIncrementPeriod_;
3402  }
3403 
3404  public static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER = 17;
3405  private double clauseActivityDecay_;
3414  @java.lang.Override
3415  public boolean hasClauseActivityDecay() {
3416  return ((bitField0_ & 0x08000000) != 0);
3417  }
3426  @java.lang.Override
3427  public double getClauseActivityDecay() {
3428  return clauseActivityDecay_;
3429  }
3430 
3431  public static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER = 18;
3432  private double maxClauseActivityValue_;
3437  @java.lang.Override
3438  public boolean hasMaxClauseActivityValue() {
3439  return ((bitField0_ & 0x10000000) != 0);
3440  }
3445  @java.lang.Override
3446  public double getMaxClauseActivityValue() {
3447  return maxClauseActivityValue_;
3448  }
3449 
3450  public static final int RESTART_ALGORITHMS_FIELD_NUMBER = 61;
3451  private java.util.List<java.lang.Integer> restartAlgorithms_;
3452  private static final com.google.protobuf.Internal.ListAdapter.Converter<
3453  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm> restartAlgorithms_converter_ =
3454  new com.google.protobuf.Internal.ListAdapter.Converter<
3455  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>() {
3456  public com.google.ortools.sat.SatParameters.RestartAlgorithm convert(java.lang.Integer from) {
3457  @SuppressWarnings("deprecation")
3459  return result == null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
3460  }
3461  };
3477  @java.lang.Override
3479  return new com.google.protobuf.Internal.ListAdapter<
3480  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
3481  }
3497  @java.lang.Override
3499  return restartAlgorithms_.size();
3500  }
3517  @java.lang.Override
3519  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
3520  }
3521 
3522  public static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER = 70;
3523  private volatile java.lang.Object defaultRestartAlgorithms_;
3528  @java.lang.Override
3529  public boolean hasDefaultRestartAlgorithms() {
3530  return ((bitField0_ & 0x20000000) != 0);
3531  }
3536  @java.lang.Override
3537  public java.lang.String getDefaultRestartAlgorithms() {
3538  java.lang.Object ref = defaultRestartAlgorithms_;
3539  if (ref instanceof java.lang.String) {
3540  return (java.lang.String) ref;
3541  } else {
3542  com.google.protobuf.ByteString bs =
3543  (com.google.protobuf.ByteString) ref;
3544  java.lang.String s = bs.toStringUtf8();
3545  if (bs.isValidUtf8()) {
3546  defaultRestartAlgorithms_ = s;
3547  }
3548  return s;
3549  }
3550  }
3555  @java.lang.Override
3556  public com.google.protobuf.ByteString
3558  java.lang.Object ref = defaultRestartAlgorithms_;
3559  if (ref instanceof java.lang.String) {
3560  com.google.protobuf.ByteString b =
3561  com.google.protobuf.ByteString.copyFromUtf8(
3562  (java.lang.String) ref);
3563  defaultRestartAlgorithms_ = b;
3564  return b;
3565  } else {
3566  return (com.google.protobuf.ByteString) ref;
3567  }
3568  }
3569 
3570  public static final int RESTART_PERIOD_FIELD_NUMBER = 30;
3571  private int restartPeriod_;
3581  @java.lang.Override
3582  public boolean hasRestartPeriod() {
3583  return ((bitField0_ & 0x40000000) != 0);
3584  }
3594  @java.lang.Override
3595  public int getRestartPeriod() {
3596  return restartPeriod_;
3597  }
3598 
3599  public static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER = 62;
3600  private int restartRunningWindowSize_;
3609  @java.lang.Override
3610  public boolean hasRestartRunningWindowSize() {
3611  return ((bitField0_ & 0x80000000) != 0);
3612  }
3621  @java.lang.Override
3623  return restartRunningWindowSize_;
3624  }
3625 
3626  public static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER = 63;
3627  private double restartDlAverageRatio_;
3637  @java.lang.Override
3638  public boolean hasRestartDlAverageRatio() {
3639  return ((bitField1_ & 0x00000001) != 0);
3640  }
3650  @java.lang.Override
3651  public double getRestartDlAverageRatio() {
3652  return restartDlAverageRatio_;
3653  }
3654 
3655  public static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER = 71;
3656  private double restartLbdAverageRatio_;
3661  @java.lang.Override
3662  public boolean hasRestartLbdAverageRatio() {
3663  return ((bitField1_ & 0x00000002) != 0);
3664  }
3669  @java.lang.Override
3670  public double getRestartLbdAverageRatio() {
3671  return restartLbdAverageRatio_;
3672  }
3673 
3674  public static final int USE_BLOCKING_RESTART_FIELD_NUMBER = 64;
3675  private boolean useBlockingRestart_;
3686  @java.lang.Override
3687  public boolean hasUseBlockingRestart() {
3688  return ((bitField1_ & 0x00000004) != 0);
3689  }
3700  @java.lang.Override
3701  public boolean getUseBlockingRestart() {
3702  return useBlockingRestart_;
3703  }
3704 
3705  public static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER = 65;
3706  private int blockingRestartWindowSize_;
3711  @java.lang.Override
3712  public boolean hasBlockingRestartWindowSize() {
3713  return ((bitField1_ & 0x00000008) != 0);
3714  }
3719  @java.lang.Override
3721  return blockingRestartWindowSize_;
3722  }
3723 
3724  public static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER = 66;
3725  private double blockingRestartMultiplier_;
3730  @java.lang.Override
3731  public boolean hasBlockingRestartMultiplier() {
3732  return ((bitField1_ & 0x00000010) != 0);
3733  }
3738  @java.lang.Override
3740  return blockingRestartMultiplier_;
3741  }
3742 
3744  private int numConflictsBeforeStrategyChanges_;
3755  @java.lang.Override
3757  return ((bitField1_ & 0x00000020) != 0);
3758  }
3769  @java.lang.Override
3771  return numConflictsBeforeStrategyChanges_;
3772  }
3773 
3774  public static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER = 69;
3775  private double strategyChangeIncreaseRatio_;
3785  @java.lang.Override
3787  return ((bitField1_ & 0x00000040) != 0);
3788  }
3798  @java.lang.Override
3800  return strategyChangeIncreaseRatio_;
3801  }
3802 
3803  public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 36;
3804  private double maxTimeInSeconds_;
3814  @java.lang.Override
3815  public boolean hasMaxTimeInSeconds() {
3816  return ((bitField1_ & 0x00000080) != 0);
3817  }
3827  @java.lang.Override
3828  public double getMaxTimeInSeconds() {
3829  return maxTimeInSeconds_;
3830  }
3831 
3832  public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 67;
3833  private double maxDeterministicTime_;
3844  @java.lang.Override
3845  public boolean hasMaxDeterministicTime() {
3846  return ((bitField1_ & 0x00000100) != 0);
3847  }
3858  @java.lang.Override
3859  public double getMaxDeterministicTime() {
3860  return maxDeterministicTime_;
3861  }
3862 
3863  public static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER = 37;
3864  private long maxNumberOfConflicts_;
3878  @java.lang.Override
3879  public boolean hasMaxNumberOfConflicts() {
3880  return ((bitField1_ & 0x00000200) != 0);
3881  }
3895  @java.lang.Override
3896  public long getMaxNumberOfConflicts() {
3897  return maxNumberOfConflicts_;
3898  }
3899 
3900  public static final int MAX_MEMORY_IN_MB_FIELD_NUMBER = 40;
3901  private long maxMemoryInMb_;
3913  @java.lang.Override
3914  public boolean hasMaxMemoryInMb() {
3915  return ((bitField1_ & 0x00000400) != 0);
3916  }
3928  @java.lang.Override
3929  public long getMaxMemoryInMb() {
3930  return maxMemoryInMb_;
3931  }
3932 
3933  public static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER = 159;
3934  private double absoluteGapLimit_;
3952  @java.lang.Override
3953  public boolean hasAbsoluteGapLimit() {
3954  return ((bitField1_ & 0x00000800) != 0);
3955  }
3973  @java.lang.Override
3974  public double getAbsoluteGapLimit() {
3975  return absoluteGapLimit_;
3976  }
3977 
3978  public static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER = 160;
3979  private double relativeGapLimit_;
3984  @java.lang.Override
3985  public boolean hasRelativeGapLimit() {
3986  return ((bitField1_ & 0x00001000) != 0);
3987  }
3992  @java.lang.Override
3993  public double getRelativeGapLimit() {
3994  return relativeGapLimit_;
3995  }
3996 
3997  public static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER = 33;
3998  private boolean treatBinaryClausesSeparately_;
4009  @java.lang.Override
4011  return ((bitField1_ & 0x00002000) != 0);
4012  }
4023  @java.lang.Override
4025  return treatBinaryClausesSeparately_;
4026  }
4027 
4028  public static final int RANDOM_SEED_FIELD_NUMBER = 31;
4029  private int randomSeed_;
4043  @java.lang.Override
4044  public boolean hasRandomSeed() {
4045  return ((bitField1_ & 0x00004000) != 0);
4046  }
4060  @java.lang.Override
4061  public int getRandomSeed() {
4062  return randomSeed_;
4063  }
4064 
4065  public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 41;
4066  private boolean logSearchProgress_;
4075  @java.lang.Override
4076  public boolean hasLogSearchProgress() {
4077  return ((bitField1_ & 0x00008000) != 0);
4078  }
4087  @java.lang.Override
4088  public boolean getLogSearchProgress() {
4089  return logSearchProgress_;
4090  }
4091 
4092  public static final int USE_PB_RESOLUTION_FIELD_NUMBER = 43;
4093  private boolean usePbResolution_;
4105  @java.lang.Override
4106  public boolean hasUsePbResolution() {
4107  return ((bitField1_ & 0x00010000) != 0);
4108  }
4120  @java.lang.Override
4121  public boolean getUsePbResolution() {
4122  return usePbResolution_;
4123  }
4124 
4126  private boolean minimizeReductionDuringPbResolution_;
4138  @java.lang.Override
4140  return ((bitField1_ & 0x00020000) != 0);
4141  }
4153  @java.lang.Override
4155  return minimizeReductionDuringPbResolution_;
4156  }
4157 
4158  public static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER = 49;
4159  private boolean countAssumptionLevelsInLbd_;
4175  @java.lang.Override
4177  return ((bitField1_ & 0x00040000) != 0);
4178  }
4194  @java.lang.Override
4196  return countAssumptionLevelsInLbd_;
4197  }
4198 
4199  public static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER = 54;
4200  private int presolveBveThreshold_;
4211  @java.lang.Override
4212  public boolean hasPresolveBveThreshold() {
4213  return ((bitField1_ & 0x00080000) != 0);
4214  }
4225  @java.lang.Override
4227  return presolveBveThreshold_;
4228  }
4229 
4230  public static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER = 55;
4231  private int presolveBveClauseWeight_;
4241  @java.lang.Override
4242  public boolean hasPresolveBveClauseWeight() {
4243  return ((bitField1_ & 0x00100000) != 0);
4244  }
4254  @java.lang.Override
4256  return presolveBveClauseWeight_;
4257  }
4258 
4260  private double presolveProbingDeterministicTimeLimit_;
4270  @java.lang.Override
4272  return ((bitField1_ & 0x00200000) != 0);
4273  }
4283  @java.lang.Override
4285  return presolveProbingDeterministicTimeLimit_;
4286  }
4287 
4288  public static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER = 88;
4289  private boolean presolveBlockedClause_;
4299  @java.lang.Override
4300  public boolean hasPresolveBlockedClause() {
4301  return ((bitField1_ & 0x00400000) != 0);
4302  }
4312  @java.lang.Override
4313  public boolean getPresolveBlockedClause() {
4314  return presolveBlockedClause_;
4315  }
4316 
4317  public static final int PRESOLVE_USE_BVA_FIELD_NUMBER = 72;
4318  private boolean presolveUseBva_;
4327  @java.lang.Override
4328  public boolean hasPresolveUseBva() {
4329  return ((bitField1_ & 0x00800000) != 0);
4330  }
4339  @java.lang.Override
4340  public boolean getPresolveUseBva() {
4341  return presolveUseBva_;
4342  }
4343 
4344  public static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER = 73;
4345  private int presolveBvaThreshold_;
4357  @java.lang.Override
4358  public boolean hasPresolveBvaThreshold() {
4359  return ((bitField1_ & 0x01000000) != 0);
4360  }
4372  @java.lang.Override
4374  return presolveBvaThreshold_;
4375  }
4376 
4377  public static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER = 138;
4378  private int maxPresolveIterations_;
4389  @java.lang.Override
4390  public boolean hasMaxPresolveIterations() {
4391  return ((bitField1_ & 0x02000000) != 0);
4392  }
4403  @java.lang.Override
4405  return maxPresolveIterations_;
4406  }
4407 
4408  public static final int CP_MODEL_PRESOLVE_FIELD_NUMBER = 86;
4409  private boolean cpModelPresolve_;
4418  @java.lang.Override
4419  public boolean hasCpModelPresolve() {
4420  return ((bitField1_ & 0x04000000) != 0);
4421  }
4430  @java.lang.Override
4431  public boolean getCpModelPresolve() {
4432  return cpModelPresolve_;
4433  }
4434 
4436  private boolean cpModelPostsolveWithFullSolver_;
4448  @java.lang.Override
4450  return ((bitField1_ & 0x08000000) != 0);
4451  }
4463  @java.lang.Override
4465  return cpModelPostsolveWithFullSolver_;
4466  }
4467 
4469  private int cpModelMaxNumPresolveOperations_;
4479  @java.lang.Override
4481  return ((bitField1_ & 0x10000000) != 0);
4482  }
4492  @java.lang.Override
4494  return cpModelMaxNumPresolveOperations_;
4495  }
4496 
4497  public static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER = 110;
4498  private int cpModelProbingLevel_;
4507  @java.lang.Override
4508  public boolean hasCpModelProbingLevel() {
4509  return ((bitField1_ & 0x20000000) != 0);
4510  }
4519  @java.lang.Override
4520  public int getCpModelProbingLevel() {
4521  return cpModelProbingLevel_;
4522  }
4523 
4524  public static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER = 93;
4525  private boolean cpModelUseSatPresolve_;
4534  @java.lang.Override
4535  public boolean hasCpModelUseSatPresolve() {
4536  return ((bitField1_ & 0x40000000) != 0);
4537  }
4546  @java.lang.Override
4547  public boolean getCpModelUseSatPresolve() {
4548  return cpModelUseSatPresolve_;
4549  }
4550 
4551  public static final int USE_SAT_INPROCESSING_FIELD_NUMBER = 163;
4552  private boolean useSatInprocessing_;
4557  @java.lang.Override
4558  public boolean hasUseSatInprocessing() {
4559  return ((bitField1_ & 0x80000000) != 0);
4560  }
4565  @java.lang.Override
4566  public boolean getUseSatInprocessing() {
4567  return useSatInprocessing_;
4568  }
4569 
4570  public static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER = 140;
4571  private boolean expandElementConstraints_;
4581  @java.lang.Override
4582  public boolean hasExpandElementConstraints() {
4583  return ((bitField2_ & 0x00000001) != 0);
4584  }
4594  @java.lang.Override
4595  public boolean getExpandElementConstraints() {
4596  return expandElementConstraints_;
4597  }
4598 
4599  public static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER = 143;
4600  private boolean expandAutomatonConstraints_;
4609  @java.lang.Override
4611  return ((bitField2_ & 0x00000002) != 0);
4612  }
4621  @java.lang.Override
4623  return expandAutomatonConstraints_;
4624  }
4625 
4626  public static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER = 158;
4627  private boolean expandTableConstraints_;
4637  @java.lang.Override
4638  public boolean hasExpandTableConstraints() {
4639  return ((bitField2_ & 0x00000004) != 0);
4640  }
4650  @java.lang.Override
4651  public boolean getExpandTableConstraints() {
4652  return expandTableConstraints_;
4653  }
4654 
4655  public static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER = 170;
4656  private boolean expandAlldiffConstraints_;
4666  @java.lang.Override
4667  public boolean hasExpandAlldiffConstraints() {
4668  return ((bitField2_ & 0x00000008) != 0);
4669  }
4679  @java.lang.Override
4680  public boolean getExpandAlldiffConstraints() {
4681  return expandAlldiffConstraints_;
4682  }
4683 
4684  public static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER = 145;
4685  private double mergeNoOverlapWorkLimit_;
4698  @java.lang.Override
4699  public boolean hasMergeNoOverlapWorkLimit() {
4700  return ((bitField2_ & 0x00000010) != 0);
4701  }
4714  @java.lang.Override
4715  public double getMergeNoOverlapWorkLimit() {
4716  return mergeNoOverlapWorkLimit_;
4717  }
4718 
4719  public static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER = 146;
4720  private double mergeAtMostOneWorkLimit_;
4725  @java.lang.Override
4726  public boolean hasMergeAtMostOneWorkLimit() {
4727  return ((bitField2_ & 0x00000020) != 0);
4728  }
4733  @java.lang.Override
4734  public double getMergeAtMostOneWorkLimit() {
4735  return mergeAtMostOneWorkLimit_;
4736  }
4737 
4738  public static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER = 147;
4739  private int presolveSubstitutionLevel_;
4751  @java.lang.Override
4752  public boolean hasPresolveSubstitutionLevel() {
4753  return ((bitField2_ & 0x00000040) != 0);
4754  }
4766  @java.lang.Override
4768  return presolveSubstitutionLevel_;
4769  }
4770 
4771  public static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER = 35;
4772  private boolean useOptimizationHints_;
4784  @java.lang.Override
4785  public boolean hasUseOptimizationHints() {
4786  return ((bitField2_ & 0x00000080) != 0);
4787  }
4799  @java.lang.Override
4800  public boolean getUseOptimizationHints() {
4801  return useOptimizationHints_;
4802  }
4803 
4804  public static final int MINIMIZE_CORE_FIELD_NUMBER = 50;
4805  private boolean minimizeCore_;
4814  @java.lang.Override
4815  public boolean hasMinimizeCore() {
4816  return ((bitField2_ & 0x00000100) != 0);
4817  }
4826  @java.lang.Override
4827  public boolean getMinimizeCore() {
4828  return minimizeCore_;
4829  }
4830 
4831  public static final int FIND_MULTIPLE_CORES_FIELD_NUMBER = 84;
4832  private boolean findMultipleCores_;
4842  @java.lang.Override
4843  public boolean hasFindMultipleCores() {
4844  return ((bitField2_ & 0x00000200) != 0);
4845  }
4855  @java.lang.Override
4856  public boolean getFindMultipleCores() {
4857  return findMultipleCores_;
4858  }
4859 
4860  public static final int COVER_OPTIMIZATION_FIELD_NUMBER = 89;
4861  private boolean coverOptimization_;
4871  @java.lang.Override
4872  public boolean hasCoverOptimization() {
4873  return ((bitField2_ & 0x00000400) != 0);
4874  }
4884  @java.lang.Override
4885  public boolean getCoverOptimization() {
4886  return coverOptimization_;
4887  }
4888 
4889  public static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER = 51;
4890  private int maxSatAssumptionOrder_;
4895  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
4896  return ((bitField2_ & 0x00000800) != 0);
4897  }
4903  @SuppressWarnings("deprecation")
4906  }
4907 
4909  private boolean maxSatReverseAssumptionOrder_;
4919  @java.lang.Override
4921  return ((bitField2_ & 0x00001000) != 0);
4922  }
4932  @java.lang.Override
4934  return maxSatReverseAssumptionOrder_;
4935  }
4936 
4937  public static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER = 53;
4938  private int maxSatStratification_;
4943  @java.lang.Override public boolean hasMaxSatStratification() {
4944  return ((bitField2_ & 0x00002000) != 0);
4945  }
4951  @SuppressWarnings("deprecation")
4954  }
4955 
4957  private boolean usePrecedencesInDisjunctiveConstraint_;
4973  @java.lang.Override
4975  return ((bitField2_ & 0x00004000) != 0);
4976  }
4992  @java.lang.Override
4994  return usePrecedencesInDisjunctiveConstraint_;
4995  }
4996 
4998  private boolean useOverloadCheckerInCumulativeConstraint_;
5012  @java.lang.Override
5014  return ((bitField2_ & 0x00008000) != 0);
5015  }
5029  @java.lang.Override
5031  return useOverloadCheckerInCumulativeConstraint_;
5032  }
5033 
5035  private boolean useTimetableEdgeFindingInCumulativeConstraint_;
5049  @java.lang.Override
5051  return ((bitField2_ & 0x00010000) != 0);
5052  }
5066  @java.lang.Override
5068  return useTimetableEdgeFindingInCumulativeConstraint_;
5069  }
5070 
5072  private boolean useDisjunctiveConstraintInCumulativeConstraint_;
5088  @java.lang.Override
5090  return ((bitField2_ & 0x00020000) != 0);
5091  }
5107  @java.lang.Override
5109  return useDisjunctiveConstraintInCumulativeConstraint_;
5110  }
5111 
5112  public static final int LINEARIZATION_LEVEL_FIELD_NUMBER = 90;
5113  private int linearizationLevel_;
5125  @java.lang.Override
5126  public boolean hasLinearizationLevel() {
5127  return ((bitField2_ & 0x00040000) != 0);
5128  }
5140  @java.lang.Override
5141  public int getLinearizationLevel() {
5142  return linearizationLevel_;
5143  }
5144 
5145  public static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER = 107;
5146  private int booleanEncodingLevel_;
5156  @java.lang.Override
5157  public boolean hasBooleanEncodingLevel() {
5158  return ((bitField2_ & 0x00080000) != 0);
5159  }
5169  @java.lang.Override
5171  return booleanEncodingLevel_;
5172  }
5173 
5174  public static final int MAX_NUM_CUTS_FIELD_NUMBER = 91;
5175  private int maxNumCuts_;
5187  @java.lang.Override
5188  public boolean hasMaxNumCuts() {
5189  return ((bitField2_ & 0x00100000) != 0);
5190  }
5202  @java.lang.Override
5203  public int getMaxNumCuts() {
5204  return maxNumCuts_;
5205  }
5206 
5207  public static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER = 92;
5208  private boolean onlyAddCutsAtLevelZero_;
5218  @java.lang.Override
5219  public boolean hasOnlyAddCutsAtLevelZero() {
5220  return ((bitField2_ & 0x00200000) != 0);
5221  }
5231  @java.lang.Override
5232  public boolean getOnlyAddCutsAtLevelZero() {
5233  return onlyAddCutsAtLevelZero_;
5234  }
5235 
5236  public static final int ADD_KNAPSACK_CUTS_FIELD_NUMBER = 111;
5237  private boolean addKnapsackCuts_;
5248  @java.lang.Override
5249  public boolean hasAddKnapsackCuts() {
5250  return ((bitField2_ & 0x00400000) != 0);
5251  }
5262  @java.lang.Override
5263  public boolean getAddKnapsackCuts() {
5264  return addKnapsackCuts_;
5265  }
5266 
5267  public static final int ADD_CG_CUTS_FIELD_NUMBER = 117;
5268  private boolean addCgCuts_;
5278  @java.lang.Override
5279  public boolean hasAddCgCuts() {
5280  return ((bitField2_ & 0x00800000) != 0);
5281  }
5291  @java.lang.Override
5292  public boolean getAddCgCuts() {
5293  return addCgCuts_;
5294  }
5295 
5296  public static final int ADD_MIR_CUTS_FIELD_NUMBER = 120;
5297  private boolean addMirCuts_;
5307  @java.lang.Override
5308  public boolean hasAddMirCuts() {
5309  return ((bitField2_ & 0x01000000) != 0);
5310  }
5320  @java.lang.Override
5321  public boolean getAddMirCuts() {
5322  return addMirCuts_;
5323  }
5324 
5325  public static final int ADD_ZERO_HALF_CUTS_FIELD_NUMBER = 169;
5326  private boolean addZeroHalfCuts_;
5336  @java.lang.Override
5337  public boolean hasAddZeroHalfCuts() {
5338  return ((bitField2_ & 0x02000000) != 0);
5339  }
5349  @java.lang.Override
5350  public boolean getAddZeroHalfCuts() {
5351  return addZeroHalfCuts_;
5352  }
5353 
5354  public static final int ADD_CLIQUE_CUTS_FIELD_NUMBER = 172;
5355  private boolean addCliqueCuts_;
5366  @java.lang.Override
5367  public boolean hasAddCliqueCuts() {
5368  return ((bitField2_ & 0x04000000) != 0);
5369  }
5380  @java.lang.Override
5381  public boolean getAddCliqueCuts() {
5382  return addCliqueCuts_;
5383  }
5384 
5385  public static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER = 148;
5386  private int maxAllDiffCutSize_;
5397  @java.lang.Override
5398  public boolean hasMaxAllDiffCutSize() {
5399  return ((bitField2_ & 0x08000000) != 0);
5400  }
5411  @java.lang.Override
5412  public int getMaxAllDiffCutSize() {
5413  return maxAllDiffCutSize_;
5414  }
5415 
5416  public static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER = 152;
5417  private boolean addLinMaxCuts_;
5428  @java.lang.Override
5429  public boolean hasAddLinMaxCuts() {
5430  return ((bitField2_ & 0x10000000) != 0);
5431  }
5442  @java.lang.Override
5443  public boolean getAddLinMaxCuts() {
5444  return addLinMaxCuts_;
5445  }
5446 
5447  public static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER = 119;
5448  private int maxIntegerRoundingScaling_;
5463  @java.lang.Override
5464  public boolean hasMaxIntegerRoundingScaling() {
5465  return ((bitField2_ & 0x20000000) != 0);
5466  }
5481  @java.lang.Override
5483  return maxIntegerRoundingScaling_;
5484  }
5485 
5486  public static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER = 112;
5487  private boolean addLpConstraintsLazily_;
5499  @java.lang.Override
5500  public boolean hasAddLpConstraintsLazily() {
5501  return ((bitField2_ & 0x40000000) != 0);
5502  }
5514  @java.lang.Override
5515  public boolean getAddLpConstraintsLazily() {
5516  return addLpConstraintsLazily_;
5517  }
5518 
5520  private double minOrthogonalityForLpConstraints_;
5533  @java.lang.Override
5535  return ((bitField2_ & 0x80000000) != 0);
5536  }
5549  @java.lang.Override
5551  return minOrthogonalityForLpConstraints_;
5552  }
5553 
5554  public static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER = 154;
5555  private int maxCutRoundsAtLevelZero_;
5564  @java.lang.Override
5565  public boolean hasMaxCutRoundsAtLevelZero() {
5566  return ((bitField3_ & 0x00000001) != 0);
5567  }
5576  @java.lang.Override
5578  return maxCutRoundsAtLevelZero_;
5579  }
5580 
5581  public static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER = 121;
5582  private int maxConsecutiveInactiveCount_;
5593  @java.lang.Override
5595  return ((bitField3_ & 0x00000002) != 0);
5596  }
5607  @java.lang.Override
5609  return maxConsecutiveInactiveCount_;
5610  }
5611 
5612  public static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER = 155;
5613  private double cutMaxActiveCountValue_;
5624  @java.lang.Override
5625  public boolean hasCutMaxActiveCountValue() {
5626  return ((bitField3_ & 0x00000004) != 0);
5627  }
5638  @java.lang.Override
5639  public double getCutMaxActiveCountValue() {
5640  return cutMaxActiveCountValue_;
5641  }
5642 
5643  public static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER = 156;
5644  private double cutActiveCountDecay_;
5649  @java.lang.Override
5650  public boolean hasCutActiveCountDecay() {
5651  return ((bitField3_ & 0x00000008) != 0);
5652  }
5657  @java.lang.Override
5658  public double getCutActiveCountDecay() {
5659  return cutActiveCountDecay_;
5660  }
5661 
5662  public static final int CUT_CLEANUP_TARGET_FIELD_NUMBER = 157;
5663  private int cutCleanupTarget_;
5672  @java.lang.Override
5673  public boolean hasCutCleanupTarget() {
5674  return ((bitField3_ & 0x00000010) != 0);
5675  }
5684  @java.lang.Override
5685  public int getCutCleanupTarget() {
5686  return cutCleanupTarget_;
5687  }
5688 
5689  public static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER = 122;
5690  private int newConstraintsBatchSize_;
5700  @java.lang.Override
5701  public boolean hasNewConstraintsBatchSize() {
5702  return ((bitField3_ & 0x00000020) != 0);
5703  }
5713  @java.lang.Override
5715  return newConstraintsBatchSize_;
5716  }
5717 
5718  public static final int SEARCH_BRANCHING_FIELD_NUMBER = 82;
5719  private int searchBranching_;
5724  @java.lang.Override public boolean hasSearchBranching() {
5725  return ((bitField3_ & 0x00000040) != 0);
5726  }
5732  @SuppressWarnings("deprecation")
5734  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
5735  }
5736 
5737  public static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER = 153;
5738  private int hintConflictLimit_;
5747  @java.lang.Override
5748  public boolean hasHintConflictLimit() {
5749  return ((bitField3_ & 0x00000080) != 0);
5750  }
5759  @java.lang.Override
5760  public int getHintConflictLimit() {
5761  return hintConflictLimit_;
5762  }
5763 
5764  public static final int REPAIR_HINT_FIELD_NUMBER = 167;
5765  private boolean repairHint_;
5777  @java.lang.Override
5778  public boolean hasRepairHint() {
5779  return ((bitField3_ & 0x00000100) != 0);
5780  }
5792  @java.lang.Override
5793  public boolean getRepairHint() {
5794  return repairHint_;
5795  }
5796 
5797  public static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER = 94;
5798  private boolean exploitIntegerLpSolution_;
5810  @java.lang.Override
5811  public boolean hasExploitIntegerLpSolution() {
5812  return ((bitField3_ & 0x00000200) != 0);
5813  }
5825  @java.lang.Override
5826  public boolean getExploitIntegerLpSolution() {
5827  return exploitIntegerLpSolution_;
5828  }
5829 
5830  public static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER = 116;
5831  private boolean exploitAllLpSolution_;
5842  @java.lang.Override
5843  public boolean hasExploitAllLpSolution() {
5844  return ((bitField3_ & 0x00000400) != 0);
5845  }
5856  @java.lang.Override
5857  public boolean getExploitAllLpSolution() {
5858  return exploitAllLpSolution_;
5859  }
5860 
5861  public static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER = 130;
5862  private boolean exploitBestSolution_;
5871  @java.lang.Override
5872  public boolean hasExploitBestSolution() {
5873  return ((bitField3_ & 0x00000800) != 0);
5874  }
5883  @java.lang.Override
5884  public boolean getExploitBestSolution() {
5885  return exploitBestSolution_;
5886  }
5887 
5888  public static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER = 161;
5889  private boolean exploitRelaxationSolution_;
5900  @java.lang.Override
5901  public boolean hasExploitRelaxationSolution() {
5902  return ((bitField3_ & 0x00001000) != 0);
5903  }
5914  @java.lang.Override
5915  public boolean getExploitRelaxationSolution() {
5916  return exploitRelaxationSolution_;
5917  }
5918 
5919  public static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER = 131;
5920  private boolean exploitObjective_;
5930  @java.lang.Override
5931  public boolean hasExploitObjective() {
5932  return ((bitField3_ & 0x00002000) != 0);
5933  }
5943  @java.lang.Override
5944  public boolean getExploitObjective() {
5945  return exploitObjective_;
5946  }
5947 
5948  public static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER = 142;
5949  private long probingPeriodAtRoot_;
5960  @java.lang.Override
5961  public boolean hasProbingPeriodAtRoot() {
5962  return ((bitField3_ & 0x00004000) != 0);
5963  }
5974  @java.lang.Override
5975  public long getProbingPeriodAtRoot() {
5976  return probingPeriodAtRoot_;
5977  }
5978 
5979  public static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER = 123;
5980  private long pseudoCostReliabilityThreshold_;
5990  @java.lang.Override
5992  return ((bitField3_ & 0x00008000) != 0);
5993  }
6003  @java.lang.Override
6005  return pseudoCostReliabilityThreshold_;
6006  }
6007 
6008  public static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER = 83;
6009  private boolean optimizeWithCore_;
6021  @java.lang.Override
6022  public boolean hasOptimizeWithCore() {
6023  return ((bitField3_ & 0x00010000) != 0);
6024  }
6036  @java.lang.Override
6037  public boolean getOptimizeWithCore() {
6038  return optimizeWithCore_;
6039  }
6040 
6041  public static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER = 99;
6042  private int binarySearchNumConflicts_;
6054  @java.lang.Override
6055  public boolean hasBinarySearchNumConflicts() {
6056  return ((bitField3_ & 0x00020000) != 0);
6057  }
6069  @java.lang.Override
6071  return binarySearchNumConflicts_;
6072  }
6073 
6074  public static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER = 85;
6075  private boolean optimizeWithMaxHs_;
6089  @java.lang.Override
6090  public boolean hasOptimizeWithMaxHs() {
6091  return ((bitField3_ & 0x00040000) != 0);
6092  }
6106  @java.lang.Override
6107  public boolean getOptimizeWithMaxHs() {
6108  return optimizeWithMaxHs_;
6109  }
6110 
6111  public static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER = 87;
6112  private boolean enumerateAllSolutions_;
6126  @java.lang.Override
6127  public boolean hasEnumerateAllSolutions() {
6128  return ((bitField3_ & 0x00080000) != 0);
6129  }
6143  @java.lang.Override
6144  public boolean getEnumerateAllSolutions() {
6145  return enumerateAllSolutions_;
6146  }
6147 
6149  private boolean fillTightenedDomainsInResponse_;
6162  @java.lang.Override
6164  return ((bitField3_ & 0x00100000) != 0);
6165  }
6178  @java.lang.Override
6180  return fillTightenedDomainsInResponse_;
6181  }
6182 
6183  public static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER = 106;
6184  private boolean instantiateAllVariables_;
6194  @java.lang.Override
6195  public boolean hasInstantiateAllVariables() {
6196  return ((bitField3_ & 0x00200000) != 0);
6197  }
6207  @java.lang.Override
6208  public boolean getInstantiateAllVariables() {
6209  return instantiateAllVariables_;
6210  }
6211 
6213  private boolean autoDetectGreaterThanAtLeastOneOf_;
6225  @java.lang.Override
6227  return ((bitField3_ & 0x00400000) != 0);
6228  }
6240  @java.lang.Override
6242  return autoDetectGreaterThanAtLeastOneOf_;
6243  }
6244 
6245  public static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER = 98;
6246  private boolean stopAfterFirstSolution_;
6255  @java.lang.Override
6256  public boolean hasStopAfterFirstSolution() {
6257  return ((bitField3_ & 0x00800000) != 0);
6258  }
6267  @java.lang.Override
6268  public boolean getStopAfterFirstSolution() {
6269  return stopAfterFirstSolution_;
6270  }
6271 
6272  public static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER = 149;
6273  private boolean stopAfterPresolve_;
6283  @java.lang.Override
6284  public boolean hasStopAfterPresolve() {
6285  return ((bitField3_ & 0x01000000) != 0);
6286  }
6296  @java.lang.Override
6297  public boolean getStopAfterPresolve() {
6298  return stopAfterPresolve_;
6299  }
6300 
6301  public static final int NUM_SEARCH_WORKERS_FIELD_NUMBER = 100;
6302  private int numSearchWorkers_;
6316  @java.lang.Override
6317  public boolean hasNumSearchWorkers() {
6318  return ((bitField3_ & 0x02000000) != 0);
6319  }
6333  @java.lang.Override
6334  public int getNumSearchWorkers() {
6335  return numSearchWorkers_;
6336  }
6337 
6338  public static final int INTERLEAVE_SEARCH_FIELD_NUMBER = 136;
6339  private boolean interleaveSearch_;
6352  @java.lang.Override
6353  public boolean hasInterleaveSearch() {
6354  return ((bitField3_ & 0x04000000) != 0);
6355  }
6368  @java.lang.Override
6369  public boolean getInterleaveSearch() {
6370  return interleaveSearch_;
6371  }
6372 
6373  public static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER = 134;
6374  private int interleaveBatchSize_;
6379  @java.lang.Override
6380  public boolean hasInterleaveBatchSize() {
6381  return ((bitField3_ & 0x08000000) != 0);
6382  }
6387  @java.lang.Override
6388  public int getInterleaveBatchSize() {
6389  return interleaveBatchSize_;
6390  }
6391 
6393  private boolean reduceMemoryUsageInInterleaveMode_;
6402  @java.lang.Override
6404  return ((bitField3_ & 0x10000000) != 0);
6405  }
6414  @java.lang.Override
6416  return reduceMemoryUsageInInterleaveMode_;
6417  }
6418 
6419  public static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER = 113;
6420  private boolean shareObjectiveBounds_;
6429  @java.lang.Override
6430  public boolean hasShareObjectiveBounds() {
6431  return ((bitField3_ & 0x20000000) != 0);
6432  }
6441  @java.lang.Override
6442  public boolean getShareObjectiveBounds() {
6443  return shareObjectiveBounds_;
6444  }
6445 
6446  public static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER = 114;
6447  private boolean shareLevelZeroBounds_;
6456  @java.lang.Override
6457  public boolean hasShareLevelZeroBounds() {
6458  return ((bitField3_ & 0x40000000) != 0);
6459  }
6468  @java.lang.Override
6469  public boolean getShareLevelZeroBounds() {
6470  return shareLevelZeroBounds_;
6471  }
6472 
6473  public static final int USE_LNS_ONLY_FIELD_NUMBER = 101;
6474  private boolean useLnsOnly_;
6483  @java.lang.Override
6484  public boolean hasUseLnsOnly() {
6485  return ((bitField3_ & 0x80000000) != 0);
6486  }
6495  @java.lang.Override
6496  public boolean getUseLnsOnly() {
6497  return useLnsOnly_;
6498  }
6499 
6500  public static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER = 105;
6501  private boolean lnsFocusOnDecisionVariables_;
6506  @java.lang.Override
6508  return ((bitField4_ & 0x00000001) != 0);
6509  }
6514  @java.lang.Override
6516  return lnsFocusOnDecisionVariables_;
6517  }
6518 
6519  public static final int USE_RINS_LNS_FIELD_NUMBER = 129;
6520  private boolean useRinsLns_;
6529  @java.lang.Override
6530  public boolean hasUseRinsLns() {
6531  return ((bitField4_ & 0x00000002) != 0);
6532  }
6541  @java.lang.Override
6542  public boolean getUseRinsLns() {
6543  return useRinsLns_;
6544  }
6545 
6546  public static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER = 164;
6547  private boolean useFeasibilityPump_;
6556  @java.lang.Override
6557  public boolean hasUseFeasibilityPump() {
6558  return ((bitField4_ & 0x00000004) != 0);
6559  }
6568  @java.lang.Override
6569  public boolean getUseFeasibilityPump() {
6570  return useFeasibilityPump_;
6571  }
6572 
6573  public static final int FP_ROUNDING_FIELD_NUMBER = 165;
6574  private int fpRounding_;
6579  @java.lang.Override public boolean hasFpRounding() {
6580  return ((bitField4_ & 0x00000008) != 0);
6581  }
6587  @SuppressWarnings("deprecation")
6589  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
6590  }
6591 
6592  public static final int USE_RELAXATION_LNS_FIELD_NUMBER = 150;
6593  private boolean useRelaxationLns_;
6603  @java.lang.Override
6604  public boolean hasUseRelaxationLns() {
6605  return ((bitField4_ & 0x00000010) != 0);
6606  }
6616  @java.lang.Override
6617  public boolean getUseRelaxationLns() {
6618  return useRelaxationLns_;
6619  }
6620 
6621  public static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER = 137;
6622  private boolean diversifyLnsParams_;
6631  @java.lang.Override
6632  public boolean hasDiversifyLnsParams() {
6633  return ((bitField4_ & 0x00000020) != 0);
6634  }
6643  @java.lang.Override
6644  public boolean getDiversifyLnsParams() {
6645  return diversifyLnsParams_;
6646  }
6647 
6648  public static final int RANDOMIZE_SEARCH_FIELD_NUMBER = 103;
6649  private boolean randomizeSearch_;
6658  @java.lang.Override
6659  public boolean hasRandomizeSearch() {
6660  return ((bitField4_ & 0x00000040) != 0);
6661  }
6670  @java.lang.Override
6671  public boolean getRandomizeSearch() {
6672  return randomizeSearch_;
6673  }
6674 
6675  public static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER = 104;
6676  private long searchRandomizationTolerance_;
6691  @java.lang.Override
6693  return ((bitField4_ & 0x00000080) != 0);
6694  }
6709  @java.lang.Override
6711  return searchRandomizationTolerance_;
6712  }
6713 
6714  public static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER = 108;
6715  private boolean useOptionalVariables_;
6726  @java.lang.Override
6727  public boolean hasUseOptionalVariables() {
6728  return ((bitField4_ & 0x00000100) != 0);
6729  }
6740  @java.lang.Override
6741  public boolean getUseOptionalVariables() {
6742  return useOptionalVariables_;
6743  }
6744 
6745  public static final int USE_EXACT_LP_REASON_FIELD_NUMBER = 109;
6746  private boolean useExactLpReason_;
6758  @java.lang.Override
6759  public boolean hasUseExactLpReason() {
6760  return ((bitField4_ & 0x00000200) != 0);
6761  }
6773  @java.lang.Override
6774  public boolean getUseExactLpReason() {
6775  return useExactLpReason_;
6776  }
6777 
6778  public static final int USE_BRANCHING_IN_LP_FIELD_NUMBER = 139;
6779  private boolean useBranchingInLp_;
6790  @java.lang.Override
6791  public boolean hasUseBranchingInLp() {
6792  return ((bitField4_ & 0x00000400) != 0);
6793  }
6804  @java.lang.Override
6805  public boolean getUseBranchingInLp() {
6806  return useBranchingInLp_;
6807  }
6808 
6809  public static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER = 133;
6810  private boolean useCombinedNoOverlap_;
6821  @java.lang.Override
6822  public boolean hasUseCombinedNoOverlap() {
6823  return ((bitField4_ & 0x00000800) != 0);
6824  }
6835  @java.lang.Override
6836  public boolean getUseCombinedNoOverlap() {
6837  return useCombinedNoOverlap_;
6838  }
6839 
6840  public static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER = 135;
6841  private boolean catchSigintSignal_;
6852  @java.lang.Override
6853  public boolean hasCatchSigintSignal() {
6854  return ((bitField4_ & 0x00001000) != 0);
6855  }
6866  @java.lang.Override
6867  public boolean getCatchSigintSignal() {
6868  return catchSigintSignal_;
6869  }
6870 
6871  public static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER = 144;
6872  private boolean useImpliedBounds_;
6883  @java.lang.Override
6884  public boolean hasUseImpliedBounds() {
6885  return ((bitField4_ & 0x00002000) != 0);
6886  }
6897  @java.lang.Override
6898  public boolean getUseImpliedBounds() {
6899  return useImpliedBounds_;
6900  }
6901 
6902  public static final int MIP_MAX_BOUND_FIELD_NUMBER = 124;
6903  private double mipMaxBound_;
6914  @java.lang.Override
6915  public boolean hasMipMaxBound() {
6916  return ((bitField4_ & 0x00004000) != 0);
6917  }
6928  @java.lang.Override
6929  public double getMipMaxBound() {
6930  return mipMaxBound_;
6931  }
6932 
6933  public static final int MIP_VAR_SCALING_FIELD_NUMBER = 125;
6934  private double mipVarScaling_;
6945  @java.lang.Override
6946  public boolean hasMipVarScaling() {
6947  return ((bitField4_ & 0x00008000) != 0);
6948  }
6959  @java.lang.Override
6960  public double getMipVarScaling() {
6961  return mipVarScaling_;
6962  }
6963 
6964  public static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER = 166;
6965  private boolean mipAutomaticallyScaleVariables_;
6978  @java.lang.Override
6980  return ((bitField4_ & 0x00010000) != 0);
6981  }
6994  @java.lang.Override
6996  return mipAutomaticallyScaleVariables_;
6997  }
6998 
6999  public static final int MIP_WANTED_PRECISION_FIELD_NUMBER = 126;
7000  private double mipWantedPrecision_;
7017  @java.lang.Override
7018  public boolean hasMipWantedPrecision() {
7019  return ((bitField4_ & 0x00020000) != 0);
7020  }
7037  @java.lang.Override
7038  public double getMipWantedPrecision() {
7039  return mipWantedPrecision_;
7040  }
7041 
7042  public static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER = 127;
7043  private int mipMaxActivityExponent_;
7058  @java.lang.Override
7059  public boolean hasMipMaxActivityExponent() {
7060  return ((bitField4_ & 0x00040000) != 0);
7061  }
7076  @java.lang.Override
7078  return mipMaxActivityExponent_;
7079  }
7080 
7081  public static final int MIP_CHECK_PRECISION_FIELD_NUMBER = 128;
7082  private double mipCheckPrecision_;
7095  @java.lang.Override
7096  public boolean hasMipCheckPrecision() {
7097  return ((bitField4_ & 0x00080000) != 0);
7098  }
7111  @java.lang.Override
7112  public double getMipCheckPrecision() {
7113  return mipCheckPrecision_;
7114  }
7115 
7116  private byte memoizedIsInitialized = -1;
7117  @java.lang.Override
7118  public final boolean isInitialized() {
7119  byte isInitialized = memoizedIsInitialized;
7120  if (isInitialized == 1) return true;
7121  if (isInitialized == 0) return false;
7122 
7123  memoizedIsInitialized = 1;
7124  return true;
7125  }
7126 
7127  @java.lang.Override
7128  public void writeTo(com.google.protobuf.CodedOutputStream output)
7129  throws java.io.IOException {
7130  if (((bitField0_ & 0x00000002) != 0)) {
7131  output.writeEnum(1, preferredVariableOrder_);
7132  }
7133  if (((bitField0_ & 0x00000004) != 0)) {
7134  output.writeEnum(2, initialPolarity_);
7135  }
7136  if (((bitField0_ & 0x00000400) != 0)) {
7137  output.writeEnum(4, minimizationAlgorithm_);
7138  }
7139  if (((bitField0_ & 0x00002000) != 0)) {
7140  output.writeInt32(11, clauseCleanupPeriod_);
7141  }
7142  if (((bitField0_ & 0x00004000) != 0)) {
7143  output.writeInt32(13, clauseCleanupTarget_);
7144  }
7145  if (((bitField0_ & 0x00400000) != 0)) {
7146  output.writeDouble(15, variableActivityDecay_);
7147  }
7148  if (((bitField0_ & 0x00800000) != 0)) {
7149  output.writeDouble(16, maxVariableActivityValue_);
7150  }
7151  if (((bitField0_ & 0x08000000) != 0)) {
7152  output.writeDouble(17, clauseActivityDecay_);
7153  }
7154  if (((bitField0_ & 0x10000000) != 0)) {
7155  output.writeDouble(18, maxClauseActivityValue_);
7156  }
7157  if (((bitField0_ & 0x01000000) != 0)) {
7158  output.writeDouble(22, glucoseMaxDecay_);
7159  }
7160  if (((bitField0_ & 0x02000000) != 0)) {
7161  output.writeDouble(23, glucoseDecayIncrement_);
7162  }
7163  if (((bitField0_ & 0x04000000) != 0)) {
7164  output.writeInt32(24, glucoseDecayIncrementPeriod_);
7165  }
7166  if (((bitField0_ & 0x40000000) != 0)) {
7167  output.writeInt32(30, restartPeriod_);
7168  }
7169  if (((bitField1_ & 0x00004000) != 0)) {
7170  output.writeInt32(31, randomSeed_);
7171  }
7172  if (((bitField0_ & 0x00000040) != 0)) {
7173  output.writeDouble(32, randomBranchesRatio_);
7174  }
7175  if (((bitField1_ & 0x00002000) != 0)) {
7176  output.writeBool(33, treatBinaryClausesSeparately_);
7177  }
7178  if (((bitField0_ & 0x00000800) != 0)) {
7179  output.writeEnum(34, binaryMinimizationAlgorithm_);
7180  }
7181  if (((bitField2_ & 0x00000080) != 0)) {
7182  output.writeBool(35, useOptimizationHints_);
7183  }
7184  if (((bitField1_ & 0x00000080) != 0)) {
7185  output.writeDouble(36, maxTimeInSeconds_);
7186  }
7187  if (((bitField1_ & 0x00000200) != 0)) {
7188  output.writeInt64(37, maxNumberOfConflicts_);
7189  }
7190  if (((bitField1_ & 0x00000400) != 0)) {
7191  output.writeInt64(40, maxMemoryInMb_);
7192  }
7193  if (((bitField1_ & 0x00008000) != 0)) {
7194  output.writeBool(41, logSearchProgress_);
7195  }
7196  if (((bitField1_ & 0x00010000) != 0)) {
7197  output.writeBool(43, usePbResolution_);
7198  }
7199  if (((bitField0_ & 0x00000008) != 0)) {
7200  output.writeBool(44, usePhaseSaving_);
7201  }
7202  if (((bitField0_ & 0x00000020) != 0)) {
7203  output.writeDouble(45, randomPolarityRatio_);
7204  }
7205  if (((bitField0_ & 0x00040000) != 0)) {
7206  output.writeInt32(46, pbCleanupIncrement_);
7207  }
7208  if (((bitField0_ & 0x00080000) != 0)) {
7209  output.writeDouble(47, pbCleanupRatio_);
7210  }
7211  if (((bitField1_ & 0x00020000) != 0)) {
7212  output.writeBool(48, minimizeReductionDuringPbResolution_);
7213  }
7214  if (((bitField1_ & 0x00040000) != 0)) {
7215  output.writeBool(49, countAssumptionLevelsInLbd_);
7216  }
7217  if (((bitField2_ & 0x00000100) != 0)) {
7218  output.writeBool(50, minimizeCore_);
7219  }
7220  if (((bitField2_ & 0x00000800) != 0)) {
7221  output.writeEnum(51, maxSatAssumptionOrder_);
7222  }
7223  if (((bitField2_ & 0x00001000) != 0)) {
7224  output.writeBool(52, maxSatReverseAssumptionOrder_);
7225  }
7226  if (((bitField2_ & 0x00002000) != 0)) {
7227  output.writeEnum(53, maxSatStratification_);
7228  }
7229  if (((bitField1_ & 0x00080000) != 0)) {
7230  output.writeInt32(54, presolveBveThreshold_);
7231  }
7232  if (((bitField1_ & 0x00100000) != 0)) {
7233  output.writeInt32(55, presolveBveClauseWeight_);
7234  }
7235  if (((bitField0_ & 0x00001000) != 0)) {
7236  output.writeBool(56, subsumptionDuringConflictAnalysis_);
7237  }
7238  if (((bitField1_ & 0x00200000) != 0)) {
7239  output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
7240  }
7241  if (((bitField0_ & 0x00008000) != 0)) {
7242  output.writeEnum(58, clauseCleanupProtection_);
7243  }
7244  if (((bitField0_ & 0x00010000) != 0)) {
7245  output.writeInt32(59, clauseCleanupLbdBound_);
7246  }
7247  if (((bitField0_ & 0x00020000) != 0)) {
7248  output.writeEnum(60, clauseCleanupOrdering_);
7249  }
7250  for (int i = 0; i < restartAlgorithms_.size(); i++) {
7251  output.writeEnum(61, restartAlgorithms_.get(i));
7252  }
7253  if (((bitField0_ & 0x80000000) != 0)) {
7254  output.writeInt32(62, restartRunningWindowSize_);
7255  }
7256  if (((bitField1_ & 0x00000001) != 0)) {
7257  output.writeDouble(63, restartDlAverageRatio_);
7258  }
7259  if (((bitField1_ & 0x00000004) != 0)) {
7260  output.writeBool(64, useBlockingRestart_);
7261  }
7262  if (((bitField1_ & 0x00000008) != 0)) {
7263  output.writeInt32(65, blockingRestartWindowSize_);
7264  }
7265  if (((bitField1_ & 0x00000010) != 0)) {
7266  output.writeDouble(66, blockingRestartMultiplier_);
7267  }
7268  if (((bitField1_ & 0x00000100) != 0)) {
7269  output.writeDouble(67, maxDeterministicTime_);
7270  }
7271  if (((bitField1_ & 0x00000020) != 0)) {
7272  output.writeInt32(68, numConflictsBeforeStrategyChanges_);
7273  }
7274  if (((bitField1_ & 0x00000040) != 0)) {
7275  output.writeDouble(69, strategyChangeIncreaseRatio_);
7276  }
7277  if (((bitField0_ & 0x20000000) != 0)) {
7278  com.google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
7279  }
7280  if (((bitField1_ & 0x00000002) != 0)) {
7281  output.writeDouble(71, restartLbdAverageRatio_);
7282  }
7283  if (((bitField1_ & 0x00800000) != 0)) {
7284  output.writeBool(72, presolveUseBva_);
7285  }
7286  if (((bitField1_ & 0x01000000) != 0)) {
7287  output.writeInt32(73, presolveBvaThreshold_);
7288  }
7289  if (((bitField2_ & 0x00004000) != 0)) {
7290  output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
7291  }
7292  if (((bitField0_ & 0x00000080) != 0)) {
7293  output.writeBool(75, useErwaHeuristic_);
7294  }
7295  if (((bitField0_ & 0x00000100) != 0)) {
7296  output.writeDouble(76, initialVariablesActivity_);
7297  }
7298  if (((bitField0_ & 0x00000200) != 0)) {
7299  output.writeBool(77, alsoBumpVariablesInConflictReasons_);
7300  }
7301  if (((bitField2_ & 0x00008000) != 0)) {
7302  output.writeBool(78, useOverloadCheckerInCumulativeConstraint_);
7303  }
7304  if (((bitField2_ & 0x00010000) != 0)) {
7305  output.writeBool(79, useTimetableEdgeFindingInCumulativeConstraint_);
7306  }
7307  if (((bitField2_ & 0x00020000) != 0)) {
7308  output.writeBool(80, useDisjunctiveConstraintInCumulativeConstraint_);
7309  }
7310  if (((bitField3_ & 0x00000040) != 0)) {
7311  output.writeEnum(82, searchBranching_);
7312  }
7313  if (((bitField3_ & 0x00010000) != 0)) {
7314  output.writeBool(83, optimizeWithCore_);
7315  }
7316  if (((bitField2_ & 0x00000200) != 0)) {
7317  output.writeBool(84, findMultipleCores_);
7318  }
7319  if (((bitField3_ & 0x00040000) != 0)) {
7320  output.writeBool(85, optimizeWithMaxHs_);
7321  }
7322  if (((bitField1_ & 0x04000000) != 0)) {
7323  output.writeBool(86, cpModelPresolve_);
7324  }
7325  if (((bitField3_ & 0x00080000) != 0)) {
7326  output.writeBool(87, enumerateAllSolutions_);
7327  }
7328  if (((bitField1_ & 0x00400000) != 0)) {
7329  output.writeBool(88, presolveBlockedClause_);
7330  }
7331  if (((bitField2_ & 0x00000400) != 0)) {
7332  output.writeBool(89, coverOptimization_);
7333  }
7334  if (((bitField2_ & 0x00040000) != 0)) {
7335  output.writeInt32(90, linearizationLevel_);
7336  }
7337  if (((bitField2_ & 0x00100000) != 0)) {
7338  output.writeInt32(91, maxNumCuts_);
7339  }
7340  if (((bitField2_ & 0x00200000) != 0)) {
7341  output.writeBool(92, onlyAddCutsAtLevelZero_);
7342  }
7343  if (((bitField1_ & 0x40000000) != 0)) {
7344  output.writeBool(93, cpModelUseSatPresolve_);
7345  }
7346  if (((bitField3_ & 0x00000200) != 0)) {
7347  output.writeBool(94, exploitIntegerLpSolution_);
7348  }
7349  if (((bitField3_ & 0x00400000) != 0)) {
7350  output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
7351  }
7352  if (((bitField0_ & 0x00100000) != 0)) {
7353  output.writeInt32(96, minimizeWithPropagationRestartPeriod_);
7354  }
7355  if (((bitField0_ & 0x00200000) != 0)) {
7356  output.writeInt32(97, minimizeWithPropagationNumDecisions_);
7357  }
7358  if (((bitField3_ & 0x00800000) != 0)) {
7359  output.writeBool(98, stopAfterFirstSolution_);
7360  }
7361  if (((bitField3_ & 0x00020000) != 0)) {
7362  output.writeInt32(99, binarySearchNumConflicts_);
7363  }
7364  if (((bitField3_ & 0x02000000) != 0)) {
7365  output.writeInt32(100, numSearchWorkers_);
7366  }
7367  if (((bitField3_ & 0x80000000) != 0)) {
7368  output.writeBool(101, useLnsOnly_);
7369  }
7370  if (((bitField4_ & 0x00000040) != 0)) {
7371  output.writeBool(103, randomizeSearch_);
7372  }
7373  if (((bitField4_ & 0x00000080) != 0)) {
7374  output.writeInt64(104, searchRandomizationTolerance_);
7375  }
7376  if (((bitField4_ & 0x00000001) != 0)) {
7377  output.writeBool(105, lnsFocusOnDecisionVariables_);
7378  }
7379  if (((bitField3_ & 0x00200000) != 0)) {
7380  output.writeBool(106, instantiateAllVariables_);
7381  }
7382  if (((bitField2_ & 0x00080000) != 0)) {
7383  output.writeInt32(107, booleanEncodingLevel_);
7384  }
7385  if (((bitField4_ & 0x00000100) != 0)) {
7386  output.writeBool(108, useOptionalVariables_);
7387  }
7388  if (((bitField4_ & 0x00000200) != 0)) {
7389  output.writeBool(109, useExactLpReason_);
7390  }
7391  if (((bitField1_ & 0x20000000) != 0)) {
7392  output.writeInt32(110, cpModelProbingLevel_);
7393  }
7394  if (((bitField2_ & 0x00400000) != 0)) {
7395  output.writeBool(111, addKnapsackCuts_);
7396  }
7397  if (((bitField2_ & 0x40000000) != 0)) {
7398  output.writeBool(112, addLpConstraintsLazily_);
7399  }
7400  if (((bitField3_ & 0x20000000) != 0)) {
7401  output.writeBool(113, shareObjectiveBounds_);
7402  }
7403  if (((bitField3_ & 0x40000000) != 0)) {
7404  output.writeBool(114, shareLevelZeroBounds_);
7405  }
7406  if (((bitField2_ & 0x80000000) != 0)) {
7407  output.writeDouble(115, minOrthogonalityForLpConstraints_);
7408  }
7409  if (((bitField3_ & 0x00000400) != 0)) {
7410  output.writeBool(116, exploitAllLpSolution_);
7411  }
7412  if (((bitField2_ & 0x00800000) != 0)) {
7413  output.writeBool(117, addCgCuts_);
7414  }
7415  if (((bitField2_ & 0x20000000) != 0)) {
7416  output.writeInt32(119, maxIntegerRoundingScaling_);
7417  }
7418  if (((bitField2_ & 0x01000000) != 0)) {
7419  output.writeBool(120, addMirCuts_);
7420  }
7421  if (((bitField3_ & 0x00000002) != 0)) {
7422  output.writeInt32(121, maxConsecutiveInactiveCount_);
7423  }
7424  if (((bitField3_ & 0x00000020) != 0)) {
7425  output.writeInt32(122, newConstraintsBatchSize_);
7426  }
7427  if (((bitField3_ & 0x00008000) != 0)) {
7428  output.writeInt64(123, pseudoCostReliabilityThreshold_);
7429  }
7430  if (((bitField4_ & 0x00004000) != 0)) {
7431  output.writeDouble(124, mipMaxBound_);
7432  }
7433  if (((bitField4_ & 0x00008000) != 0)) {
7434  output.writeDouble(125, mipVarScaling_);
7435  }
7436  if (((bitField4_ & 0x00020000) != 0)) {
7437  output.writeDouble(126, mipWantedPrecision_);
7438  }
7439  if (((bitField4_ & 0x00040000) != 0)) {
7440  output.writeInt32(127, mipMaxActivityExponent_);
7441  }
7442  if (((bitField4_ & 0x00080000) != 0)) {
7443  output.writeDouble(128, mipCheckPrecision_);
7444  }
7445  if (((bitField4_ & 0x00000002) != 0)) {
7446  output.writeBool(129, useRinsLns_);
7447  }
7448  if (((bitField3_ & 0x00000800) != 0)) {
7449  output.writeBool(130, exploitBestSolution_);
7450  }
7451  if (((bitField3_ & 0x00002000) != 0)) {
7452  output.writeBool(131, exploitObjective_);
7453  }
7454  if (((bitField3_ & 0x00100000) != 0)) {
7455  output.writeBool(132, fillTightenedDomainsInResponse_);
7456  }
7457  if (((bitField4_ & 0x00000800) != 0)) {
7458  output.writeBool(133, useCombinedNoOverlap_);
7459  }
7460  if (((bitField3_ & 0x08000000) != 0)) {
7461  output.writeInt32(134, interleaveBatchSize_);
7462  }
7463  if (((bitField4_ & 0x00001000) != 0)) {
7464  output.writeBool(135, catchSigintSignal_);
7465  }
7466  if (((bitField3_ & 0x04000000) != 0)) {
7467  output.writeBool(136, interleaveSearch_);
7468  }
7469  if (((bitField4_ & 0x00000020) != 0)) {
7470  output.writeBool(137, diversifyLnsParams_);
7471  }
7472  if (((bitField1_ & 0x02000000) != 0)) {
7473  output.writeInt32(138, maxPresolveIterations_);
7474  }
7475  if (((bitField4_ & 0x00000400) != 0)) {
7476  output.writeBool(139, useBranchingInLp_);
7477  }
7478  if (((bitField2_ & 0x00000001) != 0)) {
7479  output.writeBool(140, expandElementConstraints_);
7480  }
7481  if (((bitField3_ & 0x10000000) != 0)) {
7482  output.writeBool(141, reduceMemoryUsageInInterleaveMode_);
7483  }
7484  if (((bitField3_ & 0x00004000) != 0)) {
7485  output.writeInt64(142, probingPeriodAtRoot_);
7486  }
7487  if (((bitField2_ & 0x00000002) != 0)) {
7488  output.writeBool(143, expandAutomatonConstraints_);
7489  }
7490  if (((bitField4_ & 0x00002000) != 0)) {
7491  output.writeBool(144, useImpliedBounds_);
7492  }
7493  if (((bitField2_ & 0x00000010) != 0)) {
7494  output.writeDouble(145, mergeNoOverlapWorkLimit_);
7495  }
7496  if (((bitField2_ & 0x00000020) != 0)) {
7497  output.writeDouble(146, mergeAtMostOneWorkLimit_);
7498  }
7499  if (((bitField2_ & 0x00000040) != 0)) {
7500  output.writeInt32(147, presolveSubstitutionLevel_);
7501  }
7502  if (((bitField2_ & 0x08000000) != 0)) {
7503  output.writeInt32(148, maxAllDiffCutSize_);
7504  }
7505  if (((bitField3_ & 0x01000000) != 0)) {
7506  output.writeBool(149, stopAfterPresolve_);
7507  }
7508  if (((bitField4_ & 0x00000010) != 0)) {
7509  output.writeBool(150, useRelaxationLns_);
7510  }
7511  if (((bitField1_ & 0x10000000) != 0)) {
7512  output.writeInt32(151, cpModelMaxNumPresolveOperations_);
7513  }
7514  if (((bitField2_ & 0x10000000) != 0)) {
7515  output.writeBool(152, addLinMaxCuts_);
7516  }
7517  if (((bitField3_ & 0x00000080) != 0)) {
7518  output.writeInt32(153, hintConflictLimit_);
7519  }
7520  if (((bitField3_ & 0x00000001) != 0)) {
7521  output.writeInt32(154, maxCutRoundsAtLevelZero_);
7522  }
7523  if (((bitField3_ & 0x00000004) != 0)) {
7524  output.writeDouble(155, cutMaxActiveCountValue_);
7525  }
7526  if (((bitField3_ & 0x00000008) != 0)) {
7527  output.writeDouble(156, cutActiveCountDecay_);
7528  }
7529  if (((bitField3_ & 0x00000010) != 0)) {
7530  output.writeInt32(157, cutCleanupTarget_);
7531  }
7532  if (((bitField2_ & 0x00000004) != 0)) {
7533  output.writeBool(158, expandTableConstraints_);
7534  }
7535  if (((bitField1_ & 0x00000800) != 0)) {
7536  output.writeDouble(159, absoluteGapLimit_);
7537  }
7538  if (((bitField1_ & 0x00001000) != 0)) {
7539  output.writeDouble(160, relativeGapLimit_);
7540  }
7541  if (((bitField3_ & 0x00001000) != 0)) {
7542  output.writeBool(161, exploitRelaxationSolution_);
7543  }
7544  if (((bitField1_ & 0x08000000) != 0)) {
7545  output.writeBool(162, cpModelPostsolveWithFullSolver_);
7546  }
7547  if (((bitField1_ & 0x80000000) != 0)) {
7548  output.writeBool(163, useSatInprocessing_);
7549  }
7550  if (((bitField4_ & 0x00000004) != 0)) {
7551  output.writeBool(164, useFeasibilityPump_);
7552  }
7553  if (((bitField4_ & 0x00000008) != 0)) {
7554  output.writeEnum(165, fpRounding_);
7555  }
7556  if (((bitField4_ & 0x00010000) != 0)) {
7557  output.writeBool(166, mipAutomaticallyScaleVariables_);
7558  }
7559  if (((bitField3_ & 0x00000100) != 0)) {
7560  output.writeBool(167, repairHint_);
7561  }
7562  if (((bitField0_ & 0x00000010) != 0)) {
7563  output.writeInt32(168, polarityRephaseIncrement_);
7564  }
7565  if (((bitField2_ & 0x02000000) != 0)) {
7566  output.writeBool(169, addZeroHalfCuts_);
7567  }
7568  if (((bitField2_ & 0x00000008) != 0)) {
7569  output.writeBool(170, expandAlldiffConstraints_);
7570  }
7571  if (((bitField0_ & 0x00000001) != 0)) {
7572  com.google.protobuf.GeneratedMessageV3.writeString(output, 171, name_);
7573  }
7574  if (((bitField2_ & 0x04000000) != 0)) {
7575  output.writeBool(172, addCliqueCuts_);
7576  }
7577  unknownFields.writeTo(output);
7578  }
7579 
7580  @java.lang.Override
7581  public int getSerializedSize() {
7582  int size = memoizedSize;
7583  if (size != -1) return size;
7584 
7585  size = 0;
7586  if (((bitField0_ & 0x00000002) != 0)) {
7587  size += com.google.protobuf.CodedOutputStream
7588  .computeEnumSize(1, preferredVariableOrder_);
7589  }
7590  if (((bitField0_ & 0x00000004) != 0)) {
7591  size += com.google.protobuf.CodedOutputStream
7592  .computeEnumSize(2, initialPolarity_);
7593  }
7594  if (((bitField0_ & 0x00000400) != 0)) {
7595  size += com.google.protobuf.CodedOutputStream
7596  .computeEnumSize(4, minimizationAlgorithm_);
7597  }
7598  if (((bitField0_ & 0x00002000) != 0)) {
7599  size += com.google.protobuf.CodedOutputStream
7600  .computeInt32Size(11, clauseCleanupPeriod_);
7601  }
7602  if (((bitField0_ & 0x00004000) != 0)) {
7603  size += com.google.protobuf.CodedOutputStream
7604  .computeInt32Size(13, clauseCleanupTarget_);
7605  }
7606  if (((bitField0_ & 0x00400000) != 0)) {
7607  size += com.google.protobuf.CodedOutputStream
7608  .computeDoubleSize(15, variableActivityDecay_);
7609  }
7610  if (((bitField0_ & 0x00800000) != 0)) {
7611  size += com.google.protobuf.CodedOutputStream
7612  .computeDoubleSize(16, maxVariableActivityValue_);
7613  }
7614  if (((bitField0_ & 0x08000000) != 0)) {
7615  size += com.google.protobuf.CodedOutputStream
7616  .computeDoubleSize(17, clauseActivityDecay_);
7617  }
7618  if (((bitField0_ & 0x10000000) != 0)) {
7619  size += com.google.protobuf.CodedOutputStream
7620  .computeDoubleSize(18, maxClauseActivityValue_);
7621  }
7622  if (((bitField0_ & 0x01000000) != 0)) {
7623  size += com.google.protobuf.CodedOutputStream
7624  .computeDoubleSize(22, glucoseMaxDecay_);
7625  }
7626  if (((bitField0_ & 0x02000000) != 0)) {
7627  size += com.google.protobuf.CodedOutputStream
7628  .computeDoubleSize(23, glucoseDecayIncrement_);
7629  }
7630  if (((bitField0_ & 0x04000000) != 0)) {
7631  size += com.google.protobuf.CodedOutputStream
7632  .computeInt32Size(24, glucoseDecayIncrementPeriod_);
7633  }
7634  if (((bitField0_ & 0x40000000) != 0)) {
7635  size += com.google.protobuf.CodedOutputStream
7636  .computeInt32Size(30, restartPeriod_);
7637  }
7638  if (((bitField1_ & 0x00004000) != 0)) {
7639  size += com.google.protobuf.CodedOutputStream
7640  .computeInt32Size(31, randomSeed_);
7641  }
7642  if (((bitField0_ & 0x00000040) != 0)) {
7643  size += com.google.protobuf.CodedOutputStream
7644  .computeDoubleSize(32, randomBranchesRatio_);
7645  }
7646  if (((bitField1_ & 0x00002000) != 0)) {
7647  size += com.google.protobuf.CodedOutputStream
7648  .computeBoolSize(33, treatBinaryClausesSeparately_);
7649  }
7650  if (((bitField0_ & 0x00000800) != 0)) {
7651  size += com.google.protobuf.CodedOutputStream
7652  .computeEnumSize(34, binaryMinimizationAlgorithm_);
7653  }
7654  if (((bitField2_ & 0x00000080) != 0)) {
7655  size += com.google.protobuf.CodedOutputStream
7656  .computeBoolSize(35, useOptimizationHints_);
7657  }
7658  if (((bitField1_ & 0x00000080) != 0)) {
7659  size += com.google.protobuf.CodedOutputStream
7660  .computeDoubleSize(36, maxTimeInSeconds_);
7661  }
7662  if (((bitField1_ & 0x00000200) != 0)) {
7663  size += com.google.protobuf.CodedOutputStream
7664  .computeInt64Size(37, maxNumberOfConflicts_);
7665  }
7666  if (((bitField1_ & 0x00000400) != 0)) {
7667  size += com.google.protobuf.CodedOutputStream
7668  .computeInt64Size(40, maxMemoryInMb_);
7669  }
7670  if (((bitField1_ & 0x00008000) != 0)) {
7671  size += com.google.protobuf.CodedOutputStream
7672  .computeBoolSize(41, logSearchProgress_);
7673  }
7674  if (((bitField1_ & 0x00010000) != 0)) {
7675  size += com.google.protobuf.CodedOutputStream
7676  .computeBoolSize(43, usePbResolution_);
7677  }
7678  if (((bitField0_ & 0x00000008) != 0)) {
7679  size += com.google.protobuf.CodedOutputStream
7680  .computeBoolSize(44, usePhaseSaving_);
7681  }
7682  if (((bitField0_ & 0x00000020) != 0)) {
7683  size += com.google.protobuf.CodedOutputStream
7684  .computeDoubleSize(45, randomPolarityRatio_);
7685  }
7686  if (((bitField0_ & 0x00040000) != 0)) {
7687  size += com.google.protobuf.CodedOutputStream
7688  .computeInt32Size(46, pbCleanupIncrement_);
7689  }
7690  if (((bitField0_ & 0x00080000) != 0)) {
7691  size += com.google.protobuf.CodedOutputStream
7692  .computeDoubleSize(47, pbCleanupRatio_);
7693  }
7694  if (((bitField1_ & 0x00020000) != 0)) {
7695  size += com.google.protobuf.CodedOutputStream
7696  .computeBoolSize(48, minimizeReductionDuringPbResolution_);
7697  }
7698  if (((bitField1_ & 0x00040000) != 0)) {
7699  size += com.google.protobuf.CodedOutputStream
7700  .computeBoolSize(49, countAssumptionLevelsInLbd_);
7701  }
7702  if (((bitField2_ & 0x00000100) != 0)) {
7703  size += com.google.protobuf.CodedOutputStream
7704  .computeBoolSize(50, minimizeCore_);
7705  }
7706  if (((bitField2_ & 0x00000800) != 0)) {
7707  size += com.google.protobuf.CodedOutputStream
7708  .computeEnumSize(51, maxSatAssumptionOrder_);
7709  }
7710  if (((bitField2_ & 0x00001000) != 0)) {
7711  size += com.google.protobuf.CodedOutputStream
7712  .computeBoolSize(52, maxSatReverseAssumptionOrder_);
7713  }
7714  if (((bitField2_ & 0x00002000) != 0)) {
7715  size += com.google.protobuf.CodedOutputStream
7716  .computeEnumSize(53, maxSatStratification_);
7717  }
7718  if (((bitField1_ & 0x00080000) != 0)) {
7719  size += com.google.protobuf.CodedOutputStream
7720  .computeInt32Size(54, presolveBveThreshold_);
7721  }
7722  if (((bitField1_ & 0x00100000) != 0)) {
7723  size += com.google.protobuf.CodedOutputStream
7724  .computeInt32Size(55, presolveBveClauseWeight_);
7725  }
7726  if (((bitField0_ & 0x00001000) != 0)) {
7727  size += com.google.protobuf.CodedOutputStream
7728  .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
7729  }
7730  if (((bitField1_ & 0x00200000) != 0)) {
7731  size += com.google.protobuf.CodedOutputStream
7732  .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
7733  }
7734  if (((bitField0_ & 0x00008000) != 0)) {
7735  size += com.google.protobuf.CodedOutputStream
7736  .computeEnumSize(58, clauseCleanupProtection_);
7737  }
7738  if (((bitField0_ & 0x00010000) != 0)) {
7739  size += com.google.protobuf.CodedOutputStream
7740  .computeInt32Size(59, clauseCleanupLbdBound_);
7741  }
7742  if (((bitField0_ & 0x00020000) != 0)) {
7743  size += com.google.protobuf.CodedOutputStream
7744  .computeEnumSize(60, clauseCleanupOrdering_);
7745  }
7746  {
7747  int dataSize = 0;
7748  for (int i = 0; i < restartAlgorithms_.size(); i++) {
7749  dataSize += com.google.protobuf.CodedOutputStream
7750  .computeEnumSizeNoTag(restartAlgorithms_.get(i));
7751  }
7752  size += dataSize;
7753  size += 2 * restartAlgorithms_.size();
7754  }
7755  if (((bitField0_ & 0x80000000) != 0)) {
7756  size += com.google.protobuf.CodedOutputStream
7757  .computeInt32Size(62, restartRunningWindowSize_);
7758  }
7759  if (((bitField1_ & 0x00000001) != 0)) {
7760  size += com.google.protobuf.CodedOutputStream
7761  .computeDoubleSize(63, restartDlAverageRatio_);
7762  }
7763  if (((bitField1_ & 0x00000004) != 0)) {
7764  size += com.google.protobuf.CodedOutputStream
7765  .computeBoolSize(64, useBlockingRestart_);
7766  }
7767  if (((bitField1_ & 0x00000008) != 0)) {
7768  size += com.google.protobuf.CodedOutputStream
7769  .computeInt32Size(65, blockingRestartWindowSize_);
7770  }
7771  if (((bitField1_ & 0x00000010) != 0)) {
7772  size += com.google.protobuf.CodedOutputStream
7773  .computeDoubleSize(66, blockingRestartMultiplier_);
7774  }
7775  if (((bitField1_ & 0x00000100) != 0)) {
7776  size += com.google.protobuf.CodedOutputStream
7777  .computeDoubleSize(67, maxDeterministicTime_);
7778  }
7779  if (((bitField1_ & 0x00000020) != 0)) {
7780  size += com.google.protobuf.CodedOutputStream
7781  .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
7782  }
7783  if (((bitField1_ & 0x00000040) != 0)) {
7784  size += com.google.protobuf.CodedOutputStream
7785  .computeDoubleSize(69, strategyChangeIncreaseRatio_);
7786  }
7787  if (((bitField0_ & 0x20000000) != 0)) {
7788  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
7789  }
7790  if (((bitField1_ & 0x00000002) != 0)) {
7791  size += com.google.protobuf.CodedOutputStream
7792  .computeDoubleSize(71, restartLbdAverageRatio_);
7793  }
7794  if (((bitField1_ & 0x00800000) != 0)) {
7795  size += com.google.protobuf.CodedOutputStream
7796  .computeBoolSize(72, presolveUseBva_);
7797  }
7798  if (((bitField1_ & 0x01000000) != 0)) {
7799  size += com.google.protobuf.CodedOutputStream
7800  .computeInt32Size(73, presolveBvaThreshold_);
7801  }
7802  if (((bitField2_ & 0x00004000) != 0)) {
7803  size += com.google.protobuf.CodedOutputStream
7804  .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
7805  }
7806  if (((bitField0_ & 0x00000080) != 0)) {
7807  size += com.google.protobuf.CodedOutputStream
7808  .computeBoolSize(75, useErwaHeuristic_);
7809  }
7810  if (((bitField0_ & 0x00000100) != 0)) {
7811  size += com.google.protobuf.CodedOutputStream
7812  .computeDoubleSize(76, initialVariablesActivity_);
7813  }
7814  if (((bitField0_ & 0x00000200) != 0)) {
7815  size += com.google.protobuf.CodedOutputStream
7816  .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
7817  }
7818  if (((bitField2_ & 0x00008000) != 0)) {
7819  size += com.google.protobuf.CodedOutputStream
7820  .computeBoolSize(78, useOverloadCheckerInCumulativeConstraint_);
7821  }
7822  if (((bitField2_ & 0x00010000) != 0)) {
7823  size += com.google.protobuf.CodedOutputStream
7824  .computeBoolSize(79, useTimetableEdgeFindingInCumulativeConstraint_);
7825  }
7826  if (((bitField2_ & 0x00020000) != 0)) {
7827  size += com.google.protobuf.CodedOutputStream
7828  .computeBoolSize(80, useDisjunctiveConstraintInCumulativeConstraint_);
7829  }
7830  if (((bitField3_ & 0x00000040) != 0)) {
7831  size += com.google.protobuf.CodedOutputStream
7832  .computeEnumSize(82, searchBranching_);
7833  }
7834  if (((bitField3_ & 0x00010000) != 0)) {
7835  size += com.google.protobuf.CodedOutputStream
7836  .computeBoolSize(83, optimizeWithCore_);
7837  }
7838  if (((bitField2_ & 0x00000200) != 0)) {
7839  size += com.google.protobuf.CodedOutputStream
7840  .computeBoolSize(84, findMultipleCores_);
7841  }
7842  if (((bitField3_ & 0x00040000) != 0)) {
7843  size += com.google.protobuf.CodedOutputStream
7844  .computeBoolSize(85, optimizeWithMaxHs_);
7845  }
7846  if (((bitField1_ & 0x04000000) != 0)) {
7847  size += com.google.protobuf.CodedOutputStream
7848  .computeBoolSize(86, cpModelPresolve_);
7849  }
7850  if (((bitField3_ & 0x00080000) != 0)) {
7851  size += com.google.protobuf.CodedOutputStream
7852  .computeBoolSize(87, enumerateAllSolutions_);
7853  }
7854  if (((bitField1_ & 0x00400000) != 0)) {
7855  size += com.google.protobuf.CodedOutputStream
7856  .computeBoolSize(88, presolveBlockedClause_);
7857  }
7858  if (((bitField2_ & 0x00000400) != 0)) {
7859  size += com.google.protobuf.CodedOutputStream
7860  .computeBoolSize(89, coverOptimization_);
7861  }
7862  if (((bitField2_ & 0x00040000) != 0)) {
7863  size += com.google.protobuf.CodedOutputStream
7864  .computeInt32Size(90, linearizationLevel_);
7865  }
7866  if (((bitField2_ & 0x00100000) != 0)) {
7867  size += com.google.protobuf.CodedOutputStream
7868  .computeInt32Size(91, maxNumCuts_);
7869  }
7870  if (((bitField2_ & 0x00200000) != 0)) {
7871  size += com.google.protobuf.CodedOutputStream
7872  .computeBoolSize(92, onlyAddCutsAtLevelZero_);
7873  }
7874  if (((bitField1_ & 0x40000000) != 0)) {
7875  size += com.google.protobuf.CodedOutputStream
7876  .computeBoolSize(93, cpModelUseSatPresolve_);
7877  }
7878  if (((bitField3_ & 0x00000200) != 0)) {
7879  size += com.google.protobuf.CodedOutputStream
7880  .computeBoolSize(94, exploitIntegerLpSolution_);
7881  }
7882  if (((bitField3_ & 0x00400000) != 0)) {
7883  size += com.google.protobuf.CodedOutputStream
7884  .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
7885  }
7886  if (((bitField0_ & 0x00100000) != 0)) {
7887  size += com.google.protobuf.CodedOutputStream
7888  .computeInt32Size(96, minimizeWithPropagationRestartPeriod_);
7889  }
7890  if (((bitField0_ & 0x00200000) != 0)) {
7891  size += com.google.protobuf.CodedOutputStream
7892  .computeInt32Size(97, minimizeWithPropagationNumDecisions_);
7893  }
7894  if (((bitField3_ & 0x00800000) != 0)) {
7895  size += com.google.protobuf.CodedOutputStream
7896  .computeBoolSize(98, stopAfterFirstSolution_);
7897  }
7898  if (((bitField3_ & 0x00020000) != 0)) {
7899  size += com.google.protobuf.CodedOutputStream
7900  .computeInt32Size(99, binarySearchNumConflicts_);
7901  }
7902  if (((bitField3_ & 0x02000000) != 0)) {
7903  size += com.google.protobuf.CodedOutputStream
7904  .computeInt32Size(100, numSearchWorkers_);
7905  }
7906  if (((bitField3_ & 0x80000000) != 0)) {
7907  size += com.google.protobuf.CodedOutputStream
7908  .computeBoolSize(101, useLnsOnly_);
7909  }
7910  if (((bitField4_ & 0x00000040) != 0)) {
7911  size += com.google.protobuf.CodedOutputStream
7912  .computeBoolSize(103, randomizeSearch_);
7913  }
7914  if (((bitField4_ & 0x00000080) != 0)) {
7915  size += com.google.protobuf.CodedOutputStream
7916  .computeInt64Size(104, searchRandomizationTolerance_);
7917  }
7918  if (((bitField4_ & 0x00000001) != 0)) {
7919  size += com.google.protobuf.CodedOutputStream
7920  .computeBoolSize(105, lnsFocusOnDecisionVariables_);
7921  }
7922  if (((bitField3_ & 0x00200000) != 0)) {
7923  size += com.google.protobuf.CodedOutputStream
7924  .computeBoolSize(106, instantiateAllVariables_);
7925  }
7926  if (((bitField2_ & 0x00080000) != 0)) {
7927  size += com.google.protobuf.CodedOutputStream
7928  .computeInt32Size(107, booleanEncodingLevel_);
7929  }
7930  if (((bitField4_ & 0x00000100) != 0)) {
7931  size += com.google.protobuf.CodedOutputStream
7932  .computeBoolSize(108, useOptionalVariables_);
7933  }
7934  if (((bitField4_ & 0x00000200) != 0)) {
7935  size += com.google.protobuf.CodedOutputStream
7936  .computeBoolSize(109, useExactLpReason_);
7937  }
7938  if (((bitField1_ & 0x20000000) != 0)) {
7939  size += com.google.protobuf.CodedOutputStream
7940  .computeInt32Size(110, cpModelProbingLevel_);
7941  }
7942  if (((bitField2_ & 0x00400000) != 0)) {
7943  size += com.google.protobuf.CodedOutputStream
7944  .computeBoolSize(111, addKnapsackCuts_);
7945  }
7946  if (((bitField2_ & 0x40000000) != 0)) {
7947  size += com.google.protobuf.CodedOutputStream
7948  .computeBoolSize(112, addLpConstraintsLazily_);
7949  }
7950  if (((bitField3_ & 0x20000000) != 0)) {
7951  size += com.google.protobuf.CodedOutputStream
7952  .computeBoolSize(113, shareObjectiveBounds_);
7953  }
7954  if (((bitField3_ & 0x40000000) != 0)) {
7955  size += com.google.protobuf.CodedOutputStream
7956  .computeBoolSize(114, shareLevelZeroBounds_);
7957  }
7958  if (((bitField2_ & 0x80000000) != 0)) {
7959  size += com.google.protobuf.CodedOutputStream
7960  .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
7961  }
7962  if (((bitField3_ & 0x00000400) != 0)) {
7963  size += com.google.protobuf.CodedOutputStream
7964  .computeBoolSize(116, exploitAllLpSolution_);
7965  }
7966  if (((bitField2_ & 0x00800000) != 0)) {
7967  size += com.google.protobuf.CodedOutputStream
7968  .computeBoolSize(117, addCgCuts_);
7969  }
7970  if (((bitField2_ & 0x20000000) != 0)) {
7971  size += com.google.protobuf.CodedOutputStream
7972  .computeInt32Size(119, maxIntegerRoundingScaling_);
7973  }
7974  if (((bitField2_ & 0x01000000) != 0)) {
7975  size += com.google.protobuf.CodedOutputStream
7976  .computeBoolSize(120, addMirCuts_);
7977  }
7978  if (((bitField3_ & 0x00000002) != 0)) {
7979  size += com.google.protobuf.CodedOutputStream
7980  .computeInt32Size(121, maxConsecutiveInactiveCount_);
7981  }
7982  if (((bitField3_ & 0x00000020) != 0)) {
7983  size += com.google.protobuf.CodedOutputStream
7984  .computeInt32Size(122, newConstraintsBatchSize_);
7985  }
7986  if (((bitField3_ & 0x00008000) != 0)) {
7987  size += com.google.protobuf.CodedOutputStream
7988  .computeInt64Size(123, pseudoCostReliabilityThreshold_);
7989  }
7990  if (((bitField4_ & 0x00004000) != 0)) {
7991  size += com.google.protobuf.CodedOutputStream
7992  .computeDoubleSize(124, mipMaxBound_);
7993  }
7994  if (((bitField4_ & 0x00008000) != 0)) {
7995  size += com.google.protobuf.CodedOutputStream
7996  .computeDoubleSize(125, mipVarScaling_);
7997  }
7998  if (((bitField4_ & 0x00020000) != 0)) {
7999  size += com.google.protobuf.CodedOutputStream
8000  .computeDoubleSize(126, mipWantedPrecision_);
8001  }
8002  if (((bitField4_ & 0x00040000) != 0)) {
8003  size += com.google.protobuf.CodedOutputStream
8004  .computeInt32Size(127, mipMaxActivityExponent_);
8005  }
8006  if (((bitField4_ & 0x00080000) != 0)) {
8007  size += com.google.protobuf.CodedOutputStream
8008  .computeDoubleSize(128, mipCheckPrecision_);
8009  }
8010  if (((bitField4_ & 0x00000002) != 0)) {
8011  size += com.google.protobuf.CodedOutputStream
8012  .computeBoolSize(129, useRinsLns_);
8013  }
8014  if (((bitField3_ & 0x00000800) != 0)) {
8015  size += com.google.protobuf.CodedOutputStream
8016  .computeBoolSize(130, exploitBestSolution_);
8017  }
8018  if (((bitField3_ & 0x00002000) != 0)) {
8019  size += com.google.protobuf.CodedOutputStream
8020  .computeBoolSize(131, exploitObjective_);
8021  }
8022  if (((bitField3_ & 0x00100000) != 0)) {
8023  size += com.google.protobuf.CodedOutputStream
8024  .computeBoolSize(132, fillTightenedDomainsInResponse_);
8025  }
8026  if (((bitField4_ & 0x00000800) != 0)) {
8027  size += com.google.protobuf.CodedOutputStream
8028  .computeBoolSize(133, useCombinedNoOverlap_);
8029  }
8030  if (((bitField3_ & 0x08000000) != 0)) {
8031  size += com.google.protobuf.CodedOutputStream
8032  .computeInt32Size(134, interleaveBatchSize_);
8033  }
8034  if (((bitField4_ & 0x00001000) != 0)) {
8035  size += com.google.protobuf.CodedOutputStream
8036  .computeBoolSize(135, catchSigintSignal_);
8037  }
8038  if (((bitField3_ & 0x04000000) != 0)) {
8039  size += com.google.protobuf.CodedOutputStream
8040  .computeBoolSize(136, interleaveSearch_);
8041  }
8042  if (((bitField4_ & 0x00000020) != 0)) {
8043  size += com.google.protobuf.CodedOutputStream
8044  .computeBoolSize(137, diversifyLnsParams_);
8045  }
8046  if (((bitField1_ & 0x02000000) != 0)) {
8047  size += com.google.protobuf.CodedOutputStream
8048  .computeInt32Size(138, maxPresolveIterations_);
8049  }
8050  if (((bitField4_ & 0x00000400) != 0)) {
8051  size += com.google.protobuf.CodedOutputStream
8052  .computeBoolSize(139, useBranchingInLp_);
8053  }
8054  if (((bitField2_ & 0x00000001) != 0)) {
8055  size += com.google.protobuf.CodedOutputStream
8056  .computeBoolSize(140, expandElementConstraints_);
8057  }
8058  if (((bitField3_ & 0x10000000) != 0)) {
8059  size += com.google.protobuf.CodedOutputStream
8060  .computeBoolSize(141, reduceMemoryUsageInInterleaveMode_);
8061  }
8062  if (((bitField3_ & 0x00004000) != 0)) {
8063  size += com.google.protobuf.CodedOutputStream
8064  .computeInt64Size(142, probingPeriodAtRoot_);
8065  }
8066  if (((bitField2_ & 0x00000002) != 0)) {
8067  size += com.google.protobuf.CodedOutputStream
8068  .computeBoolSize(143, expandAutomatonConstraints_);
8069  }
8070  if (((bitField4_ & 0x00002000) != 0)) {
8071  size += com.google.protobuf.CodedOutputStream
8072  .computeBoolSize(144, useImpliedBounds_);
8073  }
8074  if (((bitField2_ & 0x00000010) != 0)) {
8075  size += com.google.protobuf.CodedOutputStream
8076  .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
8077  }
8078  if (((bitField2_ & 0x00000020) != 0)) {
8079  size += com.google.protobuf.CodedOutputStream
8080  .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
8081  }
8082  if (((bitField2_ & 0x00000040) != 0)) {
8083  size += com.google.protobuf.CodedOutputStream
8084  .computeInt32Size(147, presolveSubstitutionLevel_);
8085  }
8086  if (((bitField2_ & 0x08000000) != 0)) {
8087  size += com.google.protobuf.CodedOutputStream
8088  .computeInt32Size(148, maxAllDiffCutSize_);
8089  }
8090  if (((bitField3_ & 0x01000000) != 0)) {
8091  size += com.google.protobuf.CodedOutputStream
8092  .computeBoolSize(149, stopAfterPresolve_);
8093  }
8094  if (((bitField4_ & 0x00000010) != 0)) {
8095  size += com.google.protobuf.CodedOutputStream
8096  .computeBoolSize(150, useRelaxationLns_);
8097  }
8098  if (((bitField1_ & 0x10000000) != 0)) {
8099  size += com.google.protobuf.CodedOutputStream
8100  .computeInt32Size(151, cpModelMaxNumPresolveOperations_);
8101  }
8102  if (((bitField2_ & 0x10000000) != 0)) {
8103  size += com.google.protobuf.CodedOutputStream
8104  .computeBoolSize(152, addLinMaxCuts_);
8105  }
8106  if (((bitField3_ & 0x00000080) != 0)) {
8107  size += com.google.protobuf.CodedOutputStream
8108  .computeInt32Size(153, hintConflictLimit_);
8109  }
8110  if (((bitField3_ & 0x00000001) != 0)) {
8111  size += com.google.protobuf.CodedOutputStream
8112  .computeInt32Size(154, maxCutRoundsAtLevelZero_);
8113  }
8114  if (((bitField3_ & 0x00000004) != 0)) {
8115  size += com.google.protobuf.CodedOutputStream
8116  .computeDoubleSize(155, cutMaxActiveCountValue_);
8117  }
8118  if (((bitField3_ & 0x00000008) != 0)) {
8119  size += com.google.protobuf.CodedOutputStream
8120  .computeDoubleSize(156, cutActiveCountDecay_);
8121  }
8122  if (((bitField3_ & 0x00000010) != 0)) {
8123  size += com.google.protobuf.CodedOutputStream
8124  .computeInt32Size(157, cutCleanupTarget_);
8125  }
8126  if (((bitField2_ & 0x00000004) != 0)) {
8127  size += com.google.protobuf.CodedOutputStream
8128  .computeBoolSize(158, expandTableConstraints_);
8129  }
8130  if (((bitField1_ & 0x00000800) != 0)) {
8131  size += com.google.protobuf.CodedOutputStream
8132  .computeDoubleSize(159, absoluteGapLimit_);
8133  }
8134  if (((bitField1_ & 0x00001000) != 0)) {
8135  size += com.google.protobuf.CodedOutputStream
8136  .computeDoubleSize(160, relativeGapLimit_);
8137  }
8138  if (((bitField3_ & 0x00001000) != 0)) {
8139  size += com.google.protobuf.CodedOutputStream
8140  .computeBoolSize(161, exploitRelaxationSolution_);
8141  }
8142  if (((bitField1_ & 0x08000000) != 0)) {
8143  size += com.google.protobuf.CodedOutputStream
8144  .computeBoolSize(162, cpModelPostsolveWithFullSolver_);
8145  }
8146  if (((bitField1_ & 0x80000000) != 0)) {
8147  size += com.google.protobuf.CodedOutputStream
8148  .computeBoolSize(163, useSatInprocessing_);
8149  }
8150  if (((bitField4_ & 0x00000004) != 0)) {
8151  size += com.google.protobuf.CodedOutputStream
8152  .computeBoolSize(164, useFeasibilityPump_);
8153  }
8154  if (((bitField4_ & 0x00000008) != 0)) {
8155  size += com.google.protobuf.CodedOutputStream
8156  .computeEnumSize(165, fpRounding_);
8157  }
8158  if (((bitField4_ & 0x00010000) != 0)) {
8159  size += com.google.protobuf.CodedOutputStream
8160  .computeBoolSize(166, mipAutomaticallyScaleVariables_);
8161  }
8162  if (((bitField3_ & 0x00000100) != 0)) {
8163  size += com.google.protobuf.CodedOutputStream
8164  .computeBoolSize(167, repairHint_);
8165  }
8166  if (((bitField0_ & 0x00000010) != 0)) {
8167  size += com.google.protobuf.CodedOutputStream
8168  .computeInt32Size(168, polarityRephaseIncrement_);
8169  }
8170  if (((bitField2_ & 0x02000000) != 0)) {
8171  size += com.google.protobuf.CodedOutputStream
8172  .computeBoolSize(169, addZeroHalfCuts_);
8173  }
8174  if (((bitField2_ & 0x00000008) != 0)) {
8175  size += com.google.protobuf.CodedOutputStream
8176  .computeBoolSize(170, expandAlldiffConstraints_);
8177  }
8178  if (((bitField0_ & 0x00000001) != 0)) {
8179  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(171, name_);
8180  }
8181  if (((bitField2_ & 0x04000000) != 0)) {
8182  size += com.google.protobuf.CodedOutputStream
8183  .computeBoolSize(172, addCliqueCuts_);
8184  }
8185  size += unknownFields.getSerializedSize();
8186  memoizedSize = size;
8187  return size;
8188  }
8189 
8190  @java.lang.Override
8191  public boolean equals(final java.lang.Object obj) {
8192  if (obj == this) {
8193  return true;
8194  }
8195  if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
8196  return super.equals(obj);
8197  }
8199 
8200  if (hasName() != other.hasName()) return false;
8201  if (hasName()) {
8202  if (!getName()
8203  .equals(other.getName())) return false;
8204  }
8205  if (hasPreferredVariableOrder() != other.hasPreferredVariableOrder()) return false;
8206  if (hasPreferredVariableOrder()) {
8207  if (preferredVariableOrder_ != other.preferredVariableOrder_) return false;
8208  }
8209  if (hasInitialPolarity() != other.hasInitialPolarity()) return false;
8210  if (hasInitialPolarity()) {
8211  if (initialPolarity_ != other.initialPolarity_) return false;
8212  }
8213  if (hasUsePhaseSaving() != other.hasUsePhaseSaving()) return false;
8214  if (hasUsePhaseSaving()) {
8215  if (getUsePhaseSaving()
8216  != other.getUsePhaseSaving()) return false;
8217  }
8218  if (hasPolarityRephaseIncrement() != other.hasPolarityRephaseIncrement()) return false;
8221  != other.getPolarityRephaseIncrement()) return false;
8222  }
8223  if (hasRandomPolarityRatio() != other.hasRandomPolarityRatio()) return false;
8224  if (hasRandomPolarityRatio()) {
8225  if (java.lang.Double.doubleToLongBits(getRandomPolarityRatio())
8226  != java.lang.Double.doubleToLongBits(
8227  other.getRandomPolarityRatio())) return false;
8228  }
8229  if (hasRandomBranchesRatio() != other.hasRandomBranchesRatio()) return false;
8230  if (hasRandomBranchesRatio()) {
8231  if (java.lang.Double.doubleToLongBits(getRandomBranchesRatio())
8232  != java.lang.Double.doubleToLongBits(
8233  other.getRandomBranchesRatio())) return false;
8234  }
8235  if (hasUseErwaHeuristic() != other.hasUseErwaHeuristic()) return false;
8236  if (hasUseErwaHeuristic()) {
8237  if (getUseErwaHeuristic()
8238  != other.getUseErwaHeuristic()) return false;
8239  }
8240  if (hasInitialVariablesActivity() != other.hasInitialVariablesActivity()) return false;
8242  if (java.lang.Double.doubleToLongBits(getInitialVariablesActivity())
8243  != java.lang.Double.doubleToLongBits(
8244  other.getInitialVariablesActivity())) return false;
8245  }
8246  if (hasAlsoBumpVariablesInConflictReasons() != other.hasAlsoBumpVariablesInConflictReasons()) return false;
8249  != other.getAlsoBumpVariablesInConflictReasons()) return false;
8250  }
8251  if (hasMinimizationAlgorithm() != other.hasMinimizationAlgorithm()) return false;
8252  if (hasMinimizationAlgorithm()) {
8253  if (minimizationAlgorithm_ != other.minimizationAlgorithm_) return false;
8254  }
8255  if (hasBinaryMinimizationAlgorithm() != other.hasBinaryMinimizationAlgorithm()) return false;
8257  if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_) return false;
8258  }
8259  if (hasSubsumptionDuringConflictAnalysis() != other.hasSubsumptionDuringConflictAnalysis()) return false;
8262  != other.getSubsumptionDuringConflictAnalysis()) return false;
8263  }
8264  if (hasClauseCleanupPeriod() != other.hasClauseCleanupPeriod()) return false;
8265  if (hasClauseCleanupPeriod()) {
8267  != other.getClauseCleanupPeriod()) return false;
8268  }
8269  if (hasClauseCleanupTarget() != other.hasClauseCleanupTarget()) return false;
8270  if (hasClauseCleanupTarget()) {
8272  != other.getClauseCleanupTarget()) return false;
8273  }
8274  if (hasClauseCleanupProtection() != other.hasClauseCleanupProtection()) return false;
8276  if (clauseCleanupProtection_ != other.clauseCleanupProtection_) return false;
8277  }
8278  if (hasClauseCleanupLbdBound() != other.hasClauseCleanupLbdBound()) return false;
8279  if (hasClauseCleanupLbdBound()) {
8281  != other.getClauseCleanupLbdBound()) return false;
8282  }
8283  if (hasClauseCleanupOrdering() != other.hasClauseCleanupOrdering()) return false;
8284  if (hasClauseCleanupOrdering()) {
8285  if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_) return false;
8286  }
8287  if (hasPbCleanupIncrement() != other.hasPbCleanupIncrement()) return false;
8288  if (hasPbCleanupIncrement()) {
8289  if (getPbCleanupIncrement()
8290  != other.getPbCleanupIncrement()) return false;
8291  }
8292  if (hasPbCleanupRatio() != other.hasPbCleanupRatio()) return false;
8293  if (hasPbCleanupRatio()) {
8294  if (java.lang.Double.doubleToLongBits(getPbCleanupRatio())
8295  != java.lang.Double.doubleToLongBits(
8296  other.getPbCleanupRatio())) return false;
8297  }
8298  if (hasMinimizeWithPropagationRestartPeriod() != other.hasMinimizeWithPropagationRestartPeriod()) return false;
8301  != other.getMinimizeWithPropagationRestartPeriod()) return false;
8302  }
8303  if (hasMinimizeWithPropagationNumDecisions() != other.hasMinimizeWithPropagationNumDecisions()) return false;
8306  != other.getMinimizeWithPropagationNumDecisions()) return false;
8307  }
8308  if (hasVariableActivityDecay() != other.hasVariableActivityDecay()) return false;
8309  if (hasVariableActivityDecay()) {
8310  if (java.lang.Double.doubleToLongBits(getVariableActivityDecay())
8311  != java.lang.Double.doubleToLongBits(
8312  other.getVariableActivityDecay())) return false;
8313  }
8314  if (hasMaxVariableActivityValue() != other.hasMaxVariableActivityValue()) return false;
8316  if (java.lang.Double.doubleToLongBits(getMaxVariableActivityValue())
8317  != java.lang.Double.doubleToLongBits(
8318  other.getMaxVariableActivityValue())) return false;
8319  }
8320  if (hasGlucoseMaxDecay() != other.hasGlucoseMaxDecay()) return false;
8321  if (hasGlucoseMaxDecay()) {
8322  if (java.lang.Double.doubleToLongBits(getGlucoseMaxDecay())
8323  != java.lang.Double.doubleToLongBits(
8324  other.getGlucoseMaxDecay())) return false;
8325  }
8326  if (hasGlucoseDecayIncrement() != other.hasGlucoseDecayIncrement()) return false;
8327  if (hasGlucoseDecayIncrement()) {
8328  if (java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement())
8329  != java.lang.Double.doubleToLongBits(
8330  other.getGlucoseDecayIncrement())) return false;
8331  }
8332  if (hasGlucoseDecayIncrementPeriod() != other.hasGlucoseDecayIncrementPeriod()) return false;
8335  != other.getGlucoseDecayIncrementPeriod()) return false;
8336  }
8337  if (hasClauseActivityDecay() != other.hasClauseActivityDecay()) return false;
8338  if (hasClauseActivityDecay()) {
8339  if (java.lang.Double.doubleToLongBits(getClauseActivityDecay())
8340  != java.lang.Double.doubleToLongBits(
8341  other.getClauseActivityDecay())) return false;
8342  }
8343  if (hasMaxClauseActivityValue() != other.hasMaxClauseActivityValue()) return false;
8344  if (hasMaxClauseActivityValue()) {
8345  if (java.lang.Double.doubleToLongBits(getMaxClauseActivityValue())
8346  != java.lang.Double.doubleToLongBits(
8347  other.getMaxClauseActivityValue())) return false;
8348  }
8349  if (!restartAlgorithms_.equals(other.restartAlgorithms_)) return false;
8350  if (hasDefaultRestartAlgorithms() != other.hasDefaultRestartAlgorithms()) return false;
8353  .equals(other.getDefaultRestartAlgorithms())) return false;
8354  }
8355  if (hasRestartPeriod() != other.hasRestartPeriod()) return false;
8356  if (hasRestartPeriod()) {
8357  if (getRestartPeriod()
8358  != other.getRestartPeriod()) return false;
8359  }
8360  if (hasRestartRunningWindowSize() != other.hasRestartRunningWindowSize()) return false;
8363  != other.getRestartRunningWindowSize()) return false;
8364  }
8365  if (hasRestartDlAverageRatio() != other.hasRestartDlAverageRatio()) return false;
8366  if (hasRestartDlAverageRatio()) {
8367  if (java.lang.Double.doubleToLongBits(getRestartDlAverageRatio())
8368  != java.lang.Double.doubleToLongBits(
8369  other.getRestartDlAverageRatio())) return false;
8370  }
8371  if (hasRestartLbdAverageRatio() != other.hasRestartLbdAverageRatio()) return false;
8372  if (hasRestartLbdAverageRatio()) {
8373  if (java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio())
8374  != java.lang.Double.doubleToLongBits(
8375  other.getRestartLbdAverageRatio())) return false;
8376  }
8377  if (hasUseBlockingRestart() != other.hasUseBlockingRestart()) return false;
8378  if (hasUseBlockingRestart()) {
8379  if (getUseBlockingRestart()
8380  != other.getUseBlockingRestart()) return false;
8381  }
8382  if (hasBlockingRestartWindowSize() != other.hasBlockingRestartWindowSize()) return false;
8385  != other.getBlockingRestartWindowSize()) return false;
8386  }
8387  if (hasBlockingRestartMultiplier() != other.hasBlockingRestartMultiplier()) return false;
8389  if (java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier())
8390  != java.lang.Double.doubleToLongBits(
8391  other.getBlockingRestartMultiplier())) return false;
8392  }
8393  if (hasNumConflictsBeforeStrategyChanges() != other.hasNumConflictsBeforeStrategyChanges()) return false;
8396  != other.getNumConflictsBeforeStrategyChanges()) return false;
8397  }
8398  if (hasStrategyChangeIncreaseRatio() != other.hasStrategyChangeIncreaseRatio()) return false;
8400  if (java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio())
8401  != java.lang.Double.doubleToLongBits(
8402  other.getStrategyChangeIncreaseRatio())) return false;
8403  }
8404  if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
8405  if (hasMaxTimeInSeconds()) {
8406  if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
8407  != java.lang.Double.doubleToLongBits(
8408  other.getMaxTimeInSeconds())) return false;
8409  }
8410  if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
8411  if (hasMaxDeterministicTime()) {
8412  if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
8413  != java.lang.Double.doubleToLongBits(
8414  other.getMaxDeterministicTime())) return false;
8415  }
8416  if (hasMaxNumberOfConflicts() != other.hasMaxNumberOfConflicts()) return false;
8417  if (hasMaxNumberOfConflicts()) {
8419  != other.getMaxNumberOfConflicts()) return false;
8420  }
8421  if (hasMaxMemoryInMb() != other.hasMaxMemoryInMb()) return false;
8422  if (hasMaxMemoryInMb()) {
8423  if (getMaxMemoryInMb()
8424  != other.getMaxMemoryInMb()) return false;
8425  }
8426  if (hasAbsoluteGapLimit() != other.hasAbsoluteGapLimit()) return false;
8427  if (hasAbsoluteGapLimit()) {
8428  if (java.lang.Double.doubleToLongBits(getAbsoluteGapLimit())
8429  != java.lang.Double.doubleToLongBits(
8430  other.getAbsoluteGapLimit())) return false;
8431  }
8432  if (hasRelativeGapLimit() != other.hasRelativeGapLimit()) return false;
8433  if (hasRelativeGapLimit()) {
8434  if (java.lang.Double.doubleToLongBits(getRelativeGapLimit())
8435  != java.lang.Double.doubleToLongBits(
8436  other.getRelativeGapLimit())) return false;
8437  }
8438  if (hasTreatBinaryClausesSeparately() != other.hasTreatBinaryClausesSeparately()) return false;
8441  != other.getTreatBinaryClausesSeparately()) return false;
8442  }
8443  if (hasRandomSeed() != other.hasRandomSeed()) return false;
8444  if (hasRandomSeed()) {
8445  if (getRandomSeed()
8446  != other.getRandomSeed()) return false;
8447  }
8448  if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
8449  if (hasLogSearchProgress()) {
8450  if (getLogSearchProgress()
8451  != other.getLogSearchProgress()) return false;
8452  }
8453  if (hasUsePbResolution() != other.hasUsePbResolution()) return false;
8454  if (hasUsePbResolution()) {
8455  if (getUsePbResolution()
8456  != other.getUsePbResolution()) return false;
8457  }
8458  if (hasMinimizeReductionDuringPbResolution() != other.hasMinimizeReductionDuringPbResolution()) return false;
8461  != other.getMinimizeReductionDuringPbResolution()) return false;
8462  }
8463  if (hasCountAssumptionLevelsInLbd() != other.hasCountAssumptionLevelsInLbd()) return false;
8466  != other.getCountAssumptionLevelsInLbd()) return false;
8467  }
8468  if (hasPresolveBveThreshold() != other.hasPresolveBveThreshold()) return false;
8469  if (hasPresolveBveThreshold()) {
8471  != other.getPresolveBveThreshold()) return false;
8472  }
8473  if (hasPresolveBveClauseWeight() != other.hasPresolveBveClauseWeight()) return false;
8476  != other.getPresolveBveClauseWeight()) return false;
8477  }
8478  if (hasPresolveProbingDeterministicTimeLimit() != other.hasPresolveProbingDeterministicTimeLimit()) return false;
8480  if (java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit())
8481  != java.lang.Double.doubleToLongBits(
8482  other.getPresolveProbingDeterministicTimeLimit())) return false;
8483  }
8484  if (hasPresolveBlockedClause() != other.hasPresolveBlockedClause()) return false;
8485  if (hasPresolveBlockedClause()) {
8487  != other.getPresolveBlockedClause()) return false;
8488  }
8489  if (hasPresolveUseBva() != other.hasPresolveUseBva()) return false;
8490  if (hasPresolveUseBva()) {
8491  if (getPresolveUseBva()
8492  != other.getPresolveUseBva()) return false;
8493  }
8494  if (hasPresolveBvaThreshold() != other.hasPresolveBvaThreshold()) return false;
8495  if (hasPresolveBvaThreshold()) {
8497  != other.getPresolveBvaThreshold()) return false;
8498  }
8499  if (hasMaxPresolveIterations() != other.hasMaxPresolveIterations()) return false;
8500  if (hasMaxPresolveIterations()) {
8502  != other.getMaxPresolveIterations()) return false;
8503  }
8504  if (hasCpModelPresolve() != other.hasCpModelPresolve()) return false;
8505  if (hasCpModelPresolve()) {
8506  if (getCpModelPresolve()
8507  != other.getCpModelPresolve()) return false;
8508  }
8509  if (hasCpModelPostsolveWithFullSolver() != other.hasCpModelPostsolveWithFullSolver()) return false;
8512  != other.getCpModelPostsolveWithFullSolver()) return false;
8513  }
8514  if (hasCpModelMaxNumPresolveOperations() != other.hasCpModelMaxNumPresolveOperations()) return false;
8517  != other.getCpModelMaxNumPresolveOperations()) return false;
8518  }
8519  if (hasCpModelProbingLevel() != other.hasCpModelProbingLevel()) return false;
8520  if (hasCpModelProbingLevel()) {
8522  != other.getCpModelProbingLevel()) return false;
8523  }
8524  if (hasCpModelUseSatPresolve() != other.hasCpModelUseSatPresolve()) return false;
8525  if (hasCpModelUseSatPresolve()) {
8527  != other.getCpModelUseSatPresolve()) return false;
8528  }
8529  if (hasUseSatInprocessing() != other.hasUseSatInprocessing()) return false;
8530  if (hasUseSatInprocessing()) {
8531  if (getUseSatInprocessing()
8532  != other.getUseSatInprocessing()) return false;
8533  }
8534  if (hasExpandElementConstraints() != other.hasExpandElementConstraints()) return false;
8537  != other.getExpandElementConstraints()) return false;
8538  }
8539  if (hasExpandAutomatonConstraints() != other.hasExpandAutomatonConstraints()) return false;
8542  != other.getExpandAutomatonConstraints()) return false;
8543  }
8544  if (hasExpandTableConstraints() != other.hasExpandTableConstraints()) return false;
8545  if (hasExpandTableConstraints()) {
8547  != other.getExpandTableConstraints()) return false;
8548  }
8549  if (hasExpandAlldiffConstraints() != other.hasExpandAlldiffConstraints()) return false;
8552  != other.getExpandAlldiffConstraints()) return false;
8553  }
8554  if (hasMergeNoOverlapWorkLimit() != other.hasMergeNoOverlapWorkLimit()) return false;
8556  if (java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit())
8557  != java.lang.Double.doubleToLongBits(
8558  other.getMergeNoOverlapWorkLimit())) return false;
8559  }
8560  if (hasMergeAtMostOneWorkLimit() != other.hasMergeAtMostOneWorkLimit()) return false;
8562  if (java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit())
8563  != java.lang.Double.doubleToLongBits(
8564  other.getMergeAtMostOneWorkLimit())) return false;
8565  }
8566  if (hasPresolveSubstitutionLevel() != other.hasPresolveSubstitutionLevel()) return false;
8569  != other.getPresolveSubstitutionLevel()) return false;
8570  }
8571  if (hasUseOptimizationHints() != other.hasUseOptimizationHints()) return false;
8572  if (hasUseOptimizationHints()) {
8574  != other.getUseOptimizationHints()) return false;
8575  }
8576  if (hasMinimizeCore() != other.hasMinimizeCore()) return false;
8577  if (hasMinimizeCore()) {
8578  if (getMinimizeCore()
8579  != other.getMinimizeCore()) return false;
8580  }
8581  if (hasFindMultipleCores() != other.hasFindMultipleCores()) return false;
8582  if (hasFindMultipleCores()) {
8583  if (getFindMultipleCores()
8584  != other.getFindMultipleCores()) return false;
8585  }
8586  if (hasCoverOptimization() != other.hasCoverOptimization()) return false;
8587  if (hasCoverOptimization()) {
8588  if (getCoverOptimization()
8589  != other.getCoverOptimization()) return false;
8590  }
8591  if (hasMaxSatAssumptionOrder() != other.hasMaxSatAssumptionOrder()) return false;
8592  if (hasMaxSatAssumptionOrder()) {
8593  if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_) return false;
8594  }
8595  if (hasMaxSatReverseAssumptionOrder() != other.hasMaxSatReverseAssumptionOrder()) return false;
8598  != other.getMaxSatReverseAssumptionOrder()) return false;
8599  }
8600  if (hasMaxSatStratification() != other.hasMaxSatStratification()) return false;
8601  if (hasMaxSatStratification()) {
8602  if (maxSatStratification_ != other.maxSatStratification_) return false;
8603  }
8604  if (hasUsePrecedencesInDisjunctiveConstraint() != other.hasUsePrecedencesInDisjunctiveConstraint()) return false;
8607  != other.getUsePrecedencesInDisjunctiveConstraint()) return false;
8608  }
8609  if (hasUseOverloadCheckerInCumulativeConstraint() != other.hasUseOverloadCheckerInCumulativeConstraint()) return false;
8612  != other.getUseOverloadCheckerInCumulativeConstraint()) return false;
8613  }
8614  if (hasUseTimetableEdgeFindingInCumulativeConstraint() != other.hasUseTimetableEdgeFindingInCumulativeConstraint()) return false;
8617  != other.getUseTimetableEdgeFindingInCumulativeConstraint()) return false;
8618  }
8619  if (hasUseDisjunctiveConstraintInCumulativeConstraint() != other.hasUseDisjunctiveConstraintInCumulativeConstraint()) return false;
8622  != other.getUseDisjunctiveConstraintInCumulativeConstraint()) return false;
8623  }
8624  if (hasLinearizationLevel() != other.hasLinearizationLevel()) return false;
8625  if (hasLinearizationLevel()) {
8626  if (getLinearizationLevel()
8627  != other.getLinearizationLevel()) return false;
8628  }
8629  if (hasBooleanEncodingLevel() != other.hasBooleanEncodingLevel()) return false;
8630  if (hasBooleanEncodingLevel()) {
8632  != other.getBooleanEncodingLevel()) return false;
8633  }
8634  if (hasMaxNumCuts() != other.hasMaxNumCuts()) return false;
8635  if (hasMaxNumCuts()) {
8636  if (getMaxNumCuts()
8637  != other.getMaxNumCuts()) return false;
8638  }
8639  if (hasOnlyAddCutsAtLevelZero() != other.hasOnlyAddCutsAtLevelZero()) return false;
8640  if (hasOnlyAddCutsAtLevelZero()) {
8642  != other.getOnlyAddCutsAtLevelZero()) return false;
8643  }
8644  if (hasAddKnapsackCuts() != other.hasAddKnapsackCuts()) return false;
8645  if (hasAddKnapsackCuts()) {
8646  if (getAddKnapsackCuts()
8647  != other.getAddKnapsackCuts()) return false;
8648  }
8649  if (hasAddCgCuts() != other.hasAddCgCuts()) return false;
8650  if (hasAddCgCuts()) {
8651  if (getAddCgCuts()
8652  != other.getAddCgCuts()) return false;
8653  }
8654  if (hasAddMirCuts() != other.hasAddMirCuts()) return false;
8655  if (hasAddMirCuts()) {
8656  if (getAddMirCuts()
8657  != other.getAddMirCuts()) return false;
8658  }
8659  if (hasAddZeroHalfCuts() != other.hasAddZeroHalfCuts()) return false;
8660  if (hasAddZeroHalfCuts()) {
8661  if (getAddZeroHalfCuts()
8662  != other.getAddZeroHalfCuts()) return false;
8663  }
8664  if (hasAddCliqueCuts() != other.hasAddCliqueCuts()) return false;
8665  if (hasAddCliqueCuts()) {
8666  if (getAddCliqueCuts()
8667  != other.getAddCliqueCuts()) return false;
8668  }
8669  if (hasMaxAllDiffCutSize() != other.hasMaxAllDiffCutSize()) return false;
8670  if (hasMaxAllDiffCutSize()) {
8671  if (getMaxAllDiffCutSize()
8672  != other.getMaxAllDiffCutSize()) return false;
8673  }
8674  if (hasAddLinMaxCuts() != other.hasAddLinMaxCuts()) return false;
8675  if (hasAddLinMaxCuts()) {
8676  if (getAddLinMaxCuts()
8677  != other.getAddLinMaxCuts()) return false;
8678  }
8679  if (hasMaxIntegerRoundingScaling() != other.hasMaxIntegerRoundingScaling()) return false;
8682  != other.getMaxIntegerRoundingScaling()) return false;
8683  }
8684  if (hasAddLpConstraintsLazily() != other.hasAddLpConstraintsLazily()) return false;
8685  if (hasAddLpConstraintsLazily()) {
8687  != other.getAddLpConstraintsLazily()) return false;
8688  }
8689  if (hasMinOrthogonalityForLpConstraints() != other.hasMinOrthogonalityForLpConstraints()) return false;
8691  if (java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints())
8692  != java.lang.Double.doubleToLongBits(
8693  other.getMinOrthogonalityForLpConstraints())) return false;
8694  }
8695  if (hasMaxCutRoundsAtLevelZero() != other.hasMaxCutRoundsAtLevelZero()) return false;
8698  != other.getMaxCutRoundsAtLevelZero()) return false;
8699  }
8700  if (hasMaxConsecutiveInactiveCount() != other.hasMaxConsecutiveInactiveCount()) return false;
8703  != other.getMaxConsecutiveInactiveCount()) return false;
8704  }
8705  if (hasCutMaxActiveCountValue() != other.hasCutMaxActiveCountValue()) return false;
8706  if (hasCutMaxActiveCountValue()) {
8707  if (java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue())
8708  != java.lang.Double.doubleToLongBits(
8709  other.getCutMaxActiveCountValue())) return false;
8710  }
8711  if (hasCutActiveCountDecay() != other.hasCutActiveCountDecay()) return false;
8712  if (hasCutActiveCountDecay()) {
8713  if (java.lang.Double.doubleToLongBits(getCutActiveCountDecay())
8714  != java.lang.Double.doubleToLongBits(
8715  other.getCutActiveCountDecay())) return false;
8716  }
8717  if (hasCutCleanupTarget() != other.hasCutCleanupTarget()) return false;
8718  if (hasCutCleanupTarget()) {
8719  if (getCutCleanupTarget()
8720  != other.getCutCleanupTarget()) return false;
8721  }
8722  if (hasNewConstraintsBatchSize() != other.hasNewConstraintsBatchSize()) return false;
8725  != other.getNewConstraintsBatchSize()) return false;
8726  }
8727  if (hasSearchBranching() != other.hasSearchBranching()) return false;
8728  if (hasSearchBranching()) {
8729  if (searchBranching_ != other.searchBranching_) return false;
8730  }
8731  if (hasHintConflictLimit() != other.hasHintConflictLimit()) return false;
8732  if (hasHintConflictLimit()) {
8733  if (getHintConflictLimit()
8734  != other.getHintConflictLimit()) return false;
8735  }
8736  if (hasRepairHint() != other.hasRepairHint()) return false;
8737  if (hasRepairHint()) {
8738  if (getRepairHint()
8739  != other.getRepairHint()) return false;
8740  }
8741  if (hasExploitIntegerLpSolution() != other.hasExploitIntegerLpSolution()) return false;
8744  != other.getExploitIntegerLpSolution()) return false;
8745  }
8746  if (hasExploitAllLpSolution() != other.hasExploitAllLpSolution()) return false;
8747  if (hasExploitAllLpSolution()) {
8749  != other.getExploitAllLpSolution()) return false;
8750  }
8751  if (hasExploitBestSolution() != other.hasExploitBestSolution()) return false;
8752  if (hasExploitBestSolution()) {
8754  != other.getExploitBestSolution()) return false;
8755  }
8756  if (hasExploitRelaxationSolution() != other.hasExploitRelaxationSolution()) return false;
8759  != other.getExploitRelaxationSolution()) return false;
8760  }
8761  if (hasExploitObjective() != other.hasExploitObjective()) return false;
8762  if (hasExploitObjective()) {
8763  if (getExploitObjective()
8764  != other.getExploitObjective()) return false;
8765  }
8766  if (hasProbingPeriodAtRoot() != other.hasProbingPeriodAtRoot()) return false;
8767  if (hasProbingPeriodAtRoot()) {
8769  != other.getProbingPeriodAtRoot()) return false;
8770  }
8771  if (hasPseudoCostReliabilityThreshold() != other.hasPseudoCostReliabilityThreshold()) return false;
8774  != other.getPseudoCostReliabilityThreshold()) return false;
8775  }
8776  if (hasOptimizeWithCore() != other.hasOptimizeWithCore()) return false;
8777  if (hasOptimizeWithCore()) {
8778  if (getOptimizeWithCore()
8779  != other.getOptimizeWithCore()) return false;
8780  }
8781  if (hasBinarySearchNumConflicts() != other.hasBinarySearchNumConflicts()) return false;
8784  != other.getBinarySearchNumConflicts()) return false;
8785  }
8786  if (hasOptimizeWithMaxHs() != other.hasOptimizeWithMaxHs()) return false;
8787  if (hasOptimizeWithMaxHs()) {
8788  if (getOptimizeWithMaxHs()
8789  != other.getOptimizeWithMaxHs()) return false;
8790  }
8791  if (hasEnumerateAllSolutions() != other.hasEnumerateAllSolutions()) return false;
8792  if (hasEnumerateAllSolutions()) {
8794  != other.getEnumerateAllSolutions()) return false;
8795  }
8796  if (hasFillTightenedDomainsInResponse() != other.hasFillTightenedDomainsInResponse()) return false;
8799  != other.getFillTightenedDomainsInResponse()) return false;
8800  }
8801  if (hasInstantiateAllVariables() != other.hasInstantiateAllVariables()) return false;
8804  != other.getInstantiateAllVariables()) return false;
8805  }
8806  if (hasAutoDetectGreaterThanAtLeastOneOf() != other.hasAutoDetectGreaterThanAtLeastOneOf()) return false;
8809  != other.getAutoDetectGreaterThanAtLeastOneOf()) return false;
8810  }
8811  if (hasStopAfterFirstSolution() != other.hasStopAfterFirstSolution()) return false;
8812  if (hasStopAfterFirstSolution()) {
8814  != other.getStopAfterFirstSolution()) return false;
8815  }
8816  if (hasStopAfterPresolve() != other.hasStopAfterPresolve()) return false;
8817  if (hasStopAfterPresolve()) {
8818  if (getStopAfterPresolve()
8819  != other.getStopAfterPresolve()) return false;
8820  }
8821  if (hasNumSearchWorkers() != other.hasNumSearchWorkers()) return false;
8822  if (hasNumSearchWorkers()) {
8823  if (getNumSearchWorkers()
8824  != other.getNumSearchWorkers()) return false;
8825  }
8826  if (hasInterleaveSearch() != other.hasInterleaveSearch()) return false;
8827  if (hasInterleaveSearch()) {
8828  if (getInterleaveSearch()
8829  != other.getInterleaveSearch()) return false;
8830  }
8831  if (hasInterleaveBatchSize() != other.hasInterleaveBatchSize()) return false;
8832  if (hasInterleaveBatchSize()) {
8834  != other.getInterleaveBatchSize()) return false;
8835  }
8836  if (hasReduceMemoryUsageInInterleaveMode() != other.hasReduceMemoryUsageInInterleaveMode()) return false;
8839  != other.getReduceMemoryUsageInInterleaveMode()) return false;
8840  }
8841  if (hasShareObjectiveBounds() != other.hasShareObjectiveBounds()) return false;
8842  if (hasShareObjectiveBounds()) {
8844  != other.getShareObjectiveBounds()) return false;
8845  }
8846  if (hasShareLevelZeroBounds() != other.hasShareLevelZeroBounds()) return false;
8847  if (hasShareLevelZeroBounds()) {
8849  != other.getShareLevelZeroBounds()) return false;
8850  }
8851  if (hasUseLnsOnly() != other.hasUseLnsOnly()) return false;
8852  if (hasUseLnsOnly()) {
8853  if (getUseLnsOnly()
8854  != other.getUseLnsOnly()) return false;
8855  }
8856  if (hasLnsFocusOnDecisionVariables() != other.hasLnsFocusOnDecisionVariables()) return false;
8859  != other.getLnsFocusOnDecisionVariables()) return false;
8860  }
8861  if (hasUseRinsLns() != other.hasUseRinsLns()) return false;
8862  if (hasUseRinsLns()) {
8863  if (getUseRinsLns()
8864  != other.getUseRinsLns()) return false;
8865  }
8866  if (hasUseFeasibilityPump() != other.hasUseFeasibilityPump()) return false;
8867  if (hasUseFeasibilityPump()) {
8868  if (getUseFeasibilityPump()
8869  != other.getUseFeasibilityPump()) return false;
8870  }
8871  if (hasFpRounding() != other.hasFpRounding()) return false;
8872  if (hasFpRounding()) {
8873  if (fpRounding_ != other.fpRounding_) return false;
8874  }
8875  if (hasUseRelaxationLns() != other.hasUseRelaxationLns()) return false;
8876  if (hasUseRelaxationLns()) {
8877  if (getUseRelaxationLns()
8878  != other.getUseRelaxationLns()) return false;
8879  }
8880  if (hasDiversifyLnsParams() != other.hasDiversifyLnsParams()) return false;
8881  if (hasDiversifyLnsParams()) {
8882  if (getDiversifyLnsParams()
8883  != other.getDiversifyLnsParams()) return false;
8884  }
8885  if (hasRandomizeSearch() != other.hasRandomizeSearch()) return false;
8886  if (hasRandomizeSearch()) {
8887  if (getRandomizeSearch()
8888  != other.getRandomizeSearch()) return false;
8889  }
8890  if (hasSearchRandomizationTolerance() != other.hasSearchRandomizationTolerance()) return false;
8893  != other.getSearchRandomizationTolerance()) return false;
8894  }
8895  if (hasUseOptionalVariables() != other.hasUseOptionalVariables()) return false;
8896  if (hasUseOptionalVariables()) {
8898  != other.getUseOptionalVariables()) return false;
8899  }
8900  if (hasUseExactLpReason() != other.hasUseExactLpReason()) return false;
8901  if (hasUseExactLpReason()) {
8902  if (getUseExactLpReason()
8903  != other.getUseExactLpReason()) return false;
8904  }
8905  if (hasUseBranchingInLp() != other.hasUseBranchingInLp()) return false;
8906  if (hasUseBranchingInLp()) {
8907  if (getUseBranchingInLp()
8908  != other.getUseBranchingInLp()) return false;
8909  }
8910  if (hasUseCombinedNoOverlap() != other.hasUseCombinedNoOverlap()) return false;
8911  if (hasUseCombinedNoOverlap()) {
8913  != other.getUseCombinedNoOverlap()) return false;
8914  }
8915  if (hasCatchSigintSignal() != other.hasCatchSigintSignal()) return false;
8916  if (hasCatchSigintSignal()) {
8917  if (getCatchSigintSignal()
8918  != other.getCatchSigintSignal()) return false;
8919  }
8920  if (hasUseImpliedBounds() != other.hasUseImpliedBounds()) return false;
8921  if (hasUseImpliedBounds()) {
8922  if (getUseImpliedBounds()
8923  != other.getUseImpliedBounds()) return false;
8924  }
8925  if (hasMipMaxBound() != other.hasMipMaxBound()) return false;
8926  if (hasMipMaxBound()) {
8927  if (java.lang.Double.doubleToLongBits(getMipMaxBound())
8928  != java.lang.Double.doubleToLongBits(
8929  other.getMipMaxBound())) return false;
8930  }
8931  if (hasMipVarScaling() != other.hasMipVarScaling()) return false;
8932  if (hasMipVarScaling()) {
8933  if (java.lang.Double.doubleToLongBits(getMipVarScaling())
8934  != java.lang.Double.doubleToLongBits(
8935  other.getMipVarScaling())) return false;
8936  }
8937  if (hasMipAutomaticallyScaleVariables() != other.hasMipAutomaticallyScaleVariables()) return false;
8940  != other.getMipAutomaticallyScaleVariables()) return false;
8941  }
8942  if (hasMipWantedPrecision() != other.hasMipWantedPrecision()) return false;
8943  if (hasMipWantedPrecision()) {
8944  if (java.lang.Double.doubleToLongBits(getMipWantedPrecision())
8945  != java.lang.Double.doubleToLongBits(
8946  other.getMipWantedPrecision())) return false;
8947  }
8948  if (hasMipMaxActivityExponent() != other.hasMipMaxActivityExponent()) return false;
8949  if (hasMipMaxActivityExponent()) {
8951  != other.getMipMaxActivityExponent()) return false;
8952  }
8953  if (hasMipCheckPrecision() != other.hasMipCheckPrecision()) return false;
8954  if (hasMipCheckPrecision()) {
8955  if (java.lang.Double.doubleToLongBits(getMipCheckPrecision())
8956  != java.lang.Double.doubleToLongBits(
8957  other.getMipCheckPrecision())) return false;
8958  }
8959  if (!unknownFields.equals(other.unknownFields)) return false;
8960  return true;
8961  }
8962 
8963  @java.lang.Override
8964  public int hashCode() {
8965  if (memoizedHashCode != 0) {
8966  return memoizedHashCode;
8967  }
8968  int hash = 41;
8969  hash = (19 * hash) + getDescriptor().hashCode();
8970  if (hasName()) {
8971  hash = (37 * hash) + NAME_FIELD_NUMBER;
8972  hash = (53 * hash) + getName().hashCode();
8973  }
8974  if (hasPreferredVariableOrder()) {
8975  hash = (37 * hash) + PREFERRED_VARIABLE_ORDER_FIELD_NUMBER;
8976  hash = (53 * hash) + preferredVariableOrder_;
8977  }
8978  if (hasInitialPolarity()) {
8979  hash = (37 * hash) + INITIAL_POLARITY_FIELD_NUMBER;
8980  hash = (53 * hash) + initialPolarity_;
8981  }
8982  if (hasUsePhaseSaving()) {
8983  hash = (37 * hash) + USE_PHASE_SAVING_FIELD_NUMBER;
8984  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8985  getUsePhaseSaving());
8986  }
8988  hash = (37 * hash) + POLARITY_REPHASE_INCREMENT_FIELD_NUMBER;
8989  hash = (53 * hash) + getPolarityRephaseIncrement();
8990  }
8991  if (hasRandomPolarityRatio()) {
8992  hash = (37 * hash) + RANDOM_POLARITY_RATIO_FIELD_NUMBER;
8993  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8994  java.lang.Double.doubleToLongBits(getRandomPolarityRatio()));
8995  }
8996  if (hasRandomBranchesRatio()) {
8997  hash = (37 * hash) + RANDOM_BRANCHES_RATIO_FIELD_NUMBER;
8998  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8999  java.lang.Double.doubleToLongBits(getRandomBranchesRatio()));
9000  }
9001  if (hasUseErwaHeuristic()) {
9002  hash = (37 * hash) + USE_ERWA_HEURISTIC_FIELD_NUMBER;
9003  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9005  }
9007  hash = (37 * hash) + INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER;
9008  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9009  java.lang.Double.doubleToLongBits(getInitialVariablesActivity()));
9010  }
9013  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9015  }
9016  if (hasMinimizationAlgorithm()) {
9017  hash = (37 * hash) + MINIMIZATION_ALGORITHM_FIELD_NUMBER;
9018  hash = (53 * hash) + minimizationAlgorithm_;
9019  }
9021  hash = (37 * hash) + BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER;
9022  hash = (53 * hash) + binaryMinimizationAlgorithm_;
9023  }
9026  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9028  }
9029  if (hasClauseCleanupPeriod()) {
9030  hash = (37 * hash) + CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER;
9031  hash = (53 * hash) + getClauseCleanupPeriod();
9032  }
9033  if (hasClauseCleanupTarget()) {
9034  hash = (37 * hash) + CLAUSE_CLEANUP_TARGET_FIELD_NUMBER;
9035  hash = (53 * hash) + getClauseCleanupTarget();
9036  }
9038  hash = (37 * hash) + CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER;
9039  hash = (53 * hash) + clauseCleanupProtection_;
9040  }
9041  if (hasClauseCleanupLbdBound()) {
9042  hash = (37 * hash) + CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER;
9043  hash = (53 * hash) + getClauseCleanupLbdBound();
9044  }
9045  if (hasClauseCleanupOrdering()) {
9046  hash = (37 * hash) + CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER;
9047  hash = (53 * hash) + clauseCleanupOrdering_;
9048  }
9049  if (hasPbCleanupIncrement()) {
9050  hash = (37 * hash) + PB_CLEANUP_INCREMENT_FIELD_NUMBER;
9051  hash = (53 * hash) + getPbCleanupIncrement();
9052  }
9053  if (hasPbCleanupRatio()) {
9054  hash = (37 * hash) + PB_CLEANUP_RATIO_FIELD_NUMBER;
9055  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9056  java.lang.Double.doubleToLongBits(getPbCleanupRatio()));
9057  }
9060  hash = (53 * hash) + getMinimizeWithPropagationRestartPeriod();
9061  }
9064  hash = (53 * hash) + getMinimizeWithPropagationNumDecisions();
9065  }
9066  if (hasVariableActivityDecay()) {
9067  hash = (37 * hash) + VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER;
9068  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9069  java.lang.Double.doubleToLongBits(getVariableActivityDecay()));
9070  }
9072  hash = (37 * hash) + MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER;
9073  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9074  java.lang.Double.doubleToLongBits(getMaxVariableActivityValue()));
9075  }
9076  if (hasGlucoseMaxDecay()) {
9077  hash = (37 * hash) + GLUCOSE_MAX_DECAY_FIELD_NUMBER;
9078  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9079  java.lang.Double.doubleToLongBits(getGlucoseMaxDecay()));
9080  }
9081  if (hasGlucoseDecayIncrement()) {
9082  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER;
9083  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9084  java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement()));
9085  }
9087  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER;
9088  hash = (53 * hash) + getGlucoseDecayIncrementPeriod();
9089  }
9090  if (hasClauseActivityDecay()) {
9091  hash = (37 * hash) + CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER;
9092  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9093  java.lang.Double.doubleToLongBits(getClauseActivityDecay()));
9094  }
9095  if (hasMaxClauseActivityValue()) {
9096  hash = (37 * hash) + MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER;
9097  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9098  java.lang.Double.doubleToLongBits(getMaxClauseActivityValue()));
9099  }
9100  if (getRestartAlgorithmsCount() > 0) {
9101  hash = (37 * hash) + RESTART_ALGORITHMS_FIELD_NUMBER;
9102  hash = (53 * hash) + restartAlgorithms_.hashCode();
9103  }
9105  hash = (37 * hash) + DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER;
9106  hash = (53 * hash) + getDefaultRestartAlgorithms().hashCode();
9107  }
9108  if (hasRestartPeriod()) {
9109  hash = (37 * hash) + RESTART_PERIOD_FIELD_NUMBER;
9110  hash = (53 * hash) + getRestartPeriod();
9111  }
9113  hash = (37 * hash) + RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER;
9114  hash = (53 * hash) + getRestartRunningWindowSize();
9115  }
9116  if (hasRestartDlAverageRatio()) {
9117  hash = (37 * hash) + RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER;
9118  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9119  java.lang.Double.doubleToLongBits(getRestartDlAverageRatio()));
9120  }
9121  if (hasRestartLbdAverageRatio()) {
9122  hash = (37 * hash) + RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER;
9123  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9124  java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio()));
9125  }
9126  if (hasUseBlockingRestart()) {
9127  hash = (37 * hash) + USE_BLOCKING_RESTART_FIELD_NUMBER;
9128  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9130  }
9132  hash = (37 * hash) + BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER;
9133  hash = (53 * hash) + getBlockingRestartWindowSize();
9134  }
9136  hash = (37 * hash) + BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER;
9137  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9138  java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier()));
9139  }
9142  hash = (53 * hash) + getNumConflictsBeforeStrategyChanges();
9143  }
9145  hash = (37 * hash) + STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER;
9146  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9147  java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio()));
9148  }
9149  if (hasMaxTimeInSeconds()) {
9150  hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
9151  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9152  java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
9153  }
9154  if (hasMaxDeterministicTime()) {
9155  hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
9156  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9157  java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
9158  }
9159  if (hasMaxNumberOfConflicts()) {
9160  hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER;
9161  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9163  }
9164  if (hasMaxMemoryInMb()) {
9165  hash = (37 * hash) + MAX_MEMORY_IN_MB_FIELD_NUMBER;
9166  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9167  getMaxMemoryInMb());
9168  }
9169  if (hasAbsoluteGapLimit()) {
9170  hash = (37 * hash) + ABSOLUTE_GAP_LIMIT_FIELD_NUMBER;
9171  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9172  java.lang.Double.doubleToLongBits(getAbsoluteGapLimit()));
9173  }
9174  if (hasRelativeGapLimit()) {
9175  hash = (37 * hash) + RELATIVE_GAP_LIMIT_FIELD_NUMBER;
9176  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9177  java.lang.Double.doubleToLongBits(getRelativeGapLimit()));
9178  }
9180  hash = (37 * hash) + TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER;
9181  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9183  }
9184  if (hasRandomSeed()) {
9185  hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
9186  hash = (53 * hash) + getRandomSeed();
9187  }
9188  if (hasLogSearchProgress()) {
9189  hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
9190  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9192  }
9193  if (hasUsePbResolution()) {
9194  hash = (37 * hash) + USE_PB_RESOLUTION_FIELD_NUMBER;
9195  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9196  getUsePbResolution());
9197  }
9200  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9202  }
9204  hash = (37 * hash) + COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER;
9205  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9207  }
9208  if (hasPresolveBveThreshold()) {
9209  hash = (37 * hash) + PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER;
9210  hash = (53 * hash) + getPresolveBveThreshold();
9211  }
9213  hash = (37 * hash) + PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER;
9214  hash = (53 * hash) + getPresolveBveClauseWeight();
9215  }
9218  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9219  java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit()));
9220  }
9221  if (hasPresolveBlockedClause()) {
9222  hash = (37 * hash) + PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER;
9223  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9225  }
9226  if (hasPresolveUseBva()) {
9227  hash = (37 * hash) + PRESOLVE_USE_BVA_FIELD_NUMBER;
9228  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9229  getPresolveUseBva());
9230  }
9231  if (hasPresolveBvaThreshold()) {
9232  hash = (37 * hash) + PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER;
9233  hash = (53 * hash) + getPresolveBvaThreshold();
9234  }
9235  if (hasMaxPresolveIterations()) {
9236  hash = (37 * hash) + MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER;
9237  hash = (53 * hash) + getMaxPresolveIterations();
9238  }
9239  if (hasCpModelPresolve()) {
9240  hash = (37 * hash) + CP_MODEL_PRESOLVE_FIELD_NUMBER;
9241  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9242  getCpModelPresolve());
9243  }
9246  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9248  }
9251  hash = (53 * hash) + getCpModelMaxNumPresolveOperations();
9252  }
9253  if (hasCpModelProbingLevel()) {
9254  hash = (37 * hash) + CP_MODEL_PROBING_LEVEL_FIELD_NUMBER;
9255  hash = (53 * hash) + getCpModelProbingLevel();
9256  }
9257  if (hasCpModelUseSatPresolve()) {
9258  hash = (37 * hash) + CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER;
9259  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9261  }
9262  if (hasUseSatInprocessing()) {
9263  hash = (37 * hash) + USE_SAT_INPROCESSING_FIELD_NUMBER;
9264  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9266  }
9268  hash = (37 * hash) + EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER;
9269  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9271  }
9273  hash = (37 * hash) + EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER;
9274  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9276  }
9277  if (hasExpandTableConstraints()) {
9278  hash = (37 * hash) + EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER;
9279  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9281  }
9283  hash = (37 * hash) + EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER;
9284  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9286  }
9288  hash = (37 * hash) + MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER;
9289  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9290  java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit()));
9291  }
9293  hash = (37 * hash) + MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER;
9294  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9295  java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit()));
9296  }
9298  hash = (37 * hash) + PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER;
9299  hash = (53 * hash) + getPresolveSubstitutionLevel();
9300  }
9301  if (hasUseOptimizationHints()) {
9302  hash = (37 * hash) + USE_OPTIMIZATION_HINTS_FIELD_NUMBER;
9303  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9305  }
9306  if (hasMinimizeCore()) {
9307  hash = (37 * hash) + MINIMIZE_CORE_FIELD_NUMBER;
9308  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9309  getMinimizeCore());
9310  }
9311  if (hasFindMultipleCores()) {
9312  hash = (37 * hash) + FIND_MULTIPLE_CORES_FIELD_NUMBER;
9313  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9315  }
9316  if (hasCoverOptimization()) {
9317  hash = (37 * hash) + COVER_OPTIMIZATION_FIELD_NUMBER;
9318  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9320  }
9321  if (hasMaxSatAssumptionOrder()) {
9322  hash = (37 * hash) + MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER;
9323  hash = (53 * hash) + maxSatAssumptionOrder_;
9324  }
9326  hash = (37 * hash) + MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER;
9327  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9329  }
9330  if (hasMaxSatStratification()) {
9331  hash = (37 * hash) + MAX_SAT_STRATIFICATION_FIELD_NUMBER;
9332  hash = (53 * hash) + maxSatStratification_;
9333  }
9336  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9338  }
9341  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9343  }
9346  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9348  }
9351  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9353  }
9354  if (hasLinearizationLevel()) {
9355  hash = (37 * hash) + LINEARIZATION_LEVEL_FIELD_NUMBER;
9356  hash = (53 * hash) + getLinearizationLevel();
9357  }
9358  if (hasBooleanEncodingLevel()) {
9359  hash = (37 * hash) + BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER;
9360  hash = (53 * hash) + getBooleanEncodingLevel();
9361  }
9362  if (hasMaxNumCuts()) {
9363  hash = (37 * hash) + MAX_NUM_CUTS_FIELD_NUMBER;
9364  hash = (53 * hash) + getMaxNumCuts();
9365  }
9366  if (hasOnlyAddCutsAtLevelZero()) {
9367  hash = (37 * hash) + ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER;
9368  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9370  }
9371  if (hasAddKnapsackCuts()) {
9372  hash = (37 * hash) + ADD_KNAPSACK_CUTS_FIELD_NUMBER;
9373  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9374  getAddKnapsackCuts());
9375  }
9376  if (hasAddCgCuts()) {
9377  hash = (37 * hash) + ADD_CG_CUTS_FIELD_NUMBER;
9378  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9379  getAddCgCuts());
9380  }
9381  if (hasAddMirCuts()) {
9382  hash = (37 * hash) + ADD_MIR_CUTS_FIELD_NUMBER;
9383  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9384  getAddMirCuts());
9385  }
9386  if (hasAddZeroHalfCuts()) {
9387  hash = (37 * hash) + ADD_ZERO_HALF_CUTS_FIELD_NUMBER;
9388  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9389  getAddZeroHalfCuts());
9390  }
9391  if (hasAddCliqueCuts()) {
9392  hash = (37 * hash) + ADD_CLIQUE_CUTS_FIELD_NUMBER;
9393  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9394  getAddCliqueCuts());
9395  }
9396  if (hasMaxAllDiffCutSize()) {
9397  hash = (37 * hash) + MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER;
9398  hash = (53 * hash) + getMaxAllDiffCutSize();
9399  }
9400  if (hasAddLinMaxCuts()) {
9401  hash = (37 * hash) + ADD_LIN_MAX_CUTS_FIELD_NUMBER;
9402  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9403  getAddLinMaxCuts());
9404  }
9406  hash = (37 * hash) + MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER;
9407  hash = (53 * hash) + getMaxIntegerRoundingScaling();
9408  }
9409  if (hasAddLpConstraintsLazily()) {
9410  hash = (37 * hash) + ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER;
9411  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9413  }
9416  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9417  java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints()));
9418  }
9420  hash = (37 * hash) + MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER;
9421  hash = (53 * hash) + getMaxCutRoundsAtLevelZero();
9422  }
9424  hash = (37 * hash) + MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER;
9425  hash = (53 * hash) + getMaxConsecutiveInactiveCount();
9426  }
9427  if (hasCutMaxActiveCountValue()) {
9428  hash = (37 * hash) + CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER;
9429  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9430  java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue()));
9431  }
9432  if (hasCutActiveCountDecay()) {
9433  hash = (37 * hash) + CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER;
9434  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9435  java.lang.Double.doubleToLongBits(getCutActiveCountDecay()));
9436  }
9437  if (hasCutCleanupTarget()) {
9438  hash = (37 * hash) + CUT_CLEANUP_TARGET_FIELD_NUMBER;
9439  hash = (53 * hash) + getCutCleanupTarget();
9440  }
9442  hash = (37 * hash) + NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER;
9443  hash = (53 * hash) + getNewConstraintsBatchSize();
9444  }
9445  if (hasSearchBranching()) {
9446  hash = (37 * hash) + SEARCH_BRANCHING_FIELD_NUMBER;
9447  hash = (53 * hash) + searchBranching_;
9448  }
9449  if (hasHintConflictLimit()) {
9450  hash = (37 * hash) + HINT_CONFLICT_LIMIT_FIELD_NUMBER;
9451  hash = (53 * hash) + getHintConflictLimit();
9452  }
9453  if (hasRepairHint()) {
9454  hash = (37 * hash) + REPAIR_HINT_FIELD_NUMBER;
9455  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9456  getRepairHint());
9457  }
9459  hash = (37 * hash) + EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER;
9460  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9462  }
9463  if (hasExploitAllLpSolution()) {
9464  hash = (37 * hash) + EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER;
9465  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9467  }
9468  if (hasExploitBestSolution()) {
9469  hash = (37 * hash) + EXPLOIT_BEST_SOLUTION_FIELD_NUMBER;
9470  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9472  }
9474  hash = (37 * hash) + EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER;
9475  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9477  }
9478  if (hasExploitObjective()) {
9479  hash = (37 * hash) + EXPLOIT_OBJECTIVE_FIELD_NUMBER;
9480  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9482  }
9483  if (hasProbingPeriodAtRoot()) {
9484  hash = (37 * hash) + PROBING_PERIOD_AT_ROOT_FIELD_NUMBER;
9485  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9487  }
9490  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9492  }
9493  if (hasOptimizeWithCore()) {
9494  hash = (37 * hash) + OPTIMIZE_WITH_CORE_FIELD_NUMBER;
9495  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9497  }
9499  hash = (37 * hash) + BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER;
9500  hash = (53 * hash) + getBinarySearchNumConflicts();
9501  }
9502  if (hasOptimizeWithMaxHs()) {
9503  hash = (37 * hash) + OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER;
9504  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9506  }
9507  if (hasEnumerateAllSolutions()) {
9508  hash = (37 * hash) + ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER;
9509  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9511  }
9514  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9516  }
9518  hash = (37 * hash) + INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER;
9519  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9521  }
9524  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9526  }
9527  if (hasStopAfterFirstSolution()) {
9528  hash = (37 * hash) + STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER;
9529  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9531  }
9532  if (hasStopAfterPresolve()) {
9533  hash = (37 * hash) + STOP_AFTER_PRESOLVE_FIELD_NUMBER;
9534  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9536  }
9537  if (hasNumSearchWorkers()) {
9538  hash = (37 * hash) + NUM_SEARCH_WORKERS_FIELD_NUMBER;
9539  hash = (53 * hash) + getNumSearchWorkers();
9540  }
9541  if (hasInterleaveSearch()) {
9542  hash = (37 * hash) + INTERLEAVE_SEARCH_FIELD_NUMBER;
9543  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9545  }
9546  if (hasInterleaveBatchSize()) {
9547  hash = (37 * hash) + INTERLEAVE_BATCH_SIZE_FIELD_NUMBER;
9548  hash = (53 * hash) + getInterleaveBatchSize();
9549  }
9552  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9554  }
9555  if (hasShareObjectiveBounds()) {
9556  hash = (37 * hash) + SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER;
9557  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9559  }
9560  if (hasShareLevelZeroBounds()) {
9561  hash = (37 * hash) + SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER;
9562  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9564  }
9565  if (hasUseLnsOnly()) {
9566  hash = (37 * hash) + USE_LNS_ONLY_FIELD_NUMBER;
9567  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9568  getUseLnsOnly());
9569  }
9571  hash = (37 * hash) + LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER;
9572  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9574  }
9575  if (hasUseRinsLns()) {
9576  hash = (37 * hash) + USE_RINS_LNS_FIELD_NUMBER;
9577  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9578  getUseRinsLns());
9579  }
9580  if (hasUseFeasibilityPump()) {
9581  hash = (37 * hash) + USE_FEASIBILITY_PUMP_FIELD_NUMBER;
9582  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9584  }
9585  if (hasFpRounding()) {
9586  hash = (37 * hash) + FP_ROUNDING_FIELD_NUMBER;
9587  hash = (53 * hash) + fpRounding_;
9588  }
9589  if (hasUseRelaxationLns()) {
9590  hash = (37 * hash) + USE_RELAXATION_LNS_FIELD_NUMBER;
9591  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9593  }
9594  if (hasDiversifyLnsParams()) {
9595  hash = (37 * hash) + DIVERSIFY_LNS_PARAMS_FIELD_NUMBER;
9596  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9598  }
9599  if (hasRandomizeSearch()) {
9600  hash = (37 * hash) + RANDOMIZE_SEARCH_FIELD_NUMBER;
9601  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9602  getRandomizeSearch());
9603  }
9605  hash = (37 * hash) + SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER;
9606  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9608  }
9609  if (hasUseOptionalVariables()) {
9610  hash = (37 * hash) + USE_OPTIONAL_VARIABLES_FIELD_NUMBER;
9611  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9613  }
9614  if (hasUseExactLpReason()) {
9615  hash = (37 * hash) + USE_EXACT_LP_REASON_FIELD_NUMBER;
9616  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9618  }
9619  if (hasUseBranchingInLp()) {
9620  hash = (37 * hash) + USE_BRANCHING_IN_LP_FIELD_NUMBER;
9621  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9623  }
9624  if (hasUseCombinedNoOverlap()) {
9625  hash = (37 * hash) + USE_COMBINED_NO_OVERLAP_FIELD_NUMBER;
9626  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9628  }
9629  if (hasCatchSigintSignal()) {
9630  hash = (37 * hash) + CATCH_SIGINT_SIGNAL_FIELD_NUMBER;
9631  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9633  }
9634  if (hasUseImpliedBounds()) {
9635  hash = (37 * hash) + USE_IMPLIED_BOUNDS_FIELD_NUMBER;
9636  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9638  }
9639  if (hasMipMaxBound()) {
9640  hash = (37 * hash) + MIP_MAX_BOUND_FIELD_NUMBER;
9641  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9642  java.lang.Double.doubleToLongBits(getMipMaxBound()));
9643  }
9644  if (hasMipVarScaling()) {
9645  hash = (37 * hash) + MIP_VAR_SCALING_FIELD_NUMBER;
9646  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9647  java.lang.Double.doubleToLongBits(getMipVarScaling()));
9648  }
9651  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9653  }
9654  if (hasMipWantedPrecision()) {
9655  hash = (37 * hash) + MIP_WANTED_PRECISION_FIELD_NUMBER;
9656  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9657  java.lang.Double.doubleToLongBits(getMipWantedPrecision()));
9658  }
9659  if (hasMipMaxActivityExponent()) {
9660  hash = (37 * hash) + MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER;
9661  hash = (53 * hash) + getMipMaxActivityExponent();
9662  }
9663  if (hasMipCheckPrecision()) {
9664  hash = (37 * hash) + MIP_CHECK_PRECISION_FIELD_NUMBER;
9665  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9666  java.lang.Double.doubleToLongBits(getMipCheckPrecision()));
9667  }
9668  hash = (29 * hash) + unknownFields.hashCode();
9669  memoizedHashCode = hash;
9670  return hash;
9671  }
9672 
9674  java.nio.ByteBuffer data)
9675  throws com.google.protobuf.InvalidProtocolBufferException {
9676  return PARSER.parseFrom(data);
9677  }
9679  java.nio.ByteBuffer data,
9680  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9681  throws com.google.protobuf.InvalidProtocolBufferException {
9682  return PARSER.parseFrom(data, extensionRegistry);
9683  }
9685  com.google.protobuf.ByteString data)
9686  throws com.google.protobuf.InvalidProtocolBufferException {
9687  return PARSER.parseFrom(data);
9688  }
9690  com.google.protobuf.ByteString data,
9691  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9692  throws com.google.protobuf.InvalidProtocolBufferException {
9693  return PARSER.parseFrom(data, extensionRegistry);
9694  }
9695  public static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
9696  throws com.google.protobuf.InvalidProtocolBufferException {
9697  return PARSER.parseFrom(data);
9698  }
9700  byte[] data,
9701  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9702  throws com.google.protobuf.InvalidProtocolBufferException {
9703  return PARSER.parseFrom(data, extensionRegistry);
9704  }
9705  public static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
9706  throws java.io.IOException {
9707  return com.google.protobuf.GeneratedMessageV3
9708  .parseWithIOException(PARSER, input);
9709  }
9711  java.io.InputStream input,
9712  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9713  throws java.io.IOException {
9714  return com.google.protobuf.GeneratedMessageV3
9715  .parseWithIOException(PARSER, input, extensionRegistry);
9716  }
9717  public static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
9718  throws java.io.IOException {
9719  return com.google.protobuf.GeneratedMessageV3
9720  .parseDelimitedWithIOException(PARSER, input);
9721  }
9723  java.io.InputStream input,
9724  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9725  throws java.io.IOException {
9726  return com.google.protobuf.GeneratedMessageV3
9727  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
9728  }
9730  com.google.protobuf.CodedInputStream input)
9731  throws java.io.IOException {
9732  return com.google.protobuf.GeneratedMessageV3
9733  .parseWithIOException(PARSER, input);
9734  }
9736  com.google.protobuf.CodedInputStream input,
9737  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9738  throws java.io.IOException {
9739  return com.google.protobuf.GeneratedMessageV3
9740  .parseWithIOException(PARSER, input, extensionRegistry);
9741  }
9742 
9743  @java.lang.Override
9744  public Builder newBuilderForType() { return newBuilder(); }
9745  public static Builder newBuilder() {
9746  return DEFAULT_INSTANCE.toBuilder();
9747  }
9748  public static Builder newBuilder(com.google.ortools.sat.SatParameters prototype) {
9749  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
9750  }
9751  @java.lang.Override
9752  public Builder toBuilder() {
9753  return this == DEFAULT_INSTANCE
9754  ? new Builder() : new Builder().mergeFrom(this);
9755  }
9756 
9757  @java.lang.Override
9759  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9760  Builder builder = new Builder(parent);
9761  return builder;
9762  }
9772  public static final class Builder extends
9773  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
9774  // @@protoc_insertion_point(builder_implements:operations_research.sat.SatParameters)
9775  com.google.ortools.sat.SatParametersOrBuilder {
9776  public static final com.google.protobuf.Descriptors.Descriptor
9778  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
9779  }
9780 
9781  @java.lang.Override
9782  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
9784  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
9785  .ensureFieldAccessorsInitialized(
9787  }
9788 
9789  // Construct using com.google.ortools.sat.SatParameters.newBuilder()
9790  private Builder() {
9791  maybeForceBuilderInitialization();
9792  }
9793 
9794  private Builder(
9795  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9796  super(parent);
9797  maybeForceBuilderInitialization();
9798  }
9799  private void maybeForceBuilderInitialization() {
9800  if (com.google.protobuf.GeneratedMessageV3
9801  .alwaysUseFieldBuilders) {
9802  }
9803  }
9804  @java.lang.Override
9805  public Builder clear() {
9806  super.clear();
9807  name_ = "";
9808  bitField0_ = (bitField0_ & ~0x00000001);
9809  preferredVariableOrder_ = 0;
9810  bitField0_ = (bitField0_ & ~0x00000002);
9811  initialPolarity_ = 1;
9812  bitField0_ = (bitField0_ & ~0x00000004);
9813  usePhaseSaving_ = true;
9814  bitField0_ = (bitField0_ & ~0x00000008);
9815  polarityRephaseIncrement_ = 1000;
9816  bitField0_ = (bitField0_ & ~0x00000010);
9817  randomPolarityRatio_ = 0D;
9818  bitField0_ = (bitField0_ & ~0x00000020);
9819  randomBranchesRatio_ = 0D;
9820  bitField0_ = (bitField0_ & ~0x00000040);
9821  useErwaHeuristic_ = false;
9822  bitField0_ = (bitField0_ & ~0x00000080);
9823  initialVariablesActivity_ = 0D;
9824  bitField0_ = (bitField0_ & ~0x00000100);
9825  alsoBumpVariablesInConflictReasons_ = false;
9826  bitField0_ = (bitField0_ & ~0x00000200);
9827  minimizationAlgorithm_ = 2;
9828  bitField0_ = (bitField0_ & ~0x00000400);
9829  binaryMinimizationAlgorithm_ = 1;
9830  bitField0_ = (bitField0_ & ~0x00000800);
9831  subsumptionDuringConflictAnalysis_ = true;
9832  bitField0_ = (bitField0_ & ~0x00001000);
9833  clauseCleanupPeriod_ = 10000;
9834  bitField0_ = (bitField0_ & ~0x00002000);
9835  clauseCleanupTarget_ = 10000;
9836  bitField0_ = (bitField0_ & ~0x00004000);
9837  clauseCleanupProtection_ = 0;
9838  bitField0_ = (bitField0_ & ~0x00008000);
9839  clauseCleanupLbdBound_ = 5;
9840  bitField0_ = (bitField0_ & ~0x00010000);
9841  clauseCleanupOrdering_ = 0;
9842  bitField0_ = (bitField0_ & ~0x00020000);
9843  pbCleanupIncrement_ = 200;
9844  bitField0_ = (bitField0_ & ~0x00040000);
9845  pbCleanupRatio_ = 0.5D;
9846  bitField0_ = (bitField0_ & ~0x00080000);
9847  minimizeWithPropagationRestartPeriod_ = 10;
9848  bitField0_ = (bitField0_ & ~0x00100000);
9849  minimizeWithPropagationNumDecisions_ = 1000;
9850  bitField0_ = (bitField0_ & ~0x00200000);
9851  variableActivityDecay_ = 0.8D;
9852  bitField0_ = (bitField0_ & ~0x00400000);
9853  maxVariableActivityValue_ = 1e+100D;
9854  bitField0_ = (bitField0_ & ~0x00800000);
9855  glucoseMaxDecay_ = 0.95D;
9856  bitField0_ = (bitField0_ & ~0x01000000);
9857  glucoseDecayIncrement_ = 0.01D;
9858  bitField0_ = (bitField0_ & ~0x02000000);
9859  glucoseDecayIncrementPeriod_ = 5000;
9860  bitField0_ = (bitField0_ & ~0x04000000);
9861  clauseActivityDecay_ = 0.999D;
9862  bitField0_ = (bitField0_ & ~0x08000000);
9863  maxClauseActivityValue_ = 1e+20D;
9864  bitField0_ = (bitField0_ & ~0x10000000);
9865  restartAlgorithms_ = java.util.Collections.emptyList();
9866  bitField0_ = (bitField0_ & ~0x20000000);
9867  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
9868  bitField0_ = (bitField0_ & ~0x40000000);
9869  restartPeriod_ = 50;
9870  bitField0_ = (bitField0_ & ~0x80000000);
9871  restartRunningWindowSize_ = 50;
9872  bitField1_ = (bitField1_ & ~0x00000001);
9873  restartDlAverageRatio_ = 1D;
9874  bitField1_ = (bitField1_ & ~0x00000002);
9875  restartLbdAverageRatio_ = 1D;
9876  bitField1_ = (bitField1_ & ~0x00000004);
9877  useBlockingRestart_ = false;
9878  bitField1_ = (bitField1_ & ~0x00000008);
9879  blockingRestartWindowSize_ = 5000;
9880  bitField1_ = (bitField1_ & ~0x00000010);
9881  blockingRestartMultiplier_ = 1.4D;
9882  bitField1_ = (bitField1_ & ~0x00000020);
9883  numConflictsBeforeStrategyChanges_ = 0;
9884  bitField1_ = (bitField1_ & ~0x00000040);
9885  strategyChangeIncreaseRatio_ = 0D;
9886  bitField1_ = (bitField1_ & ~0x00000080);
9887  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
9888  bitField1_ = (bitField1_ & ~0x00000100);
9889  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
9890  bitField1_ = (bitField1_ & ~0x00000200);
9891  maxNumberOfConflicts_ = 9223372036854775807L;
9892  bitField1_ = (bitField1_ & ~0x00000400);
9893  maxMemoryInMb_ = 10000L;
9894  bitField1_ = (bitField1_ & ~0x00000800);
9895  absoluteGapLimit_ = 0D;
9896  bitField1_ = (bitField1_ & ~0x00001000);
9897  relativeGapLimit_ = 0D;
9898  bitField1_ = (bitField1_ & ~0x00002000);
9899  treatBinaryClausesSeparately_ = true;
9900  bitField1_ = (bitField1_ & ~0x00004000);
9901  randomSeed_ = 1;
9902  bitField1_ = (bitField1_ & ~0x00008000);
9903  logSearchProgress_ = false;
9904  bitField1_ = (bitField1_ & ~0x00010000);
9905  usePbResolution_ = false;
9906  bitField1_ = (bitField1_ & ~0x00020000);
9907  minimizeReductionDuringPbResolution_ = false;
9908  bitField1_ = (bitField1_ & ~0x00040000);
9909  countAssumptionLevelsInLbd_ = true;
9910  bitField1_ = (bitField1_ & ~0x00080000);
9911  presolveBveThreshold_ = 500;
9912  bitField1_ = (bitField1_ & ~0x00100000);
9913  presolveBveClauseWeight_ = 3;
9914  bitField1_ = (bitField1_ & ~0x00200000);
9915  presolveProbingDeterministicTimeLimit_ = 30D;
9916  bitField1_ = (bitField1_ & ~0x00400000);
9917  presolveBlockedClause_ = true;
9918  bitField1_ = (bitField1_ & ~0x00800000);
9919  presolveUseBva_ = true;
9920  bitField1_ = (bitField1_ & ~0x01000000);
9921  presolveBvaThreshold_ = 1;
9922  bitField1_ = (bitField1_ & ~0x02000000);
9923  maxPresolveIterations_ = 3;
9924  bitField1_ = (bitField1_ & ~0x04000000);
9925  cpModelPresolve_ = true;
9926  bitField1_ = (bitField1_ & ~0x08000000);
9927  cpModelPostsolveWithFullSolver_ = false;
9928  bitField1_ = (bitField1_ & ~0x10000000);
9929  cpModelMaxNumPresolveOperations_ = 0;
9930  bitField1_ = (bitField1_ & ~0x20000000);
9931  cpModelProbingLevel_ = 2;
9932  bitField1_ = (bitField1_ & ~0x40000000);
9933  cpModelUseSatPresolve_ = true;
9934  bitField1_ = (bitField1_ & ~0x80000000);
9935  useSatInprocessing_ = false;
9936  bitField2_ = (bitField2_ & ~0x00000001);
9937  expandElementConstraints_ = true;
9938  bitField2_ = (bitField2_ & ~0x00000002);
9939  expandAutomatonConstraints_ = true;
9940  bitField2_ = (bitField2_ & ~0x00000004);
9941  expandTableConstraints_ = true;
9942  bitField2_ = (bitField2_ & ~0x00000008);
9943  expandAlldiffConstraints_ = false;
9944  bitField2_ = (bitField2_ & ~0x00000010);
9945  mergeNoOverlapWorkLimit_ = 1000000000000D;
9946  bitField2_ = (bitField2_ & ~0x00000020);
9947  mergeAtMostOneWorkLimit_ = 100000000D;
9948  bitField2_ = (bitField2_ & ~0x00000040);
9949  presolveSubstitutionLevel_ = 1;
9950  bitField2_ = (bitField2_ & ~0x00000080);
9951  useOptimizationHints_ = true;
9952  bitField2_ = (bitField2_ & ~0x00000100);
9953  minimizeCore_ = true;
9954  bitField2_ = (bitField2_ & ~0x00000200);
9955  findMultipleCores_ = true;
9956  bitField2_ = (bitField2_ & ~0x00000400);
9957  coverOptimization_ = true;
9958  bitField2_ = (bitField2_ & ~0x00000800);
9959  maxSatAssumptionOrder_ = 0;
9960  bitField2_ = (bitField2_ & ~0x00001000);
9961  maxSatReverseAssumptionOrder_ = false;
9962  bitField2_ = (bitField2_ & ~0x00002000);
9963  maxSatStratification_ = 1;
9964  bitField2_ = (bitField2_ & ~0x00004000);
9965  usePrecedencesInDisjunctiveConstraint_ = true;
9966  bitField2_ = (bitField2_ & ~0x00008000);
9967  useOverloadCheckerInCumulativeConstraint_ = false;
9968  bitField2_ = (bitField2_ & ~0x00010000);
9969  useTimetableEdgeFindingInCumulativeConstraint_ = false;
9970  bitField2_ = (bitField2_ & ~0x00020000);
9971  useDisjunctiveConstraintInCumulativeConstraint_ = true;
9972  bitField2_ = (bitField2_ & ~0x00040000);
9973  linearizationLevel_ = 1;
9974  bitField2_ = (bitField2_ & ~0x00080000);
9975  booleanEncodingLevel_ = 1;
9976  bitField2_ = (bitField2_ & ~0x00100000);
9977  maxNumCuts_ = 10000;
9978  bitField2_ = (bitField2_ & ~0x00200000);
9979  onlyAddCutsAtLevelZero_ = false;
9980  bitField2_ = (bitField2_ & ~0x00400000);
9981  addKnapsackCuts_ = false;
9982  bitField2_ = (bitField2_ & ~0x00800000);
9983  addCgCuts_ = true;
9984  bitField2_ = (bitField2_ & ~0x01000000);
9985  addMirCuts_ = true;
9986  bitField2_ = (bitField2_ & ~0x02000000);
9987  addZeroHalfCuts_ = true;
9988  bitField2_ = (bitField2_ & ~0x04000000);
9989  addCliqueCuts_ = true;
9990  bitField2_ = (bitField2_ & ~0x08000000);
9991  maxAllDiffCutSize_ = 7;
9992  bitField2_ = (bitField2_ & ~0x10000000);
9993  addLinMaxCuts_ = true;
9994  bitField2_ = (bitField2_ & ~0x20000000);
9995  maxIntegerRoundingScaling_ = 600;
9996  bitField2_ = (bitField2_ & ~0x40000000);
9997  addLpConstraintsLazily_ = true;
9998  bitField2_ = (bitField2_ & ~0x80000000);
9999  minOrthogonalityForLpConstraints_ = 0.05D;
10000  bitField3_ = (bitField3_ & ~0x00000001);
10001  maxCutRoundsAtLevelZero_ = 1;
10002  bitField3_ = (bitField3_ & ~0x00000002);
10003  maxConsecutiveInactiveCount_ = 100;
10004  bitField3_ = (bitField3_ & ~0x00000004);
10005  cutMaxActiveCountValue_ = 10000000000D;
10006  bitField3_ = (bitField3_ & ~0x00000008);
10007  cutActiveCountDecay_ = 0.8D;
10008  bitField3_ = (bitField3_ & ~0x00000010);
10009  cutCleanupTarget_ = 1000;
10010  bitField3_ = (bitField3_ & ~0x00000020);
10011  newConstraintsBatchSize_ = 50;
10012  bitField3_ = (bitField3_ & ~0x00000040);
10013  searchBranching_ = 0;
10014  bitField3_ = (bitField3_ & ~0x00000080);
10015  hintConflictLimit_ = 10;
10016  bitField3_ = (bitField3_ & ~0x00000100);
10017  repairHint_ = false;
10018  bitField3_ = (bitField3_ & ~0x00000200);
10019  exploitIntegerLpSolution_ = true;
10020  bitField3_ = (bitField3_ & ~0x00000400);
10021  exploitAllLpSolution_ = true;
10022  bitField3_ = (bitField3_ & ~0x00000800);
10023  exploitBestSolution_ = false;
10024  bitField3_ = (bitField3_ & ~0x00001000);
10025  exploitRelaxationSolution_ = false;
10026  bitField3_ = (bitField3_ & ~0x00002000);
10027  exploitObjective_ = true;
10028  bitField3_ = (bitField3_ & ~0x00004000);
10029  probingPeriodAtRoot_ = 0L;
10030  bitField3_ = (bitField3_ & ~0x00008000);
10031  pseudoCostReliabilityThreshold_ = 100L;
10032  bitField3_ = (bitField3_ & ~0x00010000);
10033  optimizeWithCore_ = false;
10034  bitField3_ = (bitField3_ & ~0x00020000);
10035  binarySearchNumConflicts_ = -1;
10036  bitField3_ = (bitField3_ & ~0x00040000);
10037  optimizeWithMaxHs_ = false;
10038  bitField3_ = (bitField3_ & ~0x00080000);
10039  enumerateAllSolutions_ = false;
10040  bitField3_ = (bitField3_ & ~0x00100000);
10041  fillTightenedDomainsInResponse_ = false;
10042  bitField3_ = (bitField3_ & ~0x00200000);
10043  instantiateAllVariables_ = true;
10044  bitField3_ = (bitField3_ & ~0x00400000);
10045  autoDetectGreaterThanAtLeastOneOf_ = true;
10046  bitField3_ = (bitField3_ & ~0x00800000);
10047  stopAfterFirstSolution_ = false;
10048  bitField3_ = (bitField3_ & ~0x01000000);
10049  stopAfterPresolve_ = false;
10050  bitField3_ = (bitField3_ & ~0x02000000);
10051  numSearchWorkers_ = 1;
10052  bitField3_ = (bitField3_ & ~0x04000000);
10053  interleaveSearch_ = false;
10054  bitField3_ = (bitField3_ & ~0x08000000);
10055  interleaveBatchSize_ = 1;
10056  bitField3_ = (bitField3_ & ~0x10000000);
10057  reduceMemoryUsageInInterleaveMode_ = false;
10058  bitField3_ = (bitField3_ & ~0x20000000);
10059  shareObjectiveBounds_ = true;
10060  bitField3_ = (bitField3_ & ~0x40000000);
10061  shareLevelZeroBounds_ = true;
10062  bitField3_ = (bitField3_ & ~0x80000000);
10063  useLnsOnly_ = false;
10064  bitField4_ = (bitField4_ & ~0x00000001);
10065  lnsFocusOnDecisionVariables_ = false;
10066  bitField4_ = (bitField4_ & ~0x00000002);
10067  useRinsLns_ = true;
10068  bitField4_ = (bitField4_ & ~0x00000004);
10069  useFeasibilityPump_ = true;
10070  bitField4_ = (bitField4_ & ~0x00000008);
10071  fpRounding_ = 2;
10072  bitField4_ = (bitField4_ & ~0x00000010);
10073  useRelaxationLns_ = false;
10074  bitField4_ = (bitField4_ & ~0x00000020);
10075  diversifyLnsParams_ = false;
10076  bitField4_ = (bitField4_ & ~0x00000040);
10077  randomizeSearch_ = false;
10078  bitField4_ = (bitField4_ & ~0x00000080);
10079  searchRandomizationTolerance_ = 0L;
10080  bitField4_ = (bitField4_ & ~0x00000100);
10081  useOptionalVariables_ = true;
10082  bitField4_ = (bitField4_ & ~0x00000200);
10083  useExactLpReason_ = true;
10084  bitField4_ = (bitField4_ & ~0x00000400);
10085  useBranchingInLp_ = false;
10086  bitField4_ = (bitField4_ & ~0x00000800);
10087  useCombinedNoOverlap_ = false;
10088  bitField4_ = (bitField4_ & ~0x00001000);
10089  catchSigintSignal_ = true;
10090  bitField4_ = (bitField4_ & ~0x00002000);
10091  useImpliedBounds_ = true;
10092  bitField4_ = (bitField4_ & ~0x00004000);
10093  mipMaxBound_ = 10000000D;
10094  bitField4_ = (bitField4_ & ~0x00008000);
10095  mipVarScaling_ = 1D;
10096  bitField4_ = (bitField4_ & ~0x00010000);
10097  mipAutomaticallyScaleVariables_ = true;
10098  bitField4_ = (bitField4_ & ~0x00020000);
10099  mipWantedPrecision_ = 1e-06D;
10100  bitField4_ = (bitField4_ & ~0x00040000);
10101  mipMaxActivityExponent_ = 53;
10102  bitField4_ = (bitField4_ & ~0x00080000);
10103  mipCheckPrecision_ = 0.001D;
10104  bitField4_ = (bitField4_ & ~0x00100000);
10105  return this;
10106  }
10107 
10108  @java.lang.Override
10109  public com.google.protobuf.Descriptors.Descriptor
10111  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
10112  }
10113 
10114  @java.lang.Override
10117  }
10118 
10119  @java.lang.Override
10122  if (!result.isInitialized()) {
10123  throw newUninitializedMessageException(result);
10124  }
10125  return result;
10126  }
10127 
10128  @java.lang.Override
10131  int from_bitField0_ = bitField0_;
10132  int from_bitField1_ = bitField1_;
10133  int from_bitField2_ = bitField2_;
10134  int from_bitField3_ = bitField3_;
10135  int from_bitField4_ = bitField4_;
10136  int to_bitField0_ = 0;
10137  int to_bitField1_ = 0;
10138  int to_bitField2_ = 0;
10139  int to_bitField3_ = 0;
10140  int to_bitField4_ = 0;
10141  if (((from_bitField0_ & 0x00000001) != 0)) {
10142  to_bitField0_ |= 0x00000001;
10143  }
10144  result.name_ = name_;
10145  if (((from_bitField0_ & 0x00000002) != 0)) {
10146  to_bitField0_ |= 0x00000002;
10147  }
10148  result.preferredVariableOrder_ = preferredVariableOrder_;
10149  if (((from_bitField0_ & 0x00000004) != 0)) {
10150  to_bitField0_ |= 0x00000004;
10151  }
10152  result.initialPolarity_ = initialPolarity_;
10153  if (((from_bitField0_ & 0x00000008) != 0)) {
10154  to_bitField0_ |= 0x00000008;
10155  }
10156  result.usePhaseSaving_ = usePhaseSaving_;
10157  if (((from_bitField0_ & 0x00000010) != 0)) {
10158  to_bitField0_ |= 0x00000010;
10159  }
10160  result.polarityRephaseIncrement_ = polarityRephaseIncrement_;
10161  if (((from_bitField0_ & 0x00000020) != 0)) {
10162  result.randomPolarityRatio_ = randomPolarityRatio_;
10163  to_bitField0_ |= 0x00000020;
10164  }
10165  if (((from_bitField0_ & 0x00000040) != 0)) {
10166  result.randomBranchesRatio_ = randomBranchesRatio_;
10167  to_bitField0_ |= 0x00000040;
10168  }
10169  if (((from_bitField0_ & 0x00000080) != 0)) {
10170  result.useErwaHeuristic_ = useErwaHeuristic_;
10171  to_bitField0_ |= 0x00000080;
10172  }
10173  if (((from_bitField0_ & 0x00000100) != 0)) {
10174  result.initialVariablesActivity_ = initialVariablesActivity_;
10175  to_bitField0_ |= 0x00000100;
10176  }
10177  if (((from_bitField0_ & 0x00000200) != 0)) {
10178  result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
10179  to_bitField0_ |= 0x00000200;
10180  }
10181  if (((from_bitField0_ & 0x00000400) != 0)) {
10182  to_bitField0_ |= 0x00000400;
10183  }
10184  result.minimizationAlgorithm_ = minimizationAlgorithm_;
10185  if (((from_bitField0_ & 0x00000800) != 0)) {
10186  to_bitField0_ |= 0x00000800;
10187  }
10188  result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
10189  if (((from_bitField0_ & 0x00001000) != 0)) {
10190  to_bitField0_ |= 0x00001000;
10191  }
10192  result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
10193  if (((from_bitField0_ & 0x00002000) != 0)) {
10194  to_bitField0_ |= 0x00002000;
10195  }
10196  result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
10197  if (((from_bitField0_ & 0x00004000) != 0)) {
10198  to_bitField0_ |= 0x00004000;
10199  }
10200  result.clauseCleanupTarget_ = clauseCleanupTarget_;
10201  if (((from_bitField0_ & 0x00008000) != 0)) {
10202  to_bitField0_ |= 0x00008000;
10203  }
10204  result.clauseCleanupProtection_ = clauseCleanupProtection_;
10205  if (((from_bitField0_ & 0x00010000) != 0)) {
10206  to_bitField0_ |= 0x00010000;
10207  }
10208  result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
10209  if (((from_bitField0_ & 0x00020000) != 0)) {
10210  to_bitField0_ |= 0x00020000;
10211  }
10212  result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
10213  if (((from_bitField0_ & 0x00040000) != 0)) {
10214  to_bitField0_ |= 0x00040000;
10215  }
10216  result.pbCleanupIncrement_ = pbCleanupIncrement_;
10217  if (((from_bitField0_ & 0x00080000) != 0)) {
10218  to_bitField0_ |= 0x00080000;
10219  }
10220  result.pbCleanupRatio_ = pbCleanupRatio_;
10221  if (((from_bitField0_ & 0x00100000) != 0)) {
10222  to_bitField0_ |= 0x00100000;
10223  }
10224  result.minimizeWithPropagationRestartPeriod_ = minimizeWithPropagationRestartPeriod_;
10225  if (((from_bitField0_ & 0x00200000) != 0)) {
10226  to_bitField0_ |= 0x00200000;
10227  }
10228  result.minimizeWithPropagationNumDecisions_ = minimizeWithPropagationNumDecisions_;
10229  if (((from_bitField0_ & 0x00400000) != 0)) {
10230  to_bitField0_ |= 0x00400000;
10231  }
10232  result.variableActivityDecay_ = variableActivityDecay_;
10233  if (((from_bitField0_ & 0x00800000) != 0)) {
10234  to_bitField0_ |= 0x00800000;
10235  }
10236  result.maxVariableActivityValue_ = maxVariableActivityValue_;
10237  if (((from_bitField0_ & 0x01000000) != 0)) {
10238  to_bitField0_ |= 0x01000000;
10239  }
10240  result.glucoseMaxDecay_ = glucoseMaxDecay_;
10241  if (((from_bitField0_ & 0x02000000) != 0)) {
10242  to_bitField0_ |= 0x02000000;
10243  }
10244  result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
10245  if (((from_bitField0_ & 0x04000000) != 0)) {
10246  to_bitField0_ |= 0x04000000;
10247  }
10248  result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
10249  if (((from_bitField0_ & 0x08000000) != 0)) {
10250  to_bitField0_ |= 0x08000000;
10251  }
10252  result.clauseActivityDecay_ = clauseActivityDecay_;
10253  if (((from_bitField0_ & 0x10000000) != 0)) {
10254  to_bitField0_ |= 0x10000000;
10255  }
10256  result.maxClauseActivityValue_ = maxClauseActivityValue_;
10257  if (((bitField0_ & 0x20000000) != 0)) {
10258  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
10259  bitField0_ = (bitField0_ & ~0x20000000);
10260  }
10261  result.restartAlgorithms_ = restartAlgorithms_;
10262  if (((from_bitField0_ & 0x40000000) != 0)) {
10263  to_bitField0_ |= 0x20000000;
10264  }
10265  result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
10266  if (((from_bitField0_ & 0x80000000) != 0)) {
10267  to_bitField0_ |= 0x40000000;
10268  }
10269  result.restartPeriod_ = restartPeriod_;
10270  if (((from_bitField1_ & 0x00000001) != 0)) {
10271  to_bitField0_ |= 0x80000000;
10272  }
10273  result.restartRunningWindowSize_ = restartRunningWindowSize_;
10274  if (((from_bitField1_ & 0x00000002) != 0)) {
10275  to_bitField1_ |= 0x00000001;
10276  }
10277  result.restartDlAverageRatio_ = restartDlAverageRatio_;
10278  if (((from_bitField1_ & 0x00000004) != 0)) {
10279  to_bitField1_ |= 0x00000002;
10280  }
10281  result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
10282  if (((from_bitField1_ & 0x00000008) != 0)) {
10283  result.useBlockingRestart_ = useBlockingRestart_;
10284  to_bitField1_ |= 0x00000004;
10285  }
10286  if (((from_bitField1_ & 0x00000010) != 0)) {
10287  to_bitField1_ |= 0x00000008;
10288  }
10289  result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
10290  if (((from_bitField1_ & 0x00000020) != 0)) {
10291  to_bitField1_ |= 0x00000010;
10292  }
10293  result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
10294  if (((from_bitField1_ & 0x00000040) != 0)) {
10295  result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
10296  to_bitField1_ |= 0x00000020;
10297  }
10298  if (((from_bitField1_ & 0x00000080) != 0)) {
10299  result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
10300  to_bitField1_ |= 0x00000040;
10301  }
10302  if (((from_bitField1_ & 0x00000100) != 0)) {
10303  to_bitField1_ |= 0x00000080;
10304  }
10305  result.maxTimeInSeconds_ = maxTimeInSeconds_;
10306  if (((from_bitField1_ & 0x00000200) != 0)) {
10307  to_bitField1_ |= 0x00000100;
10308  }
10309  result.maxDeterministicTime_ = maxDeterministicTime_;
10310  if (((from_bitField1_ & 0x00000400) != 0)) {
10311  to_bitField1_ |= 0x00000200;
10312  }
10313  result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
10314  if (((from_bitField1_ & 0x00000800) != 0)) {
10315  to_bitField1_ |= 0x00000400;
10316  }
10317  result.maxMemoryInMb_ = maxMemoryInMb_;
10318  if (((from_bitField1_ & 0x00001000) != 0)) {
10319  result.absoluteGapLimit_ = absoluteGapLimit_;
10320  to_bitField1_ |= 0x00000800;
10321  }
10322  if (((from_bitField1_ & 0x00002000) != 0)) {
10323  result.relativeGapLimit_ = relativeGapLimit_;
10324  to_bitField1_ |= 0x00001000;
10325  }
10326  if (((from_bitField1_ & 0x00004000) != 0)) {
10327  to_bitField1_ |= 0x00002000;
10328  }
10329  result.treatBinaryClausesSeparately_ = treatBinaryClausesSeparately_;
10330  if (((from_bitField1_ & 0x00008000) != 0)) {
10331  to_bitField1_ |= 0x00004000;
10332  }
10333  result.randomSeed_ = randomSeed_;
10334  if (((from_bitField1_ & 0x00010000) != 0)) {
10335  result.logSearchProgress_ = logSearchProgress_;
10336  to_bitField1_ |= 0x00008000;
10337  }
10338  if (((from_bitField1_ & 0x00020000) != 0)) {
10339  result.usePbResolution_ = usePbResolution_;
10340  to_bitField1_ |= 0x00010000;
10341  }
10342  if (((from_bitField1_ & 0x00040000) != 0)) {
10343  result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
10344  to_bitField1_ |= 0x00020000;
10345  }
10346  if (((from_bitField1_ & 0x00080000) != 0)) {
10347  to_bitField1_ |= 0x00040000;
10348  }
10349  result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
10350  if (((from_bitField1_ & 0x00100000) != 0)) {
10351  to_bitField1_ |= 0x00080000;
10352  }
10353  result.presolveBveThreshold_ = presolveBveThreshold_;
10354  if (((from_bitField1_ & 0x00200000) != 0)) {
10355  to_bitField1_ |= 0x00100000;
10356  }
10357  result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
10358  if (((from_bitField1_ & 0x00400000) != 0)) {
10359  to_bitField1_ |= 0x00200000;
10360  }
10361  result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
10362  if (((from_bitField1_ & 0x00800000) != 0)) {
10363  to_bitField1_ |= 0x00400000;
10364  }
10365  result.presolveBlockedClause_ = presolveBlockedClause_;
10366  if (((from_bitField1_ & 0x01000000) != 0)) {
10367  to_bitField1_ |= 0x00800000;
10368  }
10369  result.presolveUseBva_ = presolveUseBva_;
10370  if (((from_bitField1_ & 0x02000000) != 0)) {
10371  to_bitField1_ |= 0x01000000;
10372  }
10373  result.presolveBvaThreshold_ = presolveBvaThreshold_;
10374  if (((from_bitField1_ & 0x04000000) != 0)) {
10375  to_bitField1_ |= 0x02000000;
10376  }
10377  result.maxPresolveIterations_ = maxPresolveIterations_;
10378  if (((from_bitField1_ & 0x08000000) != 0)) {
10379  to_bitField1_ |= 0x04000000;
10380  }
10381  result.cpModelPresolve_ = cpModelPresolve_;
10382  if (((from_bitField1_ & 0x10000000) != 0)) {
10383  result.cpModelPostsolveWithFullSolver_ = cpModelPostsolveWithFullSolver_;
10384  to_bitField1_ |= 0x08000000;
10385  }
10386  if (((from_bitField1_ & 0x20000000) != 0)) {
10387  result.cpModelMaxNumPresolveOperations_ = cpModelMaxNumPresolveOperations_;
10388  to_bitField1_ |= 0x10000000;
10389  }
10390  if (((from_bitField1_ & 0x40000000) != 0)) {
10391  to_bitField1_ |= 0x20000000;
10392  }
10393  result.cpModelProbingLevel_ = cpModelProbingLevel_;
10394  if (((from_bitField1_ & 0x80000000) != 0)) {
10395  to_bitField1_ |= 0x40000000;
10396  }
10397  result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
10398  if (((from_bitField2_ & 0x00000001) != 0)) {
10399  result.useSatInprocessing_ = useSatInprocessing_;
10400  to_bitField1_ |= 0x80000000;
10401  }
10402  if (((from_bitField2_ & 0x00000002) != 0)) {
10403  to_bitField2_ |= 0x00000001;
10404  }
10405  result.expandElementConstraints_ = expandElementConstraints_;
10406  if (((from_bitField2_ & 0x00000004) != 0)) {
10407  to_bitField2_ |= 0x00000002;
10408  }
10409  result.expandAutomatonConstraints_ = expandAutomatonConstraints_;
10410  if (((from_bitField2_ & 0x00000008) != 0)) {
10411  to_bitField2_ |= 0x00000004;
10412  }
10413  result.expandTableConstraints_ = expandTableConstraints_;
10414  if (((from_bitField2_ & 0x00000010) != 0)) {
10415  result.expandAlldiffConstraints_ = expandAlldiffConstraints_;
10416  to_bitField2_ |= 0x00000008;
10417  }
10418  if (((from_bitField2_ & 0x00000020) != 0)) {
10419  to_bitField2_ |= 0x00000010;
10420  }
10421  result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
10422  if (((from_bitField2_ & 0x00000040) != 0)) {
10423  to_bitField2_ |= 0x00000020;
10424  }
10425  result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
10426  if (((from_bitField2_ & 0x00000080) != 0)) {
10427  to_bitField2_ |= 0x00000040;
10428  }
10429  result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
10430  if (((from_bitField2_ & 0x00000100) != 0)) {
10431  to_bitField2_ |= 0x00000080;
10432  }
10433  result.useOptimizationHints_ = useOptimizationHints_;
10434  if (((from_bitField2_ & 0x00000200) != 0)) {
10435  to_bitField2_ |= 0x00000100;
10436  }
10437  result.minimizeCore_ = minimizeCore_;
10438  if (((from_bitField2_ & 0x00000400) != 0)) {
10439  to_bitField2_ |= 0x00000200;
10440  }
10441  result.findMultipleCores_ = findMultipleCores_;
10442  if (((from_bitField2_ & 0x00000800) != 0)) {
10443  to_bitField2_ |= 0x00000400;
10444  }
10445  result.coverOptimization_ = coverOptimization_;
10446  if (((from_bitField2_ & 0x00001000) != 0)) {
10447  to_bitField2_ |= 0x00000800;
10448  }
10449  result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
10450  if (((from_bitField2_ & 0x00002000) != 0)) {
10451  result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
10452  to_bitField2_ |= 0x00001000;
10453  }
10454  if (((from_bitField2_ & 0x00004000) != 0)) {
10455  to_bitField2_ |= 0x00002000;
10456  }
10457  result.maxSatStratification_ = maxSatStratification_;
10458  if (((from_bitField2_ & 0x00008000) != 0)) {
10459  to_bitField2_ |= 0x00004000;
10460  }
10461  result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
10462  if (((from_bitField2_ & 0x00010000) != 0)) {
10463  result.useOverloadCheckerInCumulativeConstraint_ = useOverloadCheckerInCumulativeConstraint_;
10464  to_bitField2_ |= 0x00008000;
10465  }
10466  if (((from_bitField2_ & 0x00020000) != 0)) {
10467  result.useTimetableEdgeFindingInCumulativeConstraint_ = useTimetableEdgeFindingInCumulativeConstraint_;
10468  to_bitField2_ |= 0x00010000;
10469  }
10470  if (((from_bitField2_ & 0x00040000) != 0)) {
10471  to_bitField2_ |= 0x00020000;
10472  }
10473  result.useDisjunctiveConstraintInCumulativeConstraint_ = useDisjunctiveConstraintInCumulativeConstraint_;
10474  if (((from_bitField2_ & 0x00080000) != 0)) {
10475  to_bitField2_ |= 0x00040000;
10476  }
10477  result.linearizationLevel_ = linearizationLevel_;
10478  if (((from_bitField2_ & 0x00100000) != 0)) {
10479  to_bitField2_ |= 0x00080000;
10480  }
10481  result.booleanEncodingLevel_ = booleanEncodingLevel_;
10482  if (((from_bitField2_ & 0x00200000) != 0)) {
10483  to_bitField2_ |= 0x00100000;
10484  }
10485  result.maxNumCuts_ = maxNumCuts_;
10486  if (((from_bitField2_ & 0x00400000) != 0)) {
10487  result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
10488  to_bitField2_ |= 0x00200000;
10489  }
10490  if (((from_bitField2_ & 0x00800000) != 0)) {
10491  result.addKnapsackCuts_ = addKnapsackCuts_;
10492  to_bitField2_ |= 0x00400000;
10493  }
10494  if (((from_bitField2_ & 0x01000000) != 0)) {
10495  to_bitField2_ |= 0x00800000;
10496  }
10497  result.addCgCuts_ = addCgCuts_;
10498  if (((from_bitField2_ & 0x02000000) != 0)) {
10499  to_bitField2_ |= 0x01000000;
10500  }
10501  result.addMirCuts_ = addMirCuts_;
10502  if (((from_bitField2_ & 0x04000000) != 0)) {
10503  to_bitField2_ |= 0x02000000;
10504  }
10505  result.addZeroHalfCuts_ = addZeroHalfCuts_;
10506  if (((from_bitField2_ & 0x08000000) != 0)) {
10507  to_bitField2_ |= 0x04000000;
10508  }
10509  result.addCliqueCuts_ = addCliqueCuts_;
10510  if (((from_bitField2_ & 0x10000000) != 0)) {
10511  to_bitField2_ |= 0x08000000;
10512  }
10513  result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
10514  if (((from_bitField2_ & 0x20000000) != 0)) {
10515  to_bitField2_ |= 0x10000000;
10516  }
10517  result.addLinMaxCuts_ = addLinMaxCuts_;
10518  if (((from_bitField2_ & 0x40000000) != 0)) {
10519  to_bitField2_ |= 0x20000000;
10520  }
10521  result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
10522  if (((from_bitField2_ & 0x80000000) != 0)) {
10523  to_bitField2_ |= 0x40000000;
10524  }
10525  result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
10526  if (((from_bitField3_ & 0x00000001) != 0)) {
10527  to_bitField2_ |= 0x80000000;
10528  }
10529  result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
10530  if (((from_bitField3_ & 0x00000002) != 0)) {
10531  to_bitField3_ |= 0x00000001;
10532  }
10533  result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
10534  if (((from_bitField3_ & 0x00000004) != 0)) {
10535  to_bitField3_ |= 0x00000002;
10536  }
10537  result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
10538  if (((from_bitField3_ & 0x00000008) != 0)) {
10539  to_bitField3_ |= 0x00000004;
10540  }
10541  result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
10542  if (((from_bitField3_ & 0x00000010) != 0)) {
10543  to_bitField3_ |= 0x00000008;
10544  }
10545  result.cutActiveCountDecay_ = cutActiveCountDecay_;
10546  if (((from_bitField3_ & 0x00000020) != 0)) {
10547  to_bitField3_ |= 0x00000010;
10548  }
10549  result.cutCleanupTarget_ = cutCleanupTarget_;
10550  if (((from_bitField3_ & 0x00000040) != 0)) {
10551  to_bitField3_ |= 0x00000020;
10552  }
10553  result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
10554  if (((from_bitField3_ & 0x00000080) != 0)) {
10555  to_bitField3_ |= 0x00000040;
10556  }
10557  result.searchBranching_ = searchBranching_;
10558  if (((from_bitField3_ & 0x00000100) != 0)) {
10559  to_bitField3_ |= 0x00000080;
10560  }
10561  result.hintConflictLimit_ = hintConflictLimit_;
10562  if (((from_bitField3_ & 0x00000200) != 0)) {
10563  result.repairHint_ = repairHint_;
10564  to_bitField3_ |= 0x00000100;
10565  }
10566  if (((from_bitField3_ & 0x00000400) != 0)) {
10567  to_bitField3_ |= 0x00000200;
10568  }
10569  result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
10570  if (((from_bitField3_ & 0x00000800) != 0)) {
10571  to_bitField3_ |= 0x00000400;
10572  }
10573  result.exploitAllLpSolution_ = exploitAllLpSolution_;
10574  if (((from_bitField3_ & 0x00001000) != 0)) {
10575  result.exploitBestSolution_ = exploitBestSolution_;
10576  to_bitField3_ |= 0x00000800;
10577  }
10578  if (((from_bitField3_ & 0x00002000) != 0)) {
10579  result.exploitRelaxationSolution_ = exploitRelaxationSolution_;
10580  to_bitField3_ |= 0x00001000;
10581  }
10582  if (((from_bitField3_ & 0x00004000) != 0)) {
10583  to_bitField3_ |= 0x00002000;
10584  }
10585  result.exploitObjective_ = exploitObjective_;
10586  if (((from_bitField3_ & 0x00008000) != 0)) {
10587  result.probingPeriodAtRoot_ = probingPeriodAtRoot_;
10588  to_bitField3_ |= 0x00004000;
10589  }
10590  if (((from_bitField3_ & 0x00010000) != 0)) {
10591  to_bitField3_ |= 0x00008000;
10592  }
10593  result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
10594  if (((from_bitField3_ & 0x00020000) != 0)) {
10595  result.optimizeWithCore_ = optimizeWithCore_;
10596  to_bitField3_ |= 0x00010000;
10597  }
10598  if (((from_bitField3_ & 0x00040000) != 0)) {
10599  to_bitField3_ |= 0x00020000;
10600  }
10601  result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
10602  if (((from_bitField3_ & 0x00080000) != 0)) {
10603  result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
10604  to_bitField3_ |= 0x00040000;
10605  }
10606  if (((from_bitField3_ & 0x00100000) != 0)) {
10607  result.enumerateAllSolutions_ = enumerateAllSolutions_;
10608  to_bitField3_ |= 0x00080000;
10609  }
10610  if (((from_bitField3_ & 0x00200000) != 0)) {
10611  result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
10612  to_bitField3_ |= 0x00100000;
10613  }
10614  if (((from_bitField3_ & 0x00400000) != 0)) {
10615  to_bitField3_ |= 0x00200000;
10616  }
10617  result.instantiateAllVariables_ = instantiateAllVariables_;
10618  if (((from_bitField3_ & 0x00800000) != 0)) {
10619  to_bitField3_ |= 0x00400000;
10620  }
10621  result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
10622  if (((from_bitField3_ & 0x01000000) != 0)) {
10623  result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
10624  to_bitField3_ |= 0x00800000;
10625  }
10626  if (((from_bitField3_ & 0x02000000) != 0)) {
10627  result.stopAfterPresolve_ = stopAfterPresolve_;
10628  to_bitField3_ |= 0x01000000;
10629  }
10630  if (((from_bitField3_ & 0x04000000) != 0)) {
10631  to_bitField3_ |= 0x02000000;
10632  }
10633  result.numSearchWorkers_ = numSearchWorkers_;
10634  if (((from_bitField3_ & 0x08000000) != 0)) {
10635  result.interleaveSearch_ = interleaveSearch_;
10636  to_bitField3_ |= 0x04000000;
10637  }
10638  if (((from_bitField3_ & 0x10000000) != 0)) {
10639  to_bitField3_ |= 0x08000000;
10640  }
10641  result.interleaveBatchSize_ = interleaveBatchSize_;
10642  if (((from_bitField3_ & 0x20000000) != 0)) {
10643  result.reduceMemoryUsageInInterleaveMode_ = reduceMemoryUsageInInterleaveMode_;
10644  to_bitField3_ |= 0x10000000;
10645  }
10646  if (((from_bitField3_ & 0x40000000) != 0)) {
10647  to_bitField3_ |= 0x20000000;
10648  }
10649  result.shareObjectiveBounds_ = shareObjectiveBounds_;
10650  if (((from_bitField3_ & 0x80000000) != 0)) {
10651  to_bitField3_ |= 0x40000000;
10652  }
10653  result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
10654  if (((from_bitField4_ & 0x00000001) != 0)) {
10655  result.useLnsOnly_ = useLnsOnly_;
10656  to_bitField3_ |= 0x80000000;
10657  }
10658  if (((from_bitField4_ & 0x00000002) != 0)) {
10659  result.lnsFocusOnDecisionVariables_ = lnsFocusOnDecisionVariables_;
10660  to_bitField4_ |= 0x00000001;
10661  }
10662  if (((from_bitField4_ & 0x00000004) != 0)) {
10663  to_bitField4_ |= 0x00000002;
10664  }
10665  result.useRinsLns_ = useRinsLns_;
10666  if (((from_bitField4_ & 0x00000008) != 0)) {
10667  to_bitField4_ |= 0x00000004;
10668  }
10669  result.useFeasibilityPump_ = useFeasibilityPump_;
10670  if (((from_bitField4_ & 0x00000010) != 0)) {
10671  to_bitField4_ |= 0x00000008;
10672  }
10673  result.fpRounding_ = fpRounding_;
10674  if (((from_bitField4_ & 0x00000020) != 0)) {
10675  result.useRelaxationLns_ = useRelaxationLns_;
10676  to_bitField4_ |= 0x00000010;
10677  }
10678  if (((from_bitField4_ & 0x00000040) != 0)) {
10679  result.diversifyLnsParams_ = diversifyLnsParams_;
10680  to_bitField4_ |= 0x00000020;
10681  }
10682  if (((from_bitField4_ & 0x00000080) != 0)) {
10683  result.randomizeSearch_ = randomizeSearch_;
10684  to_bitField4_ |= 0x00000040;
10685  }
10686  if (((from_bitField4_ & 0x00000100) != 0)) {
10687  result.searchRandomizationTolerance_ = searchRandomizationTolerance_;
10688  to_bitField4_ |= 0x00000080;
10689  }
10690  if (((from_bitField4_ & 0x00000200) != 0)) {
10691  to_bitField4_ |= 0x00000100;
10692  }
10693  result.useOptionalVariables_ = useOptionalVariables_;
10694  if (((from_bitField4_ & 0x00000400) != 0)) {
10695  to_bitField4_ |= 0x00000200;
10696  }
10697  result.useExactLpReason_ = useExactLpReason_;
10698  if (((from_bitField4_ & 0x00000800) != 0)) {
10699  result.useBranchingInLp_ = useBranchingInLp_;
10700  to_bitField4_ |= 0x00000400;
10701  }
10702  if (((from_bitField4_ & 0x00001000) != 0)) {
10703  result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
10704  to_bitField4_ |= 0x00000800;
10705  }
10706  if (((from_bitField4_ & 0x00002000) != 0)) {
10707  to_bitField4_ |= 0x00001000;
10708  }
10709  result.catchSigintSignal_ = catchSigintSignal_;
10710  if (((from_bitField4_ & 0x00004000) != 0)) {
10711  to_bitField4_ |= 0x00002000;
10712  }
10713  result.useImpliedBounds_ = useImpliedBounds_;
10714  if (((from_bitField4_ & 0x00008000) != 0)) {
10715  to_bitField4_ |= 0x00004000;
10716  }
10717  result.mipMaxBound_ = mipMaxBound_;
10718  if (((from_bitField4_ & 0x00010000) != 0)) {
10719  to_bitField4_ |= 0x00008000;
10720  }
10721  result.mipVarScaling_ = mipVarScaling_;
10722  if (((from_bitField4_ & 0x00020000) != 0)) {
10723  to_bitField4_ |= 0x00010000;
10724  }
10725  result.mipAutomaticallyScaleVariables_ = mipAutomaticallyScaleVariables_;
10726  if (((from_bitField4_ & 0x00040000) != 0)) {
10727  to_bitField4_ |= 0x00020000;
10728  }
10729  result.mipWantedPrecision_ = mipWantedPrecision_;
10730  if (((from_bitField4_ & 0x00080000) != 0)) {
10731  to_bitField4_ |= 0x00040000;
10732  }
10733  result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
10734  if (((from_bitField4_ & 0x00100000) != 0)) {
10735  to_bitField4_ |= 0x00080000;
10736  }
10737  result.mipCheckPrecision_ = mipCheckPrecision_;
10738  result.bitField0_ = to_bitField0_;
10739  result.bitField1_ = to_bitField1_;
10740  result.bitField2_ = to_bitField2_;
10741  result.bitField3_ = to_bitField3_;
10742  result.bitField4_ = to_bitField4_;
10743  onBuilt();
10744  return result;
10745  }
10746 
10747  @java.lang.Override
10748  public Builder clone() {
10749  return super.clone();
10750  }
10751  @java.lang.Override
10753  com.google.protobuf.Descriptors.FieldDescriptor field,
10754  java.lang.Object value) {
10755  return super.setField(field, value);
10756  }
10757  @java.lang.Override
10759  com.google.protobuf.Descriptors.FieldDescriptor field) {
10760  return super.clearField(field);
10761  }
10762  @java.lang.Override
10764  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
10765  return super.clearOneof(oneof);
10766  }
10767  @java.lang.Override
10769  com.google.protobuf.Descriptors.FieldDescriptor field,
10770  int index, java.lang.Object value) {
10771  return super.setRepeatedField(field, index, value);
10772  }
10773  @java.lang.Override
10775  com.google.protobuf.Descriptors.FieldDescriptor field,
10776  java.lang.Object value) {
10777  return super.addRepeatedField(field, value);
10778  }
10779  @java.lang.Override
10780  public Builder mergeFrom(com.google.protobuf.Message other) {
10781  if (other instanceof com.google.ortools.sat.SatParameters) {
10782  return mergeFrom((com.google.ortools.sat.SatParameters)other);
10783  } else {
10784  super.mergeFrom(other);
10785  return this;
10786  }
10787  }
10788 
10790  if (other == com.google.ortools.sat.SatParameters.getDefaultInstance()) return this;
10791  if (other.hasName()) {
10792  bitField0_ |= 0x00000001;
10793  name_ = other.name_;
10794  onChanged();
10795  }
10796  if (other.hasPreferredVariableOrder()) {
10797  setPreferredVariableOrder(other.getPreferredVariableOrder());
10798  }
10799  if (other.hasInitialPolarity()) {
10800  setInitialPolarity(other.getInitialPolarity());
10801  }
10802  if (other.hasUsePhaseSaving()) {
10803  setUsePhaseSaving(other.getUsePhaseSaving());
10804  }
10805  if (other.hasPolarityRephaseIncrement()) {
10806  setPolarityRephaseIncrement(other.getPolarityRephaseIncrement());
10807  }
10808  if (other.hasRandomPolarityRatio()) {
10809  setRandomPolarityRatio(other.getRandomPolarityRatio());
10810  }
10811  if (other.hasRandomBranchesRatio()) {
10812  setRandomBranchesRatio(other.getRandomBranchesRatio());
10813  }
10814  if (other.hasUseErwaHeuristic()) {
10815  setUseErwaHeuristic(other.getUseErwaHeuristic());
10816  }
10817  if (other.hasInitialVariablesActivity()) {
10818  setInitialVariablesActivity(other.getInitialVariablesActivity());
10819  }
10820  if (other.hasAlsoBumpVariablesInConflictReasons()) {
10821  setAlsoBumpVariablesInConflictReasons(other.getAlsoBumpVariablesInConflictReasons());
10822  }
10823  if (other.hasMinimizationAlgorithm()) {
10824  setMinimizationAlgorithm(other.getMinimizationAlgorithm());
10825  }
10826  if (other.hasBinaryMinimizationAlgorithm()) {
10827  setBinaryMinimizationAlgorithm(other.getBinaryMinimizationAlgorithm());
10828  }
10829  if (other.hasSubsumptionDuringConflictAnalysis()) {
10830  setSubsumptionDuringConflictAnalysis(other.getSubsumptionDuringConflictAnalysis());
10831  }
10832  if (other.hasClauseCleanupPeriod()) {
10833  setClauseCleanupPeriod(other.getClauseCleanupPeriod());
10834  }
10835  if (other.hasClauseCleanupTarget()) {
10836  setClauseCleanupTarget(other.getClauseCleanupTarget());
10837  }
10838  if (other.hasClauseCleanupProtection()) {
10839  setClauseCleanupProtection(other.getClauseCleanupProtection());
10840  }
10841  if (other.hasClauseCleanupLbdBound()) {
10842  setClauseCleanupLbdBound(other.getClauseCleanupLbdBound());
10843  }
10844  if (other.hasClauseCleanupOrdering()) {
10845  setClauseCleanupOrdering(other.getClauseCleanupOrdering());
10846  }
10847  if (other.hasPbCleanupIncrement()) {
10848  setPbCleanupIncrement(other.getPbCleanupIncrement());
10849  }
10850  if (other.hasPbCleanupRatio()) {
10851  setPbCleanupRatio(other.getPbCleanupRatio());
10852  }
10853  if (other.hasMinimizeWithPropagationRestartPeriod()) {
10854  setMinimizeWithPropagationRestartPeriod(other.getMinimizeWithPropagationRestartPeriod());
10855  }
10856  if (other.hasMinimizeWithPropagationNumDecisions()) {
10857  setMinimizeWithPropagationNumDecisions(other.getMinimizeWithPropagationNumDecisions());
10858  }
10859  if (other.hasVariableActivityDecay()) {
10860  setVariableActivityDecay(other.getVariableActivityDecay());
10861  }
10862  if (other.hasMaxVariableActivityValue()) {
10863  setMaxVariableActivityValue(other.getMaxVariableActivityValue());
10864  }
10865  if (other.hasGlucoseMaxDecay()) {
10866  setGlucoseMaxDecay(other.getGlucoseMaxDecay());
10867  }
10868  if (other.hasGlucoseDecayIncrement()) {
10869  setGlucoseDecayIncrement(other.getGlucoseDecayIncrement());
10870  }
10871  if (other.hasGlucoseDecayIncrementPeriod()) {
10872  setGlucoseDecayIncrementPeriod(other.getGlucoseDecayIncrementPeriod());
10873  }
10874  if (other.hasClauseActivityDecay()) {
10875  setClauseActivityDecay(other.getClauseActivityDecay());
10876  }
10877  if (other.hasMaxClauseActivityValue()) {
10878  setMaxClauseActivityValue(other.getMaxClauseActivityValue());
10879  }
10880  if (!other.restartAlgorithms_.isEmpty()) {
10881  if (restartAlgorithms_.isEmpty()) {
10882  restartAlgorithms_ = other.restartAlgorithms_;
10883  bitField0_ = (bitField0_ & ~0x20000000);
10884  } else {
10885  ensureRestartAlgorithmsIsMutable();
10886  restartAlgorithms_.addAll(other.restartAlgorithms_);
10887  }
10888  onChanged();
10889  }
10890  if (other.hasDefaultRestartAlgorithms()) {
10891  bitField0_ |= 0x40000000;
10892  defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
10893  onChanged();
10894  }
10895  if (other.hasRestartPeriod()) {
10896  setRestartPeriod(other.getRestartPeriod());
10897  }
10898  if (other.hasRestartRunningWindowSize()) {
10899  setRestartRunningWindowSize(other.getRestartRunningWindowSize());
10900  }
10901  if (other.hasRestartDlAverageRatio()) {
10902  setRestartDlAverageRatio(other.getRestartDlAverageRatio());
10903  }
10904  if (other.hasRestartLbdAverageRatio()) {
10905  setRestartLbdAverageRatio(other.getRestartLbdAverageRatio());
10906  }
10907  if (other.hasUseBlockingRestart()) {
10908  setUseBlockingRestart(other.getUseBlockingRestart());
10909  }
10910  if (other.hasBlockingRestartWindowSize()) {
10911  setBlockingRestartWindowSize(other.getBlockingRestartWindowSize());
10912  }
10913  if (other.hasBlockingRestartMultiplier()) {
10914  setBlockingRestartMultiplier(other.getBlockingRestartMultiplier());
10915  }
10916  if (other.hasNumConflictsBeforeStrategyChanges()) {
10917  setNumConflictsBeforeStrategyChanges(other.getNumConflictsBeforeStrategyChanges());
10918  }
10919  if (other.hasStrategyChangeIncreaseRatio()) {
10920  setStrategyChangeIncreaseRatio(other.getStrategyChangeIncreaseRatio());
10921  }
10922  if (other.hasMaxTimeInSeconds()) {
10923  setMaxTimeInSeconds(other.getMaxTimeInSeconds());
10924  }
10925  if (other.hasMaxDeterministicTime()) {
10926  setMaxDeterministicTime(other.getMaxDeterministicTime());
10927  }
10928  if (other.hasMaxNumberOfConflicts()) {
10929  setMaxNumberOfConflicts(other.getMaxNumberOfConflicts());
10930  }
10931  if (other.hasMaxMemoryInMb()) {
10932  setMaxMemoryInMb(other.getMaxMemoryInMb());
10933  }
10934  if (other.hasAbsoluteGapLimit()) {
10935  setAbsoluteGapLimit(other.getAbsoluteGapLimit());
10936  }
10937  if (other.hasRelativeGapLimit()) {
10938  setRelativeGapLimit(other.getRelativeGapLimit());
10939  }
10940  if (other.hasTreatBinaryClausesSeparately()) {
10941  setTreatBinaryClausesSeparately(other.getTreatBinaryClausesSeparately());
10942  }
10943  if (other.hasRandomSeed()) {
10944  setRandomSeed(other.getRandomSeed());
10945  }
10946  if (other.hasLogSearchProgress()) {
10947  setLogSearchProgress(other.getLogSearchProgress());
10948  }
10949  if (other.hasUsePbResolution()) {
10950  setUsePbResolution(other.getUsePbResolution());
10951  }
10952  if (other.hasMinimizeReductionDuringPbResolution()) {
10953  setMinimizeReductionDuringPbResolution(other.getMinimizeReductionDuringPbResolution());
10954  }
10955  if (other.hasCountAssumptionLevelsInLbd()) {
10956  setCountAssumptionLevelsInLbd(other.getCountAssumptionLevelsInLbd());
10957  }
10958  if (other.hasPresolveBveThreshold()) {
10959  setPresolveBveThreshold(other.getPresolveBveThreshold());
10960  }
10961  if (other.hasPresolveBveClauseWeight()) {
10962  setPresolveBveClauseWeight(other.getPresolveBveClauseWeight());
10963  }
10964  if (other.hasPresolveProbingDeterministicTimeLimit()) {
10965  setPresolveProbingDeterministicTimeLimit(other.getPresolveProbingDeterministicTimeLimit());
10966  }
10967  if (other.hasPresolveBlockedClause()) {
10968  setPresolveBlockedClause(other.getPresolveBlockedClause());
10969  }
10970  if (other.hasPresolveUseBva()) {
10971  setPresolveUseBva(other.getPresolveUseBva());
10972  }
10973  if (other.hasPresolveBvaThreshold()) {
10974  setPresolveBvaThreshold(other.getPresolveBvaThreshold());
10975  }
10976  if (other.hasMaxPresolveIterations()) {
10977  setMaxPresolveIterations(other.getMaxPresolveIterations());
10978  }
10979  if (other.hasCpModelPresolve()) {
10980  setCpModelPresolve(other.getCpModelPresolve());
10981  }
10982  if (other.hasCpModelPostsolveWithFullSolver()) {
10983  setCpModelPostsolveWithFullSolver(other.getCpModelPostsolveWithFullSolver());
10984  }
10985  if (other.hasCpModelMaxNumPresolveOperations()) {
10986  setCpModelMaxNumPresolveOperations(other.getCpModelMaxNumPresolveOperations());
10987  }
10988  if (other.hasCpModelProbingLevel()) {
10989  setCpModelProbingLevel(other.getCpModelProbingLevel());
10990  }
10991  if (other.hasCpModelUseSatPresolve()) {
10992  setCpModelUseSatPresolve(other.getCpModelUseSatPresolve());
10993  }
10994  if (other.hasUseSatInprocessing()) {
10995  setUseSatInprocessing(other.getUseSatInprocessing());
10996  }
10997  if (other.hasExpandElementConstraints()) {
10998  setExpandElementConstraints(other.getExpandElementConstraints());
10999  }
11000  if (other.hasExpandAutomatonConstraints()) {
11001  setExpandAutomatonConstraints(other.getExpandAutomatonConstraints());
11002  }
11003  if (other.hasExpandTableConstraints()) {
11004  setExpandTableConstraints(other.getExpandTableConstraints());
11005  }
11006  if (other.hasExpandAlldiffConstraints()) {
11007  setExpandAlldiffConstraints(other.getExpandAlldiffConstraints());
11008  }
11009  if (other.hasMergeNoOverlapWorkLimit()) {
11010  setMergeNoOverlapWorkLimit(other.getMergeNoOverlapWorkLimit());
11011  }
11012  if (other.hasMergeAtMostOneWorkLimit()) {
11013  setMergeAtMostOneWorkLimit(other.getMergeAtMostOneWorkLimit());
11014  }
11015  if (other.hasPresolveSubstitutionLevel()) {
11016  setPresolveSubstitutionLevel(other.getPresolveSubstitutionLevel());
11017  }
11018  if (other.hasUseOptimizationHints()) {
11019  setUseOptimizationHints(other.getUseOptimizationHints());
11020  }
11021  if (other.hasMinimizeCore()) {
11022  setMinimizeCore(other.getMinimizeCore());
11023  }
11024  if (other.hasFindMultipleCores()) {
11025  setFindMultipleCores(other.getFindMultipleCores());
11026  }
11027  if (other.hasCoverOptimization()) {
11028  setCoverOptimization(other.getCoverOptimization());
11029  }
11030  if (other.hasMaxSatAssumptionOrder()) {
11031  setMaxSatAssumptionOrder(other.getMaxSatAssumptionOrder());
11032  }
11033  if (other.hasMaxSatReverseAssumptionOrder()) {
11034  setMaxSatReverseAssumptionOrder(other.getMaxSatReverseAssumptionOrder());
11035  }
11036  if (other.hasMaxSatStratification()) {
11037  setMaxSatStratification(other.getMaxSatStratification());
11038  }
11039  if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
11040  setUsePrecedencesInDisjunctiveConstraint(other.getUsePrecedencesInDisjunctiveConstraint());
11041  }
11042  if (other.hasUseOverloadCheckerInCumulativeConstraint()) {
11043  setUseOverloadCheckerInCumulativeConstraint(other.getUseOverloadCheckerInCumulativeConstraint());
11044  }
11045  if (other.hasUseTimetableEdgeFindingInCumulativeConstraint()) {
11046  setUseTimetableEdgeFindingInCumulativeConstraint(other.getUseTimetableEdgeFindingInCumulativeConstraint());
11047  }
11048  if (other.hasUseDisjunctiveConstraintInCumulativeConstraint()) {
11049  setUseDisjunctiveConstraintInCumulativeConstraint(other.getUseDisjunctiveConstraintInCumulativeConstraint());
11050  }
11051  if (other.hasLinearizationLevel()) {
11052  setLinearizationLevel(other.getLinearizationLevel());
11053  }
11054  if (other.hasBooleanEncodingLevel()) {
11055  setBooleanEncodingLevel(other.getBooleanEncodingLevel());
11056  }
11057  if (other.hasMaxNumCuts()) {
11058  setMaxNumCuts(other.getMaxNumCuts());
11059  }
11060  if (other.hasOnlyAddCutsAtLevelZero()) {
11061  setOnlyAddCutsAtLevelZero(other.getOnlyAddCutsAtLevelZero());
11062  }
11063  if (other.hasAddKnapsackCuts()) {
11064  setAddKnapsackCuts(other.getAddKnapsackCuts());
11065  }
11066  if (other.hasAddCgCuts()) {
11067  setAddCgCuts(other.getAddCgCuts());
11068  }
11069  if (other.hasAddMirCuts()) {
11070  setAddMirCuts(other.getAddMirCuts());
11071  }
11072  if (other.hasAddZeroHalfCuts()) {
11073  setAddZeroHalfCuts(other.getAddZeroHalfCuts());
11074  }
11075  if (other.hasAddCliqueCuts()) {
11076  setAddCliqueCuts(other.getAddCliqueCuts());
11077  }
11078  if (other.hasMaxAllDiffCutSize()) {
11079  setMaxAllDiffCutSize(other.getMaxAllDiffCutSize());
11080  }
11081  if (other.hasAddLinMaxCuts()) {
11082  setAddLinMaxCuts(other.getAddLinMaxCuts());
11083  }
11084  if (other.hasMaxIntegerRoundingScaling()) {
11085  setMaxIntegerRoundingScaling(other.getMaxIntegerRoundingScaling());
11086  }
11087  if (other.hasAddLpConstraintsLazily()) {
11088  setAddLpConstraintsLazily(other.getAddLpConstraintsLazily());
11089  }
11090  if (other.hasMinOrthogonalityForLpConstraints()) {
11091  setMinOrthogonalityForLpConstraints(other.getMinOrthogonalityForLpConstraints());
11092  }
11093  if (other.hasMaxCutRoundsAtLevelZero()) {
11094  setMaxCutRoundsAtLevelZero(other.getMaxCutRoundsAtLevelZero());
11095  }
11096  if (other.hasMaxConsecutiveInactiveCount()) {
11097  setMaxConsecutiveInactiveCount(other.getMaxConsecutiveInactiveCount());
11098  }
11099  if (other.hasCutMaxActiveCountValue()) {
11100  setCutMaxActiveCountValue(other.getCutMaxActiveCountValue());
11101  }
11102  if (other.hasCutActiveCountDecay()) {
11103  setCutActiveCountDecay(other.getCutActiveCountDecay());
11104  }
11105  if (other.hasCutCleanupTarget()) {
11106  setCutCleanupTarget(other.getCutCleanupTarget());
11107  }
11108  if (other.hasNewConstraintsBatchSize()) {
11109  setNewConstraintsBatchSize(other.getNewConstraintsBatchSize());
11110  }
11111  if (other.hasSearchBranching()) {
11112  setSearchBranching(other.getSearchBranching());
11113  }
11114  if (other.hasHintConflictLimit()) {
11115  setHintConflictLimit(other.getHintConflictLimit());
11116  }
11117  if (other.hasRepairHint()) {
11118  setRepairHint(other.getRepairHint());
11119  }
11120  if (other.hasExploitIntegerLpSolution()) {
11121  setExploitIntegerLpSolution(other.getExploitIntegerLpSolution());
11122  }
11123  if (other.hasExploitAllLpSolution()) {
11124  setExploitAllLpSolution(other.getExploitAllLpSolution());
11125  }
11126  if (other.hasExploitBestSolution()) {
11127  setExploitBestSolution(other.getExploitBestSolution());
11128  }
11129  if (other.hasExploitRelaxationSolution()) {
11130  setExploitRelaxationSolution(other.getExploitRelaxationSolution());
11131  }
11132  if (other.hasExploitObjective()) {
11133  setExploitObjective(other.getExploitObjective());
11134  }
11135  if (other.hasProbingPeriodAtRoot()) {
11136  setProbingPeriodAtRoot(other.getProbingPeriodAtRoot());
11137  }
11138  if (other.hasPseudoCostReliabilityThreshold()) {
11139  setPseudoCostReliabilityThreshold(other.getPseudoCostReliabilityThreshold());
11140  }
11141  if (other.hasOptimizeWithCore()) {
11142  setOptimizeWithCore(other.getOptimizeWithCore());
11143  }
11144  if (other.hasBinarySearchNumConflicts()) {
11145  setBinarySearchNumConflicts(other.getBinarySearchNumConflicts());
11146  }
11147  if (other.hasOptimizeWithMaxHs()) {
11148  setOptimizeWithMaxHs(other.getOptimizeWithMaxHs());
11149  }
11150  if (other.hasEnumerateAllSolutions()) {
11151  setEnumerateAllSolutions(other.getEnumerateAllSolutions());
11152  }
11153  if (other.hasFillTightenedDomainsInResponse()) {
11154  setFillTightenedDomainsInResponse(other.getFillTightenedDomainsInResponse());
11155  }
11156  if (other.hasInstantiateAllVariables()) {
11157  setInstantiateAllVariables(other.getInstantiateAllVariables());
11158  }
11159  if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
11160  setAutoDetectGreaterThanAtLeastOneOf(other.getAutoDetectGreaterThanAtLeastOneOf());
11161  }
11162  if (other.hasStopAfterFirstSolution()) {
11163  setStopAfterFirstSolution(other.getStopAfterFirstSolution());
11164  }
11165  if (other.hasStopAfterPresolve()) {
11166  setStopAfterPresolve(other.getStopAfterPresolve());
11167  }
11168  if (other.hasNumSearchWorkers()) {
11169  setNumSearchWorkers(other.getNumSearchWorkers());
11170  }
11171  if (other.hasInterleaveSearch()) {
11172  setInterleaveSearch(other.getInterleaveSearch());
11173  }
11174  if (other.hasInterleaveBatchSize()) {
11175  setInterleaveBatchSize(other.getInterleaveBatchSize());
11176  }
11177  if (other.hasReduceMemoryUsageInInterleaveMode()) {
11178  setReduceMemoryUsageInInterleaveMode(other.getReduceMemoryUsageInInterleaveMode());
11179  }
11180  if (other.hasShareObjectiveBounds()) {
11181  setShareObjectiveBounds(other.getShareObjectiveBounds());
11182  }
11183  if (other.hasShareLevelZeroBounds()) {
11184  setShareLevelZeroBounds(other.getShareLevelZeroBounds());
11185  }
11186  if (other.hasUseLnsOnly()) {
11187  setUseLnsOnly(other.getUseLnsOnly());
11188  }
11189  if (other.hasLnsFocusOnDecisionVariables()) {
11190  setLnsFocusOnDecisionVariables(other.getLnsFocusOnDecisionVariables());
11191  }
11192  if (other.hasUseRinsLns()) {
11193  setUseRinsLns(other.getUseRinsLns());
11194  }
11195  if (other.hasUseFeasibilityPump()) {
11196  setUseFeasibilityPump(other.getUseFeasibilityPump());
11197  }
11198  if (other.hasFpRounding()) {
11199  setFpRounding(other.getFpRounding());
11200  }
11201  if (other.hasUseRelaxationLns()) {
11202  setUseRelaxationLns(other.getUseRelaxationLns());
11203  }
11204  if (other.hasDiversifyLnsParams()) {
11205  setDiversifyLnsParams(other.getDiversifyLnsParams());
11206  }
11207  if (other.hasRandomizeSearch()) {
11208  setRandomizeSearch(other.getRandomizeSearch());
11209  }
11210  if (other.hasSearchRandomizationTolerance()) {
11211  setSearchRandomizationTolerance(other.getSearchRandomizationTolerance());
11212  }
11213  if (other.hasUseOptionalVariables()) {
11214  setUseOptionalVariables(other.getUseOptionalVariables());
11215  }
11216  if (other.hasUseExactLpReason()) {
11217  setUseExactLpReason(other.getUseExactLpReason());
11218  }
11219  if (other.hasUseBranchingInLp()) {
11220  setUseBranchingInLp(other.getUseBranchingInLp());
11221  }
11222  if (other.hasUseCombinedNoOverlap()) {
11223  setUseCombinedNoOverlap(other.getUseCombinedNoOverlap());
11224  }
11225  if (other.hasCatchSigintSignal()) {
11226  setCatchSigintSignal(other.getCatchSigintSignal());
11227  }
11228  if (other.hasUseImpliedBounds()) {
11229  setUseImpliedBounds(other.getUseImpliedBounds());
11230  }
11231  if (other.hasMipMaxBound()) {
11232  setMipMaxBound(other.getMipMaxBound());
11233  }
11234  if (other.hasMipVarScaling()) {
11235  setMipVarScaling(other.getMipVarScaling());
11236  }
11237  if (other.hasMipAutomaticallyScaleVariables()) {
11238  setMipAutomaticallyScaleVariables(other.getMipAutomaticallyScaleVariables());
11239  }
11240  if (other.hasMipWantedPrecision()) {
11241  setMipWantedPrecision(other.getMipWantedPrecision());
11242  }
11243  if (other.hasMipMaxActivityExponent()) {
11244  setMipMaxActivityExponent(other.getMipMaxActivityExponent());
11245  }
11246  if (other.hasMipCheckPrecision()) {
11247  setMipCheckPrecision(other.getMipCheckPrecision());
11248  }
11249  this.mergeUnknownFields(other.unknownFields);
11250  onChanged();
11251  return this;
11252  }
11253 
11254  @java.lang.Override
11255  public final boolean isInitialized() {
11256  return true;
11257  }
11258 
11259  @java.lang.Override
11261  com.google.protobuf.CodedInputStream input,
11262  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11263  throws java.io.IOException {
11264  com.google.ortools.sat.SatParameters parsedMessage = null;
11265  try {
11266  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11267  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11268  parsedMessage = (com.google.ortools.sat.SatParameters) e.getUnfinishedMessage();
11269  throw e.unwrapIOException();
11270  } finally {
11271  if (parsedMessage != null) {
11272  mergeFrom(parsedMessage);
11273  }
11274  }
11275  return this;
11276  }
11277  private int bitField0_;
11278  private int bitField1_;
11279  private int bitField2_;
11280  private int bitField3_;
11281  private int bitField4_;
11282 
11283  private java.lang.Object name_ = "";
11293  public boolean hasName() {
11294  return ((bitField0_ & 0x00000001) != 0);
11295  }
11305  public java.lang.String getName() {
11306  java.lang.Object ref = name_;
11307  if (!(ref instanceof java.lang.String)) {
11308  com.google.protobuf.ByteString bs =
11309  (com.google.protobuf.ByteString) ref;
11310  java.lang.String s = bs.toStringUtf8();
11311  if (bs.isValidUtf8()) {
11312  name_ = s;
11313  }
11314  return s;
11315  } else {
11316  return (java.lang.String) ref;
11317  }
11318  }
11328  public com.google.protobuf.ByteString
11330  java.lang.Object ref = name_;
11331  if (ref instanceof String) {
11332  com.google.protobuf.ByteString b =
11333  com.google.protobuf.ByteString.copyFromUtf8(
11334  (java.lang.String) ref);
11335  name_ = b;
11336  return b;
11337  } else {
11338  return (com.google.protobuf.ByteString) ref;
11339  }
11340  }
11352  java.lang.String value) {
11353  if (value == null) {
11354  throw new NullPointerException();
11355  }
11356  bitField0_ |= 0x00000001;
11357  name_ = value;
11358  onChanged();
11359  return this;
11360  }
11370  public Builder clearName() {
11371  bitField0_ = (bitField0_ & ~0x00000001);
11372  name_ = getDefaultInstance().getName();
11373  onChanged();
11374  return this;
11375  }
11387  com.google.protobuf.ByteString value) {
11388  if (value == null) {
11389  throw new NullPointerException();
11390  }
11391  bitField0_ |= 0x00000001;
11392  name_ = value;
11393  onChanged();
11394  return this;
11395  }
11396 
11397  private int preferredVariableOrder_ = 0;
11402  @java.lang.Override public boolean hasPreferredVariableOrder() {
11403  return ((bitField0_ & 0x00000002) != 0);
11404  }
11409  @java.lang.Override
11411  @SuppressWarnings("deprecation")
11413  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
11414  }
11421  if (value == null) {
11422  throw new NullPointerException();
11423  }
11424  bitField0_ |= 0x00000002;
11425  preferredVariableOrder_ = value.getNumber();
11426  onChanged();
11427  return this;
11428  }
11434  bitField0_ = (bitField0_ & ~0x00000002);
11435  preferredVariableOrder_ = 0;
11436  onChanged();
11437  return this;
11438  }
11439 
11440  private int initialPolarity_ = 1;
11445  @java.lang.Override public boolean hasInitialPolarity() {
11446  return ((bitField0_ & 0x00000004) != 0);
11447  }
11452  @java.lang.Override
11454  @SuppressWarnings("deprecation")
11456  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
11457  }
11464  if (value == null) {
11465  throw new NullPointerException();
11466  }
11467  bitField0_ |= 0x00000004;
11468  initialPolarity_ = value.getNumber();
11469  onChanged();
11470  return this;
11471  }
11477  bitField0_ = (bitField0_ & ~0x00000004);
11478  initialPolarity_ = 1;
11479  onChanged();
11480  return this;
11481  }
11482 
11483  private boolean usePhaseSaving_ = true;
11500  @java.lang.Override
11501  public boolean hasUsePhaseSaving() {
11502  return ((bitField0_ & 0x00000008) != 0);
11503  }
11520  @java.lang.Override
11521  public boolean getUsePhaseSaving() {
11522  return usePhaseSaving_;
11523  }
11541  public Builder setUsePhaseSaving(boolean value) {
11542  bitField0_ |= 0x00000008;
11543  usePhaseSaving_ = value;
11544  onChanged();
11545  return this;
11546  }
11564  bitField0_ = (bitField0_ & ~0x00000008);
11565  usePhaseSaving_ = true;
11566  onChanged();
11567  return this;
11568  }
11569 
11570  private int polarityRephaseIncrement_ = 1000;
11581  @java.lang.Override
11582  public boolean hasPolarityRephaseIncrement() {
11583  return ((bitField0_ & 0x00000010) != 0);
11584  }
11595  @java.lang.Override
11597  return polarityRephaseIncrement_;
11598  }
11611  bitField0_ |= 0x00000010;
11612  polarityRephaseIncrement_ = value;
11613  onChanged();
11614  return this;
11615  }
11627  bitField0_ = (bitField0_ & ~0x00000010);
11628  polarityRephaseIncrement_ = 1000;
11629  onChanged();
11630  return this;
11631  }
11632 
11633  private double randomPolarityRatio_ ;
11646  @java.lang.Override
11647  public boolean hasRandomPolarityRatio() {
11648  return ((bitField0_ & 0x00000020) != 0);
11649  }
11662  @java.lang.Override
11663  public double getRandomPolarityRatio() {
11664  return randomPolarityRatio_;
11665  }
11679  public Builder setRandomPolarityRatio(double value) {
11680  bitField0_ |= 0x00000020;
11681  randomPolarityRatio_ = value;
11682  onChanged();
11683  return this;
11684  }
11698  bitField0_ = (bitField0_ & ~0x00000020);
11699  randomPolarityRatio_ = 0D;
11700  onChanged();
11701  return this;
11702  }
11703 
11704  private double randomBranchesRatio_ ;
11715  @java.lang.Override
11716  public boolean hasRandomBranchesRatio() {
11717  return ((bitField0_ & 0x00000040) != 0);
11718  }
11729  @java.lang.Override
11730  public double getRandomBranchesRatio() {
11731  return randomBranchesRatio_;
11732  }
11744  public Builder setRandomBranchesRatio(double value) {
11745  bitField0_ |= 0x00000040;
11746  randomBranchesRatio_ = value;
11747  onChanged();
11748  return this;
11749  }
11761  bitField0_ = (bitField0_ & ~0x00000040);
11762  randomBranchesRatio_ = 0D;
11763  onChanged();
11764  return this;
11765  }
11766 
11767  private boolean useErwaHeuristic_ ;
11778  @java.lang.Override
11779  public boolean hasUseErwaHeuristic() {
11780  return ((bitField0_ & 0x00000080) != 0);
11781  }
11792  @java.lang.Override
11793  public boolean getUseErwaHeuristic() {
11794  return useErwaHeuristic_;
11795  }
11807  public Builder setUseErwaHeuristic(boolean value) {
11808  bitField0_ |= 0x00000080;
11809  useErwaHeuristic_ = value;
11810  onChanged();
11811  return this;
11812  }
11824  bitField0_ = (bitField0_ & ~0x00000080);
11825  useErwaHeuristic_ = false;
11826  onChanged();
11827  return this;
11828  }
11829 
11830  private double initialVariablesActivity_ ;
11844  @java.lang.Override
11845  public boolean hasInitialVariablesActivity() {
11846  return ((bitField0_ & 0x00000100) != 0);
11847  }
11861  @java.lang.Override
11863  return initialVariablesActivity_;
11864  }
11879  public Builder setInitialVariablesActivity(double value) {
11880  bitField0_ |= 0x00000100;
11881  initialVariablesActivity_ = value;
11882  onChanged();
11883  return this;
11884  }
11899  bitField0_ = (bitField0_ & ~0x00000100);
11900  initialVariablesActivity_ = 0D;
11901  onChanged();
11902  return this;
11903  }
11904 
11905  private boolean alsoBumpVariablesInConflictReasons_ ;
11917  @java.lang.Override
11919  return ((bitField0_ & 0x00000200) != 0);
11920  }
11932  @java.lang.Override
11934  return alsoBumpVariablesInConflictReasons_;
11935  }
11949  bitField0_ |= 0x00000200;
11950  alsoBumpVariablesInConflictReasons_ = value;
11951  onChanged();
11952  return this;
11953  }
11966  bitField0_ = (bitField0_ & ~0x00000200);
11967  alsoBumpVariablesInConflictReasons_ = false;
11968  onChanged();
11969  return this;
11970  }
11971 
11972  private int minimizationAlgorithm_ = 2;
11977  @java.lang.Override public boolean hasMinimizationAlgorithm() {
11978  return ((bitField0_ & 0x00000400) != 0);
11979  }
11984  @java.lang.Override
11986  @SuppressWarnings("deprecation")
11988  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
11989  }
11996  if (value == null) {
11997  throw new NullPointerException();
11998  }
11999  bitField0_ |= 0x00000400;
12000  minimizationAlgorithm_ = value.getNumber();
12001  onChanged();
12002  return this;
12003  }
12009  bitField0_ = (bitField0_ & ~0x00000400);
12010  minimizationAlgorithm_ = 2;
12011  onChanged();
12012  return this;
12013  }
12014 
12015  private int binaryMinimizationAlgorithm_ = 1;
12020  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
12021  return ((bitField0_ & 0x00000800) != 0);
12022  }
12027  @java.lang.Override
12029  @SuppressWarnings("deprecation")
12032  }
12039  if (value == null) {
12040  throw new NullPointerException();
12041  }
12042  bitField0_ |= 0x00000800;
12043  binaryMinimizationAlgorithm_ = value.getNumber();
12044  onChanged();
12045  return this;
12046  }
12052  bitField0_ = (bitField0_ & ~0x00000800);
12053  binaryMinimizationAlgorithm_ = 1;
12054  onChanged();
12055  return this;
12056  }
12057 
12058  private boolean subsumptionDuringConflictAnalysis_ = true;
12070  @java.lang.Override
12072  return ((bitField0_ & 0x00001000) != 0);
12073  }
12085  @java.lang.Override
12087  return subsumptionDuringConflictAnalysis_;
12088  }
12102  bitField0_ |= 0x00001000;
12103  subsumptionDuringConflictAnalysis_ = value;
12104  onChanged();
12105  return this;
12106  }
12119  bitField0_ = (bitField0_ & ~0x00001000);
12120  subsumptionDuringConflictAnalysis_ = true;
12121  onChanged();
12122  return this;
12123  }
12124 
12125  private int clauseCleanupPeriod_ = 10000;
12134  @java.lang.Override
12135  public boolean hasClauseCleanupPeriod() {
12136  return ((bitField0_ & 0x00002000) != 0);
12137  }
12146  @java.lang.Override
12147  public int getClauseCleanupPeriod() {
12148  return clauseCleanupPeriod_;
12149  }
12159  public Builder setClauseCleanupPeriod(int value) {
12160  bitField0_ |= 0x00002000;
12161  clauseCleanupPeriod_ = value;
12162  onChanged();
12163  return this;
12164  }
12174  bitField0_ = (bitField0_ & ~0x00002000);
12175  clauseCleanupPeriod_ = 10000;
12176  onChanged();
12177  return this;
12178  }
12179 
12180  private int clauseCleanupTarget_ = 10000;
12190  @java.lang.Override
12191  public boolean hasClauseCleanupTarget() {
12192  return ((bitField0_ & 0x00004000) != 0);
12193  }
12203  @java.lang.Override
12204  public int getClauseCleanupTarget() {
12205  return clauseCleanupTarget_;
12206  }
12217  public Builder setClauseCleanupTarget(int value) {
12218  bitField0_ |= 0x00004000;
12219  clauseCleanupTarget_ = value;
12220  onChanged();
12221  return this;
12222  }
12233  bitField0_ = (bitField0_ & ~0x00004000);
12234  clauseCleanupTarget_ = 10000;
12235  onChanged();
12236  return this;
12237  }
12238 
12239  private int clauseCleanupProtection_ = 0;
12244  @java.lang.Override public boolean hasClauseCleanupProtection() {
12245  return ((bitField0_ & 0x00008000) != 0);
12246  }
12251  @java.lang.Override
12253  @SuppressWarnings("deprecation")
12255  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
12256  }
12263  if (value == null) {
12264  throw new NullPointerException();
12265  }
12266  bitField0_ |= 0x00008000;
12267  clauseCleanupProtection_ = value.getNumber();
12268  onChanged();
12269  return this;
12270  }
12276  bitField0_ = (bitField0_ & ~0x00008000);
12277  clauseCleanupProtection_ = 0;
12278  onChanged();
12279  return this;
12280  }
12281 
12282  private int clauseCleanupLbdBound_ = 5;
12292  @java.lang.Override
12293  public boolean hasClauseCleanupLbdBound() {
12294  return ((bitField0_ & 0x00010000) != 0);
12295  }
12305  @java.lang.Override
12307  return clauseCleanupLbdBound_;
12308  }
12319  public Builder setClauseCleanupLbdBound(int value) {
12320  bitField0_ |= 0x00010000;
12321  clauseCleanupLbdBound_ = value;
12322  onChanged();
12323  return this;
12324  }
12335  bitField0_ = (bitField0_ & ~0x00010000);
12336  clauseCleanupLbdBound_ = 5;
12337  onChanged();
12338  return this;
12339  }
12340 
12341  private int clauseCleanupOrdering_ = 0;
12346  @java.lang.Override public boolean hasClauseCleanupOrdering() {
12347  return ((bitField0_ & 0x00020000) != 0);
12348  }
12353  @java.lang.Override
12355  @SuppressWarnings("deprecation")
12357  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
12358  }
12365  if (value == null) {
12366  throw new NullPointerException();
12367  }
12368  bitField0_ |= 0x00020000;
12369  clauseCleanupOrdering_ = value.getNumber();
12370  onChanged();
12371  return this;
12372  }
12378  bitField0_ = (bitField0_ & ~0x00020000);
12379  clauseCleanupOrdering_ = 0;
12380  onChanged();
12381  return this;
12382  }
12383 
12384  private int pbCleanupIncrement_ = 200;
12393  @java.lang.Override
12394  public boolean hasPbCleanupIncrement() {
12395  return ((bitField0_ & 0x00040000) != 0);
12396  }
12405  @java.lang.Override
12406  public int getPbCleanupIncrement() {
12407  return pbCleanupIncrement_;
12408  }
12418  public Builder setPbCleanupIncrement(int value) {
12419  bitField0_ |= 0x00040000;
12420  pbCleanupIncrement_ = value;
12421  onChanged();
12422  return this;
12423  }
12433  bitField0_ = (bitField0_ & ~0x00040000);
12434  pbCleanupIncrement_ = 200;
12435  onChanged();
12436  return this;
12437  }
12438 
12439  private double pbCleanupRatio_ = 0.5D;
12444  @java.lang.Override
12445  public boolean hasPbCleanupRatio() {
12446  return ((bitField0_ & 0x00080000) != 0);
12447  }
12452  @java.lang.Override
12453  public double getPbCleanupRatio() {
12454  return pbCleanupRatio_;
12455  }
12461  public Builder setPbCleanupRatio(double value) {
12462  bitField0_ |= 0x00080000;
12463  pbCleanupRatio_ = value;
12464  onChanged();
12465  return this;
12466  }
12472  bitField0_ = (bitField0_ & ~0x00080000);
12473  pbCleanupRatio_ = 0.5D;
12474  onChanged();
12475  return this;
12476  }
12477 
12478  private int minimizeWithPropagationRestartPeriod_ = 10;
12497  @java.lang.Override
12499  return ((bitField0_ & 0x00100000) != 0);
12500  }
12519  @java.lang.Override
12521  return minimizeWithPropagationRestartPeriod_;
12522  }
12543  bitField0_ |= 0x00100000;
12544  minimizeWithPropagationRestartPeriod_ = value;
12545  onChanged();
12546  return this;
12547  }
12567  bitField0_ = (bitField0_ & ~0x00100000);
12568  minimizeWithPropagationRestartPeriod_ = 10;
12569  onChanged();
12570  return this;
12571  }
12572 
12573  private int minimizeWithPropagationNumDecisions_ = 1000;
12578  @java.lang.Override
12580  return ((bitField0_ & 0x00200000) != 0);
12581  }
12586  @java.lang.Override
12588  return minimizeWithPropagationNumDecisions_;
12589  }
12596  bitField0_ |= 0x00200000;
12597  minimizeWithPropagationNumDecisions_ = value;
12598  onChanged();
12599  return this;
12600  }
12606  bitField0_ = (bitField0_ & ~0x00200000);
12607  minimizeWithPropagationNumDecisions_ = 1000;
12608  onChanged();
12609  return this;
12610  }
12611 
12612  private double variableActivityDecay_ = 0.8D;
12627  @java.lang.Override
12628  public boolean hasVariableActivityDecay() {
12629  return ((bitField0_ & 0x00400000) != 0);
12630  }
12645  @java.lang.Override
12646  public double getVariableActivityDecay() {
12647  return variableActivityDecay_;
12648  }
12664  public Builder setVariableActivityDecay(double value) {
12665  bitField0_ |= 0x00400000;
12666  variableActivityDecay_ = value;
12667  onChanged();
12668  return this;
12669  }
12685  bitField0_ = (bitField0_ & ~0x00400000);
12686  variableActivityDecay_ = 0.8D;
12687  onChanged();
12688  return this;
12689  }
12690 
12691  private double maxVariableActivityValue_ = 1e+100D;
12696  @java.lang.Override
12697  public boolean hasMaxVariableActivityValue() {
12698  return ((bitField0_ & 0x00800000) != 0);
12699  }
12704  @java.lang.Override
12706  return maxVariableActivityValue_;
12707  }
12713  public Builder setMaxVariableActivityValue(double value) {
12714  bitField0_ |= 0x00800000;
12715  maxVariableActivityValue_ = value;
12716  onChanged();
12717  return this;
12718  }
12724  bitField0_ = (bitField0_ & ~0x00800000);
12725  maxVariableActivityValue_ = 1e+100D;
12726  onChanged();
12727  return this;
12728  }
12729 
12730  private double glucoseMaxDecay_ = 0.95D;
12742  @java.lang.Override
12743  public boolean hasGlucoseMaxDecay() {
12744  return ((bitField0_ & 0x01000000) != 0);
12745  }
12757  @java.lang.Override
12758  public double getGlucoseMaxDecay() {
12759  return glucoseMaxDecay_;
12760  }
12773  public Builder setGlucoseMaxDecay(double value) {
12774  bitField0_ |= 0x01000000;
12775  glucoseMaxDecay_ = value;
12776  onChanged();
12777  return this;
12778  }
12791  bitField0_ = (bitField0_ & ~0x01000000);
12792  glucoseMaxDecay_ = 0.95D;
12793  onChanged();
12794  return this;
12795  }
12796 
12797  private double glucoseDecayIncrement_ = 0.01D;
12802  @java.lang.Override
12803  public boolean hasGlucoseDecayIncrement() {
12804  return ((bitField0_ & 0x02000000) != 0);
12805  }
12810  @java.lang.Override
12811  public double getGlucoseDecayIncrement() {
12812  return glucoseDecayIncrement_;
12813  }
12819  public Builder setGlucoseDecayIncrement(double value) {
12820  bitField0_ |= 0x02000000;
12821  glucoseDecayIncrement_ = value;
12822  onChanged();
12823  return this;
12824  }
12830  bitField0_ = (bitField0_ & ~0x02000000);
12831  glucoseDecayIncrement_ = 0.01D;
12832  onChanged();
12833  return this;
12834  }
12835 
12836  private int glucoseDecayIncrementPeriod_ = 5000;
12841  @java.lang.Override
12843  return ((bitField0_ & 0x04000000) != 0);
12844  }
12849  @java.lang.Override
12851  return glucoseDecayIncrementPeriod_;
12852  }
12859  bitField0_ |= 0x04000000;
12860  glucoseDecayIncrementPeriod_ = value;
12861  onChanged();
12862  return this;
12863  }
12869  bitField0_ = (bitField0_ & ~0x04000000);
12870  glucoseDecayIncrementPeriod_ = 5000;
12871  onChanged();
12872  return this;
12873  }
12874 
12875  private double clauseActivityDecay_ = 0.999D;
12884  @java.lang.Override
12885  public boolean hasClauseActivityDecay() {
12886  return ((bitField0_ & 0x08000000) != 0);
12887  }
12896  @java.lang.Override
12897  public double getClauseActivityDecay() {
12898  return clauseActivityDecay_;
12899  }
12909  public Builder setClauseActivityDecay(double value) {
12910  bitField0_ |= 0x08000000;
12911  clauseActivityDecay_ = value;
12912  onChanged();
12913  return this;
12914  }
12924  bitField0_ = (bitField0_ & ~0x08000000);
12925  clauseActivityDecay_ = 0.999D;
12926  onChanged();
12927  return this;
12928  }
12929 
12930  private double maxClauseActivityValue_ = 1e+20D;
12935  @java.lang.Override
12936  public boolean hasMaxClauseActivityValue() {
12937  return ((bitField0_ & 0x10000000) != 0);
12938  }
12943  @java.lang.Override
12944  public double getMaxClauseActivityValue() {
12945  return maxClauseActivityValue_;
12946  }
12952  public Builder setMaxClauseActivityValue(double value) {
12953  bitField0_ |= 0x10000000;
12954  maxClauseActivityValue_ = value;
12955  onChanged();
12956  return this;
12957  }
12963  bitField0_ = (bitField0_ & ~0x10000000);
12964  maxClauseActivityValue_ = 1e+20D;
12965  onChanged();
12966  return this;
12967  }
12968 
12969  private java.util.List<java.lang.Integer> restartAlgorithms_ =
12970  java.util.Collections.emptyList();
12971  private void ensureRestartAlgorithmsIsMutable() {
12972  if (!((bitField0_ & 0x20000000) != 0)) {
12973  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
12974  bitField0_ |= 0x20000000;
12975  }
12976  }
12993  return new com.google.protobuf.Internal.ListAdapter<
12994  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
12995  }
13012  return restartAlgorithms_.size();
13013  }
13031  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
13032  }
13051  int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
13052  if (value == null) {
13053  throw new NullPointerException();
13054  }
13055  ensureRestartAlgorithmsIsMutable();
13056  restartAlgorithms_.set(index, value.getNumber());
13057  onChanged();
13058  return this;
13059  }
13077  if (value == null) {
13078  throw new NullPointerException();
13079  }
13080  ensureRestartAlgorithmsIsMutable();
13081  restartAlgorithms_.add(value.getNumber());
13082  onChanged();
13083  return this;
13084  }
13102  java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
13103  ensureRestartAlgorithmsIsMutable();
13104  for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
13105  restartAlgorithms_.add(value.getNumber());
13106  }
13107  onChanged();
13108  return this;
13109  }
13126  restartAlgorithms_ = java.util.Collections.emptyList();
13127  bitField0_ = (bitField0_ & ~0x20000000);
13128  onChanged();
13129  return this;
13130  }
13131 
13132  private java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
13137  public boolean hasDefaultRestartAlgorithms() {
13138  return ((bitField0_ & 0x40000000) != 0);
13139  }
13144  public java.lang.String getDefaultRestartAlgorithms() {
13145  java.lang.Object ref = defaultRestartAlgorithms_;
13146  if (!(ref instanceof java.lang.String)) {
13147  com.google.protobuf.ByteString bs =
13148  (com.google.protobuf.ByteString) ref;
13149  java.lang.String s = bs.toStringUtf8();
13150  if (bs.isValidUtf8()) {
13151  defaultRestartAlgorithms_ = s;
13152  }
13153  return s;
13154  } else {
13155  return (java.lang.String) ref;
13156  }
13157  }
13162  public com.google.protobuf.ByteString
13164  java.lang.Object ref = defaultRestartAlgorithms_;
13165  if (ref instanceof String) {
13166  com.google.protobuf.ByteString b =
13167  com.google.protobuf.ByteString.copyFromUtf8(
13168  (java.lang.String) ref);
13169  defaultRestartAlgorithms_ = b;
13170  return b;
13171  } else {
13172  return (com.google.protobuf.ByteString) ref;
13173  }
13174  }
13181  java.lang.String value) {
13182  if (value == null) {
13183  throw new NullPointerException();
13184  }
13185  bitField0_ |= 0x40000000;
13186  defaultRestartAlgorithms_ = value;
13187  onChanged();
13188  return this;
13189  }
13195  bitField0_ = (bitField0_ & ~0x40000000);
13196  defaultRestartAlgorithms_ = getDefaultInstance().getDefaultRestartAlgorithms();
13197  onChanged();
13198  return this;
13199  }
13206  com.google.protobuf.ByteString value) {
13207  if (value == null) {
13208  throw new NullPointerException();
13209  }
13210  bitField0_ |= 0x40000000;
13211  defaultRestartAlgorithms_ = value;
13212  onChanged();
13213  return this;
13214  }
13215 
13216  private int restartPeriod_ = 50;
13226  @java.lang.Override
13227  public boolean hasRestartPeriod() {
13228  return ((bitField0_ & 0x80000000) != 0);
13229  }
13239  @java.lang.Override
13240  public int getRestartPeriod() {
13241  return restartPeriod_;
13242  }
13253  public Builder setRestartPeriod(int value) {
13254  bitField0_ |= 0x80000000;
13255  restartPeriod_ = value;
13256  onChanged();
13257  return this;
13258  }
13269  bitField0_ = (bitField0_ & ~0x80000000);
13270  restartPeriod_ = 50;
13271  onChanged();
13272  return this;
13273  }
13274 
13275  private int restartRunningWindowSize_ = 50;
13284  @java.lang.Override
13285  public boolean hasRestartRunningWindowSize() {
13286  return ((bitField1_ & 0x00000001) != 0);
13287  }
13296  @java.lang.Override
13298  return restartRunningWindowSize_;
13299  }
13310  bitField1_ |= 0x00000001;
13311  restartRunningWindowSize_ = value;
13312  onChanged();
13313  return this;
13314  }
13324  bitField1_ = (bitField1_ & ~0x00000001);
13325  restartRunningWindowSize_ = 50;
13326  onChanged();
13327  return this;
13328  }
13329 
13330  private double restartDlAverageRatio_ = 1D;
13340  @java.lang.Override
13341  public boolean hasRestartDlAverageRatio() {
13342  return ((bitField1_ & 0x00000002) != 0);
13343  }
13353  @java.lang.Override
13354  public double getRestartDlAverageRatio() {
13355  return restartDlAverageRatio_;
13356  }
13367  public Builder setRestartDlAverageRatio(double value) {
13368  bitField1_ |= 0x00000002;
13369  restartDlAverageRatio_ = value;
13370  onChanged();
13371  return this;
13372  }
13383  bitField1_ = (bitField1_ & ~0x00000002);
13384  restartDlAverageRatio_ = 1D;
13385  onChanged();
13386  return this;
13387  }
13388 
13389  private double restartLbdAverageRatio_ = 1D;
13394  @java.lang.Override
13395  public boolean hasRestartLbdAverageRatio() {
13396  return ((bitField1_ & 0x00000004) != 0);
13397  }
13402  @java.lang.Override
13403  public double getRestartLbdAverageRatio() {
13404  return restartLbdAverageRatio_;
13405  }
13411  public Builder setRestartLbdAverageRatio(double value) {
13412  bitField1_ |= 0x00000004;
13413  restartLbdAverageRatio_ = value;
13414  onChanged();
13415  return this;
13416  }
13422  bitField1_ = (bitField1_ & ~0x00000004);
13423  restartLbdAverageRatio_ = 1D;
13424  onChanged();
13425  return this;
13426  }
13427 
13428  private boolean useBlockingRestart_ ;
13439  @java.lang.Override
13440  public boolean hasUseBlockingRestart() {
13441  return ((bitField1_ & 0x00000008) != 0);
13442  }
13453  @java.lang.Override
13454  public boolean getUseBlockingRestart() {
13455  return useBlockingRestart_;
13456  }
13468  public Builder setUseBlockingRestart(boolean value) {
13469  bitField1_ |= 0x00000008;
13470  useBlockingRestart_ = value;
13471  onChanged();
13472  return this;
13473  }
13485  bitField1_ = (bitField1_ & ~0x00000008);
13486  useBlockingRestart_ = false;
13487  onChanged();
13488  return this;
13489  }
13490 
13491  private int blockingRestartWindowSize_ = 5000;
13496  @java.lang.Override
13497  public boolean hasBlockingRestartWindowSize() {
13498  return ((bitField1_ & 0x00000010) != 0);
13499  }
13504  @java.lang.Override
13506  return blockingRestartWindowSize_;
13507  }
13514  bitField1_ |= 0x00000010;
13515  blockingRestartWindowSize_ = value;
13516  onChanged();
13517  return this;
13518  }
13524  bitField1_ = (bitField1_ & ~0x00000010);
13525  blockingRestartWindowSize_ = 5000;
13526  onChanged();
13527  return this;
13528  }
13529 
13530  private double blockingRestartMultiplier_ = 1.4D;
13535  @java.lang.Override
13536  public boolean hasBlockingRestartMultiplier() {
13537  return ((bitField1_ & 0x00000020) != 0);
13538  }
13543  @java.lang.Override
13545  return blockingRestartMultiplier_;
13546  }
13552  public Builder setBlockingRestartMultiplier(double value) {
13553  bitField1_ |= 0x00000020;
13554  blockingRestartMultiplier_ = value;
13555  onChanged();
13556  return this;
13557  }
13563  bitField1_ = (bitField1_ & ~0x00000020);
13564  blockingRestartMultiplier_ = 1.4D;
13565  onChanged();
13566  return this;
13567  }
13568 
13569  private int numConflictsBeforeStrategyChanges_ ;
13580  @java.lang.Override
13582  return ((bitField1_ & 0x00000040) != 0);
13583  }
13594  @java.lang.Override
13596  return numConflictsBeforeStrategyChanges_;
13597  }
13610  bitField1_ |= 0x00000040;
13611  numConflictsBeforeStrategyChanges_ = value;
13612  onChanged();
13613  return this;
13614  }
13626  bitField1_ = (bitField1_ & ~0x00000040);
13627  numConflictsBeforeStrategyChanges_ = 0;
13628  onChanged();
13629  return this;
13630  }
13631 
13632  private double strategyChangeIncreaseRatio_ ;
13642  @java.lang.Override
13644  return ((bitField1_ & 0x00000080) != 0);
13645  }
13655  @java.lang.Override
13657  return strategyChangeIncreaseRatio_;
13658  }
13670  bitField1_ |= 0x00000080;
13671  strategyChangeIncreaseRatio_ = value;
13672  onChanged();
13673  return this;
13674  }
13685  bitField1_ = (bitField1_ & ~0x00000080);
13686  strategyChangeIncreaseRatio_ = 0D;
13687  onChanged();
13688  return this;
13689  }
13690 
13691  private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
13701  @java.lang.Override
13702  public boolean hasMaxTimeInSeconds() {
13703  return ((bitField1_ & 0x00000100) != 0);
13704  }
13714  @java.lang.Override
13715  public double getMaxTimeInSeconds() {
13716  return maxTimeInSeconds_;
13717  }
13728  public Builder setMaxTimeInSeconds(double value) {
13729  bitField1_ |= 0x00000100;
13730  maxTimeInSeconds_ = value;
13731  onChanged();
13732  return this;
13733  }
13744  bitField1_ = (bitField1_ & ~0x00000100);
13745  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
13746  onChanged();
13747  return this;
13748  }
13749 
13750  private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
13761  @java.lang.Override
13762  public boolean hasMaxDeterministicTime() {
13763  return ((bitField1_ & 0x00000200) != 0);
13764  }
13775  @java.lang.Override
13776  public double getMaxDeterministicTime() {
13777  return maxDeterministicTime_;
13778  }
13790  public Builder setMaxDeterministicTime(double value) {
13791  bitField1_ |= 0x00000200;
13792  maxDeterministicTime_ = value;
13793  onChanged();
13794  return this;
13795  }
13807  bitField1_ = (bitField1_ & ~0x00000200);
13808  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
13809  onChanged();
13810  return this;
13811  }
13812 
13813  private long maxNumberOfConflicts_ = 9223372036854775807L;
13827  @java.lang.Override
13828  public boolean hasMaxNumberOfConflicts() {
13829  return ((bitField1_ & 0x00000400) != 0);
13830  }
13844  @java.lang.Override
13845  public long getMaxNumberOfConflicts() {
13846  return maxNumberOfConflicts_;
13847  }
13862  public Builder setMaxNumberOfConflicts(long value) {
13863  bitField1_ |= 0x00000400;
13864  maxNumberOfConflicts_ = value;
13865  onChanged();
13866  return this;
13867  }
13882  bitField1_ = (bitField1_ & ~0x00000400);
13883  maxNumberOfConflicts_ = 9223372036854775807L;
13884  onChanged();
13885  return this;
13886  }
13887 
13888  private long maxMemoryInMb_ = 10000L;
13900  @java.lang.Override
13901  public boolean hasMaxMemoryInMb() {
13902  return ((bitField1_ & 0x00000800) != 0);
13903  }
13915  @java.lang.Override
13916  public long getMaxMemoryInMb() {
13917  return maxMemoryInMb_;
13918  }
13931  public Builder setMaxMemoryInMb(long value) {
13932  bitField1_ |= 0x00000800;
13933  maxMemoryInMb_ = value;
13934  onChanged();
13935  return this;
13936  }
13949  bitField1_ = (bitField1_ & ~0x00000800);
13950  maxMemoryInMb_ = 10000L;
13951  onChanged();
13952  return this;
13953  }
13954 
13955  private double absoluteGapLimit_ ;
13973  @java.lang.Override
13974  public boolean hasAbsoluteGapLimit() {
13975  return ((bitField1_ & 0x00001000) != 0);
13976  }
13994  @java.lang.Override
13995  public double getAbsoluteGapLimit() {
13996  return absoluteGapLimit_;
13997  }
14016  public Builder setAbsoluteGapLimit(double value) {
14017  bitField1_ |= 0x00001000;
14018  absoluteGapLimit_ = value;
14019  onChanged();
14020  return this;
14021  }
14040  bitField1_ = (bitField1_ & ~0x00001000);
14041  absoluteGapLimit_ = 0D;
14042  onChanged();
14043  return this;
14044  }
14045 
14046  private double relativeGapLimit_ ;
14051  @java.lang.Override
14052  public boolean hasRelativeGapLimit() {
14053  return ((bitField1_ & 0x00002000) != 0);
14054  }
14059  @java.lang.Override
14060  public double getRelativeGapLimit() {
14061  return relativeGapLimit_;
14062  }
14068  public Builder setRelativeGapLimit(double value) {
14069  bitField1_ |= 0x00002000;
14070  relativeGapLimit_ = value;
14071  onChanged();
14072  return this;
14073  }
14079  bitField1_ = (bitField1_ & ~0x00002000);
14080  relativeGapLimit_ = 0D;
14081  onChanged();
14082  return this;
14083  }
14084 
14085  private boolean treatBinaryClausesSeparately_ = true;
14096  @java.lang.Override
14098  return ((bitField1_ & 0x00004000) != 0);
14099  }
14110  @java.lang.Override
14112  return treatBinaryClausesSeparately_;
14113  }
14126  bitField1_ |= 0x00004000;
14127  treatBinaryClausesSeparately_ = value;
14128  onChanged();
14129  return this;
14130  }
14142  bitField1_ = (bitField1_ & ~0x00004000);
14143  treatBinaryClausesSeparately_ = true;
14144  onChanged();
14145  return this;
14146  }
14147 
14148  private int randomSeed_ = 1;
14162  @java.lang.Override
14163  public boolean hasRandomSeed() {
14164  return ((bitField1_ & 0x00008000) != 0);
14165  }
14179  @java.lang.Override
14180  public int getRandomSeed() {
14181  return randomSeed_;
14182  }
14197  public Builder setRandomSeed(int value) {
14198  bitField1_ |= 0x00008000;
14199  randomSeed_ = value;
14200  onChanged();
14201  return this;
14202  }
14217  bitField1_ = (bitField1_ & ~0x00008000);
14218  randomSeed_ = 1;
14219  onChanged();
14220  return this;
14221  }
14222 
14223  private boolean logSearchProgress_ ;
14232  @java.lang.Override
14233  public boolean hasLogSearchProgress() {
14234  return ((bitField1_ & 0x00010000) != 0);
14235  }
14244  @java.lang.Override
14245  public boolean getLogSearchProgress() {
14246  return logSearchProgress_;
14247  }
14257  public Builder setLogSearchProgress(boolean value) {
14258  bitField1_ |= 0x00010000;
14259  logSearchProgress_ = value;
14260  onChanged();
14261  return this;
14262  }
14272  bitField1_ = (bitField1_ & ~0x00010000);
14273  logSearchProgress_ = false;
14274  onChanged();
14275  return this;
14276  }
14277 
14278  private boolean usePbResolution_ ;
14290  @java.lang.Override
14291  public boolean hasUsePbResolution() {
14292  return ((bitField1_ & 0x00020000) != 0);
14293  }
14305  @java.lang.Override
14306  public boolean getUsePbResolution() {
14307  return usePbResolution_;
14308  }
14321  public Builder setUsePbResolution(boolean value) {
14322  bitField1_ |= 0x00020000;
14323  usePbResolution_ = value;
14324  onChanged();
14325  return this;
14326  }
14339  bitField1_ = (bitField1_ & ~0x00020000);
14340  usePbResolution_ = false;
14341  onChanged();
14342  return this;
14343  }
14344 
14345  private boolean minimizeReductionDuringPbResolution_ ;
14357  @java.lang.Override
14359  return ((bitField1_ & 0x00040000) != 0);
14360  }
14372  @java.lang.Override
14374  return minimizeReductionDuringPbResolution_;
14375  }
14389  bitField1_ |= 0x00040000;
14390  minimizeReductionDuringPbResolution_ = value;
14391  onChanged();
14392  return this;
14393  }
14406  bitField1_ = (bitField1_ & ~0x00040000);
14407  minimizeReductionDuringPbResolution_ = false;
14408  onChanged();
14409  return this;
14410  }
14411 
14412  private boolean countAssumptionLevelsInLbd_ = true;
14428  @java.lang.Override
14430  return ((bitField1_ & 0x00080000) != 0);
14431  }
14447  @java.lang.Override
14449  return countAssumptionLevelsInLbd_;
14450  }
14467  public Builder setCountAssumptionLevelsInLbd(boolean value) {
14468  bitField1_ |= 0x00080000;
14469  countAssumptionLevelsInLbd_ = value;
14470  onChanged();
14471  return this;
14472  }
14489  bitField1_ = (bitField1_ & ~0x00080000);
14490  countAssumptionLevelsInLbd_ = true;
14491  onChanged();
14492  return this;
14493  }
14494 
14495  private int presolveBveThreshold_ = 500;
14506  @java.lang.Override
14507  public boolean hasPresolveBveThreshold() {
14508  return ((bitField1_ & 0x00100000) != 0);
14509  }
14520  @java.lang.Override
14522  return presolveBveThreshold_;
14523  }
14535  public Builder setPresolveBveThreshold(int value) {
14536  bitField1_ |= 0x00100000;
14537  presolveBveThreshold_ = value;
14538  onChanged();
14539  return this;
14540  }
14552  bitField1_ = (bitField1_ & ~0x00100000);
14553  presolveBveThreshold_ = 500;
14554  onChanged();
14555  return this;
14556  }
14557 
14558  private int presolveBveClauseWeight_ = 3;
14568  @java.lang.Override
14569  public boolean hasPresolveBveClauseWeight() {
14570  return ((bitField1_ & 0x00200000) != 0);
14571  }
14581  @java.lang.Override
14583  return presolveBveClauseWeight_;
14584  }
14596  bitField1_ |= 0x00200000;
14597  presolveBveClauseWeight_ = value;
14598  onChanged();
14599  return this;
14600  }
14611  bitField1_ = (bitField1_ & ~0x00200000);
14612  presolveBveClauseWeight_ = 3;
14613  onChanged();
14614  return this;
14615  }
14616 
14617  private double presolveProbingDeterministicTimeLimit_ = 30D;
14627  @java.lang.Override
14629  return ((bitField1_ & 0x00400000) != 0);
14630  }
14640  @java.lang.Override
14642  return presolveProbingDeterministicTimeLimit_;
14643  }
14655  bitField1_ |= 0x00400000;
14656  presolveProbingDeterministicTimeLimit_ = value;
14657  onChanged();
14658  return this;
14659  }
14670  bitField1_ = (bitField1_ & ~0x00400000);
14671  presolveProbingDeterministicTimeLimit_ = 30D;
14672  onChanged();
14673  return this;
14674  }
14675 
14676  private boolean presolveBlockedClause_ = true;
14686  @java.lang.Override
14687  public boolean hasPresolveBlockedClause() {
14688  return ((bitField1_ & 0x00800000) != 0);
14689  }
14699  @java.lang.Override
14700  public boolean getPresolveBlockedClause() {
14701  return presolveBlockedClause_;
14702  }
14713  public Builder setPresolveBlockedClause(boolean value) {
14714  bitField1_ |= 0x00800000;
14715  presolveBlockedClause_ = value;
14716  onChanged();
14717  return this;
14718  }
14729  bitField1_ = (bitField1_ & ~0x00800000);
14730  presolveBlockedClause_ = true;
14731  onChanged();
14732  return this;
14733  }
14734 
14735  private boolean presolveUseBva_ = true;
14744  @java.lang.Override
14745  public boolean hasPresolveUseBva() {
14746  return ((bitField1_ & 0x01000000) != 0);
14747  }
14756  @java.lang.Override
14757  public boolean getPresolveUseBva() {
14758  return presolveUseBva_;
14759  }
14769  public Builder setPresolveUseBva(boolean value) {
14770  bitField1_ |= 0x01000000;
14771  presolveUseBva_ = value;
14772  onChanged();
14773  return this;
14774  }
14784  bitField1_ = (bitField1_ & ~0x01000000);
14785  presolveUseBva_ = true;
14786  onChanged();
14787  return this;
14788  }
14789 
14790  private int presolveBvaThreshold_ = 1;
14802  @java.lang.Override
14803  public boolean hasPresolveBvaThreshold() {
14804  return ((bitField1_ & 0x02000000) != 0);
14805  }
14817  @java.lang.Override
14819  return presolveBvaThreshold_;
14820  }
14833  public Builder setPresolveBvaThreshold(int value) {
14834  bitField1_ |= 0x02000000;
14835  presolveBvaThreshold_ = value;
14836  onChanged();
14837  return this;
14838  }
14851  bitField1_ = (bitField1_ & ~0x02000000);
14852  presolveBvaThreshold_ = 1;
14853  onChanged();
14854  return this;
14855  }
14856 
14857  private int maxPresolveIterations_ = 3;
14868  @java.lang.Override
14869  public boolean hasMaxPresolveIterations() {
14870  return ((bitField1_ & 0x04000000) != 0);
14871  }
14882  @java.lang.Override
14884  return maxPresolveIterations_;
14885  }
14897  public Builder setMaxPresolveIterations(int value) {
14898  bitField1_ |= 0x04000000;
14899  maxPresolveIterations_ = value;
14900  onChanged();
14901  return this;
14902  }
14914  bitField1_ = (bitField1_ & ~0x04000000);
14915  maxPresolveIterations_ = 3;
14916  onChanged();
14917  return this;
14918  }
14919 
14920  private boolean cpModelPresolve_ = true;
14929  @java.lang.Override
14930  public boolean hasCpModelPresolve() {
14931  return ((bitField1_ & 0x08000000) != 0);
14932  }
14941  @java.lang.Override
14942  public boolean getCpModelPresolve() {
14943  return cpModelPresolve_;
14944  }
14954  public Builder setCpModelPresolve(boolean value) {
14955  bitField1_ |= 0x08000000;
14956  cpModelPresolve_ = value;
14957  onChanged();
14958  return this;
14959  }
14969  bitField1_ = (bitField1_ & ~0x08000000);
14970  cpModelPresolve_ = true;
14971  onChanged();
14972  return this;
14973  }
14974 
14975  private boolean cpModelPostsolveWithFullSolver_ ;
14987  @java.lang.Override
14989  return ((bitField1_ & 0x10000000) != 0);
14990  }
15002  @java.lang.Override
15004  return cpModelPostsolveWithFullSolver_;
15005  }
15019  bitField1_ |= 0x10000000;
15020  cpModelPostsolveWithFullSolver_ = value;
15021  onChanged();
15022  return this;
15023  }
15036  bitField1_ = (bitField1_ & ~0x10000000);
15037  cpModelPostsolveWithFullSolver_ = false;
15038  onChanged();
15039  return this;
15040  }
15041 
15042  private int cpModelMaxNumPresolveOperations_ ;
15052  @java.lang.Override
15054  return ((bitField1_ & 0x20000000) != 0);
15055  }
15065  @java.lang.Override
15067  return cpModelMaxNumPresolveOperations_;
15068  }
15080  bitField1_ |= 0x20000000;
15081  cpModelMaxNumPresolveOperations_ = value;
15082  onChanged();
15083  return this;
15084  }
15095  bitField1_ = (bitField1_ & ~0x20000000);
15096  cpModelMaxNumPresolveOperations_ = 0;
15097  onChanged();
15098  return this;
15099  }
15100 
15101  private int cpModelProbingLevel_ = 2;
15110  @java.lang.Override
15111  public boolean hasCpModelProbingLevel() {
15112  return ((bitField1_ & 0x40000000) != 0);
15113  }
15122  @java.lang.Override
15123  public int getCpModelProbingLevel() {
15124  return cpModelProbingLevel_;
15125  }
15135  public Builder setCpModelProbingLevel(int value) {
15136  bitField1_ |= 0x40000000;
15137  cpModelProbingLevel_ = value;
15138  onChanged();
15139  return this;
15140  }
15150  bitField1_ = (bitField1_ & ~0x40000000);
15151  cpModelProbingLevel_ = 2;
15152  onChanged();
15153  return this;
15154  }
15155 
15156  private boolean cpModelUseSatPresolve_ = true;
15165  @java.lang.Override
15166  public boolean hasCpModelUseSatPresolve() {
15167  return ((bitField1_ & 0x80000000) != 0);
15168  }
15177  @java.lang.Override
15178  public boolean getCpModelUseSatPresolve() {
15179  return cpModelUseSatPresolve_;
15180  }
15190  public Builder setCpModelUseSatPresolve(boolean value) {
15191  bitField1_ |= 0x80000000;
15192  cpModelUseSatPresolve_ = value;
15193  onChanged();
15194  return this;
15195  }
15205  bitField1_ = (bitField1_ & ~0x80000000);
15206  cpModelUseSatPresolve_ = true;
15207  onChanged();
15208  return this;
15209  }
15210 
15211  private boolean useSatInprocessing_ ;
15216  @java.lang.Override
15217  public boolean hasUseSatInprocessing() {
15218  return ((bitField2_ & 0x00000001) != 0);
15219  }
15224  @java.lang.Override
15225  public boolean getUseSatInprocessing() {
15226  return useSatInprocessing_;
15227  }
15233  public Builder setUseSatInprocessing(boolean value) {
15234  bitField2_ |= 0x00000001;
15235  useSatInprocessing_ = value;
15236  onChanged();
15237  return this;
15238  }
15244  bitField2_ = (bitField2_ & ~0x00000001);
15245  useSatInprocessing_ = false;
15246  onChanged();
15247  return this;
15248  }
15249 
15250  private boolean expandElementConstraints_ = true;
15260  @java.lang.Override
15261  public boolean hasExpandElementConstraints() {
15262  return ((bitField2_ & 0x00000002) != 0);
15263  }
15273  @java.lang.Override
15274  public boolean getExpandElementConstraints() {
15275  return expandElementConstraints_;
15276  }
15287  public Builder setExpandElementConstraints(boolean value) {
15288  bitField2_ |= 0x00000002;
15289  expandElementConstraints_ = value;
15290  onChanged();
15291  return this;
15292  }
15303  bitField2_ = (bitField2_ & ~0x00000002);
15304  expandElementConstraints_ = true;
15305  onChanged();
15306  return this;
15307  }
15308 
15309  private boolean expandAutomatonConstraints_ = true;
15318  @java.lang.Override
15320  return ((bitField2_ & 0x00000004) != 0);
15321  }
15330  @java.lang.Override
15332  return expandAutomatonConstraints_;
15333  }
15343  public Builder setExpandAutomatonConstraints(boolean value) {
15344  bitField2_ |= 0x00000004;
15345  expandAutomatonConstraints_ = value;
15346  onChanged();
15347  return this;
15348  }
15358  bitField2_ = (bitField2_ & ~0x00000004);
15359  expandAutomatonConstraints_ = true;
15360  onChanged();
15361  return this;
15362  }
15363 
15364  private boolean expandTableConstraints_ = true;
15374  @java.lang.Override
15375  public boolean hasExpandTableConstraints() {
15376  return ((bitField2_ & 0x00000008) != 0);
15377  }
15387  @java.lang.Override
15388  public boolean getExpandTableConstraints() {
15389  return expandTableConstraints_;
15390  }
15401  public Builder setExpandTableConstraints(boolean value) {
15402  bitField2_ |= 0x00000008;
15403  expandTableConstraints_ = value;
15404  onChanged();
15405  return this;
15406  }
15417  bitField2_ = (bitField2_ & ~0x00000008);
15418  expandTableConstraints_ = true;
15419  onChanged();
15420  return this;
15421  }
15422 
15423  private boolean expandAlldiffConstraints_ ;
15433  @java.lang.Override
15434  public boolean hasExpandAlldiffConstraints() {
15435  return ((bitField2_ & 0x00000010) != 0);
15436  }
15446  @java.lang.Override
15447  public boolean getExpandAlldiffConstraints() {
15448  return expandAlldiffConstraints_;
15449  }
15460  public Builder setExpandAlldiffConstraints(boolean value) {
15461  bitField2_ |= 0x00000010;
15462  expandAlldiffConstraints_ = value;
15463  onChanged();
15464  return this;
15465  }
15476  bitField2_ = (bitField2_ & ~0x00000010);
15477  expandAlldiffConstraints_ = false;
15478  onChanged();
15479  return this;
15480  }
15481 
15482  private double mergeNoOverlapWorkLimit_ = 1000000000000D;
15495  @java.lang.Override
15496  public boolean hasMergeNoOverlapWorkLimit() {
15497  return ((bitField2_ & 0x00000020) != 0);
15498  }
15511  @java.lang.Override
15512  public double getMergeNoOverlapWorkLimit() {
15513  return mergeNoOverlapWorkLimit_;
15514  }
15528  public Builder setMergeNoOverlapWorkLimit(double value) {
15529  bitField2_ |= 0x00000020;
15530  mergeNoOverlapWorkLimit_ = value;
15531  onChanged();
15532  return this;
15533  }
15547  bitField2_ = (bitField2_ & ~0x00000020);
15548  mergeNoOverlapWorkLimit_ = 1000000000000D;
15549  onChanged();
15550  return this;
15551  }
15552 
15553  private double mergeAtMostOneWorkLimit_ = 100000000D;
15558  @java.lang.Override
15559  public boolean hasMergeAtMostOneWorkLimit() {
15560  return ((bitField2_ & 0x00000040) != 0);
15561  }
15566  @java.lang.Override
15567  public double getMergeAtMostOneWorkLimit() {
15568  return mergeAtMostOneWorkLimit_;
15569  }
15575  public Builder setMergeAtMostOneWorkLimit(double value) {
15576  bitField2_ |= 0x00000040;
15577  mergeAtMostOneWorkLimit_ = value;
15578  onChanged();
15579  return this;
15580  }
15586  bitField2_ = (bitField2_ & ~0x00000040);
15587  mergeAtMostOneWorkLimit_ = 100000000D;
15588  onChanged();
15589  return this;
15590  }
15591 
15592  private int presolveSubstitutionLevel_ = 1;
15604  @java.lang.Override
15605  public boolean hasPresolveSubstitutionLevel() {
15606  return ((bitField2_ & 0x00000080) != 0);
15607  }
15619  @java.lang.Override
15621  return presolveSubstitutionLevel_;
15622  }
15636  bitField2_ |= 0x00000080;
15637  presolveSubstitutionLevel_ = value;
15638  onChanged();
15639  return this;
15640  }
15653  bitField2_ = (bitField2_ & ~0x00000080);
15654  presolveSubstitutionLevel_ = 1;
15655  onChanged();
15656  return this;
15657  }
15658 
15659  private boolean useOptimizationHints_ = true;
15671  @java.lang.Override
15672  public boolean hasUseOptimizationHints() {
15673  return ((bitField2_ & 0x00000100) != 0);
15674  }
15686  @java.lang.Override
15687  public boolean getUseOptimizationHints() {
15688  return useOptimizationHints_;
15689  }
15702  public Builder setUseOptimizationHints(boolean value) {
15703  bitField2_ |= 0x00000100;
15704  useOptimizationHints_ = value;
15705  onChanged();
15706  return this;
15707  }
15720  bitField2_ = (bitField2_ & ~0x00000100);
15721  useOptimizationHints_ = true;
15722  onChanged();
15723  return this;
15724  }
15725 
15726  private boolean minimizeCore_ = true;
15735  @java.lang.Override
15736  public boolean hasMinimizeCore() {
15737  return ((bitField2_ & 0x00000200) != 0);
15738  }
15747  @java.lang.Override
15748  public boolean getMinimizeCore() {
15749  return minimizeCore_;
15750  }
15760  public Builder setMinimizeCore(boolean value) {
15761  bitField2_ |= 0x00000200;
15762  minimizeCore_ = value;
15763  onChanged();
15764  return this;
15765  }
15775  bitField2_ = (bitField2_ & ~0x00000200);
15776  minimizeCore_ = true;
15777  onChanged();
15778  return this;
15779  }
15780 
15781  private boolean findMultipleCores_ = true;
15791  @java.lang.Override
15792  public boolean hasFindMultipleCores() {
15793  return ((bitField2_ & 0x00000400) != 0);
15794  }
15804  @java.lang.Override
15805  public boolean getFindMultipleCores() {
15806  return findMultipleCores_;
15807  }
15818  public Builder setFindMultipleCores(boolean value) {
15819  bitField2_ |= 0x00000400;
15820  findMultipleCores_ = value;
15821  onChanged();
15822  return this;
15823  }
15834  bitField2_ = (bitField2_ & ~0x00000400);
15835  findMultipleCores_ = true;
15836  onChanged();
15837  return this;
15838  }
15839 
15840  private boolean coverOptimization_ = true;
15850  @java.lang.Override
15851  public boolean hasCoverOptimization() {
15852  return ((bitField2_ & 0x00000800) != 0);
15853  }
15863  @java.lang.Override
15864  public boolean getCoverOptimization() {
15865  return coverOptimization_;
15866  }
15877  public Builder setCoverOptimization(boolean value) {
15878  bitField2_ |= 0x00000800;
15879  coverOptimization_ = value;
15880  onChanged();
15881  return this;
15882  }
15893  bitField2_ = (bitField2_ & ~0x00000800);
15894  coverOptimization_ = true;
15895  onChanged();
15896  return this;
15897  }
15898 
15899  private int maxSatAssumptionOrder_ = 0;
15904  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
15905  return ((bitField2_ & 0x00001000) != 0);
15906  }
15911  @java.lang.Override
15913  @SuppressWarnings("deprecation")
15916  }
15923  if (value == null) {
15924  throw new NullPointerException();
15925  }
15926  bitField2_ |= 0x00001000;
15927  maxSatAssumptionOrder_ = value.getNumber();
15928  onChanged();
15929  return this;
15930  }
15936  bitField2_ = (bitField2_ & ~0x00001000);
15937  maxSatAssumptionOrder_ = 0;
15938  onChanged();
15939  return this;
15940  }
15941 
15942  private boolean maxSatReverseAssumptionOrder_ ;
15952  @java.lang.Override
15954  return ((bitField2_ & 0x00002000) != 0);
15955  }
15965  @java.lang.Override
15967  return maxSatReverseAssumptionOrder_;
15968  }
15980  bitField2_ |= 0x00002000;
15981  maxSatReverseAssumptionOrder_ = value;
15982  onChanged();
15983  return this;
15984  }
15995  bitField2_ = (bitField2_ & ~0x00002000);
15996  maxSatReverseAssumptionOrder_ = false;
15997  onChanged();
15998  return this;
15999  }
16000 
16001  private int maxSatStratification_ = 1;
16006  @java.lang.Override public boolean hasMaxSatStratification() {
16007  return ((bitField2_ & 0x00004000) != 0);
16008  }
16013  @java.lang.Override
16015  @SuppressWarnings("deprecation")
16018  }
16025  if (value == null) {
16026  throw new NullPointerException();
16027  }
16028  bitField2_ |= 0x00004000;
16029  maxSatStratification_ = value.getNumber();
16030  onChanged();
16031  return this;
16032  }
16038  bitField2_ = (bitField2_ & ~0x00004000);
16039  maxSatStratification_ = 1;
16040  onChanged();
16041  return this;
16042  }
16043 
16044  private boolean usePrecedencesInDisjunctiveConstraint_ = true;
16060  @java.lang.Override
16062  return ((bitField2_ & 0x00008000) != 0);
16063  }
16079  @java.lang.Override
16081  return usePrecedencesInDisjunctiveConstraint_;
16082  }
16100  bitField2_ |= 0x00008000;
16101  usePrecedencesInDisjunctiveConstraint_ = value;
16102  onChanged();
16103  return this;
16104  }
16121  bitField2_ = (bitField2_ & ~0x00008000);
16122  usePrecedencesInDisjunctiveConstraint_ = true;
16123  onChanged();
16124  return this;
16125  }
16126 
16127  private boolean useOverloadCheckerInCumulativeConstraint_ ;
16141  @java.lang.Override
16143  return ((bitField2_ & 0x00010000) != 0);
16144  }
16158  @java.lang.Override
16160  return useOverloadCheckerInCumulativeConstraint_;
16161  }
16177  bitField2_ |= 0x00010000;
16178  useOverloadCheckerInCumulativeConstraint_ = value;
16179  onChanged();
16180  return this;
16181  }
16196  bitField2_ = (bitField2_ & ~0x00010000);
16197  useOverloadCheckerInCumulativeConstraint_ = false;
16198  onChanged();
16199  return this;
16200  }
16201 
16202  private boolean useTimetableEdgeFindingInCumulativeConstraint_ ;
16216  @java.lang.Override
16218  return ((bitField2_ & 0x00020000) != 0);
16219  }
16233  @java.lang.Override
16235  return useTimetableEdgeFindingInCumulativeConstraint_;
16236  }
16252  bitField2_ |= 0x00020000;
16253  useTimetableEdgeFindingInCumulativeConstraint_ = value;
16254  onChanged();
16255  return this;
16256  }
16271  bitField2_ = (bitField2_ & ~0x00020000);
16272  useTimetableEdgeFindingInCumulativeConstraint_ = false;
16273  onChanged();
16274  return this;
16275  }
16276 
16277  private boolean useDisjunctiveConstraintInCumulativeConstraint_ = true;
16293  @java.lang.Override
16295  return ((bitField2_ & 0x00040000) != 0);
16296  }
16312  @java.lang.Override
16314  return useDisjunctiveConstraintInCumulativeConstraint_;
16315  }
16333  bitField2_ |= 0x00040000;
16334  useDisjunctiveConstraintInCumulativeConstraint_ = value;
16335  onChanged();
16336  return this;
16337  }
16354  bitField2_ = (bitField2_ & ~0x00040000);
16355  useDisjunctiveConstraintInCumulativeConstraint_ = true;
16356  onChanged();
16357  return this;
16358  }
16359 
16360  private int linearizationLevel_ = 1;
16372  @java.lang.Override
16373  public boolean hasLinearizationLevel() {
16374  return ((bitField2_ & 0x00080000) != 0);
16375  }
16387  @java.lang.Override
16388  public int getLinearizationLevel() {
16389  return linearizationLevel_;
16390  }
16403  public Builder setLinearizationLevel(int value) {
16404  bitField2_ |= 0x00080000;
16405  linearizationLevel_ = value;
16406  onChanged();
16407  return this;
16408  }
16421  bitField2_ = (bitField2_ & ~0x00080000);
16422  linearizationLevel_ = 1;
16423  onChanged();
16424  return this;
16425  }
16426 
16427  private int booleanEncodingLevel_ = 1;
16437  @java.lang.Override
16438  public boolean hasBooleanEncodingLevel() {
16439  return ((bitField2_ & 0x00100000) != 0);
16440  }
16450  @java.lang.Override
16452  return booleanEncodingLevel_;
16453  }
16464  public Builder setBooleanEncodingLevel(int value) {
16465  bitField2_ |= 0x00100000;
16466  booleanEncodingLevel_ = value;
16467  onChanged();
16468  return this;
16469  }
16480  bitField2_ = (bitField2_ & ~0x00100000);
16481  booleanEncodingLevel_ = 1;
16482  onChanged();
16483  return this;
16484  }
16485 
16486  private int maxNumCuts_ = 10000;
16498  @java.lang.Override
16499  public boolean hasMaxNumCuts() {
16500  return ((bitField2_ & 0x00200000) != 0);
16501  }
16513  @java.lang.Override
16514  public int getMaxNumCuts() {
16515  return maxNumCuts_;
16516  }
16529  public Builder setMaxNumCuts(int value) {
16530  bitField2_ |= 0x00200000;
16531  maxNumCuts_ = value;
16532  onChanged();
16533  return this;
16534  }
16547  bitField2_ = (bitField2_ & ~0x00200000);
16548  maxNumCuts_ = 10000;
16549  onChanged();
16550  return this;
16551  }
16552 
16553  private boolean onlyAddCutsAtLevelZero_ ;
16563  @java.lang.Override
16564  public boolean hasOnlyAddCutsAtLevelZero() {
16565  return ((bitField2_ & 0x00400000) != 0);
16566  }
16576  @java.lang.Override
16577  public boolean getOnlyAddCutsAtLevelZero() {
16578  return onlyAddCutsAtLevelZero_;
16579  }
16590  public Builder setOnlyAddCutsAtLevelZero(boolean value) {
16591  bitField2_ |= 0x00400000;
16592  onlyAddCutsAtLevelZero_ = value;
16593  onChanged();
16594  return this;
16595  }
16606  bitField2_ = (bitField2_ & ~0x00400000);
16607  onlyAddCutsAtLevelZero_ = false;
16608  onChanged();
16609  return this;
16610  }
16611 
16612  private boolean addKnapsackCuts_ ;
16623  @java.lang.Override
16624  public boolean hasAddKnapsackCuts() {
16625  return ((bitField2_ & 0x00800000) != 0);
16626  }
16637  @java.lang.Override
16638  public boolean getAddKnapsackCuts() {
16639  return addKnapsackCuts_;
16640  }
16652  public Builder setAddKnapsackCuts(boolean value) {
16653  bitField2_ |= 0x00800000;
16654  addKnapsackCuts_ = value;
16655  onChanged();
16656  return this;
16657  }
16669  bitField2_ = (bitField2_ & ~0x00800000);
16670  addKnapsackCuts_ = false;
16671  onChanged();
16672  return this;
16673  }
16674 
16675  private boolean addCgCuts_ = true;
16685  @java.lang.Override
16686  public boolean hasAddCgCuts() {
16687  return ((bitField2_ & 0x01000000) != 0);
16688  }
16698  @java.lang.Override
16699  public boolean getAddCgCuts() {
16700  return addCgCuts_;
16701  }
16712  public Builder setAddCgCuts(boolean value) {
16713  bitField2_ |= 0x01000000;
16714  addCgCuts_ = value;
16715  onChanged();
16716  return this;
16717  }
16728  bitField2_ = (bitField2_ & ~0x01000000);
16729  addCgCuts_ = true;
16730  onChanged();
16731  return this;
16732  }
16733 
16734  private boolean addMirCuts_ = true;
16744  @java.lang.Override
16745  public boolean hasAddMirCuts() {
16746  return ((bitField2_ & 0x02000000) != 0);
16747  }
16757  @java.lang.Override
16758  public boolean getAddMirCuts() {
16759  return addMirCuts_;
16760  }
16771  public Builder setAddMirCuts(boolean value) {
16772  bitField2_ |= 0x02000000;
16773  addMirCuts_ = value;
16774  onChanged();
16775  return this;
16776  }
16787  bitField2_ = (bitField2_ & ~0x02000000);
16788  addMirCuts_ = true;
16789  onChanged();
16790  return this;
16791  }
16792 
16793  private boolean addZeroHalfCuts_ = true;
16803  @java.lang.Override
16804  public boolean hasAddZeroHalfCuts() {
16805  return ((bitField2_ & 0x04000000) != 0);
16806  }
16816  @java.lang.Override
16817  public boolean getAddZeroHalfCuts() {
16818  return addZeroHalfCuts_;
16819  }
16830  public Builder setAddZeroHalfCuts(boolean value) {
16831  bitField2_ |= 0x04000000;
16832  addZeroHalfCuts_ = value;
16833  onChanged();
16834  return this;
16835  }
16846  bitField2_ = (bitField2_ & ~0x04000000);
16847  addZeroHalfCuts_ = true;
16848  onChanged();
16849  return this;
16850  }
16851 
16852  private boolean addCliqueCuts_ = true;
16863  @java.lang.Override
16864  public boolean hasAddCliqueCuts() {
16865  return ((bitField2_ & 0x08000000) != 0);
16866  }
16877  @java.lang.Override
16878  public boolean getAddCliqueCuts() {
16879  return addCliqueCuts_;
16880  }
16892  public Builder setAddCliqueCuts(boolean value) {
16893  bitField2_ |= 0x08000000;
16894  addCliqueCuts_ = value;
16895  onChanged();
16896  return this;
16897  }
16909  bitField2_ = (bitField2_ & ~0x08000000);
16910  addCliqueCuts_ = true;
16911  onChanged();
16912  return this;
16913  }
16914 
16915  private int maxAllDiffCutSize_ = 7;
16926  @java.lang.Override
16927  public boolean hasMaxAllDiffCutSize() {
16928  return ((bitField2_ & 0x10000000) != 0);
16929  }
16940  @java.lang.Override
16941  public int getMaxAllDiffCutSize() {
16942  return maxAllDiffCutSize_;
16943  }
16955  public Builder setMaxAllDiffCutSize(int value) {
16956  bitField2_ |= 0x10000000;
16957  maxAllDiffCutSize_ = value;
16958  onChanged();
16959  return this;
16960  }
16972  bitField2_ = (bitField2_ & ~0x10000000);
16973  maxAllDiffCutSize_ = 7;
16974  onChanged();
16975  return this;
16976  }
16977 
16978  private boolean addLinMaxCuts_ = true;
16989  @java.lang.Override
16990  public boolean hasAddLinMaxCuts() {
16991  return ((bitField2_ & 0x20000000) != 0);
16992  }
17003  @java.lang.Override
17004  public boolean getAddLinMaxCuts() {
17005  return addLinMaxCuts_;
17006  }
17018  public Builder setAddLinMaxCuts(boolean value) {
17019  bitField2_ |= 0x20000000;
17020  addLinMaxCuts_ = value;
17021  onChanged();
17022  return this;
17023  }
17035  bitField2_ = (bitField2_ & ~0x20000000);
17036  addLinMaxCuts_ = true;
17037  onChanged();
17038  return this;
17039  }
17040 
17041  private int maxIntegerRoundingScaling_ = 600;
17056  @java.lang.Override
17057  public boolean hasMaxIntegerRoundingScaling() {
17058  return ((bitField2_ & 0x40000000) != 0);
17059  }
17074  @java.lang.Override
17076  return maxIntegerRoundingScaling_;
17077  }
17094  bitField2_ |= 0x40000000;
17095  maxIntegerRoundingScaling_ = value;
17096  onChanged();
17097  return this;
17098  }
17114  bitField2_ = (bitField2_ & ~0x40000000);
17115  maxIntegerRoundingScaling_ = 600;
17116  onChanged();
17117  return this;
17118  }
17119 
17120  private boolean addLpConstraintsLazily_ = true;
17132  @java.lang.Override
17133  public boolean hasAddLpConstraintsLazily() {
17134  return ((bitField2_ & 0x80000000) != 0);
17135  }
17147  @java.lang.Override
17148  public boolean getAddLpConstraintsLazily() {
17149  return addLpConstraintsLazily_;
17150  }
17163  public Builder setAddLpConstraintsLazily(boolean value) {
17164  bitField2_ |= 0x80000000;
17165  addLpConstraintsLazily_ = value;
17166  onChanged();
17167  return this;
17168  }
17181  bitField2_ = (bitField2_ & ~0x80000000);
17182  addLpConstraintsLazily_ = true;
17183  onChanged();
17184  return this;
17185  }
17186 
17187  private double minOrthogonalityForLpConstraints_ = 0.05D;
17200  @java.lang.Override
17202  return ((bitField3_ & 0x00000001) != 0);
17203  }
17216  @java.lang.Override
17218  return minOrthogonalityForLpConstraints_;
17219  }
17234  bitField3_ |= 0x00000001;
17235  minOrthogonalityForLpConstraints_ = value;
17236  onChanged();
17237  return this;
17238  }
17252  bitField3_ = (bitField3_ & ~0x00000001);
17253  minOrthogonalityForLpConstraints_ = 0.05D;
17254  onChanged();
17255  return this;
17256  }
17257 
17258  private int maxCutRoundsAtLevelZero_ = 1;
17267  @java.lang.Override
17268  public boolean hasMaxCutRoundsAtLevelZero() {
17269  return ((bitField3_ & 0x00000002) != 0);
17270  }
17279  @java.lang.Override
17281  return maxCutRoundsAtLevelZero_;
17282  }
17293  bitField3_ |= 0x00000002;
17294  maxCutRoundsAtLevelZero_ = value;
17295  onChanged();
17296  return this;
17297  }
17307  bitField3_ = (bitField3_ & ~0x00000002);
17308  maxCutRoundsAtLevelZero_ = 1;
17309  onChanged();
17310  return this;
17311  }
17312 
17313  private int maxConsecutiveInactiveCount_ = 100;
17324  @java.lang.Override
17326  return ((bitField3_ & 0x00000004) != 0);
17327  }
17338  @java.lang.Override
17340  return maxConsecutiveInactiveCount_;
17341  }
17354  bitField3_ |= 0x00000004;
17355  maxConsecutiveInactiveCount_ = value;
17356  onChanged();
17357  return this;
17358  }
17370  bitField3_ = (bitField3_ & ~0x00000004);
17371  maxConsecutiveInactiveCount_ = 100;
17372  onChanged();
17373  return this;
17374  }
17375 
17376  private double cutMaxActiveCountValue_ = 10000000000D;
17387  @java.lang.Override
17388  public boolean hasCutMaxActiveCountValue() {
17389  return ((bitField3_ & 0x00000008) != 0);
17390  }
17401  @java.lang.Override
17402  public double getCutMaxActiveCountValue() {
17403  return cutMaxActiveCountValue_;
17404  }
17416  public Builder setCutMaxActiveCountValue(double value) {
17417  bitField3_ |= 0x00000008;
17418  cutMaxActiveCountValue_ = value;
17419  onChanged();
17420  return this;
17421  }
17433  bitField3_ = (bitField3_ & ~0x00000008);
17434  cutMaxActiveCountValue_ = 10000000000D;
17435  onChanged();
17436  return this;
17437  }
17438 
17439  private double cutActiveCountDecay_ = 0.8D;
17444  @java.lang.Override
17445  public boolean hasCutActiveCountDecay() {
17446  return ((bitField3_ & 0x00000010) != 0);
17447  }
17452  @java.lang.Override
17453  public double getCutActiveCountDecay() {
17454  return cutActiveCountDecay_;
17455  }
17461  public Builder setCutActiveCountDecay(double value) {
17462  bitField3_ |= 0x00000010;
17463  cutActiveCountDecay_ = value;
17464  onChanged();
17465  return this;
17466  }
17472  bitField3_ = (bitField3_ & ~0x00000010);
17473  cutActiveCountDecay_ = 0.8D;
17474  onChanged();
17475  return this;
17476  }
17477 
17478  private int cutCleanupTarget_ = 1000;
17487  @java.lang.Override
17488  public boolean hasCutCleanupTarget() {
17489  return ((bitField3_ & 0x00000020) != 0);
17490  }
17499  @java.lang.Override
17500  public int getCutCleanupTarget() {
17501  return cutCleanupTarget_;
17502  }
17512  public Builder setCutCleanupTarget(int value) {
17513  bitField3_ |= 0x00000020;
17514  cutCleanupTarget_ = value;
17515  onChanged();
17516  return this;
17517  }
17527  bitField3_ = (bitField3_ & ~0x00000020);
17528  cutCleanupTarget_ = 1000;
17529  onChanged();
17530  return this;
17531  }
17532 
17533  private int newConstraintsBatchSize_ = 50;
17543  @java.lang.Override
17544  public boolean hasNewConstraintsBatchSize() {
17545  return ((bitField3_ & 0x00000040) != 0);
17546  }
17556  @java.lang.Override
17558  return newConstraintsBatchSize_;
17559  }
17571  bitField3_ |= 0x00000040;
17572  newConstraintsBatchSize_ = value;
17573  onChanged();
17574  return this;
17575  }
17586  bitField3_ = (bitField3_ & ~0x00000040);
17587  newConstraintsBatchSize_ = 50;
17588  onChanged();
17589  return this;
17590  }
17591 
17592  private int searchBranching_ = 0;
17597  @java.lang.Override public boolean hasSearchBranching() {
17598  return ((bitField3_ & 0x00000080) != 0);
17599  }
17604  @java.lang.Override
17606  @SuppressWarnings("deprecation")
17608  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
17609  }
17616  if (value == null) {
17617  throw new NullPointerException();
17618  }
17619  bitField3_ |= 0x00000080;
17620  searchBranching_ = value.getNumber();
17621  onChanged();
17622  return this;
17623  }
17629  bitField3_ = (bitField3_ & ~0x00000080);
17630  searchBranching_ = 0;
17631  onChanged();
17632  return this;
17633  }
17634 
17635  private int hintConflictLimit_ = 10;
17644  @java.lang.Override
17645  public boolean hasHintConflictLimit() {
17646  return ((bitField3_ & 0x00000100) != 0);
17647  }
17656  @java.lang.Override
17657  public int getHintConflictLimit() {
17658  return hintConflictLimit_;
17659  }
17669  public Builder setHintConflictLimit(int value) {
17670  bitField3_ |= 0x00000100;
17671  hintConflictLimit_ = value;
17672  onChanged();
17673  return this;
17674  }
17684  bitField3_ = (bitField3_ & ~0x00000100);
17685  hintConflictLimit_ = 10;
17686  onChanged();
17687  return this;
17688  }
17689 
17690  private boolean repairHint_ ;
17702  @java.lang.Override
17703  public boolean hasRepairHint() {
17704  return ((bitField3_ & 0x00000200) != 0);
17705  }
17717  @java.lang.Override
17718  public boolean getRepairHint() {
17719  return repairHint_;
17720  }
17733  public Builder setRepairHint(boolean value) {
17734  bitField3_ |= 0x00000200;
17735  repairHint_ = value;
17736  onChanged();
17737  return this;
17738  }
17751  bitField3_ = (bitField3_ & ~0x00000200);
17752  repairHint_ = false;
17753  onChanged();
17754  return this;
17755  }
17756 
17757  private boolean exploitIntegerLpSolution_ = true;
17769  @java.lang.Override
17770  public boolean hasExploitIntegerLpSolution() {
17771  return ((bitField3_ & 0x00000400) != 0);
17772  }
17784  @java.lang.Override
17785  public boolean getExploitIntegerLpSolution() {
17786  return exploitIntegerLpSolution_;
17787  }
17800  public Builder setExploitIntegerLpSolution(boolean value) {
17801  bitField3_ |= 0x00000400;
17802  exploitIntegerLpSolution_ = value;
17803  onChanged();
17804  return this;
17805  }
17818  bitField3_ = (bitField3_ & ~0x00000400);
17819  exploitIntegerLpSolution_ = true;
17820  onChanged();
17821  return this;
17822  }
17823 
17824  private boolean exploitAllLpSolution_ = true;
17835  @java.lang.Override
17836  public boolean hasExploitAllLpSolution() {
17837  return ((bitField3_ & 0x00000800) != 0);
17838  }
17849  @java.lang.Override
17850  public boolean getExploitAllLpSolution() {
17851  return exploitAllLpSolution_;
17852  }
17864  public Builder setExploitAllLpSolution(boolean value) {
17865  bitField3_ |= 0x00000800;
17866  exploitAllLpSolution_ = value;
17867  onChanged();
17868  return this;
17869  }
17881  bitField3_ = (bitField3_ & ~0x00000800);
17882  exploitAllLpSolution_ = true;
17883  onChanged();
17884  return this;
17885  }
17886 
17887  private boolean exploitBestSolution_ ;
17896  @java.lang.Override
17897  public boolean hasExploitBestSolution() {
17898  return ((bitField3_ & 0x00001000) != 0);
17899  }
17908  @java.lang.Override
17909  public boolean getExploitBestSolution() {
17910  return exploitBestSolution_;
17911  }
17921  public Builder setExploitBestSolution(boolean value) {
17922  bitField3_ |= 0x00001000;
17923  exploitBestSolution_ = value;
17924  onChanged();
17925  return this;
17926  }
17936  bitField3_ = (bitField3_ & ~0x00001000);
17937  exploitBestSolution_ = false;
17938  onChanged();
17939  return this;
17940  }
17941 
17942  private boolean exploitRelaxationSolution_ ;
17953  @java.lang.Override
17954  public boolean hasExploitRelaxationSolution() {
17955  return ((bitField3_ & 0x00002000) != 0);
17956  }
17967  @java.lang.Override
17968  public boolean getExploitRelaxationSolution() {
17969  return exploitRelaxationSolution_;
17970  }
17982  public Builder setExploitRelaxationSolution(boolean value) {
17983  bitField3_ |= 0x00002000;
17984  exploitRelaxationSolution_ = value;
17985  onChanged();
17986  return this;
17987  }
17999  bitField3_ = (bitField3_ & ~0x00002000);
18000  exploitRelaxationSolution_ = false;
18001  onChanged();
18002  return this;
18003  }
18004 
18005  private boolean exploitObjective_ = true;
18015  @java.lang.Override
18016  public boolean hasExploitObjective() {
18017  return ((bitField3_ & 0x00004000) != 0);
18018  }
18028  @java.lang.Override
18029  public boolean getExploitObjective() {
18030  return exploitObjective_;
18031  }
18042  public Builder setExploitObjective(boolean value) {
18043  bitField3_ |= 0x00004000;
18044  exploitObjective_ = value;
18045  onChanged();
18046  return this;
18047  }
18058  bitField3_ = (bitField3_ & ~0x00004000);
18059  exploitObjective_ = true;
18060  onChanged();
18061  return this;
18062  }
18063 
18064  private long probingPeriodAtRoot_ ;
18075  @java.lang.Override
18076  public boolean hasProbingPeriodAtRoot() {
18077  return ((bitField3_ & 0x00008000) != 0);
18078  }
18089  @java.lang.Override
18090  public long getProbingPeriodAtRoot() {
18091  return probingPeriodAtRoot_;
18092  }
18104  public Builder setProbingPeriodAtRoot(long value) {
18105  bitField3_ |= 0x00008000;
18106  probingPeriodAtRoot_ = value;
18107  onChanged();
18108  return this;
18109  }
18121  bitField3_ = (bitField3_ & ~0x00008000);
18122  probingPeriodAtRoot_ = 0L;
18123  onChanged();
18124  return this;
18125  }
18126 
18127  private long pseudoCostReliabilityThreshold_ = 100L;
18137  @java.lang.Override
18139  return ((bitField3_ & 0x00010000) != 0);
18140  }
18150  @java.lang.Override
18152  return pseudoCostReliabilityThreshold_;
18153  }
18165  bitField3_ |= 0x00010000;
18166  pseudoCostReliabilityThreshold_ = value;
18167  onChanged();
18168  return this;
18169  }
18180  bitField3_ = (bitField3_ & ~0x00010000);
18181  pseudoCostReliabilityThreshold_ = 100L;
18182  onChanged();
18183  return this;
18184  }
18185 
18186  private boolean optimizeWithCore_ ;
18198  @java.lang.Override
18199  public boolean hasOptimizeWithCore() {
18200  return ((bitField3_ & 0x00020000) != 0);
18201  }
18213  @java.lang.Override
18214  public boolean getOptimizeWithCore() {
18215  return optimizeWithCore_;
18216  }
18229  public Builder setOptimizeWithCore(boolean value) {
18230  bitField3_ |= 0x00020000;
18231  optimizeWithCore_ = value;
18232  onChanged();
18233  return this;
18234  }
18247  bitField3_ = (bitField3_ & ~0x00020000);
18248  optimizeWithCore_ = false;
18249  onChanged();
18250  return this;
18251  }
18252 
18253  private int binarySearchNumConflicts_ = -1;
18265  @java.lang.Override
18266  public boolean hasBinarySearchNumConflicts() {
18267  return ((bitField3_ & 0x00040000) != 0);
18268  }
18280  @java.lang.Override
18282  return binarySearchNumConflicts_;
18283  }
18297  bitField3_ |= 0x00040000;
18298  binarySearchNumConflicts_ = value;
18299  onChanged();
18300  return this;
18301  }
18314  bitField3_ = (bitField3_ & ~0x00040000);
18315  binarySearchNumConflicts_ = -1;
18316  onChanged();
18317  return this;
18318  }
18319 
18320  private boolean optimizeWithMaxHs_ ;
18334  @java.lang.Override
18335  public boolean hasOptimizeWithMaxHs() {
18336  return ((bitField3_ & 0x00080000) != 0);
18337  }
18351  @java.lang.Override
18352  public boolean getOptimizeWithMaxHs() {
18353  return optimizeWithMaxHs_;
18354  }
18369  public Builder setOptimizeWithMaxHs(boolean value) {
18370  bitField3_ |= 0x00080000;
18371  optimizeWithMaxHs_ = value;
18372  onChanged();
18373  return this;
18374  }
18389  bitField3_ = (bitField3_ & ~0x00080000);
18390  optimizeWithMaxHs_ = false;
18391  onChanged();
18392  return this;
18393  }
18394 
18395  private boolean enumerateAllSolutions_ ;
18409  @java.lang.Override
18410  public boolean hasEnumerateAllSolutions() {
18411  return ((bitField3_ & 0x00100000) != 0);
18412  }
18426  @java.lang.Override
18427  public boolean getEnumerateAllSolutions() {
18428  return enumerateAllSolutions_;
18429  }
18444  public Builder setEnumerateAllSolutions(boolean value) {
18445  bitField3_ |= 0x00100000;
18446  enumerateAllSolutions_ = value;
18447  onChanged();
18448  return this;
18449  }
18464  bitField3_ = (bitField3_ & ~0x00100000);
18465  enumerateAllSolutions_ = false;
18466  onChanged();
18467  return this;
18468  }
18469 
18470  private boolean fillTightenedDomainsInResponse_ ;
18483  @java.lang.Override
18485  return ((bitField3_ & 0x00200000) != 0);
18486  }
18499  @java.lang.Override
18501  return fillTightenedDomainsInResponse_;
18502  }
18517  bitField3_ |= 0x00200000;
18518  fillTightenedDomainsInResponse_ = value;
18519  onChanged();
18520  return this;
18521  }
18535  bitField3_ = (bitField3_ & ~0x00200000);
18536  fillTightenedDomainsInResponse_ = false;
18537  onChanged();
18538  return this;
18539  }
18540 
18541  private boolean instantiateAllVariables_ = true;
18551  @java.lang.Override
18552  public boolean hasInstantiateAllVariables() {
18553  return ((bitField3_ & 0x00400000) != 0);
18554  }
18564  @java.lang.Override
18565  public boolean getInstantiateAllVariables() {
18566  return instantiateAllVariables_;
18567  }
18578  public Builder setInstantiateAllVariables(boolean value) {
18579  bitField3_ |= 0x00400000;
18580  instantiateAllVariables_ = value;
18581  onChanged();
18582  return this;
18583  }
18594  bitField3_ = (bitField3_ & ~0x00400000);
18595  instantiateAllVariables_ = true;
18596  onChanged();
18597  return this;
18598  }
18599 
18600  private boolean autoDetectGreaterThanAtLeastOneOf_ = true;
18612  @java.lang.Override
18614  return ((bitField3_ & 0x00800000) != 0);
18615  }
18627  @java.lang.Override
18629  return autoDetectGreaterThanAtLeastOneOf_;
18630  }
18644  bitField3_ |= 0x00800000;
18645  autoDetectGreaterThanAtLeastOneOf_ = value;
18646  onChanged();
18647  return this;
18648  }
18661  bitField3_ = (bitField3_ & ~0x00800000);
18662  autoDetectGreaterThanAtLeastOneOf_ = true;
18663  onChanged();
18664  return this;
18665  }
18666 
18667  private boolean stopAfterFirstSolution_ ;
18676  @java.lang.Override
18677  public boolean hasStopAfterFirstSolution() {
18678  return ((bitField3_ & 0x01000000) != 0);
18679  }
18688  @java.lang.Override
18689  public boolean getStopAfterFirstSolution() {
18690  return stopAfterFirstSolution_;
18691  }
18701  public Builder setStopAfterFirstSolution(boolean value) {
18702  bitField3_ |= 0x01000000;
18703  stopAfterFirstSolution_ = value;
18704  onChanged();
18705  return this;
18706  }
18716  bitField3_ = (bitField3_ & ~0x01000000);
18717  stopAfterFirstSolution_ = false;
18718  onChanged();
18719  return this;
18720  }
18721 
18722  private boolean stopAfterPresolve_ ;
18732  @java.lang.Override
18733  public boolean hasStopAfterPresolve() {
18734  return ((bitField3_ & 0x02000000) != 0);
18735  }
18745  @java.lang.Override
18746  public boolean getStopAfterPresolve() {
18747  return stopAfterPresolve_;
18748  }
18759  public Builder setStopAfterPresolve(boolean value) {
18760  bitField3_ |= 0x02000000;
18761  stopAfterPresolve_ = value;
18762  onChanged();
18763  return this;
18764  }
18775  bitField3_ = (bitField3_ & ~0x02000000);
18776  stopAfterPresolve_ = false;
18777  onChanged();
18778  return this;
18779  }
18780 
18781  private int numSearchWorkers_ = 1;
18795  @java.lang.Override
18796  public boolean hasNumSearchWorkers() {
18797  return ((bitField3_ & 0x04000000) != 0);
18798  }
18812  @java.lang.Override
18813  public int getNumSearchWorkers() {
18814  return numSearchWorkers_;
18815  }
18830  public Builder setNumSearchWorkers(int value) {
18831  bitField3_ |= 0x04000000;
18832  numSearchWorkers_ = value;
18833  onChanged();
18834  return this;
18835  }
18850  bitField3_ = (bitField3_ & ~0x04000000);
18851  numSearchWorkers_ = 1;
18852  onChanged();
18853  return this;
18854  }
18855 
18856  private boolean interleaveSearch_ ;
18869  @java.lang.Override
18870  public boolean hasInterleaveSearch() {
18871  return ((bitField3_ & 0x08000000) != 0);
18872  }
18885  @java.lang.Override
18886  public boolean getInterleaveSearch() {
18887  return interleaveSearch_;
18888  }
18902  public Builder setInterleaveSearch(boolean value) {
18903  bitField3_ |= 0x08000000;
18904  interleaveSearch_ = value;
18905  onChanged();
18906  return this;
18907  }
18921  bitField3_ = (bitField3_ & ~0x08000000);
18922  interleaveSearch_ = false;
18923  onChanged();
18924  return this;
18925  }
18926 
18927  private int interleaveBatchSize_ = 1;
18932  @java.lang.Override
18933  public boolean hasInterleaveBatchSize() {
18934  return ((bitField3_ & 0x10000000) != 0);
18935  }
18940  @java.lang.Override
18941  public int getInterleaveBatchSize() {
18942  return interleaveBatchSize_;
18943  }
18949  public Builder setInterleaveBatchSize(int value) {
18950  bitField3_ |= 0x10000000;
18951  interleaveBatchSize_ = value;
18952  onChanged();
18953  return this;
18954  }
18960  bitField3_ = (bitField3_ & ~0x10000000);
18961  interleaveBatchSize_ = 1;
18962  onChanged();
18963  return this;
18964  }
18965 
18966  private boolean reduceMemoryUsageInInterleaveMode_ ;
18975  @java.lang.Override
18977  return ((bitField3_ & 0x20000000) != 0);
18978  }
18987  @java.lang.Override
18989  return reduceMemoryUsageInInterleaveMode_;
18990  }
19001  bitField3_ |= 0x20000000;
19002  reduceMemoryUsageInInterleaveMode_ = value;
19003  onChanged();
19004  return this;
19005  }
19015  bitField3_ = (bitField3_ & ~0x20000000);
19016  reduceMemoryUsageInInterleaveMode_ = false;
19017  onChanged();
19018  return this;
19019  }
19020 
19021  private boolean shareObjectiveBounds_ = true;
19030  @java.lang.Override
19031  public boolean hasShareObjectiveBounds() {
19032  return ((bitField3_ & 0x40000000) != 0);
19033  }
19042  @java.lang.Override
19043  public boolean getShareObjectiveBounds() {
19044  return shareObjectiveBounds_;
19045  }
19055  public Builder setShareObjectiveBounds(boolean value) {
19056  bitField3_ |= 0x40000000;
19057  shareObjectiveBounds_ = value;
19058  onChanged();
19059  return this;
19060  }
19070  bitField3_ = (bitField3_ & ~0x40000000);
19071  shareObjectiveBounds_ = true;
19072  onChanged();
19073  return this;
19074  }
19075 
19076  private boolean shareLevelZeroBounds_ = true;
19085  @java.lang.Override
19086  public boolean hasShareLevelZeroBounds() {
19087  return ((bitField3_ & 0x80000000) != 0);
19088  }
19097  @java.lang.Override
19098  public boolean getShareLevelZeroBounds() {
19099  return shareLevelZeroBounds_;
19100  }
19110  public Builder setShareLevelZeroBounds(boolean value) {
19111  bitField3_ |= 0x80000000;
19112  shareLevelZeroBounds_ = value;
19113  onChanged();
19114  return this;
19115  }
19125  bitField3_ = (bitField3_ & ~0x80000000);
19126  shareLevelZeroBounds_ = true;
19127  onChanged();
19128  return this;
19129  }
19130 
19131  private boolean useLnsOnly_ ;
19140  @java.lang.Override
19141  public boolean hasUseLnsOnly() {
19142  return ((bitField4_ & 0x00000001) != 0);
19143  }
19152  @java.lang.Override
19153  public boolean getUseLnsOnly() {
19154  return useLnsOnly_;
19155  }
19165  public Builder setUseLnsOnly(boolean value) {
19166  bitField4_ |= 0x00000001;
19167  useLnsOnly_ = value;
19168  onChanged();
19169  return this;
19170  }
19180  bitField4_ = (bitField4_ & ~0x00000001);
19181  useLnsOnly_ = false;
19182  onChanged();
19183  return this;
19184  }
19185 
19186  private boolean lnsFocusOnDecisionVariables_ ;
19191  @java.lang.Override
19193  return ((bitField4_ & 0x00000002) != 0);
19194  }
19199  @java.lang.Override
19201  return lnsFocusOnDecisionVariables_;
19202  }
19208  public Builder setLnsFocusOnDecisionVariables(boolean value) {
19209  bitField4_ |= 0x00000002;
19210  lnsFocusOnDecisionVariables_ = value;
19211  onChanged();
19212  return this;
19213  }
19219  bitField4_ = (bitField4_ & ~0x00000002);
19220  lnsFocusOnDecisionVariables_ = false;
19221  onChanged();
19222  return this;
19223  }
19224 
19225  private boolean useRinsLns_ = true;
19234  @java.lang.Override
19235  public boolean hasUseRinsLns() {
19236  return ((bitField4_ & 0x00000004) != 0);
19237  }
19246  @java.lang.Override
19247  public boolean getUseRinsLns() {
19248  return useRinsLns_;
19249  }
19259  public Builder setUseRinsLns(boolean value) {
19260  bitField4_ |= 0x00000004;
19261  useRinsLns_ = value;
19262  onChanged();
19263  return this;
19264  }
19274  bitField4_ = (bitField4_ & ~0x00000004);
19275  useRinsLns_ = true;
19276  onChanged();
19277  return this;
19278  }
19279 
19280  private boolean useFeasibilityPump_ = true;
19289  @java.lang.Override
19290  public boolean hasUseFeasibilityPump() {
19291  return ((bitField4_ & 0x00000008) != 0);
19292  }
19301  @java.lang.Override
19302  public boolean getUseFeasibilityPump() {
19303  return useFeasibilityPump_;
19304  }
19314  public Builder setUseFeasibilityPump(boolean value) {
19315  bitField4_ |= 0x00000008;
19316  useFeasibilityPump_ = value;
19317  onChanged();
19318  return this;
19319  }
19329  bitField4_ = (bitField4_ & ~0x00000008);
19330  useFeasibilityPump_ = true;
19331  onChanged();
19332  return this;
19333  }
19334 
19335  private int fpRounding_ = 2;
19340  @java.lang.Override public boolean hasFpRounding() {
19341  return ((bitField4_ & 0x00000010) != 0);
19342  }
19347  @java.lang.Override
19349  @SuppressWarnings("deprecation")
19351  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
19352  }
19359  if (value == null) {
19360  throw new NullPointerException();
19361  }
19362  bitField4_ |= 0x00000010;
19363  fpRounding_ = value.getNumber();
19364  onChanged();
19365  return this;
19366  }
19372  bitField4_ = (bitField4_ & ~0x00000010);
19373  fpRounding_ = 2;
19374  onChanged();
19375  return this;
19376  }
19377 
19378  private boolean useRelaxationLns_ ;
19388  @java.lang.Override
19389  public boolean hasUseRelaxationLns() {
19390  return ((bitField4_ & 0x00000020) != 0);
19391  }
19401  @java.lang.Override
19402  public boolean getUseRelaxationLns() {
19403  return useRelaxationLns_;
19404  }
19415  public Builder setUseRelaxationLns(boolean value) {
19416  bitField4_ |= 0x00000020;
19417  useRelaxationLns_ = value;
19418  onChanged();
19419  return this;
19420  }
19431  bitField4_ = (bitField4_ & ~0x00000020);
19432  useRelaxationLns_ = false;
19433  onChanged();
19434  return this;
19435  }
19436 
19437  private boolean diversifyLnsParams_ ;
19446  @java.lang.Override
19447  public boolean hasDiversifyLnsParams() {
19448  return ((bitField4_ & 0x00000040) != 0);
19449  }
19458  @java.lang.Override
19459  public boolean getDiversifyLnsParams() {
19460  return diversifyLnsParams_;
19461  }
19471  public Builder setDiversifyLnsParams(boolean value) {
19472  bitField4_ |= 0x00000040;
19473  diversifyLnsParams_ = value;
19474  onChanged();
19475  return this;
19476  }
19486  bitField4_ = (bitField4_ & ~0x00000040);
19487  diversifyLnsParams_ = false;
19488  onChanged();
19489  return this;
19490  }
19491 
19492  private boolean randomizeSearch_ ;
19501  @java.lang.Override
19502  public boolean hasRandomizeSearch() {
19503  return ((bitField4_ & 0x00000080) != 0);
19504  }
19513  @java.lang.Override
19514  public boolean getRandomizeSearch() {
19515  return randomizeSearch_;
19516  }
19526  public Builder setRandomizeSearch(boolean value) {
19527  bitField4_ |= 0x00000080;
19528  randomizeSearch_ = value;
19529  onChanged();
19530  return this;
19531  }
19541  bitField4_ = (bitField4_ & ~0x00000080);
19542  randomizeSearch_ = false;
19543  onChanged();
19544  return this;
19545  }
19546 
19547  private long searchRandomizationTolerance_ ;
19562  @java.lang.Override
19564  return ((bitField4_ & 0x00000100) != 0);
19565  }
19580  @java.lang.Override
19582  return searchRandomizationTolerance_;
19583  }
19600  bitField4_ |= 0x00000100;
19601  searchRandomizationTolerance_ = value;
19602  onChanged();
19603  return this;
19604  }
19620  bitField4_ = (bitField4_ & ~0x00000100);
19621  searchRandomizationTolerance_ = 0L;
19622  onChanged();
19623  return this;
19624  }
19625 
19626  private boolean useOptionalVariables_ = true;
19637  @java.lang.Override
19638  public boolean hasUseOptionalVariables() {
19639  return ((bitField4_ & 0x00000200) != 0);
19640  }
19651  @java.lang.Override
19652  public boolean getUseOptionalVariables() {
19653  return useOptionalVariables_;
19654  }
19666  public Builder setUseOptionalVariables(boolean value) {
19667  bitField4_ |= 0x00000200;
19668  useOptionalVariables_ = value;
19669  onChanged();
19670  return this;
19671  }
19683  bitField4_ = (bitField4_ & ~0x00000200);
19684  useOptionalVariables_ = true;
19685  onChanged();
19686  return this;
19687  }
19688 
19689  private boolean useExactLpReason_ = true;
19701  @java.lang.Override
19702  public boolean hasUseExactLpReason() {
19703  return ((bitField4_ & 0x00000400) != 0);
19704  }
19716  @java.lang.Override
19717  public boolean getUseExactLpReason() {
19718  return useExactLpReason_;
19719  }
19732  public Builder setUseExactLpReason(boolean value) {
19733  bitField4_ |= 0x00000400;
19734  useExactLpReason_ = value;
19735  onChanged();
19736  return this;
19737  }
19750  bitField4_ = (bitField4_ & ~0x00000400);
19751  useExactLpReason_ = true;
19752  onChanged();
19753  return this;
19754  }
19755 
19756  private boolean useBranchingInLp_ ;
19767  @java.lang.Override
19768  public boolean hasUseBranchingInLp() {
19769  return ((bitField4_ & 0x00000800) != 0);
19770  }
19781  @java.lang.Override
19782  public boolean getUseBranchingInLp() {
19783  return useBranchingInLp_;
19784  }
19796  public Builder setUseBranchingInLp(boolean value) {
19797  bitField4_ |= 0x00000800;
19798  useBranchingInLp_ = value;
19799  onChanged();
19800  return this;
19801  }
19813  bitField4_ = (bitField4_ & ~0x00000800);
19814  useBranchingInLp_ = false;
19815  onChanged();
19816  return this;
19817  }
19818 
19819  private boolean useCombinedNoOverlap_ ;
19830  @java.lang.Override
19831  public boolean hasUseCombinedNoOverlap() {
19832  return ((bitField4_ & 0x00001000) != 0);
19833  }
19844  @java.lang.Override
19845  public boolean getUseCombinedNoOverlap() {
19846  return useCombinedNoOverlap_;
19847  }
19859  public Builder setUseCombinedNoOverlap(boolean value) {
19860  bitField4_ |= 0x00001000;
19861  useCombinedNoOverlap_ = value;
19862  onChanged();
19863  return this;
19864  }
19876  bitField4_ = (bitField4_ & ~0x00001000);
19877  useCombinedNoOverlap_ = false;
19878  onChanged();
19879  return this;
19880  }
19881 
19882  private boolean catchSigintSignal_ = true;
19893  @java.lang.Override
19894  public boolean hasCatchSigintSignal() {
19895  return ((bitField4_ & 0x00002000) != 0);
19896  }
19907  @java.lang.Override
19908  public boolean getCatchSigintSignal() {
19909  return catchSigintSignal_;
19910  }
19922  public Builder setCatchSigintSignal(boolean value) {
19923  bitField4_ |= 0x00002000;
19924  catchSigintSignal_ = value;
19925  onChanged();
19926  return this;
19927  }
19939  bitField4_ = (bitField4_ & ~0x00002000);
19940  catchSigintSignal_ = true;
19941  onChanged();
19942  return this;
19943  }
19944 
19945  private boolean useImpliedBounds_ = true;
19956  @java.lang.Override
19957  public boolean hasUseImpliedBounds() {
19958  return ((bitField4_ & 0x00004000) != 0);
19959  }
19970  @java.lang.Override
19971  public boolean getUseImpliedBounds() {
19972  return useImpliedBounds_;
19973  }
19985  public Builder setUseImpliedBounds(boolean value) {
19986  bitField4_ |= 0x00004000;
19987  useImpliedBounds_ = value;
19988  onChanged();
19989  return this;
19990  }
20002  bitField4_ = (bitField4_ & ~0x00004000);
20003  useImpliedBounds_ = true;
20004  onChanged();
20005  return this;
20006  }
20007 
20008  private double mipMaxBound_ = 10000000D;
20019  @java.lang.Override
20020  public boolean hasMipMaxBound() {
20021  return ((bitField4_ & 0x00008000) != 0);
20022  }
20033  @java.lang.Override
20034  public double getMipMaxBound() {
20035  return mipMaxBound_;
20036  }
20048  public Builder setMipMaxBound(double value) {
20049  bitField4_ |= 0x00008000;
20050  mipMaxBound_ = value;
20051  onChanged();
20052  return this;
20053  }
20065  bitField4_ = (bitField4_ & ~0x00008000);
20066  mipMaxBound_ = 10000000D;
20067  onChanged();
20068  return this;
20069  }
20070 
20071  private double mipVarScaling_ = 1D;
20082  @java.lang.Override
20083  public boolean hasMipVarScaling() {
20084  return ((bitField4_ & 0x00010000) != 0);
20085  }
20096  @java.lang.Override
20097  public double getMipVarScaling() {
20098  return mipVarScaling_;
20099  }
20111  public Builder setMipVarScaling(double value) {
20112  bitField4_ |= 0x00010000;
20113  mipVarScaling_ = value;
20114  onChanged();
20115  return this;
20116  }
20128  bitField4_ = (bitField4_ & ~0x00010000);
20129  mipVarScaling_ = 1D;
20130  onChanged();
20131  return this;
20132  }
20133 
20134  private boolean mipAutomaticallyScaleVariables_ = true;
20147  @java.lang.Override
20149  return ((bitField4_ & 0x00020000) != 0);
20150  }
20163  @java.lang.Override
20165  return mipAutomaticallyScaleVariables_;
20166  }
20181  bitField4_ |= 0x00020000;
20182  mipAutomaticallyScaleVariables_ = value;
20183  onChanged();
20184  return this;
20185  }
20199  bitField4_ = (bitField4_ & ~0x00020000);
20200  mipAutomaticallyScaleVariables_ = true;
20201  onChanged();
20202  return this;
20203  }
20204 
20205  private double mipWantedPrecision_ = 1e-06D;
20222  @java.lang.Override
20223  public boolean hasMipWantedPrecision() {
20224  return ((bitField4_ & 0x00040000) != 0);
20225  }
20242  @java.lang.Override
20243  public double getMipWantedPrecision() {
20244  return mipWantedPrecision_;
20245  }
20263  public Builder setMipWantedPrecision(double value) {
20264  bitField4_ |= 0x00040000;
20265  mipWantedPrecision_ = value;
20266  onChanged();
20267  return this;
20268  }
20286  bitField4_ = (bitField4_ & ~0x00040000);
20287  mipWantedPrecision_ = 1e-06D;
20288  onChanged();
20289  return this;
20290  }
20291 
20292  private int mipMaxActivityExponent_ = 53;
20307  @java.lang.Override
20308  public boolean hasMipMaxActivityExponent() {
20309  return ((bitField4_ & 0x00080000) != 0);
20310  }
20325  @java.lang.Override
20327  return mipMaxActivityExponent_;
20328  }
20345  bitField4_ |= 0x00080000;
20346  mipMaxActivityExponent_ = value;
20347  onChanged();
20348  return this;
20349  }
20365  bitField4_ = (bitField4_ & ~0x00080000);
20366  mipMaxActivityExponent_ = 53;
20367  onChanged();
20368  return this;
20369  }
20370 
20371  private double mipCheckPrecision_ = 0.001D;
20384  @java.lang.Override
20385  public boolean hasMipCheckPrecision() {
20386  return ((bitField4_ & 0x00100000) != 0);
20387  }
20400  @java.lang.Override
20401  public double getMipCheckPrecision() {
20402  return mipCheckPrecision_;
20403  }
20417  public Builder setMipCheckPrecision(double value) {
20418  bitField4_ |= 0x00100000;
20419  mipCheckPrecision_ = value;
20420  onChanged();
20421  return this;
20422  }
20436  bitField4_ = (bitField4_ & ~0x00100000);
20437  mipCheckPrecision_ = 0.001D;
20438  onChanged();
20439  return this;
20440  }
20441  @java.lang.Override
20443  final com.google.protobuf.UnknownFieldSet unknownFields) {
20444  return super.setUnknownFields(unknownFields);
20445  }
20446 
20447  @java.lang.Override
20449  final com.google.protobuf.UnknownFieldSet unknownFields) {
20450  return super.mergeUnknownFields(unknownFields);
20451  }
20452 
20453 
20454  // @@protoc_insertion_point(builder_scope:operations_research.sat.SatParameters)
20455  }
20456 
20457  // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
20458  private static final com.google.ortools.sat.SatParameters DEFAULT_INSTANCE;
20459  static {
20460  DEFAULT_INSTANCE = new com.google.ortools.sat.SatParameters();
20461  }
20462 
20464  return DEFAULT_INSTANCE;
20465  }
20466 
20467  @java.lang.Deprecated public static final com.google.protobuf.Parser<SatParameters>
20468  PARSER = new com.google.protobuf.AbstractParser<SatParameters>() {
20469  @java.lang.Override
20470  public SatParameters parsePartialFrom(
20471  com.google.protobuf.CodedInputStream input,
20472  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
20473  throws com.google.protobuf.InvalidProtocolBufferException {
20474  return new SatParameters(input, extensionRegistry);
20475  }
20476  };
20477 
20478  public static com.google.protobuf.Parser<SatParameters> parser() {
20479  return PARSER;
20480  }
20481 
20482  @java.lang.Override
20483  public com.google.protobuf.Parser<SatParameters> getParserForType() {
20484  return PARSER;
20485  }
20486 
20487  @java.lang.Override
20489  return DEFAULT_INSTANCE;
20490  }
20491 
20492 }
20493 
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 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 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 clearClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER
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
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)
.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)
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
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()
.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 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()
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)
.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()
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()
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 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
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()
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()
.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;
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 int getMinimizeWithPropagationRestartPeriod()
.lang.Override int getSerializedSize()
.lang.Override long getSearchRandomizationTolerance()
.lang.Override boolean hasUseRelaxationLns()
Builder clearSubsumptionDuringConflictAnalysis()
.lang.Override boolean getExpandAutomatonConstraints()
Builder clearUseBranchingInLp()
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 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)
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.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()
.lang.Override boolean hasInterleaveSearch()
.lang.Override boolean hasAddMirCuts()
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()
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()