Java Reference

Java Reference

SatParameters.java
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/sat/sat_parameters.proto
3 
4 package com.google.ortools.sat;
5 
15 public final class SatParameters extends
16  com.google.protobuf.GeneratedMessageV3 implements
17  // @@protoc_insertion_point(message_implements:operations_research.sat.SatParameters)
19 private static final long serialVersionUID = 0L;
20  // Use SatParameters.newBuilder() to construct.
21  private SatParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
22  super(builder);
23  }
24  private SatParameters() {
25  name_ = "";
26  preferredVariableOrder_ = 0;
27  initialPolarity_ = 1;
28  usePhaseSaving_ = true;
29  polarityRephaseIncrement_ = 1000;
30  minimizationAlgorithm_ = 2;
31  binaryMinimizationAlgorithm_ = 1;
32  subsumptionDuringConflictAnalysis_ = true;
33  clauseCleanupPeriod_ = 10000;
34  clauseCleanupTarget_ = 10000;
35  clauseCleanupProtection_ = 0;
36  clauseCleanupLbdBound_ = 5;
37  clauseCleanupOrdering_ = 0;
38  pbCleanupIncrement_ = 200;
39  pbCleanupRatio_ = 0.5D;
40  minimizeWithPropagationRestartPeriod_ = 10;
41  minimizeWithPropagationNumDecisions_ = 1000;
42  variableActivityDecay_ = 0.8D;
43  maxVariableActivityValue_ = 1e+100D;
44  glucoseMaxDecay_ = 0.95D;
45  glucoseDecayIncrement_ = 0.01D;
46  glucoseDecayIncrementPeriod_ = 5000;
47  clauseActivityDecay_ = 0.999D;
48  maxClauseActivityValue_ = 1e+20D;
49  restartAlgorithms_ = java.util.Collections.emptyList();
50  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
51  restartPeriod_ = 50;
52  restartRunningWindowSize_ = 50;
53  restartDlAverageRatio_ = 1D;
54  restartLbdAverageRatio_ = 1D;
55  blockingRestartWindowSize_ = 5000;
56  blockingRestartMultiplier_ = 1.4D;
57  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
58  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
59  maxNumberOfConflicts_ = 9223372036854775807L;
60  maxMemoryInMb_ = 10000L;
61  treatBinaryClausesSeparately_ = true;
62  randomSeed_ = 1;
63  countAssumptionLevelsInLbd_ = true;
64  presolveBveThreshold_ = 500;
65  presolveBveClauseWeight_ = 3;
66  presolveProbingDeterministicTimeLimit_ = 30D;
67  presolveBlockedClause_ = true;
68  presolveUseBva_ = true;
69  presolveBvaThreshold_ = 1;
70  maxPresolveIterations_ = 3;
71  cpModelPresolve_ = true;
72  cpModelProbingLevel_ = 2;
73  cpModelUseSatPresolve_ = true;
74  expandElementConstraints_ = true;
75  expandAutomatonConstraints_ = true;
76  expandTableConstraints_ = true;
77  mergeNoOverlapWorkLimit_ = 1000000000000D;
78  mergeAtMostOneWorkLimit_ = 100000000D;
79  presolveSubstitutionLevel_ = 1;
80  useOptimizationHints_ = true;
81  minimizeCore_ = true;
82  findMultipleCores_ = true;
83  coverOptimization_ = true;
84  maxSatAssumptionOrder_ = 0;
85  maxSatStratification_ = 1;
86  usePrecedencesInDisjunctiveConstraint_ = true;
87  useDisjunctiveConstraintInCumulativeConstraint_ = true;
88  linearizationLevel_ = 1;
89  booleanEncodingLevel_ = 1;
90  maxNumCuts_ = 10000;
91  addCgCuts_ = true;
92  addMirCuts_ = true;
93  addZeroHalfCuts_ = true;
94  addCliqueCuts_ = true;
95  maxAllDiffCutSize_ = 7;
96  addLinMaxCuts_ = true;
97  maxIntegerRoundingScaling_ = 600;
98  addLpConstraintsLazily_ = true;
99  minOrthogonalityForLpConstraints_ = 0.05D;
100  maxCutRoundsAtLevelZero_ = 1;
101  maxConsecutiveInactiveCount_ = 100;
102  cutMaxActiveCountValue_ = 10000000000D;
103  cutActiveCountDecay_ = 0.8D;
104  cutCleanupTarget_ = 1000;
105  newConstraintsBatchSize_ = 50;
106  searchBranching_ = 0;
107  hintConflictLimit_ = 10;
108  exploitIntegerLpSolution_ = true;
109  exploitAllLpSolution_ = true;
110  exploitObjective_ = true;
111  pseudoCostReliabilityThreshold_ = 100L;
112  binarySearchNumConflicts_ = -1;
113  instantiateAllVariables_ = true;
114  autoDetectGreaterThanAtLeastOneOf_ = true;
115  numSearchWorkers_ = 1;
116  interleaveBatchSize_ = 1;
117  shareObjectiveBounds_ = true;
118  shareLevelZeroBounds_ = true;
119  useRinsLns_ = true;
120  useFeasibilityPump_ = true;
121  fpRounding_ = 2;
122  useOptionalVariables_ = true;
123  useExactLpReason_ = true;
124  catchSigintSignal_ = true;
125  useImpliedBounds_ = true;
126  mipMaxBound_ = 10000000D;
127  mipVarScaling_ = 1D;
128  mipAutomaticallyScaleVariables_ = true;
129  mipWantedPrecision_ = 1e-06D;
130  mipMaxActivityExponent_ = 53;
131  mipCheckPrecision_ = 0.0001D;
132  }
133 
134  @java.lang.Override
135  @SuppressWarnings({"unused"})
136  protected java.lang.Object newInstance(
137  UnusedPrivateParameter unused) {
138  return new SatParameters();
139  }
140 
141  @java.lang.Override
142  public final com.google.protobuf.UnknownFieldSet
144  return this.unknownFields;
145  }
146  private SatParameters(
147  com.google.protobuf.CodedInputStream input,
148  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
149  throws com.google.protobuf.InvalidProtocolBufferException {
150  this();
151  if (extensionRegistry == null) {
152  throw new java.lang.NullPointerException();
153  }
154  int mutable_bitField0_ = 0;
155  int mutable_bitField1_ = 0;
156  int mutable_bitField2_ = 0;
157  int mutable_bitField3_ = 0;
158  int mutable_bitField4_ = 0;
159  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
160  com.google.protobuf.UnknownFieldSet.newBuilder();
161  try {
162  boolean done = false;
163  while (!done) {
164  int tag = input.readTag();
165  switch (tag) {
166  case 0:
167  done = true;
168  break;
169  case 8: {
170  int rawValue = input.readEnum();
171  @SuppressWarnings("deprecation")
172  com.google.ortools.sat.SatParameters.VariableOrder value = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(rawValue);
173  if (value == null) {
174  unknownFields.mergeVarintField(1, rawValue);
175  } else {
176  bitField0_ |= 0x00000002;
177  preferredVariableOrder_ = rawValue;
178  }
179  break;
180  }
181  case 16: {
182  int rawValue = input.readEnum();
183  @SuppressWarnings("deprecation")
184  com.google.ortools.sat.SatParameters.Polarity value = com.google.ortools.sat.SatParameters.Polarity.valueOf(rawValue);
185  if (value == null) {
186  unknownFields.mergeVarintField(2, rawValue);
187  } else {
188  bitField0_ |= 0x00000004;
189  initialPolarity_ = rawValue;
190  }
191  break;
192  }
193  case 32: {
194  int rawValue = input.readEnum();
195  @SuppressWarnings("deprecation")
196  com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(rawValue);
197  if (value == null) {
198  unknownFields.mergeVarintField(4, rawValue);
199  } else {
200  bitField0_ |= 0x00000400;
201  minimizationAlgorithm_ = rawValue;
202  }
203  break;
204  }
205  case 88: {
206  bitField0_ |= 0x00002000;
207  clauseCleanupPeriod_ = input.readInt32();
208  break;
209  }
210  case 104: {
211  bitField0_ |= 0x00004000;
212  clauseCleanupTarget_ = input.readInt32();
213  break;
214  }
215  case 121: {
216  bitField0_ |= 0x00400000;
217  variableActivityDecay_ = input.readDouble();
218  break;
219  }
220  case 129: {
221  bitField0_ |= 0x00800000;
222  maxVariableActivityValue_ = input.readDouble();
223  break;
224  }
225  case 137: {
226  bitField0_ |= 0x08000000;
227  clauseActivityDecay_ = input.readDouble();
228  break;
229  }
230  case 145: {
231  bitField0_ |= 0x10000000;
232  maxClauseActivityValue_ = input.readDouble();
233  break;
234  }
235  case 177: {
236  bitField0_ |= 0x01000000;
237  glucoseMaxDecay_ = input.readDouble();
238  break;
239  }
240  case 185: {
241  bitField0_ |= 0x02000000;
242  glucoseDecayIncrement_ = input.readDouble();
243  break;
244  }
245  case 192: {
246  bitField0_ |= 0x04000000;
247  glucoseDecayIncrementPeriod_ = input.readInt32();
248  break;
249  }
250  case 240: {
251  bitField0_ |= 0x40000000;
252  restartPeriod_ = input.readInt32();
253  break;
254  }
255  case 248: {
256  bitField1_ |= 0x00004000;
257  randomSeed_ = input.readInt32();
258  break;
259  }
260  case 257: {
261  bitField0_ |= 0x00000040;
262  randomBranchesRatio_ = input.readDouble();
263  break;
264  }
265  case 264: {
266  bitField1_ |= 0x00002000;
267  treatBinaryClausesSeparately_ = input.readBool();
268  break;
269  }
270  case 272: {
271  int rawValue = input.readEnum();
272  @SuppressWarnings("deprecation")
273  com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(rawValue);
274  if (value == null) {
275  unknownFields.mergeVarintField(34, rawValue);
276  } else {
277  bitField0_ |= 0x00000800;
278  binaryMinimizationAlgorithm_ = rawValue;
279  }
280  break;
281  }
282  case 280: {
283  bitField2_ |= 0x00000100;
284  useOptimizationHints_ = input.readBool();
285  break;
286  }
287  case 289: {
288  bitField1_ |= 0x00000080;
289  maxTimeInSeconds_ = input.readDouble();
290  break;
291  }
292  case 296: {
293  bitField1_ |= 0x00000200;
294  maxNumberOfConflicts_ = input.readInt64();
295  break;
296  }
297  case 320: {
298  bitField1_ |= 0x00000400;
299  maxMemoryInMb_ = input.readInt64();
300  break;
301  }
302  case 328: {
303  bitField1_ |= 0x00008000;
304  logSearchProgress_ = input.readBool();
305  break;
306  }
307  case 344: {
308  bitField1_ |= 0x00010000;
309  usePbResolution_ = input.readBool();
310  break;
311  }
312  case 352: {
313  bitField0_ |= 0x00000008;
314  usePhaseSaving_ = input.readBool();
315  break;
316  }
317  case 361: {
318  bitField0_ |= 0x00000020;
319  randomPolarityRatio_ = input.readDouble();
320  break;
321  }
322  case 368: {
323  bitField0_ |= 0x00040000;
324  pbCleanupIncrement_ = input.readInt32();
325  break;
326  }
327  case 377: {
328  bitField0_ |= 0x00080000;
329  pbCleanupRatio_ = input.readDouble();
330  break;
331  }
332  case 384: {
333  bitField1_ |= 0x00020000;
334  minimizeReductionDuringPbResolution_ = input.readBool();
335  break;
336  }
337  case 392: {
338  bitField1_ |= 0x00040000;
339  countAssumptionLevelsInLbd_ = input.readBool();
340  break;
341  }
342  case 400: {
343  bitField2_ |= 0x00000200;
344  minimizeCore_ = input.readBool();
345  break;
346  }
347  case 408: {
348  int rawValue = input.readEnum();
349  @SuppressWarnings("deprecation")
350  com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(rawValue);
351  if (value == null) {
352  unknownFields.mergeVarintField(51, rawValue);
353  } else {
354  bitField2_ |= 0x00001000;
355  maxSatAssumptionOrder_ = rawValue;
356  }
357  break;
358  }
359  case 416: {
360  bitField2_ |= 0x00002000;
361  maxSatReverseAssumptionOrder_ = input.readBool();
362  break;
363  }
364  case 424: {
365  int rawValue = input.readEnum();
366  @SuppressWarnings("deprecation")
367  com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(rawValue);
368  if (value == null) {
369  unknownFields.mergeVarintField(53, rawValue);
370  } else {
371  bitField2_ |= 0x00004000;
372  maxSatStratification_ = rawValue;
373  }
374  break;
375  }
376  case 432: {
377  bitField1_ |= 0x00080000;
378  presolveBveThreshold_ = input.readInt32();
379  break;
380  }
381  case 440: {
382  bitField1_ |= 0x00100000;
383  presolveBveClauseWeight_ = input.readInt32();
384  break;
385  }
386  case 448: {
387  bitField0_ |= 0x00001000;
388  subsumptionDuringConflictAnalysis_ = input.readBool();
389  break;
390  }
391  case 457: {
392  bitField1_ |= 0x00200000;
393  presolveProbingDeterministicTimeLimit_ = input.readDouble();
394  break;
395  }
396  case 464: {
397  int rawValue = input.readEnum();
398  @SuppressWarnings("deprecation")
399  com.google.ortools.sat.SatParameters.ClauseProtection value = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(rawValue);
400  if (value == null) {
401  unknownFields.mergeVarintField(58, rawValue);
402  } else {
403  bitField0_ |= 0x00008000;
404  clauseCleanupProtection_ = rawValue;
405  }
406  break;
407  }
408  case 472: {
409  bitField0_ |= 0x00010000;
410  clauseCleanupLbdBound_ = input.readInt32();
411  break;
412  }
413  case 480: {
414  int rawValue = input.readEnum();
415  @SuppressWarnings("deprecation")
416  com.google.ortools.sat.SatParameters.ClauseOrdering value = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(rawValue);
417  if (value == null) {
418  unknownFields.mergeVarintField(60, rawValue);
419  } else {
420  bitField0_ |= 0x00020000;
421  clauseCleanupOrdering_ = rawValue;
422  }
423  break;
424  }
425  case 488: {
426  int rawValue = input.readEnum();
427  @SuppressWarnings("deprecation")
428  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
429  if (value == null) {
430  unknownFields.mergeVarintField(61, rawValue);
431  } else {
432  if (!((mutable_bitField0_ & 0x20000000) != 0)) {
433  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
434  mutable_bitField0_ |= 0x20000000;
435  }
436  restartAlgorithms_.add(rawValue);
437  }
438  break;
439  }
440  case 490: {
441  int length = input.readRawVarint32();
442  int oldLimit = input.pushLimit(length);
443  while(input.getBytesUntilLimit() > 0) {
444  int rawValue = input.readEnum();
445  @SuppressWarnings("deprecation")
446  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
447  if (value == null) {
448  unknownFields.mergeVarintField(61, rawValue);
449  } else {
450  if (!((mutable_bitField0_ & 0x20000000) != 0)) {
451  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
452  mutable_bitField0_ |= 0x20000000;
453  }
454  restartAlgorithms_.add(rawValue);
455  }
456  }
457  input.popLimit(oldLimit);
458  break;
459  }
460  case 496: {
461  bitField0_ |= 0x80000000;
462  restartRunningWindowSize_ = input.readInt32();
463  break;
464  }
465  case 505: {
466  bitField1_ |= 0x00000001;
467  restartDlAverageRatio_ = input.readDouble();
468  break;
469  }
470  case 512: {
471  bitField1_ |= 0x00000004;
472  useBlockingRestart_ = input.readBool();
473  break;
474  }
475  case 520: {
476  bitField1_ |= 0x00000008;
477  blockingRestartWindowSize_ = input.readInt32();
478  break;
479  }
480  case 529: {
481  bitField1_ |= 0x00000010;
482  blockingRestartMultiplier_ = input.readDouble();
483  break;
484  }
485  case 537: {
486  bitField1_ |= 0x00000100;
487  maxDeterministicTime_ = input.readDouble();
488  break;
489  }
490  case 544: {
491  bitField1_ |= 0x00000020;
492  numConflictsBeforeStrategyChanges_ = input.readInt32();
493  break;
494  }
495  case 553: {
496  bitField1_ |= 0x00000040;
497  strategyChangeIncreaseRatio_ = input.readDouble();
498  break;
499  }
500  case 562: {
501  com.google.protobuf.ByteString bs = input.readBytes();
502  bitField0_ |= 0x20000000;
503  defaultRestartAlgorithms_ = bs;
504  break;
505  }
506  case 569: {
507  bitField1_ |= 0x00000002;
508  restartLbdAverageRatio_ = input.readDouble();
509  break;
510  }
511  case 576: {
512  bitField1_ |= 0x00800000;
513  presolveUseBva_ = input.readBool();
514  break;
515  }
516  case 584: {
517  bitField1_ |= 0x01000000;
518  presolveBvaThreshold_ = input.readInt32();
519  break;
520  }
521  case 592: {
522  bitField2_ |= 0x00008000;
523  usePrecedencesInDisjunctiveConstraint_ = input.readBool();
524  break;
525  }
526  case 600: {
527  bitField0_ |= 0x00000080;
528  useErwaHeuristic_ = input.readBool();
529  break;
530  }
531  case 609: {
532  bitField0_ |= 0x00000100;
533  initialVariablesActivity_ = input.readDouble();
534  break;
535  }
536  case 616: {
537  bitField0_ |= 0x00000200;
538  alsoBumpVariablesInConflictReasons_ = input.readBool();
539  break;
540  }
541  case 624: {
542  bitField2_ |= 0x00010000;
543  useOverloadCheckerInCumulativeConstraint_ = input.readBool();
544  break;
545  }
546  case 632: {
547  bitField2_ |= 0x00020000;
548  useTimetableEdgeFindingInCumulativeConstraint_ = input.readBool();
549  break;
550  }
551  case 640: {
552  bitField2_ |= 0x00040000;
553  useDisjunctiveConstraintInCumulativeConstraint_ = input.readBool();
554  break;
555  }
556  case 656: {
557  int rawValue = input.readEnum();
558  @SuppressWarnings("deprecation")
559  com.google.ortools.sat.SatParameters.SearchBranching value = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(rawValue);
560  if (value == null) {
561  unknownFields.mergeVarintField(82, rawValue);
562  } else {
563  bitField3_ |= 0x00000080;
564  searchBranching_ = rawValue;
565  }
566  break;
567  }
568  case 664: {
569  bitField3_ |= 0x00020000;
570  optimizeWithCore_ = input.readBool();
571  break;
572  }
573  case 672: {
574  bitField2_ |= 0x00000400;
575  findMultipleCores_ = input.readBool();
576  break;
577  }
578  case 680: {
579  bitField3_ |= 0x00080000;
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_ |= 0x00100000;
590  enumerateAllSolutions_ = input.readBool();
591  break;
592  }
593  case 704: {
594  bitField1_ |= 0x00400000;
595  presolveBlockedClause_ = input.readBool();
596  break;
597  }
598  case 712: {
599  bitField2_ |= 0x00000800;
600  coverOptimization_ = input.readBool();
601  break;
602  }
603  case 720: {
604  bitField2_ |= 0x00080000;
605  linearizationLevel_ = input.readInt32();
606  break;
607  }
608  case 728: {
609  bitField2_ |= 0x00200000;
610  maxNumCuts_ = input.readInt32();
611  break;
612  }
613  case 736: {
614  bitField2_ |= 0x00400000;
615  onlyAddCutsAtLevelZero_ = input.readBool();
616  break;
617  }
618  case 744: {
619  bitField1_ |= 0x40000000;
620  cpModelUseSatPresolve_ = input.readBool();
621  break;
622  }
623  case 752: {
624  bitField3_ |= 0x00000400;
625  exploitIntegerLpSolution_ = input.readBool();
626  break;
627  }
628  case 760: {
629  bitField3_ |= 0x01000000;
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_ |= 0x02000000;
645  stopAfterFirstSolution_ = input.readBool();
646  break;
647  }
648  case 792: {
649  bitField3_ |= 0x00040000;
650  binarySearchNumConflicts_ = input.readInt32();
651  break;
652  }
653  case 800: {
654  bitField3_ |= 0x08000000;
655  numSearchWorkers_ = input.readInt32();
656  break;
657  }
658  case 808: {
659  bitField4_ |= 0x00000002;
660  useLnsOnly_ = input.readBool();
661  break;
662  }
663  case 824: {
664  bitField4_ |= 0x00000100;
665  randomizeSearch_ = input.readBool();
666  break;
667  }
668  case 832: {
669  bitField4_ |= 0x00000200;
670  searchRandomizationTolerance_ = input.readInt64();
671  break;
672  }
673  case 840: {
674  bitField4_ |= 0x00000004;
675  lnsFocusOnDecisionVariables_ = input.readBool();
676  break;
677  }
678  case 848: {
679  bitField3_ |= 0x00800000;
680  instantiateAllVariables_ = input.readBool();
681  break;
682  }
683  case 856: {
684  bitField2_ |= 0x00100000;
685  booleanEncodingLevel_ = input.readInt32();
686  break;
687  }
688  case 864: {
689  bitField4_ |= 0x00000400;
690  useOptionalVariables_ = input.readBool();
691  break;
692  }
693  case 872: {
694  bitField4_ |= 0x00000800;
695  useExactLpReason_ = input.readBool();
696  break;
697  }
698  case 880: {
699  bitField1_ |= 0x20000000;
700  cpModelProbingLevel_ = input.readInt32();
701  break;
702  }
703  case 888: {
704  bitField2_ |= 0x00800000;
705  addKnapsackCuts_ = input.readBool();
706  break;
707  }
708  case 896: {
709  bitField2_ |= 0x80000000;
710  addLpConstraintsLazily_ = input.readBool();
711  break;
712  }
713  case 904: {
714  bitField3_ |= 0x80000000;
715  shareObjectiveBounds_ = input.readBool();
716  break;
717  }
718  case 912: {
719  bitField4_ |= 0x00000001;
720  shareLevelZeroBounds_ = input.readBool();
721  break;
722  }
723  case 921: {
724  bitField3_ |= 0x00000001;
725  minOrthogonalityForLpConstraints_ = input.readDouble();
726  break;
727  }
728  case 928: {
729  bitField3_ |= 0x00000800;
730  exploitAllLpSolution_ = input.readBool();
731  break;
732  }
733  case 936: {
734  bitField2_ |= 0x01000000;
735  addCgCuts_ = input.readBool();
736  break;
737  }
738  case 952: {
739  bitField2_ |= 0x40000000;
740  maxIntegerRoundingScaling_ = input.readInt32();
741  break;
742  }
743  case 960: {
744  bitField2_ |= 0x02000000;
745  addMirCuts_ = input.readBool();
746  break;
747  }
748  case 968: {
749  bitField3_ |= 0x00000004;
750  maxConsecutiveInactiveCount_ = input.readInt32();
751  break;
752  }
753  case 976: {
754  bitField3_ |= 0x00000040;
755  newConstraintsBatchSize_ = input.readInt32();
756  break;
757  }
758  case 984: {
759  bitField3_ |= 0x00010000;
760  pseudoCostReliabilityThreshold_ = input.readInt64();
761  break;
762  }
763  case 993: {
764  bitField4_ |= 0x00020000;
765  mipMaxBound_ = input.readDouble();
766  break;
767  }
768  case 1001: {
769  bitField4_ |= 0x00040000;
770  mipVarScaling_ = input.readDouble();
771  break;
772  }
773  case 1009: {
774  bitField4_ |= 0x00100000;
775  mipWantedPrecision_ = input.readDouble();
776  break;
777  }
778  case 1016: {
779  bitField4_ |= 0x00200000;
780  mipMaxActivityExponent_ = input.readInt32();
781  break;
782  }
783  case 1025: {
784  bitField4_ |= 0x00400000;
785  mipCheckPrecision_ = input.readDouble();
786  break;
787  }
788  case 1032: {
789  bitField4_ |= 0x00000008;
790  useRinsLns_ = input.readBool();
791  break;
792  }
793  case 1040: {
794  bitField3_ |= 0x00001000;
795  exploitBestSolution_ = input.readBool();
796  break;
797  }
798  case 1048: {
799  bitField3_ |= 0x00004000;
800  exploitObjective_ = input.readBool();
801  break;
802  }
803  case 1056: {
804  bitField3_ |= 0x00400000;
805  fillTightenedDomainsInResponse_ = input.readBool();
806  break;
807  }
808  case 1064: {
809  bitField4_ |= 0x00002000;
810  useCombinedNoOverlap_ = input.readBool();
811  break;
812  }
813  case 1072: {
814  bitField3_ |= 0x20000000;
815  interleaveBatchSize_ = input.readInt32();
816  break;
817  }
818  case 1080: {
819  bitField4_ |= 0x00004000;
820  catchSigintSignal_ = input.readBool();
821  break;
822  }
823  case 1088: {
824  bitField3_ |= 0x10000000;
825  interleaveSearch_ = input.readBool();
826  break;
827  }
828  case 1096: {
829  bitField4_ |= 0x00000080;
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_ |= 0x00001000;
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_ |= 0x40000000;
850  reduceMemoryUsageInInterleaveMode_ = input.readBool();
851  break;
852  }
853  case 1136: {
854  bitField3_ |= 0x00008000;
855  probingPeriodAtRoot_ = input.readInt64();
856  break;
857  }
858  case 1144: {
859  bitField2_ |= 0x00000002;
860  expandAutomatonConstraints_ = input.readBool();
861  break;
862  }
863  case 1152: {
864  bitField4_ |= 0x00008000;
865  useImpliedBounds_ = input.readBool();
866  break;
867  }
868  case 1161: {
869  bitField2_ |= 0x00000010;
870  mergeNoOverlapWorkLimit_ = input.readDouble();
871  break;
872  }
873  case 1169: {
874  bitField2_ |= 0x00000020;
875  mergeAtMostOneWorkLimit_ = input.readDouble();
876  break;
877  }
878  case 1176: {
879  bitField2_ |= 0x00000040;
880  presolveSubstitutionLevel_ = input.readInt32();
881  break;
882  }
883  case 1184: {
884  bitField2_ |= 0x10000000;
885  maxAllDiffCutSize_ = input.readInt32();
886  break;
887  }
888  case 1192: {
889  bitField3_ |= 0x04000000;
890  stopAfterPresolve_ = input.readBool();
891  break;
892  }
893  case 1200: {
894  bitField4_ |= 0x00000040;
895  useRelaxationLns_ = input.readBool();
896  break;
897  }
898  case 1208: {
899  bitField1_ |= 0x10000000;
900  cpModelMaxNumPresolveOperations_ = input.readInt32();
901  break;
902  }
903  case 1216: {
904  bitField2_ |= 0x20000000;
905  addLinMaxCuts_ = input.readBool();
906  break;
907  }
908  case 1224: {
909  bitField3_ |= 0x00000100;
910  hintConflictLimit_ = input.readInt32();
911  break;
912  }
913  case 1232: {
914  bitField3_ |= 0x00000002;
915  maxCutRoundsAtLevelZero_ = input.readInt32();
916  break;
917  }
918  case 1241: {
919  bitField3_ |= 0x00000008;
920  cutMaxActiveCountValue_ = input.readDouble();
921  break;
922  }
923  case 1249: {
924  bitField3_ |= 0x00000010;
925  cutActiveCountDecay_ = input.readDouble();
926  break;
927  }
928  case 1256: {
929  bitField3_ |= 0x00000020;
930  cutCleanupTarget_ = input.readInt32();
931  break;
932  }
933  case 1264: {
934  bitField2_ |= 0x00000004;
935  expandTableConstraints_ = input.readBool();
936  break;
937  }
938  case 1273: {
939  bitField1_ |= 0x00000800;
940  absoluteGapLimit_ = input.readDouble();
941  break;
942  }
943  case 1281: {
944  bitField1_ |= 0x00001000;
945  relativeGapLimit_ = input.readDouble();
946  break;
947  }
948  case 1288: {
949  bitField3_ |= 0x00002000;
950  exploitRelaxationSolution_ = input.readBool();
951  break;
952  }
953  case 1296: {
954  bitField1_ |= 0x08000000;
955  cpModelPostsolveWithFullSolver_ = input.readBool();
956  break;
957  }
958  case 1304: {
959  bitField1_ |= 0x80000000;
960  useSatInprocessing_ = input.readBool();
961  break;
962  }
963  case 1312: {
964  bitField4_ |= 0x00000010;
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_ |= 0x00000020;
976  fpRounding_ = rawValue;
977  }
978  break;
979  }
980  case 1328: {
981  bitField4_ |= 0x00080000;
982  mipAutomaticallyScaleVariables_ = input.readBool();
983  break;
984  }
985  case 1336: {
986  bitField3_ |= 0x00000200;
987  repairHint_ = input.readBool();
988  break;
989  }
990  case 1344: {
991  bitField0_ |= 0x00000010;
992  polarityRephaseIncrement_ = input.readInt32();
993  break;
994  }
995  case 1352: {
996  bitField2_ |= 0x04000000;
997  addZeroHalfCuts_ = input.readBool();
998  break;
999  }
1000  case 1360: {
1001  bitField2_ |= 0x00000008;
1002  expandAlldiffConstraints_ = input.readBool();
1003  break;
1004  }
1005  case 1370: {
1006  com.google.protobuf.ByteString bs = input.readBytes();
1007  bitField0_ |= 0x00000001;
1008  name_ = bs;
1009  break;
1010  }
1011  case 1376: {
1012  bitField2_ |= 0x08000000;
1013  addCliqueCuts_ = input.readBool();
1014  break;
1015  }
1016  case 1384: {
1017  bitField3_ |= 0x00200000;
1018  keepAllFeasibleSolutionsInPresolve_ = input.readBool();
1019  break;
1020  }
1021  case 1392: {
1022  bitField2_ |= 0x00000080;
1023  presolveExtractIntegerEnforcement_ = input.readBool();
1024  break;
1025  }
1026  case 1400: {
1027  bitField4_ |= 0x00010000;
1028  polishLpSolution_ = input.readBool();
1029  break;
1030  }
1031  default: {
1032  if (!parseUnknownField(
1033  input, unknownFields, extensionRegistry, tag)) {
1034  done = true;
1035  }
1036  break;
1037  }
1038  }
1039  }
1040  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1041  throw e.setUnfinishedMessage(this);
1042  } catch (java.io.IOException e) {
1043  throw new com.google.protobuf.InvalidProtocolBufferException(
1044  e).setUnfinishedMessage(this);
1045  } finally {
1046  if (((mutable_bitField0_ & 0x20000000) != 0)) {
1047  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
1048  }
1049  this.unknownFields = unknownFields.build();
1050  makeExtensionsImmutable();
1051  }
1052  }
1053  public static final com.google.protobuf.Descriptors.Descriptor
1055  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
1056  }
1057 
1058  @java.lang.Override
1059  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1061  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
1062  .ensureFieldAccessorsInitialized(
1064  }
1065 
1074  public enum VariableOrder
1075  implements com.google.protobuf.ProtocolMessageEnum {
1092  ;
1093 
1101  public static final int IN_ORDER_VALUE = 0;
1105  public static final int IN_REVERSE_ORDER_VALUE = 1;
1109  public static final int IN_RANDOM_ORDER_VALUE = 2;
1110 
1111 
1112  public final int getNumber() {
1113  return value;
1114  }
1115 
1121  @java.lang.Deprecated
1122  public static VariableOrder valueOf(int value) {
1123  return forNumber(value);
1124  }
1125 
1130  public static VariableOrder forNumber(int value) {
1131  switch (value) {
1132  case 0: return IN_ORDER;
1133  case 1: return IN_REVERSE_ORDER;
1134  case 2: return IN_RANDOM_ORDER;
1135  default: return null;
1136  }
1137  }
1138 
1139  public static com.google.protobuf.Internal.EnumLiteMap<VariableOrder>
1141  return internalValueMap;
1142  }
1143  private static final com.google.protobuf.Internal.EnumLiteMap<
1144  VariableOrder> internalValueMap =
1145  new com.google.protobuf.Internal.EnumLiteMap<VariableOrder>() {
1146  public VariableOrder findValueByNumber(int number) {
1147  return VariableOrder.forNumber(number);
1148  }
1149  };
1150 
1151  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1153  return getDescriptor().getValues().get(ordinal());
1154  }
1155  public final com.google.protobuf.Descriptors.EnumDescriptor
1157  return getDescriptor();
1158  }
1159  public static final com.google.protobuf.Descriptors.EnumDescriptor
1161  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
1162  }
1163 
1164  private static final VariableOrder[] VALUES = values();
1165 
1166  public static VariableOrder valueOf(
1167  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1168  if (desc.getType() != getDescriptor()) {
1169  throw new java.lang.IllegalArgumentException(
1170  "EnumValueDescriptor is not for this type.");
1171  }
1172  return VALUES[desc.getIndex()];
1173  }
1174 
1175  private final int value;
1176 
1177  private VariableOrder(int value) {
1178  this.value = value;
1179  }
1180 
1181  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.VariableOrder)
1182  }
1183 
1195  public enum Polarity
1196  implements com.google.protobuf.ProtocolMessageEnum {
1228  ;
1229 
1233  public static final int POLARITY_TRUE_VALUE = 0;
1237  public static final int POLARITY_FALSE_VALUE = 1;
1241  public static final int POLARITY_RANDOM_VALUE = 2;
1252  public static final int POLARITY_WEIGHTED_SIGN_VALUE = 3;
1260  public static final int POLARITY_REVERSE_WEIGHTED_SIGN_VALUE = 4;
1261 
1262 
1263  public final int getNumber() {
1264  return value;
1265  }
1266 
1272  @java.lang.Deprecated
1273  public static Polarity valueOf(int value) {
1274  return forNumber(value);
1275  }
1276 
1281  public static Polarity forNumber(int value) {
1282  switch (value) {
1283  case 0: return POLARITY_TRUE;
1284  case 1: return POLARITY_FALSE;
1285  case 2: return POLARITY_RANDOM;
1286  case 3: return POLARITY_WEIGHTED_SIGN;
1287  case 4: return POLARITY_REVERSE_WEIGHTED_SIGN;
1288  default: return null;
1289  }
1290  }
1291 
1292  public static com.google.protobuf.Internal.EnumLiteMap<Polarity>
1294  return internalValueMap;
1295  }
1296  private static final com.google.protobuf.Internal.EnumLiteMap<
1297  Polarity> internalValueMap =
1298  new com.google.protobuf.Internal.EnumLiteMap<Polarity>() {
1299  public Polarity findValueByNumber(int number) {
1300  return Polarity.forNumber(number);
1301  }
1302  };
1303 
1304  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1306  return getDescriptor().getValues().get(ordinal());
1307  }
1308  public final com.google.protobuf.Descriptors.EnumDescriptor
1310  return getDescriptor();
1311  }
1312  public static final com.google.protobuf.Descriptors.EnumDescriptor
1314  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
1315  }
1316 
1317  private static final Polarity[] VALUES = values();
1318 
1319  public static Polarity valueOf(
1320  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1321  if (desc.getType() != getDescriptor()) {
1322  throw new java.lang.IllegalArgumentException(
1323  "EnumValueDescriptor is not for this type.");
1324  }
1325  return VALUES[desc.getIndex()];
1326  }
1327 
1328  private final int value;
1329 
1330  private Polarity(int value) {
1331  this.value = value;
1332  }
1333 
1334  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.Polarity)
1335  }
1336 
1345  implements com.google.protobuf.ProtocolMessageEnum {
1349  NONE(0),
1362  ;
1363 
1367  public static final int NONE_VALUE = 0;
1371  public static final int SIMPLE_VALUE = 1;
1375  public static final int RECURSIVE_VALUE = 2;
1379  public static final int EXPERIMENTAL_VALUE = 3;
1380 
1381 
1382  public final int getNumber() {
1383  return value;
1384  }
1385 
1391  @java.lang.Deprecated
1392  public static ConflictMinimizationAlgorithm valueOf(int value) {
1393  return forNumber(value);
1394  }
1395 
1400  public static ConflictMinimizationAlgorithm forNumber(int value) {
1401  switch (value) {
1402  case 0: return NONE;
1403  case 1: return SIMPLE;
1404  case 2: return RECURSIVE;
1405  case 3: return EXPERIMENTAL;
1406  default: return null;
1407  }
1408  }
1409 
1410  public static com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>
1412  return internalValueMap;
1413  }
1414  private static final com.google.protobuf.Internal.EnumLiteMap<
1415  ConflictMinimizationAlgorithm> internalValueMap =
1416  new com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>() {
1417  public ConflictMinimizationAlgorithm findValueByNumber(int number) {
1419  }
1420  };
1421 
1422  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1424  return getDescriptor().getValues().get(ordinal());
1425  }
1426  public final com.google.protobuf.Descriptors.EnumDescriptor
1428  return getDescriptor();
1429  }
1430  public static final com.google.protobuf.Descriptors.EnumDescriptor
1432  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
1433  }
1434 
1435  private static final ConflictMinimizationAlgorithm[] VALUES = values();
1436 
1438  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1439  if (desc.getType() != getDescriptor()) {
1440  throw new java.lang.IllegalArgumentException(
1441  "EnumValueDescriptor is not for this type.");
1442  }
1443  return VALUES[desc.getIndex()];
1444  }
1445 
1446  private final int value;
1447 
1448  private ConflictMinimizationAlgorithm(int value) {
1449  this.value = value;
1450  }
1451 
1452  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ConflictMinimizationAlgorithm)
1453  }
1454 
1464  implements com.google.protobuf.ProtocolMessageEnum {
1485  ;
1486 
1490  public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
1494  public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
1498  public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
1502  public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
1506  public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
1507 
1508 
1509  public final int getNumber() {
1510  return value;
1511  }
1512 
1518  @java.lang.Deprecated
1519  public static BinaryMinizationAlgorithm valueOf(int value) {
1520  return forNumber(value);
1521  }
1522 
1527  public static BinaryMinizationAlgorithm forNumber(int value) {
1528  switch (value) {
1529  case 0: return NO_BINARY_MINIMIZATION;
1530  case 1: return BINARY_MINIMIZATION_FIRST;
1531  case 4: return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
1532  case 2: return BINARY_MINIMIZATION_WITH_REACHABILITY;
1533  case 3: return EXPERIMENTAL_BINARY_MINIMIZATION;
1534  default: return null;
1535  }
1536  }
1537 
1538  public static com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>
1540  return internalValueMap;
1541  }
1542  private static final com.google.protobuf.Internal.EnumLiteMap<
1543  BinaryMinizationAlgorithm> internalValueMap =
1544  new com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>() {
1545  public BinaryMinizationAlgorithm findValueByNumber(int number) {
1546  return BinaryMinizationAlgorithm.forNumber(number);
1547  }
1548  };
1549 
1550  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1552  return getDescriptor().getValues().get(ordinal());
1553  }
1554  public final com.google.protobuf.Descriptors.EnumDescriptor
1556  return getDescriptor();
1557  }
1558  public static final com.google.protobuf.Descriptors.EnumDescriptor
1560  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
1561  }
1562 
1563  private static final BinaryMinizationAlgorithm[] VALUES = values();
1564 
1566  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1567  if (desc.getType() != getDescriptor()) {
1568  throw new java.lang.IllegalArgumentException(
1569  "EnumValueDescriptor is not for this type.");
1570  }
1571  return VALUES[desc.getIndex()];
1572  }
1573 
1574  private final int value;
1575 
1576  private BinaryMinizationAlgorithm(int value) {
1577  this.value = value;
1578  }
1579 
1580  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.BinaryMinizationAlgorithm)
1581  }
1582 
1592  public enum ClauseProtection
1593  implements com.google.protobuf.ProtocolMessageEnum {
1618  ;
1619 
1627  public static final int PROTECTION_NONE_VALUE = 0;
1635  public static final int PROTECTION_ALWAYS_VALUE = 1;
1643  public static final int PROTECTION_LBD_VALUE = 2;
1644 
1645 
1646  public final int getNumber() {
1647  return value;
1648  }
1649 
1655  @java.lang.Deprecated
1656  public static ClauseProtection valueOf(int value) {
1657  return forNumber(value);
1658  }
1659 
1664  public static ClauseProtection forNumber(int value) {
1665  switch (value) {
1666  case 0: return PROTECTION_NONE;
1667  case 1: return PROTECTION_ALWAYS;
1668  case 2: return PROTECTION_LBD;
1669  default: return null;
1670  }
1671  }
1672 
1673  public static com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>
1675  return internalValueMap;
1676  }
1677  private static final com.google.protobuf.Internal.EnumLiteMap<
1678  ClauseProtection> internalValueMap =
1679  new com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>() {
1680  public ClauseProtection findValueByNumber(int number) {
1681  return ClauseProtection.forNumber(number);
1682  }
1683  };
1684 
1685  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1687  return getDescriptor().getValues().get(ordinal());
1688  }
1689  public final com.google.protobuf.Descriptors.EnumDescriptor
1691  return getDescriptor();
1692  }
1693  public static final com.google.protobuf.Descriptors.EnumDescriptor
1695  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
1696  }
1697 
1698  private static final ClauseProtection[] VALUES = values();
1699 
1700  public static ClauseProtection valueOf(
1701  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1702  if (desc.getType() != getDescriptor()) {
1703  throw new java.lang.IllegalArgumentException(
1704  "EnumValueDescriptor is not for this type.");
1705  }
1706  return VALUES[desc.getIndex()];
1707  }
1708 
1709  private final int value;
1710 
1711  private ClauseProtection(int value) {
1712  this.value = value;
1713  }
1714 
1715  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseProtection)
1716  }
1717 
1726  public enum ClauseOrdering
1727  implements com.google.protobuf.ProtocolMessageEnum {
1744  ;
1745 
1753  public static final int CLAUSE_ACTIVITY_VALUE = 0;
1761  public static final int CLAUSE_LBD_VALUE = 1;
1762 
1763 
1764  public final int getNumber() {
1765  return value;
1766  }
1767 
1773  @java.lang.Deprecated
1774  public static ClauseOrdering valueOf(int value) {
1775  return forNumber(value);
1776  }
1777 
1782  public static ClauseOrdering forNumber(int value) {
1783  switch (value) {
1784  case 0: return CLAUSE_ACTIVITY;
1785  case 1: return CLAUSE_LBD;
1786  default: return null;
1787  }
1788  }
1789 
1790  public static com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>
1792  return internalValueMap;
1793  }
1794  private static final com.google.protobuf.Internal.EnumLiteMap<
1795  ClauseOrdering> internalValueMap =
1796  new com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>() {
1797  public ClauseOrdering findValueByNumber(int number) {
1798  return ClauseOrdering.forNumber(number);
1799  }
1800  };
1801 
1802  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1804  return getDescriptor().getValues().get(ordinal());
1805  }
1806  public final com.google.protobuf.Descriptors.EnumDescriptor
1808  return getDescriptor();
1809  }
1810  public static final com.google.protobuf.Descriptors.EnumDescriptor
1812  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
1813  }
1814 
1815  private static final ClauseOrdering[] VALUES = values();
1816 
1817  public static ClauseOrdering valueOf(
1818  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1819  if (desc.getType() != getDescriptor()) {
1820  throw new java.lang.IllegalArgumentException(
1821  "EnumValueDescriptor is not for this type.");
1822  }
1823  return VALUES[desc.getIndex()];
1824  }
1825 
1826  private final int value;
1827 
1828  private ClauseOrdering(int value) {
1829  this.value = value;
1830  }
1831 
1832  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseOrdering)
1833  }
1834 
1846  public enum RestartAlgorithm
1847  implements com.google.protobuf.ProtocolMessageEnum {
1884  ;
1885 
1889  public static final int NO_RESTART_VALUE = 0;
1897  public static final int LUBY_RESTART_VALUE = 1;
1905  public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
1913  public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
1921  public static final int FIXED_RESTART_VALUE = 4;
1922 
1923 
1924  public final int getNumber() {
1925  return value;
1926  }
1927 
1933  @java.lang.Deprecated
1934  public static RestartAlgorithm valueOf(int value) {
1935  return forNumber(value);
1936  }
1937 
1942  public static RestartAlgorithm forNumber(int value) {
1943  switch (value) {
1944  case 0: return NO_RESTART;
1945  case 1: return LUBY_RESTART;
1946  case 2: return DL_MOVING_AVERAGE_RESTART;
1947  case 3: return LBD_MOVING_AVERAGE_RESTART;
1948  case 4: return FIXED_RESTART;
1949  default: return null;
1950  }
1951  }
1952 
1953  public static com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>
1955  return internalValueMap;
1956  }
1957  private static final com.google.protobuf.Internal.EnumLiteMap<
1958  RestartAlgorithm> internalValueMap =
1959  new com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>() {
1960  public RestartAlgorithm findValueByNumber(int number) {
1961  return RestartAlgorithm.forNumber(number);
1962  }
1963  };
1964 
1965  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1967  return getDescriptor().getValues().get(ordinal());
1968  }
1969  public final com.google.protobuf.Descriptors.EnumDescriptor
1971  return getDescriptor();
1972  }
1973  public static final com.google.protobuf.Descriptors.EnumDescriptor
1975  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
1976  }
1977 
1978  private static final RestartAlgorithm[] VALUES = values();
1979 
1980  public static RestartAlgorithm valueOf(
1981  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1982  if (desc.getType() != getDescriptor()) {
1983  throw new java.lang.IllegalArgumentException(
1984  "EnumValueDescriptor is not for this type.");
1985  }
1986  return VALUES[desc.getIndex()];
1987  }
1988 
1989  private final int value;
1990 
1991  private RestartAlgorithm(int value) {
1992  this.value = value;
1993  }
1994 
1995  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.RestartAlgorithm)
1996  }
1997 
2006  implements com.google.protobuf.ProtocolMessageEnum {
2019  ;
2020 
2024  public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
2028  public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
2032  public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
2033 
2034 
2035  public final int getNumber() {
2036  return value;
2037  }
2038 
2044  @java.lang.Deprecated
2045  public static MaxSatAssumptionOrder valueOf(int value) {
2046  return forNumber(value);
2047  }
2048 
2053  public static MaxSatAssumptionOrder forNumber(int value) {
2054  switch (value) {
2055  case 0: return DEFAULT_ASSUMPTION_ORDER;
2056  case 1: return ORDER_ASSUMPTION_BY_DEPTH;
2057  case 2: return ORDER_ASSUMPTION_BY_WEIGHT;
2058  default: return null;
2059  }
2060  }
2061 
2062  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>
2064  return internalValueMap;
2065  }
2066  private static final com.google.protobuf.Internal.EnumLiteMap<
2067  MaxSatAssumptionOrder> internalValueMap =
2068  new com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>() {
2069  public MaxSatAssumptionOrder findValueByNumber(int number) {
2070  return MaxSatAssumptionOrder.forNumber(number);
2071  }
2072  };
2073 
2074  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2076  return getDescriptor().getValues().get(ordinal());
2077  }
2078  public final com.google.protobuf.Descriptors.EnumDescriptor
2080  return getDescriptor();
2081  }
2082  public static final com.google.protobuf.Descriptors.EnumDescriptor
2084  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
2085  }
2086 
2087  private static final MaxSatAssumptionOrder[] VALUES = values();
2088 
2090  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2091  if (desc.getType() != getDescriptor()) {
2092  throw new java.lang.IllegalArgumentException(
2093  "EnumValueDescriptor is not for this type.");
2094  }
2095  return VALUES[desc.getIndex()];
2096  }
2097 
2098  private final int value;
2099 
2100  private MaxSatAssumptionOrder(int value) {
2101  this.value = value;
2102  }
2103 
2104  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatAssumptionOrder)
2105  }
2106 
2115  implements com.google.protobuf.ProtocolMessageEnum {
2144  ;
2145 
2153  public static final int STRATIFICATION_NONE_VALUE = 0;
2162  public static final int STRATIFICATION_DESCENT_VALUE = 1;
2173  public static final int STRATIFICATION_ASCENT_VALUE = 2;
2174 
2175 
2176  public final int getNumber() {
2177  return value;
2178  }
2179 
2185  @java.lang.Deprecated
2186  public static MaxSatStratificationAlgorithm valueOf(int value) {
2187  return forNumber(value);
2188  }
2189 
2194  public static MaxSatStratificationAlgorithm forNumber(int value) {
2195  switch (value) {
2196  case 0: return STRATIFICATION_NONE;
2197  case 1: return STRATIFICATION_DESCENT;
2198  case 2: return STRATIFICATION_ASCENT;
2199  default: return null;
2200  }
2201  }
2202 
2203  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>
2205  return internalValueMap;
2206  }
2207  private static final com.google.protobuf.Internal.EnumLiteMap<
2208  MaxSatStratificationAlgorithm> internalValueMap =
2209  new com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>() {
2210  public MaxSatStratificationAlgorithm findValueByNumber(int number) {
2212  }
2213  };
2214 
2215  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2217  return getDescriptor().getValues().get(ordinal());
2218  }
2219  public final com.google.protobuf.Descriptors.EnumDescriptor
2221  return getDescriptor();
2222  }
2223  public static final com.google.protobuf.Descriptors.EnumDescriptor
2225  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
2226  }
2227 
2228  private static final MaxSatStratificationAlgorithm[] VALUES = values();
2229 
2231  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2232  if (desc.getType() != getDescriptor()) {
2233  throw new java.lang.IllegalArgumentException(
2234  "EnumValueDescriptor is not for this type.");
2235  }
2236  return VALUES[desc.getIndex()];
2237  }
2238 
2239  private final int value;
2240 
2241  private MaxSatStratificationAlgorithm(int value) {
2242  this.value = value;
2243  }
2244 
2245  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatStratificationAlgorithm)
2246  }
2247 
2255  public enum SearchBranching
2256  implements com.google.protobuf.ProtocolMessageEnum {
2324  ;
2325 
2334  public static final int AUTOMATIC_SEARCH_VALUE = 0;
2344  public static final int FIXED_SEARCH_VALUE = 1;
2352  public static final int PORTFOLIO_SEARCH_VALUE = 2;
2362  public static final int LP_SEARCH_VALUE = 3;
2372  public static final int PSEUDO_COST_SEARCH_VALUE = 4;
2382  public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
2392  public static final int HINT_SEARCH_VALUE = 6;
2393 
2394 
2395  public final int getNumber() {
2396  return value;
2397  }
2398 
2404  @java.lang.Deprecated
2405  public static SearchBranching valueOf(int value) {
2406  return forNumber(value);
2407  }
2408 
2413  public static SearchBranching forNumber(int value) {
2414  switch (value) {
2415  case 0: return AUTOMATIC_SEARCH;
2416  case 1: return FIXED_SEARCH;
2417  case 2: return PORTFOLIO_SEARCH;
2418  case 3: return LP_SEARCH;
2419  case 4: return PSEUDO_COST_SEARCH;
2420  case 5: return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
2421  case 6: return HINT_SEARCH;
2422  default: return null;
2423  }
2424  }
2425 
2426  public static com.google.protobuf.Internal.EnumLiteMap<SearchBranching>
2428  return internalValueMap;
2429  }
2430  private static final com.google.protobuf.Internal.EnumLiteMap<
2431  SearchBranching> internalValueMap =
2432  new com.google.protobuf.Internal.EnumLiteMap<SearchBranching>() {
2433  public SearchBranching findValueByNumber(int number) {
2434  return SearchBranching.forNumber(number);
2435  }
2436  };
2437 
2438  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2440  return getDescriptor().getValues().get(ordinal());
2441  }
2442  public final com.google.protobuf.Descriptors.EnumDescriptor
2444  return getDescriptor();
2445  }
2446  public static final com.google.protobuf.Descriptors.EnumDescriptor
2448  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
2449  }
2450 
2451  private static final SearchBranching[] VALUES = values();
2452 
2453  public static SearchBranching valueOf(
2454  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2455  if (desc.getType() != getDescriptor()) {
2456  throw new java.lang.IllegalArgumentException(
2457  "EnumValueDescriptor is not for this type.");
2458  }
2459  return VALUES[desc.getIndex()];
2460  }
2461 
2462  private final int value;
2463 
2464  private SearchBranching(int value) {
2465  this.value = value;
2466  }
2467 
2468  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.SearchBranching)
2469  }
2470 
2478  public enum FPRoundingMethod
2479  implements com.google.protobuf.ProtocolMessageEnum {
2520  ;
2521 
2529  public static final int NEAREST_INTEGER_VALUE = 0;
2539  public static final int LOCK_BASED_VALUE = 1;
2548  public static final int ACTIVE_LOCK_BASED_VALUE = 3;
2561  public static final int PROPAGATION_ASSISTED_VALUE = 2;
2562 
2563 
2564  public final int getNumber() {
2565  return value;
2566  }
2567 
2573  @java.lang.Deprecated
2574  public static FPRoundingMethod valueOf(int value) {
2575  return forNumber(value);
2576  }
2577 
2582  public static FPRoundingMethod forNumber(int value) {
2583  switch (value) {
2584  case 0: return NEAREST_INTEGER;
2585  case 1: return LOCK_BASED;
2586  case 3: return ACTIVE_LOCK_BASED;
2587  case 2: return PROPAGATION_ASSISTED;
2588  default: return null;
2589  }
2590  }
2591 
2592  public static com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>
2594  return internalValueMap;
2595  }
2596  private static final com.google.protobuf.Internal.EnumLiteMap<
2597  FPRoundingMethod> internalValueMap =
2598  new com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>() {
2599  public FPRoundingMethod findValueByNumber(int number) {
2600  return FPRoundingMethod.forNumber(number);
2601  }
2602  };
2603 
2604  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2606  return getDescriptor().getValues().get(ordinal());
2607  }
2608  public final com.google.protobuf.Descriptors.EnumDescriptor
2610  return getDescriptor();
2611  }
2612  public static final com.google.protobuf.Descriptors.EnumDescriptor
2614  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(10);
2615  }
2616 
2617  private static final FPRoundingMethod[] VALUES = values();
2618 
2619  public static FPRoundingMethod valueOf(
2620  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2621  if (desc.getType() != getDescriptor()) {
2622  throw new java.lang.IllegalArgumentException(
2623  "EnumValueDescriptor is not for this type.");
2624  }
2625  return VALUES[desc.getIndex()];
2626  }
2627 
2628  private final int value;
2629 
2630  private FPRoundingMethod(int value) {
2631  this.value = value;
2632  }
2633 
2634  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.FPRoundingMethod)
2635  }
2636 
2637  private int bitField0_;
2638  private int bitField1_;
2639  private int bitField2_;
2640  private int bitField3_;
2641  private int bitField4_;
2642  public static final int NAME_FIELD_NUMBER = 171;
2643  private volatile java.lang.Object name_;
2653  @java.lang.Override
2654  public boolean hasName() {
2655  return ((bitField0_ & 0x00000001) != 0);
2656  }
2666  @java.lang.Override
2667  public java.lang.String getName() {
2668  java.lang.Object ref = name_;
2669  if (ref instanceof java.lang.String) {
2670  return (java.lang.String) ref;
2671  } else {
2672  com.google.protobuf.ByteString bs =
2673  (com.google.protobuf.ByteString) ref;
2674  java.lang.String s = bs.toStringUtf8();
2675  if (bs.isValidUtf8()) {
2676  name_ = s;
2677  }
2678  return s;
2679  }
2680  }
2690  @java.lang.Override
2691  public com.google.protobuf.ByteString
2693  java.lang.Object ref = name_;
2694  if (ref instanceof java.lang.String) {
2695  com.google.protobuf.ByteString b =
2696  com.google.protobuf.ByteString.copyFromUtf8(
2697  (java.lang.String) ref);
2698  name_ = b;
2699  return b;
2700  } else {
2701  return (com.google.protobuf.ByteString) ref;
2702  }
2703  }
2704 
2705  public static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER = 1;
2706  private int preferredVariableOrder_;
2711  @java.lang.Override public boolean hasPreferredVariableOrder() {
2712  return ((bitField0_ & 0x00000002) != 0);
2713  }
2719  @SuppressWarnings("deprecation")
2721  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
2722  }
2723 
2724  public static final int INITIAL_POLARITY_FIELD_NUMBER = 2;
2725  private int initialPolarity_;
2730  @java.lang.Override public boolean hasInitialPolarity() {
2731  return ((bitField0_ & 0x00000004) != 0);
2732  }
2738  @SuppressWarnings("deprecation")
2740  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
2741  }
2742 
2743  public static final int USE_PHASE_SAVING_FIELD_NUMBER = 44;
2744  private boolean usePhaseSaving_;
2761  @java.lang.Override
2762  public boolean hasUsePhaseSaving() {
2763  return ((bitField0_ & 0x00000008) != 0);
2764  }
2781  @java.lang.Override
2782  public boolean getUsePhaseSaving() {
2783  return usePhaseSaving_;
2784  }
2785 
2786  public static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER = 168;
2787  private int polarityRephaseIncrement_;
2798  @java.lang.Override
2799  public boolean hasPolarityRephaseIncrement() {
2800  return ((bitField0_ & 0x00000010) != 0);
2801  }
2812  @java.lang.Override
2814  return polarityRephaseIncrement_;
2815  }
2816 
2817  public static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER = 45;
2818  private double randomPolarityRatio_;
2831  @java.lang.Override
2832  public boolean hasRandomPolarityRatio() {
2833  return ((bitField0_ & 0x00000020) != 0);
2834  }
2847  @java.lang.Override
2848  public double getRandomPolarityRatio() {
2849  return randomPolarityRatio_;
2850  }
2851 
2852  public static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER = 32;
2853  private double randomBranchesRatio_;
2864  @java.lang.Override
2865  public boolean hasRandomBranchesRatio() {
2866  return ((bitField0_ & 0x00000040) != 0);
2867  }
2878  @java.lang.Override
2879  public double getRandomBranchesRatio() {
2880  return randomBranchesRatio_;
2881  }
2882 
2883  public static final int USE_ERWA_HEURISTIC_FIELD_NUMBER = 75;
2884  private boolean useErwaHeuristic_;
2895  @java.lang.Override
2896  public boolean hasUseErwaHeuristic() {
2897  return ((bitField0_ & 0x00000080) != 0);
2898  }
2909  @java.lang.Override
2910  public boolean getUseErwaHeuristic() {
2911  return useErwaHeuristic_;
2912  }
2913 
2914  public static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER = 76;
2915  private double initialVariablesActivity_;
2929  @java.lang.Override
2930  public boolean hasInitialVariablesActivity() {
2931  return ((bitField0_ & 0x00000100) != 0);
2932  }
2946  @java.lang.Override
2948  return initialVariablesActivity_;
2949  }
2950 
2952  private boolean alsoBumpVariablesInConflictReasons_;
2964  @java.lang.Override
2966  return ((bitField0_ & 0x00000200) != 0);
2967  }
2979  @java.lang.Override
2981  return alsoBumpVariablesInConflictReasons_;
2982  }
2983 
2984  public static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER = 4;
2985  private int minimizationAlgorithm_;
2990  @java.lang.Override public boolean hasMinimizationAlgorithm() {
2991  return ((bitField0_ & 0x00000400) != 0);
2992  }
2998  @SuppressWarnings("deprecation")
3000  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
3001  }
3002 
3003  public static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER = 34;
3004  private int binaryMinimizationAlgorithm_;
3009  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
3010  return ((bitField0_ & 0x00000800) != 0);
3011  }
3017  @SuppressWarnings("deprecation")
3020  }
3021 
3023  private boolean subsumptionDuringConflictAnalysis_;
3035  @java.lang.Override
3037  return ((bitField0_ & 0x00001000) != 0);
3038  }
3050  @java.lang.Override
3052  return subsumptionDuringConflictAnalysis_;
3053  }
3054 
3055  public static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER = 11;
3056  private int clauseCleanupPeriod_;
3065  @java.lang.Override
3066  public boolean hasClauseCleanupPeriod() {
3067  return ((bitField0_ & 0x00002000) != 0);
3068  }
3077  @java.lang.Override
3078  public int getClauseCleanupPeriod() {
3079  return clauseCleanupPeriod_;
3080  }
3081 
3082  public static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER = 13;
3083  private int clauseCleanupTarget_;
3093  @java.lang.Override
3094  public boolean hasClauseCleanupTarget() {
3095  return ((bitField0_ & 0x00004000) != 0);
3096  }
3106  @java.lang.Override
3107  public int getClauseCleanupTarget() {
3108  return clauseCleanupTarget_;
3109  }
3110 
3111  public static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER = 58;
3112  private int clauseCleanupProtection_;
3117  @java.lang.Override public boolean hasClauseCleanupProtection() {
3118  return ((bitField0_ & 0x00008000) != 0);
3119  }
3125  @SuppressWarnings("deprecation")
3127  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
3128  }
3129 
3130  public static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER = 59;
3131  private int clauseCleanupLbdBound_;
3141  @java.lang.Override
3142  public boolean hasClauseCleanupLbdBound() {
3143  return ((bitField0_ & 0x00010000) != 0);
3144  }
3154  @java.lang.Override
3156  return clauseCleanupLbdBound_;
3157  }
3158 
3159  public static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER = 60;
3160  private int clauseCleanupOrdering_;
3165  @java.lang.Override public boolean hasClauseCleanupOrdering() {
3166  return ((bitField0_ & 0x00020000) != 0);
3167  }
3173  @SuppressWarnings("deprecation")
3175  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
3176  }
3177 
3178  public static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER = 46;
3179  private int pbCleanupIncrement_;
3188  @java.lang.Override
3189  public boolean hasPbCleanupIncrement() {
3190  return ((bitField0_ & 0x00040000) != 0);
3191  }
3200  @java.lang.Override
3201  public int getPbCleanupIncrement() {
3202  return pbCleanupIncrement_;
3203  }
3204 
3205  public static final int PB_CLEANUP_RATIO_FIELD_NUMBER = 47;
3206  private double pbCleanupRatio_;
3211  @java.lang.Override
3212  public boolean hasPbCleanupRatio() {
3213  return ((bitField0_ & 0x00080000) != 0);
3214  }
3219  @java.lang.Override
3220  public double getPbCleanupRatio() {
3221  return pbCleanupRatio_;
3222  }
3223 
3225  private int minimizeWithPropagationRestartPeriod_;
3244  @java.lang.Override
3246  return ((bitField0_ & 0x00100000) != 0);
3247  }
3266  @java.lang.Override
3268  return minimizeWithPropagationRestartPeriod_;
3269  }
3270 
3272  private int minimizeWithPropagationNumDecisions_;
3277  @java.lang.Override
3279  return ((bitField0_ & 0x00200000) != 0);
3280  }
3285  @java.lang.Override
3287  return minimizeWithPropagationNumDecisions_;
3288  }
3289 
3290  public static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER = 15;
3291  private double variableActivityDecay_;
3306  @java.lang.Override
3307  public boolean hasVariableActivityDecay() {
3308  return ((bitField0_ & 0x00400000) != 0);
3309  }
3324  @java.lang.Override
3325  public double getVariableActivityDecay() {
3326  return variableActivityDecay_;
3327  }
3328 
3329  public static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER = 16;
3330  private double maxVariableActivityValue_;
3335  @java.lang.Override
3336  public boolean hasMaxVariableActivityValue() {
3337  return ((bitField0_ & 0x00800000) != 0);
3338  }
3343  @java.lang.Override
3345  return maxVariableActivityValue_;
3346  }
3347 
3348  public static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER = 22;
3349  private double glucoseMaxDecay_;
3361  @java.lang.Override
3362  public boolean hasGlucoseMaxDecay() {
3363  return ((bitField0_ & 0x01000000) != 0);
3364  }
3376  @java.lang.Override
3377  public double getGlucoseMaxDecay() {
3378  return glucoseMaxDecay_;
3379  }
3380 
3381  public static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER = 23;
3382  private double glucoseDecayIncrement_;
3387  @java.lang.Override
3388  public boolean hasGlucoseDecayIncrement() {
3389  return ((bitField0_ & 0x02000000) != 0);
3390  }
3395  @java.lang.Override
3396  public double getGlucoseDecayIncrement() {
3397  return glucoseDecayIncrement_;
3398  }
3399 
3400  public static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER = 24;
3401  private int glucoseDecayIncrementPeriod_;
3406  @java.lang.Override
3408  return ((bitField0_ & 0x04000000) != 0);
3409  }
3414  @java.lang.Override
3416  return glucoseDecayIncrementPeriod_;
3417  }
3418 
3419  public static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER = 17;
3420  private double clauseActivityDecay_;
3429  @java.lang.Override
3430  public boolean hasClauseActivityDecay() {
3431  return ((bitField0_ & 0x08000000) != 0);
3432  }
3441  @java.lang.Override
3442  public double getClauseActivityDecay() {
3443  return clauseActivityDecay_;
3444  }
3445 
3446  public static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER = 18;
3447  private double maxClauseActivityValue_;
3452  @java.lang.Override
3453  public boolean hasMaxClauseActivityValue() {
3454  return ((bitField0_ & 0x10000000) != 0);
3455  }
3460  @java.lang.Override
3461  public double getMaxClauseActivityValue() {
3462  return maxClauseActivityValue_;
3463  }
3464 
3465  public static final int RESTART_ALGORITHMS_FIELD_NUMBER = 61;
3466  private java.util.List<java.lang.Integer> restartAlgorithms_;
3467  private static final com.google.protobuf.Internal.ListAdapter.Converter<
3468  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm> restartAlgorithms_converter_ =
3469  new com.google.protobuf.Internal.ListAdapter.Converter<
3470  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>() {
3471  public com.google.ortools.sat.SatParameters.RestartAlgorithm convert(java.lang.Integer from) {
3472  @SuppressWarnings("deprecation")
3474  return result == null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
3475  }
3476  };
3492  @java.lang.Override
3494  return new com.google.protobuf.Internal.ListAdapter<
3495  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
3496  }
3512  @java.lang.Override
3514  return restartAlgorithms_.size();
3515  }
3532  @java.lang.Override
3534  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
3535  }
3536 
3537  public static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER = 70;
3538  private volatile java.lang.Object defaultRestartAlgorithms_;
3543  @java.lang.Override
3544  public boolean hasDefaultRestartAlgorithms() {
3545  return ((bitField0_ & 0x20000000) != 0);
3546  }
3551  @java.lang.Override
3552  public java.lang.String getDefaultRestartAlgorithms() {
3553  java.lang.Object ref = defaultRestartAlgorithms_;
3554  if (ref instanceof java.lang.String) {
3555  return (java.lang.String) ref;
3556  } else {
3557  com.google.protobuf.ByteString bs =
3558  (com.google.protobuf.ByteString) ref;
3559  java.lang.String s = bs.toStringUtf8();
3560  if (bs.isValidUtf8()) {
3561  defaultRestartAlgorithms_ = s;
3562  }
3563  return s;
3564  }
3565  }
3570  @java.lang.Override
3571  public com.google.protobuf.ByteString
3573  java.lang.Object ref = defaultRestartAlgorithms_;
3574  if (ref instanceof java.lang.String) {
3575  com.google.protobuf.ByteString b =
3576  com.google.protobuf.ByteString.copyFromUtf8(
3577  (java.lang.String) ref);
3578  defaultRestartAlgorithms_ = b;
3579  return b;
3580  } else {
3581  return (com.google.protobuf.ByteString) ref;
3582  }
3583  }
3584 
3585  public static final int RESTART_PERIOD_FIELD_NUMBER = 30;
3586  private int restartPeriod_;
3596  @java.lang.Override
3597  public boolean hasRestartPeriod() {
3598  return ((bitField0_ & 0x40000000) != 0);
3599  }
3609  @java.lang.Override
3610  public int getRestartPeriod() {
3611  return restartPeriod_;
3612  }
3613 
3614  public static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER = 62;
3615  private int restartRunningWindowSize_;
3624  @java.lang.Override
3625  public boolean hasRestartRunningWindowSize() {
3626  return ((bitField0_ & 0x80000000) != 0);
3627  }
3636  @java.lang.Override
3638  return restartRunningWindowSize_;
3639  }
3640 
3641  public static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER = 63;
3642  private double restartDlAverageRatio_;
3652  @java.lang.Override
3653  public boolean hasRestartDlAverageRatio() {
3654  return ((bitField1_ & 0x00000001) != 0);
3655  }
3665  @java.lang.Override
3666  public double getRestartDlAverageRatio() {
3667  return restartDlAverageRatio_;
3668  }
3669 
3670  public static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER = 71;
3671  private double restartLbdAverageRatio_;
3676  @java.lang.Override
3677  public boolean hasRestartLbdAverageRatio() {
3678  return ((bitField1_ & 0x00000002) != 0);
3679  }
3684  @java.lang.Override
3685  public double getRestartLbdAverageRatio() {
3686  return restartLbdAverageRatio_;
3687  }
3688 
3689  public static final int USE_BLOCKING_RESTART_FIELD_NUMBER = 64;
3690  private boolean useBlockingRestart_;
3701  @java.lang.Override
3702  public boolean hasUseBlockingRestart() {
3703  return ((bitField1_ & 0x00000004) != 0);
3704  }
3715  @java.lang.Override
3716  public boolean getUseBlockingRestart() {
3717  return useBlockingRestart_;
3718  }
3719 
3720  public static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER = 65;
3721  private int blockingRestartWindowSize_;
3726  @java.lang.Override
3727  public boolean hasBlockingRestartWindowSize() {
3728  return ((bitField1_ & 0x00000008) != 0);
3729  }
3734  @java.lang.Override
3736  return blockingRestartWindowSize_;
3737  }
3738 
3739  public static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER = 66;
3740  private double blockingRestartMultiplier_;
3745  @java.lang.Override
3746  public boolean hasBlockingRestartMultiplier() {
3747  return ((bitField1_ & 0x00000010) != 0);
3748  }
3753  @java.lang.Override
3755  return blockingRestartMultiplier_;
3756  }
3757 
3759  private int numConflictsBeforeStrategyChanges_;
3770  @java.lang.Override
3772  return ((bitField1_ & 0x00000020) != 0);
3773  }
3784  @java.lang.Override
3786  return numConflictsBeforeStrategyChanges_;
3787  }
3788 
3789  public static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER = 69;
3790  private double strategyChangeIncreaseRatio_;
3800  @java.lang.Override
3802  return ((bitField1_ & 0x00000040) != 0);
3803  }
3813  @java.lang.Override
3815  return strategyChangeIncreaseRatio_;
3816  }
3817 
3818  public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 36;
3819  private double maxTimeInSeconds_;
3829  @java.lang.Override
3830  public boolean hasMaxTimeInSeconds() {
3831  return ((bitField1_ & 0x00000080) != 0);
3832  }
3842  @java.lang.Override
3843  public double getMaxTimeInSeconds() {
3844  return maxTimeInSeconds_;
3845  }
3846 
3847  public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 67;
3848  private double maxDeterministicTime_;
3859  @java.lang.Override
3860  public boolean hasMaxDeterministicTime() {
3861  return ((bitField1_ & 0x00000100) != 0);
3862  }
3873  @java.lang.Override
3874  public double getMaxDeterministicTime() {
3875  return maxDeterministicTime_;
3876  }
3877 
3878  public static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER = 37;
3879  private long maxNumberOfConflicts_;
3893  @java.lang.Override
3894  public boolean hasMaxNumberOfConflicts() {
3895  return ((bitField1_ & 0x00000200) != 0);
3896  }
3910  @java.lang.Override
3911  public long getMaxNumberOfConflicts() {
3912  return maxNumberOfConflicts_;
3913  }
3914 
3915  public static final int MAX_MEMORY_IN_MB_FIELD_NUMBER = 40;
3916  private long maxMemoryInMb_;
3928  @java.lang.Override
3929  public boolean hasMaxMemoryInMb() {
3930  return ((bitField1_ & 0x00000400) != 0);
3931  }
3943  @java.lang.Override
3944  public long getMaxMemoryInMb() {
3945  return maxMemoryInMb_;
3946  }
3947 
3948  public static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER = 159;
3949  private double absoluteGapLimit_;
3967  @java.lang.Override
3968  public boolean hasAbsoluteGapLimit() {
3969  return ((bitField1_ & 0x00000800) != 0);
3970  }
3988  @java.lang.Override
3989  public double getAbsoluteGapLimit() {
3990  return absoluteGapLimit_;
3991  }
3992 
3993  public static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER = 160;
3994  private double relativeGapLimit_;
3999  @java.lang.Override
4000  public boolean hasRelativeGapLimit() {
4001  return ((bitField1_ & 0x00001000) != 0);
4002  }
4007  @java.lang.Override
4008  public double getRelativeGapLimit() {
4009  return relativeGapLimit_;
4010  }
4011 
4012  public static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER = 33;
4013  private boolean treatBinaryClausesSeparately_;
4024  @java.lang.Override
4026  return ((bitField1_ & 0x00002000) != 0);
4027  }
4038  @java.lang.Override
4040  return treatBinaryClausesSeparately_;
4041  }
4042 
4043  public static final int RANDOM_SEED_FIELD_NUMBER = 31;
4044  private int randomSeed_;
4058  @java.lang.Override
4059  public boolean hasRandomSeed() {
4060  return ((bitField1_ & 0x00004000) != 0);
4061  }
4075  @java.lang.Override
4076  public int getRandomSeed() {
4077  return randomSeed_;
4078  }
4079 
4080  public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 41;
4081  private boolean logSearchProgress_;
4090  @java.lang.Override
4091  public boolean hasLogSearchProgress() {
4092  return ((bitField1_ & 0x00008000) != 0);
4093  }
4102  @java.lang.Override
4103  public boolean getLogSearchProgress() {
4104  return logSearchProgress_;
4105  }
4106 
4107  public static final int USE_PB_RESOLUTION_FIELD_NUMBER = 43;
4108  private boolean usePbResolution_;
4120  @java.lang.Override
4121  public boolean hasUsePbResolution() {
4122  return ((bitField1_ & 0x00010000) != 0);
4123  }
4135  @java.lang.Override
4136  public boolean getUsePbResolution() {
4137  return usePbResolution_;
4138  }
4139 
4141  private boolean minimizeReductionDuringPbResolution_;
4153  @java.lang.Override
4155  return ((bitField1_ & 0x00020000) != 0);
4156  }
4168  @java.lang.Override
4170  return minimizeReductionDuringPbResolution_;
4171  }
4172 
4173  public static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER = 49;
4174  private boolean countAssumptionLevelsInLbd_;
4190  @java.lang.Override
4192  return ((bitField1_ & 0x00040000) != 0);
4193  }
4209  @java.lang.Override
4211  return countAssumptionLevelsInLbd_;
4212  }
4213 
4214  public static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER = 54;
4215  private int presolveBveThreshold_;
4226  @java.lang.Override
4227  public boolean hasPresolveBveThreshold() {
4228  return ((bitField1_ & 0x00080000) != 0);
4229  }
4240  @java.lang.Override
4242  return presolveBveThreshold_;
4243  }
4244 
4245  public static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER = 55;
4246  private int presolveBveClauseWeight_;
4256  @java.lang.Override
4257  public boolean hasPresolveBveClauseWeight() {
4258  return ((bitField1_ & 0x00100000) != 0);
4259  }
4269  @java.lang.Override
4271  return presolveBveClauseWeight_;
4272  }
4273 
4275  private double presolveProbingDeterministicTimeLimit_;
4285  @java.lang.Override
4287  return ((bitField1_ & 0x00200000) != 0);
4288  }
4298  @java.lang.Override
4300  return presolveProbingDeterministicTimeLimit_;
4301  }
4302 
4303  public static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER = 88;
4304  private boolean presolveBlockedClause_;
4314  @java.lang.Override
4315  public boolean hasPresolveBlockedClause() {
4316  return ((bitField1_ & 0x00400000) != 0);
4317  }
4327  @java.lang.Override
4328  public boolean getPresolveBlockedClause() {
4329  return presolveBlockedClause_;
4330  }
4331 
4332  public static final int PRESOLVE_USE_BVA_FIELD_NUMBER = 72;
4333  private boolean presolveUseBva_;
4342  @java.lang.Override
4343  public boolean hasPresolveUseBva() {
4344  return ((bitField1_ & 0x00800000) != 0);
4345  }
4354  @java.lang.Override
4355  public boolean getPresolveUseBva() {
4356  return presolveUseBva_;
4357  }
4358 
4359  public static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER = 73;
4360  private int presolveBvaThreshold_;
4372  @java.lang.Override
4373  public boolean hasPresolveBvaThreshold() {
4374  return ((bitField1_ & 0x01000000) != 0);
4375  }
4387  @java.lang.Override
4389  return presolveBvaThreshold_;
4390  }
4391 
4392  public static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER = 138;
4393  private int maxPresolveIterations_;
4404  @java.lang.Override
4405  public boolean hasMaxPresolveIterations() {
4406  return ((bitField1_ & 0x02000000) != 0);
4407  }
4418  @java.lang.Override
4420  return maxPresolveIterations_;
4421  }
4422 
4423  public static final int CP_MODEL_PRESOLVE_FIELD_NUMBER = 86;
4424  private boolean cpModelPresolve_;
4433  @java.lang.Override
4434  public boolean hasCpModelPresolve() {
4435  return ((bitField1_ & 0x04000000) != 0);
4436  }
4445  @java.lang.Override
4446  public boolean getCpModelPresolve() {
4447  return cpModelPresolve_;
4448  }
4449 
4451  private boolean cpModelPostsolveWithFullSolver_;
4463  @java.lang.Override
4465  return ((bitField1_ & 0x08000000) != 0);
4466  }
4478  @java.lang.Override
4480  return cpModelPostsolveWithFullSolver_;
4481  }
4482 
4484  private int cpModelMaxNumPresolveOperations_;
4494  @java.lang.Override
4496  return ((bitField1_ & 0x10000000) != 0);
4497  }
4507  @java.lang.Override
4509  return cpModelMaxNumPresolveOperations_;
4510  }
4511 
4512  public static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER = 110;
4513  private int cpModelProbingLevel_;
4522  @java.lang.Override
4523  public boolean hasCpModelProbingLevel() {
4524  return ((bitField1_ & 0x20000000) != 0);
4525  }
4534  @java.lang.Override
4535  public int getCpModelProbingLevel() {
4536  return cpModelProbingLevel_;
4537  }
4538 
4539  public static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER = 93;
4540  private boolean cpModelUseSatPresolve_;
4549  @java.lang.Override
4550  public boolean hasCpModelUseSatPresolve() {
4551  return ((bitField1_ & 0x40000000) != 0);
4552  }
4561  @java.lang.Override
4562  public boolean getCpModelUseSatPresolve() {
4563  return cpModelUseSatPresolve_;
4564  }
4565 
4566  public static final int USE_SAT_INPROCESSING_FIELD_NUMBER = 163;
4567  private boolean useSatInprocessing_;
4572  @java.lang.Override
4573  public boolean hasUseSatInprocessing() {
4574  return ((bitField1_ & 0x80000000) != 0);
4575  }
4580  @java.lang.Override
4581  public boolean getUseSatInprocessing() {
4582  return useSatInprocessing_;
4583  }
4584 
4585  public static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER = 140;
4586  private boolean expandElementConstraints_;
4596  @java.lang.Override
4597  public boolean hasExpandElementConstraints() {
4598  return ((bitField2_ & 0x00000001) != 0);
4599  }
4609  @java.lang.Override
4610  public boolean getExpandElementConstraints() {
4611  return expandElementConstraints_;
4612  }
4613 
4614  public static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER = 143;
4615  private boolean expandAutomatonConstraints_;
4624  @java.lang.Override
4626  return ((bitField2_ & 0x00000002) != 0);
4627  }
4636  @java.lang.Override
4638  return expandAutomatonConstraints_;
4639  }
4640 
4641  public static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER = 158;
4642  private boolean expandTableConstraints_;
4652  @java.lang.Override
4653  public boolean hasExpandTableConstraints() {
4654  return ((bitField2_ & 0x00000004) != 0);
4655  }
4665  @java.lang.Override
4666  public boolean getExpandTableConstraints() {
4667  return expandTableConstraints_;
4668  }
4669 
4670  public static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER = 170;
4671  private boolean expandAlldiffConstraints_;
4681  @java.lang.Override
4682  public boolean hasExpandAlldiffConstraints() {
4683  return ((bitField2_ & 0x00000008) != 0);
4684  }
4694  @java.lang.Override
4695  public boolean getExpandAlldiffConstraints() {
4696  return expandAlldiffConstraints_;
4697  }
4698 
4699  public static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER = 145;
4700  private double mergeNoOverlapWorkLimit_;
4713  @java.lang.Override
4714  public boolean hasMergeNoOverlapWorkLimit() {
4715  return ((bitField2_ & 0x00000010) != 0);
4716  }
4729  @java.lang.Override
4730  public double getMergeNoOverlapWorkLimit() {
4731  return mergeNoOverlapWorkLimit_;
4732  }
4733 
4734  public static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER = 146;
4735  private double mergeAtMostOneWorkLimit_;
4740  @java.lang.Override
4741  public boolean hasMergeAtMostOneWorkLimit() {
4742  return ((bitField2_ & 0x00000020) != 0);
4743  }
4748  @java.lang.Override
4749  public double getMergeAtMostOneWorkLimit() {
4750  return mergeAtMostOneWorkLimit_;
4751  }
4752 
4753  public static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER = 147;
4754  private int presolveSubstitutionLevel_;
4766  @java.lang.Override
4767  public boolean hasPresolveSubstitutionLevel() {
4768  return ((bitField2_ & 0x00000040) != 0);
4769  }
4781  @java.lang.Override
4783  return presolveSubstitutionLevel_;
4784  }
4785 
4787  private boolean presolveExtractIntegerEnforcement_;
4801  @java.lang.Override
4803  return ((bitField2_ & 0x00000080) != 0);
4804  }
4818  @java.lang.Override
4820  return presolveExtractIntegerEnforcement_;
4821  }
4822 
4823  public static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER = 35;
4824  private boolean useOptimizationHints_;
4836  @java.lang.Override
4837  public boolean hasUseOptimizationHints() {
4838  return ((bitField2_ & 0x00000100) != 0);
4839  }
4851  @java.lang.Override
4852  public boolean getUseOptimizationHints() {
4853  return useOptimizationHints_;
4854  }
4855 
4856  public static final int MINIMIZE_CORE_FIELD_NUMBER = 50;
4857  private boolean minimizeCore_;
4866  @java.lang.Override
4867  public boolean hasMinimizeCore() {
4868  return ((bitField2_ & 0x00000200) != 0);
4869  }
4878  @java.lang.Override
4879  public boolean getMinimizeCore() {
4880  return minimizeCore_;
4881  }
4882 
4883  public static final int FIND_MULTIPLE_CORES_FIELD_NUMBER = 84;
4884  private boolean findMultipleCores_;
4894  @java.lang.Override
4895  public boolean hasFindMultipleCores() {
4896  return ((bitField2_ & 0x00000400) != 0);
4897  }
4907  @java.lang.Override
4908  public boolean getFindMultipleCores() {
4909  return findMultipleCores_;
4910  }
4911 
4912  public static final int COVER_OPTIMIZATION_FIELD_NUMBER = 89;
4913  private boolean coverOptimization_;
4923  @java.lang.Override
4924  public boolean hasCoverOptimization() {
4925  return ((bitField2_ & 0x00000800) != 0);
4926  }
4936  @java.lang.Override
4937  public boolean getCoverOptimization() {
4938  return coverOptimization_;
4939  }
4940 
4941  public static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER = 51;
4942  private int maxSatAssumptionOrder_;
4947  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
4948  return ((bitField2_ & 0x00001000) != 0);
4949  }
4955  @SuppressWarnings("deprecation")
4958  }
4959 
4961  private boolean maxSatReverseAssumptionOrder_;
4971  @java.lang.Override
4973  return ((bitField2_ & 0x00002000) != 0);
4974  }
4984  @java.lang.Override
4986  return maxSatReverseAssumptionOrder_;
4987  }
4988 
4989  public static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER = 53;
4990  private int maxSatStratification_;
4995  @java.lang.Override public boolean hasMaxSatStratification() {
4996  return ((bitField2_ & 0x00004000) != 0);
4997  }
5003  @SuppressWarnings("deprecation")
5006  }
5007 
5009  private boolean usePrecedencesInDisjunctiveConstraint_;
5025  @java.lang.Override
5027  return ((bitField2_ & 0x00008000) != 0);
5028  }
5044  @java.lang.Override
5046  return usePrecedencesInDisjunctiveConstraint_;
5047  }
5048 
5050  private boolean useOverloadCheckerInCumulativeConstraint_;
5064  @java.lang.Override
5066  return ((bitField2_ & 0x00010000) != 0);
5067  }
5081  @java.lang.Override
5083  return useOverloadCheckerInCumulativeConstraint_;
5084  }
5085 
5087  private boolean useTimetableEdgeFindingInCumulativeConstraint_;
5101  @java.lang.Override
5103  return ((bitField2_ & 0x00020000) != 0);
5104  }
5118  @java.lang.Override
5120  return useTimetableEdgeFindingInCumulativeConstraint_;
5121  }
5122 
5124  private boolean useDisjunctiveConstraintInCumulativeConstraint_;
5140  @java.lang.Override
5142  return ((bitField2_ & 0x00040000) != 0);
5143  }
5159  @java.lang.Override
5161  return useDisjunctiveConstraintInCumulativeConstraint_;
5162  }
5163 
5164  public static final int LINEARIZATION_LEVEL_FIELD_NUMBER = 90;
5165  private int linearizationLevel_;
5177  @java.lang.Override
5178  public boolean hasLinearizationLevel() {
5179  return ((bitField2_ & 0x00080000) != 0);
5180  }
5192  @java.lang.Override
5193  public int getLinearizationLevel() {
5194  return linearizationLevel_;
5195  }
5196 
5197  public static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER = 107;
5198  private int booleanEncodingLevel_;
5208  @java.lang.Override
5209  public boolean hasBooleanEncodingLevel() {
5210  return ((bitField2_ & 0x00100000) != 0);
5211  }
5221  @java.lang.Override
5223  return booleanEncodingLevel_;
5224  }
5225 
5226  public static final int MAX_NUM_CUTS_FIELD_NUMBER = 91;
5227  private int maxNumCuts_;
5239  @java.lang.Override
5240  public boolean hasMaxNumCuts() {
5241  return ((bitField2_ & 0x00200000) != 0);
5242  }
5254  @java.lang.Override
5255  public int getMaxNumCuts() {
5256  return maxNumCuts_;
5257  }
5258 
5259  public static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER = 92;
5260  private boolean onlyAddCutsAtLevelZero_;
5270  @java.lang.Override
5271  public boolean hasOnlyAddCutsAtLevelZero() {
5272  return ((bitField2_ & 0x00400000) != 0);
5273  }
5283  @java.lang.Override
5284  public boolean getOnlyAddCutsAtLevelZero() {
5285  return onlyAddCutsAtLevelZero_;
5286  }
5287 
5288  public static final int ADD_KNAPSACK_CUTS_FIELD_NUMBER = 111;
5289  private boolean addKnapsackCuts_;
5300  @java.lang.Override
5301  public boolean hasAddKnapsackCuts() {
5302  return ((bitField2_ & 0x00800000) != 0);
5303  }
5314  @java.lang.Override
5315  public boolean getAddKnapsackCuts() {
5316  return addKnapsackCuts_;
5317  }
5318 
5319  public static final int ADD_CG_CUTS_FIELD_NUMBER = 117;
5320  private boolean addCgCuts_;
5330  @java.lang.Override
5331  public boolean hasAddCgCuts() {
5332  return ((bitField2_ & 0x01000000) != 0);
5333  }
5343  @java.lang.Override
5344  public boolean getAddCgCuts() {
5345  return addCgCuts_;
5346  }
5347 
5348  public static final int ADD_MIR_CUTS_FIELD_NUMBER = 120;
5349  private boolean addMirCuts_;
5359  @java.lang.Override
5360  public boolean hasAddMirCuts() {
5361  return ((bitField2_ & 0x02000000) != 0);
5362  }
5372  @java.lang.Override
5373  public boolean getAddMirCuts() {
5374  return addMirCuts_;
5375  }
5376 
5377  public static final int ADD_ZERO_HALF_CUTS_FIELD_NUMBER = 169;
5378  private boolean addZeroHalfCuts_;
5388  @java.lang.Override
5389  public boolean hasAddZeroHalfCuts() {
5390  return ((bitField2_ & 0x04000000) != 0);
5391  }
5401  @java.lang.Override
5402  public boolean getAddZeroHalfCuts() {
5403  return addZeroHalfCuts_;
5404  }
5405 
5406  public static final int ADD_CLIQUE_CUTS_FIELD_NUMBER = 172;
5407  private boolean addCliqueCuts_;
5418  @java.lang.Override
5419  public boolean hasAddCliqueCuts() {
5420  return ((bitField2_ & 0x08000000) != 0);
5421  }
5432  @java.lang.Override
5433  public boolean getAddCliqueCuts() {
5434  return addCliqueCuts_;
5435  }
5436 
5437  public static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER = 148;
5438  private int maxAllDiffCutSize_;
5449  @java.lang.Override
5450  public boolean hasMaxAllDiffCutSize() {
5451  return ((bitField2_ & 0x10000000) != 0);
5452  }
5463  @java.lang.Override
5464  public int getMaxAllDiffCutSize() {
5465  return maxAllDiffCutSize_;
5466  }
5467 
5468  public static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER = 152;
5469  private boolean addLinMaxCuts_;
5480  @java.lang.Override
5481  public boolean hasAddLinMaxCuts() {
5482  return ((bitField2_ & 0x20000000) != 0);
5483  }
5494  @java.lang.Override
5495  public boolean getAddLinMaxCuts() {
5496  return addLinMaxCuts_;
5497  }
5498 
5499  public static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER = 119;
5500  private int maxIntegerRoundingScaling_;
5515  @java.lang.Override
5516  public boolean hasMaxIntegerRoundingScaling() {
5517  return ((bitField2_ & 0x40000000) != 0);
5518  }
5533  @java.lang.Override
5535  return maxIntegerRoundingScaling_;
5536  }
5537 
5538  public static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER = 112;
5539  private boolean addLpConstraintsLazily_;
5551  @java.lang.Override
5552  public boolean hasAddLpConstraintsLazily() {
5553  return ((bitField2_ & 0x80000000) != 0);
5554  }
5566  @java.lang.Override
5567  public boolean getAddLpConstraintsLazily() {
5568  return addLpConstraintsLazily_;
5569  }
5570 
5572  private double minOrthogonalityForLpConstraints_;
5585  @java.lang.Override
5587  return ((bitField3_ & 0x00000001) != 0);
5588  }
5601  @java.lang.Override
5603  return minOrthogonalityForLpConstraints_;
5604  }
5605 
5606  public static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER = 154;
5607  private int maxCutRoundsAtLevelZero_;
5616  @java.lang.Override
5617  public boolean hasMaxCutRoundsAtLevelZero() {
5618  return ((bitField3_ & 0x00000002) != 0);
5619  }
5628  @java.lang.Override
5630  return maxCutRoundsAtLevelZero_;
5631  }
5632 
5633  public static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER = 121;
5634  private int maxConsecutiveInactiveCount_;
5645  @java.lang.Override
5647  return ((bitField3_ & 0x00000004) != 0);
5648  }
5659  @java.lang.Override
5661  return maxConsecutiveInactiveCount_;
5662  }
5663 
5664  public static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER = 155;
5665  private double cutMaxActiveCountValue_;
5676  @java.lang.Override
5677  public boolean hasCutMaxActiveCountValue() {
5678  return ((bitField3_ & 0x00000008) != 0);
5679  }
5690  @java.lang.Override
5691  public double getCutMaxActiveCountValue() {
5692  return cutMaxActiveCountValue_;
5693  }
5694 
5695  public static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER = 156;
5696  private double cutActiveCountDecay_;
5701  @java.lang.Override
5702  public boolean hasCutActiveCountDecay() {
5703  return ((bitField3_ & 0x00000010) != 0);
5704  }
5709  @java.lang.Override
5710  public double getCutActiveCountDecay() {
5711  return cutActiveCountDecay_;
5712  }
5713 
5714  public static final int CUT_CLEANUP_TARGET_FIELD_NUMBER = 157;
5715  private int cutCleanupTarget_;
5724  @java.lang.Override
5725  public boolean hasCutCleanupTarget() {
5726  return ((bitField3_ & 0x00000020) != 0);
5727  }
5736  @java.lang.Override
5737  public int getCutCleanupTarget() {
5738  return cutCleanupTarget_;
5739  }
5740 
5741  public static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER = 122;
5742  private int newConstraintsBatchSize_;
5752  @java.lang.Override
5753  public boolean hasNewConstraintsBatchSize() {
5754  return ((bitField3_ & 0x00000040) != 0);
5755  }
5765  @java.lang.Override
5767  return newConstraintsBatchSize_;
5768  }
5769 
5770  public static final int SEARCH_BRANCHING_FIELD_NUMBER = 82;
5771  private int searchBranching_;
5776  @java.lang.Override public boolean hasSearchBranching() {
5777  return ((bitField3_ & 0x00000080) != 0);
5778  }
5784  @SuppressWarnings("deprecation")
5786  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
5787  }
5788 
5789  public static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER = 153;
5790  private int hintConflictLimit_;
5799  @java.lang.Override
5800  public boolean hasHintConflictLimit() {
5801  return ((bitField3_ & 0x00000100) != 0);
5802  }
5811  @java.lang.Override
5812  public int getHintConflictLimit() {
5813  return hintConflictLimit_;
5814  }
5815 
5816  public static final int REPAIR_HINT_FIELD_NUMBER = 167;
5817  private boolean repairHint_;
5829  @java.lang.Override
5830  public boolean hasRepairHint() {
5831  return ((bitField3_ & 0x00000200) != 0);
5832  }
5844  @java.lang.Override
5845  public boolean getRepairHint() {
5846  return repairHint_;
5847  }
5848 
5849  public static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER = 94;
5850  private boolean exploitIntegerLpSolution_;
5862  @java.lang.Override
5863  public boolean hasExploitIntegerLpSolution() {
5864  return ((bitField3_ & 0x00000400) != 0);
5865  }
5877  @java.lang.Override
5878  public boolean getExploitIntegerLpSolution() {
5879  return exploitIntegerLpSolution_;
5880  }
5881 
5882  public static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER = 116;
5883  private boolean exploitAllLpSolution_;
5894  @java.lang.Override
5895  public boolean hasExploitAllLpSolution() {
5896  return ((bitField3_ & 0x00000800) != 0);
5897  }
5908  @java.lang.Override
5909  public boolean getExploitAllLpSolution() {
5910  return exploitAllLpSolution_;
5911  }
5912 
5913  public static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER = 130;
5914  private boolean exploitBestSolution_;
5923  @java.lang.Override
5924  public boolean hasExploitBestSolution() {
5925  return ((bitField3_ & 0x00001000) != 0);
5926  }
5935  @java.lang.Override
5936  public boolean getExploitBestSolution() {
5937  return exploitBestSolution_;
5938  }
5939 
5940  public static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER = 161;
5941  private boolean exploitRelaxationSolution_;
5952  @java.lang.Override
5953  public boolean hasExploitRelaxationSolution() {
5954  return ((bitField3_ & 0x00002000) != 0);
5955  }
5966  @java.lang.Override
5967  public boolean getExploitRelaxationSolution() {
5968  return exploitRelaxationSolution_;
5969  }
5970 
5971  public static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER = 131;
5972  private boolean exploitObjective_;
5982  @java.lang.Override
5983  public boolean hasExploitObjective() {
5984  return ((bitField3_ & 0x00004000) != 0);
5985  }
5995  @java.lang.Override
5996  public boolean getExploitObjective() {
5997  return exploitObjective_;
5998  }
5999 
6000  public static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER = 142;
6001  private long probingPeriodAtRoot_;
6012  @java.lang.Override
6013  public boolean hasProbingPeriodAtRoot() {
6014  return ((bitField3_ & 0x00008000) != 0);
6015  }
6026  @java.lang.Override
6027  public long getProbingPeriodAtRoot() {
6028  return probingPeriodAtRoot_;
6029  }
6030 
6031  public static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER = 123;
6032  private long pseudoCostReliabilityThreshold_;
6042  @java.lang.Override
6044  return ((bitField3_ & 0x00010000) != 0);
6045  }
6055  @java.lang.Override
6057  return pseudoCostReliabilityThreshold_;
6058  }
6059 
6060  public static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER = 83;
6061  private boolean optimizeWithCore_;
6073  @java.lang.Override
6074  public boolean hasOptimizeWithCore() {
6075  return ((bitField3_ & 0x00020000) != 0);
6076  }
6088  @java.lang.Override
6089  public boolean getOptimizeWithCore() {
6090  return optimizeWithCore_;
6091  }
6092 
6093  public static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER = 99;
6094  private int binarySearchNumConflicts_;
6106  @java.lang.Override
6107  public boolean hasBinarySearchNumConflicts() {
6108  return ((bitField3_ & 0x00040000) != 0);
6109  }
6121  @java.lang.Override
6123  return binarySearchNumConflicts_;
6124  }
6125 
6126  public static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER = 85;
6127  private boolean optimizeWithMaxHs_;
6141  @java.lang.Override
6142  public boolean hasOptimizeWithMaxHs() {
6143  return ((bitField3_ & 0x00080000) != 0);
6144  }
6158  @java.lang.Override
6159  public boolean getOptimizeWithMaxHs() {
6160  return optimizeWithMaxHs_;
6161  }
6162 
6163  public static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER = 87;
6164  private boolean enumerateAllSolutions_;
6178  @java.lang.Override
6179  public boolean hasEnumerateAllSolutions() {
6180  return ((bitField3_ & 0x00100000) != 0);
6181  }
6195  @java.lang.Override
6196  public boolean getEnumerateAllSolutions() {
6197  return enumerateAllSolutions_;
6198  }
6199 
6201  private boolean keepAllFeasibleSolutionsInPresolve_;
6216  @java.lang.Override
6218  return ((bitField3_ & 0x00200000) != 0);
6219  }
6234  @java.lang.Override
6236  return keepAllFeasibleSolutionsInPresolve_;
6237  }
6238 
6240  private boolean fillTightenedDomainsInResponse_;
6253  @java.lang.Override
6255  return ((bitField3_ & 0x00400000) != 0);
6256  }
6269  @java.lang.Override
6271  return fillTightenedDomainsInResponse_;
6272  }
6273 
6274  public static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER = 106;
6275  private boolean instantiateAllVariables_;
6285  @java.lang.Override
6286  public boolean hasInstantiateAllVariables() {
6287  return ((bitField3_ & 0x00800000) != 0);
6288  }
6298  @java.lang.Override
6299  public boolean getInstantiateAllVariables() {
6300  return instantiateAllVariables_;
6301  }
6302 
6304  private boolean autoDetectGreaterThanAtLeastOneOf_;
6316  @java.lang.Override
6318  return ((bitField3_ & 0x01000000) != 0);
6319  }
6331  @java.lang.Override
6333  return autoDetectGreaterThanAtLeastOneOf_;
6334  }
6335 
6336  public static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER = 98;
6337  private boolean stopAfterFirstSolution_;
6346  @java.lang.Override
6347  public boolean hasStopAfterFirstSolution() {
6348  return ((bitField3_ & 0x02000000) != 0);
6349  }
6358  @java.lang.Override
6359  public boolean getStopAfterFirstSolution() {
6360  return stopAfterFirstSolution_;
6361  }
6362 
6363  public static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER = 149;
6364  private boolean stopAfterPresolve_;
6374  @java.lang.Override
6375  public boolean hasStopAfterPresolve() {
6376  return ((bitField3_ & 0x04000000) != 0);
6377  }
6387  @java.lang.Override
6388  public boolean getStopAfterPresolve() {
6389  return stopAfterPresolve_;
6390  }
6391 
6392  public static final int NUM_SEARCH_WORKERS_FIELD_NUMBER = 100;
6393  private int numSearchWorkers_;
6407  @java.lang.Override
6408  public boolean hasNumSearchWorkers() {
6409  return ((bitField3_ & 0x08000000) != 0);
6410  }
6424  @java.lang.Override
6425  public int getNumSearchWorkers() {
6426  return numSearchWorkers_;
6427  }
6428 
6429  public static final int INTERLEAVE_SEARCH_FIELD_NUMBER = 136;
6430  private boolean interleaveSearch_;
6443  @java.lang.Override
6444  public boolean hasInterleaveSearch() {
6445  return ((bitField3_ & 0x10000000) != 0);
6446  }
6459  @java.lang.Override
6460  public boolean getInterleaveSearch() {
6461  return interleaveSearch_;
6462  }
6463 
6464  public static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER = 134;
6465  private int interleaveBatchSize_;
6470  @java.lang.Override
6471  public boolean hasInterleaveBatchSize() {
6472  return ((bitField3_ & 0x20000000) != 0);
6473  }
6478  @java.lang.Override
6479  public int getInterleaveBatchSize() {
6480  return interleaveBatchSize_;
6481  }
6482 
6484  private boolean reduceMemoryUsageInInterleaveMode_;
6493  @java.lang.Override
6495  return ((bitField3_ & 0x40000000) != 0);
6496  }
6505  @java.lang.Override
6507  return reduceMemoryUsageInInterleaveMode_;
6508  }
6509 
6510  public static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER = 113;
6511  private boolean shareObjectiveBounds_;
6520  @java.lang.Override
6521  public boolean hasShareObjectiveBounds() {
6522  return ((bitField3_ & 0x80000000) != 0);
6523  }
6532  @java.lang.Override
6533  public boolean getShareObjectiveBounds() {
6534  return shareObjectiveBounds_;
6535  }
6536 
6537  public static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER = 114;
6538  private boolean shareLevelZeroBounds_;
6547  @java.lang.Override
6548  public boolean hasShareLevelZeroBounds() {
6549  return ((bitField4_ & 0x00000001) != 0);
6550  }
6559  @java.lang.Override
6560  public boolean getShareLevelZeroBounds() {
6561  return shareLevelZeroBounds_;
6562  }
6563 
6564  public static final int USE_LNS_ONLY_FIELD_NUMBER = 101;
6565  private boolean useLnsOnly_;
6574  @java.lang.Override
6575  public boolean hasUseLnsOnly() {
6576  return ((bitField4_ & 0x00000002) != 0);
6577  }
6586  @java.lang.Override
6587  public boolean getUseLnsOnly() {
6588  return useLnsOnly_;
6589  }
6590 
6591  public static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER = 105;
6592  private boolean lnsFocusOnDecisionVariables_;
6597  @java.lang.Override
6599  return ((bitField4_ & 0x00000004) != 0);
6600  }
6605  @java.lang.Override
6607  return lnsFocusOnDecisionVariables_;
6608  }
6609 
6610  public static final int USE_RINS_LNS_FIELD_NUMBER = 129;
6611  private boolean useRinsLns_;
6620  @java.lang.Override
6621  public boolean hasUseRinsLns() {
6622  return ((bitField4_ & 0x00000008) != 0);
6623  }
6632  @java.lang.Override
6633  public boolean getUseRinsLns() {
6634  return useRinsLns_;
6635  }
6636 
6637  public static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER = 164;
6638  private boolean useFeasibilityPump_;
6647  @java.lang.Override
6648  public boolean hasUseFeasibilityPump() {
6649  return ((bitField4_ & 0x00000010) != 0);
6650  }
6659  @java.lang.Override
6660  public boolean getUseFeasibilityPump() {
6661  return useFeasibilityPump_;
6662  }
6663 
6664  public static final int FP_ROUNDING_FIELD_NUMBER = 165;
6665  private int fpRounding_;
6670  @java.lang.Override public boolean hasFpRounding() {
6671  return ((bitField4_ & 0x00000020) != 0);
6672  }
6678  @SuppressWarnings("deprecation")
6680  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
6681  }
6682 
6683  public static final int USE_RELAXATION_LNS_FIELD_NUMBER = 150;
6684  private boolean useRelaxationLns_;
6694  @java.lang.Override
6695  public boolean hasUseRelaxationLns() {
6696  return ((bitField4_ & 0x00000040) != 0);
6697  }
6707  @java.lang.Override
6708  public boolean getUseRelaxationLns() {
6709  return useRelaxationLns_;
6710  }
6711 
6712  public static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER = 137;
6713  private boolean diversifyLnsParams_;
6722  @java.lang.Override
6723  public boolean hasDiversifyLnsParams() {
6724  return ((bitField4_ & 0x00000080) != 0);
6725  }
6734  @java.lang.Override
6735  public boolean getDiversifyLnsParams() {
6736  return diversifyLnsParams_;
6737  }
6738 
6739  public static final int RANDOMIZE_SEARCH_FIELD_NUMBER = 103;
6740  private boolean randomizeSearch_;
6749  @java.lang.Override
6750  public boolean hasRandomizeSearch() {
6751  return ((bitField4_ & 0x00000100) != 0);
6752  }
6761  @java.lang.Override
6762  public boolean getRandomizeSearch() {
6763  return randomizeSearch_;
6764  }
6765 
6766  public static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER = 104;
6767  private long searchRandomizationTolerance_;
6782  @java.lang.Override
6784  return ((bitField4_ & 0x00000200) != 0);
6785  }
6800  @java.lang.Override
6802  return searchRandomizationTolerance_;
6803  }
6804 
6805  public static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER = 108;
6806  private boolean useOptionalVariables_;
6817  @java.lang.Override
6818  public boolean hasUseOptionalVariables() {
6819  return ((bitField4_ & 0x00000400) != 0);
6820  }
6831  @java.lang.Override
6832  public boolean getUseOptionalVariables() {
6833  return useOptionalVariables_;
6834  }
6835 
6836  public static final int USE_EXACT_LP_REASON_FIELD_NUMBER = 109;
6837  private boolean useExactLpReason_;
6849  @java.lang.Override
6850  public boolean hasUseExactLpReason() {
6851  return ((bitField4_ & 0x00000800) != 0);
6852  }
6864  @java.lang.Override
6865  public boolean getUseExactLpReason() {
6866  return useExactLpReason_;
6867  }
6868 
6869  public static final int USE_BRANCHING_IN_LP_FIELD_NUMBER = 139;
6870  private boolean useBranchingInLp_;
6881  @java.lang.Override
6882  public boolean hasUseBranchingInLp() {
6883  return ((bitField4_ & 0x00001000) != 0);
6884  }
6895  @java.lang.Override
6896  public boolean getUseBranchingInLp() {
6897  return useBranchingInLp_;
6898  }
6899 
6900  public static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER = 133;
6901  private boolean useCombinedNoOverlap_;
6912  @java.lang.Override
6913  public boolean hasUseCombinedNoOverlap() {
6914  return ((bitField4_ & 0x00002000) != 0);
6915  }
6926  @java.lang.Override
6927  public boolean getUseCombinedNoOverlap() {
6928  return useCombinedNoOverlap_;
6929  }
6930 
6931  public static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER = 135;
6932  private boolean catchSigintSignal_;
6943  @java.lang.Override
6944  public boolean hasCatchSigintSignal() {
6945  return ((bitField4_ & 0x00004000) != 0);
6946  }
6957  @java.lang.Override
6958  public boolean getCatchSigintSignal() {
6959  return catchSigintSignal_;
6960  }
6961 
6962  public static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER = 144;
6963  private boolean useImpliedBounds_;
6974  @java.lang.Override
6975  public boolean hasUseImpliedBounds() {
6976  return ((bitField4_ & 0x00008000) != 0);
6977  }
6988  @java.lang.Override
6989  public boolean getUseImpliedBounds() {
6990  return useImpliedBounds_;
6991  }
6992 
6993  public static final int POLISH_LP_SOLUTION_FIELD_NUMBER = 175;
6994  private boolean polishLpSolution_;
7006  @java.lang.Override
7007  public boolean hasPolishLpSolution() {
7008  return ((bitField4_ & 0x00010000) != 0);
7009  }
7021  @java.lang.Override
7022  public boolean getPolishLpSolution() {
7023  return polishLpSolution_;
7024  }
7025 
7026  public static final int MIP_MAX_BOUND_FIELD_NUMBER = 124;
7027  private double mipMaxBound_;
7038  @java.lang.Override
7039  public boolean hasMipMaxBound() {
7040  return ((bitField4_ & 0x00020000) != 0);
7041  }
7052  @java.lang.Override
7053  public double getMipMaxBound() {
7054  return mipMaxBound_;
7055  }
7056 
7057  public static final int MIP_VAR_SCALING_FIELD_NUMBER = 125;
7058  private double mipVarScaling_;
7069  @java.lang.Override
7070  public boolean hasMipVarScaling() {
7071  return ((bitField4_ & 0x00040000) != 0);
7072  }
7083  @java.lang.Override
7084  public double getMipVarScaling() {
7085  return mipVarScaling_;
7086  }
7087 
7088  public static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER = 166;
7089  private boolean mipAutomaticallyScaleVariables_;
7102  @java.lang.Override
7104  return ((bitField4_ & 0x00080000) != 0);
7105  }
7118  @java.lang.Override
7120  return mipAutomaticallyScaleVariables_;
7121  }
7122 
7123  public static final int MIP_WANTED_PRECISION_FIELD_NUMBER = 126;
7124  private double mipWantedPrecision_;
7142  @java.lang.Override
7143  public boolean hasMipWantedPrecision() {
7144  return ((bitField4_ & 0x00100000) != 0);
7145  }
7163  @java.lang.Override
7164  public double getMipWantedPrecision() {
7165  return mipWantedPrecision_;
7166  }
7167 
7168  public static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER = 127;
7169  private int mipMaxActivityExponent_;
7184  @java.lang.Override
7185  public boolean hasMipMaxActivityExponent() {
7186  return ((bitField4_ & 0x00200000) != 0);
7187  }
7202  @java.lang.Override
7204  return mipMaxActivityExponent_;
7205  }
7206 
7207  public static final int MIP_CHECK_PRECISION_FIELD_NUMBER = 128;
7208  private double mipCheckPrecision_;
7219  @java.lang.Override
7220  public boolean hasMipCheckPrecision() {
7221  return ((bitField4_ & 0x00400000) != 0);
7222  }
7233  @java.lang.Override
7234  public double getMipCheckPrecision() {
7235  return mipCheckPrecision_;
7236  }
7237 
7238  private byte memoizedIsInitialized = -1;
7239  @java.lang.Override
7240  public final boolean isInitialized() {
7241  byte isInitialized = memoizedIsInitialized;
7242  if (isInitialized == 1) return true;
7243  if (isInitialized == 0) return false;
7244 
7245  memoizedIsInitialized = 1;
7246  return true;
7247  }
7248 
7249  @java.lang.Override
7250  public void writeTo(com.google.protobuf.CodedOutputStream output)
7251  throws java.io.IOException {
7252  if (((bitField0_ & 0x00000002) != 0)) {
7253  output.writeEnum(1, preferredVariableOrder_);
7254  }
7255  if (((bitField0_ & 0x00000004) != 0)) {
7256  output.writeEnum(2, initialPolarity_);
7257  }
7258  if (((bitField0_ & 0x00000400) != 0)) {
7259  output.writeEnum(4, minimizationAlgorithm_);
7260  }
7261  if (((bitField0_ & 0x00002000) != 0)) {
7262  output.writeInt32(11, clauseCleanupPeriod_);
7263  }
7264  if (((bitField0_ & 0x00004000) != 0)) {
7265  output.writeInt32(13, clauseCleanupTarget_);
7266  }
7267  if (((bitField0_ & 0x00400000) != 0)) {
7268  output.writeDouble(15, variableActivityDecay_);
7269  }
7270  if (((bitField0_ & 0x00800000) != 0)) {
7271  output.writeDouble(16, maxVariableActivityValue_);
7272  }
7273  if (((bitField0_ & 0x08000000) != 0)) {
7274  output.writeDouble(17, clauseActivityDecay_);
7275  }
7276  if (((bitField0_ & 0x10000000) != 0)) {
7277  output.writeDouble(18, maxClauseActivityValue_);
7278  }
7279  if (((bitField0_ & 0x01000000) != 0)) {
7280  output.writeDouble(22, glucoseMaxDecay_);
7281  }
7282  if (((bitField0_ & 0x02000000) != 0)) {
7283  output.writeDouble(23, glucoseDecayIncrement_);
7284  }
7285  if (((bitField0_ & 0x04000000) != 0)) {
7286  output.writeInt32(24, glucoseDecayIncrementPeriod_);
7287  }
7288  if (((bitField0_ & 0x40000000) != 0)) {
7289  output.writeInt32(30, restartPeriod_);
7290  }
7291  if (((bitField1_ & 0x00004000) != 0)) {
7292  output.writeInt32(31, randomSeed_);
7293  }
7294  if (((bitField0_ & 0x00000040) != 0)) {
7295  output.writeDouble(32, randomBranchesRatio_);
7296  }
7297  if (((bitField1_ & 0x00002000) != 0)) {
7298  output.writeBool(33, treatBinaryClausesSeparately_);
7299  }
7300  if (((bitField0_ & 0x00000800) != 0)) {
7301  output.writeEnum(34, binaryMinimizationAlgorithm_);
7302  }
7303  if (((bitField2_ & 0x00000100) != 0)) {
7304  output.writeBool(35, useOptimizationHints_);
7305  }
7306  if (((bitField1_ & 0x00000080) != 0)) {
7307  output.writeDouble(36, maxTimeInSeconds_);
7308  }
7309  if (((bitField1_ & 0x00000200) != 0)) {
7310  output.writeInt64(37, maxNumberOfConflicts_);
7311  }
7312  if (((bitField1_ & 0x00000400) != 0)) {
7313  output.writeInt64(40, maxMemoryInMb_);
7314  }
7315  if (((bitField1_ & 0x00008000) != 0)) {
7316  output.writeBool(41, logSearchProgress_);
7317  }
7318  if (((bitField1_ & 0x00010000) != 0)) {
7319  output.writeBool(43, usePbResolution_);
7320  }
7321  if (((bitField0_ & 0x00000008) != 0)) {
7322  output.writeBool(44, usePhaseSaving_);
7323  }
7324  if (((bitField0_ & 0x00000020) != 0)) {
7325  output.writeDouble(45, randomPolarityRatio_);
7326  }
7327  if (((bitField0_ & 0x00040000) != 0)) {
7328  output.writeInt32(46, pbCleanupIncrement_);
7329  }
7330  if (((bitField0_ & 0x00080000) != 0)) {
7331  output.writeDouble(47, pbCleanupRatio_);
7332  }
7333  if (((bitField1_ & 0x00020000) != 0)) {
7334  output.writeBool(48, minimizeReductionDuringPbResolution_);
7335  }
7336  if (((bitField1_ & 0x00040000) != 0)) {
7337  output.writeBool(49, countAssumptionLevelsInLbd_);
7338  }
7339  if (((bitField2_ & 0x00000200) != 0)) {
7340  output.writeBool(50, minimizeCore_);
7341  }
7342  if (((bitField2_ & 0x00001000) != 0)) {
7343  output.writeEnum(51, maxSatAssumptionOrder_);
7344  }
7345  if (((bitField2_ & 0x00002000) != 0)) {
7346  output.writeBool(52, maxSatReverseAssumptionOrder_);
7347  }
7348  if (((bitField2_ & 0x00004000) != 0)) {
7349  output.writeEnum(53, maxSatStratification_);
7350  }
7351  if (((bitField1_ & 0x00080000) != 0)) {
7352  output.writeInt32(54, presolveBveThreshold_);
7353  }
7354  if (((bitField1_ & 0x00100000) != 0)) {
7355  output.writeInt32(55, presolveBveClauseWeight_);
7356  }
7357  if (((bitField0_ & 0x00001000) != 0)) {
7358  output.writeBool(56, subsumptionDuringConflictAnalysis_);
7359  }
7360  if (((bitField1_ & 0x00200000) != 0)) {
7361  output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
7362  }
7363  if (((bitField0_ & 0x00008000) != 0)) {
7364  output.writeEnum(58, clauseCleanupProtection_);
7365  }
7366  if (((bitField0_ & 0x00010000) != 0)) {
7367  output.writeInt32(59, clauseCleanupLbdBound_);
7368  }
7369  if (((bitField0_ & 0x00020000) != 0)) {
7370  output.writeEnum(60, clauseCleanupOrdering_);
7371  }
7372  for (int i = 0; i < restartAlgorithms_.size(); i++) {
7373  output.writeEnum(61, restartAlgorithms_.get(i));
7374  }
7375  if (((bitField0_ & 0x80000000) != 0)) {
7376  output.writeInt32(62, restartRunningWindowSize_);
7377  }
7378  if (((bitField1_ & 0x00000001) != 0)) {
7379  output.writeDouble(63, restartDlAverageRatio_);
7380  }
7381  if (((bitField1_ & 0x00000004) != 0)) {
7382  output.writeBool(64, useBlockingRestart_);
7383  }
7384  if (((bitField1_ & 0x00000008) != 0)) {
7385  output.writeInt32(65, blockingRestartWindowSize_);
7386  }
7387  if (((bitField1_ & 0x00000010) != 0)) {
7388  output.writeDouble(66, blockingRestartMultiplier_);
7389  }
7390  if (((bitField1_ & 0x00000100) != 0)) {
7391  output.writeDouble(67, maxDeterministicTime_);
7392  }
7393  if (((bitField1_ & 0x00000020) != 0)) {
7394  output.writeInt32(68, numConflictsBeforeStrategyChanges_);
7395  }
7396  if (((bitField1_ & 0x00000040) != 0)) {
7397  output.writeDouble(69, strategyChangeIncreaseRatio_);
7398  }
7399  if (((bitField0_ & 0x20000000) != 0)) {
7400  com.google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
7401  }
7402  if (((bitField1_ & 0x00000002) != 0)) {
7403  output.writeDouble(71, restartLbdAverageRatio_);
7404  }
7405  if (((bitField1_ & 0x00800000) != 0)) {
7406  output.writeBool(72, presolveUseBva_);
7407  }
7408  if (((bitField1_ & 0x01000000) != 0)) {
7409  output.writeInt32(73, presolveBvaThreshold_);
7410  }
7411  if (((bitField2_ & 0x00008000) != 0)) {
7412  output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
7413  }
7414  if (((bitField0_ & 0x00000080) != 0)) {
7415  output.writeBool(75, useErwaHeuristic_);
7416  }
7417  if (((bitField0_ & 0x00000100) != 0)) {
7418  output.writeDouble(76, initialVariablesActivity_);
7419  }
7420  if (((bitField0_ & 0x00000200) != 0)) {
7421  output.writeBool(77, alsoBumpVariablesInConflictReasons_);
7422  }
7423  if (((bitField2_ & 0x00010000) != 0)) {
7424  output.writeBool(78, useOverloadCheckerInCumulativeConstraint_);
7425  }
7426  if (((bitField2_ & 0x00020000) != 0)) {
7427  output.writeBool(79, useTimetableEdgeFindingInCumulativeConstraint_);
7428  }
7429  if (((bitField2_ & 0x00040000) != 0)) {
7430  output.writeBool(80, useDisjunctiveConstraintInCumulativeConstraint_);
7431  }
7432  if (((bitField3_ & 0x00000080) != 0)) {
7433  output.writeEnum(82, searchBranching_);
7434  }
7435  if (((bitField3_ & 0x00020000) != 0)) {
7436  output.writeBool(83, optimizeWithCore_);
7437  }
7438  if (((bitField2_ & 0x00000400) != 0)) {
7439  output.writeBool(84, findMultipleCores_);
7440  }
7441  if (((bitField3_ & 0x00080000) != 0)) {
7442  output.writeBool(85, optimizeWithMaxHs_);
7443  }
7444  if (((bitField1_ & 0x04000000) != 0)) {
7445  output.writeBool(86, cpModelPresolve_);
7446  }
7447  if (((bitField3_ & 0x00100000) != 0)) {
7448  output.writeBool(87, enumerateAllSolutions_);
7449  }
7450  if (((bitField1_ & 0x00400000) != 0)) {
7451  output.writeBool(88, presolveBlockedClause_);
7452  }
7453  if (((bitField2_ & 0x00000800) != 0)) {
7454  output.writeBool(89, coverOptimization_);
7455  }
7456  if (((bitField2_ & 0x00080000) != 0)) {
7457  output.writeInt32(90, linearizationLevel_);
7458  }
7459  if (((bitField2_ & 0x00200000) != 0)) {
7460  output.writeInt32(91, maxNumCuts_);
7461  }
7462  if (((bitField2_ & 0x00400000) != 0)) {
7463  output.writeBool(92, onlyAddCutsAtLevelZero_);
7464  }
7465  if (((bitField1_ & 0x40000000) != 0)) {
7466  output.writeBool(93, cpModelUseSatPresolve_);
7467  }
7468  if (((bitField3_ & 0x00000400) != 0)) {
7469  output.writeBool(94, exploitIntegerLpSolution_);
7470  }
7471  if (((bitField3_ & 0x01000000) != 0)) {
7472  output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
7473  }
7474  if (((bitField0_ & 0x00100000) != 0)) {
7475  output.writeInt32(96, minimizeWithPropagationRestartPeriod_);
7476  }
7477  if (((bitField0_ & 0x00200000) != 0)) {
7478  output.writeInt32(97, minimizeWithPropagationNumDecisions_);
7479  }
7480  if (((bitField3_ & 0x02000000) != 0)) {
7481  output.writeBool(98, stopAfterFirstSolution_);
7482  }
7483  if (((bitField3_ & 0x00040000) != 0)) {
7484  output.writeInt32(99, binarySearchNumConflicts_);
7485  }
7486  if (((bitField3_ & 0x08000000) != 0)) {
7487  output.writeInt32(100, numSearchWorkers_);
7488  }
7489  if (((bitField4_ & 0x00000002) != 0)) {
7490  output.writeBool(101, useLnsOnly_);
7491  }
7492  if (((bitField4_ & 0x00000100) != 0)) {
7493  output.writeBool(103, randomizeSearch_);
7494  }
7495  if (((bitField4_ & 0x00000200) != 0)) {
7496  output.writeInt64(104, searchRandomizationTolerance_);
7497  }
7498  if (((bitField4_ & 0x00000004) != 0)) {
7499  output.writeBool(105, lnsFocusOnDecisionVariables_);
7500  }
7501  if (((bitField3_ & 0x00800000) != 0)) {
7502  output.writeBool(106, instantiateAllVariables_);
7503  }
7504  if (((bitField2_ & 0x00100000) != 0)) {
7505  output.writeInt32(107, booleanEncodingLevel_);
7506  }
7507  if (((bitField4_ & 0x00000400) != 0)) {
7508  output.writeBool(108, useOptionalVariables_);
7509  }
7510  if (((bitField4_ & 0x00000800) != 0)) {
7511  output.writeBool(109, useExactLpReason_);
7512  }
7513  if (((bitField1_ & 0x20000000) != 0)) {
7514  output.writeInt32(110, cpModelProbingLevel_);
7515  }
7516  if (((bitField2_ & 0x00800000) != 0)) {
7517  output.writeBool(111, addKnapsackCuts_);
7518  }
7519  if (((bitField2_ & 0x80000000) != 0)) {
7520  output.writeBool(112, addLpConstraintsLazily_);
7521  }
7522  if (((bitField3_ & 0x80000000) != 0)) {
7523  output.writeBool(113, shareObjectiveBounds_);
7524  }
7525  if (((bitField4_ & 0x00000001) != 0)) {
7526  output.writeBool(114, shareLevelZeroBounds_);
7527  }
7528  if (((bitField3_ & 0x00000001) != 0)) {
7529  output.writeDouble(115, minOrthogonalityForLpConstraints_);
7530  }
7531  if (((bitField3_ & 0x00000800) != 0)) {
7532  output.writeBool(116, exploitAllLpSolution_);
7533  }
7534  if (((bitField2_ & 0x01000000) != 0)) {
7535  output.writeBool(117, addCgCuts_);
7536  }
7537  if (((bitField2_ & 0x40000000) != 0)) {
7538  output.writeInt32(119, maxIntegerRoundingScaling_);
7539  }
7540  if (((bitField2_ & 0x02000000) != 0)) {
7541  output.writeBool(120, addMirCuts_);
7542  }
7543  if (((bitField3_ & 0x00000004) != 0)) {
7544  output.writeInt32(121, maxConsecutiveInactiveCount_);
7545  }
7546  if (((bitField3_ & 0x00000040) != 0)) {
7547  output.writeInt32(122, newConstraintsBatchSize_);
7548  }
7549  if (((bitField3_ & 0x00010000) != 0)) {
7550  output.writeInt64(123, pseudoCostReliabilityThreshold_);
7551  }
7552  if (((bitField4_ & 0x00020000) != 0)) {
7553  output.writeDouble(124, mipMaxBound_);
7554  }
7555  if (((bitField4_ & 0x00040000) != 0)) {
7556  output.writeDouble(125, mipVarScaling_);
7557  }
7558  if (((bitField4_ & 0x00100000) != 0)) {
7559  output.writeDouble(126, mipWantedPrecision_);
7560  }
7561  if (((bitField4_ & 0x00200000) != 0)) {
7562  output.writeInt32(127, mipMaxActivityExponent_);
7563  }
7564  if (((bitField4_ & 0x00400000) != 0)) {
7565  output.writeDouble(128, mipCheckPrecision_);
7566  }
7567  if (((bitField4_ & 0x00000008) != 0)) {
7568  output.writeBool(129, useRinsLns_);
7569  }
7570  if (((bitField3_ & 0x00001000) != 0)) {
7571  output.writeBool(130, exploitBestSolution_);
7572  }
7573  if (((bitField3_ & 0x00004000) != 0)) {
7574  output.writeBool(131, exploitObjective_);
7575  }
7576  if (((bitField3_ & 0x00400000) != 0)) {
7577  output.writeBool(132, fillTightenedDomainsInResponse_);
7578  }
7579  if (((bitField4_ & 0x00002000) != 0)) {
7580  output.writeBool(133, useCombinedNoOverlap_);
7581  }
7582  if (((bitField3_ & 0x20000000) != 0)) {
7583  output.writeInt32(134, interleaveBatchSize_);
7584  }
7585  if (((bitField4_ & 0x00004000) != 0)) {
7586  output.writeBool(135, catchSigintSignal_);
7587  }
7588  if (((bitField3_ & 0x10000000) != 0)) {
7589  output.writeBool(136, interleaveSearch_);
7590  }
7591  if (((bitField4_ & 0x00000080) != 0)) {
7592  output.writeBool(137, diversifyLnsParams_);
7593  }
7594  if (((bitField1_ & 0x02000000) != 0)) {
7595  output.writeInt32(138, maxPresolveIterations_);
7596  }
7597  if (((bitField4_ & 0x00001000) != 0)) {
7598  output.writeBool(139, useBranchingInLp_);
7599  }
7600  if (((bitField2_ & 0x00000001) != 0)) {
7601  output.writeBool(140, expandElementConstraints_);
7602  }
7603  if (((bitField3_ & 0x40000000) != 0)) {
7604  output.writeBool(141, reduceMemoryUsageInInterleaveMode_);
7605  }
7606  if (((bitField3_ & 0x00008000) != 0)) {
7607  output.writeInt64(142, probingPeriodAtRoot_);
7608  }
7609  if (((bitField2_ & 0x00000002) != 0)) {
7610  output.writeBool(143, expandAutomatonConstraints_);
7611  }
7612  if (((bitField4_ & 0x00008000) != 0)) {
7613  output.writeBool(144, useImpliedBounds_);
7614  }
7615  if (((bitField2_ & 0x00000010) != 0)) {
7616  output.writeDouble(145, mergeNoOverlapWorkLimit_);
7617  }
7618  if (((bitField2_ & 0x00000020) != 0)) {
7619  output.writeDouble(146, mergeAtMostOneWorkLimit_);
7620  }
7621  if (((bitField2_ & 0x00000040) != 0)) {
7622  output.writeInt32(147, presolveSubstitutionLevel_);
7623  }
7624  if (((bitField2_ & 0x10000000) != 0)) {
7625  output.writeInt32(148, maxAllDiffCutSize_);
7626  }
7627  if (((bitField3_ & 0x04000000) != 0)) {
7628  output.writeBool(149, stopAfterPresolve_);
7629  }
7630  if (((bitField4_ & 0x00000040) != 0)) {
7631  output.writeBool(150, useRelaxationLns_);
7632  }
7633  if (((bitField1_ & 0x10000000) != 0)) {
7634  output.writeInt32(151, cpModelMaxNumPresolveOperations_);
7635  }
7636  if (((bitField2_ & 0x20000000) != 0)) {
7637  output.writeBool(152, addLinMaxCuts_);
7638  }
7639  if (((bitField3_ & 0x00000100) != 0)) {
7640  output.writeInt32(153, hintConflictLimit_);
7641  }
7642  if (((bitField3_ & 0x00000002) != 0)) {
7643  output.writeInt32(154, maxCutRoundsAtLevelZero_);
7644  }
7645  if (((bitField3_ & 0x00000008) != 0)) {
7646  output.writeDouble(155, cutMaxActiveCountValue_);
7647  }
7648  if (((bitField3_ & 0x00000010) != 0)) {
7649  output.writeDouble(156, cutActiveCountDecay_);
7650  }
7651  if (((bitField3_ & 0x00000020) != 0)) {
7652  output.writeInt32(157, cutCleanupTarget_);
7653  }
7654  if (((bitField2_ & 0x00000004) != 0)) {
7655  output.writeBool(158, expandTableConstraints_);
7656  }
7657  if (((bitField1_ & 0x00000800) != 0)) {
7658  output.writeDouble(159, absoluteGapLimit_);
7659  }
7660  if (((bitField1_ & 0x00001000) != 0)) {
7661  output.writeDouble(160, relativeGapLimit_);
7662  }
7663  if (((bitField3_ & 0x00002000) != 0)) {
7664  output.writeBool(161, exploitRelaxationSolution_);
7665  }
7666  if (((bitField1_ & 0x08000000) != 0)) {
7667  output.writeBool(162, cpModelPostsolveWithFullSolver_);
7668  }
7669  if (((bitField1_ & 0x80000000) != 0)) {
7670  output.writeBool(163, useSatInprocessing_);
7671  }
7672  if (((bitField4_ & 0x00000010) != 0)) {
7673  output.writeBool(164, useFeasibilityPump_);
7674  }
7675  if (((bitField4_ & 0x00000020) != 0)) {
7676  output.writeEnum(165, fpRounding_);
7677  }
7678  if (((bitField4_ & 0x00080000) != 0)) {
7679  output.writeBool(166, mipAutomaticallyScaleVariables_);
7680  }
7681  if (((bitField3_ & 0x00000200) != 0)) {
7682  output.writeBool(167, repairHint_);
7683  }
7684  if (((bitField0_ & 0x00000010) != 0)) {
7685  output.writeInt32(168, polarityRephaseIncrement_);
7686  }
7687  if (((bitField2_ & 0x04000000) != 0)) {
7688  output.writeBool(169, addZeroHalfCuts_);
7689  }
7690  if (((bitField2_ & 0x00000008) != 0)) {
7691  output.writeBool(170, expandAlldiffConstraints_);
7692  }
7693  if (((bitField0_ & 0x00000001) != 0)) {
7694  com.google.protobuf.GeneratedMessageV3.writeString(output, 171, name_);
7695  }
7696  if (((bitField2_ & 0x08000000) != 0)) {
7697  output.writeBool(172, addCliqueCuts_);
7698  }
7699  if (((bitField3_ & 0x00200000) != 0)) {
7700  output.writeBool(173, keepAllFeasibleSolutionsInPresolve_);
7701  }
7702  if (((bitField2_ & 0x00000080) != 0)) {
7703  output.writeBool(174, presolveExtractIntegerEnforcement_);
7704  }
7705  if (((bitField4_ & 0x00010000) != 0)) {
7706  output.writeBool(175, polishLpSolution_);
7707  }
7708  unknownFields.writeTo(output);
7709  }
7710 
7711  @java.lang.Override
7712  public int getSerializedSize() {
7713  int size = memoizedSize;
7714  if (size != -1) return size;
7715 
7716  size = 0;
7717  if (((bitField0_ & 0x00000002) != 0)) {
7718  size += com.google.protobuf.CodedOutputStream
7719  .computeEnumSize(1, preferredVariableOrder_);
7720  }
7721  if (((bitField0_ & 0x00000004) != 0)) {
7722  size += com.google.protobuf.CodedOutputStream
7723  .computeEnumSize(2, initialPolarity_);
7724  }
7725  if (((bitField0_ & 0x00000400) != 0)) {
7726  size += com.google.protobuf.CodedOutputStream
7727  .computeEnumSize(4, minimizationAlgorithm_);
7728  }
7729  if (((bitField0_ & 0x00002000) != 0)) {
7730  size += com.google.protobuf.CodedOutputStream
7731  .computeInt32Size(11, clauseCleanupPeriod_);
7732  }
7733  if (((bitField0_ & 0x00004000) != 0)) {
7734  size += com.google.protobuf.CodedOutputStream
7735  .computeInt32Size(13, clauseCleanupTarget_);
7736  }
7737  if (((bitField0_ & 0x00400000) != 0)) {
7738  size += com.google.protobuf.CodedOutputStream
7739  .computeDoubleSize(15, variableActivityDecay_);
7740  }
7741  if (((bitField0_ & 0x00800000) != 0)) {
7742  size += com.google.protobuf.CodedOutputStream
7743  .computeDoubleSize(16, maxVariableActivityValue_);
7744  }
7745  if (((bitField0_ & 0x08000000) != 0)) {
7746  size += com.google.protobuf.CodedOutputStream
7747  .computeDoubleSize(17, clauseActivityDecay_);
7748  }
7749  if (((bitField0_ & 0x10000000) != 0)) {
7750  size += com.google.protobuf.CodedOutputStream
7751  .computeDoubleSize(18, maxClauseActivityValue_);
7752  }
7753  if (((bitField0_ & 0x01000000) != 0)) {
7754  size += com.google.protobuf.CodedOutputStream
7755  .computeDoubleSize(22, glucoseMaxDecay_);
7756  }
7757  if (((bitField0_ & 0x02000000) != 0)) {
7758  size += com.google.protobuf.CodedOutputStream
7759  .computeDoubleSize(23, glucoseDecayIncrement_);
7760  }
7761  if (((bitField0_ & 0x04000000) != 0)) {
7762  size += com.google.protobuf.CodedOutputStream
7763  .computeInt32Size(24, glucoseDecayIncrementPeriod_);
7764  }
7765  if (((bitField0_ & 0x40000000) != 0)) {
7766  size += com.google.protobuf.CodedOutputStream
7767  .computeInt32Size(30, restartPeriod_);
7768  }
7769  if (((bitField1_ & 0x00004000) != 0)) {
7770  size += com.google.protobuf.CodedOutputStream
7771  .computeInt32Size(31, randomSeed_);
7772  }
7773  if (((bitField0_ & 0x00000040) != 0)) {
7774  size += com.google.protobuf.CodedOutputStream
7775  .computeDoubleSize(32, randomBranchesRatio_);
7776  }
7777  if (((bitField1_ & 0x00002000) != 0)) {
7778  size += com.google.protobuf.CodedOutputStream
7779  .computeBoolSize(33, treatBinaryClausesSeparately_);
7780  }
7781  if (((bitField0_ & 0x00000800) != 0)) {
7782  size += com.google.protobuf.CodedOutputStream
7783  .computeEnumSize(34, binaryMinimizationAlgorithm_);
7784  }
7785  if (((bitField2_ & 0x00000100) != 0)) {
7786  size += com.google.protobuf.CodedOutputStream
7787  .computeBoolSize(35, useOptimizationHints_);
7788  }
7789  if (((bitField1_ & 0x00000080) != 0)) {
7790  size += com.google.protobuf.CodedOutputStream
7791  .computeDoubleSize(36, maxTimeInSeconds_);
7792  }
7793  if (((bitField1_ & 0x00000200) != 0)) {
7794  size += com.google.protobuf.CodedOutputStream
7795  .computeInt64Size(37, maxNumberOfConflicts_);
7796  }
7797  if (((bitField1_ & 0x00000400) != 0)) {
7798  size += com.google.protobuf.CodedOutputStream
7799  .computeInt64Size(40, maxMemoryInMb_);
7800  }
7801  if (((bitField1_ & 0x00008000) != 0)) {
7802  size += com.google.protobuf.CodedOutputStream
7803  .computeBoolSize(41, logSearchProgress_);
7804  }
7805  if (((bitField1_ & 0x00010000) != 0)) {
7806  size += com.google.protobuf.CodedOutputStream
7807  .computeBoolSize(43, usePbResolution_);
7808  }
7809  if (((bitField0_ & 0x00000008) != 0)) {
7810  size += com.google.protobuf.CodedOutputStream
7811  .computeBoolSize(44, usePhaseSaving_);
7812  }
7813  if (((bitField0_ & 0x00000020) != 0)) {
7814  size += com.google.protobuf.CodedOutputStream
7815  .computeDoubleSize(45, randomPolarityRatio_);
7816  }
7817  if (((bitField0_ & 0x00040000) != 0)) {
7818  size += com.google.protobuf.CodedOutputStream
7819  .computeInt32Size(46, pbCleanupIncrement_);
7820  }
7821  if (((bitField0_ & 0x00080000) != 0)) {
7822  size += com.google.protobuf.CodedOutputStream
7823  .computeDoubleSize(47, pbCleanupRatio_);
7824  }
7825  if (((bitField1_ & 0x00020000) != 0)) {
7826  size += com.google.protobuf.CodedOutputStream
7827  .computeBoolSize(48, minimizeReductionDuringPbResolution_);
7828  }
7829  if (((bitField1_ & 0x00040000) != 0)) {
7830  size += com.google.protobuf.CodedOutputStream
7831  .computeBoolSize(49, countAssumptionLevelsInLbd_);
7832  }
7833  if (((bitField2_ & 0x00000200) != 0)) {
7834  size += com.google.protobuf.CodedOutputStream
7835  .computeBoolSize(50, minimizeCore_);
7836  }
7837  if (((bitField2_ & 0x00001000) != 0)) {
7838  size += com.google.protobuf.CodedOutputStream
7839  .computeEnumSize(51, maxSatAssumptionOrder_);
7840  }
7841  if (((bitField2_ & 0x00002000) != 0)) {
7842  size += com.google.protobuf.CodedOutputStream
7843  .computeBoolSize(52, maxSatReverseAssumptionOrder_);
7844  }
7845  if (((bitField2_ & 0x00004000) != 0)) {
7846  size += com.google.protobuf.CodedOutputStream
7847  .computeEnumSize(53, maxSatStratification_);
7848  }
7849  if (((bitField1_ & 0x00080000) != 0)) {
7850  size += com.google.protobuf.CodedOutputStream
7851  .computeInt32Size(54, presolveBveThreshold_);
7852  }
7853  if (((bitField1_ & 0x00100000) != 0)) {
7854  size += com.google.protobuf.CodedOutputStream
7855  .computeInt32Size(55, presolveBveClauseWeight_);
7856  }
7857  if (((bitField0_ & 0x00001000) != 0)) {
7858  size += com.google.protobuf.CodedOutputStream
7859  .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
7860  }
7861  if (((bitField1_ & 0x00200000) != 0)) {
7862  size += com.google.protobuf.CodedOutputStream
7863  .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
7864  }
7865  if (((bitField0_ & 0x00008000) != 0)) {
7866  size += com.google.protobuf.CodedOutputStream
7867  .computeEnumSize(58, clauseCleanupProtection_);
7868  }
7869  if (((bitField0_ & 0x00010000) != 0)) {
7870  size += com.google.protobuf.CodedOutputStream
7871  .computeInt32Size(59, clauseCleanupLbdBound_);
7872  }
7873  if (((bitField0_ & 0x00020000) != 0)) {
7874  size += com.google.protobuf.CodedOutputStream
7875  .computeEnumSize(60, clauseCleanupOrdering_);
7876  }
7877  {
7878  int dataSize = 0;
7879  for (int i = 0; i < restartAlgorithms_.size(); i++) {
7880  dataSize += com.google.protobuf.CodedOutputStream
7881  .computeEnumSizeNoTag(restartAlgorithms_.get(i));
7882  }
7883  size += dataSize;
7884  size += 2 * restartAlgorithms_.size();
7885  }
7886  if (((bitField0_ & 0x80000000) != 0)) {
7887  size += com.google.protobuf.CodedOutputStream
7888  .computeInt32Size(62, restartRunningWindowSize_);
7889  }
7890  if (((bitField1_ & 0x00000001) != 0)) {
7891  size += com.google.protobuf.CodedOutputStream
7892  .computeDoubleSize(63, restartDlAverageRatio_);
7893  }
7894  if (((bitField1_ & 0x00000004) != 0)) {
7895  size += com.google.protobuf.CodedOutputStream
7896  .computeBoolSize(64, useBlockingRestart_);
7897  }
7898  if (((bitField1_ & 0x00000008) != 0)) {
7899  size += com.google.protobuf.CodedOutputStream
7900  .computeInt32Size(65, blockingRestartWindowSize_);
7901  }
7902  if (((bitField1_ & 0x00000010) != 0)) {
7903  size += com.google.protobuf.CodedOutputStream
7904  .computeDoubleSize(66, blockingRestartMultiplier_);
7905  }
7906  if (((bitField1_ & 0x00000100) != 0)) {
7907  size += com.google.protobuf.CodedOutputStream
7908  .computeDoubleSize(67, maxDeterministicTime_);
7909  }
7910  if (((bitField1_ & 0x00000020) != 0)) {
7911  size += com.google.protobuf.CodedOutputStream
7912  .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
7913  }
7914  if (((bitField1_ & 0x00000040) != 0)) {
7915  size += com.google.protobuf.CodedOutputStream
7916  .computeDoubleSize(69, strategyChangeIncreaseRatio_);
7917  }
7918  if (((bitField0_ & 0x20000000) != 0)) {
7919  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
7920  }
7921  if (((bitField1_ & 0x00000002) != 0)) {
7922  size += com.google.protobuf.CodedOutputStream
7923  .computeDoubleSize(71, restartLbdAverageRatio_);
7924  }
7925  if (((bitField1_ & 0x00800000) != 0)) {
7926  size += com.google.protobuf.CodedOutputStream
7927  .computeBoolSize(72, presolveUseBva_);
7928  }
7929  if (((bitField1_ & 0x01000000) != 0)) {
7930  size += com.google.protobuf.CodedOutputStream
7931  .computeInt32Size(73, presolveBvaThreshold_);
7932  }
7933  if (((bitField2_ & 0x00008000) != 0)) {
7934  size += com.google.protobuf.CodedOutputStream
7935  .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
7936  }
7937  if (((bitField0_ & 0x00000080) != 0)) {
7938  size += com.google.protobuf.CodedOutputStream
7939  .computeBoolSize(75, useErwaHeuristic_);
7940  }
7941  if (((bitField0_ & 0x00000100) != 0)) {
7942  size += com.google.protobuf.CodedOutputStream
7943  .computeDoubleSize(76, initialVariablesActivity_);
7944  }
7945  if (((bitField0_ & 0x00000200) != 0)) {
7946  size += com.google.protobuf.CodedOutputStream
7947  .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
7948  }
7949  if (((bitField2_ & 0x00010000) != 0)) {
7950  size += com.google.protobuf.CodedOutputStream
7951  .computeBoolSize(78, useOverloadCheckerInCumulativeConstraint_);
7952  }
7953  if (((bitField2_ & 0x00020000) != 0)) {
7954  size += com.google.protobuf.CodedOutputStream
7955  .computeBoolSize(79, useTimetableEdgeFindingInCumulativeConstraint_);
7956  }
7957  if (((bitField2_ & 0x00040000) != 0)) {
7958  size += com.google.protobuf.CodedOutputStream
7959  .computeBoolSize(80, useDisjunctiveConstraintInCumulativeConstraint_);
7960  }
7961  if (((bitField3_ & 0x00000080) != 0)) {
7962  size += com.google.protobuf.CodedOutputStream
7963  .computeEnumSize(82, searchBranching_);
7964  }
7965  if (((bitField3_ & 0x00020000) != 0)) {
7966  size += com.google.protobuf.CodedOutputStream
7967  .computeBoolSize(83, optimizeWithCore_);
7968  }
7969  if (((bitField2_ & 0x00000400) != 0)) {
7970  size += com.google.protobuf.CodedOutputStream
7971  .computeBoolSize(84, findMultipleCores_);
7972  }
7973  if (((bitField3_ & 0x00080000) != 0)) {
7974  size += com.google.protobuf.CodedOutputStream
7975  .computeBoolSize(85, optimizeWithMaxHs_);
7976  }
7977  if (((bitField1_ & 0x04000000) != 0)) {
7978  size += com.google.protobuf.CodedOutputStream
7979  .computeBoolSize(86, cpModelPresolve_);
7980  }
7981  if (((bitField3_ & 0x00100000) != 0)) {
7982  size += com.google.protobuf.CodedOutputStream
7983  .computeBoolSize(87, enumerateAllSolutions_);
7984  }
7985  if (((bitField1_ & 0x00400000) != 0)) {
7986  size += com.google.protobuf.CodedOutputStream
7987  .computeBoolSize(88, presolveBlockedClause_);
7988  }
7989  if (((bitField2_ & 0x00000800) != 0)) {
7990  size += com.google.protobuf.CodedOutputStream
7991  .computeBoolSize(89, coverOptimization_);
7992  }
7993  if (((bitField2_ & 0x00080000) != 0)) {
7994  size += com.google.protobuf.CodedOutputStream
7995  .computeInt32Size(90, linearizationLevel_);
7996  }
7997  if (((bitField2_ & 0x00200000) != 0)) {
7998  size += com.google.protobuf.CodedOutputStream
7999  .computeInt32Size(91, maxNumCuts_);
8000  }
8001  if (((bitField2_ & 0x00400000) != 0)) {
8002  size += com.google.protobuf.CodedOutputStream
8003  .computeBoolSize(92, onlyAddCutsAtLevelZero_);
8004  }
8005  if (((bitField1_ & 0x40000000) != 0)) {
8006  size += com.google.protobuf.CodedOutputStream
8007  .computeBoolSize(93, cpModelUseSatPresolve_);
8008  }
8009  if (((bitField3_ & 0x00000400) != 0)) {
8010  size += com.google.protobuf.CodedOutputStream
8011  .computeBoolSize(94, exploitIntegerLpSolution_);
8012  }
8013  if (((bitField3_ & 0x01000000) != 0)) {
8014  size += com.google.protobuf.CodedOutputStream
8015  .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
8016  }
8017  if (((bitField0_ & 0x00100000) != 0)) {
8018  size += com.google.protobuf.CodedOutputStream
8019  .computeInt32Size(96, minimizeWithPropagationRestartPeriod_);
8020  }
8021  if (((bitField0_ & 0x00200000) != 0)) {
8022  size += com.google.protobuf.CodedOutputStream
8023  .computeInt32Size(97, minimizeWithPropagationNumDecisions_);
8024  }
8025  if (((bitField3_ & 0x02000000) != 0)) {
8026  size += com.google.protobuf.CodedOutputStream
8027  .computeBoolSize(98, stopAfterFirstSolution_);
8028  }
8029  if (((bitField3_ & 0x00040000) != 0)) {
8030  size += com.google.protobuf.CodedOutputStream
8031  .computeInt32Size(99, binarySearchNumConflicts_);
8032  }
8033  if (((bitField3_ & 0x08000000) != 0)) {
8034  size += com.google.protobuf.CodedOutputStream
8035  .computeInt32Size(100, numSearchWorkers_);
8036  }
8037  if (((bitField4_ & 0x00000002) != 0)) {
8038  size += com.google.protobuf.CodedOutputStream
8039  .computeBoolSize(101, useLnsOnly_);
8040  }
8041  if (((bitField4_ & 0x00000100) != 0)) {
8042  size += com.google.protobuf.CodedOutputStream
8043  .computeBoolSize(103, randomizeSearch_);
8044  }
8045  if (((bitField4_ & 0x00000200) != 0)) {
8046  size += com.google.protobuf.CodedOutputStream
8047  .computeInt64Size(104, searchRandomizationTolerance_);
8048  }
8049  if (((bitField4_ & 0x00000004) != 0)) {
8050  size += com.google.protobuf.CodedOutputStream
8051  .computeBoolSize(105, lnsFocusOnDecisionVariables_);
8052  }
8053  if (((bitField3_ & 0x00800000) != 0)) {
8054  size += com.google.protobuf.CodedOutputStream
8055  .computeBoolSize(106, instantiateAllVariables_);
8056  }
8057  if (((bitField2_ & 0x00100000) != 0)) {
8058  size += com.google.protobuf.CodedOutputStream
8059  .computeInt32Size(107, booleanEncodingLevel_);
8060  }
8061  if (((bitField4_ & 0x00000400) != 0)) {
8062  size += com.google.protobuf.CodedOutputStream
8063  .computeBoolSize(108, useOptionalVariables_);
8064  }
8065  if (((bitField4_ & 0x00000800) != 0)) {
8066  size += com.google.protobuf.CodedOutputStream
8067  .computeBoolSize(109, useExactLpReason_);
8068  }
8069  if (((bitField1_ & 0x20000000) != 0)) {
8070  size += com.google.protobuf.CodedOutputStream
8071  .computeInt32Size(110, cpModelProbingLevel_);
8072  }
8073  if (((bitField2_ & 0x00800000) != 0)) {
8074  size += com.google.protobuf.CodedOutputStream
8075  .computeBoolSize(111, addKnapsackCuts_);
8076  }
8077  if (((bitField2_ & 0x80000000) != 0)) {
8078  size += com.google.protobuf.CodedOutputStream
8079  .computeBoolSize(112, addLpConstraintsLazily_);
8080  }
8081  if (((bitField3_ & 0x80000000) != 0)) {
8082  size += com.google.protobuf.CodedOutputStream
8083  .computeBoolSize(113, shareObjectiveBounds_);
8084  }
8085  if (((bitField4_ & 0x00000001) != 0)) {
8086  size += com.google.protobuf.CodedOutputStream
8087  .computeBoolSize(114, shareLevelZeroBounds_);
8088  }
8089  if (((bitField3_ & 0x00000001) != 0)) {
8090  size += com.google.protobuf.CodedOutputStream
8091  .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
8092  }
8093  if (((bitField3_ & 0x00000800) != 0)) {
8094  size += com.google.protobuf.CodedOutputStream
8095  .computeBoolSize(116, exploitAllLpSolution_);
8096  }
8097  if (((bitField2_ & 0x01000000) != 0)) {
8098  size += com.google.protobuf.CodedOutputStream
8099  .computeBoolSize(117, addCgCuts_);
8100  }
8101  if (((bitField2_ & 0x40000000) != 0)) {
8102  size += com.google.protobuf.CodedOutputStream
8103  .computeInt32Size(119, maxIntegerRoundingScaling_);
8104  }
8105  if (((bitField2_ & 0x02000000) != 0)) {
8106  size += com.google.protobuf.CodedOutputStream
8107  .computeBoolSize(120, addMirCuts_);
8108  }
8109  if (((bitField3_ & 0x00000004) != 0)) {
8110  size += com.google.protobuf.CodedOutputStream
8111  .computeInt32Size(121, maxConsecutiveInactiveCount_);
8112  }
8113  if (((bitField3_ & 0x00000040) != 0)) {
8114  size += com.google.protobuf.CodedOutputStream
8115  .computeInt32Size(122, newConstraintsBatchSize_);
8116  }
8117  if (((bitField3_ & 0x00010000) != 0)) {
8118  size += com.google.protobuf.CodedOutputStream
8119  .computeInt64Size(123, pseudoCostReliabilityThreshold_);
8120  }
8121  if (((bitField4_ & 0x00020000) != 0)) {
8122  size += com.google.protobuf.CodedOutputStream
8123  .computeDoubleSize(124, mipMaxBound_);
8124  }
8125  if (((bitField4_ & 0x00040000) != 0)) {
8126  size += com.google.protobuf.CodedOutputStream
8127  .computeDoubleSize(125, mipVarScaling_);
8128  }
8129  if (((bitField4_ & 0x00100000) != 0)) {
8130  size += com.google.protobuf.CodedOutputStream
8131  .computeDoubleSize(126, mipWantedPrecision_);
8132  }
8133  if (((bitField4_ & 0x00200000) != 0)) {
8134  size += com.google.protobuf.CodedOutputStream
8135  .computeInt32Size(127, mipMaxActivityExponent_);
8136  }
8137  if (((bitField4_ & 0x00400000) != 0)) {
8138  size += com.google.protobuf.CodedOutputStream
8139  .computeDoubleSize(128, mipCheckPrecision_);
8140  }
8141  if (((bitField4_ & 0x00000008) != 0)) {
8142  size += com.google.protobuf.CodedOutputStream
8143  .computeBoolSize(129, useRinsLns_);
8144  }
8145  if (((bitField3_ & 0x00001000) != 0)) {
8146  size += com.google.protobuf.CodedOutputStream
8147  .computeBoolSize(130, exploitBestSolution_);
8148  }
8149  if (((bitField3_ & 0x00004000) != 0)) {
8150  size += com.google.protobuf.CodedOutputStream
8151  .computeBoolSize(131, exploitObjective_);
8152  }
8153  if (((bitField3_ & 0x00400000) != 0)) {
8154  size += com.google.protobuf.CodedOutputStream
8155  .computeBoolSize(132, fillTightenedDomainsInResponse_);
8156  }
8157  if (((bitField4_ & 0x00002000) != 0)) {
8158  size += com.google.protobuf.CodedOutputStream
8159  .computeBoolSize(133, useCombinedNoOverlap_);
8160  }
8161  if (((bitField3_ & 0x20000000) != 0)) {
8162  size += com.google.protobuf.CodedOutputStream
8163  .computeInt32Size(134, interleaveBatchSize_);
8164  }
8165  if (((bitField4_ & 0x00004000) != 0)) {
8166  size += com.google.protobuf.CodedOutputStream
8167  .computeBoolSize(135, catchSigintSignal_);
8168  }
8169  if (((bitField3_ & 0x10000000) != 0)) {
8170  size += com.google.protobuf.CodedOutputStream
8171  .computeBoolSize(136, interleaveSearch_);
8172  }
8173  if (((bitField4_ & 0x00000080) != 0)) {
8174  size += com.google.protobuf.CodedOutputStream
8175  .computeBoolSize(137, diversifyLnsParams_);
8176  }
8177  if (((bitField1_ & 0x02000000) != 0)) {
8178  size += com.google.protobuf.CodedOutputStream
8179  .computeInt32Size(138, maxPresolveIterations_);
8180  }
8181  if (((bitField4_ & 0x00001000) != 0)) {
8182  size += com.google.protobuf.CodedOutputStream
8183  .computeBoolSize(139, useBranchingInLp_);
8184  }
8185  if (((bitField2_ & 0x00000001) != 0)) {
8186  size += com.google.protobuf.CodedOutputStream
8187  .computeBoolSize(140, expandElementConstraints_);
8188  }
8189  if (((bitField3_ & 0x40000000) != 0)) {
8190  size += com.google.protobuf.CodedOutputStream
8191  .computeBoolSize(141, reduceMemoryUsageInInterleaveMode_);
8192  }
8193  if (((bitField3_ & 0x00008000) != 0)) {
8194  size += com.google.protobuf.CodedOutputStream
8195  .computeInt64Size(142, probingPeriodAtRoot_);
8196  }
8197  if (((bitField2_ & 0x00000002) != 0)) {
8198  size += com.google.protobuf.CodedOutputStream
8199  .computeBoolSize(143, expandAutomatonConstraints_);
8200  }
8201  if (((bitField4_ & 0x00008000) != 0)) {
8202  size += com.google.protobuf.CodedOutputStream
8203  .computeBoolSize(144, useImpliedBounds_);
8204  }
8205  if (((bitField2_ & 0x00000010) != 0)) {
8206  size += com.google.protobuf.CodedOutputStream
8207  .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
8208  }
8209  if (((bitField2_ & 0x00000020) != 0)) {
8210  size += com.google.protobuf.CodedOutputStream
8211  .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
8212  }
8213  if (((bitField2_ & 0x00000040) != 0)) {
8214  size += com.google.protobuf.CodedOutputStream
8215  .computeInt32Size(147, presolveSubstitutionLevel_);
8216  }
8217  if (((bitField2_ & 0x10000000) != 0)) {
8218  size += com.google.protobuf.CodedOutputStream
8219  .computeInt32Size(148, maxAllDiffCutSize_);
8220  }
8221  if (((bitField3_ & 0x04000000) != 0)) {
8222  size += com.google.protobuf.CodedOutputStream
8223  .computeBoolSize(149, stopAfterPresolve_);
8224  }
8225  if (((bitField4_ & 0x00000040) != 0)) {
8226  size += com.google.protobuf.CodedOutputStream
8227  .computeBoolSize(150, useRelaxationLns_);
8228  }
8229  if (((bitField1_ & 0x10000000) != 0)) {
8230  size += com.google.protobuf.CodedOutputStream
8231  .computeInt32Size(151, cpModelMaxNumPresolveOperations_);
8232  }
8233  if (((bitField2_ & 0x20000000) != 0)) {
8234  size += com.google.protobuf.CodedOutputStream
8235  .computeBoolSize(152, addLinMaxCuts_);
8236  }
8237  if (((bitField3_ & 0x00000100) != 0)) {
8238  size += com.google.protobuf.CodedOutputStream
8239  .computeInt32Size(153, hintConflictLimit_);
8240  }
8241  if (((bitField3_ & 0x00000002) != 0)) {
8242  size += com.google.protobuf.CodedOutputStream
8243  .computeInt32Size(154, maxCutRoundsAtLevelZero_);
8244  }
8245  if (((bitField3_ & 0x00000008) != 0)) {
8246  size += com.google.protobuf.CodedOutputStream
8247  .computeDoubleSize(155, cutMaxActiveCountValue_);
8248  }
8249  if (((bitField3_ & 0x00000010) != 0)) {
8250  size += com.google.protobuf.CodedOutputStream
8251  .computeDoubleSize(156, cutActiveCountDecay_);
8252  }
8253  if (((bitField3_ & 0x00000020) != 0)) {
8254  size += com.google.protobuf.CodedOutputStream
8255  .computeInt32Size(157, cutCleanupTarget_);
8256  }
8257  if (((bitField2_ & 0x00000004) != 0)) {
8258  size += com.google.protobuf.CodedOutputStream
8259  .computeBoolSize(158, expandTableConstraints_);
8260  }
8261  if (((bitField1_ & 0x00000800) != 0)) {
8262  size += com.google.protobuf.CodedOutputStream
8263  .computeDoubleSize(159, absoluteGapLimit_);
8264  }
8265  if (((bitField1_ & 0x00001000) != 0)) {
8266  size += com.google.protobuf.CodedOutputStream
8267  .computeDoubleSize(160, relativeGapLimit_);
8268  }
8269  if (((bitField3_ & 0x00002000) != 0)) {
8270  size += com.google.protobuf.CodedOutputStream
8271  .computeBoolSize(161, exploitRelaxationSolution_);
8272  }
8273  if (((bitField1_ & 0x08000000) != 0)) {
8274  size += com.google.protobuf.CodedOutputStream
8275  .computeBoolSize(162, cpModelPostsolveWithFullSolver_);
8276  }
8277  if (((bitField1_ & 0x80000000) != 0)) {
8278  size += com.google.protobuf.CodedOutputStream
8279  .computeBoolSize(163, useSatInprocessing_);
8280  }
8281  if (((bitField4_ & 0x00000010) != 0)) {
8282  size += com.google.protobuf.CodedOutputStream
8283  .computeBoolSize(164, useFeasibilityPump_);
8284  }
8285  if (((bitField4_ & 0x00000020) != 0)) {
8286  size += com.google.protobuf.CodedOutputStream
8287  .computeEnumSize(165, fpRounding_);
8288  }
8289  if (((bitField4_ & 0x00080000) != 0)) {
8290  size += com.google.protobuf.CodedOutputStream
8291  .computeBoolSize(166, mipAutomaticallyScaleVariables_);
8292  }
8293  if (((bitField3_ & 0x00000200) != 0)) {
8294  size += com.google.protobuf.CodedOutputStream
8295  .computeBoolSize(167, repairHint_);
8296  }
8297  if (((bitField0_ & 0x00000010) != 0)) {
8298  size += com.google.protobuf.CodedOutputStream
8299  .computeInt32Size(168, polarityRephaseIncrement_);
8300  }
8301  if (((bitField2_ & 0x04000000) != 0)) {
8302  size += com.google.protobuf.CodedOutputStream
8303  .computeBoolSize(169, addZeroHalfCuts_);
8304  }
8305  if (((bitField2_ & 0x00000008) != 0)) {
8306  size += com.google.protobuf.CodedOutputStream
8307  .computeBoolSize(170, expandAlldiffConstraints_);
8308  }
8309  if (((bitField0_ & 0x00000001) != 0)) {
8310  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(171, name_);
8311  }
8312  if (((bitField2_ & 0x08000000) != 0)) {
8313  size += com.google.protobuf.CodedOutputStream
8314  .computeBoolSize(172, addCliqueCuts_);
8315  }
8316  if (((bitField3_ & 0x00200000) != 0)) {
8317  size += com.google.protobuf.CodedOutputStream
8318  .computeBoolSize(173, keepAllFeasibleSolutionsInPresolve_);
8319  }
8320  if (((bitField2_ & 0x00000080) != 0)) {
8321  size += com.google.protobuf.CodedOutputStream
8322  .computeBoolSize(174, presolveExtractIntegerEnforcement_);
8323  }
8324  if (((bitField4_ & 0x00010000) != 0)) {
8325  size += com.google.protobuf.CodedOutputStream
8326  .computeBoolSize(175, polishLpSolution_);
8327  }
8328  size += unknownFields.getSerializedSize();
8329  memoizedSize = size;
8330  return size;
8331  }
8332 
8333  @java.lang.Override
8334  public boolean equals(final java.lang.Object obj) {
8335  if (obj == this) {
8336  return true;
8337  }
8338  if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
8339  return super.equals(obj);
8340  }
8342 
8343  if (hasName() != other.hasName()) return false;
8344  if (hasName()) {
8345  if (!getName()
8346  .equals(other.getName())) return false;
8347  }
8348  if (hasPreferredVariableOrder() != other.hasPreferredVariableOrder()) return false;
8349  if (hasPreferredVariableOrder()) {
8350  if (preferredVariableOrder_ != other.preferredVariableOrder_) return false;
8351  }
8352  if (hasInitialPolarity() != other.hasInitialPolarity()) return false;
8353  if (hasInitialPolarity()) {
8354  if (initialPolarity_ != other.initialPolarity_) return false;
8355  }
8356  if (hasUsePhaseSaving() != other.hasUsePhaseSaving()) return false;
8357  if (hasUsePhaseSaving()) {
8358  if (getUsePhaseSaving()
8359  != other.getUsePhaseSaving()) return false;
8360  }
8361  if (hasPolarityRephaseIncrement() != other.hasPolarityRephaseIncrement()) return false;
8364  != other.getPolarityRephaseIncrement()) return false;
8365  }
8366  if (hasRandomPolarityRatio() != other.hasRandomPolarityRatio()) return false;
8367  if (hasRandomPolarityRatio()) {
8368  if (java.lang.Double.doubleToLongBits(getRandomPolarityRatio())
8369  != java.lang.Double.doubleToLongBits(
8370  other.getRandomPolarityRatio())) return false;
8371  }
8372  if (hasRandomBranchesRatio() != other.hasRandomBranchesRatio()) return false;
8373  if (hasRandomBranchesRatio()) {
8374  if (java.lang.Double.doubleToLongBits(getRandomBranchesRatio())
8375  != java.lang.Double.doubleToLongBits(
8376  other.getRandomBranchesRatio())) return false;
8377  }
8378  if (hasUseErwaHeuristic() != other.hasUseErwaHeuristic()) return false;
8379  if (hasUseErwaHeuristic()) {
8380  if (getUseErwaHeuristic()
8381  != other.getUseErwaHeuristic()) return false;
8382  }
8383  if (hasInitialVariablesActivity() != other.hasInitialVariablesActivity()) return false;
8385  if (java.lang.Double.doubleToLongBits(getInitialVariablesActivity())
8386  != java.lang.Double.doubleToLongBits(
8387  other.getInitialVariablesActivity())) return false;
8388  }
8389  if (hasAlsoBumpVariablesInConflictReasons() != other.hasAlsoBumpVariablesInConflictReasons()) return false;
8392  != other.getAlsoBumpVariablesInConflictReasons()) return false;
8393  }
8394  if (hasMinimizationAlgorithm() != other.hasMinimizationAlgorithm()) return false;
8395  if (hasMinimizationAlgorithm()) {
8396  if (minimizationAlgorithm_ != other.minimizationAlgorithm_) return false;
8397  }
8398  if (hasBinaryMinimizationAlgorithm() != other.hasBinaryMinimizationAlgorithm()) return false;
8400  if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_) return false;
8401  }
8402  if (hasSubsumptionDuringConflictAnalysis() != other.hasSubsumptionDuringConflictAnalysis()) return false;
8405  != other.getSubsumptionDuringConflictAnalysis()) return false;
8406  }
8407  if (hasClauseCleanupPeriod() != other.hasClauseCleanupPeriod()) return false;
8408  if (hasClauseCleanupPeriod()) {
8410  != other.getClauseCleanupPeriod()) return false;
8411  }
8412  if (hasClauseCleanupTarget() != other.hasClauseCleanupTarget()) return false;
8413  if (hasClauseCleanupTarget()) {
8415  != other.getClauseCleanupTarget()) return false;
8416  }
8417  if (hasClauseCleanupProtection() != other.hasClauseCleanupProtection()) return false;
8419  if (clauseCleanupProtection_ != other.clauseCleanupProtection_) return false;
8420  }
8421  if (hasClauseCleanupLbdBound() != other.hasClauseCleanupLbdBound()) return false;
8422  if (hasClauseCleanupLbdBound()) {
8424  != other.getClauseCleanupLbdBound()) return false;
8425  }
8426  if (hasClauseCleanupOrdering() != other.hasClauseCleanupOrdering()) return false;
8427  if (hasClauseCleanupOrdering()) {
8428  if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_) return false;
8429  }
8430  if (hasPbCleanupIncrement() != other.hasPbCleanupIncrement()) return false;
8431  if (hasPbCleanupIncrement()) {
8432  if (getPbCleanupIncrement()
8433  != other.getPbCleanupIncrement()) return false;
8434  }
8435  if (hasPbCleanupRatio() != other.hasPbCleanupRatio()) return false;
8436  if (hasPbCleanupRatio()) {
8437  if (java.lang.Double.doubleToLongBits(getPbCleanupRatio())
8438  != java.lang.Double.doubleToLongBits(
8439  other.getPbCleanupRatio())) return false;
8440  }
8441  if (hasMinimizeWithPropagationRestartPeriod() != other.hasMinimizeWithPropagationRestartPeriod()) return false;
8444  != other.getMinimizeWithPropagationRestartPeriod()) return false;
8445  }
8446  if (hasMinimizeWithPropagationNumDecisions() != other.hasMinimizeWithPropagationNumDecisions()) return false;
8449  != other.getMinimizeWithPropagationNumDecisions()) return false;
8450  }
8451  if (hasVariableActivityDecay() != other.hasVariableActivityDecay()) return false;
8452  if (hasVariableActivityDecay()) {
8453  if (java.lang.Double.doubleToLongBits(getVariableActivityDecay())
8454  != java.lang.Double.doubleToLongBits(
8455  other.getVariableActivityDecay())) return false;
8456  }
8457  if (hasMaxVariableActivityValue() != other.hasMaxVariableActivityValue()) return false;
8459  if (java.lang.Double.doubleToLongBits(getMaxVariableActivityValue())
8460  != java.lang.Double.doubleToLongBits(
8461  other.getMaxVariableActivityValue())) return false;
8462  }
8463  if (hasGlucoseMaxDecay() != other.hasGlucoseMaxDecay()) return false;
8464  if (hasGlucoseMaxDecay()) {
8465  if (java.lang.Double.doubleToLongBits(getGlucoseMaxDecay())
8466  != java.lang.Double.doubleToLongBits(
8467  other.getGlucoseMaxDecay())) return false;
8468  }
8469  if (hasGlucoseDecayIncrement() != other.hasGlucoseDecayIncrement()) return false;
8470  if (hasGlucoseDecayIncrement()) {
8471  if (java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement())
8472  != java.lang.Double.doubleToLongBits(
8473  other.getGlucoseDecayIncrement())) return false;
8474  }
8475  if (hasGlucoseDecayIncrementPeriod() != other.hasGlucoseDecayIncrementPeriod()) return false;
8478  != other.getGlucoseDecayIncrementPeriod()) return false;
8479  }
8480  if (hasClauseActivityDecay() != other.hasClauseActivityDecay()) return false;
8481  if (hasClauseActivityDecay()) {
8482  if (java.lang.Double.doubleToLongBits(getClauseActivityDecay())
8483  != java.lang.Double.doubleToLongBits(
8484  other.getClauseActivityDecay())) return false;
8485  }
8486  if (hasMaxClauseActivityValue() != other.hasMaxClauseActivityValue()) return false;
8487  if (hasMaxClauseActivityValue()) {
8488  if (java.lang.Double.doubleToLongBits(getMaxClauseActivityValue())
8489  != java.lang.Double.doubleToLongBits(
8490  other.getMaxClauseActivityValue())) return false;
8491  }
8492  if (!restartAlgorithms_.equals(other.restartAlgorithms_)) return false;
8493  if (hasDefaultRestartAlgorithms() != other.hasDefaultRestartAlgorithms()) return false;
8496  .equals(other.getDefaultRestartAlgorithms())) return false;
8497  }
8498  if (hasRestartPeriod() != other.hasRestartPeriod()) return false;
8499  if (hasRestartPeriod()) {
8500  if (getRestartPeriod()
8501  != other.getRestartPeriod()) return false;
8502  }
8503  if (hasRestartRunningWindowSize() != other.hasRestartRunningWindowSize()) return false;
8506  != other.getRestartRunningWindowSize()) return false;
8507  }
8508  if (hasRestartDlAverageRatio() != other.hasRestartDlAverageRatio()) return false;
8509  if (hasRestartDlAverageRatio()) {
8510  if (java.lang.Double.doubleToLongBits(getRestartDlAverageRatio())
8511  != java.lang.Double.doubleToLongBits(
8512  other.getRestartDlAverageRatio())) return false;
8513  }
8514  if (hasRestartLbdAverageRatio() != other.hasRestartLbdAverageRatio()) return false;
8515  if (hasRestartLbdAverageRatio()) {
8516  if (java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio())
8517  != java.lang.Double.doubleToLongBits(
8518  other.getRestartLbdAverageRatio())) return false;
8519  }
8520  if (hasUseBlockingRestart() != other.hasUseBlockingRestart()) return false;
8521  if (hasUseBlockingRestart()) {
8522  if (getUseBlockingRestart()
8523  != other.getUseBlockingRestart()) return false;
8524  }
8525  if (hasBlockingRestartWindowSize() != other.hasBlockingRestartWindowSize()) return false;
8528  != other.getBlockingRestartWindowSize()) return false;
8529  }
8530  if (hasBlockingRestartMultiplier() != other.hasBlockingRestartMultiplier()) return false;
8532  if (java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier())
8533  != java.lang.Double.doubleToLongBits(
8534  other.getBlockingRestartMultiplier())) return false;
8535  }
8536  if (hasNumConflictsBeforeStrategyChanges() != other.hasNumConflictsBeforeStrategyChanges()) return false;
8539  != other.getNumConflictsBeforeStrategyChanges()) return false;
8540  }
8541  if (hasStrategyChangeIncreaseRatio() != other.hasStrategyChangeIncreaseRatio()) return false;
8543  if (java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio())
8544  != java.lang.Double.doubleToLongBits(
8545  other.getStrategyChangeIncreaseRatio())) return false;
8546  }
8547  if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
8548  if (hasMaxTimeInSeconds()) {
8549  if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
8550  != java.lang.Double.doubleToLongBits(
8551  other.getMaxTimeInSeconds())) return false;
8552  }
8553  if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
8554  if (hasMaxDeterministicTime()) {
8555  if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
8556  != java.lang.Double.doubleToLongBits(
8557  other.getMaxDeterministicTime())) return false;
8558  }
8559  if (hasMaxNumberOfConflicts() != other.hasMaxNumberOfConflicts()) return false;
8560  if (hasMaxNumberOfConflicts()) {
8562  != other.getMaxNumberOfConflicts()) return false;
8563  }
8564  if (hasMaxMemoryInMb() != other.hasMaxMemoryInMb()) return false;
8565  if (hasMaxMemoryInMb()) {
8566  if (getMaxMemoryInMb()
8567  != other.getMaxMemoryInMb()) return false;
8568  }
8569  if (hasAbsoluteGapLimit() != other.hasAbsoluteGapLimit()) return false;
8570  if (hasAbsoluteGapLimit()) {
8571  if (java.lang.Double.doubleToLongBits(getAbsoluteGapLimit())
8572  != java.lang.Double.doubleToLongBits(
8573  other.getAbsoluteGapLimit())) return false;
8574  }
8575  if (hasRelativeGapLimit() != other.hasRelativeGapLimit()) return false;
8576  if (hasRelativeGapLimit()) {
8577  if (java.lang.Double.doubleToLongBits(getRelativeGapLimit())
8578  != java.lang.Double.doubleToLongBits(
8579  other.getRelativeGapLimit())) return false;
8580  }
8581  if (hasTreatBinaryClausesSeparately() != other.hasTreatBinaryClausesSeparately()) return false;
8584  != other.getTreatBinaryClausesSeparately()) return false;
8585  }
8586  if (hasRandomSeed() != other.hasRandomSeed()) return false;
8587  if (hasRandomSeed()) {
8588  if (getRandomSeed()
8589  != other.getRandomSeed()) return false;
8590  }
8591  if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
8592  if (hasLogSearchProgress()) {
8593  if (getLogSearchProgress()
8594  != other.getLogSearchProgress()) return false;
8595  }
8596  if (hasUsePbResolution() != other.hasUsePbResolution()) return false;
8597  if (hasUsePbResolution()) {
8598  if (getUsePbResolution()
8599  != other.getUsePbResolution()) return false;
8600  }
8601  if (hasMinimizeReductionDuringPbResolution() != other.hasMinimizeReductionDuringPbResolution()) return false;
8604  != other.getMinimizeReductionDuringPbResolution()) return false;
8605  }
8606  if (hasCountAssumptionLevelsInLbd() != other.hasCountAssumptionLevelsInLbd()) return false;
8609  != other.getCountAssumptionLevelsInLbd()) return false;
8610  }
8611  if (hasPresolveBveThreshold() != other.hasPresolveBveThreshold()) return false;
8612  if (hasPresolveBveThreshold()) {
8614  != other.getPresolveBveThreshold()) return false;
8615  }
8616  if (hasPresolveBveClauseWeight() != other.hasPresolveBveClauseWeight()) return false;
8619  != other.getPresolveBveClauseWeight()) return false;
8620  }
8621  if (hasPresolveProbingDeterministicTimeLimit() != other.hasPresolveProbingDeterministicTimeLimit()) return false;
8623  if (java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit())
8624  != java.lang.Double.doubleToLongBits(
8625  other.getPresolveProbingDeterministicTimeLimit())) return false;
8626  }
8627  if (hasPresolveBlockedClause() != other.hasPresolveBlockedClause()) return false;
8628  if (hasPresolveBlockedClause()) {
8630  != other.getPresolveBlockedClause()) return false;
8631  }
8632  if (hasPresolveUseBva() != other.hasPresolveUseBva()) return false;
8633  if (hasPresolveUseBva()) {
8634  if (getPresolveUseBva()
8635  != other.getPresolveUseBva()) return false;
8636  }
8637  if (hasPresolveBvaThreshold() != other.hasPresolveBvaThreshold()) return false;
8638  if (hasPresolveBvaThreshold()) {
8640  != other.getPresolveBvaThreshold()) return false;
8641  }
8642  if (hasMaxPresolveIterations() != other.hasMaxPresolveIterations()) return false;
8643  if (hasMaxPresolveIterations()) {
8645  != other.getMaxPresolveIterations()) return false;
8646  }
8647  if (hasCpModelPresolve() != other.hasCpModelPresolve()) return false;
8648  if (hasCpModelPresolve()) {
8649  if (getCpModelPresolve()
8650  != other.getCpModelPresolve()) return false;
8651  }
8652  if (hasCpModelPostsolveWithFullSolver() != other.hasCpModelPostsolveWithFullSolver()) return false;
8655  != other.getCpModelPostsolveWithFullSolver()) return false;
8656  }
8657  if (hasCpModelMaxNumPresolveOperations() != other.hasCpModelMaxNumPresolveOperations()) return false;
8660  != other.getCpModelMaxNumPresolveOperations()) return false;
8661  }
8662  if (hasCpModelProbingLevel() != other.hasCpModelProbingLevel()) return false;
8663  if (hasCpModelProbingLevel()) {
8665  != other.getCpModelProbingLevel()) return false;
8666  }
8667  if (hasCpModelUseSatPresolve() != other.hasCpModelUseSatPresolve()) return false;
8668  if (hasCpModelUseSatPresolve()) {
8670  != other.getCpModelUseSatPresolve()) return false;
8671  }
8672  if (hasUseSatInprocessing() != other.hasUseSatInprocessing()) return false;
8673  if (hasUseSatInprocessing()) {
8674  if (getUseSatInprocessing()
8675  != other.getUseSatInprocessing()) return false;
8676  }
8677  if (hasExpandElementConstraints() != other.hasExpandElementConstraints()) return false;
8680  != other.getExpandElementConstraints()) return false;
8681  }
8682  if (hasExpandAutomatonConstraints() != other.hasExpandAutomatonConstraints()) return false;
8685  != other.getExpandAutomatonConstraints()) return false;
8686  }
8687  if (hasExpandTableConstraints() != other.hasExpandTableConstraints()) return false;
8688  if (hasExpandTableConstraints()) {
8690  != other.getExpandTableConstraints()) return false;
8691  }
8692  if (hasExpandAlldiffConstraints() != other.hasExpandAlldiffConstraints()) return false;
8695  != other.getExpandAlldiffConstraints()) return false;
8696  }
8697  if (hasMergeNoOverlapWorkLimit() != other.hasMergeNoOverlapWorkLimit()) return false;
8699  if (java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit())
8700  != java.lang.Double.doubleToLongBits(
8701  other.getMergeNoOverlapWorkLimit())) return false;
8702  }
8703  if (hasMergeAtMostOneWorkLimit() != other.hasMergeAtMostOneWorkLimit()) return false;
8705  if (java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit())
8706  != java.lang.Double.doubleToLongBits(
8707  other.getMergeAtMostOneWorkLimit())) return false;
8708  }
8709  if (hasPresolveSubstitutionLevel() != other.hasPresolveSubstitutionLevel()) return false;
8712  != other.getPresolveSubstitutionLevel()) return false;
8713  }
8714  if (hasPresolveExtractIntegerEnforcement() != other.hasPresolveExtractIntegerEnforcement()) return false;
8717  != other.getPresolveExtractIntegerEnforcement()) return false;
8718  }
8719  if (hasUseOptimizationHints() != other.hasUseOptimizationHints()) return false;
8720  if (hasUseOptimizationHints()) {
8722  != other.getUseOptimizationHints()) return false;
8723  }
8724  if (hasMinimizeCore() != other.hasMinimizeCore()) return false;
8725  if (hasMinimizeCore()) {
8726  if (getMinimizeCore()
8727  != other.getMinimizeCore()) return false;
8728  }
8729  if (hasFindMultipleCores() != other.hasFindMultipleCores()) return false;
8730  if (hasFindMultipleCores()) {
8731  if (getFindMultipleCores()
8732  != other.getFindMultipleCores()) return false;
8733  }
8734  if (hasCoverOptimization() != other.hasCoverOptimization()) return false;
8735  if (hasCoverOptimization()) {
8736  if (getCoverOptimization()
8737  != other.getCoverOptimization()) return false;
8738  }
8739  if (hasMaxSatAssumptionOrder() != other.hasMaxSatAssumptionOrder()) return false;
8740  if (hasMaxSatAssumptionOrder()) {
8741  if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_) return false;
8742  }
8743  if (hasMaxSatReverseAssumptionOrder() != other.hasMaxSatReverseAssumptionOrder()) return false;
8746  != other.getMaxSatReverseAssumptionOrder()) return false;
8747  }
8748  if (hasMaxSatStratification() != other.hasMaxSatStratification()) return false;
8749  if (hasMaxSatStratification()) {
8750  if (maxSatStratification_ != other.maxSatStratification_) return false;
8751  }
8752  if (hasUsePrecedencesInDisjunctiveConstraint() != other.hasUsePrecedencesInDisjunctiveConstraint()) return false;
8755  != other.getUsePrecedencesInDisjunctiveConstraint()) return false;
8756  }
8757  if (hasUseOverloadCheckerInCumulativeConstraint() != other.hasUseOverloadCheckerInCumulativeConstraint()) return false;
8760  != other.getUseOverloadCheckerInCumulativeConstraint()) return false;
8761  }
8762  if (hasUseTimetableEdgeFindingInCumulativeConstraint() != other.hasUseTimetableEdgeFindingInCumulativeConstraint()) return false;
8765  != other.getUseTimetableEdgeFindingInCumulativeConstraint()) return false;
8766  }
8767  if (hasUseDisjunctiveConstraintInCumulativeConstraint() != other.hasUseDisjunctiveConstraintInCumulativeConstraint()) return false;
8770  != other.getUseDisjunctiveConstraintInCumulativeConstraint()) return false;
8771  }
8772  if (hasLinearizationLevel() != other.hasLinearizationLevel()) return false;
8773  if (hasLinearizationLevel()) {
8774  if (getLinearizationLevel()
8775  != other.getLinearizationLevel()) return false;
8776  }
8777  if (hasBooleanEncodingLevel() != other.hasBooleanEncodingLevel()) return false;
8778  if (hasBooleanEncodingLevel()) {
8780  != other.getBooleanEncodingLevel()) return false;
8781  }
8782  if (hasMaxNumCuts() != other.hasMaxNumCuts()) return false;
8783  if (hasMaxNumCuts()) {
8784  if (getMaxNumCuts()
8785  != other.getMaxNumCuts()) return false;
8786  }
8787  if (hasOnlyAddCutsAtLevelZero() != other.hasOnlyAddCutsAtLevelZero()) return false;
8788  if (hasOnlyAddCutsAtLevelZero()) {
8790  != other.getOnlyAddCutsAtLevelZero()) return false;
8791  }
8792  if (hasAddKnapsackCuts() != other.hasAddKnapsackCuts()) return false;
8793  if (hasAddKnapsackCuts()) {
8794  if (getAddKnapsackCuts()
8795  != other.getAddKnapsackCuts()) return false;
8796  }
8797  if (hasAddCgCuts() != other.hasAddCgCuts()) return false;
8798  if (hasAddCgCuts()) {
8799  if (getAddCgCuts()
8800  != other.getAddCgCuts()) return false;
8801  }
8802  if (hasAddMirCuts() != other.hasAddMirCuts()) return false;
8803  if (hasAddMirCuts()) {
8804  if (getAddMirCuts()
8805  != other.getAddMirCuts()) return false;
8806  }
8807  if (hasAddZeroHalfCuts() != other.hasAddZeroHalfCuts()) return false;
8808  if (hasAddZeroHalfCuts()) {
8809  if (getAddZeroHalfCuts()
8810  != other.getAddZeroHalfCuts()) return false;
8811  }
8812  if (hasAddCliqueCuts() != other.hasAddCliqueCuts()) return false;
8813  if (hasAddCliqueCuts()) {
8814  if (getAddCliqueCuts()
8815  != other.getAddCliqueCuts()) return false;
8816  }
8817  if (hasMaxAllDiffCutSize() != other.hasMaxAllDiffCutSize()) return false;
8818  if (hasMaxAllDiffCutSize()) {
8819  if (getMaxAllDiffCutSize()
8820  != other.getMaxAllDiffCutSize()) return false;
8821  }
8822  if (hasAddLinMaxCuts() != other.hasAddLinMaxCuts()) return false;
8823  if (hasAddLinMaxCuts()) {
8824  if (getAddLinMaxCuts()
8825  != other.getAddLinMaxCuts()) return false;
8826  }
8827  if (hasMaxIntegerRoundingScaling() != other.hasMaxIntegerRoundingScaling()) return false;
8830  != other.getMaxIntegerRoundingScaling()) return false;
8831  }
8832  if (hasAddLpConstraintsLazily() != other.hasAddLpConstraintsLazily()) return false;
8833  if (hasAddLpConstraintsLazily()) {
8835  != other.getAddLpConstraintsLazily()) return false;
8836  }
8837  if (hasMinOrthogonalityForLpConstraints() != other.hasMinOrthogonalityForLpConstraints()) return false;
8839  if (java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints())
8840  != java.lang.Double.doubleToLongBits(
8841  other.getMinOrthogonalityForLpConstraints())) return false;
8842  }
8843  if (hasMaxCutRoundsAtLevelZero() != other.hasMaxCutRoundsAtLevelZero()) return false;
8846  != other.getMaxCutRoundsAtLevelZero()) return false;
8847  }
8848  if (hasMaxConsecutiveInactiveCount() != other.hasMaxConsecutiveInactiveCount()) return false;
8851  != other.getMaxConsecutiveInactiveCount()) return false;
8852  }
8853  if (hasCutMaxActiveCountValue() != other.hasCutMaxActiveCountValue()) return false;
8854  if (hasCutMaxActiveCountValue()) {
8855  if (java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue())
8856  != java.lang.Double.doubleToLongBits(
8857  other.getCutMaxActiveCountValue())) return false;
8858  }
8859  if (hasCutActiveCountDecay() != other.hasCutActiveCountDecay()) return false;
8860  if (hasCutActiveCountDecay()) {
8861  if (java.lang.Double.doubleToLongBits(getCutActiveCountDecay())
8862  != java.lang.Double.doubleToLongBits(
8863  other.getCutActiveCountDecay())) return false;
8864  }
8865  if (hasCutCleanupTarget() != other.hasCutCleanupTarget()) return false;
8866  if (hasCutCleanupTarget()) {
8867  if (getCutCleanupTarget()
8868  != other.getCutCleanupTarget()) return false;
8869  }
8870  if (hasNewConstraintsBatchSize() != other.hasNewConstraintsBatchSize()) return false;
8873  != other.getNewConstraintsBatchSize()) return false;
8874  }
8875  if (hasSearchBranching() != other.hasSearchBranching()) return false;
8876  if (hasSearchBranching()) {
8877  if (searchBranching_ != other.searchBranching_) return false;
8878  }
8879  if (hasHintConflictLimit() != other.hasHintConflictLimit()) return false;
8880  if (hasHintConflictLimit()) {
8881  if (getHintConflictLimit()
8882  != other.getHintConflictLimit()) return false;
8883  }
8884  if (hasRepairHint() != other.hasRepairHint()) return false;
8885  if (hasRepairHint()) {
8886  if (getRepairHint()
8887  != other.getRepairHint()) return false;
8888  }
8889  if (hasExploitIntegerLpSolution() != other.hasExploitIntegerLpSolution()) return false;
8892  != other.getExploitIntegerLpSolution()) return false;
8893  }
8894  if (hasExploitAllLpSolution() != other.hasExploitAllLpSolution()) return false;
8895  if (hasExploitAllLpSolution()) {
8897  != other.getExploitAllLpSolution()) return false;
8898  }
8899  if (hasExploitBestSolution() != other.hasExploitBestSolution()) return false;
8900  if (hasExploitBestSolution()) {
8902  != other.getExploitBestSolution()) return false;
8903  }
8904  if (hasExploitRelaxationSolution() != other.hasExploitRelaxationSolution()) return false;
8907  != other.getExploitRelaxationSolution()) return false;
8908  }
8909  if (hasExploitObjective() != other.hasExploitObjective()) return false;
8910  if (hasExploitObjective()) {
8911  if (getExploitObjective()
8912  != other.getExploitObjective()) return false;
8913  }
8914  if (hasProbingPeriodAtRoot() != other.hasProbingPeriodAtRoot()) return false;
8915  if (hasProbingPeriodAtRoot()) {
8917  != other.getProbingPeriodAtRoot()) return false;
8918  }
8919  if (hasPseudoCostReliabilityThreshold() != other.hasPseudoCostReliabilityThreshold()) return false;
8922  != other.getPseudoCostReliabilityThreshold()) return false;
8923  }
8924  if (hasOptimizeWithCore() != other.hasOptimizeWithCore()) return false;
8925  if (hasOptimizeWithCore()) {
8926  if (getOptimizeWithCore()
8927  != other.getOptimizeWithCore()) return false;
8928  }
8929  if (hasBinarySearchNumConflicts() != other.hasBinarySearchNumConflicts()) return false;
8932  != other.getBinarySearchNumConflicts()) return false;
8933  }
8934  if (hasOptimizeWithMaxHs() != other.hasOptimizeWithMaxHs()) return false;
8935  if (hasOptimizeWithMaxHs()) {
8936  if (getOptimizeWithMaxHs()
8937  != other.getOptimizeWithMaxHs()) return false;
8938  }
8939  if (hasEnumerateAllSolutions() != other.hasEnumerateAllSolutions()) return false;
8940  if (hasEnumerateAllSolutions()) {
8942  != other.getEnumerateAllSolutions()) return false;
8943  }
8944  if (hasKeepAllFeasibleSolutionsInPresolve() != other.hasKeepAllFeasibleSolutionsInPresolve()) return false;
8947  != other.getKeepAllFeasibleSolutionsInPresolve()) return false;
8948  }
8949  if (hasFillTightenedDomainsInResponse() != other.hasFillTightenedDomainsInResponse()) return false;
8952  != other.getFillTightenedDomainsInResponse()) return false;
8953  }
8954  if (hasInstantiateAllVariables() != other.hasInstantiateAllVariables()) return false;
8957  != other.getInstantiateAllVariables()) return false;
8958  }
8959  if (hasAutoDetectGreaterThanAtLeastOneOf() != other.hasAutoDetectGreaterThanAtLeastOneOf()) return false;
8962  != other.getAutoDetectGreaterThanAtLeastOneOf()) return false;
8963  }
8964  if (hasStopAfterFirstSolution() != other.hasStopAfterFirstSolution()) return false;
8965  if (hasStopAfterFirstSolution()) {
8967  != other.getStopAfterFirstSolution()) return false;
8968  }
8969  if (hasStopAfterPresolve() != other.hasStopAfterPresolve()) return false;
8970  if (hasStopAfterPresolve()) {
8971  if (getStopAfterPresolve()
8972  != other.getStopAfterPresolve()) return false;
8973  }
8974  if (hasNumSearchWorkers() != other.hasNumSearchWorkers()) return false;
8975  if (hasNumSearchWorkers()) {
8976  if (getNumSearchWorkers()
8977  != other.getNumSearchWorkers()) return false;
8978  }
8979  if (hasInterleaveSearch() != other.hasInterleaveSearch()) return false;
8980  if (hasInterleaveSearch()) {
8981  if (getInterleaveSearch()
8982  != other.getInterleaveSearch()) return false;
8983  }
8984  if (hasInterleaveBatchSize() != other.hasInterleaveBatchSize()) return false;
8985  if (hasInterleaveBatchSize()) {
8987  != other.getInterleaveBatchSize()) return false;
8988  }
8989  if (hasReduceMemoryUsageInInterleaveMode() != other.hasReduceMemoryUsageInInterleaveMode()) return false;
8992  != other.getReduceMemoryUsageInInterleaveMode()) return false;
8993  }
8994  if (hasShareObjectiveBounds() != other.hasShareObjectiveBounds()) return false;
8995  if (hasShareObjectiveBounds()) {
8997  != other.getShareObjectiveBounds()) return false;
8998  }
8999  if (hasShareLevelZeroBounds() != other.hasShareLevelZeroBounds()) return false;
9000  if (hasShareLevelZeroBounds()) {
9002  != other.getShareLevelZeroBounds()) return false;
9003  }
9004  if (hasUseLnsOnly() != other.hasUseLnsOnly()) return false;
9005  if (hasUseLnsOnly()) {
9006  if (getUseLnsOnly()
9007  != other.getUseLnsOnly()) return false;
9008  }
9009  if (hasLnsFocusOnDecisionVariables() != other.hasLnsFocusOnDecisionVariables()) return false;
9012  != other.getLnsFocusOnDecisionVariables()) return false;
9013  }
9014  if (hasUseRinsLns() != other.hasUseRinsLns()) return false;
9015  if (hasUseRinsLns()) {
9016  if (getUseRinsLns()
9017  != other.getUseRinsLns()) return false;
9018  }
9019  if (hasUseFeasibilityPump() != other.hasUseFeasibilityPump()) return false;
9020  if (hasUseFeasibilityPump()) {
9021  if (getUseFeasibilityPump()
9022  != other.getUseFeasibilityPump()) return false;
9023  }
9024  if (hasFpRounding() != other.hasFpRounding()) return false;
9025  if (hasFpRounding()) {
9026  if (fpRounding_ != other.fpRounding_) return false;
9027  }
9028  if (hasUseRelaxationLns() != other.hasUseRelaxationLns()) return false;
9029  if (hasUseRelaxationLns()) {
9030  if (getUseRelaxationLns()
9031  != other.getUseRelaxationLns()) return false;
9032  }
9033  if (hasDiversifyLnsParams() != other.hasDiversifyLnsParams()) return false;
9034  if (hasDiversifyLnsParams()) {
9035  if (getDiversifyLnsParams()
9036  != other.getDiversifyLnsParams()) return false;
9037  }
9038  if (hasRandomizeSearch() != other.hasRandomizeSearch()) return false;
9039  if (hasRandomizeSearch()) {
9040  if (getRandomizeSearch()
9041  != other.getRandomizeSearch()) return false;
9042  }
9043  if (hasSearchRandomizationTolerance() != other.hasSearchRandomizationTolerance()) return false;
9046  != other.getSearchRandomizationTolerance()) return false;
9047  }
9048  if (hasUseOptionalVariables() != other.hasUseOptionalVariables()) return false;
9049  if (hasUseOptionalVariables()) {
9051  != other.getUseOptionalVariables()) return false;
9052  }
9053  if (hasUseExactLpReason() != other.hasUseExactLpReason()) return false;
9054  if (hasUseExactLpReason()) {
9055  if (getUseExactLpReason()
9056  != other.getUseExactLpReason()) return false;
9057  }
9058  if (hasUseBranchingInLp() != other.hasUseBranchingInLp()) return false;
9059  if (hasUseBranchingInLp()) {
9060  if (getUseBranchingInLp()
9061  != other.getUseBranchingInLp()) return false;
9062  }
9063  if (hasUseCombinedNoOverlap() != other.hasUseCombinedNoOverlap()) return false;
9064  if (hasUseCombinedNoOverlap()) {
9066  != other.getUseCombinedNoOverlap()) return false;
9067  }
9068  if (hasCatchSigintSignal() != other.hasCatchSigintSignal()) return false;
9069  if (hasCatchSigintSignal()) {
9070  if (getCatchSigintSignal()
9071  != other.getCatchSigintSignal()) return false;
9072  }
9073  if (hasUseImpliedBounds() != other.hasUseImpliedBounds()) return false;
9074  if (hasUseImpliedBounds()) {
9075  if (getUseImpliedBounds()
9076  != other.getUseImpliedBounds()) return false;
9077  }
9078  if (hasPolishLpSolution() != other.hasPolishLpSolution()) return false;
9079  if (hasPolishLpSolution()) {
9080  if (getPolishLpSolution()
9081  != other.getPolishLpSolution()) return false;
9082  }
9083  if (hasMipMaxBound() != other.hasMipMaxBound()) return false;
9084  if (hasMipMaxBound()) {
9085  if (java.lang.Double.doubleToLongBits(getMipMaxBound())
9086  != java.lang.Double.doubleToLongBits(
9087  other.getMipMaxBound())) return false;
9088  }
9089  if (hasMipVarScaling() != other.hasMipVarScaling()) return false;
9090  if (hasMipVarScaling()) {
9091  if (java.lang.Double.doubleToLongBits(getMipVarScaling())
9092  != java.lang.Double.doubleToLongBits(
9093  other.getMipVarScaling())) return false;
9094  }
9095  if (hasMipAutomaticallyScaleVariables() != other.hasMipAutomaticallyScaleVariables()) return false;
9098  != other.getMipAutomaticallyScaleVariables()) return false;
9099  }
9100  if (hasMipWantedPrecision() != other.hasMipWantedPrecision()) return false;
9101  if (hasMipWantedPrecision()) {
9102  if (java.lang.Double.doubleToLongBits(getMipWantedPrecision())
9103  != java.lang.Double.doubleToLongBits(
9104  other.getMipWantedPrecision())) return false;
9105  }
9106  if (hasMipMaxActivityExponent() != other.hasMipMaxActivityExponent()) return false;
9107  if (hasMipMaxActivityExponent()) {
9109  != other.getMipMaxActivityExponent()) return false;
9110  }
9111  if (hasMipCheckPrecision() != other.hasMipCheckPrecision()) return false;
9112  if (hasMipCheckPrecision()) {
9113  if (java.lang.Double.doubleToLongBits(getMipCheckPrecision())
9114  != java.lang.Double.doubleToLongBits(
9115  other.getMipCheckPrecision())) return false;
9116  }
9117  if (!unknownFields.equals(other.unknownFields)) return false;
9118  return true;
9119  }
9120 
9121  @java.lang.Override
9122  public int hashCode() {
9123  if (memoizedHashCode != 0) {
9124  return memoizedHashCode;
9125  }
9126  int hash = 41;
9127  hash = (19 * hash) + getDescriptor().hashCode();
9128  if (hasName()) {
9129  hash = (37 * hash) + NAME_FIELD_NUMBER;
9130  hash = (53 * hash) + getName().hashCode();
9131  }
9132  if (hasPreferredVariableOrder()) {
9133  hash = (37 * hash) + PREFERRED_VARIABLE_ORDER_FIELD_NUMBER;
9134  hash = (53 * hash) + preferredVariableOrder_;
9135  }
9136  if (hasInitialPolarity()) {
9137  hash = (37 * hash) + INITIAL_POLARITY_FIELD_NUMBER;
9138  hash = (53 * hash) + initialPolarity_;
9139  }
9140  if (hasUsePhaseSaving()) {
9141  hash = (37 * hash) + USE_PHASE_SAVING_FIELD_NUMBER;
9142  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9143  getUsePhaseSaving());
9144  }
9146  hash = (37 * hash) + POLARITY_REPHASE_INCREMENT_FIELD_NUMBER;
9147  hash = (53 * hash) + getPolarityRephaseIncrement();
9148  }
9149  if (hasRandomPolarityRatio()) {
9150  hash = (37 * hash) + RANDOM_POLARITY_RATIO_FIELD_NUMBER;
9151  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9152  java.lang.Double.doubleToLongBits(getRandomPolarityRatio()));
9153  }
9154  if (hasRandomBranchesRatio()) {
9155  hash = (37 * hash) + RANDOM_BRANCHES_RATIO_FIELD_NUMBER;
9156  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9157  java.lang.Double.doubleToLongBits(getRandomBranchesRatio()));
9158  }
9159  if (hasUseErwaHeuristic()) {
9160  hash = (37 * hash) + USE_ERWA_HEURISTIC_FIELD_NUMBER;
9161  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9163  }
9165  hash = (37 * hash) + INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER;
9166  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9167  java.lang.Double.doubleToLongBits(getInitialVariablesActivity()));
9168  }
9171  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9173  }
9174  if (hasMinimizationAlgorithm()) {
9175  hash = (37 * hash) + MINIMIZATION_ALGORITHM_FIELD_NUMBER;
9176  hash = (53 * hash) + minimizationAlgorithm_;
9177  }
9179  hash = (37 * hash) + BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER;
9180  hash = (53 * hash) + binaryMinimizationAlgorithm_;
9181  }
9184  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9186  }
9187  if (hasClauseCleanupPeriod()) {
9188  hash = (37 * hash) + CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER;
9189  hash = (53 * hash) + getClauseCleanupPeriod();
9190  }
9191  if (hasClauseCleanupTarget()) {
9192  hash = (37 * hash) + CLAUSE_CLEANUP_TARGET_FIELD_NUMBER;
9193  hash = (53 * hash) + getClauseCleanupTarget();
9194  }
9196  hash = (37 * hash) + CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER;
9197  hash = (53 * hash) + clauseCleanupProtection_;
9198  }
9199  if (hasClauseCleanupLbdBound()) {
9200  hash = (37 * hash) + CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER;
9201  hash = (53 * hash) + getClauseCleanupLbdBound();
9202  }
9203  if (hasClauseCleanupOrdering()) {
9204  hash = (37 * hash) + CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER;
9205  hash = (53 * hash) + clauseCleanupOrdering_;
9206  }
9207  if (hasPbCleanupIncrement()) {
9208  hash = (37 * hash) + PB_CLEANUP_INCREMENT_FIELD_NUMBER;
9209  hash = (53 * hash) + getPbCleanupIncrement();
9210  }
9211  if (hasPbCleanupRatio()) {
9212  hash = (37 * hash) + PB_CLEANUP_RATIO_FIELD_NUMBER;
9213  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9214  java.lang.Double.doubleToLongBits(getPbCleanupRatio()));
9215  }
9218  hash = (53 * hash) + getMinimizeWithPropagationRestartPeriod();
9219  }
9222  hash = (53 * hash) + getMinimizeWithPropagationNumDecisions();
9223  }
9224  if (hasVariableActivityDecay()) {
9225  hash = (37 * hash) + VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER;
9226  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9227  java.lang.Double.doubleToLongBits(getVariableActivityDecay()));
9228  }
9230  hash = (37 * hash) + MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER;
9231  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9232  java.lang.Double.doubleToLongBits(getMaxVariableActivityValue()));
9233  }
9234  if (hasGlucoseMaxDecay()) {
9235  hash = (37 * hash) + GLUCOSE_MAX_DECAY_FIELD_NUMBER;
9236  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9237  java.lang.Double.doubleToLongBits(getGlucoseMaxDecay()));
9238  }
9239  if (hasGlucoseDecayIncrement()) {
9240  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER;
9241  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9242  java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement()));
9243  }
9245  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER;
9246  hash = (53 * hash) + getGlucoseDecayIncrementPeriod();
9247  }
9248  if (hasClauseActivityDecay()) {
9249  hash = (37 * hash) + CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER;
9250  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9251  java.lang.Double.doubleToLongBits(getClauseActivityDecay()));
9252  }
9253  if (hasMaxClauseActivityValue()) {
9254  hash = (37 * hash) + MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER;
9255  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9256  java.lang.Double.doubleToLongBits(getMaxClauseActivityValue()));
9257  }
9258  if (getRestartAlgorithmsCount() > 0) {
9259  hash = (37 * hash) + RESTART_ALGORITHMS_FIELD_NUMBER;
9260  hash = (53 * hash) + restartAlgorithms_.hashCode();
9261  }
9263  hash = (37 * hash) + DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER;
9264  hash = (53 * hash) + getDefaultRestartAlgorithms().hashCode();
9265  }
9266  if (hasRestartPeriod()) {
9267  hash = (37 * hash) + RESTART_PERIOD_FIELD_NUMBER;
9268  hash = (53 * hash) + getRestartPeriod();
9269  }
9271  hash = (37 * hash) + RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER;
9272  hash = (53 * hash) + getRestartRunningWindowSize();
9273  }
9274  if (hasRestartDlAverageRatio()) {
9275  hash = (37 * hash) + RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER;
9276  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9277  java.lang.Double.doubleToLongBits(getRestartDlAverageRatio()));
9278  }
9279  if (hasRestartLbdAverageRatio()) {
9280  hash = (37 * hash) + RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER;
9281  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9282  java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio()));
9283  }
9284  if (hasUseBlockingRestart()) {
9285  hash = (37 * hash) + USE_BLOCKING_RESTART_FIELD_NUMBER;
9286  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9288  }
9290  hash = (37 * hash) + BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER;
9291  hash = (53 * hash) + getBlockingRestartWindowSize();
9292  }
9294  hash = (37 * hash) + BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER;
9295  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9296  java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier()));
9297  }
9300  hash = (53 * hash) + getNumConflictsBeforeStrategyChanges();
9301  }
9303  hash = (37 * hash) + STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER;
9304  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9305  java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio()));
9306  }
9307  if (hasMaxTimeInSeconds()) {
9308  hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
9309  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9310  java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
9311  }
9312  if (hasMaxDeterministicTime()) {
9313  hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
9314  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9315  java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
9316  }
9317  if (hasMaxNumberOfConflicts()) {
9318  hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER;
9319  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9321  }
9322  if (hasMaxMemoryInMb()) {
9323  hash = (37 * hash) + MAX_MEMORY_IN_MB_FIELD_NUMBER;
9324  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9325  getMaxMemoryInMb());
9326  }
9327  if (hasAbsoluteGapLimit()) {
9328  hash = (37 * hash) + ABSOLUTE_GAP_LIMIT_FIELD_NUMBER;
9329  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9330  java.lang.Double.doubleToLongBits(getAbsoluteGapLimit()));
9331  }
9332  if (hasRelativeGapLimit()) {
9333  hash = (37 * hash) + RELATIVE_GAP_LIMIT_FIELD_NUMBER;
9334  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9335  java.lang.Double.doubleToLongBits(getRelativeGapLimit()));
9336  }
9338  hash = (37 * hash) + TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER;
9339  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9341  }
9342  if (hasRandomSeed()) {
9343  hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
9344  hash = (53 * hash) + getRandomSeed();
9345  }
9346  if (hasLogSearchProgress()) {
9347  hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
9348  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9350  }
9351  if (hasUsePbResolution()) {
9352  hash = (37 * hash) + USE_PB_RESOLUTION_FIELD_NUMBER;
9353  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9354  getUsePbResolution());
9355  }
9358  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9360  }
9362  hash = (37 * hash) + COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER;
9363  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9365  }
9366  if (hasPresolveBveThreshold()) {
9367  hash = (37 * hash) + PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER;
9368  hash = (53 * hash) + getPresolveBveThreshold();
9369  }
9371  hash = (37 * hash) + PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER;
9372  hash = (53 * hash) + getPresolveBveClauseWeight();
9373  }
9376  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9377  java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit()));
9378  }
9379  if (hasPresolveBlockedClause()) {
9380  hash = (37 * hash) + PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER;
9381  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9383  }
9384  if (hasPresolveUseBva()) {
9385  hash = (37 * hash) + PRESOLVE_USE_BVA_FIELD_NUMBER;
9386  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9387  getPresolveUseBva());
9388  }
9389  if (hasPresolveBvaThreshold()) {
9390  hash = (37 * hash) + PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER;
9391  hash = (53 * hash) + getPresolveBvaThreshold();
9392  }
9393  if (hasMaxPresolveIterations()) {
9394  hash = (37 * hash) + MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER;
9395  hash = (53 * hash) + getMaxPresolveIterations();
9396  }
9397  if (hasCpModelPresolve()) {
9398  hash = (37 * hash) + CP_MODEL_PRESOLVE_FIELD_NUMBER;
9399  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9400  getCpModelPresolve());
9401  }
9404  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9406  }
9409  hash = (53 * hash) + getCpModelMaxNumPresolveOperations();
9410  }
9411  if (hasCpModelProbingLevel()) {
9412  hash = (37 * hash) + CP_MODEL_PROBING_LEVEL_FIELD_NUMBER;
9413  hash = (53 * hash) + getCpModelProbingLevel();
9414  }
9415  if (hasCpModelUseSatPresolve()) {
9416  hash = (37 * hash) + CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER;
9417  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9419  }
9420  if (hasUseSatInprocessing()) {
9421  hash = (37 * hash) + USE_SAT_INPROCESSING_FIELD_NUMBER;
9422  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9424  }
9426  hash = (37 * hash) + EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER;
9427  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9429  }
9431  hash = (37 * hash) + EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER;
9432  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9434  }
9435  if (hasExpandTableConstraints()) {
9436  hash = (37 * hash) + EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER;
9437  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9439  }
9441  hash = (37 * hash) + EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER;
9442  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9444  }
9446  hash = (37 * hash) + MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER;
9447  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9448  java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit()));
9449  }
9451  hash = (37 * hash) + MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER;
9452  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9453  java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit()));
9454  }
9456  hash = (37 * hash) + PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER;
9457  hash = (53 * hash) + getPresolveSubstitutionLevel();
9458  }
9461  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9463  }
9464  if (hasUseOptimizationHints()) {
9465  hash = (37 * hash) + USE_OPTIMIZATION_HINTS_FIELD_NUMBER;
9466  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9468  }
9469  if (hasMinimizeCore()) {
9470  hash = (37 * hash) + MINIMIZE_CORE_FIELD_NUMBER;
9471  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9472  getMinimizeCore());
9473  }
9474  if (hasFindMultipleCores()) {
9475  hash = (37 * hash) + FIND_MULTIPLE_CORES_FIELD_NUMBER;
9476  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9478  }
9479  if (hasCoverOptimization()) {
9480  hash = (37 * hash) + COVER_OPTIMIZATION_FIELD_NUMBER;
9481  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9483  }
9484  if (hasMaxSatAssumptionOrder()) {
9485  hash = (37 * hash) + MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER;
9486  hash = (53 * hash) + maxSatAssumptionOrder_;
9487  }
9489  hash = (37 * hash) + MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER;
9490  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9492  }
9493  if (hasMaxSatStratification()) {
9494  hash = (37 * hash) + MAX_SAT_STRATIFICATION_FIELD_NUMBER;
9495  hash = (53 * hash) + maxSatStratification_;
9496  }
9499  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9501  }
9504  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9506  }
9509  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9511  }
9514  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9516  }
9517  if (hasLinearizationLevel()) {
9518  hash = (37 * hash) + LINEARIZATION_LEVEL_FIELD_NUMBER;
9519  hash = (53 * hash) + getLinearizationLevel();
9520  }
9521  if (hasBooleanEncodingLevel()) {
9522  hash = (37 * hash) + BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER;
9523  hash = (53 * hash) + getBooleanEncodingLevel();
9524  }
9525  if (hasMaxNumCuts()) {
9526  hash = (37 * hash) + MAX_NUM_CUTS_FIELD_NUMBER;
9527  hash = (53 * hash) + getMaxNumCuts();
9528  }
9529  if (hasOnlyAddCutsAtLevelZero()) {
9530  hash = (37 * hash) + ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER;
9531  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9533  }
9534  if (hasAddKnapsackCuts()) {
9535  hash = (37 * hash) + ADD_KNAPSACK_CUTS_FIELD_NUMBER;
9536  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9537  getAddKnapsackCuts());
9538  }
9539  if (hasAddCgCuts()) {
9540  hash = (37 * hash) + ADD_CG_CUTS_FIELD_NUMBER;
9541  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9542  getAddCgCuts());
9543  }
9544  if (hasAddMirCuts()) {
9545  hash = (37 * hash) + ADD_MIR_CUTS_FIELD_NUMBER;
9546  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9547  getAddMirCuts());
9548  }
9549  if (hasAddZeroHalfCuts()) {
9550  hash = (37 * hash) + ADD_ZERO_HALF_CUTS_FIELD_NUMBER;
9551  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9552  getAddZeroHalfCuts());
9553  }
9554  if (hasAddCliqueCuts()) {
9555  hash = (37 * hash) + ADD_CLIQUE_CUTS_FIELD_NUMBER;
9556  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9557  getAddCliqueCuts());
9558  }
9559  if (hasMaxAllDiffCutSize()) {
9560  hash = (37 * hash) + MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER;
9561  hash = (53 * hash) + getMaxAllDiffCutSize();
9562  }
9563  if (hasAddLinMaxCuts()) {
9564  hash = (37 * hash) + ADD_LIN_MAX_CUTS_FIELD_NUMBER;
9565  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9566  getAddLinMaxCuts());
9567  }
9569  hash = (37 * hash) + MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER;
9570  hash = (53 * hash) + getMaxIntegerRoundingScaling();
9571  }
9572  if (hasAddLpConstraintsLazily()) {
9573  hash = (37 * hash) + ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER;
9574  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9576  }
9579  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9580  java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints()));
9581  }
9583  hash = (37 * hash) + MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER;
9584  hash = (53 * hash) + getMaxCutRoundsAtLevelZero();
9585  }
9587  hash = (37 * hash) + MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER;
9588  hash = (53 * hash) + getMaxConsecutiveInactiveCount();
9589  }
9590  if (hasCutMaxActiveCountValue()) {
9591  hash = (37 * hash) + CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER;
9592  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9593  java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue()));
9594  }
9595  if (hasCutActiveCountDecay()) {
9596  hash = (37 * hash) + CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER;
9597  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9598  java.lang.Double.doubleToLongBits(getCutActiveCountDecay()));
9599  }
9600  if (hasCutCleanupTarget()) {
9601  hash = (37 * hash) + CUT_CLEANUP_TARGET_FIELD_NUMBER;
9602  hash = (53 * hash) + getCutCleanupTarget();
9603  }
9605  hash = (37 * hash) + NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER;
9606  hash = (53 * hash) + getNewConstraintsBatchSize();
9607  }
9608  if (hasSearchBranching()) {
9609  hash = (37 * hash) + SEARCH_BRANCHING_FIELD_NUMBER;
9610  hash = (53 * hash) + searchBranching_;
9611  }
9612  if (hasHintConflictLimit()) {
9613  hash = (37 * hash) + HINT_CONFLICT_LIMIT_FIELD_NUMBER;
9614  hash = (53 * hash) + getHintConflictLimit();
9615  }
9616  if (hasRepairHint()) {
9617  hash = (37 * hash) + REPAIR_HINT_FIELD_NUMBER;
9618  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9619  getRepairHint());
9620  }
9622  hash = (37 * hash) + EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER;
9623  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9625  }
9626  if (hasExploitAllLpSolution()) {
9627  hash = (37 * hash) + EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER;
9628  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9630  }
9631  if (hasExploitBestSolution()) {
9632  hash = (37 * hash) + EXPLOIT_BEST_SOLUTION_FIELD_NUMBER;
9633  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9635  }
9637  hash = (37 * hash) + EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER;
9638  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9640  }
9641  if (hasExploitObjective()) {
9642  hash = (37 * hash) + EXPLOIT_OBJECTIVE_FIELD_NUMBER;
9643  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9645  }
9646  if (hasProbingPeriodAtRoot()) {
9647  hash = (37 * hash) + PROBING_PERIOD_AT_ROOT_FIELD_NUMBER;
9648  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9650  }
9653  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9655  }
9656  if (hasOptimizeWithCore()) {
9657  hash = (37 * hash) + OPTIMIZE_WITH_CORE_FIELD_NUMBER;
9658  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9660  }
9662  hash = (37 * hash) + BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER;
9663  hash = (53 * hash) + getBinarySearchNumConflicts();
9664  }
9665  if (hasOptimizeWithMaxHs()) {
9666  hash = (37 * hash) + OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER;
9667  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9669  }
9670  if (hasEnumerateAllSolutions()) {
9671  hash = (37 * hash) + ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER;
9672  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9674  }
9677  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9679  }
9682  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9684  }
9686  hash = (37 * hash) + INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER;
9687  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9689  }
9692  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9694  }
9695  if (hasStopAfterFirstSolution()) {
9696  hash = (37 * hash) + STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER;
9697  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9699  }
9700  if (hasStopAfterPresolve()) {
9701  hash = (37 * hash) + STOP_AFTER_PRESOLVE_FIELD_NUMBER;
9702  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9704  }
9705  if (hasNumSearchWorkers()) {
9706  hash = (37 * hash) + NUM_SEARCH_WORKERS_FIELD_NUMBER;
9707  hash = (53 * hash) + getNumSearchWorkers();
9708  }
9709  if (hasInterleaveSearch()) {
9710  hash = (37 * hash) + INTERLEAVE_SEARCH_FIELD_NUMBER;
9711  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9713  }
9714  if (hasInterleaveBatchSize()) {
9715  hash = (37 * hash) + INTERLEAVE_BATCH_SIZE_FIELD_NUMBER;
9716  hash = (53 * hash) + getInterleaveBatchSize();
9717  }
9720  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9722  }
9723  if (hasShareObjectiveBounds()) {
9724  hash = (37 * hash) + SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER;
9725  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9727  }
9728  if (hasShareLevelZeroBounds()) {
9729  hash = (37 * hash) + SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER;
9730  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9732  }
9733  if (hasUseLnsOnly()) {
9734  hash = (37 * hash) + USE_LNS_ONLY_FIELD_NUMBER;
9735  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9736  getUseLnsOnly());
9737  }
9739  hash = (37 * hash) + LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER;
9740  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9742  }
9743  if (hasUseRinsLns()) {
9744  hash = (37 * hash) + USE_RINS_LNS_FIELD_NUMBER;
9745  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9746  getUseRinsLns());
9747  }
9748  if (hasUseFeasibilityPump()) {
9749  hash = (37 * hash) + USE_FEASIBILITY_PUMP_FIELD_NUMBER;
9750  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9752  }
9753  if (hasFpRounding()) {
9754  hash = (37 * hash) + FP_ROUNDING_FIELD_NUMBER;
9755  hash = (53 * hash) + fpRounding_;
9756  }
9757  if (hasUseRelaxationLns()) {
9758  hash = (37 * hash) + USE_RELAXATION_LNS_FIELD_NUMBER;
9759  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9761  }
9762  if (hasDiversifyLnsParams()) {
9763  hash = (37 * hash) + DIVERSIFY_LNS_PARAMS_FIELD_NUMBER;
9764  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9766  }
9767  if (hasRandomizeSearch()) {
9768  hash = (37 * hash) + RANDOMIZE_SEARCH_FIELD_NUMBER;
9769  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9770  getRandomizeSearch());
9771  }
9773  hash = (37 * hash) + SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER;
9774  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9776  }
9777  if (hasUseOptionalVariables()) {
9778  hash = (37 * hash) + USE_OPTIONAL_VARIABLES_FIELD_NUMBER;
9779  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9781  }
9782  if (hasUseExactLpReason()) {
9783  hash = (37 * hash) + USE_EXACT_LP_REASON_FIELD_NUMBER;
9784  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9786  }
9787  if (hasUseBranchingInLp()) {
9788  hash = (37 * hash) + USE_BRANCHING_IN_LP_FIELD_NUMBER;
9789  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9791  }
9792  if (hasUseCombinedNoOverlap()) {
9793  hash = (37 * hash) + USE_COMBINED_NO_OVERLAP_FIELD_NUMBER;
9794  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9796  }
9797  if (hasCatchSigintSignal()) {
9798  hash = (37 * hash) + CATCH_SIGINT_SIGNAL_FIELD_NUMBER;
9799  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9801  }
9802  if (hasUseImpliedBounds()) {
9803  hash = (37 * hash) + USE_IMPLIED_BOUNDS_FIELD_NUMBER;
9804  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9806  }
9807  if (hasPolishLpSolution()) {
9808  hash = (37 * hash) + POLISH_LP_SOLUTION_FIELD_NUMBER;
9809  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9811  }
9812  if (hasMipMaxBound()) {
9813  hash = (37 * hash) + MIP_MAX_BOUND_FIELD_NUMBER;
9814  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9815  java.lang.Double.doubleToLongBits(getMipMaxBound()));
9816  }
9817  if (hasMipVarScaling()) {
9818  hash = (37 * hash) + MIP_VAR_SCALING_FIELD_NUMBER;
9819  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9820  java.lang.Double.doubleToLongBits(getMipVarScaling()));
9821  }
9824  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9826  }
9827  if (hasMipWantedPrecision()) {
9828  hash = (37 * hash) + MIP_WANTED_PRECISION_FIELD_NUMBER;
9829  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9830  java.lang.Double.doubleToLongBits(getMipWantedPrecision()));
9831  }
9832  if (hasMipMaxActivityExponent()) {
9833  hash = (37 * hash) + MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER;
9834  hash = (53 * hash) + getMipMaxActivityExponent();
9835  }
9836  if (hasMipCheckPrecision()) {
9837  hash = (37 * hash) + MIP_CHECK_PRECISION_FIELD_NUMBER;
9838  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9839  java.lang.Double.doubleToLongBits(getMipCheckPrecision()));
9840  }
9841  hash = (29 * hash) + unknownFields.hashCode();
9842  memoizedHashCode = hash;
9843  return hash;
9844  }
9845 
9847  java.nio.ByteBuffer data)
9848  throws com.google.protobuf.InvalidProtocolBufferException {
9849  return PARSER.parseFrom(data);
9850  }
9852  java.nio.ByteBuffer data,
9853  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9854  throws com.google.protobuf.InvalidProtocolBufferException {
9855  return PARSER.parseFrom(data, extensionRegistry);
9856  }
9858  com.google.protobuf.ByteString data)
9859  throws com.google.protobuf.InvalidProtocolBufferException {
9860  return PARSER.parseFrom(data);
9861  }
9863  com.google.protobuf.ByteString data,
9864  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9865  throws com.google.protobuf.InvalidProtocolBufferException {
9866  return PARSER.parseFrom(data, extensionRegistry);
9867  }
9868  public static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
9869  throws com.google.protobuf.InvalidProtocolBufferException {
9870  return PARSER.parseFrom(data);
9871  }
9873  byte[] data,
9874  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9875  throws com.google.protobuf.InvalidProtocolBufferException {
9876  return PARSER.parseFrom(data, extensionRegistry);
9877  }
9878  public static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
9879  throws java.io.IOException {
9880  return com.google.protobuf.GeneratedMessageV3
9881  .parseWithIOException(PARSER, input);
9882  }
9884  java.io.InputStream input,
9885  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9886  throws java.io.IOException {
9887  return com.google.protobuf.GeneratedMessageV3
9888  .parseWithIOException(PARSER, input, extensionRegistry);
9889  }
9890  public static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
9891  throws java.io.IOException {
9892  return com.google.protobuf.GeneratedMessageV3
9893  .parseDelimitedWithIOException(PARSER, input);
9894  }
9896  java.io.InputStream input,
9897  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9898  throws java.io.IOException {
9899  return com.google.protobuf.GeneratedMessageV3
9900  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
9901  }
9903  com.google.protobuf.CodedInputStream input)
9904  throws java.io.IOException {
9905  return com.google.protobuf.GeneratedMessageV3
9906  .parseWithIOException(PARSER, input);
9907  }
9909  com.google.protobuf.CodedInputStream input,
9910  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9911  throws java.io.IOException {
9912  return com.google.protobuf.GeneratedMessageV3
9913  .parseWithIOException(PARSER, input, extensionRegistry);
9914  }
9915 
9916  @java.lang.Override
9917  public Builder newBuilderForType() { return newBuilder(); }
9918  public static Builder newBuilder() {
9919  return DEFAULT_INSTANCE.toBuilder();
9920  }
9921  public static Builder newBuilder(com.google.ortools.sat.SatParameters prototype) {
9922  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
9923  }
9924  @java.lang.Override
9925  public Builder toBuilder() {
9926  return this == DEFAULT_INSTANCE
9927  ? new Builder() : new Builder().mergeFrom(this);
9928  }
9929 
9930  @java.lang.Override
9932  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9933  Builder builder = new Builder(parent);
9934  return builder;
9935  }
9945  public static final class Builder extends
9946  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
9947  // @@protoc_insertion_point(builder_implements:operations_research.sat.SatParameters)
9948  com.google.ortools.sat.SatParametersOrBuilder {
9949  public static final com.google.protobuf.Descriptors.Descriptor
9951  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
9952  }
9953 
9954  @java.lang.Override
9955  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
9957  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
9958  .ensureFieldAccessorsInitialized(
9960  }
9961 
9962  // Construct using com.google.ortools.sat.SatParameters.newBuilder()
9963  private Builder() {
9964  maybeForceBuilderInitialization();
9965  }
9966 
9967  private Builder(
9968  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9969  super(parent);
9970  maybeForceBuilderInitialization();
9971  }
9972  private void maybeForceBuilderInitialization() {
9973  if (com.google.protobuf.GeneratedMessageV3
9974  .alwaysUseFieldBuilders) {
9975  }
9976  }
9977  @java.lang.Override
9978  public Builder clear() {
9979  super.clear();
9980  name_ = "";
9981  bitField0_ = (bitField0_ & ~0x00000001);
9982  preferredVariableOrder_ = 0;
9983  bitField0_ = (bitField0_ & ~0x00000002);
9984  initialPolarity_ = 1;
9985  bitField0_ = (bitField0_ & ~0x00000004);
9986  usePhaseSaving_ = true;
9987  bitField0_ = (bitField0_ & ~0x00000008);
9988  polarityRephaseIncrement_ = 1000;
9989  bitField0_ = (bitField0_ & ~0x00000010);
9990  randomPolarityRatio_ = 0D;
9991  bitField0_ = (bitField0_ & ~0x00000020);
9992  randomBranchesRatio_ = 0D;
9993  bitField0_ = (bitField0_ & ~0x00000040);
9994  useErwaHeuristic_ = false;
9995  bitField0_ = (bitField0_ & ~0x00000080);
9996  initialVariablesActivity_ = 0D;
9997  bitField0_ = (bitField0_ & ~0x00000100);
9998  alsoBumpVariablesInConflictReasons_ = false;
9999  bitField0_ = (bitField0_ & ~0x00000200);
10000  minimizationAlgorithm_ = 2;
10001  bitField0_ = (bitField0_ & ~0x00000400);
10002  binaryMinimizationAlgorithm_ = 1;
10003  bitField0_ = (bitField0_ & ~0x00000800);
10004  subsumptionDuringConflictAnalysis_ = true;
10005  bitField0_ = (bitField0_ & ~0x00001000);
10006  clauseCleanupPeriod_ = 10000;
10007  bitField0_ = (bitField0_ & ~0x00002000);
10008  clauseCleanupTarget_ = 10000;
10009  bitField0_ = (bitField0_ & ~0x00004000);
10010  clauseCleanupProtection_ = 0;
10011  bitField0_ = (bitField0_ & ~0x00008000);
10012  clauseCleanupLbdBound_ = 5;
10013  bitField0_ = (bitField0_ & ~0x00010000);
10014  clauseCleanupOrdering_ = 0;
10015  bitField0_ = (bitField0_ & ~0x00020000);
10016  pbCleanupIncrement_ = 200;
10017  bitField0_ = (bitField0_ & ~0x00040000);
10018  pbCleanupRatio_ = 0.5D;
10019  bitField0_ = (bitField0_ & ~0x00080000);
10020  minimizeWithPropagationRestartPeriod_ = 10;
10021  bitField0_ = (bitField0_ & ~0x00100000);
10022  minimizeWithPropagationNumDecisions_ = 1000;
10023  bitField0_ = (bitField0_ & ~0x00200000);
10024  variableActivityDecay_ = 0.8D;
10025  bitField0_ = (bitField0_ & ~0x00400000);
10026  maxVariableActivityValue_ = 1e+100D;
10027  bitField0_ = (bitField0_ & ~0x00800000);
10028  glucoseMaxDecay_ = 0.95D;
10029  bitField0_ = (bitField0_ & ~0x01000000);
10030  glucoseDecayIncrement_ = 0.01D;
10031  bitField0_ = (bitField0_ & ~0x02000000);
10032  glucoseDecayIncrementPeriod_ = 5000;
10033  bitField0_ = (bitField0_ & ~0x04000000);
10034  clauseActivityDecay_ = 0.999D;
10035  bitField0_ = (bitField0_ & ~0x08000000);
10036  maxClauseActivityValue_ = 1e+20D;
10037  bitField0_ = (bitField0_ & ~0x10000000);
10038  restartAlgorithms_ = java.util.Collections.emptyList();
10039  bitField0_ = (bitField0_ & ~0x20000000);
10040  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
10041  bitField0_ = (bitField0_ & ~0x40000000);
10042  restartPeriod_ = 50;
10043  bitField0_ = (bitField0_ & ~0x80000000);
10044  restartRunningWindowSize_ = 50;
10045  bitField1_ = (bitField1_ & ~0x00000001);
10046  restartDlAverageRatio_ = 1D;
10047  bitField1_ = (bitField1_ & ~0x00000002);
10048  restartLbdAverageRatio_ = 1D;
10049  bitField1_ = (bitField1_ & ~0x00000004);
10050  useBlockingRestart_ = false;
10051  bitField1_ = (bitField1_ & ~0x00000008);
10052  blockingRestartWindowSize_ = 5000;
10053  bitField1_ = (bitField1_ & ~0x00000010);
10054  blockingRestartMultiplier_ = 1.4D;
10055  bitField1_ = (bitField1_ & ~0x00000020);
10056  numConflictsBeforeStrategyChanges_ = 0;
10057  bitField1_ = (bitField1_ & ~0x00000040);
10058  strategyChangeIncreaseRatio_ = 0D;
10059  bitField1_ = (bitField1_ & ~0x00000080);
10060  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
10061  bitField1_ = (bitField1_ & ~0x00000100);
10062  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
10063  bitField1_ = (bitField1_ & ~0x00000200);
10064  maxNumberOfConflicts_ = 9223372036854775807L;
10065  bitField1_ = (bitField1_ & ~0x00000400);
10066  maxMemoryInMb_ = 10000L;
10067  bitField1_ = (bitField1_ & ~0x00000800);
10068  absoluteGapLimit_ = 0D;
10069  bitField1_ = (bitField1_ & ~0x00001000);
10070  relativeGapLimit_ = 0D;
10071  bitField1_ = (bitField1_ & ~0x00002000);
10072  treatBinaryClausesSeparately_ = true;
10073  bitField1_ = (bitField1_ & ~0x00004000);
10074  randomSeed_ = 1;
10075  bitField1_ = (bitField1_ & ~0x00008000);
10076  logSearchProgress_ = false;
10077  bitField1_ = (bitField1_ & ~0x00010000);
10078  usePbResolution_ = false;
10079  bitField1_ = (bitField1_ & ~0x00020000);
10080  minimizeReductionDuringPbResolution_ = false;
10081  bitField1_ = (bitField1_ & ~0x00040000);
10082  countAssumptionLevelsInLbd_ = true;
10083  bitField1_ = (bitField1_ & ~0x00080000);
10084  presolveBveThreshold_ = 500;
10085  bitField1_ = (bitField1_ & ~0x00100000);
10086  presolveBveClauseWeight_ = 3;
10087  bitField1_ = (bitField1_ & ~0x00200000);
10088  presolveProbingDeterministicTimeLimit_ = 30D;
10089  bitField1_ = (bitField1_ & ~0x00400000);
10090  presolveBlockedClause_ = true;
10091  bitField1_ = (bitField1_ & ~0x00800000);
10092  presolveUseBva_ = true;
10093  bitField1_ = (bitField1_ & ~0x01000000);
10094  presolveBvaThreshold_ = 1;
10095  bitField1_ = (bitField1_ & ~0x02000000);
10096  maxPresolveIterations_ = 3;
10097  bitField1_ = (bitField1_ & ~0x04000000);
10098  cpModelPresolve_ = true;
10099  bitField1_ = (bitField1_ & ~0x08000000);
10100  cpModelPostsolveWithFullSolver_ = false;
10101  bitField1_ = (bitField1_ & ~0x10000000);
10102  cpModelMaxNumPresolveOperations_ = 0;
10103  bitField1_ = (bitField1_ & ~0x20000000);
10104  cpModelProbingLevel_ = 2;
10105  bitField1_ = (bitField1_ & ~0x40000000);
10106  cpModelUseSatPresolve_ = true;
10107  bitField1_ = (bitField1_ & ~0x80000000);
10108  useSatInprocessing_ = false;
10109  bitField2_ = (bitField2_ & ~0x00000001);
10110  expandElementConstraints_ = true;
10111  bitField2_ = (bitField2_ & ~0x00000002);
10112  expandAutomatonConstraints_ = true;
10113  bitField2_ = (bitField2_ & ~0x00000004);
10114  expandTableConstraints_ = true;
10115  bitField2_ = (bitField2_ & ~0x00000008);
10116  expandAlldiffConstraints_ = false;
10117  bitField2_ = (bitField2_ & ~0x00000010);
10118  mergeNoOverlapWorkLimit_ = 1000000000000D;
10119  bitField2_ = (bitField2_ & ~0x00000020);
10120  mergeAtMostOneWorkLimit_ = 100000000D;
10121  bitField2_ = (bitField2_ & ~0x00000040);
10122  presolveSubstitutionLevel_ = 1;
10123  bitField2_ = (bitField2_ & ~0x00000080);
10124  presolveExtractIntegerEnforcement_ = false;
10125  bitField2_ = (bitField2_ & ~0x00000100);
10126  useOptimizationHints_ = true;
10127  bitField2_ = (bitField2_ & ~0x00000200);
10128  minimizeCore_ = true;
10129  bitField2_ = (bitField2_ & ~0x00000400);
10130  findMultipleCores_ = true;
10131  bitField2_ = (bitField2_ & ~0x00000800);
10132  coverOptimization_ = true;
10133  bitField2_ = (bitField2_ & ~0x00001000);
10134  maxSatAssumptionOrder_ = 0;
10135  bitField2_ = (bitField2_ & ~0x00002000);
10136  maxSatReverseAssumptionOrder_ = false;
10137  bitField2_ = (bitField2_ & ~0x00004000);
10138  maxSatStratification_ = 1;
10139  bitField2_ = (bitField2_ & ~0x00008000);
10140  usePrecedencesInDisjunctiveConstraint_ = true;
10141  bitField2_ = (bitField2_ & ~0x00010000);
10142  useOverloadCheckerInCumulativeConstraint_ = false;
10143  bitField2_ = (bitField2_ & ~0x00020000);
10144  useTimetableEdgeFindingInCumulativeConstraint_ = false;
10145  bitField2_ = (bitField2_ & ~0x00040000);
10146  useDisjunctiveConstraintInCumulativeConstraint_ = true;
10147  bitField2_ = (bitField2_ & ~0x00080000);
10148  linearizationLevel_ = 1;
10149  bitField2_ = (bitField2_ & ~0x00100000);
10150  booleanEncodingLevel_ = 1;
10151  bitField2_ = (bitField2_ & ~0x00200000);
10152  maxNumCuts_ = 10000;
10153  bitField2_ = (bitField2_ & ~0x00400000);
10154  onlyAddCutsAtLevelZero_ = false;
10155  bitField2_ = (bitField2_ & ~0x00800000);
10156  addKnapsackCuts_ = false;
10157  bitField2_ = (bitField2_ & ~0x01000000);
10158  addCgCuts_ = true;
10159  bitField2_ = (bitField2_ & ~0x02000000);
10160  addMirCuts_ = true;
10161  bitField2_ = (bitField2_ & ~0x04000000);
10162  addZeroHalfCuts_ = true;
10163  bitField2_ = (bitField2_ & ~0x08000000);
10164  addCliqueCuts_ = true;
10165  bitField2_ = (bitField2_ & ~0x10000000);
10166  maxAllDiffCutSize_ = 7;
10167  bitField2_ = (bitField2_ & ~0x20000000);
10168  addLinMaxCuts_ = true;
10169  bitField2_ = (bitField2_ & ~0x40000000);
10170  maxIntegerRoundingScaling_ = 600;
10171  bitField2_ = (bitField2_ & ~0x80000000);
10172  addLpConstraintsLazily_ = true;
10173  bitField3_ = (bitField3_ & ~0x00000001);
10174  minOrthogonalityForLpConstraints_ = 0.05D;
10175  bitField3_ = (bitField3_ & ~0x00000002);
10176  maxCutRoundsAtLevelZero_ = 1;
10177  bitField3_ = (bitField3_ & ~0x00000004);
10178  maxConsecutiveInactiveCount_ = 100;
10179  bitField3_ = (bitField3_ & ~0x00000008);
10180  cutMaxActiveCountValue_ = 10000000000D;
10181  bitField3_ = (bitField3_ & ~0x00000010);
10182  cutActiveCountDecay_ = 0.8D;
10183  bitField3_ = (bitField3_ & ~0x00000020);
10184  cutCleanupTarget_ = 1000;
10185  bitField3_ = (bitField3_ & ~0x00000040);
10186  newConstraintsBatchSize_ = 50;
10187  bitField3_ = (bitField3_ & ~0x00000080);
10188  searchBranching_ = 0;
10189  bitField3_ = (bitField3_ & ~0x00000100);
10190  hintConflictLimit_ = 10;
10191  bitField3_ = (bitField3_ & ~0x00000200);
10192  repairHint_ = false;
10193  bitField3_ = (bitField3_ & ~0x00000400);
10194  exploitIntegerLpSolution_ = true;
10195  bitField3_ = (bitField3_ & ~0x00000800);
10196  exploitAllLpSolution_ = true;
10197  bitField3_ = (bitField3_ & ~0x00001000);
10198  exploitBestSolution_ = false;
10199  bitField3_ = (bitField3_ & ~0x00002000);
10200  exploitRelaxationSolution_ = false;
10201  bitField3_ = (bitField3_ & ~0x00004000);
10202  exploitObjective_ = true;
10203  bitField3_ = (bitField3_ & ~0x00008000);
10204  probingPeriodAtRoot_ = 0L;
10205  bitField3_ = (bitField3_ & ~0x00010000);
10206  pseudoCostReliabilityThreshold_ = 100L;
10207  bitField3_ = (bitField3_ & ~0x00020000);
10208  optimizeWithCore_ = false;
10209  bitField3_ = (bitField3_ & ~0x00040000);
10210  binarySearchNumConflicts_ = -1;
10211  bitField3_ = (bitField3_ & ~0x00080000);
10212  optimizeWithMaxHs_ = false;
10213  bitField3_ = (bitField3_ & ~0x00100000);
10214  enumerateAllSolutions_ = false;
10215  bitField3_ = (bitField3_ & ~0x00200000);
10216  keepAllFeasibleSolutionsInPresolve_ = false;
10217  bitField3_ = (bitField3_ & ~0x00400000);
10218  fillTightenedDomainsInResponse_ = false;
10219  bitField3_ = (bitField3_ & ~0x00800000);
10220  instantiateAllVariables_ = true;
10221  bitField3_ = (bitField3_ & ~0x01000000);
10222  autoDetectGreaterThanAtLeastOneOf_ = true;
10223  bitField3_ = (bitField3_ & ~0x02000000);
10224  stopAfterFirstSolution_ = false;
10225  bitField3_ = (bitField3_ & ~0x04000000);
10226  stopAfterPresolve_ = false;
10227  bitField3_ = (bitField3_ & ~0x08000000);
10228  numSearchWorkers_ = 1;
10229  bitField3_ = (bitField3_ & ~0x10000000);
10230  interleaveSearch_ = false;
10231  bitField3_ = (bitField3_ & ~0x20000000);
10232  interleaveBatchSize_ = 1;
10233  bitField3_ = (bitField3_ & ~0x40000000);
10234  reduceMemoryUsageInInterleaveMode_ = false;
10235  bitField3_ = (bitField3_ & ~0x80000000);
10236  shareObjectiveBounds_ = true;
10237  bitField4_ = (bitField4_ & ~0x00000001);
10238  shareLevelZeroBounds_ = true;
10239  bitField4_ = (bitField4_ & ~0x00000002);
10240  useLnsOnly_ = false;
10241  bitField4_ = (bitField4_ & ~0x00000004);
10242  lnsFocusOnDecisionVariables_ = false;
10243  bitField4_ = (bitField4_ & ~0x00000008);
10244  useRinsLns_ = true;
10245  bitField4_ = (bitField4_ & ~0x00000010);
10246  useFeasibilityPump_ = true;
10247  bitField4_ = (bitField4_ & ~0x00000020);
10248  fpRounding_ = 2;
10249  bitField4_ = (bitField4_ & ~0x00000040);
10250  useRelaxationLns_ = false;
10251  bitField4_ = (bitField4_ & ~0x00000080);
10252  diversifyLnsParams_ = false;
10253  bitField4_ = (bitField4_ & ~0x00000100);
10254  randomizeSearch_ = false;
10255  bitField4_ = (bitField4_ & ~0x00000200);
10256  searchRandomizationTolerance_ = 0L;
10257  bitField4_ = (bitField4_ & ~0x00000400);
10258  useOptionalVariables_ = true;
10259  bitField4_ = (bitField4_ & ~0x00000800);
10260  useExactLpReason_ = true;
10261  bitField4_ = (bitField4_ & ~0x00001000);
10262  useBranchingInLp_ = false;
10263  bitField4_ = (bitField4_ & ~0x00002000);
10264  useCombinedNoOverlap_ = false;
10265  bitField4_ = (bitField4_ & ~0x00004000);
10266  catchSigintSignal_ = true;
10267  bitField4_ = (bitField4_ & ~0x00008000);
10268  useImpliedBounds_ = true;
10269  bitField4_ = (bitField4_ & ~0x00010000);
10270  polishLpSolution_ = false;
10271  bitField4_ = (bitField4_ & ~0x00020000);
10272  mipMaxBound_ = 10000000D;
10273  bitField4_ = (bitField4_ & ~0x00040000);
10274  mipVarScaling_ = 1D;
10275  bitField4_ = (bitField4_ & ~0x00080000);
10276  mipAutomaticallyScaleVariables_ = true;
10277  bitField4_ = (bitField4_ & ~0x00100000);
10278  mipWantedPrecision_ = 1e-06D;
10279  bitField4_ = (bitField4_ & ~0x00200000);
10280  mipMaxActivityExponent_ = 53;
10281  bitField4_ = (bitField4_ & ~0x00400000);
10282  mipCheckPrecision_ = 0.0001D;
10283  bitField4_ = (bitField4_ & ~0x00800000);
10284  return this;
10285  }
10286 
10287  @java.lang.Override
10288  public com.google.protobuf.Descriptors.Descriptor
10290  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
10291  }
10292 
10293  @java.lang.Override
10296  }
10297 
10298  @java.lang.Override
10301  if (!result.isInitialized()) {
10302  throw newUninitializedMessageException(result);
10303  }
10304  return result;
10305  }
10306 
10307  @java.lang.Override
10310  int from_bitField0_ = bitField0_;
10311  int from_bitField1_ = bitField1_;
10312  int from_bitField2_ = bitField2_;
10313  int from_bitField3_ = bitField3_;
10314  int from_bitField4_ = bitField4_;
10315  int to_bitField0_ = 0;
10316  int to_bitField1_ = 0;
10317  int to_bitField2_ = 0;
10318  int to_bitField3_ = 0;
10319  int to_bitField4_ = 0;
10320  if (((from_bitField0_ & 0x00000001) != 0)) {
10321  to_bitField0_ |= 0x00000001;
10322  }
10323  result.name_ = name_;
10324  if (((from_bitField0_ & 0x00000002) != 0)) {
10325  to_bitField0_ |= 0x00000002;
10326  }
10327  result.preferredVariableOrder_ = preferredVariableOrder_;
10328  if (((from_bitField0_ & 0x00000004) != 0)) {
10329  to_bitField0_ |= 0x00000004;
10330  }
10331  result.initialPolarity_ = initialPolarity_;
10332  if (((from_bitField0_ & 0x00000008) != 0)) {
10333  to_bitField0_ |= 0x00000008;
10334  }
10335  result.usePhaseSaving_ = usePhaseSaving_;
10336  if (((from_bitField0_ & 0x00000010) != 0)) {
10337  to_bitField0_ |= 0x00000010;
10338  }
10339  result.polarityRephaseIncrement_ = polarityRephaseIncrement_;
10340  if (((from_bitField0_ & 0x00000020) != 0)) {
10341  result.randomPolarityRatio_ = randomPolarityRatio_;
10342  to_bitField0_ |= 0x00000020;
10343  }
10344  if (((from_bitField0_ & 0x00000040) != 0)) {
10345  result.randomBranchesRatio_ = randomBranchesRatio_;
10346  to_bitField0_ |= 0x00000040;
10347  }
10348  if (((from_bitField0_ & 0x00000080) != 0)) {
10349  result.useErwaHeuristic_ = useErwaHeuristic_;
10350  to_bitField0_ |= 0x00000080;
10351  }
10352  if (((from_bitField0_ & 0x00000100) != 0)) {
10353  result.initialVariablesActivity_ = initialVariablesActivity_;
10354  to_bitField0_ |= 0x00000100;
10355  }
10356  if (((from_bitField0_ & 0x00000200) != 0)) {
10357  result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
10358  to_bitField0_ |= 0x00000200;
10359  }
10360  if (((from_bitField0_ & 0x00000400) != 0)) {
10361  to_bitField0_ |= 0x00000400;
10362  }
10363  result.minimizationAlgorithm_ = minimizationAlgorithm_;
10364  if (((from_bitField0_ & 0x00000800) != 0)) {
10365  to_bitField0_ |= 0x00000800;
10366  }
10367  result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
10368  if (((from_bitField0_ & 0x00001000) != 0)) {
10369  to_bitField0_ |= 0x00001000;
10370  }
10371  result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
10372  if (((from_bitField0_ & 0x00002000) != 0)) {
10373  to_bitField0_ |= 0x00002000;
10374  }
10375  result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
10376  if (((from_bitField0_ & 0x00004000) != 0)) {
10377  to_bitField0_ |= 0x00004000;
10378  }
10379  result.clauseCleanupTarget_ = clauseCleanupTarget_;
10380  if (((from_bitField0_ & 0x00008000) != 0)) {
10381  to_bitField0_ |= 0x00008000;
10382  }
10383  result.clauseCleanupProtection_ = clauseCleanupProtection_;
10384  if (((from_bitField0_ & 0x00010000) != 0)) {
10385  to_bitField0_ |= 0x00010000;
10386  }
10387  result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
10388  if (((from_bitField0_ & 0x00020000) != 0)) {
10389  to_bitField0_ |= 0x00020000;
10390  }
10391  result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
10392  if (((from_bitField0_ & 0x00040000) != 0)) {
10393  to_bitField0_ |= 0x00040000;
10394  }
10395  result.pbCleanupIncrement_ = pbCleanupIncrement_;
10396  if (((from_bitField0_ & 0x00080000) != 0)) {
10397  to_bitField0_ |= 0x00080000;
10398  }
10399  result.pbCleanupRatio_ = pbCleanupRatio_;
10400  if (((from_bitField0_ & 0x00100000) != 0)) {
10401  to_bitField0_ |= 0x00100000;
10402  }
10403  result.minimizeWithPropagationRestartPeriod_ = minimizeWithPropagationRestartPeriod_;
10404  if (((from_bitField0_ & 0x00200000) != 0)) {
10405  to_bitField0_ |= 0x00200000;
10406  }
10407  result.minimizeWithPropagationNumDecisions_ = minimizeWithPropagationNumDecisions_;
10408  if (((from_bitField0_ & 0x00400000) != 0)) {
10409  to_bitField0_ |= 0x00400000;
10410  }
10411  result.variableActivityDecay_ = variableActivityDecay_;
10412  if (((from_bitField0_ & 0x00800000) != 0)) {
10413  to_bitField0_ |= 0x00800000;
10414  }
10415  result.maxVariableActivityValue_ = maxVariableActivityValue_;
10416  if (((from_bitField0_ & 0x01000000) != 0)) {
10417  to_bitField0_ |= 0x01000000;
10418  }
10419  result.glucoseMaxDecay_ = glucoseMaxDecay_;
10420  if (((from_bitField0_ & 0x02000000) != 0)) {
10421  to_bitField0_ |= 0x02000000;
10422  }
10423  result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
10424  if (((from_bitField0_ & 0x04000000) != 0)) {
10425  to_bitField0_ |= 0x04000000;
10426  }
10427  result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
10428  if (((from_bitField0_ & 0x08000000) != 0)) {
10429  to_bitField0_ |= 0x08000000;
10430  }
10431  result.clauseActivityDecay_ = clauseActivityDecay_;
10432  if (((from_bitField0_ & 0x10000000) != 0)) {
10433  to_bitField0_ |= 0x10000000;
10434  }
10435  result.maxClauseActivityValue_ = maxClauseActivityValue_;
10436  if (((bitField0_ & 0x20000000) != 0)) {
10437  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
10438  bitField0_ = (bitField0_ & ~0x20000000);
10439  }
10440  result.restartAlgorithms_ = restartAlgorithms_;
10441  if (((from_bitField0_ & 0x40000000) != 0)) {
10442  to_bitField0_ |= 0x20000000;
10443  }
10444  result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
10445  if (((from_bitField0_ & 0x80000000) != 0)) {
10446  to_bitField0_ |= 0x40000000;
10447  }
10448  result.restartPeriod_ = restartPeriod_;
10449  if (((from_bitField1_ & 0x00000001) != 0)) {
10450  to_bitField0_ |= 0x80000000;
10451  }
10452  result.restartRunningWindowSize_ = restartRunningWindowSize_;
10453  if (((from_bitField1_ & 0x00000002) != 0)) {
10454  to_bitField1_ |= 0x00000001;
10455  }
10456  result.restartDlAverageRatio_ = restartDlAverageRatio_;
10457  if (((from_bitField1_ & 0x00000004) != 0)) {
10458  to_bitField1_ |= 0x00000002;
10459  }
10460  result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
10461  if (((from_bitField1_ & 0x00000008) != 0)) {
10462  result.useBlockingRestart_ = useBlockingRestart_;
10463  to_bitField1_ |= 0x00000004;
10464  }
10465  if (((from_bitField1_ & 0x00000010) != 0)) {
10466  to_bitField1_ |= 0x00000008;
10467  }
10468  result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
10469  if (((from_bitField1_ & 0x00000020) != 0)) {
10470  to_bitField1_ |= 0x00000010;
10471  }
10472  result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
10473  if (((from_bitField1_ & 0x00000040) != 0)) {
10474  result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
10475  to_bitField1_ |= 0x00000020;
10476  }
10477  if (((from_bitField1_ & 0x00000080) != 0)) {
10478  result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
10479  to_bitField1_ |= 0x00000040;
10480  }
10481  if (((from_bitField1_ & 0x00000100) != 0)) {
10482  to_bitField1_ |= 0x00000080;
10483  }
10484  result.maxTimeInSeconds_ = maxTimeInSeconds_;
10485  if (((from_bitField1_ & 0x00000200) != 0)) {
10486  to_bitField1_ |= 0x00000100;
10487  }
10488  result.maxDeterministicTime_ = maxDeterministicTime_;
10489  if (((from_bitField1_ & 0x00000400) != 0)) {
10490  to_bitField1_ |= 0x00000200;
10491  }
10492  result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
10493  if (((from_bitField1_ & 0x00000800) != 0)) {
10494  to_bitField1_ |= 0x00000400;
10495  }
10496  result.maxMemoryInMb_ = maxMemoryInMb_;
10497  if (((from_bitField1_ & 0x00001000) != 0)) {
10498  result.absoluteGapLimit_ = absoluteGapLimit_;
10499  to_bitField1_ |= 0x00000800;
10500  }
10501  if (((from_bitField1_ & 0x00002000) != 0)) {
10502  result.relativeGapLimit_ = relativeGapLimit_;
10503  to_bitField1_ |= 0x00001000;
10504  }
10505  if (((from_bitField1_ & 0x00004000) != 0)) {
10506  to_bitField1_ |= 0x00002000;
10507  }
10508  result.treatBinaryClausesSeparately_ = treatBinaryClausesSeparately_;
10509  if (((from_bitField1_ & 0x00008000) != 0)) {
10510  to_bitField1_ |= 0x00004000;
10511  }
10512  result.randomSeed_ = randomSeed_;
10513  if (((from_bitField1_ & 0x00010000) != 0)) {
10514  result.logSearchProgress_ = logSearchProgress_;
10515  to_bitField1_ |= 0x00008000;
10516  }
10517  if (((from_bitField1_ & 0x00020000) != 0)) {
10518  result.usePbResolution_ = usePbResolution_;
10519  to_bitField1_ |= 0x00010000;
10520  }
10521  if (((from_bitField1_ & 0x00040000) != 0)) {
10522  result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
10523  to_bitField1_ |= 0x00020000;
10524  }
10525  if (((from_bitField1_ & 0x00080000) != 0)) {
10526  to_bitField1_ |= 0x00040000;
10527  }
10528  result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
10529  if (((from_bitField1_ & 0x00100000) != 0)) {
10530  to_bitField1_ |= 0x00080000;
10531  }
10532  result.presolveBveThreshold_ = presolveBveThreshold_;
10533  if (((from_bitField1_ & 0x00200000) != 0)) {
10534  to_bitField1_ |= 0x00100000;
10535  }
10536  result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
10537  if (((from_bitField1_ & 0x00400000) != 0)) {
10538  to_bitField1_ |= 0x00200000;
10539  }
10540  result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
10541  if (((from_bitField1_ & 0x00800000) != 0)) {
10542  to_bitField1_ |= 0x00400000;
10543  }
10544  result.presolveBlockedClause_ = presolveBlockedClause_;
10545  if (((from_bitField1_ & 0x01000000) != 0)) {
10546  to_bitField1_ |= 0x00800000;
10547  }
10548  result.presolveUseBva_ = presolveUseBva_;
10549  if (((from_bitField1_ & 0x02000000) != 0)) {
10550  to_bitField1_ |= 0x01000000;
10551  }
10552  result.presolveBvaThreshold_ = presolveBvaThreshold_;
10553  if (((from_bitField1_ & 0x04000000) != 0)) {
10554  to_bitField1_ |= 0x02000000;
10555  }
10556  result.maxPresolveIterations_ = maxPresolveIterations_;
10557  if (((from_bitField1_ & 0x08000000) != 0)) {
10558  to_bitField1_ |= 0x04000000;
10559  }
10560  result.cpModelPresolve_ = cpModelPresolve_;
10561  if (((from_bitField1_ & 0x10000000) != 0)) {
10562  result.cpModelPostsolveWithFullSolver_ = cpModelPostsolveWithFullSolver_;
10563  to_bitField1_ |= 0x08000000;
10564  }
10565  if (((from_bitField1_ & 0x20000000) != 0)) {
10566  result.cpModelMaxNumPresolveOperations_ = cpModelMaxNumPresolveOperations_;
10567  to_bitField1_ |= 0x10000000;
10568  }
10569  if (((from_bitField1_ & 0x40000000) != 0)) {
10570  to_bitField1_ |= 0x20000000;
10571  }
10572  result.cpModelProbingLevel_ = cpModelProbingLevel_;
10573  if (((from_bitField1_ & 0x80000000) != 0)) {
10574  to_bitField1_ |= 0x40000000;
10575  }
10576  result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
10577  if (((from_bitField2_ & 0x00000001) != 0)) {
10578  result.useSatInprocessing_ = useSatInprocessing_;
10579  to_bitField1_ |= 0x80000000;
10580  }
10581  if (((from_bitField2_ & 0x00000002) != 0)) {
10582  to_bitField2_ |= 0x00000001;
10583  }
10584  result.expandElementConstraints_ = expandElementConstraints_;
10585  if (((from_bitField2_ & 0x00000004) != 0)) {
10586  to_bitField2_ |= 0x00000002;
10587  }
10588  result.expandAutomatonConstraints_ = expandAutomatonConstraints_;
10589  if (((from_bitField2_ & 0x00000008) != 0)) {
10590  to_bitField2_ |= 0x00000004;
10591  }
10592  result.expandTableConstraints_ = expandTableConstraints_;
10593  if (((from_bitField2_ & 0x00000010) != 0)) {
10594  result.expandAlldiffConstraints_ = expandAlldiffConstraints_;
10595  to_bitField2_ |= 0x00000008;
10596  }
10597  if (((from_bitField2_ & 0x00000020) != 0)) {
10598  to_bitField2_ |= 0x00000010;
10599  }
10600  result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
10601  if (((from_bitField2_ & 0x00000040) != 0)) {
10602  to_bitField2_ |= 0x00000020;
10603  }
10604  result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
10605  if (((from_bitField2_ & 0x00000080) != 0)) {
10606  to_bitField2_ |= 0x00000040;
10607  }
10608  result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
10609  if (((from_bitField2_ & 0x00000100) != 0)) {
10610  result.presolveExtractIntegerEnforcement_ = presolveExtractIntegerEnforcement_;
10611  to_bitField2_ |= 0x00000080;
10612  }
10613  if (((from_bitField2_ & 0x00000200) != 0)) {
10614  to_bitField2_ |= 0x00000100;
10615  }
10616  result.useOptimizationHints_ = useOptimizationHints_;
10617  if (((from_bitField2_ & 0x00000400) != 0)) {
10618  to_bitField2_ |= 0x00000200;
10619  }
10620  result.minimizeCore_ = minimizeCore_;
10621  if (((from_bitField2_ & 0x00000800) != 0)) {
10622  to_bitField2_ |= 0x00000400;
10623  }
10624  result.findMultipleCores_ = findMultipleCores_;
10625  if (((from_bitField2_ & 0x00001000) != 0)) {
10626  to_bitField2_ |= 0x00000800;
10627  }
10628  result.coverOptimization_ = coverOptimization_;
10629  if (((from_bitField2_ & 0x00002000) != 0)) {
10630  to_bitField2_ |= 0x00001000;
10631  }
10632  result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
10633  if (((from_bitField2_ & 0x00004000) != 0)) {
10634  result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
10635  to_bitField2_ |= 0x00002000;
10636  }
10637  if (((from_bitField2_ & 0x00008000) != 0)) {
10638  to_bitField2_ |= 0x00004000;
10639  }
10640  result.maxSatStratification_ = maxSatStratification_;
10641  if (((from_bitField2_ & 0x00010000) != 0)) {
10642  to_bitField2_ |= 0x00008000;
10643  }
10644  result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
10645  if (((from_bitField2_ & 0x00020000) != 0)) {
10646  result.useOverloadCheckerInCumulativeConstraint_ = useOverloadCheckerInCumulativeConstraint_;
10647  to_bitField2_ |= 0x00010000;
10648  }
10649  if (((from_bitField2_ & 0x00040000) != 0)) {
10650  result.useTimetableEdgeFindingInCumulativeConstraint_ = useTimetableEdgeFindingInCumulativeConstraint_;
10651  to_bitField2_ |= 0x00020000;
10652  }
10653  if (((from_bitField2_ & 0x00080000) != 0)) {
10654  to_bitField2_ |= 0x00040000;
10655  }
10656  result.useDisjunctiveConstraintInCumulativeConstraint_ = useDisjunctiveConstraintInCumulativeConstraint_;
10657  if (((from_bitField2_ & 0x00100000) != 0)) {
10658  to_bitField2_ |= 0x00080000;
10659  }
10660  result.linearizationLevel_ = linearizationLevel_;
10661  if (((from_bitField2_ & 0x00200000) != 0)) {
10662  to_bitField2_ |= 0x00100000;
10663  }
10664  result.booleanEncodingLevel_ = booleanEncodingLevel_;
10665  if (((from_bitField2_ & 0x00400000) != 0)) {
10666  to_bitField2_ |= 0x00200000;
10667  }
10668  result.maxNumCuts_ = maxNumCuts_;
10669  if (((from_bitField2_ & 0x00800000) != 0)) {
10670  result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
10671  to_bitField2_ |= 0x00400000;
10672  }
10673  if (((from_bitField2_ & 0x01000000) != 0)) {
10674  result.addKnapsackCuts_ = addKnapsackCuts_;
10675  to_bitField2_ |= 0x00800000;
10676  }
10677  if (((from_bitField2_ & 0x02000000) != 0)) {
10678  to_bitField2_ |= 0x01000000;
10679  }
10680  result.addCgCuts_ = addCgCuts_;
10681  if (((from_bitField2_ & 0x04000000) != 0)) {
10682  to_bitField2_ |= 0x02000000;
10683  }
10684  result.addMirCuts_ = addMirCuts_;
10685  if (((from_bitField2_ & 0x08000000) != 0)) {
10686  to_bitField2_ |= 0x04000000;
10687  }
10688  result.addZeroHalfCuts_ = addZeroHalfCuts_;
10689  if (((from_bitField2_ & 0x10000000) != 0)) {
10690  to_bitField2_ |= 0x08000000;
10691  }
10692  result.addCliqueCuts_ = addCliqueCuts_;
10693  if (((from_bitField2_ & 0x20000000) != 0)) {
10694  to_bitField2_ |= 0x10000000;
10695  }
10696  result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
10697  if (((from_bitField2_ & 0x40000000) != 0)) {
10698  to_bitField2_ |= 0x20000000;
10699  }
10700  result.addLinMaxCuts_ = addLinMaxCuts_;
10701  if (((from_bitField2_ & 0x80000000) != 0)) {
10702  to_bitField2_ |= 0x40000000;
10703  }
10704  result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
10705  if (((from_bitField3_ & 0x00000001) != 0)) {
10706  to_bitField2_ |= 0x80000000;
10707  }
10708  result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
10709  if (((from_bitField3_ & 0x00000002) != 0)) {
10710  to_bitField3_ |= 0x00000001;
10711  }
10712  result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
10713  if (((from_bitField3_ & 0x00000004) != 0)) {
10714  to_bitField3_ |= 0x00000002;
10715  }
10716  result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
10717  if (((from_bitField3_ & 0x00000008) != 0)) {
10718  to_bitField3_ |= 0x00000004;
10719  }
10720  result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
10721  if (((from_bitField3_ & 0x00000010) != 0)) {
10722  to_bitField3_ |= 0x00000008;
10723  }
10724  result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
10725  if (((from_bitField3_ & 0x00000020) != 0)) {
10726  to_bitField3_ |= 0x00000010;
10727  }
10728  result.cutActiveCountDecay_ = cutActiveCountDecay_;
10729  if (((from_bitField3_ & 0x00000040) != 0)) {
10730  to_bitField3_ |= 0x00000020;
10731  }
10732  result.cutCleanupTarget_ = cutCleanupTarget_;
10733  if (((from_bitField3_ & 0x00000080) != 0)) {
10734  to_bitField3_ |= 0x00000040;
10735  }
10736  result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
10737  if (((from_bitField3_ & 0x00000100) != 0)) {
10738  to_bitField3_ |= 0x00000080;
10739  }
10740  result.searchBranching_ = searchBranching_;
10741  if (((from_bitField3_ & 0x00000200) != 0)) {
10742  to_bitField3_ |= 0x00000100;
10743  }
10744  result.hintConflictLimit_ = hintConflictLimit_;
10745  if (((from_bitField3_ & 0x00000400) != 0)) {
10746  result.repairHint_ = repairHint_;
10747  to_bitField3_ |= 0x00000200;
10748  }
10749  if (((from_bitField3_ & 0x00000800) != 0)) {
10750  to_bitField3_ |= 0x00000400;
10751  }
10752  result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
10753  if (((from_bitField3_ & 0x00001000) != 0)) {
10754  to_bitField3_ |= 0x00000800;
10755  }
10756  result.exploitAllLpSolution_ = exploitAllLpSolution_;
10757  if (((from_bitField3_ & 0x00002000) != 0)) {
10758  result.exploitBestSolution_ = exploitBestSolution_;
10759  to_bitField3_ |= 0x00001000;
10760  }
10761  if (((from_bitField3_ & 0x00004000) != 0)) {
10762  result.exploitRelaxationSolution_ = exploitRelaxationSolution_;
10763  to_bitField3_ |= 0x00002000;
10764  }
10765  if (((from_bitField3_ & 0x00008000) != 0)) {
10766  to_bitField3_ |= 0x00004000;
10767  }
10768  result.exploitObjective_ = exploitObjective_;
10769  if (((from_bitField3_ & 0x00010000) != 0)) {
10770  result.probingPeriodAtRoot_ = probingPeriodAtRoot_;
10771  to_bitField3_ |= 0x00008000;
10772  }
10773  if (((from_bitField3_ & 0x00020000) != 0)) {
10774  to_bitField3_ |= 0x00010000;
10775  }
10776  result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
10777  if (((from_bitField3_ & 0x00040000) != 0)) {
10778  result.optimizeWithCore_ = optimizeWithCore_;
10779  to_bitField3_ |= 0x00020000;
10780  }
10781  if (((from_bitField3_ & 0x00080000) != 0)) {
10782  to_bitField3_ |= 0x00040000;
10783  }
10784  result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
10785  if (((from_bitField3_ & 0x00100000) != 0)) {
10786  result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
10787  to_bitField3_ |= 0x00080000;
10788  }
10789  if (((from_bitField3_ & 0x00200000) != 0)) {
10790  result.enumerateAllSolutions_ = enumerateAllSolutions_;
10791  to_bitField3_ |= 0x00100000;
10792  }
10793  if (((from_bitField3_ & 0x00400000) != 0)) {
10794  result.keepAllFeasibleSolutionsInPresolve_ = keepAllFeasibleSolutionsInPresolve_;
10795  to_bitField3_ |= 0x00200000;
10796  }
10797  if (((from_bitField3_ & 0x00800000) != 0)) {
10798  result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
10799  to_bitField3_ |= 0x00400000;
10800  }
10801  if (((from_bitField3_ & 0x01000000) != 0)) {
10802  to_bitField3_ |= 0x00800000;
10803  }
10804  result.instantiateAllVariables_ = instantiateAllVariables_;
10805  if (((from_bitField3_ & 0x02000000) != 0)) {
10806  to_bitField3_ |= 0x01000000;
10807  }
10808  result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
10809  if (((from_bitField3_ & 0x04000000) != 0)) {
10810  result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
10811  to_bitField3_ |= 0x02000000;
10812  }
10813  if (((from_bitField3_ & 0x08000000) != 0)) {
10814  result.stopAfterPresolve_ = stopAfterPresolve_;
10815  to_bitField3_ |= 0x04000000;
10816  }
10817  if (((from_bitField3_ & 0x10000000) != 0)) {
10818  to_bitField3_ |= 0x08000000;
10819  }
10820  result.numSearchWorkers_ = numSearchWorkers_;
10821  if (((from_bitField3_ & 0x20000000) != 0)) {
10822  result.interleaveSearch_ = interleaveSearch_;
10823  to_bitField3_ |= 0x10000000;
10824  }
10825  if (((from_bitField3_ & 0x40000000) != 0)) {
10826  to_bitField3_ |= 0x20000000;
10827  }
10828  result.interleaveBatchSize_ = interleaveBatchSize_;
10829  if (((from_bitField3_ & 0x80000000) != 0)) {
10830  result.reduceMemoryUsageInInterleaveMode_ = reduceMemoryUsageInInterleaveMode_;
10831  to_bitField3_ |= 0x40000000;
10832  }
10833  if (((from_bitField4_ & 0x00000001) != 0)) {
10834  to_bitField3_ |= 0x80000000;
10835  }
10836  result.shareObjectiveBounds_ = shareObjectiveBounds_;
10837  if (((from_bitField4_ & 0x00000002) != 0)) {
10838  to_bitField4_ |= 0x00000001;
10839  }
10840  result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
10841  if (((from_bitField4_ & 0x00000004) != 0)) {
10842  result.useLnsOnly_ = useLnsOnly_;
10843  to_bitField4_ |= 0x00000002;
10844  }
10845  if (((from_bitField4_ & 0x00000008) != 0)) {
10846  result.lnsFocusOnDecisionVariables_ = lnsFocusOnDecisionVariables_;
10847  to_bitField4_ |= 0x00000004;
10848  }
10849  if (((from_bitField4_ & 0x00000010) != 0)) {
10850  to_bitField4_ |= 0x00000008;
10851  }
10852  result.useRinsLns_ = useRinsLns_;
10853  if (((from_bitField4_ & 0x00000020) != 0)) {
10854  to_bitField4_ |= 0x00000010;
10855  }
10856  result.useFeasibilityPump_ = useFeasibilityPump_;
10857  if (((from_bitField4_ & 0x00000040) != 0)) {
10858  to_bitField4_ |= 0x00000020;
10859  }
10860  result.fpRounding_ = fpRounding_;
10861  if (((from_bitField4_ & 0x00000080) != 0)) {
10862  result.useRelaxationLns_ = useRelaxationLns_;
10863  to_bitField4_ |= 0x00000040;
10864  }
10865  if (((from_bitField4_ & 0x00000100) != 0)) {
10866  result.diversifyLnsParams_ = diversifyLnsParams_;
10867  to_bitField4_ |= 0x00000080;
10868  }
10869  if (((from_bitField4_ & 0x00000200) != 0)) {
10870  result.randomizeSearch_ = randomizeSearch_;
10871  to_bitField4_ |= 0x00000100;
10872  }
10873  if (((from_bitField4_ & 0x00000400) != 0)) {
10874  result.searchRandomizationTolerance_ = searchRandomizationTolerance_;
10875  to_bitField4_ |= 0x00000200;
10876  }
10877  if (((from_bitField4_ & 0x00000800) != 0)) {
10878  to_bitField4_ |= 0x00000400;
10879  }
10880  result.useOptionalVariables_ = useOptionalVariables_;
10881  if (((from_bitField4_ & 0x00001000) != 0)) {
10882  to_bitField4_ |= 0x00000800;
10883  }
10884  result.useExactLpReason_ = useExactLpReason_;
10885  if (((from_bitField4_ & 0x00002000) != 0)) {
10886  result.useBranchingInLp_ = useBranchingInLp_;
10887  to_bitField4_ |= 0x00001000;
10888  }
10889  if (((from_bitField4_ & 0x00004000) != 0)) {
10890  result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
10891  to_bitField4_ |= 0x00002000;
10892  }
10893  if (((from_bitField4_ & 0x00008000) != 0)) {
10894  to_bitField4_ |= 0x00004000;
10895  }
10896  result.catchSigintSignal_ = catchSigintSignal_;
10897  if (((from_bitField4_ & 0x00010000) != 0)) {
10898  to_bitField4_ |= 0x00008000;
10899  }
10900  result.useImpliedBounds_ = useImpliedBounds_;
10901  if (((from_bitField4_ & 0x00020000) != 0)) {
10902  result.polishLpSolution_ = polishLpSolution_;
10903  to_bitField4_ |= 0x00010000;
10904  }
10905  if (((from_bitField4_ & 0x00040000) != 0)) {
10906  to_bitField4_ |= 0x00020000;
10907  }
10908  result.mipMaxBound_ = mipMaxBound_;
10909  if (((from_bitField4_ & 0x00080000) != 0)) {
10910  to_bitField4_ |= 0x00040000;
10911  }
10912  result.mipVarScaling_ = mipVarScaling_;
10913  if (((from_bitField4_ & 0x00100000) != 0)) {
10914  to_bitField4_ |= 0x00080000;
10915  }
10916  result.mipAutomaticallyScaleVariables_ = mipAutomaticallyScaleVariables_;
10917  if (((from_bitField4_ & 0x00200000) != 0)) {
10918  to_bitField4_ |= 0x00100000;
10919  }
10920  result.mipWantedPrecision_ = mipWantedPrecision_;
10921  if (((from_bitField4_ & 0x00400000) != 0)) {
10922  to_bitField4_ |= 0x00200000;
10923  }
10924  result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
10925  if (((from_bitField4_ & 0x00800000) != 0)) {
10926  to_bitField4_ |= 0x00400000;
10927  }
10928  result.mipCheckPrecision_ = mipCheckPrecision_;
10929  result.bitField0_ = to_bitField0_;
10930  result.bitField1_ = to_bitField1_;
10931  result.bitField2_ = to_bitField2_;
10932  result.bitField3_ = to_bitField3_;
10933  result.bitField4_ = to_bitField4_;
10934  onBuilt();
10935  return result;
10936  }
10937 
10938  @java.lang.Override
10939  public Builder clone() {
10940  return super.clone();
10941  }
10942  @java.lang.Override
10944  com.google.protobuf.Descriptors.FieldDescriptor field,
10945  java.lang.Object value) {
10946  return super.setField(field, value);
10947  }
10948  @java.lang.Override
10950  com.google.protobuf.Descriptors.FieldDescriptor field) {
10951  return super.clearField(field);
10952  }
10953  @java.lang.Override
10955  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
10956  return super.clearOneof(oneof);
10957  }
10958  @java.lang.Override
10960  com.google.protobuf.Descriptors.FieldDescriptor field,
10961  int index, java.lang.Object value) {
10962  return super.setRepeatedField(field, index, value);
10963  }
10964  @java.lang.Override
10966  com.google.protobuf.Descriptors.FieldDescriptor field,
10967  java.lang.Object value) {
10968  return super.addRepeatedField(field, value);
10969  }
10970  @java.lang.Override
10971  public Builder mergeFrom(com.google.protobuf.Message other) {
10972  if (other instanceof com.google.ortools.sat.SatParameters) {
10973  return mergeFrom((com.google.ortools.sat.SatParameters)other);
10974  } else {
10975  super.mergeFrom(other);
10976  return this;
10977  }
10978  }
10979 
10981  if (other == com.google.ortools.sat.SatParameters.getDefaultInstance()) return this;
10982  if (other.hasName()) {
10983  bitField0_ |= 0x00000001;
10984  name_ = other.name_;
10985  onChanged();
10986  }
10987  if (other.hasPreferredVariableOrder()) {
10988  setPreferredVariableOrder(other.getPreferredVariableOrder());
10989  }
10990  if (other.hasInitialPolarity()) {
10991  setInitialPolarity(other.getInitialPolarity());
10992  }
10993  if (other.hasUsePhaseSaving()) {
10994  setUsePhaseSaving(other.getUsePhaseSaving());
10995  }
10996  if (other.hasPolarityRephaseIncrement()) {
10997  setPolarityRephaseIncrement(other.getPolarityRephaseIncrement());
10998  }
10999  if (other.hasRandomPolarityRatio()) {
11000  setRandomPolarityRatio(other.getRandomPolarityRatio());
11001  }
11002  if (other.hasRandomBranchesRatio()) {
11003  setRandomBranchesRatio(other.getRandomBranchesRatio());
11004  }
11005  if (other.hasUseErwaHeuristic()) {
11006  setUseErwaHeuristic(other.getUseErwaHeuristic());
11007  }
11008  if (other.hasInitialVariablesActivity()) {
11009  setInitialVariablesActivity(other.getInitialVariablesActivity());
11010  }
11011  if (other.hasAlsoBumpVariablesInConflictReasons()) {
11012  setAlsoBumpVariablesInConflictReasons(other.getAlsoBumpVariablesInConflictReasons());
11013  }
11014  if (other.hasMinimizationAlgorithm()) {
11015  setMinimizationAlgorithm(other.getMinimizationAlgorithm());
11016  }
11017  if (other.hasBinaryMinimizationAlgorithm()) {
11018  setBinaryMinimizationAlgorithm(other.getBinaryMinimizationAlgorithm());
11019  }
11020  if (other.hasSubsumptionDuringConflictAnalysis()) {
11021  setSubsumptionDuringConflictAnalysis(other.getSubsumptionDuringConflictAnalysis());
11022  }
11023  if (other.hasClauseCleanupPeriod()) {
11024  setClauseCleanupPeriod(other.getClauseCleanupPeriod());
11025  }
11026  if (other.hasClauseCleanupTarget()) {
11027  setClauseCleanupTarget(other.getClauseCleanupTarget());
11028  }
11029  if (other.hasClauseCleanupProtection()) {
11030  setClauseCleanupProtection(other.getClauseCleanupProtection());
11031  }
11032  if (other.hasClauseCleanupLbdBound()) {
11033  setClauseCleanupLbdBound(other.getClauseCleanupLbdBound());
11034  }
11035  if (other.hasClauseCleanupOrdering()) {
11036  setClauseCleanupOrdering(other.getClauseCleanupOrdering());
11037  }
11038  if (other.hasPbCleanupIncrement()) {
11039  setPbCleanupIncrement(other.getPbCleanupIncrement());
11040  }
11041  if (other.hasPbCleanupRatio()) {
11042  setPbCleanupRatio(other.getPbCleanupRatio());
11043  }
11044  if (other.hasMinimizeWithPropagationRestartPeriod()) {
11045  setMinimizeWithPropagationRestartPeriod(other.getMinimizeWithPropagationRestartPeriod());
11046  }
11047  if (other.hasMinimizeWithPropagationNumDecisions()) {
11048  setMinimizeWithPropagationNumDecisions(other.getMinimizeWithPropagationNumDecisions());
11049  }
11050  if (other.hasVariableActivityDecay()) {
11051  setVariableActivityDecay(other.getVariableActivityDecay());
11052  }
11053  if (other.hasMaxVariableActivityValue()) {
11054  setMaxVariableActivityValue(other.getMaxVariableActivityValue());
11055  }
11056  if (other.hasGlucoseMaxDecay()) {
11057  setGlucoseMaxDecay(other.getGlucoseMaxDecay());
11058  }
11059  if (other.hasGlucoseDecayIncrement()) {
11060  setGlucoseDecayIncrement(other.getGlucoseDecayIncrement());
11061  }
11062  if (other.hasGlucoseDecayIncrementPeriod()) {
11063  setGlucoseDecayIncrementPeriod(other.getGlucoseDecayIncrementPeriod());
11064  }
11065  if (other.hasClauseActivityDecay()) {
11066  setClauseActivityDecay(other.getClauseActivityDecay());
11067  }
11068  if (other.hasMaxClauseActivityValue()) {
11069  setMaxClauseActivityValue(other.getMaxClauseActivityValue());
11070  }
11071  if (!other.restartAlgorithms_.isEmpty()) {
11072  if (restartAlgorithms_.isEmpty()) {
11073  restartAlgorithms_ = other.restartAlgorithms_;
11074  bitField0_ = (bitField0_ & ~0x20000000);
11075  } else {
11076  ensureRestartAlgorithmsIsMutable();
11077  restartAlgorithms_.addAll(other.restartAlgorithms_);
11078  }
11079  onChanged();
11080  }
11081  if (other.hasDefaultRestartAlgorithms()) {
11082  bitField0_ |= 0x40000000;
11083  defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
11084  onChanged();
11085  }
11086  if (other.hasRestartPeriod()) {
11087  setRestartPeriod(other.getRestartPeriod());
11088  }
11089  if (other.hasRestartRunningWindowSize()) {
11090  setRestartRunningWindowSize(other.getRestartRunningWindowSize());
11091  }
11092  if (other.hasRestartDlAverageRatio()) {
11093  setRestartDlAverageRatio(other.getRestartDlAverageRatio());
11094  }
11095  if (other.hasRestartLbdAverageRatio()) {
11096  setRestartLbdAverageRatio(other.getRestartLbdAverageRatio());
11097  }
11098  if (other.hasUseBlockingRestart()) {
11099  setUseBlockingRestart(other.getUseBlockingRestart());
11100  }
11101  if (other.hasBlockingRestartWindowSize()) {
11102  setBlockingRestartWindowSize(other.getBlockingRestartWindowSize());
11103  }
11104  if (other.hasBlockingRestartMultiplier()) {
11105  setBlockingRestartMultiplier(other.getBlockingRestartMultiplier());
11106  }
11107  if (other.hasNumConflictsBeforeStrategyChanges()) {
11108  setNumConflictsBeforeStrategyChanges(other.getNumConflictsBeforeStrategyChanges());
11109  }
11110  if (other.hasStrategyChangeIncreaseRatio()) {
11111  setStrategyChangeIncreaseRatio(other.getStrategyChangeIncreaseRatio());
11112  }
11113  if (other.hasMaxTimeInSeconds()) {
11114  setMaxTimeInSeconds(other.getMaxTimeInSeconds());
11115  }
11116  if (other.hasMaxDeterministicTime()) {
11117  setMaxDeterministicTime(other.getMaxDeterministicTime());
11118  }
11119  if (other.hasMaxNumberOfConflicts()) {
11120  setMaxNumberOfConflicts(other.getMaxNumberOfConflicts());
11121  }
11122  if (other.hasMaxMemoryInMb()) {
11123  setMaxMemoryInMb(other.getMaxMemoryInMb());
11124  }
11125  if (other.hasAbsoluteGapLimit()) {
11126  setAbsoluteGapLimit(other.getAbsoluteGapLimit());
11127  }
11128  if (other.hasRelativeGapLimit()) {
11129  setRelativeGapLimit(other.getRelativeGapLimit());
11130  }
11131  if (other.hasTreatBinaryClausesSeparately()) {
11132  setTreatBinaryClausesSeparately(other.getTreatBinaryClausesSeparately());
11133  }
11134  if (other.hasRandomSeed()) {
11135  setRandomSeed(other.getRandomSeed());
11136  }
11137  if (other.hasLogSearchProgress()) {
11138  setLogSearchProgress(other.getLogSearchProgress());
11139  }
11140  if (other.hasUsePbResolution()) {
11141  setUsePbResolution(other.getUsePbResolution());
11142  }
11143  if (other.hasMinimizeReductionDuringPbResolution()) {
11144  setMinimizeReductionDuringPbResolution(other.getMinimizeReductionDuringPbResolution());
11145  }
11146  if (other.hasCountAssumptionLevelsInLbd()) {
11147  setCountAssumptionLevelsInLbd(other.getCountAssumptionLevelsInLbd());
11148  }
11149  if (other.hasPresolveBveThreshold()) {
11150  setPresolveBveThreshold(other.getPresolveBveThreshold());
11151  }
11152  if (other.hasPresolveBveClauseWeight()) {
11153  setPresolveBveClauseWeight(other.getPresolveBveClauseWeight());
11154  }
11155  if (other.hasPresolveProbingDeterministicTimeLimit()) {
11156  setPresolveProbingDeterministicTimeLimit(other.getPresolveProbingDeterministicTimeLimit());
11157  }
11158  if (other.hasPresolveBlockedClause()) {
11159  setPresolveBlockedClause(other.getPresolveBlockedClause());
11160  }
11161  if (other.hasPresolveUseBva()) {
11162  setPresolveUseBva(other.getPresolveUseBva());
11163  }
11164  if (other.hasPresolveBvaThreshold()) {
11165  setPresolveBvaThreshold(other.getPresolveBvaThreshold());
11166  }
11167  if (other.hasMaxPresolveIterations()) {
11168  setMaxPresolveIterations(other.getMaxPresolveIterations());
11169  }
11170  if (other.hasCpModelPresolve()) {
11171  setCpModelPresolve(other.getCpModelPresolve());
11172  }
11173  if (other.hasCpModelPostsolveWithFullSolver()) {
11174  setCpModelPostsolveWithFullSolver(other.getCpModelPostsolveWithFullSolver());
11175  }
11176  if (other.hasCpModelMaxNumPresolveOperations()) {
11177  setCpModelMaxNumPresolveOperations(other.getCpModelMaxNumPresolveOperations());
11178  }
11179  if (other.hasCpModelProbingLevel()) {
11180  setCpModelProbingLevel(other.getCpModelProbingLevel());
11181  }
11182  if (other.hasCpModelUseSatPresolve()) {
11183  setCpModelUseSatPresolve(other.getCpModelUseSatPresolve());
11184  }
11185  if (other.hasUseSatInprocessing()) {
11186  setUseSatInprocessing(other.getUseSatInprocessing());
11187  }
11188  if (other.hasExpandElementConstraints()) {
11189  setExpandElementConstraints(other.getExpandElementConstraints());
11190  }
11191  if (other.hasExpandAutomatonConstraints()) {
11192  setExpandAutomatonConstraints(other.getExpandAutomatonConstraints());
11193  }
11194  if (other.hasExpandTableConstraints()) {
11195  setExpandTableConstraints(other.getExpandTableConstraints());
11196  }
11197  if (other.hasExpandAlldiffConstraints()) {
11198  setExpandAlldiffConstraints(other.getExpandAlldiffConstraints());
11199  }
11200  if (other.hasMergeNoOverlapWorkLimit()) {
11201  setMergeNoOverlapWorkLimit(other.getMergeNoOverlapWorkLimit());
11202  }
11203  if (other.hasMergeAtMostOneWorkLimit()) {
11204  setMergeAtMostOneWorkLimit(other.getMergeAtMostOneWorkLimit());
11205  }
11206  if (other.hasPresolveSubstitutionLevel()) {
11207  setPresolveSubstitutionLevel(other.getPresolveSubstitutionLevel());
11208  }
11209  if (other.hasPresolveExtractIntegerEnforcement()) {
11210  setPresolveExtractIntegerEnforcement(other.getPresolveExtractIntegerEnforcement());
11211  }
11212  if (other.hasUseOptimizationHints()) {
11213  setUseOptimizationHints(other.getUseOptimizationHints());
11214  }
11215  if (other.hasMinimizeCore()) {
11216  setMinimizeCore(other.getMinimizeCore());
11217  }
11218  if (other.hasFindMultipleCores()) {
11219  setFindMultipleCores(other.getFindMultipleCores());
11220  }
11221  if (other.hasCoverOptimization()) {
11222  setCoverOptimization(other.getCoverOptimization());
11223  }
11224  if (other.hasMaxSatAssumptionOrder()) {
11225  setMaxSatAssumptionOrder(other.getMaxSatAssumptionOrder());
11226  }
11227  if (other.hasMaxSatReverseAssumptionOrder()) {
11228  setMaxSatReverseAssumptionOrder(other.getMaxSatReverseAssumptionOrder());
11229  }
11230  if (other.hasMaxSatStratification()) {
11231  setMaxSatStratification(other.getMaxSatStratification());
11232  }
11233  if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
11234  setUsePrecedencesInDisjunctiveConstraint(other.getUsePrecedencesInDisjunctiveConstraint());
11235  }
11236  if (other.hasUseOverloadCheckerInCumulativeConstraint()) {
11237  setUseOverloadCheckerInCumulativeConstraint(other.getUseOverloadCheckerInCumulativeConstraint());
11238  }
11239  if (other.hasUseTimetableEdgeFindingInCumulativeConstraint()) {
11240  setUseTimetableEdgeFindingInCumulativeConstraint(other.getUseTimetableEdgeFindingInCumulativeConstraint());
11241  }
11242  if (other.hasUseDisjunctiveConstraintInCumulativeConstraint()) {
11243  setUseDisjunctiveConstraintInCumulativeConstraint(other.getUseDisjunctiveConstraintInCumulativeConstraint());
11244  }
11245  if (other.hasLinearizationLevel()) {
11246  setLinearizationLevel(other.getLinearizationLevel());
11247  }
11248  if (other.hasBooleanEncodingLevel()) {
11249  setBooleanEncodingLevel(other.getBooleanEncodingLevel());
11250  }
11251  if (other.hasMaxNumCuts()) {
11252  setMaxNumCuts(other.getMaxNumCuts());
11253  }
11254  if (other.hasOnlyAddCutsAtLevelZero()) {
11255  setOnlyAddCutsAtLevelZero(other.getOnlyAddCutsAtLevelZero());
11256  }
11257  if (other.hasAddKnapsackCuts()) {
11258  setAddKnapsackCuts(other.getAddKnapsackCuts());
11259  }
11260  if (other.hasAddCgCuts()) {
11261  setAddCgCuts(other.getAddCgCuts());
11262  }
11263  if (other.hasAddMirCuts()) {
11264  setAddMirCuts(other.getAddMirCuts());
11265  }
11266  if (other.hasAddZeroHalfCuts()) {
11267  setAddZeroHalfCuts(other.getAddZeroHalfCuts());
11268  }
11269  if (other.hasAddCliqueCuts()) {
11270  setAddCliqueCuts(other.getAddCliqueCuts());
11271  }
11272  if (other.hasMaxAllDiffCutSize()) {
11273  setMaxAllDiffCutSize(other.getMaxAllDiffCutSize());
11274  }
11275  if (other.hasAddLinMaxCuts()) {
11276  setAddLinMaxCuts(other.getAddLinMaxCuts());
11277  }
11278  if (other.hasMaxIntegerRoundingScaling()) {
11279  setMaxIntegerRoundingScaling(other.getMaxIntegerRoundingScaling());
11280  }
11281  if (other.hasAddLpConstraintsLazily()) {
11282  setAddLpConstraintsLazily(other.getAddLpConstraintsLazily());
11283  }
11284  if (other.hasMinOrthogonalityForLpConstraints()) {
11285  setMinOrthogonalityForLpConstraints(other.getMinOrthogonalityForLpConstraints());
11286  }
11287  if (other.hasMaxCutRoundsAtLevelZero()) {
11288  setMaxCutRoundsAtLevelZero(other.getMaxCutRoundsAtLevelZero());
11289  }
11290  if (other.hasMaxConsecutiveInactiveCount()) {
11291  setMaxConsecutiveInactiveCount(other.getMaxConsecutiveInactiveCount());
11292  }
11293  if (other.hasCutMaxActiveCountValue()) {
11294  setCutMaxActiveCountValue(other.getCutMaxActiveCountValue());
11295  }
11296  if (other.hasCutActiveCountDecay()) {
11297  setCutActiveCountDecay(other.getCutActiveCountDecay());
11298  }
11299  if (other.hasCutCleanupTarget()) {
11300  setCutCleanupTarget(other.getCutCleanupTarget());
11301  }
11302  if (other.hasNewConstraintsBatchSize()) {
11303  setNewConstraintsBatchSize(other.getNewConstraintsBatchSize());
11304  }
11305  if (other.hasSearchBranching()) {
11306  setSearchBranching(other.getSearchBranching());
11307  }
11308  if (other.hasHintConflictLimit()) {
11309  setHintConflictLimit(other.getHintConflictLimit());
11310  }
11311  if (other.hasRepairHint()) {
11312  setRepairHint(other.getRepairHint());
11313  }
11314  if (other.hasExploitIntegerLpSolution()) {
11315  setExploitIntegerLpSolution(other.getExploitIntegerLpSolution());
11316  }
11317  if (other.hasExploitAllLpSolution()) {
11318  setExploitAllLpSolution(other.getExploitAllLpSolution());
11319  }
11320  if (other.hasExploitBestSolution()) {
11321  setExploitBestSolution(other.getExploitBestSolution());
11322  }
11323  if (other.hasExploitRelaxationSolution()) {
11324  setExploitRelaxationSolution(other.getExploitRelaxationSolution());
11325  }
11326  if (other.hasExploitObjective()) {
11327  setExploitObjective(other.getExploitObjective());
11328  }
11329  if (other.hasProbingPeriodAtRoot()) {
11330  setProbingPeriodAtRoot(other.getProbingPeriodAtRoot());
11331  }
11332  if (other.hasPseudoCostReliabilityThreshold()) {
11333  setPseudoCostReliabilityThreshold(other.getPseudoCostReliabilityThreshold());
11334  }
11335  if (other.hasOptimizeWithCore()) {
11336  setOptimizeWithCore(other.getOptimizeWithCore());
11337  }
11338  if (other.hasBinarySearchNumConflicts()) {
11339  setBinarySearchNumConflicts(other.getBinarySearchNumConflicts());
11340  }
11341  if (other.hasOptimizeWithMaxHs()) {
11342  setOptimizeWithMaxHs(other.getOptimizeWithMaxHs());
11343  }
11344  if (other.hasEnumerateAllSolutions()) {
11345  setEnumerateAllSolutions(other.getEnumerateAllSolutions());
11346  }
11347  if (other.hasKeepAllFeasibleSolutionsInPresolve()) {
11348  setKeepAllFeasibleSolutionsInPresolve(other.getKeepAllFeasibleSolutionsInPresolve());
11349  }
11350  if (other.hasFillTightenedDomainsInResponse()) {
11351  setFillTightenedDomainsInResponse(other.getFillTightenedDomainsInResponse());
11352  }
11353  if (other.hasInstantiateAllVariables()) {
11354  setInstantiateAllVariables(other.getInstantiateAllVariables());
11355  }
11356  if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
11357  setAutoDetectGreaterThanAtLeastOneOf(other.getAutoDetectGreaterThanAtLeastOneOf());
11358  }
11359  if (other.hasStopAfterFirstSolution()) {
11360  setStopAfterFirstSolution(other.getStopAfterFirstSolution());
11361  }
11362  if (other.hasStopAfterPresolve()) {
11363  setStopAfterPresolve(other.getStopAfterPresolve());
11364  }
11365  if (other.hasNumSearchWorkers()) {
11366  setNumSearchWorkers(other.getNumSearchWorkers());
11367  }
11368  if (other.hasInterleaveSearch()) {
11369  setInterleaveSearch(other.getInterleaveSearch());
11370  }
11371  if (other.hasInterleaveBatchSize()) {
11372  setInterleaveBatchSize(other.getInterleaveBatchSize());
11373  }
11374  if (other.hasReduceMemoryUsageInInterleaveMode()) {
11375  setReduceMemoryUsageInInterleaveMode(other.getReduceMemoryUsageInInterleaveMode());
11376  }
11377  if (other.hasShareObjectiveBounds()) {
11378  setShareObjectiveBounds(other.getShareObjectiveBounds());
11379  }
11380  if (other.hasShareLevelZeroBounds()) {
11381  setShareLevelZeroBounds(other.getShareLevelZeroBounds());
11382  }
11383  if (other.hasUseLnsOnly()) {
11384  setUseLnsOnly(other.getUseLnsOnly());
11385  }
11386  if (other.hasLnsFocusOnDecisionVariables()) {
11387  setLnsFocusOnDecisionVariables(other.getLnsFocusOnDecisionVariables());
11388  }
11389  if (other.hasUseRinsLns()) {
11390  setUseRinsLns(other.getUseRinsLns());
11391  }
11392  if (other.hasUseFeasibilityPump()) {
11393  setUseFeasibilityPump(other.getUseFeasibilityPump());
11394  }
11395  if (other.hasFpRounding()) {
11396  setFpRounding(other.getFpRounding());
11397  }
11398  if (other.hasUseRelaxationLns()) {
11399  setUseRelaxationLns(other.getUseRelaxationLns());
11400  }
11401  if (other.hasDiversifyLnsParams()) {
11402  setDiversifyLnsParams(other.getDiversifyLnsParams());
11403  }
11404  if (other.hasRandomizeSearch()) {
11405  setRandomizeSearch(other.getRandomizeSearch());
11406  }
11407  if (other.hasSearchRandomizationTolerance()) {
11408  setSearchRandomizationTolerance(other.getSearchRandomizationTolerance());
11409  }
11410  if (other.hasUseOptionalVariables()) {
11411  setUseOptionalVariables(other.getUseOptionalVariables());
11412  }
11413  if (other.hasUseExactLpReason()) {
11414  setUseExactLpReason(other.getUseExactLpReason());
11415  }
11416  if (other.hasUseBranchingInLp()) {
11417  setUseBranchingInLp(other.getUseBranchingInLp());
11418  }
11419  if (other.hasUseCombinedNoOverlap()) {
11420  setUseCombinedNoOverlap(other.getUseCombinedNoOverlap());
11421  }
11422  if (other.hasCatchSigintSignal()) {
11423  setCatchSigintSignal(other.getCatchSigintSignal());
11424  }
11425  if (other.hasUseImpliedBounds()) {
11426  setUseImpliedBounds(other.getUseImpliedBounds());
11427  }
11428  if (other.hasPolishLpSolution()) {
11429  setPolishLpSolution(other.getPolishLpSolution());
11430  }
11431  if (other.hasMipMaxBound()) {
11432  setMipMaxBound(other.getMipMaxBound());
11433  }
11434  if (other.hasMipVarScaling()) {
11435  setMipVarScaling(other.getMipVarScaling());
11436  }
11437  if (other.hasMipAutomaticallyScaleVariables()) {
11438  setMipAutomaticallyScaleVariables(other.getMipAutomaticallyScaleVariables());
11439  }
11440  if (other.hasMipWantedPrecision()) {
11441  setMipWantedPrecision(other.getMipWantedPrecision());
11442  }
11443  if (other.hasMipMaxActivityExponent()) {
11444  setMipMaxActivityExponent(other.getMipMaxActivityExponent());
11445  }
11446  if (other.hasMipCheckPrecision()) {
11447  setMipCheckPrecision(other.getMipCheckPrecision());
11448  }
11449  this.mergeUnknownFields(other.unknownFields);
11450  onChanged();
11451  return this;
11452  }
11453 
11454  @java.lang.Override
11455  public final boolean isInitialized() {
11456  return true;
11457  }
11458 
11459  @java.lang.Override
11461  com.google.protobuf.CodedInputStream input,
11462  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11463  throws java.io.IOException {
11464  com.google.ortools.sat.SatParameters parsedMessage = null;
11465  try {
11466  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11467  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11468  parsedMessage = (com.google.ortools.sat.SatParameters) e.getUnfinishedMessage();
11469  throw e.unwrapIOException();
11470  } finally {
11471  if (parsedMessage != null) {
11472  mergeFrom(parsedMessage);
11473  }
11474  }
11475  return this;
11476  }
11477  private int bitField0_;
11478  private int bitField1_;
11479  private int bitField2_;
11480  private int bitField3_;
11481  private int bitField4_;
11482 
11483  private java.lang.Object name_ = "";
11493  public boolean hasName() {
11494  return ((bitField0_ & 0x00000001) != 0);
11495  }
11505  public java.lang.String getName() {
11506  java.lang.Object ref = name_;
11507  if (!(ref instanceof java.lang.String)) {
11508  com.google.protobuf.ByteString bs =
11509  (com.google.protobuf.ByteString) ref;
11510  java.lang.String s = bs.toStringUtf8();
11511  if (bs.isValidUtf8()) {
11512  name_ = s;
11513  }
11514  return s;
11515  } else {
11516  return (java.lang.String) ref;
11517  }
11518  }
11528  public com.google.protobuf.ByteString
11530  java.lang.Object ref = name_;
11531  if (ref instanceof String) {
11532  com.google.protobuf.ByteString b =
11533  com.google.protobuf.ByteString.copyFromUtf8(
11534  (java.lang.String) ref);
11535  name_ = b;
11536  return b;
11537  } else {
11538  return (com.google.protobuf.ByteString) ref;
11539  }
11540  }
11552  java.lang.String value) {
11553  if (value == null) {
11554  throw new NullPointerException();
11555  }
11556  bitField0_ |= 0x00000001;
11557  name_ = value;
11558  onChanged();
11559  return this;
11560  }
11570  public Builder clearName() {
11571  bitField0_ = (bitField0_ & ~0x00000001);
11572  name_ = getDefaultInstance().getName();
11573  onChanged();
11574  return this;
11575  }
11587  com.google.protobuf.ByteString value) {
11588  if (value == null) {
11589  throw new NullPointerException();
11590  }
11591  bitField0_ |= 0x00000001;
11592  name_ = value;
11593  onChanged();
11594  return this;
11595  }
11596 
11597  private int preferredVariableOrder_ = 0;
11602  @java.lang.Override public boolean hasPreferredVariableOrder() {
11603  return ((bitField0_ & 0x00000002) != 0);
11604  }
11609  @java.lang.Override
11611  @SuppressWarnings("deprecation")
11613  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
11614  }
11621  if (value == null) {
11622  throw new NullPointerException();
11623  }
11624  bitField0_ |= 0x00000002;
11625  preferredVariableOrder_ = value.getNumber();
11626  onChanged();
11627  return this;
11628  }
11634  bitField0_ = (bitField0_ & ~0x00000002);
11635  preferredVariableOrder_ = 0;
11636  onChanged();
11637  return this;
11638  }
11639 
11640  private int initialPolarity_ = 1;
11645  @java.lang.Override public boolean hasInitialPolarity() {
11646  return ((bitField0_ & 0x00000004) != 0);
11647  }
11652  @java.lang.Override
11654  @SuppressWarnings("deprecation")
11656  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
11657  }
11664  if (value == null) {
11665  throw new NullPointerException();
11666  }
11667  bitField0_ |= 0x00000004;
11668  initialPolarity_ = value.getNumber();
11669  onChanged();
11670  return this;
11671  }
11677  bitField0_ = (bitField0_ & ~0x00000004);
11678  initialPolarity_ = 1;
11679  onChanged();
11680  return this;
11681  }
11682 
11683  private boolean usePhaseSaving_ = true;
11700  @java.lang.Override
11701  public boolean hasUsePhaseSaving() {
11702  return ((bitField0_ & 0x00000008) != 0);
11703  }
11720  @java.lang.Override
11721  public boolean getUsePhaseSaving() {
11722  return usePhaseSaving_;
11723  }
11741  public Builder setUsePhaseSaving(boolean value) {
11742  bitField0_ |= 0x00000008;
11743  usePhaseSaving_ = value;
11744  onChanged();
11745  return this;
11746  }
11764  bitField0_ = (bitField0_ & ~0x00000008);
11765  usePhaseSaving_ = true;
11766  onChanged();
11767  return this;
11768  }
11769 
11770  private int polarityRephaseIncrement_ = 1000;
11781  @java.lang.Override
11782  public boolean hasPolarityRephaseIncrement() {
11783  return ((bitField0_ & 0x00000010) != 0);
11784  }
11795  @java.lang.Override
11797  return polarityRephaseIncrement_;
11798  }
11811  bitField0_ |= 0x00000010;
11812  polarityRephaseIncrement_ = value;
11813  onChanged();
11814  return this;
11815  }
11827  bitField0_ = (bitField0_ & ~0x00000010);
11828  polarityRephaseIncrement_ = 1000;
11829  onChanged();
11830  return this;
11831  }
11832 
11833  private double randomPolarityRatio_ ;
11846  @java.lang.Override
11847  public boolean hasRandomPolarityRatio() {
11848  return ((bitField0_ & 0x00000020) != 0);
11849  }
11862  @java.lang.Override
11863  public double getRandomPolarityRatio() {
11864  return randomPolarityRatio_;
11865  }
11879  public Builder setRandomPolarityRatio(double value) {
11880  bitField0_ |= 0x00000020;
11881  randomPolarityRatio_ = value;
11882  onChanged();
11883  return this;
11884  }
11898  bitField0_ = (bitField0_ & ~0x00000020);
11899  randomPolarityRatio_ = 0D;
11900  onChanged();
11901  return this;
11902  }
11903 
11904  private double randomBranchesRatio_ ;
11915  @java.lang.Override
11916  public boolean hasRandomBranchesRatio() {
11917  return ((bitField0_ & 0x00000040) != 0);
11918  }
11929  @java.lang.Override
11930  public double getRandomBranchesRatio() {
11931  return randomBranchesRatio_;
11932  }
11944  public Builder setRandomBranchesRatio(double value) {
11945  bitField0_ |= 0x00000040;
11946  randomBranchesRatio_ = value;
11947  onChanged();
11948  return this;
11949  }
11961  bitField0_ = (bitField0_ & ~0x00000040);
11962  randomBranchesRatio_ = 0D;
11963  onChanged();
11964  return this;
11965  }
11966 
11967  private boolean useErwaHeuristic_ ;
11978  @java.lang.Override
11979  public boolean hasUseErwaHeuristic() {
11980  return ((bitField0_ & 0x00000080) != 0);
11981  }
11992  @java.lang.Override
11993  public boolean getUseErwaHeuristic() {
11994  return useErwaHeuristic_;
11995  }
12007  public Builder setUseErwaHeuristic(boolean value) {
12008  bitField0_ |= 0x00000080;
12009  useErwaHeuristic_ = value;
12010  onChanged();
12011  return this;
12012  }
12024  bitField0_ = (bitField0_ & ~0x00000080);
12025  useErwaHeuristic_ = false;
12026  onChanged();
12027  return this;
12028  }
12029 
12030  private double initialVariablesActivity_ ;
12044  @java.lang.Override
12045  public boolean hasInitialVariablesActivity() {
12046  return ((bitField0_ & 0x00000100) != 0);
12047  }
12061  @java.lang.Override
12063  return initialVariablesActivity_;
12064  }
12079  public Builder setInitialVariablesActivity(double value) {
12080  bitField0_ |= 0x00000100;
12081  initialVariablesActivity_ = value;
12082  onChanged();
12083  return this;
12084  }
12099  bitField0_ = (bitField0_ & ~0x00000100);
12100  initialVariablesActivity_ = 0D;
12101  onChanged();
12102  return this;
12103  }
12104 
12105  private boolean alsoBumpVariablesInConflictReasons_ ;
12117  @java.lang.Override
12119  return ((bitField0_ & 0x00000200) != 0);
12120  }
12132  @java.lang.Override
12134  return alsoBumpVariablesInConflictReasons_;
12135  }
12149  bitField0_ |= 0x00000200;
12150  alsoBumpVariablesInConflictReasons_ = value;
12151  onChanged();
12152  return this;
12153  }
12166  bitField0_ = (bitField0_ & ~0x00000200);
12167  alsoBumpVariablesInConflictReasons_ = false;
12168  onChanged();
12169  return this;
12170  }
12171 
12172  private int minimizationAlgorithm_ = 2;
12177  @java.lang.Override public boolean hasMinimizationAlgorithm() {
12178  return ((bitField0_ & 0x00000400) != 0);
12179  }
12184  @java.lang.Override
12186  @SuppressWarnings("deprecation")
12188  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
12189  }
12196  if (value == null) {
12197  throw new NullPointerException();
12198  }
12199  bitField0_ |= 0x00000400;
12200  minimizationAlgorithm_ = value.getNumber();
12201  onChanged();
12202  return this;
12203  }
12209  bitField0_ = (bitField0_ & ~0x00000400);
12210  minimizationAlgorithm_ = 2;
12211  onChanged();
12212  return this;
12213  }
12214 
12215  private int binaryMinimizationAlgorithm_ = 1;
12220  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
12221  return ((bitField0_ & 0x00000800) != 0);
12222  }
12227  @java.lang.Override
12229  @SuppressWarnings("deprecation")
12232  }
12239  if (value == null) {
12240  throw new NullPointerException();
12241  }
12242  bitField0_ |= 0x00000800;
12243  binaryMinimizationAlgorithm_ = value.getNumber();
12244  onChanged();
12245  return this;
12246  }
12252  bitField0_ = (bitField0_ & ~0x00000800);
12253  binaryMinimizationAlgorithm_ = 1;
12254  onChanged();
12255  return this;
12256  }
12257 
12258  private boolean subsumptionDuringConflictAnalysis_ = true;
12270  @java.lang.Override
12272  return ((bitField0_ & 0x00001000) != 0);
12273  }
12285  @java.lang.Override
12287  return subsumptionDuringConflictAnalysis_;
12288  }
12302  bitField0_ |= 0x00001000;
12303  subsumptionDuringConflictAnalysis_ = value;
12304  onChanged();
12305  return this;
12306  }
12319  bitField0_ = (bitField0_ & ~0x00001000);
12320  subsumptionDuringConflictAnalysis_ = true;
12321  onChanged();
12322  return this;
12323  }
12324 
12325  private int clauseCleanupPeriod_ = 10000;
12334  @java.lang.Override
12335  public boolean hasClauseCleanupPeriod() {
12336  return ((bitField0_ & 0x00002000) != 0);
12337  }
12346  @java.lang.Override
12347  public int getClauseCleanupPeriod() {
12348  return clauseCleanupPeriod_;
12349  }
12359  public Builder setClauseCleanupPeriod(int value) {
12360  bitField0_ |= 0x00002000;
12361  clauseCleanupPeriod_ = value;
12362  onChanged();
12363  return this;
12364  }
12374  bitField0_ = (bitField0_ & ~0x00002000);
12375  clauseCleanupPeriod_ = 10000;
12376  onChanged();
12377  return this;
12378  }
12379 
12380  private int clauseCleanupTarget_ = 10000;
12390  @java.lang.Override
12391  public boolean hasClauseCleanupTarget() {
12392  return ((bitField0_ & 0x00004000) != 0);
12393  }
12403  @java.lang.Override
12404  public int getClauseCleanupTarget() {
12405  return clauseCleanupTarget_;
12406  }
12417  public Builder setClauseCleanupTarget(int value) {
12418  bitField0_ |= 0x00004000;
12419  clauseCleanupTarget_ = value;
12420  onChanged();
12421  return this;
12422  }
12433  bitField0_ = (bitField0_ & ~0x00004000);
12434  clauseCleanupTarget_ = 10000;
12435  onChanged();
12436  return this;
12437  }
12438 
12439  private int clauseCleanupProtection_ = 0;
12444  @java.lang.Override public boolean hasClauseCleanupProtection() {
12445  return ((bitField0_ & 0x00008000) != 0);
12446  }
12451  @java.lang.Override
12453  @SuppressWarnings("deprecation")
12455  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
12456  }
12463  if (value == null) {
12464  throw new NullPointerException();
12465  }
12466  bitField0_ |= 0x00008000;
12467  clauseCleanupProtection_ = value.getNumber();
12468  onChanged();
12469  return this;
12470  }
12476  bitField0_ = (bitField0_ & ~0x00008000);
12477  clauseCleanupProtection_ = 0;
12478  onChanged();
12479  return this;
12480  }
12481 
12482  private int clauseCleanupLbdBound_ = 5;
12492  @java.lang.Override
12493  public boolean hasClauseCleanupLbdBound() {
12494  return ((bitField0_ & 0x00010000) != 0);
12495  }
12505  @java.lang.Override
12507  return clauseCleanupLbdBound_;
12508  }
12519  public Builder setClauseCleanupLbdBound(int value) {
12520  bitField0_ |= 0x00010000;
12521  clauseCleanupLbdBound_ = value;
12522  onChanged();
12523  return this;
12524  }
12535  bitField0_ = (bitField0_ & ~0x00010000);
12536  clauseCleanupLbdBound_ = 5;
12537  onChanged();
12538  return this;
12539  }
12540 
12541  private int clauseCleanupOrdering_ = 0;
12546  @java.lang.Override public boolean hasClauseCleanupOrdering() {
12547  return ((bitField0_ & 0x00020000) != 0);
12548  }
12553  @java.lang.Override
12555  @SuppressWarnings("deprecation")
12557  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
12558  }
12565  if (value == null) {
12566  throw new NullPointerException();
12567  }
12568  bitField0_ |= 0x00020000;
12569  clauseCleanupOrdering_ = value.getNumber();
12570  onChanged();
12571  return this;
12572  }
12578  bitField0_ = (bitField0_ & ~0x00020000);
12579  clauseCleanupOrdering_ = 0;
12580  onChanged();
12581  return this;
12582  }
12583 
12584  private int pbCleanupIncrement_ = 200;
12593  @java.lang.Override
12594  public boolean hasPbCleanupIncrement() {
12595  return ((bitField0_ & 0x00040000) != 0);
12596  }
12605  @java.lang.Override
12606  public int getPbCleanupIncrement() {
12607  return pbCleanupIncrement_;
12608  }
12618  public Builder setPbCleanupIncrement(int value) {
12619  bitField0_ |= 0x00040000;
12620  pbCleanupIncrement_ = value;
12621  onChanged();
12622  return this;
12623  }
12633  bitField0_ = (bitField0_ & ~0x00040000);
12634  pbCleanupIncrement_ = 200;
12635  onChanged();
12636  return this;
12637  }
12638 
12639  private double pbCleanupRatio_ = 0.5D;
12644  @java.lang.Override
12645  public boolean hasPbCleanupRatio() {
12646  return ((bitField0_ & 0x00080000) != 0);
12647  }
12652  @java.lang.Override
12653  public double getPbCleanupRatio() {
12654  return pbCleanupRatio_;
12655  }
12661  public Builder setPbCleanupRatio(double value) {
12662  bitField0_ |= 0x00080000;
12663  pbCleanupRatio_ = value;
12664  onChanged();
12665  return this;
12666  }
12672  bitField0_ = (bitField0_ & ~0x00080000);
12673  pbCleanupRatio_ = 0.5D;
12674  onChanged();
12675  return this;
12676  }
12677 
12678  private int minimizeWithPropagationRestartPeriod_ = 10;
12697  @java.lang.Override
12699  return ((bitField0_ & 0x00100000) != 0);
12700  }
12719  @java.lang.Override
12721  return minimizeWithPropagationRestartPeriod_;
12722  }
12743  bitField0_ |= 0x00100000;
12744  minimizeWithPropagationRestartPeriod_ = value;
12745  onChanged();
12746  return this;
12747  }
12767  bitField0_ = (bitField0_ & ~0x00100000);
12768  minimizeWithPropagationRestartPeriod_ = 10;
12769  onChanged();
12770  return this;
12771  }
12772 
12773  private int minimizeWithPropagationNumDecisions_ = 1000;
12778  @java.lang.Override
12780  return ((bitField0_ & 0x00200000) != 0);
12781  }
12786  @java.lang.Override
12788  return minimizeWithPropagationNumDecisions_;
12789  }
12796  bitField0_ |= 0x00200000;
12797  minimizeWithPropagationNumDecisions_ = value;
12798  onChanged();
12799  return this;
12800  }
12806  bitField0_ = (bitField0_ & ~0x00200000);
12807  minimizeWithPropagationNumDecisions_ = 1000;
12808  onChanged();
12809  return this;
12810  }
12811 
12812  private double variableActivityDecay_ = 0.8D;
12827  @java.lang.Override
12828  public boolean hasVariableActivityDecay() {
12829  return ((bitField0_ & 0x00400000) != 0);
12830  }
12845  @java.lang.Override
12846  public double getVariableActivityDecay() {
12847  return variableActivityDecay_;
12848  }
12864  public Builder setVariableActivityDecay(double value) {
12865  bitField0_ |= 0x00400000;
12866  variableActivityDecay_ = value;
12867  onChanged();
12868  return this;
12869  }
12885  bitField0_ = (bitField0_ & ~0x00400000);
12886  variableActivityDecay_ = 0.8D;
12887  onChanged();
12888  return this;
12889  }
12890 
12891  private double maxVariableActivityValue_ = 1e+100D;
12896  @java.lang.Override
12897  public boolean hasMaxVariableActivityValue() {
12898  return ((bitField0_ & 0x00800000) != 0);
12899  }
12904  @java.lang.Override
12906  return maxVariableActivityValue_;
12907  }
12913  public Builder setMaxVariableActivityValue(double value) {
12914  bitField0_ |= 0x00800000;
12915  maxVariableActivityValue_ = value;
12916  onChanged();
12917  return this;
12918  }
12924  bitField0_ = (bitField0_ & ~0x00800000);
12925  maxVariableActivityValue_ = 1e+100D;
12926  onChanged();
12927  return this;
12928  }
12929 
12930  private double glucoseMaxDecay_ = 0.95D;
12942  @java.lang.Override
12943  public boolean hasGlucoseMaxDecay() {
12944  return ((bitField0_ & 0x01000000) != 0);
12945  }
12957  @java.lang.Override
12958  public double getGlucoseMaxDecay() {
12959  return glucoseMaxDecay_;
12960  }
12973  public Builder setGlucoseMaxDecay(double value) {
12974  bitField0_ |= 0x01000000;
12975  glucoseMaxDecay_ = value;
12976  onChanged();
12977  return this;
12978  }
12991  bitField0_ = (bitField0_ & ~0x01000000);
12992  glucoseMaxDecay_ = 0.95D;
12993  onChanged();
12994  return this;
12995  }
12996 
12997  private double glucoseDecayIncrement_ = 0.01D;
13002  @java.lang.Override
13003  public boolean hasGlucoseDecayIncrement() {
13004  return ((bitField0_ & 0x02000000) != 0);
13005  }
13010  @java.lang.Override
13011  public double getGlucoseDecayIncrement() {
13012  return glucoseDecayIncrement_;
13013  }
13019  public Builder setGlucoseDecayIncrement(double value) {
13020  bitField0_ |= 0x02000000;
13021  glucoseDecayIncrement_ = value;
13022  onChanged();
13023  return this;
13024  }
13030  bitField0_ = (bitField0_ & ~0x02000000);
13031  glucoseDecayIncrement_ = 0.01D;
13032  onChanged();
13033  return this;
13034  }
13035 
13036  private int glucoseDecayIncrementPeriod_ = 5000;
13041  @java.lang.Override
13043  return ((bitField0_ & 0x04000000) != 0);
13044  }
13049  @java.lang.Override
13051  return glucoseDecayIncrementPeriod_;
13052  }
13059  bitField0_ |= 0x04000000;
13060  glucoseDecayIncrementPeriod_ = value;
13061  onChanged();
13062  return this;
13063  }
13069  bitField0_ = (bitField0_ & ~0x04000000);
13070  glucoseDecayIncrementPeriod_ = 5000;
13071  onChanged();
13072  return this;
13073  }
13074 
13075  private double clauseActivityDecay_ = 0.999D;
13084  @java.lang.Override
13085  public boolean hasClauseActivityDecay() {
13086  return ((bitField0_ & 0x08000000) != 0);
13087  }
13096  @java.lang.Override
13097  public double getClauseActivityDecay() {
13098  return clauseActivityDecay_;
13099  }
13109  public Builder setClauseActivityDecay(double value) {
13110  bitField0_ |= 0x08000000;
13111  clauseActivityDecay_ = value;
13112  onChanged();
13113  return this;
13114  }
13124  bitField0_ = (bitField0_ & ~0x08000000);
13125  clauseActivityDecay_ = 0.999D;
13126  onChanged();
13127  return this;
13128  }
13129 
13130  private double maxClauseActivityValue_ = 1e+20D;
13135  @java.lang.Override
13136  public boolean hasMaxClauseActivityValue() {
13137  return ((bitField0_ & 0x10000000) != 0);
13138  }
13143  @java.lang.Override
13144  public double getMaxClauseActivityValue() {
13145  return maxClauseActivityValue_;
13146  }
13152  public Builder setMaxClauseActivityValue(double value) {
13153  bitField0_ |= 0x10000000;
13154  maxClauseActivityValue_ = value;
13155  onChanged();
13156  return this;
13157  }
13163  bitField0_ = (bitField0_ & ~0x10000000);
13164  maxClauseActivityValue_ = 1e+20D;
13165  onChanged();
13166  return this;
13167  }
13168 
13169  private java.util.List<java.lang.Integer> restartAlgorithms_ =
13170  java.util.Collections.emptyList();
13171  private void ensureRestartAlgorithmsIsMutable() {
13172  if (!((bitField0_ & 0x20000000) != 0)) {
13173  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
13174  bitField0_ |= 0x20000000;
13175  }
13176  }
13193  return new com.google.protobuf.Internal.ListAdapter<
13194  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
13195  }
13212  return restartAlgorithms_.size();
13213  }
13231  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
13232  }
13251  int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
13252  if (value == null) {
13253  throw new NullPointerException();
13254  }
13255  ensureRestartAlgorithmsIsMutable();
13256  restartAlgorithms_.set(index, value.getNumber());
13257  onChanged();
13258  return this;
13259  }
13277  if (value == null) {
13278  throw new NullPointerException();
13279  }
13280  ensureRestartAlgorithmsIsMutable();
13281  restartAlgorithms_.add(value.getNumber());
13282  onChanged();
13283  return this;
13284  }
13302  java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
13303  ensureRestartAlgorithmsIsMutable();
13304  for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
13305  restartAlgorithms_.add(value.getNumber());
13306  }
13307  onChanged();
13308  return this;
13309  }
13326  restartAlgorithms_ = java.util.Collections.emptyList();
13327  bitField0_ = (bitField0_ & ~0x20000000);
13328  onChanged();
13329  return this;
13330  }
13331 
13332  private java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
13337  public boolean hasDefaultRestartAlgorithms() {
13338  return ((bitField0_ & 0x40000000) != 0);
13339  }
13344  public java.lang.String getDefaultRestartAlgorithms() {
13345  java.lang.Object ref = defaultRestartAlgorithms_;
13346  if (!(ref instanceof java.lang.String)) {
13347  com.google.protobuf.ByteString bs =
13348  (com.google.protobuf.ByteString) ref;
13349  java.lang.String s = bs.toStringUtf8();
13350  if (bs.isValidUtf8()) {
13351  defaultRestartAlgorithms_ = s;
13352  }
13353  return s;
13354  } else {
13355  return (java.lang.String) ref;
13356  }
13357  }
13362  public com.google.protobuf.ByteString
13364  java.lang.Object ref = defaultRestartAlgorithms_;
13365  if (ref instanceof String) {
13366  com.google.protobuf.ByteString b =
13367  com.google.protobuf.ByteString.copyFromUtf8(
13368  (java.lang.String) ref);
13369  defaultRestartAlgorithms_ = b;
13370  return b;
13371  } else {
13372  return (com.google.protobuf.ByteString) ref;
13373  }
13374  }
13381  java.lang.String value) {
13382  if (value == null) {
13383  throw new NullPointerException();
13384  }
13385  bitField0_ |= 0x40000000;
13386  defaultRestartAlgorithms_ = value;
13387  onChanged();
13388  return this;
13389  }
13395  bitField0_ = (bitField0_ & ~0x40000000);
13396  defaultRestartAlgorithms_ = getDefaultInstance().getDefaultRestartAlgorithms();
13397  onChanged();
13398  return this;
13399  }
13406  com.google.protobuf.ByteString value) {
13407  if (value == null) {
13408  throw new NullPointerException();
13409  }
13410  bitField0_ |= 0x40000000;
13411  defaultRestartAlgorithms_ = value;
13412  onChanged();
13413  return this;
13414  }
13415 
13416  private int restartPeriod_ = 50;
13426  @java.lang.Override
13427  public boolean hasRestartPeriod() {
13428  return ((bitField0_ & 0x80000000) != 0);
13429  }
13439  @java.lang.Override
13440  public int getRestartPeriod() {
13441  return restartPeriod_;
13442  }
13453  public Builder setRestartPeriod(int value) {
13454  bitField0_ |= 0x80000000;
13455  restartPeriod_ = value;
13456  onChanged();
13457  return this;
13458  }
13469  bitField0_ = (bitField0_ & ~0x80000000);
13470  restartPeriod_ = 50;
13471  onChanged();
13472  return this;
13473  }
13474 
13475  private int restartRunningWindowSize_ = 50;
13484  @java.lang.Override
13485  public boolean hasRestartRunningWindowSize() {
13486  return ((bitField1_ & 0x00000001) != 0);
13487  }
13496  @java.lang.Override
13498  return restartRunningWindowSize_;
13499  }
13510  bitField1_ |= 0x00000001;
13511  restartRunningWindowSize_ = value;
13512  onChanged();
13513  return this;
13514  }
13524  bitField1_ = (bitField1_ & ~0x00000001);
13525  restartRunningWindowSize_ = 50;
13526  onChanged();
13527  return this;
13528  }
13529 
13530  private double restartDlAverageRatio_ = 1D;
13540  @java.lang.Override
13541  public boolean hasRestartDlAverageRatio() {
13542  return ((bitField1_ & 0x00000002) != 0);
13543  }
13553  @java.lang.Override
13554  public double getRestartDlAverageRatio() {
13555  return restartDlAverageRatio_;
13556  }
13567  public Builder setRestartDlAverageRatio(double value) {
13568  bitField1_ |= 0x00000002;
13569  restartDlAverageRatio_ = value;
13570  onChanged();
13571  return this;
13572  }
13583  bitField1_ = (bitField1_ & ~0x00000002);
13584  restartDlAverageRatio_ = 1D;
13585  onChanged();
13586  return this;
13587  }
13588 
13589  private double restartLbdAverageRatio_ = 1D;
13594  @java.lang.Override
13595  public boolean hasRestartLbdAverageRatio() {
13596  return ((bitField1_ & 0x00000004) != 0);
13597  }
13602  @java.lang.Override
13603  public double getRestartLbdAverageRatio() {
13604  return restartLbdAverageRatio_;
13605  }
13611  public Builder setRestartLbdAverageRatio(double value) {
13612  bitField1_ |= 0x00000004;
13613  restartLbdAverageRatio_ = value;
13614  onChanged();
13615  return this;
13616  }
13622  bitField1_ = (bitField1_ & ~0x00000004);
13623  restartLbdAverageRatio_ = 1D;
13624  onChanged();
13625  return this;
13626  }
13627 
13628  private boolean useBlockingRestart_ ;
13639  @java.lang.Override
13640  public boolean hasUseBlockingRestart() {
13641  return ((bitField1_ & 0x00000008) != 0);
13642  }
13653  @java.lang.Override
13654  public boolean getUseBlockingRestart() {
13655  return useBlockingRestart_;
13656  }
13668  public Builder setUseBlockingRestart(boolean value) {
13669  bitField1_ |= 0x00000008;
13670  useBlockingRestart_ = value;
13671  onChanged();
13672  return this;
13673  }
13685  bitField1_ = (bitField1_ & ~0x00000008);
13686  useBlockingRestart_ = false;
13687  onChanged();
13688  return this;
13689  }
13690 
13691  private int blockingRestartWindowSize_ = 5000;
13696  @java.lang.Override
13697  public boolean hasBlockingRestartWindowSize() {
13698  return ((bitField1_ & 0x00000010) != 0);
13699  }
13704  @java.lang.Override
13706  return blockingRestartWindowSize_;
13707  }
13714  bitField1_ |= 0x00000010;
13715  blockingRestartWindowSize_ = value;
13716  onChanged();
13717  return this;
13718  }
13724  bitField1_ = (bitField1_ & ~0x00000010);
13725  blockingRestartWindowSize_ = 5000;
13726  onChanged();
13727  return this;
13728  }
13729 
13730  private double blockingRestartMultiplier_ = 1.4D;
13735  @java.lang.Override
13736  public boolean hasBlockingRestartMultiplier() {
13737  return ((bitField1_ & 0x00000020) != 0);
13738  }
13743  @java.lang.Override
13745  return blockingRestartMultiplier_;
13746  }
13752  public Builder setBlockingRestartMultiplier(double value) {
13753  bitField1_ |= 0x00000020;
13754  blockingRestartMultiplier_ = value;
13755  onChanged();
13756  return this;
13757  }
13763  bitField1_ = (bitField1_ & ~0x00000020);
13764  blockingRestartMultiplier_ = 1.4D;
13765  onChanged();
13766  return this;
13767  }
13768 
13769  private int numConflictsBeforeStrategyChanges_ ;
13780  @java.lang.Override
13782  return ((bitField1_ & 0x00000040) != 0);
13783  }
13794  @java.lang.Override
13796  return numConflictsBeforeStrategyChanges_;
13797  }
13810  bitField1_ |= 0x00000040;
13811  numConflictsBeforeStrategyChanges_ = value;
13812  onChanged();
13813  return this;
13814  }
13826  bitField1_ = (bitField1_ & ~0x00000040);
13827  numConflictsBeforeStrategyChanges_ = 0;
13828  onChanged();
13829  return this;
13830  }
13831 
13832  private double strategyChangeIncreaseRatio_ ;
13842  @java.lang.Override
13844  return ((bitField1_ & 0x00000080) != 0);
13845  }
13855  @java.lang.Override
13857  return strategyChangeIncreaseRatio_;
13858  }
13870  bitField1_ |= 0x00000080;
13871  strategyChangeIncreaseRatio_ = value;
13872  onChanged();
13873  return this;
13874  }
13885  bitField1_ = (bitField1_ & ~0x00000080);
13886  strategyChangeIncreaseRatio_ = 0D;
13887  onChanged();
13888  return this;
13889  }
13890 
13891  private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
13901  @java.lang.Override
13902  public boolean hasMaxTimeInSeconds() {
13903  return ((bitField1_ & 0x00000100) != 0);
13904  }
13914  @java.lang.Override
13915  public double getMaxTimeInSeconds() {
13916  return maxTimeInSeconds_;
13917  }
13928  public Builder setMaxTimeInSeconds(double value) {
13929  bitField1_ |= 0x00000100;
13930  maxTimeInSeconds_ = value;
13931  onChanged();
13932  return this;
13933  }
13944  bitField1_ = (bitField1_ & ~0x00000100);
13945  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
13946  onChanged();
13947  return this;
13948  }
13949 
13950  private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
13961  @java.lang.Override
13962  public boolean hasMaxDeterministicTime() {
13963  return ((bitField1_ & 0x00000200) != 0);
13964  }
13975  @java.lang.Override
13976  public double getMaxDeterministicTime() {
13977  return maxDeterministicTime_;
13978  }
13990  public Builder setMaxDeterministicTime(double value) {
13991  bitField1_ |= 0x00000200;
13992  maxDeterministicTime_ = value;
13993  onChanged();
13994  return this;
13995  }
14007  bitField1_ = (bitField1_ & ~0x00000200);
14008  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
14009  onChanged();
14010  return this;
14011  }
14012 
14013  private long maxNumberOfConflicts_ = 9223372036854775807L;
14027  @java.lang.Override
14028  public boolean hasMaxNumberOfConflicts() {
14029  return ((bitField1_ & 0x00000400) != 0);
14030  }
14044  @java.lang.Override
14045  public long getMaxNumberOfConflicts() {
14046  return maxNumberOfConflicts_;
14047  }
14062  public Builder setMaxNumberOfConflicts(long value) {
14063  bitField1_ |= 0x00000400;
14064  maxNumberOfConflicts_ = value;
14065  onChanged();
14066  return this;
14067  }
14082  bitField1_ = (bitField1_ & ~0x00000400);
14083  maxNumberOfConflicts_ = 9223372036854775807L;
14084  onChanged();
14085  return this;
14086  }
14087 
14088  private long maxMemoryInMb_ = 10000L;
14100  @java.lang.Override
14101  public boolean hasMaxMemoryInMb() {
14102  return ((bitField1_ & 0x00000800) != 0);
14103  }
14115  @java.lang.Override
14116  public long getMaxMemoryInMb() {
14117  return maxMemoryInMb_;
14118  }
14131  public Builder setMaxMemoryInMb(long value) {
14132  bitField1_ |= 0x00000800;
14133  maxMemoryInMb_ = value;
14134  onChanged();
14135  return this;
14136  }
14149  bitField1_ = (bitField1_ & ~0x00000800);
14150  maxMemoryInMb_ = 10000L;
14151  onChanged();
14152  return this;
14153  }
14154 
14155  private double absoluteGapLimit_ ;
14173  @java.lang.Override
14174  public boolean hasAbsoluteGapLimit() {
14175  return ((bitField1_ & 0x00001000) != 0);
14176  }
14194  @java.lang.Override
14195  public double getAbsoluteGapLimit() {
14196  return absoluteGapLimit_;
14197  }
14216  public Builder setAbsoluteGapLimit(double value) {
14217  bitField1_ |= 0x00001000;
14218  absoluteGapLimit_ = value;
14219  onChanged();
14220  return this;
14221  }
14240  bitField1_ = (bitField1_ & ~0x00001000);
14241  absoluteGapLimit_ = 0D;
14242  onChanged();
14243  return this;
14244  }
14245 
14246  private double relativeGapLimit_ ;
14251  @java.lang.Override
14252  public boolean hasRelativeGapLimit() {
14253  return ((bitField1_ & 0x00002000) != 0);
14254  }
14259  @java.lang.Override
14260  public double getRelativeGapLimit() {
14261  return relativeGapLimit_;
14262  }
14268  public Builder setRelativeGapLimit(double value) {
14269  bitField1_ |= 0x00002000;
14270  relativeGapLimit_ = value;
14271  onChanged();
14272  return this;
14273  }
14279  bitField1_ = (bitField1_ & ~0x00002000);
14280  relativeGapLimit_ = 0D;
14281  onChanged();
14282  return this;
14283  }
14284 
14285  private boolean treatBinaryClausesSeparately_ = true;
14296  @java.lang.Override
14298  return ((bitField1_ & 0x00004000) != 0);
14299  }
14310  @java.lang.Override
14312  return treatBinaryClausesSeparately_;
14313  }
14326  bitField1_ |= 0x00004000;
14327  treatBinaryClausesSeparately_ = value;
14328  onChanged();
14329  return this;
14330  }
14342  bitField1_ = (bitField1_ & ~0x00004000);
14343  treatBinaryClausesSeparately_ = true;
14344  onChanged();
14345  return this;
14346  }
14347 
14348  private int randomSeed_ = 1;
14362  @java.lang.Override
14363  public boolean hasRandomSeed() {
14364  return ((bitField1_ & 0x00008000) != 0);
14365  }
14379  @java.lang.Override
14380  public int getRandomSeed() {
14381  return randomSeed_;
14382  }
14397  public Builder setRandomSeed(int value) {
14398  bitField1_ |= 0x00008000;
14399  randomSeed_ = value;
14400  onChanged();
14401  return this;
14402  }
14417  bitField1_ = (bitField1_ & ~0x00008000);
14418  randomSeed_ = 1;
14419  onChanged();
14420  return this;
14421  }
14422 
14423  private boolean logSearchProgress_ ;
14432  @java.lang.Override
14433  public boolean hasLogSearchProgress() {
14434  return ((bitField1_ & 0x00010000) != 0);
14435  }
14444  @java.lang.Override
14445  public boolean getLogSearchProgress() {
14446  return logSearchProgress_;
14447  }
14457  public Builder setLogSearchProgress(boolean value) {
14458  bitField1_ |= 0x00010000;
14459  logSearchProgress_ = value;
14460  onChanged();
14461  return this;
14462  }
14472  bitField1_ = (bitField1_ & ~0x00010000);
14473  logSearchProgress_ = false;
14474  onChanged();
14475  return this;
14476  }
14477 
14478  private boolean usePbResolution_ ;
14490  @java.lang.Override
14491  public boolean hasUsePbResolution() {
14492  return ((bitField1_ & 0x00020000) != 0);
14493  }
14505  @java.lang.Override
14506  public boolean getUsePbResolution() {
14507  return usePbResolution_;
14508  }
14521  public Builder setUsePbResolution(boolean value) {
14522  bitField1_ |= 0x00020000;
14523  usePbResolution_ = value;
14524  onChanged();
14525  return this;
14526  }
14539  bitField1_ = (bitField1_ & ~0x00020000);
14540  usePbResolution_ = false;
14541  onChanged();
14542  return this;
14543  }
14544 
14545  private boolean minimizeReductionDuringPbResolution_ ;
14557  @java.lang.Override
14559  return ((bitField1_ & 0x00040000) != 0);
14560  }
14572  @java.lang.Override
14574  return minimizeReductionDuringPbResolution_;
14575  }
14589  bitField1_ |= 0x00040000;
14590  minimizeReductionDuringPbResolution_ = value;
14591  onChanged();
14592  return this;
14593  }
14606  bitField1_ = (bitField1_ & ~0x00040000);
14607  minimizeReductionDuringPbResolution_ = false;
14608  onChanged();
14609  return this;
14610  }
14611 
14612  private boolean countAssumptionLevelsInLbd_ = true;
14628  @java.lang.Override
14630  return ((bitField1_ & 0x00080000) != 0);
14631  }
14647  @java.lang.Override
14649  return countAssumptionLevelsInLbd_;
14650  }
14667  public Builder setCountAssumptionLevelsInLbd(boolean value) {
14668  bitField1_ |= 0x00080000;
14669  countAssumptionLevelsInLbd_ = value;
14670  onChanged();
14671  return this;
14672  }
14689  bitField1_ = (bitField1_ & ~0x00080000);
14690  countAssumptionLevelsInLbd_ = true;
14691  onChanged();
14692  return this;
14693  }
14694 
14695  private int presolveBveThreshold_ = 500;
14706  @java.lang.Override
14707  public boolean hasPresolveBveThreshold() {
14708  return ((bitField1_ & 0x00100000) != 0);
14709  }
14720  @java.lang.Override
14722  return presolveBveThreshold_;
14723  }
14735  public Builder setPresolveBveThreshold(int value) {
14736  bitField1_ |= 0x00100000;
14737  presolveBveThreshold_ = value;
14738  onChanged();
14739  return this;
14740  }
14752  bitField1_ = (bitField1_ & ~0x00100000);
14753  presolveBveThreshold_ = 500;
14754  onChanged();
14755  return this;
14756  }
14757 
14758  private int presolveBveClauseWeight_ = 3;
14768  @java.lang.Override
14769  public boolean hasPresolveBveClauseWeight() {
14770  return ((bitField1_ & 0x00200000) != 0);
14771  }
14781  @java.lang.Override
14783  return presolveBveClauseWeight_;
14784  }
14796  bitField1_ |= 0x00200000;
14797  presolveBveClauseWeight_ = value;
14798  onChanged();
14799  return this;
14800  }
14811  bitField1_ = (bitField1_ & ~0x00200000);
14812  presolveBveClauseWeight_ = 3;
14813  onChanged();
14814  return this;
14815  }
14816 
14817  private double presolveProbingDeterministicTimeLimit_ = 30D;
14827  @java.lang.Override
14829  return ((bitField1_ & 0x00400000) != 0);
14830  }
14840  @java.lang.Override
14842  return presolveProbingDeterministicTimeLimit_;
14843  }
14855  bitField1_ |= 0x00400000;
14856  presolveProbingDeterministicTimeLimit_ = value;
14857  onChanged();
14858  return this;
14859  }
14870  bitField1_ = (bitField1_ & ~0x00400000);
14871  presolveProbingDeterministicTimeLimit_ = 30D;
14872  onChanged();
14873  return this;
14874  }
14875 
14876  private boolean presolveBlockedClause_ = true;
14886  @java.lang.Override
14887  public boolean hasPresolveBlockedClause() {
14888  return ((bitField1_ & 0x00800000) != 0);
14889  }
14899  @java.lang.Override
14900  public boolean getPresolveBlockedClause() {
14901  return presolveBlockedClause_;
14902  }
14913  public Builder setPresolveBlockedClause(boolean value) {
14914  bitField1_ |= 0x00800000;
14915  presolveBlockedClause_ = value;
14916  onChanged();
14917  return this;
14918  }
14929  bitField1_ = (bitField1_ & ~0x00800000);
14930  presolveBlockedClause_ = true;
14931  onChanged();
14932  return this;
14933  }
14934 
14935  private boolean presolveUseBva_ = true;
14944  @java.lang.Override
14945  public boolean hasPresolveUseBva() {
14946  return ((bitField1_ & 0x01000000) != 0);
14947  }
14956  @java.lang.Override
14957  public boolean getPresolveUseBva() {
14958  return presolveUseBva_;
14959  }
14969  public Builder setPresolveUseBva(boolean value) {
14970  bitField1_ |= 0x01000000;
14971  presolveUseBva_ = value;
14972  onChanged();
14973  return this;
14974  }
14984  bitField1_ = (bitField1_ & ~0x01000000);
14985  presolveUseBva_ = true;
14986  onChanged();
14987  return this;
14988  }
14989 
14990  private int presolveBvaThreshold_ = 1;
15002  @java.lang.Override
15003  public boolean hasPresolveBvaThreshold() {
15004  return ((bitField1_ & 0x02000000) != 0);
15005  }
15017  @java.lang.Override
15019  return presolveBvaThreshold_;
15020  }
15033  public Builder setPresolveBvaThreshold(int value) {
15034  bitField1_ |= 0x02000000;
15035  presolveBvaThreshold_ = value;
15036  onChanged();
15037  return this;
15038  }
15051  bitField1_ = (bitField1_ & ~0x02000000);
15052  presolveBvaThreshold_ = 1;
15053  onChanged();
15054  return this;
15055  }
15056 
15057  private int maxPresolveIterations_ = 3;
15068  @java.lang.Override
15069  public boolean hasMaxPresolveIterations() {
15070  return ((bitField1_ & 0x04000000) != 0);
15071  }
15082  @java.lang.Override
15084  return maxPresolveIterations_;
15085  }
15097  public Builder setMaxPresolveIterations(int value) {
15098  bitField1_ |= 0x04000000;
15099  maxPresolveIterations_ = value;
15100  onChanged();
15101  return this;
15102  }
15114  bitField1_ = (bitField1_ & ~0x04000000);
15115  maxPresolveIterations_ = 3;
15116  onChanged();
15117  return this;
15118  }
15119 
15120  private boolean cpModelPresolve_ = true;
15129  @java.lang.Override
15130  public boolean hasCpModelPresolve() {
15131  return ((bitField1_ & 0x08000000) != 0);
15132  }
15141  @java.lang.Override
15142  public boolean getCpModelPresolve() {
15143  return cpModelPresolve_;
15144  }
15154  public Builder setCpModelPresolve(boolean value) {
15155  bitField1_ |= 0x08000000;
15156  cpModelPresolve_ = value;
15157  onChanged();
15158  return this;
15159  }
15169  bitField1_ = (bitField1_ & ~0x08000000);
15170  cpModelPresolve_ = true;
15171  onChanged();
15172  return this;
15173  }
15174 
15175  private boolean cpModelPostsolveWithFullSolver_ ;
15187  @java.lang.Override
15189  return ((bitField1_ & 0x10000000) != 0);
15190  }
15202  @java.lang.Override
15204  return cpModelPostsolveWithFullSolver_;
15205  }
15219  bitField1_ |= 0x10000000;
15220  cpModelPostsolveWithFullSolver_ = value;
15221  onChanged();
15222  return this;
15223  }
15236  bitField1_ = (bitField1_ & ~0x10000000);
15237  cpModelPostsolveWithFullSolver_ = false;
15238  onChanged();
15239  return this;
15240  }
15241 
15242  private int cpModelMaxNumPresolveOperations_ ;
15252  @java.lang.Override
15254  return ((bitField1_ & 0x20000000) != 0);
15255  }
15265  @java.lang.Override
15267  return cpModelMaxNumPresolveOperations_;
15268  }
15280  bitField1_ |= 0x20000000;
15281  cpModelMaxNumPresolveOperations_ = value;
15282  onChanged();
15283  return this;
15284  }
15295  bitField1_ = (bitField1_ & ~0x20000000);
15296  cpModelMaxNumPresolveOperations_ = 0;
15297  onChanged();
15298  return this;
15299  }
15300 
15301  private int cpModelProbingLevel_ = 2;
15310  @java.lang.Override
15311  public boolean hasCpModelProbingLevel() {
15312  return ((bitField1_ & 0x40000000) != 0);
15313  }
15322  @java.lang.Override
15323  public int getCpModelProbingLevel() {
15324  return cpModelProbingLevel_;
15325  }
15335  public Builder setCpModelProbingLevel(int value) {
15336  bitField1_ |= 0x40000000;
15337  cpModelProbingLevel_ = value;
15338  onChanged();
15339  return this;
15340  }
15350  bitField1_ = (bitField1_ & ~0x40000000);
15351  cpModelProbingLevel_ = 2;
15352  onChanged();
15353  return this;
15354  }
15355 
15356  private boolean cpModelUseSatPresolve_ = true;
15365  @java.lang.Override
15366  public boolean hasCpModelUseSatPresolve() {
15367  return ((bitField1_ & 0x80000000) != 0);
15368  }
15377  @java.lang.Override
15378  public boolean getCpModelUseSatPresolve() {
15379  return cpModelUseSatPresolve_;
15380  }
15390  public Builder setCpModelUseSatPresolve(boolean value) {
15391  bitField1_ |= 0x80000000;
15392  cpModelUseSatPresolve_ = value;
15393  onChanged();
15394  return this;
15395  }
15405  bitField1_ = (bitField1_ & ~0x80000000);
15406  cpModelUseSatPresolve_ = true;
15407  onChanged();
15408  return this;
15409  }
15410 
15411  private boolean useSatInprocessing_ ;
15416  @java.lang.Override
15417  public boolean hasUseSatInprocessing() {
15418  return ((bitField2_ & 0x00000001) != 0);
15419  }
15424  @java.lang.Override
15425  public boolean getUseSatInprocessing() {
15426  return useSatInprocessing_;
15427  }
15433  public Builder setUseSatInprocessing(boolean value) {
15434  bitField2_ |= 0x00000001;
15435  useSatInprocessing_ = value;
15436  onChanged();
15437  return this;
15438  }
15444  bitField2_ = (bitField2_ & ~0x00000001);
15445  useSatInprocessing_ = false;
15446  onChanged();
15447  return this;
15448  }
15449 
15450  private boolean expandElementConstraints_ = true;
15460  @java.lang.Override
15461  public boolean hasExpandElementConstraints() {
15462  return ((bitField2_ & 0x00000002) != 0);
15463  }
15473  @java.lang.Override
15474  public boolean getExpandElementConstraints() {
15475  return expandElementConstraints_;
15476  }
15487  public Builder setExpandElementConstraints(boolean value) {
15488  bitField2_ |= 0x00000002;
15489  expandElementConstraints_ = value;
15490  onChanged();
15491  return this;
15492  }
15503  bitField2_ = (bitField2_ & ~0x00000002);
15504  expandElementConstraints_ = true;
15505  onChanged();
15506  return this;
15507  }
15508 
15509  private boolean expandAutomatonConstraints_ = true;
15518  @java.lang.Override
15520  return ((bitField2_ & 0x00000004) != 0);
15521  }
15530  @java.lang.Override
15532  return expandAutomatonConstraints_;
15533  }
15543  public Builder setExpandAutomatonConstraints(boolean value) {
15544  bitField2_ |= 0x00000004;
15545  expandAutomatonConstraints_ = value;
15546  onChanged();
15547  return this;
15548  }
15558  bitField2_ = (bitField2_ & ~0x00000004);
15559  expandAutomatonConstraints_ = true;
15560  onChanged();
15561  return this;
15562  }
15563 
15564  private boolean expandTableConstraints_ = true;
15574  @java.lang.Override
15575  public boolean hasExpandTableConstraints() {
15576  return ((bitField2_ & 0x00000008) != 0);
15577  }
15587  @java.lang.Override
15588  public boolean getExpandTableConstraints() {
15589  return expandTableConstraints_;
15590  }
15601  public Builder setExpandTableConstraints(boolean value) {
15602  bitField2_ |= 0x00000008;
15603  expandTableConstraints_ = value;
15604  onChanged();
15605  return this;
15606  }
15617  bitField2_ = (bitField2_ & ~0x00000008);
15618  expandTableConstraints_ = true;
15619  onChanged();
15620  return this;
15621  }
15622 
15623  private boolean expandAlldiffConstraints_ ;
15633  @java.lang.Override
15634  public boolean hasExpandAlldiffConstraints() {
15635  return ((bitField2_ & 0x00000010) != 0);
15636  }
15646  @java.lang.Override
15647  public boolean getExpandAlldiffConstraints() {
15648  return expandAlldiffConstraints_;
15649  }
15660  public Builder setExpandAlldiffConstraints(boolean value) {
15661  bitField2_ |= 0x00000010;
15662  expandAlldiffConstraints_ = value;
15663  onChanged();
15664  return this;
15665  }
15676  bitField2_ = (bitField2_ & ~0x00000010);
15677  expandAlldiffConstraints_ = false;
15678  onChanged();
15679  return this;
15680  }
15681 
15682  private double mergeNoOverlapWorkLimit_ = 1000000000000D;
15695  @java.lang.Override
15696  public boolean hasMergeNoOverlapWorkLimit() {
15697  return ((bitField2_ & 0x00000020) != 0);
15698  }
15711  @java.lang.Override
15712  public double getMergeNoOverlapWorkLimit() {
15713  return mergeNoOverlapWorkLimit_;
15714  }
15728  public Builder setMergeNoOverlapWorkLimit(double value) {
15729  bitField2_ |= 0x00000020;
15730  mergeNoOverlapWorkLimit_ = value;
15731  onChanged();
15732  return this;
15733  }
15747  bitField2_ = (bitField2_ & ~0x00000020);
15748  mergeNoOverlapWorkLimit_ = 1000000000000D;
15749  onChanged();
15750  return this;
15751  }
15752 
15753  private double mergeAtMostOneWorkLimit_ = 100000000D;
15758  @java.lang.Override
15759  public boolean hasMergeAtMostOneWorkLimit() {
15760  return ((bitField2_ & 0x00000040) != 0);
15761  }
15766  @java.lang.Override
15767  public double getMergeAtMostOneWorkLimit() {
15768  return mergeAtMostOneWorkLimit_;
15769  }
15775  public Builder setMergeAtMostOneWorkLimit(double value) {
15776  bitField2_ |= 0x00000040;
15777  mergeAtMostOneWorkLimit_ = value;
15778  onChanged();
15779  return this;
15780  }
15786  bitField2_ = (bitField2_ & ~0x00000040);
15787  mergeAtMostOneWorkLimit_ = 100000000D;
15788  onChanged();
15789  return this;
15790  }
15791 
15792  private int presolveSubstitutionLevel_ = 1;
15804  @java.lang.Override
15805  public boolean hasPresolveSubstitutionLevel() {
15806  return ((bitField2_ & 0x00000080) != 0);
15807  }
15819  @java.lang.Override
15821  return presolveSubstitutionLevel_;
15822  }
15836  bitField2_ |= 0x00000080;
15837  presolveSubstitutionLevel_ = value;
15838  onChanged();
15839  return this;
15840  }
15853  bitField2_ = (bitField2_ & ~0x00000080);
15854  presolveSubstitutionLevel_ = 1;
15855  onChanged();
15856  return this;
15857  }
15858 
15859  private boolean presolveExtractIntegerEnforcement_ ;
15873  @java.lang.Override
15875  return ((bitField2_ & 0x00000100) != 0);
15876  }
15890  @java.lang.Override
15892  return presolveExtractIntegerEnforcement_;
15893  }
15909  bitField2_ |= 0x00000100;
15910  presolveExtractIntegerEnforcement_ = value;
15911  onChanged();
15912  return this;
15913  }
15928  bitField2_ = (bitField2_ & ~0x00000100);
15929  presolveExtractIntegerEnforcement_ = false;
15930  onChanged();
15931  return this;
15932  }
15933 
15934  private boolean useOptimizationHints_ = true;
15946  @java.lang.Override
15947  public boolean hasUseOptimizationHints() {
15948  return ((bitField2_ & 0x00000200) != 0);
15949  }
15961  @java.lang.Override
15962  public boolean getUseOptimizationHints() {
15963  return useOptimizationHints_;
15964  }
15977  public Builder setUseOptimizationHints(boolean value) {
15978  bitField2_ |= 0x00000200;
15979  useOptimizationHints_ = value;
15980  onChanged();
15981  return this;
15982  }
15995  bitField2_ = (bitField2_ & ~0x00000200);
15996  useOptimizationHints_ = true;
15997  onChanged();
15998  return this;
15999  }
16000 
16001  private boolean minimizeCore_ = true;
16010  @java.lang.Override
16011  public boolean hasMinimizeCore() {
16012  return ((bitField2_ & 0x00000400) != 0);
16013  }
16022  @java.lang.Override
16023  public boolean getMinimizeCore() {
16024  return minimizeCore_;
16025  }
16035  public Builder setMinimizeCore(boolean value) {
16036  bitField2_ |= 0x00000400;
16037  minimizeCore_ = value;
16038  onChanged();
16039  return this;
16040  }
16050  bitField2_ = (bitField2_ & ~0x00000400);
16051  minimizeCore_ = true;
16052  onChanged();
16053  return this;
16054  }
16055 
16056  private boolean findMultipleCores_ = true;
16066  @java.lang.Override
16067  public boolean hasFindMultipleCores() {
16068  return ((bitField2_ & 0x00000800) != 0);
16069  }
16079  @java.lang.Override
16080  public boolean getFindMultipleCores() {
16081  return findMultipleCores_;
16082  }
16093  public Builder setFindMultipleCores(boolean value) {
16094  bitField2_ |= 0x00000800;
16095  findMultipleCores_ = value;
16096  onChanged();
16097  return this;
16098  }
16109  bitField2_ = (bitField2_ & ~0x00000800);
16110  findMultipleCores_ = true;
16111  onChanged();
16112  return this;
16113  }
16114 
16115  private boolean coverOptimization_ = true;
16125  @java.lang.Override
16126  public boolean hasCoverOptimization() {
16127  return ((bitField2_ & 0x00001000) != 0);
16128  }
16138  @java.lang.Override
16139  public boolean getCoverOptimization() {
16140  return coverOptimization_;
16141  }
16152  public Builder setCoverOptimization(boolean value) {
16153  bitField2_ |= 0x00001000;
16154  coverOptimization_ = value;
16155  onChanged();
16156  return this;
16157  }
16168  bitField2_ = (bitField2_ & ~0x00001000);
16169  coverOptimization_ = true;
16170  onChanged();
16171  return this;
16172  }
16173 
16174  private int maxSatAssumptionOrder_ = 0;
16179  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
16180  return ((bitField2_ & 0x00002000) != 0);
16181  }
16186  @java.lang.Override
16188  @SuppressWarnings("deprecation")
16191  }
16198  if (value == null) {
16199  throw new NullPointerException();
16200  }
16201  bitField2_ |= 0x00002000;
16202  maxSatAssumptionOrder_ = value.getNumber();
16203  onChanged();
16204  return this;
16205  }
16211  bitField2_ = (bitField2_ & ~0x00002000);
16212  maxSatAssumptionOrder_ = 0;
16213  onChanged();
16214  return this;
16215  }
16216 
16217  private boolean maxSatReverseAssumptionOrder_ ;
16227  @java.lang.Override
16229  return ((bitField2_ & 0x00004000) != 0);
16230  }
16240  @java.lang.Override
16242  return maxSatReverseAssumptionOrder_;
16243  }
16255  bitField2_ |= 0x00004000;
16256  maxSatReverseAssumptionOrder_ = value;
16257  onChanged();
16258  return this;
16259  }
16270  bitField2_ = (bitField2_ & ~0x00004000);
16271  maxSatReverseAssumptionOrder_ = false;
16272  onChanged();
16273  return this;
16274  }
16275 
16276  private int maxSatStratification_ = 1;
16281  @java.lang.Override public boolean hasMaxSatStratification() {
16282  return ((bitField2_ & 0x00008000) != 0);
16283  }
16288  @java.lang.Override
16290  @SuppressWarnings("deprecation")
16293  }
16300  if (value == null) {
16301  throw new NullPointerException();
16302  }
16303  bitField2_ |= 0x00008000;
16304  maxSatStratification_ = value.getNumber();
16305  onChanged();
16306  return this;
16307  }
16313  bitField2_ = (bitField2_ & ~0x00008000);
16314  maxSatStratification_ = 1;
16315  onChanged();
16316  return this;
16317  }
16318 
16319  private boolean usePrecedencesInDisjunctiveConstraint_ = true;
16335  @java.lang.Override
16337  return ((bitField2_ & 0x00010000) != 0);
16338  }
16354  @java.lang.Override
16356  return usePrecedencesInDisjunctiveConstraint_;
16357  }
16375  bitField2_ |= 0x00010000;
16376  usePrecedencesInDisjunctiveConstraint_ = value;
16377  onChanged();
16378  return this;
16379  }
16396  bitField2_ = (bitField2_ & ~0x00010000);
16397  usePrecedencesInDisjunctiveConstraint_ = true;
16398  onChanged();
16399  return this;
16400  }
16401 
16402  private boolean useOverloadCheckerInCumulativeConstraint_ ;
16416  @java.lang.Override
16418  return ((bitField2_ & 0x00020000) != 0);
16419  }
16433  @java.lang.Override
16435  return useOverloadCheckerInCumulativeConstraint_;
16436  }
16452  bitField2_ |= 0x00020000;
16453  useOverloadCheckerInCumulativeConstraint_ = value;
16454  onChanged();
16455  return this;
16456  }
16471  bitField2_ = (bitField2_ & ~0x00020000);
16472  useOverloadCheckerInCumulativeConstraint_ = false;
16473  onChanged();
16474  return this;
16475  }
16476 
16477  private boolean useTimetableEdgeFindingInCumulativeConstraint_ ;
16491  @java.lang.Override
16493  return ((bitField2_ & 0x00040000) != 0);
16494  }
16508  @java.lang.Override
16510  return useTimetableEdgeFindingInCumulativeConstraint_;
16511  }
16527  bitField2_ |= 0x00040000;
16528  useTimetableEdgeFindingInCumulativeConstraint_ = value;
16529  onChanged();
16530  return this;
16531  }
16546  bitField2_ = (bitField2_ & ~0x00040000);
16547  useTimetableEdgeFindingInCumulativeConstraint_ = false;
16548  onChanged();
16549  return this;
16550  }
16551 
16552  private boolean useDisjunctiveConstraintInCumulativeConstraint_ = true;
16568  @java.lang.Override
16570  return ((bitField2_ & 0x00080000) != 0);
16571  }
16587  @java.lang.Override
16589  return useDisjunctiveConstraintInCumulativeConstraint_;
16590  }
16608  bitField2_ |= 0x00080000;
16609  useDisjunctiveConstraintInCumulativeConstraint_ = value;
16610  onChanged();
16611  return this;
16612  }
16629  bitField2_ = (bitField2_ & ~0x00080000);
16630  useDisjunctiveConstraintInCumulativeConstraint_ = true;
16631  onChanged();
16632  return this;
16633  }
16634 
16635  private int linearizationLevel_ = 1;
16647  @java.lang.Override
16648  public boolean hasLinearizationLevel() {
16649  return ((bitField2_ & 0x00100000) != 0);
16650  }
16662  @java.lang.Override
16663  public int getLinearizationLevel() {
16664  return linearizationLevel_;
16665  }
16678  public Builder setLinearizationLevel(int value) {
16679  bitField2_ |= 0x00100000;
16680  linearizationLevel_ = value;
16681  onChanged();
16682  return this;
16683  }
16696  bitField2_ = (bitField2_ & ~0x00100000);
16697  linearizationLevel_ = 1;
16698  onChanged();
16699  return this;
16700  }
16701 
16702  private int booleanEncodingLevel_ = 1;
16712  @java.lang.Override
16713  public boolean hasBooleanEncodingLevel() {
16714  return ((bitField2_ & 0x00200000) != 0);
16715  }
16725  @java.lang.Override
16727  return booleanEncodingLevel_;
16728  }
16739  public Builder setBooleanEncodingLevel(int value) {
16740  bitField2_ |= 0x00200000;
16741  booleanEncodingLevel_ = value;
16742  onChanged();
16743  return this;
16744  }
16755  bitField2_ = (bitField2_ & ~0x00200000);
16756  booleanEncodingLevel_ = 1;
16757  onChanged();
16758  return this;
16759  }
16760 
16761  private int maxNumCuts_ = 10000;
16773  @java.lang.Override
16774  public boolean hasMaxNumCuts() {
16775  return ((bitField2_ & 0x00400000) != 0);
16776  }
16788  @java.lang.Override
16789  public int getMaxNumCuts() {
16790  return maxNumCuts_;
16791  }
16804  public Builder setMaxNumCuts(int value) {
16805  bitField2_ |= 0x00400000;
16806  maxNumCuts_ = value;
16807  onChanged();
16808  return this;
16809  }
16822  bitField2_ = (bitField2_ & ~0x00400000);
16823  maxNumCuts_ = 10000;
16824  onChanged();
16825  return this;
16826  }
16827 
16828  private boolean onlyAddCutsAtLevelZero_ ;
16838  @java.lang.Override
16839  public boolean hasOnlyAddCutsAtLevelZero() {
16840  return ((bitField2_ & 0x00800000) != 0);
16841  }
16851  @java.lang.Override
16852  public boolean getOnlyAddCutsAtLevelZero() {
16853  return onlyAddCutsAtLevelZero_;
16854  }
16865  public Builder setOnlyAddCutsAtLevelZero(boolean value) {
16866  bitField2_ |= 0x00800000;
16867  onlyAddCutsAtLevelZero_ = value;
16868  onChanged();
16869  return this;
16870  }
16881  bitField2_ = (bitField2_ & ~0x00800000);
16882  onlyAddCutsAtLevelZero_ = false;
16883  onChanged();
16884  return this;
16885  }
16886 
16887  private boolean addKnapsackCuts_ ;
16898  @java.lang.Override
16899  public boolean hasAddKnapsackCuts() {
16900  return ((bitField2_ & 0x01000000) != 0);
16901  }
16912  @java.lang.Override
16913  public boolean getAddKnapsackCuts() {
16914  return addKnapsackCuts_;
16915  }
16927  public Builder setAddKnapsackCuts(boolean value) {
16928  bitField2_ |= 0x01000000;
16929  addKnapsackCuts_ = value;
16930  onChanged();
16931  return this;
16932  }
16944  bitField2_ = (bitField2_ & ~0x01000000);
16945  addKnapsackCuts_ = false;
16946  onChanged();
16947  return this;
16948  }
16949 
16950  private boolean addCgCuts_ = true;
16960  @java.lang.Override
16961  public boolean hasAddCgCuts() {
16962  return ((bitField2_ & 0x02000000) != 0);
16963  }
16973  @java.lang.Override
16974  public boolean getAddCgCuts() {
16975  return addCgCuts_;
16976  }
16987  public Builder setAddCgCuts(boolean value) {
16988  bitField2_ |= 0x02000000;
16989  addCgCuts_ = value;
16990  onChanged();
16991  return this;
16992  }
17003  bitField2_ = (bitField2_ & ~0x02000000);
17004  addCgCuts_ = true;
17005  onChanged();
17006  return this;
17007  }
17008 
17009  private boolean addMirCuts_ = true;
17019  @java.lang.Override
17020  public boolean hasAddMirCuts() {
17021  return ((bitField2_ & 0x04000000) != 0);
17022  }
17032  @java.lang.Override
17033  public boolean getAddMirCuts() {
17034  return addMirCuts_;
17035  }
17046  public Builder setAddMirCuts(boolean value) {
17047  bitField2_ |= 0x04000000;
17048  addMirCuts_ = value;
17049  onChanged();
17050  return this;
17051  }
17062  bitField2_ = (bitField2_ & ~0x04000000);
17063  addMirCuts_ = true;
17064  onChanged();
17065  return this;
17066  }
17067 
17068  private boolean addZeroHalfCuts_ = true;
17078  @java.lang.Override
17079  public boolean hasAddZeroHalfCuts() {
17080  return ((bitField2_ & 0x08000000) != 0);
17081  }
17091  @java.lang.Override
17092  public boolean getAddZeroHalfCuts() {
17093  return addZeroHalfCuts_;
17094  }
17105  public Builder setAddZeroHalfCuts(boolean value) {
17106  bitField2_ |= 0x08000000;
17107  addZeroHalfCuts_ = value;
17108  onChanged();
17109  return this;
17110  }
17121  bitField2_ = (bitField2_ & ~0x08000000);
17122  addZeroHalfCuts_ = true;
17123  onChanged();
17124  return this;
17125  }
17126 
17127  private boolean addCliqueCuts_ = true;
17138  @java.lang.Override
17139  public boolean hasAddCliqueCuts() {
17140  return ((bitField2_ & 0x10000000) != 0);
17141  }
17152  @java.lang.Override
17153  public boolean getAddCliqueCuts() {
17154  return addCliqueCuts_;
17155  }
17167  public Builder setAddCliqueCuts(boolean value) {
17168  bitField2_ |= 0x10000000;
17169  addCliqueCuts_ = value;
17170  onChanged();
17171  return this;
17172  }
17184  bitField2_ = (bitField2_ & ~0x10000000);
17185  addCliqueCuts_ = true;
17186  onChanged();
17187  return this;
17188  }
17189 
17190  private int maxAllDiffCutSize_ = 7;
17201  @java.lang.Override
17202  public boolean hasMaxAllDiffCutSize() {
17203  return ((bitField2_ & 0x20000000) != 0);
17204  }
17215  @java.lang.Override
17216  public int getMaxAllDiffCutSize() {
17217  return maxAllDiffCutSize_;
17218  }
17230  public Builder setMaxAllDiffCutSize(int value) {
17231  bitField2_ |= 0x20000000;
17232  maxAllDiffCutSize_ = value;
17233  onChanged();
17234  return this;
17235  }
17247  bitField2_ = (bitField2_ & ~0x20000000);
17248  maxAllDiffCutSize_ = 7;
17249  onChanged();
17250  return this;
17251  }
17252 
17253  private boolean addLinMaxCuts_ = true;
17264  @java.lang.Override
17265  public boolean hasAddLinMaxCuts() {
17266  return ((bitField2_ & 0x40000000) != 0);
17267  }
17278  @java.lang.Override
17279  public boolean getAddLinMaxCuts() {
17280  return addLinMaxCuts_;
17281  }
17293  public Builder setAddLinMaxCuts(boolean value) {
17294  bitField2_ |= 0x40000000;
17295  addLinMaxCuts_ = value;
17296  onChanged();
17297  return this;
17298  }
17310  bitField2_ = (bitField2_ & ~0x40000000);
17311  addLinMaxCuts_ = true;
17312  onChanged();
17313  return this;
17314  }
17315 
17316  private int maxIntegerRoundingScaling_ = 600;
17331  @java.lang.Override
17332  public boolean hasMaxIntegerRoundingScaling() {
17333  return ((bitField2_ & 0x80000000) != 0);
17334  }
17349  @java.lang.Override
17351  return maxIntegerRoundingScaling_;
17352  }
17369  bitField2_ |= 0x80000000;
17370  maxIntegerRoundingScaling_ = value;
17371  onChanged();
17372  return this;
17373  }
17389  bitField2_ = (bitField2_ & ~0x80000000);
17390  maxIntegerRoundingScaling_ = 600;
17391  onChanged();
17392  return this;
17393  }
17394 
17395  private boolean addLpConstraintsLazily_ = true;
17407  @java.lang.Override
17408  public boolean hasAddLpConstraintsLazily() {
17409  return ((bitField3_ & 0x00000001) != 0);
17410  }
17422  @java.lang.Override
17423  public boolean getAddLpConstraintsLazily() {
17424  return addLpConstraintsLazily_;
17425  }
17438  public Builder setAddLpConstraintsLazily(boolean value) {
17439  bitField3_ |= 0x00000001;
17440  addLpConstraintsLazily_ = value;
17441  onChanged();
17442  return this;
17443  }
17456  bitField3_ = (bitField3_ & ~0x00000001);
17457  addLpConstraintsLazily_ = true;
17458  onChanged();
17459  return this;
17460  }
17461 
17462  private double minOrthogonalityForLpConstraints_ = 0.05D;
17475  @java.lang.Override
17477  return ((bitField3_ & 0x00000002) != 0);
17478  }
17491  @java.lang.Override
17493  return minOrthogonalityForLpConstraints_;
17494  }
17509  bitField3_ |= 0x00000002;
17510  minOrthogonalityForLpConstraints_ = value;
17511  onChanged();
17512  return this;
17513  }
17527  bitField3_ = (bitField3_ & ~0x00000002);
17528  minOrthogonalityForLpConstraints_ = 0.05D;
17529  onChanged();
17530  return this;
17531  }
17532 
17533  private int maxCutRoundsAtLevelZero_ = 1;
17542  @java.lang.Override
17543  public boolean hasMaxCutRoundsAtLevelZero() {
17544  return ((bitField3_ & 0x00000004) != 0);
17545  }
17554  @java.lang.Override
17556  return maxCutRoundsAtLevelZero_;
17557  }
17568  bitField3_ |= 0x00000004;
17569  maxCutRoundsAtLevelZero_ = value;
17570  onChanged();
17571  return this;
17572  }
17582  bitField3_ = (bitField3_ & ~0x00000004);
17583  maxCutRoundsAtLevelZero_ = 1;
17584  onChanged();
17585  return this;
17586  }
17587 
17588  private int maxConsecutiveInactiveCount_ = 100;
17599  @java.lang.Override
17601  return ((bitField3_ & 0x00000008) != 0);
17602  }
17613  @java.lang.Override
17615  return maxConsecutiveInactiveCount_;
17616  }
17629  bitField3_ |= 0x00000008;
17630  maxConsecutiveInactiveCount_ = value;
17631  onChanged();
17632  return this;
17633  }
17645  bitField3_ = (bitField3_ & ~0x00000008);
17646  maxConsecutiveInactiveCount_ = 100;
17647  onChanged();
17648  return this;
17649  }
17650 
17651  private double cutMaxActiveCountValue_ = 10000000000D;
17662  @java.lang.Override
17663  public boolean hasCutMaxActiveCountValue() {
17664  return ((bitField3_ & 0x00000010) != 0);
17665  }
17676  @java.lang.Override
17677  public double getCutMaxActiveCountValue() {
17678  return cutMaxActiveCountValue_;
17679  }
17691  public Builder setCutMaxActiveCountValue(double value) {
17692  bitField3_ |= 0x00000010;
17693  cutMaxActiveCountValue_ = value;
17694  onChanged();
17695  return this;
17696  }
17708  bitField3_ = (bitField3_ & ~0x00000010);
17709  cutMaxActiveCountValue_ = 10000000000D;
17710  onChanged();
17711  return this;
17712  }
17713 
17714  private double cutActiveCountDecay_ = 0.8D;
17719  @java.lang.Override
17720  public boolean hasCutActiveCountDecay() {
17721  return ((bitField3_ & 0x00000020) != 0);
17722  }
17727  @java.lang.Override
17728  public double getCutActiveCountDecay() {
17729  return cutActiveCountDecay_;
17730  }
17736  public Builder setCutActiveCountDecay(double value) {
17737  bitField3_ |= 0x00000020;
17738  cutActiveCountDecay_ = value;
17739  onChanged();
17740  return this;
17741  }
17747  bitField3_ = (bitField3_ & ~0x00000020);
17748  cutActiveCountDecay_ = 0.8D;
17749  onChanged();
17750  return this;
17751  }
17752 
17753  private int cutCleanupTarget_ = 1000;
17762  @java.lang.Override
17763  public boolean hasCutCleanupTarget() {
17764  return ((bitField3_ & 0x00000040) != 0);
17765  }
17774  @java.lang.Override
17775  public int getCutCleanupTarget() {
17776  return cutCleanupTarget_;
17777  }
17787  public Builder setCutCleanupTarget(int value) {
17788  bitField3_ |= 0x00000040;
17789  cutCleanupTarget_ = value;
17790  onChanged();
17791  return this;
17792  }
17802  bitField3_ = (bitField3_ & ~0x00000040);
17803  cutCleanupTarget_ = 1000;
17804  onChanged();
17805  return this;
17806  }
17807 
17808  private int newConstraintsBatchSize_ = 50;
17818  @java.lang.Override
17819  public boolean hasNewConstraintsBatchSize() {
17820  return ((bitField3_ & 0x00000080) != 0);
17821  }
17831  @java.lang.Override
17833  return newConstraintsBatchSize_;
17834  }
17846  bitField3_ |= 0x00000080;
17847  newConstraintsBatchSize_ = value;
17848  onChanged();
17849  return this;
17850  }
17861  bitField3_ = (bitField3_ & ~0x00000080);
17862  newConstraintsBatchSize_ = 50;
17863  onChanged();
17864  return this;
17865  }
17866 
17867  private int searchBranching_ = 0;
17872  @java.lang.Override public boolean hasSearchBranching() {
17873  return ((bitField3_ & 0x00000100) != 0);
17874  }
17879  @java.lang.Override
17881  @SuppressWarnings("deprecation")
17883  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
17884  }
17891  if (value == null) {
17892  throw new NullPointerException();
17893  }
17894  bitField3_ |= 0x00000100;
17895  searchBranching_ = value.getNumber();
17896  onChanged();
17897  return this;
17898  }
17904  bitField3_ = (bitField3_ & ~0x00000100);
17905  searchBranching_ = 0;
17906  onChanged();
17907  return this;
17908  }
17909 
17910  private int hintConflictLimit_ = 10;
17919  @java.lang.Override
17920  public boolean hasHintConflictLimit() {
17921  return ((bitField3_ & 0x00000200) != 0);
17922  }
17931  @java.lang.Override
17932  public int getHintConflictLimit() {
17933  return hintConflictLimit_;
17934  }
17944  public Builder setHintConflictLimit(int value) {
17945  bitField3_ |= 0x00000200;
17946  hintConflictLimit_ = value;
17947  onChanged();
17948  return this;
17949  }
17959  bitField3_ = (bitField3_ & ~0x00000200);
17960  hintConflictLimit_ = 10;
17961  onChanged();
17962  return this;
17963  }
17964 
17965  private boolean repairHint_ ;
17977  @java.lang.Override
17978  public boolean hasRepairHint() {
17979  return ((bitField3_ & 0x00000400) != 0);
17980  }
17992  @java.lang.Override
17993  public boolean getRepairHint() {
17994  return repairHint_;
17995  }
18008  public Builder setRepairHint(boolean value) {
18009  bitField3_ |= 0x00000400;
18010  repairHint_ = value;
18011  onChanged();
18012  return this;
18013  }
18026  bitField3_ = (bitField3_ & ~0x00000400);
18027  repairHint_ = false;
18028  onChanged();
18029  return this;
18030  }
18031 
18032  private boolean exploitIntegerLpSolution_ = true;
18044  @java.lang.Override
18045  public boolean hasExploitIntegerLpSolution() {
18046  return ((bitField3_ & 0x00000800) != 0);
18047  }
18059  @java.lang.Override
18060  public boolean getExploitIntegerLpSolution() {
18061  return exploitIntegerLpSolution_;
18062  }
18075  public Builder setExploitIntegerLpSolution(boolean value) {
18076  bitField3_ |= 0x00000800;
18077  exploitIntegerLpSolution_ = value;
18078  onChanged();
18079  return this;
18080  }
18093  bitField3_ = (bitField3_ & ~0x00000800);
18094  exploitIntegerLpSolution_ = true;
18095  onChanged();
18096  return this;
18097  }
18098 
18099  private boolean exploitAllLpSolution_ = true;
18110  @java.lang.Override
18111  public boolean hasExploitAllLpSolution() {
18112  return ((bitField3_ & 0x00001000) != 0);
18113  }
18124  @java.lang.Override
18125  public boolean getExploitAllLpSolution() {
18126  return exploitAllLpSolution_;
18127  }
18139  public Builder setExploitAllLpSolution(boolean value) {
18140  bitField3_ |= 0x00001000;
18141  exploitAllLpSolution_ = value;
18142  onChanged();
18143  return this;
18144  }
18156  bitField3_ = (bitField3_ & ~0x00001000);
18157  exploitAllLpSolution_ = true;
18158  onChanged();
18159  return this;
18160  }
18161 
18162  private boolean exploitBestSolution_ ;
18171  @java.lang.Override
18172  public boolean hasExploitBestSolution() {
18173  return ((bitField3_ & 0x00002000) != 0);
18174  }
18183  @java.lang.Override
18184  public boolean getExploitBestSolution() {
18185  return exploitBestSolution_;
18186  }
18196  public Builder setExploitBestSolution(boolean value) {
18197  bitField3_ |= 0x00002000;
18198  exploitBestSolution_ = value;
18199  onChanged();
18200  return this;
18201  }
18211  bitField3_ = (bitField3_ & ~0x00002000);
18212  exploitBestSolution_ = false;
18213  onChanged();
18214  return this;
18215  }
18216 
18217  private boolean exploitRelaxationSolution_ ;
18228  @java.lang.Override
18229  public boolean hasExploitRelaxationSolution() {
18230  return ((bitField3_ & 0x00004000) != 0);
18231  }
18242  @java.lang.Override
18243  public boolean getExploitRelaxationSolution() {
18244  return exploitRelaxationSolution_;
18245  }
18257  public Builder setExploitRelaxationSolution(boolean value) {
18258  bitField3_ |= 0x00004000;
18259  exploitRelaxationSolution_ = value;
18260  onChanged();
18261  return this;
18262  }
18274  bitField3_ = (bitField3_ & ~0x00004000);
18275  exploitRelaxationSolution_ = false;
18276  onChanged();
18277  return this;
18278  }
18279 
18280  private boolean exploitObjective_ = true;
18290  @java.lang.Override
18291  public boolean hasExploitObjective() {
18292  return ((bitField3_ & 0x00008000) != 0);
18293  }
18303  @java.lang.Override
18304  public boolean getExploitObjective() {
18305  return exploitObjective_;
18306  }
18317  public Builder setExploitObjective(boolean value) {
18318  bitField3_ |= 0x00008000;
18319  exploitObjective_ = value;
18320  onChanged();
18321  return this;
18322  }
18333  bitField3_ = (bitField3_ & ~0x00008000);
18334  exploitObjective_ = true;
18335  onChanged();
18336  return this;
18337  }
18338 
18339  private long probingPeriodAtRoot_ ;
18350  @java.lang.Override
18351  public boolean hasProbingPeriodAtRoot() {
18352  return ((bitField3_ & 0x00010000) != 0);
18353  }
18364  @java.lang.Override
18365  public long getProbingPeriodAtRoot() {
18366  return probingPeriodAtRoot_;
18367  }
18379  public Builder setProbingPeriodAtRoot(long value) {
18380  bitField3_ |= 0x00010000;
18381  probingPeriodAtRoot_ = value;
18382  onChanged();
18383  return this;
18384  }
18396  bitField3_ = (bitField3_ & ~0x00010000);
18397  probingPeriodAtRoot_ = 0L;
18398  onChanged();
18399  return this;
18400  }
18401 
18402  private long pseudoCostReliabilityThreshold_ = 100L;
18412  @java.lang.Override
18414  return ((bitField3_ & 0x00020000) != 0);
18415  }
18425  @java.lang.Override
18427  return pseudoCostReliabilityThreshold_;
18428  }
18440  bitField3_ |= 0x00020000;
18441  pseudoCostReliabilityThreshold_ = value;
18442  onChanged();
18443  return this;
18444  }
18455  bitField3_ = (bitField3_ & ~0x00020000);
18456  pseudoCostReliabilityThreshold_ = 100L;
18457  onChanged();
18458  return this;
18459  }
18460 
18461  private boolean optimizeWithCore_ ;
18473  @java.lang.Override
18474  public boolean hasOptimizeWithCore() {
18475  return ((bitField3_ & 0x00040000) != 0);
18476  }
18488  @java.lang.Override
18489  public boolean getOptimizeWithCore() {
18490  return optimizeWithCore_;
18491  }
18504  public Builder setOptimizeWithCore(boolean value) {
18505  bitField3_ |= 0x00040000;
18506  optimizeWithCore_ = value;
18507  onChanged();
18508  return this;
18509  }
18522  bitField3_ = (bitField3_ & ~0x00040000);
18523  optimizeWithCore_ = false;
18524  onChanged();
18525  return this;
18526  }
18527 
18528  private int binarySearchNumConflicts_ = -1;
18540  @java.lang.Override
18541  public boolean hasBinarySearchNumConflicts() {
18542  return ((bitField3_ & 0x00080000) != 0);
18543  }
18555  @java.lang.Override
18557  return binarySearchNumConflicts_;
18558  }
18572  bitField3_ |= 0x00080000;
18573  binarySearchNumConflicts_ = value;
18574  onChanged();
18575  return this;
18576  }
18589  bitField3_ = (bitField3_ & ~0x00080000);
18590  binarySearchNumConflicts_ = -1;
18591  onChanged();
18592  return this;
18593  }
18594 
18595  private boolean optimizeWithMaxHs_ ;
18609  @java.lang.Override
18610  public boolean hasOptimizeWithMaxHs() {
18611  return ((bitField3_ & 0x00100000) != 0);
18612  }
18626  @java.lang.Override
18627  public boolean getOptimizeWithMaxHs() {
18628  return optimizeWithMaxHs_;
18629  }
18644  public Builder setOptimizeWithMaxHs(boolean value) {
18645  bitField3_ |= 0x00100000;
18646  optimizeWithMaxHs_ = value;
18647  onChanged();
18648  return this;
18649  }
18664  bitField3_ = (bitField3_ & ~0x00100000);
18665  optimizeWithMaxHs_ = false;
18666  onChanged();
18667  return this;
18668  }
18669 
18670  private boolean enumerateAllSolutions_ ;
18684  @java.lang.Override
18685  public boolean hasEnumerateAllSolutions() {
18686  return ((bitField3_ & 0x00200000) != 0);
18687  }
18701  @java.lang.Override
18702  public boolean getEnumerateAllSolutions() {
18703  return enumerateAllSolutions_;
18704  }
18719  public Builder setEnumerateAllSolutions(boolean value) {
18720  bitField3_ |= 0x00200000;
18721  enumerateAllSolutions_ = value;
18722  onChanged();
18723  return this;
18724  }
18739  bitField3_ = (bitField3_ & ~0x00200000);
18740  enumerateAllSolutions_ = false;
18741  onChanged();
18742  return this;
18743  }
18744 
18745  private boolean keepAllFeasibleSolutionsInPresolve_ ;
18760  @java.lang.Override
18762  return ((bitField3_ & 0x00400000) != 0);
18763  }
18778  @java.lang.Override
18780  return keepAllFeasibleSolutionsInPresolve_;
18781  }
18798  bitField3_ |= 0x00400000;
18799  keepAllFeasibleSolutionsInPresolve_ = value;
18800  onChanged();
18801  return this;
18802  }
18818  bitField3_ = (bitField3_ & ~0x00400000);
18819  keepAllFeasibleSolutionsInPresolve_ = false;
18820  onChanged();
18821  return this;
18822  }
18823 
18824  private boolean fillTightenedDomainsInResponse_ ;
18837  @java.lang.Override
18839  return ((bitField3_ & 0x00800000) != 0);
18840  }
18853  @java.lang.Override
18855  return fillTightenedDomainsInResponse_;
18856  }
18871  bitField3_ |= 0x00800000;
18872  fillTightenedDomainsInResponse_ = value;
18873  onChanged();
18874  return this;
18875  }
18889  bitField3_ = (bitField3_ & ~0x00800000);
18890  fillTightenedDomainsInResponse_ = false;
18891  onChanged();
18892  return this;
18893  }
18894 
18895  private boolean instantiateAllVariables_ = true;
18905  @java.lang.Override
18906  public boolean hasInstantiateAllVariables() {
18907  return ((bitField3_ & 0x01000000) != 0);
18908  }
18918  @java.lang.Override
18919  public boolean getInstantiateAllVariables() {
18920  return instantiateAllVariables_;
18921  }
18932  public Builder setInstantiateAllVariables(boolean value) {
18933  bitField3_ |= 0x01000000;
18934  instantiateAllVariables_ = value;
18935  onChanged();
18936  return this;
18937  }
18948  bitField3_ = (bitField3_ & ~0x01000000);
18949  instantiateAllVariables_ = true;
18950  onChanged();
18951  return this;
18952  }
18953 
18954  private boolean autoDetectGreaterThanAtLeastOneOf_ = true;
18966  @java.lang.Override
18968  return ((bitField3_ & 0x02000000) != 0);
18969  }
18981  @java.lang.Override
18983  return autoDetectGreaterThanAtLeastOneOf_;
18984  }
18998  bitField3_ |= 0x02000000;
18999  autoDetectGreaterThanAtLeastOneOf_ = value;
19000  onChanged();
19001  return this;
19002  }
19015  bitField3_ = (bitField3_ & ~0x02000000);
19016  autoDetectGreaterThanAtLeastOneOf_ = true;
19017  onChanged();
19018  return this;
19019  }
19020 
19021  private boolean stopAfterFirstSolution_ ;
19030  @java.lang.Override
19031  public boolean hasStopAfterFirstSolution() {
19032  return ((bitField3_ & 0x04000000) != 0);
19033  }
19042  @java.lang.Override
19043  public boolean getStopAfterFirstSolution() {
19044  return stopAfterFirstSolution_;
19045  }
19055  public Builder setStopAfterFirstSolution(boolean value) {
19056  bitField3_ |= 0x04000000;
19057  stopAfterFirstSolution_ = value;
19058  onChanged();
19059  return this;
19060  }
19070  bitField3_ = (bitField3_ & ~0x04000000);
19071  stopAfterFirstSolution_ = false;
19072  onChanged();
19073  return this;
19074  }
19075 
19076  private boolean stopAfterPresolve_ ;
19086  @java.lang.Override
19087  public boolean hasStopAfterPresolve() {
19088  return ((bitField3_ & 0x08000000) != 0);
19089  }
19099  @java.lang.Override
19100  public boolean getStopAfterPresolve() {
19101  return stopAfterPresolve_;
19102  }
19113  public Builder setStopAfterPresolve(boolean value) {
19114  bitField3_ |= 0x08000000;
19115  stopAfterPresolve_ = value;
19116  onChanged();
19117  return this;
19118  }
19129  bitField3_ = (bitField3_ & ~0x08000000);
19130  stopAfterPresolve_ = false;
19131  onChanged();
19132  return this;
19133  }
19134 
19135  private int numSearchWorkers_ = 1;
19149  @java.lang.Override
19150  public boolean hasNumSearchWorkers() {
19151  return ((bitField3_ & 0x10000000) != 0);
19152  }
19166  @java.lang.Override
19167  public int getNumSearchWorkers() {
19168  return numSearchWorkers_;
19169  }
19184  public Builder setNumSearchWorkers(int value) {
19185  bitField3_ |= 0x10000000;
19186  numSearchWorkers_ = value;
19187  onChanged();
19188  return this;
19189  }
19204  bitField3_ = (bitField3_ & ~0x10000000);
19205  numSearchWorkers_ = 1;
19206  onChanged();
19207  return this;
19208  }
19209 
19210  private boolean interleaveSearch_ ;
19223  @java.lang.Override
19224  public boolean hasInterleaveSearch() {
19225  return ((bitField3_ & 0x20000000) != 0);
19226  }
19239  @java.lang.Override
19240  public boolean getInterleaveSearch() {
19241  return interleaveSearch_;
19242  }
19256  public Builder setInterleaveSearch(boolean value) {
19257  bitField3_ |= 0x20000000;
19258  interleaveSearch_ = value;
19259  onChanged();
19260  return this;
19261  }
19275  bitField3_ = (bitField3_ & ~0x20000000);
19276  interleaveSearch_ = false;
19277  onChanged();
19278  return this;
19279  }
19280 
19281  private int interleaveBatchSize_ = 1;
19286  @java.lang.Override
19287  public boolean hasInterleaveBatchSize() {
19288  return ((bitField3_ & 0x40000000) != 0);
19289  }
19294  @java.lang.Override
19295  public int getInterleaveBatchSize() {
19296  return interleaveBatchSize_;
19297  }
19303  public Builder setInterleaveBatchSize(int value) {
19304  bitField3_ |= 0x40000000;
19305  interleaveBatchSize_ = value;
19306  onChanged();
19307  return this;
19308  }
19314  bitField3_ = (bitField3_ & ~0x40000000);
19315  interleaveBatchSize_ = 1;
19316  onChanged();
19317  return this;
19318  }
19319 
19320  private boolean reduceMemoryUsageInInterleaveMode_ ;
19329  @java.lang.Override
19331  return ((bitField3_ & 0x80000000) != 0);
19332  }
19341  @java.lang.Override
19343  return reduceMemoryUsageInInterleaveMode_;
19344  }
19355  bitField3_ |= 0x80000000;
19356  reduceMemoryUsageInInterleaveMode_ = value;
19357  onChanged();
19358  return this;
19359  }
19369  bitField3_ = (bitField3_ & ~0x80000000);
19370  reduceMemoryUsageInInterleaveMode_ = false;
19371  onChanged();
19372  return this;
19373  }
19374 
19375  private boolean shareObjectiveBounds_ = true;
19384  @java.lang.Override
19385  public boolean hasShareObjectiveBounds() {
19386  return ((bitField4_ & 0x00000001) != 0);
19387  }
19396  @java.lang.Override
19397  public boolean getShareObjectiveBounds() {
19398  return shareObjectiveBounds_;
19399  }
19409  public Builder setShareObjectiveBounds(boolean value) {
19410  bitField4_ |= 0x00000001;
19411  shareObjectiveBounds_ = value;
19412  onChanged();
19413  return this;
19414  }
19424  bitField4_ = (bitField4_ & ~0x00000001);
19425  shareObjectiveBounds_ = true;
19426  onChanged();
19427  return this;
19428  }
19429 
19430  private boolean shareLevelZeroBounds_ = true;
19439  @java.lang.Override
19440  public boolean hasShareLevelZeroBounds() {
19441  return ((bitField4_ & 0x00000002) != 0);
19442  }
19451  @java.lang.Override
19452  public boolean getShareLevelZeroBounds() {
19453  return shareLevelZeroBounds_;
19454  }
19464  public Builder setShareLevelZeroBounds(boolean value) {
19465  bitField4_ |= 0x00000002;
19466  shareLevelZeroBounds_ = value;
19467  onChanged();
19468  return this;
19469  }
19479  bitField4_ = (bitField4_ & ~0x00000002);
19480  shareLevelZeroBounds_ = true;
19481  onChanged();
19482  return this;
19483  }
19484 
19485  private boolean useLnsOnly_ ;
19494  @java.lang.Override
19495  public boolean hasUseLnsOnly() {
19496  return ((bitField4_ & 0x00000004) != 0);
19497  }
19506  @java.lang.Override
19507  public boolean getUseLnsOnly() {
19508  return useLnsOnly_;
19509  }
19519  public Builder setUseLnsOnly(boolean value) {
19520  bitField4_ |= 0x00000004;
19521  useLnsOnly_ = value;
19522  onChanged();
19523  return this;
19524  }
19534  bitField4_ = (bitField4_ & ~0x00000004);
19535  useLnsOnly_ = false;
19536  onChanged();
19537  return this;
19538  }
19539 
19540  private boolean lnsFocusOnDecisionVariables_ ;
19545  @java.lang.Override
19547  return ((bitField4_ & 0x00000008) != 0);
19548  }
19553  @java.lang.Override
19555  return lnsFocusOnDecisionVariables_;
19556  }
19562  public Builder setLnsFocusOnDecisionVariables(boolean value) {
19563  bitField4_ |= 0x00000008;
19564  lnsFocusOnDecisionVariables_ = value;
19565  onChanged();
19566  return this;
19567  }
19573  bitField4_ = (bitField4_ & ~0x00000008);
19574  lnsFocusOnDecisionVariables_ = false;
19575  onChanged();
19576  return this;
19577  }
19578 
19579  private boolean useRinsLns_ = true;
19588  @java.lang.Override
19589  public boolean hasUseRinsLns() {
19590  return ((bitField4_ & 0x00000010) != 0);
19591  }
19600  @java.lang.Override
19601  public boolean getUseRinsLns() {
19602  return useRinsLns_;
19603  }
19613  public Builder setUseRinsLns(boolean value) {
19614  bitField4_ |= 0x00000010;
19615  useRinsLns_ = value;
19616  onChanged();
19617  return this;
19618  }
19628  bitField4_ = (bitField4_ & ~0x00000010);
19629  useRinsLns_ = true;
19630  onChanged();
19631  return this;
19632  }
19633 
19634  private boolean useFeasibilityPump_ = true;
19643  @java.lang.Override
19644  public boolean hasUseFeasibilityPump() {
19645  return ((bitField4_ & 0x00000020) != 0);
19646  }
19655  @java.lang.Override
19656  public boolean getUseFeasibilityPump() {
19657  return useFeasibilityPump_;
19658  }
19668  public Builder setUseFeasibilityPump(boolean value) {
19669  bitField4_ |= 0x00000020;
19670  useFeasibilityPump_ = value;
19671  onChanged();
19672  return this;
19673  }
19683  bitField4_ = (bitField4_ & ~0x00000020);
19684  useFeasibilityPump_ = true;
19685  onChanged();
19686  return this;
19687  }
19688 
19689  private int fpRounding_ = 2;
19694  @java.lang.Override public boolean hasFpRounding() {
19695  return ((bitField4_ & 0x00000040) != 0);
19696  }
19701  @java.lang.Override
19703  @SuppressWarnings("deprecation")
19705  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
19706  }
19713  if (value == null) {
19714  throw new NullPointerException();
19715  }
19716  bitField4_ |= 0x00000040;
19717  fpRounding_ = value.getNumber();
19718  onChanged();
19719  return this;
19720  }
19726  bitField4_ = (bitField4_ & ~0x00000040);
19727  fpRounding_ = 2;
19728  onChanged();
19729  return this;
19730  }
19731 
19732  private boolean useRelaxationLns_ ;
19742  @java.lang.Override
19743  public boolean hasUseRelaxationLns() {
19744  return ((bitField4_ & 0x00000080) != 0);
19745  }
19755  @java.lang.Override
19756  public boolean getUseRelaxationLns() {
19757  return useRelaxationLns_;
19758  }
19769  public Builder setUseRelaxationLns(boolean value) {
19770  bitField4_ |= 0x00000080;
19771  useRelaxationLns_ = value;
19772  onChanged();
19773  return this;
19774  }
19785  bitField4_ = (bitField4_ & ~0x00000080);
19786  useRelaxationLns_ = false;
19787  onChanged();
19788  return this;
19789  }
19790 
19791  private boolean diversifyLnsParams_ ;
19800  @java.lang.Override
19801  public boolean hasDiversifyLnsParams() {
19802  return ((bitField4_ & 0x00000100) != 0);
19803  }
19812  @java.lang.Override
19813  public boolean getDiversifyLnsParams() {
19814  return diversifyLnsParams_;
19815  }
19825  public Builder setDiversifyLnsParams(boolean value) {
19826  bitField4_ |= 0x00000100;
19827  diversifyLnsParams_ = value;
19828  onChanged();
19829  return this;
19830  }
19840  bitField4_ = (bitField4_ & ~0x00000100);
19841  diversifyLnsParams_ = false;
19842  onChanged();
19843  return this;
19844  }
19845 
19846  private boolean randomizeSearch_ ;
19855  @java.lang.Override
19856  public boolean hasRandomizeSearch() {
19857  return ((bitField4_ & 0x00000200) != 0);
19858  }
19867  @java.lang.Override
19868  public boolean getRandomizeSearch() {
19869  return randomizeSearch_;
19870  }
19880  public Builder setRandomizeSearch(boolean value) {
19881  bitField4_ |= 0x00000200;
19882  randomizeSearch_ = value;
19883  onChanged();
19884  return this;
19885  }
19895  bitField4_ = (bitField4_ & ~0x00000200);
19896  randomizeSearch_ = false;
19897  onChanged();
19898  return this;
19899  }
19900 
19901  private long searchRandomizationTolerance_ ;
19916  @java.lang.Override
19918  return ((bitField4_ & 0x00000400) != 0);
19919  }
19934  @java.lang.Override
19936  return searchRandomizationTolerance_;
19937  }
19954  bitField4_ |= 0x00000400;
19955  searchRandomizationTolerance_ = value;
19956  onChanged();
19957  return this;
19958  }
19974  bitField4_ = (bitField4_ & ~0x00000400);
19975  searchRandomizationTolerance_ = 0L;
19976  onChanged();
19977  return this;
19978  }
19979 
19980  private boolean useOptionalVariables_ = true;
19991  @java.lang.Override
19992  public boolean hasUseOptionalVariables() {
19993  return ((bitField4_ & 0x00000800) != 0);
19994  }
20005  @java.lang.Override
20006  public boolean getUseOptionalVariables() {
20007  return useOptionalVariables_;
20008  }
20020  public Builder setUseOptionalVariables(boolean value) {
20021  bitField4_ |= 0x00000800;
20022  useOptionalVariables_ = value;
20023  onChanged();
20024  return this;
20025  }
20037  bitField4_ = (bitField4_ & ~0x00000800);
20038  useOptionalVariables_ = true;
20039  onChanged();
20040  return this;
20041  }
20042 
20043  private boolean useExactLpReason_ = true;
20055  @java.lang.Override
20056  public boolean hasUseExactLpReason() {
20057  return ((bitField4_ & 0x00001000) != 0);
20058  }
20070  @java.lang.Override
20071  public boolean getUseExactLpReason() {
20072  return useExactLpReason_;
20073  }
20086  public Builder setUseExactLpReason(boolean value) {
20087  bitField4_ |= 0x00001000;
20088  useExactLpReason_ = value;
20089  onChanged();
20090  return this;
20091  }
20104  bitField4_ = (bitField4_ & ~0x00001000);
20105  useExactLpReason_ = true;
20106  onChanged();
20107  return this;
20108  }
20109 
20110  private boolean useBranchingInLp_ ;
20121  @java.lang.Override
20122  public boolean hasUseBranchingInLp() {
20123  return ((bitField4_ & 0x00002000) != 0);
20124  }
20135  @java.lang.Override
20136  public boolean getUseBranchingInLp() {
20137  return useBranchingInLp_;
20138  }
20150  public Builder setUseBranchingInLp(boolean value) {
20151  bitField4_ |= 0x00002000;
20152  useBranchingInLp_ = value;
20153  onChanged();
20154  return this;
20155  }
20167  bitField4_ = (bitField4_ & ~0x00002000);
20168  useBranchingInLp_ = false;
20169  onChanged();
20170  return this;
20171  }
20172 
20173  private boolean useCombinedNoOverlap_ ;
20184  @java.lang.Override
20185  public boolean hasUseCombinedNoOverlap() {
20186  return ((bitField4_ & 0x00004000) != 0);
20187  }
20198  @java.lang.Override
20199  public boolean getUseCombinedNoOverlap() {
20200  return useCombinedNoOverlap_;
20201  }
20213  public Builder setUseCombinedNoOverlap(boolean value) {
20214  bitField4_ |= 0x00004000;
20215  useCombinedNoOverlap_ = value;
20216  onChanged();
20217  return this;
20218  }
20230  bitField4_ = (bitField4_ & ~0x00004000);
20231  useCombinedNoOverlap_ = false;
20232  onChanged();
20233  return this;
20234  }
20235 
20236  private boolean catchSigintSignal_ = true;
20247  @java.lang.Override
20248  public boolean hasCatchSigintSignal() {
20249  return ((bitField4_ & 0x00008000) != 0);
20250  }
20261  @java.lang.Override
20262  public boolean getCatchSigintSignal() {
20263  return catchSigintSignal_;
20264  }
20276  public Builder setCatchSigintSignal(boolean value) {
20277  bitField4_ |= 0x00008000;
20278  catchSigintSignal_ = value;
20279  onChanged();
20280  return this;
20281  }
20293  bitField4_ = (bitField4_ & ~0x00008000);
20294  catchSigintSignal_ = true;
20295  onChanged();
20296  return this;
20297  }
20298 
20299  private boolean useImpliedBounds_ = true;
20310  @java.lang.Override
20311  public boolean hasUseImpliedBounds() {
20312  return ((bitField4_ & 0x00010000) != 0);
20313  }
20324  @java.lang.Override
20325  public boolean getUseImpliedBounds() {
20326  return useImpliedBounds_;
20327  }
20339  public Builder setUseImpliedBounds(boolean value) {
20340  bitField4_ |= 0x00010000;
20341  useImpliedBounds_ = value;
20342  onChanged();
20343  return this;
20344  }
20356  bitField4_ = (bitField4_ & ~0x00010000);
20357  useImpliedBounds_ = true;
20358  onChanged();
20359  return this;
20360  }
20361 
20362  private boolean polishLpSolution_ ;
20374  @java.lang.Override
20375  public boolean hasPolishLpSolution() {
20376  return ((bitField4_ & 0x00020000) != 0);
20377  }
20389  @java.lang.Override
20390  public boolean getPolishLpSolution() {
20391  return polishLpSolution_;
20392  }
20405  public Builder setPolishLpSolution(boolean value) {
20406  bitField4_ |= 0x00020000;
20407  polishLpSolution_ = value;
20408  onChanged();
20409  return this;
20410  }
20423  bitField4_ = (bitField4_ & ~0x00020000);
20424  polishLpSolution_ = false;
20425  onChanged();
20426  return this;
20427  }
20428 
20429  private double mipMaxBound_ = 10000000D;
20440  @java.lang.Override
20441  public boolean hasMipMaxBound() {
20442  return ((bitField4_ & 0x00040000) != 0);
20443  }
20454  @java.lang.Override
20455  public double getMipMaxBound() {
20456  return mipMaxBound_;
20457  }
20469  public Builder setMipMaxBound(double value) {
20470  bitField4_ |= 0x00040000;
20471  mipMaxBound_ = value;
20472  onChanged();
20473  return this;
20474  }
20486  bitField4_ = (bitField4_ & ~0x00040000);
20487  mipMaxBound_ = 10000000D;
20488  onChanged();
20489  return this;
20490  }
20491 
20492  private double mipVarScaling_ = 1D;
20503  @java.lang.Override
20504  public boolean hasMipVarScaling() {
20505  return ((bitField4_ & 0x00080000) != 0);
20506  }
20517  @java.lang.Override
20518  public double getMipVarScaling() {
20519  return mipVarScaling_;
20520  }
20532  public Builder setMipVarScaling(double value) {
20533  bitField4_ |= 0x00080000;
20534  mipVarScaling_ = value;
20535  onChanged();
20536  return this;
20537  }
20549  bitField4_ = (bitField4_ & ~0x00080000);
20550  mipVarScaling_ = 1D;
20551  onChanged();
20552  return this;
20553  }
20554 
20555  private boolean mipAutomaticallyScaleVariables_ = true;
20568  @java.lang.Override
20570  return ((bitField4_ & 0x00100000) != 0);
20571  }
20584  @java.lang.Override
20586  return mipAutomaticallyScaleVariables_;
20587  }
20602  bitField4_ |= 0x00100000;
20603  mipAutomaticallyScaleVariables_ = value;
20604  onChanged();
20605  return this;
20606  }
20620  bitField4_ = (bitField4_ & ~0x00100000);
20621  mipAutomaticallyScaleVariables_ = true;
20622  onChanged();
20623  return this;
20624  }
20625 
20626  private double mipWantedPrecision_ = 1e-06D;
20644  @java.lang.Override
20645  public boolean hasMipWantedPrecision() {
20646  return ((bitField4_ & 0x00200000) != 0);
20647  }
20665  @java.lang.Override
20666  public double getMipWantedPrecision() {
20667  return mipWantedPrecision_;
20668  }
20687  public Builder setMipWantedPrecision(double value) {
20688  bitField4_ |= 0x00200000;
20689  mipWantedPrecision_ = value;
20690  onChanged();
20691  return this;
20692  }
20711  bitField4_ = (bitField4_ & ~0x00200000);
20712  mipWantedPrecision_ = 1e-06D;
20713  onChanged();
20714  return this;
20715  }
20716 
20717  private int mipMaxActivityExponent_ = 53;
20732  @java.lang.Override
20733  public boolean hasMipMaxActivityExponent() {
20734  return ((bitField4_ & 0x00400000) != 0);
20735  }
20750  @java.lang.Override
20752  return mipMaxActivityExponent_;
20753  }
20770  bitField4_ |= 0x00400000;
20771  mipMaxActivityExponent_ = value;
20772  onChanged();
20773  return this;
20774  }
20790  bitField4_ = (bitField4_ & ~0x00400000);
20791  mipMaxActivityExponent_ = 53;
20792  onChanged();
20793  return this;
20794  }
20795 
20796  private double mipCheckPrecision_ = 0.0001D;
20807  @java.lang.Override
20808  public boolean hasMipCheckPrecision() {
20809  return ((bitField4_ & 0x00800000) != 0);
20810  }
20821  @java.lang.Override
20822  public double getMipCheckPrecision() {
20823  return mipCheckPrecision_;
20824  }
20836  public Builder setMipCheckPrecision(double value) {
20837  bitField4_ |= 0x00800000;
20838  mipCheckPrecision_ = value;
20839  onChanged();
20840  return this;
20841  }
20853  bitField4_ = (bitField4_ & ~0x00800000);
20854  mipCheckPrecision_ = 0.0001D;
20855  onChanged();
20856  return this;
20857  }
20858  @java.lang.Override
20860  final com.google.protobuf.UnknownFieldSet unknownFields) {
20861  return super.setUnknownFields(unknownFields);
20862  }
20863 
20864  @java.lang.Override
20866  final com.google.protobuf.UnknownFieldSet unknownFields) {
20867  return super.mergeUnknownFields(unknownFields);
20868  }
20869 
20870 
20871  // @@protoc_insertion_point(builder_scope:operations_research.sat.SatParameters)
20872  }
20873 
20874  // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
20875  private static final com.google.ortools.sat.SatParameters DEFAULT_INSTANCE;
20876  static {
20877  DEFAULT_INSTANCE = new com.google.ortools.sat.SatParameters();
20878  }
20879 
20881  return DEFAULT_INSTANCE;
20882  }
20883 
20884  @java.lang.Deprecated public static final com.google.protobuf.Parser<SatParameters>
20885  PARSER = new com.google.protobuf.AbstractParser<SatParameters>() {
20886  @java.lang.Override
20887  public SatParameters parsePartialFrom(
20888  com.google.protobuf.CodedInputStream input,
20889  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
20890  throws com.google.protobuf.InvalidProtocolBufferException {
20891  return new SatParameters(input, extensionRegistry);
20892  }
20893  };
20894 
20895  public static com.google.protobuf.Parser<SatParameters> parser() {
20896  return PARSER;
20897  }
20898 
20899  @java.lang.Override
20900  public com.google.protobuf.Parser<SatParameters> getParserForType() {
20901  return PARSER;
20902  }
20903 
20904  @java.lang.Override
20906  return DEFAULT_INSTANCE;
20907  }
20908 
20909 }
20910 
static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER
static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER
static final int REDUCE_MEMORY_USAGE_IN_INTERLEAVE_MODE_FIELD_NUMBER
.lang.Override final boolean isInitialized()
.lang.Override double getRandomPolarityRatio()
Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value)
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean hasCatchSigintSignal()
static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER
.lang.Override boolean getShareObjectiveBounds()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override boolean getMinimizeReductionDuringPbResolution()
static final int USE_RINS_LNS_FIELD_NUMBER
static ClauseProtection forNumber(int value)
.lang.Override boolean getMinimizeReductionDuringPbResolution()
Builder setMaxMemoryInMb(long value)
.lang.Override boolean hasUseImpliedBounds()
.lang.Override boolean hasExploitAllLpSolution()
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean hasAddCgCuts()
java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER
Builder setCutMaxActiveCountValue(double value)
.lang.Override int getMipMaxActivityExponent()
Builder setUsePhaseSaving(boolean value)
.lang.Override boolean getRepairHint()
.lang.Override boolean getInterleaveSearch()
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
NO_BINARY_MINIMIZATION
NO_BINARY_MINIMIZATION = 0;
.lang.Override int getPresolveBveClauseWeight()
Builder clearExpandAutomatonConstraints()
static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER
Builder clearMinOrthogonalityForLpConstraints()
.lang.Override boolean getUseLnsOnly()
final int getNumber()
.lang.Override boolean getCountAssumptionLevelsInLbd()
.lang.Override boolean hasRandomizeSearch()
static BinaryMinizationAlgorithm forNumber(int value)
Builder setDiversifyLnsParams(boolean value)
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
.lang.Override boolean hasOptimizeWithMaxHs()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder clearClauseCleanupTarget()
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override boolean getPolishLpSolution()
.lang.Override boolean hasDiversifyLnsParams()
Builder clearAddCgCuts()
.lang.Override boolean hasClauseActivityDecay()
.lang.Override int getBooleanEncodingLevel()
.lang.Override boolean getShareLevelZeroBounds()
static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER
Builder clearCutCleanupTarget()
.lang.Override boolean hasUseExactLpReason()
Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value)
.lang.Override boolean hasRandomSeed()
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
.lang.Override boolean hasPresolveBlockedClause()
.lang.Override boolean hasUseCombinedNoOverlap()
.lang.Override boolean hasStopAfterFirstSolution()
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setPseudoCostReliabilityThreshold(long value)
static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setMergeNoOverlapWorkLimit(double value)
static final int ADD_MIR_CUTS_FIELD_NUMBER
Builder setUseRinsLns(boolean value)
Builder clearMipVarScaling()
static final int AUTO_DETECT_GREATER_THAN_AT_LEAST_ONE_OF_FIELD_NUMBER
.lang.Override int getLinearizationLevel()
.lang.Override boolean hasExploitRelaxationSolution()
.lang.Override boolean hasMaxMemoryInMb()
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
.lang.Override boolean hasMaxDeterministicTime()
Builder setNumSearchWorkers(int value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
Builder clearUseRinsLns()
static final int FIND_MULTIPLE_CORES_FIELD_NUMBER
.lang.Override boolean hasAddZeroHalfCuts()
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean getInterleaveSearch()
static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER
.lang.Override boolean getAddZeroHalfCuts()
IN_REVERSE_ORDER
IN_REVERSE_ORDER = 1;
Builder clearVariableActivityDecay()
Builder setAlsoBumpVariablesInConflictReasons(boolean value)
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static final int RANDOM_SEED_FIELD_NUMBER
POLARITY_TRUE
POLARITY_TRUE = 0;
.lang.Override boolean hasRandomSeed()
static com.google.protobuf.Internal.EnumLiteMap< BinaryMinizationAlgorithm > internalGetValueMap()
Builder clearUseLnsOnly()
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder clearGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
Builder setInterleaveSearch(boolean value)
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override double getRandomPolarityRatio()
.lang.Override boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
static final int CP_MODEL_PRESOLVE_FIELD_NUMBER
PSEUDO_COST_SEARCH
static VariableOrder forNumber(int value)
Builder setExpandTableConstraints(boolean value)
.lang.Override int getMaxAllDiffCutSize()
.lang.Override boolean hasUseOptionalVariables()
Builder clearReduceMemoryUsageInInterleaveMode()
Builder clearPolarityRephaseIncrement()
Builder setAddLpConstraintsLazily(boolean value)
Builder setMinimizeWithPropagationRestartPeriod(int value)
Builder clearShareObjectiveBounds()
.lang.Override boolean hasMergeNoOverlapWorkLimit()
.lang.Override boolean getStopAfterFirstSolution()
.lang.Override boolean hasUseImpliedBounds()
.lang.Override int getHintConflictLimit()
Builder clearMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override int getClauseCleanupPeriod()
SIMPLE
SIMPLE = 1;
Builder setBooleanEncodingLevel(int value)
.lang.Override boolean hasSearchRandomizationTolerance()
Builder setPresolveBvaThreshold(int value)
.lang.Override boolean hasExpandAutomatonConstraints()
static final int NAME_FIELD_NUMBER
.lang.Override boolean getInstantiateAllVariables()
.lang.Override boolean getCatchSigintSignal()
.lang.Override boolean getLogSearchProgress()
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
final int getNumber()
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER
Builder clearKeepAllFeasibleSolutionsInPresolve()
Builder clearClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER
.lang.Override boolean getPresolveExtractIntegerEnforcement()
static final int COVER_OPTIMIZATION_FIELD_NUMBER
final int getNumber()
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
Builder setCutCleanupTarget(int value)
.lang.Override double getCutMaxActiveCountValue()
.lang.Override boolean hasCutCleanupTarget()
Builder setMaxIntegerRoundingScaling(int value)
.lang.Override boolean hasFindMultipleCores()
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder clearRestartRunningWindowSize()
.lang.Override boolean getUseOptionalVariables()
static final int SUBSUMPTION_DURING_CONFLICT_ANALYSIS_FIELD_NUMBER
static final int MIP_CHECK_PRECISION_FIELD_NUMBER
.lang.Override boolean getUseFeasibilityPump()
Builder setAddKnapsackCuts(boolean value)
.lang.Override boolean getMaxSatReverseAssumptionOrder()
.lang.Override boolean getUseOptionalVariables()
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
static final int RANDOMIZE_SEARCH_FIELD_NUMBER
EXPERIMENTAL_BINARY_MINIMIZATION
EXPERIMENTAL_BINARY_MINIMIZATION = 3;
Builder clearAddZeroHalfCuts()
.lang.Override boolean getExploitObjective()
.lang.Override long getPseudoCostReliabilityThreshold()
.lang.Override double getMipWantedPrecision()
.lang.Override boolean getMinimizeCore()
.lang.Override int getRestartAlgorithmsCount()
POLARITY_RANDOM
POLARITY_RANDOM = 2;
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override int getPresolveBvaThreshold()
.lang.Override boolean getStopAfterPresolve()
Builder setCpModelMaxNumPresolveOperations(int value)
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean getCpModelPostsolveWithFullSolver()
STRATIFICATION_ASCENT
final int getNumber()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasMipMaxBound()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean getPresolveBlockedClause()
.lang.Override boolean hasUseBlockingRestart()
.lang.Override boolean hasMaxDeterministicTime()
Builder clearRestartPeriod()
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Deprecated static FPRoundingMethod valueOf(int value)
.lang.Override int getHintConflictLimit()
Builder setExploitAllLpSolution(boolean value)
Builder setMaxSatReverseAssumptionOrder(boolean value)
Builder setCpModelUseSatPresolve(boolean value)
.lang.Override int getCutCleanupTarget()
.lang.Override boolean getExploitAllLpSolution()
final int getNumber()
Builder clearRestartAlgorithms()
Builder setMipMaxActivityExponent(int value)
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override int getMaxPresolveIterations()
Builder clearBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override int getRestartPeriod()
.lang.Override long getMaxNumberOfConflicts()
Builder setMaxCutRoundsAtLevelZero(int value)
Builder clearNewConstraintsBatchSize()
.lang.Override Builder clear()
static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER
.lang.Override boolean hasPolishLpSolution()
Builder clearLogSearchProgress()
Builder setAutoDetectGreaterThanAtLeastOneOf(boolean value)
.lang.Override boolean hasPresolveUseBva()
.lang.Override boolean getEnumerateAllSolutions()
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasRandomPolarityRatio()
Builder clearDiversifyLnsParams()
.lang.Override double getMinOrthogonalityForLpConstraints()
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean hasRandomizeSearch()
.lang.Override int getRestartRunningWindowSize()
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override int getMaxPresolveIterations()
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
Builder clearMinimizeWithPropagationRestartPeriod()
Builder clearMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder clearMipAutomaticallyScaleVariables()
Builder setSearchRandomizationTolerance(long value)
static final int INTERLEAVE_SEARCH_FIELD_NUMBER
.lang.Override boolean hasLinearizationLevel()
com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder setLnsFocusOnDecisionVariables(boolean value)
optional bool lns_focus_on_decision_variables = 105 [default = false];
static final int RESTART_ALGORITHMS_FIELD_NUMBER
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER
.lang.Override boolean hasMaxPresolveIterations()
Builder setReduceMemoryUsageInInterleaveMode(boolean value)
.lang.Override boolean hasPresolveBveClauseWeight()
.lang.Deprecated static ClauseOrdering valueOf(int value)
static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER
Builder setOptimizeWithCore(boolean value)
static final int PRESOLVE_EXTRACT_INTEGER_ENFORCEMENT_FIELD_NUMBER
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
Builder setUseImpliedBounds(boolean value)
static final int ADD_ZERO_HALF_CUTS_FIELD_NUMBER
static final int MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER
Builder setMaxConsecutiveInactiveCount(int value)
static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER
Builder setAddZeroHalfCuts(boolean value)
static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER
Builder clearUseOptimizationHints()
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder clearMaxMemoryInMb()
static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER
.lang.Override double getCutMaxActiveCountValue()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.protobuf.ByteString getNameBytes()
.lang.Override boolean hasMaxCutRoundsAtLevelZero()
.lang.Override boolean hasOnlyAddCutsAtLevelZero()
Builder clearPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean hasPolarityRephaseIncrement()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setAbsoluteGapLimit(double value)
static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER
static final int FP_ROUNDING_FIELD_NUMBER
.lang.Override boolean hasLogSearchProgress()
Builder setPresolveSubstitutionLevel(int value)
Builder clearMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder clearName()
Builder setAddMirCuts(boolean value)
static final int MIP_VAR_SCALING_FIELD_NUMBER
.lang.Override boolean hasVariableActivityDecay()
Builder clearUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasNumSearchWorkers()
.lang.Override boolean hasBinarySearchNumConflicts()
static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER
.lang.Override boolean getExpandAlldiffConstraints()
static MaxSatAssumptionOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean hasClauseCleanupTarget()
.lang.Override double getGlucoseMaxDecay()
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
.lang.Override boolean hasRepairHint()
.lang.Override boolean hasUseCombinedNoOverlap()
.lang.Override boolean getUseExactLpReason()
.lang.Override boolean getUseLnsOnly()
.lang.Override boolean hasUseBlockingRestart()
.lang.Deprecated static BinaryMinizationAlgorithm valueOf(int value)
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasUseErwaHeuristic()
Builder setStopAfterFirstSolution(boolean value)
CLAUSE_ACTIVITY
ORDER_ASSUMPTION_BY_WEIGHT
ORDER_ASSUMPTION_BY_WEIGHT = 2;
.lang.Override double getVariableActivityDecay()
Builder clearMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean getAddLinMaxCuts()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean getCpModelUseSatPresolve()
static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER
PROTECTION_LBD
static final int MINIMIZE_CORE_FIELD_NUMBER
Builder clearMaxNumberOfConflicts()
static final int USE_BRANCHING_IN_LP_FIELD_NUMBER
.lang.Override int getMipMaxActivityExponent()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER
Builder setUseFeasibilityPump(boolean value)
boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasMipWantedPrecision()
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER
.lang.Override boolean hasMaxCutRoundsAtLevelZero()
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
static MaxSatAssumptionOrder forNumber(int value)
Builder setPbCleanupIncrement(int value)
static final int MINIMIZE_WITH_PROPAGATION_NUM_DECISIONS_FIELD_NUMBER
.lang.Override int getNumSearchWorkers()
static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Internal.EnumLiteMap< SearchBranching > internalGetValueMap()
PORTFOLIO_SEARCH
static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER
Builder setPresolveExtractIntegerEnforcement(boolean value)
static final int USE_DISJUNCTIVE_CONSTRAINT_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override double getMergeNoOverlapWorkLimit()
com.google.protobuf.ByteString getNameBytes()
final int getNumber()
.lang.Override boolean getUseOptimizationHints()
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER
Builder clearCoverOptimization()
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER
.lang.Override double getInitialVariablesActivity()
.lang.Override boolean getUsePhaseSaving()
Builder clearBinarySearchNumConflicts()
.lang.Override boolean getUseFeasibilityPump()
Builder setMaxNumCuts(int value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER
static RestartAlgorithm forNumber(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder clearCutMaxActiveCountValue()
Builder setFindMultipleCores(boolean value)
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasCutCleanupTarget()
.lang.Override boolean getUsePhaseSaving()
static final int KEEP_ALL_FEASIBLE_SOLUTIONS_IN_PRESOLVE_FIELD_NUMBER
.lang.Override boolean getUseRelaxationLns()
static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER
Builder setGlucoseDecayIncrement(double value)
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Deprecated static ClauseProtection valueOf(int value)
.lang.Override boolean getUseBranchingInLp()
.lang.Override int getMaxIntegerRoundingScaling()
Builder setRestartDlAverageRatio(double value)
.lang.Override boolean hasStrategyChangeIncreaseRatio()
.lang.Override int hashCode()
Builder clearExploitAllLpSolution()
Builder clearInitialVariablesActivity()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override long getMaxMemoryInMb()
.lang.Override double getRestartDlAverageRatio()
.lang.Override boolean getExploitBestSolution()
static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER
Builder setMaxDeterministicTime(double value)
final int getNumber()
Builder clearOnlyAddCutsAtLevelZero()
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasMergeNoOverlapWorkLimit()
.lang.Override boolean hasInstantiateAllVariables()
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasPseudoCostReliabilityThreshold()
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override boolean getExpandElementConstraints()
Builder setExpandAutomatonConstraints(boolean value)
.lang.Override boolean hasMipMaxActivityExponent()
static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER
Builder clearAbsoluteGapLimit()
AUTOMATIC_SEARCH
.lang.Override boolean hasAddLpConstraintsLazily()
.lang.Override boolean hasUseExactLpReason()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean hasShareObjectiveBounds()
Builder setMaxVariableActivityValue(double value)
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override double getRandomBranchesRatio()
Builder clearUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean hasExploitBestSolution()
.lang.Override boolean getStopAfterPresolve()
Builder clearMaxAllDiffCutSize()
IN_RANDOM_ORDER
IN_RANDOM_ORDER = 2;
Builder clearExploitIntegerLpSolution()
.lang.Override boolean hasExpandAlldiffConstraints()
Builder clearLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override double getRandomBranchesRatio()
.lang.Override double getMipMaxBound()
BINARY_MINIMIZATION_WITH_REACHABILITY
BINARY_MINIMIZATION_WITH_REACHABILITY = 2;
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasRestartDlAverageRatio()
.lang.Override Builder clone()
static Builder newBuilder()
LBD_MOVING_AVERAGE_RESTART
.lang.Override Builder toBuilder()
Builder clearMipCheckPrecision()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override boolean getOptimizeWithCore()
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean getUseErwaHeuristic()
.lang.Override boolean hasPresolveUseBva()
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean getAddKnapsackCuts()
.lang.Override boolean hasClauseCleanupLbdBound()
.lang.Override boolean hasMipAutomaticallyScaleVariables()
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
.lang.Override boolean getUseImpliedBounds()
.lang.Override boolean hasLinearizationLevel()
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
Builder setCountAssumptionLevelsInLbd(boolean value)
.lang.Override boolean hasCountAssumptionLevelsInLbd()
.lang.Override long getMaxNumberOfConflicts()
.lang.Override boolean getPresolveUseBva()
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override boolean hasCutMaxActiveCountValue()
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
.lang.Override boolean hasPresolveSubstitutionLevel()
Builder setNumConflictsBeforeStrategyChanges(int value)
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setMipAutomaticallyScaleVariables(boolean value)
.lang.Override boolean hasMaxNumCuts()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input)
static final int CP_MODEL_MAX_NUM_PRESOLVE_OPERATIONS_FIELD_NUMBER
Builder clearRandomBranchesRatio()
.lang.Override boolean getExpandTableConstraints()
Builder setOptimizeWithMaxHs(boolean value)
.lang.Override boolean getUseImpliedBounds()
static ConflictMinimizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Builder clearRandomSeed()
.lang.Override boolean hasStrategyChangeIncreaseRatio()
static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER
Builder setMipCheckPrecision(double value)
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setMinimizeCore(boolean value)
Builder clearUseDisjunctiveConstraintInCumulativeConstraint()
Builder setStopAfterPresolve(boolean value)
Builder setUseLnsOnly(boolean value)
Builder clearUseCombinedNoOverlap()
Builder addAllRestartAlgorithms(java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm > values)
.lang.Override double getMipWantedPrecision()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override boolean hasMipMaxBound()
.lang.Override boolean getOptimizeWithCore()
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean hasMipVarScaling()
.lang.Override int getNumConflictsBeforeStrategyChanges()
static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override com.google.ortools.sat.SatParameters buildPartial()
.lang.Override java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
Builder clearExpandAlldiffConstraints()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Parser< SatParameters > parser()
static ConflictMinimizationAlgorithm forNumber(int value)
.lang.Override final boolean isInitialized()
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean hasMinimizeCore()
Builder setUseBranchingInLp(boolean value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean getUseBlockingRestart()
Builder setStrategyChangeIncreaseRatio(double value)
static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder clearMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override double getMipCheckPrecision()
static final int ADD_CLIQUE_CUTS_FIELD_NUMBER
.lang.Override boolean hasUseRinsLns()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
FIXED_RESTART
Builder clearStrategyChangeIncreaseRatio()
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
.lang.Override boolean hasMipMaxActivityExponent()
Builder clearMaxNumCuts()
CLAUSE_LBD
static MaxSatStratificationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override com.google.ortools.sat.SatParameters build()
int getRestartAlgorithmsCount()
static com.google.ortools.sat.SatParameters parseFrom(java.nio.ByteBuffer data)
Builder setSearchBranching(com.google.ortools.sat.SatParameters.SearchBranching value)
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder clearMaxIntegerRoundingScaling()
.lang.Override boolean hasUsePhaseSaving()
.lang.Override int getClauseCleanupTarget()
Builder setRestartAlgorithms(int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value)
.lang.Override boolean getCpModelPostsolveWithFullSolver()
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder setInstantiateAllVariables(boolean value)
.lang.Override boolean getCoverOptimization()
.lang.Override boolean hasUseFeasibilityPump()
static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER
static final int PRESOLVE_USE_BVA_FIELD_NUMBER
.lang.Override boolean getPresolveUseBva()
.lang.Override boolean hasUseLnsOnly()
static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER
Builder clearSearchRandomizationTolerance()
Builder setPresolveBlockedClause(boolean value)
.lang.Override boolean getAddLpConstraintsLazily()
Builder clearMaxTimeInSeconds()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< ClauseOrdering > internalGetValueMap()
Builder setMaxPresolveIterations(int value)
Builder setEnumerateAllSolutions(boolean value)
Builder clearPseudoCostReliabilityThreshold()
.lang.Override boolean hasUsePhaseSaving()
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasExploitObjective()
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasMaxConsecutiveInactiveCount()
Builder setNameBytes(com.google.protobuf.ByteString value)
Builder clearExpandElementConstraints()
static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER
.lang.Override boolean hasPresolveBveThreshold()
.lang.Deprecated static MaxSatStratificationAlgorithm valueOf(int value)
.lang.Override boolean hasCoverOptimization()
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
Builder clearCpModelProbingLevel()
.lang.Override boolean hasCpModelUseSatPresolve()
.lang.Override boolean getMipAutomaticallyScaleVariables()
.lang.Override boolean hasExploitIntegerLpSolution()
.lang.Override long getProbingPeriodAtRoot()
static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER
.lang.Override boolean hasMipCheckPrecision()
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean hasExpandAlldiffConstraints()
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasEnumerateAllSolutions()
static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER
.lang.Override int getRandomSeed()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setMaxNumberOfConflicts(long value)
.lang.Override boolean hasMaxNumberOfConflicts()
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
Builder setDefaultRestartAlgorithms(java.lang.String value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder clearAddLpConstraintsLazily()
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override int getRandomSeed()
Builder clearDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override int getClauseCleanupLbdBound()
.lang.Override boolean hasMaxIntegerRoundingScaling()
.lang.Override double getAbsoluteGapLimit()
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER
.lang.Override boolean hasMaxNumberOfConflicts()
Builder setUseTimetableEdgeFindingInCumulativeConstraint(boolean value)
.lang.Override boolean hasNewConstraintsBatchSize()
.lang.Override boolean getCpModelPresolve()
.lang.Override boolean hasRandomBranchesRatio()
.lang.Override int getBooleanEncodingLevel()
.lang.Override boolean getCpModelUseSatPresolve()
.lang.Override boolean hasAddLinMaxCuts()
Builder setUsePbResolution(boolean value)
Builder clearNumSearchWorkers()
.lang.Override com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
Builder setGlucoseDecayIncrementPeriod(int value)
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder clearUsePrecedencesInDisjunctiveConstraint()
static VariableOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Builder setClauseCleanupPeriod(int value)
static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasPresolveBvaThreshold()
Builder setTreatBinaryClausesSeparately(boolean value)
.lang.Override boolean hasUseFeasibilityPump()
Builder clearFindMultipleCores()
.lang.Override int getPresolveBveClauseWeight()
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
.lang.Override int getLinearizationLevel()
static final int MIP_WANTED_PRECISION_FIELD_NUMBER
.lang.Override int getBinarySearchNumConflicts()
.lang.Override double getMergeNoOverlapWorkLimit()
POLARITY_REVERSE_WEIGHTED_SIGN
IN_ORDER
static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER
static final int MIP_MAX_BOUND_FIELD_NUMBER
.lang.Override boolean getAddCliqueCuts()
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean getDiversifyLnsParams()
.lang.Override boolean hasUseOptionalVariables()
.lang.Override boolean hasPresolveBlockedClause()
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
Builder setPbCleanupRatio(double value)
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasMaxIntegerRoundingScaling()
static final int ADD_KNAPSACK_CUTS_FIELD_NUMBER
com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
Builder clearAddCliqueCuts()
Builder clearMipWantedPrecision()
.lang.Override boolean hasGlucoseMaxDecay()
Builder setInitialVariablesActivity(double value)
Builder clearBooleanEncodingLevel()
Builder clearSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
static ClauseProtection valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
DEFAULT_ASSUMPTION_ORDER
DEFAULT_ASSUMPTION_ORDER = 0;
.lang.Override boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasClauseCleanupPeriod()
Builder setUseDisjunctiveConstraintInCumulativeConstraint(boolean value)
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
.lang.Override boolean hasCpModelUseSatPresolve()
static final int FILL_TIGHTENED_DOMAINS_IN_RESPONSE_FIELD_NUMBER
Builder setBlockingRestartMultiplier(double value)
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override long getProbingPeriodAtRoot()
Builder clearRepairHint()
static ClauseOrdering forNumber(int value)
Builder setSubsumptionDuringConflictAnalysis(boolean value)
.lang.Override boolean getMipAutomaticallyScaleVariables()
static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER
.lang.Override boolean hasCoverOptimization()
.lang.Override boolean hasUseBranchingInLp()
.lang.Override boolean hasShareLevelZeroBounds()
.lang.Override boolean getMaxSatReverseAssumptionOrder()
Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value)
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean hasExpandTableConstraints()
static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER
.lang.Override boolean hasPresolveSubstitutionLevel()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
static final int USE_PRECEDENCES_IN_DISJUNCTIVE_CONSTRAINT_FIELD_NUMBER
static MaxSatStratificationAlgorithm forNumber(int value)
LOCK_BASED
.lang.Override boolean hasPresolveBveThreshold()
Builder clearStopAfterPresolve()
.lang.Override int getBinarySearchNumConflicts()
.lang.Override boolean getEnumerateAllSolutions()
.lang.Override int getPbCleanupIncrement()
static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER
.lang.Override boolean hasStopAfterFirstSolution()
.lang.Override boolean getAddCliqueCuts()
Builder setRelativeGapLimit(double value)
optional double relative_gap_limit = 160 [default = 0];
static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER
.lang.Override int getMaxConsecutiveInactiveCount()
Builder setRestartLbdAverageRatio(double value)
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override int getPolarityRephaseIncrement()
static com.google.protobuf.Internal.EnumLiteMap< FPRoundingMethod > internalGetValueMap()
Builder setCoverOptimization(boolean value)
Builder setExpandElementConstraints(boolean value)
Builder clearUseBlockingRestart()
static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
POLARITY_WEIGHTED_SIGN
.lang.Override int getMaxIntegerRoundingScaling()
Builder setPresolveProbingDeterministicTimeLimit(double value)
static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER
Builder clearOptimizeWithMaxHs()
Builder clearEnumerateAllSolutions()
.lang.Override boolean hasInitialVariablesActivity()
.lang.Override boolean getDiversifyLnsParams()
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean getCountAssumptionLevelsInLbd()
Builder setProbingPeriodAtRoot(long value)
static com.google.protobuf.Internal.EnumLiteMap< ConflictMinimizationAlgorithm > internalGetValueMap()
Builder clearRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasInitialVariablesActivity()
Builder clearBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
Builder clearMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder clearGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER
.lang.Override boolean hasCpModelProbingLevel()
Builder clearPresolveExtractIntegerEnforcement()
static final int CUT_CLEANUP_TARGET_FIELD_NUMBER
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
Builder setUseExactLpReason(boolean value)
.lang.Override boolean hasTreatBinaryClausesSeparately()
static final int MAX_NUM_CUTS_FIELD_NUMBER
static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER
Builder setShareLevelZeroBounds(boolean value)
.lang.Override int getCutCleanupTarget()
.lang.Override boolean hasMaxPresolveIterations()
Builder clearPresolveProbingDeterministicTimeLimit()
.lang.Override boolean hasMipCheckPrecision()
static RestartAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override int getCpModelProbingLevel()
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
Builder setPresolveBveThreshold(int value)
static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER
.lang.Override boolean hasMaxTimeInSeconds()
.lang.Override boolean hasRestartPeriod()
.lang.Override boolean hasRestartPeriod()
static final int USE_LNS_ONLY_FIELD_NUMBER
Builder setHintConflictLimit(int value)
Builder setRestartRunningWindowSize(int value)
Builder setMinimizeWithPropagationNumDecisions(int value)
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getRandomizeSearch()
Builder setInterleaveBatchSize(int value)
optional int32 interleave_batch_size = 134 [default = 1];
static final int USE_SAT_INPROCESSING_FIELD_NUMBER
.lang.Override int getMaxNumCuts()
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER
static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Deprecated static SearchBranching valueOf(int value)
final int getNumber()
Builder setMaxTimeInSeconds(double value)
.lang.Override int getCpModelMaxNumPresolveOperations()
Builder setRandomizeSearch(boolean value)
Builder clearNumConflictsBeforeStrategyChanges()
Builder clearRandomPolarityRatio()
.lang.Deprecated static VariableOrder valueOf(int value)
static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER
Builder setExpandAlldiffConstraints(boolean value)
static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER
Builder setLinearizationLevel(int value)
static final int EXPAND_ALLDIFF_CONSTRAINTS_FIELD_NUMBER
Builder setUseOptimizationHints(boolean value)
.lang.Override boolean hasPbCleanupIncrement()
Builder clearRandomizeSearch()
.lang.Override double getMipVarScaling()
.lang.Override boolean hasMaxConsecutiveInactiveCount()
Builder setExploitIntegerLpSolution(boolean value)
static final int MIN_ORTHOGONALITY_FOR_LP_CONSTRAINTS_FIELD_NUMBER
.lang.Override double getGlucoseMaxDecay()
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setAddCgCuts(boolean value)
.lang.Override double getClauseActivityDecay()
.lang.Override int getMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasPresolveBveClauseWeight()
.lang.Override boolean hasUseOptimizationHints()
.lang.Override boolean getExpandElementConstraints()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
Builder clearUseOptionalVariables()
.lang.Override double getMaxTimeInSeconds()
static final int REPAIR_HINT_FIELD_NUMBER
.lang.Override boolean hasRandomPolarityRatio()
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
Builder setMinOrthogonalityForLpConstraints(double value)
.lang.Override int getNewConstraintsBatchSize()
.lang.Override boolean hasInterleaveSearch()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean hasRestartRunningWindowSize()
.lang.Override int getMaxAllDiffCutSize()
.lang.Override boolean getExploitAllLpSolution()
.lang.Override double getMaxDeterministicTime()
static com.google.protobuf.Internal.EnumLiteMap< RestartAlgorithm > internalGetValueMap()
.lang.Override int getPbCleanupIncrement()
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
Builder clearAddKnapsackCuts()
.lang.Override boolean hasExpandElementConstraints()
.lang.Override boolean hasMaxAllDiffCutSize()
Builder clearUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override double getRestartDlAverageRatio()
.lang.Override boolean getCatchSigintSignal()
Builder setBlockingRestartWindowSize(int value)
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean hasAddMirCuts()
NEAREST_INTEGER
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean getFindMultipleCores()
.lang.Override boolean hasMinimizeCore()
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override boolean getUseErwaHeuristic()
Builder clearFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value)
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean getAddCgCuts()
.lang.Override boolean hasCountAssumptionLevelsInLbd()
static FPRoundingMethod forNumber(int value)
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
Builder setShareObjectiveBounds(boolean value)
.lang.Override boolean getStopAfterFirstSolution()
static FPRoundingMethod valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Builder clearUsePhaseSaving()
static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER
static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER
.lang.Override boolean equals(final java.lang.Object obj)
static final int POLISH_LP_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
Builder setClauseActivityDecay(double value)
.lang.Override boolean hasRestartDlAverageRatio()
.lang.Override boolean getAddKnapsackCuts()
static BinaryMinizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override double getMipVarScaling()
.lang.Override int getPresolveBveThreshold()
Builder clearExpandTableConstraints()
.lang.Override boolean hasAddZeroHalfCuts()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasFindMultipleCores()
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasHintConflictLimit()
Builder clearCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
static final int RESTART_PERIOD_FIELD_NUMBER
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
Builder clearUsePbResolution()
.lang.Override boolean getShareObjectiveBounds()
.lang.Override boolean getUsePbResolution()
Builder setCutActiveCountDecay(double value)
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasOptimizeWithCore()
static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER
.lang.Override boolean hasShareObjectiveBounds()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data)
.lang.Override boolean hasEnumerateAllSolutions()
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
Builder clearAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
static final int PB_CLEANUP_RATIO_FIELD_NUMBER
Builder clearOptimizeWithCore()
Builder clearUseExactLpReason()
.lang.Override boolean getRandomizeSearch()
static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER
Builder clearMipMaxBound()
.lang.Override boolean hasPresolveBvaThreshold()
Builder setPolarityRephaseIncrement(int value)
static com.google.protobuf.Internal.EnumLiteMap< Polarity > internalGetValueMap()
.lang.Override java.lang.String getName()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasMaxMemoryInMb()
.lang.Override boolean hasExploitObjective()
final int getNumber()
.lang.Override double getVariableActivityDecay()
static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override long getMaxMemoryInMb()
Builder setMipWantedPrecision(double value)
.lang.Override boolean hasExpandElementConstraints()
.lang.Override int getPolarityRephaseIncrement()
Builder setUseOverloadCheckerInCumulativeConstraint(boolean value)
Builder setNewConstraintsBatchSize(int value)
.lang.Deprecated static final com.google.protobuf.Parser< SatParameters > PARSER
.lang.Override com.google.protobuf.Parser< SatParameters > getParserForType()
Builder setAddLinMaxCuts(boolean value)
Builder clearMaxDeterministicTime()
.lang.Override int getPresolveSubstitutionLevel()
Builder setRandomBranchesRatio(double value)
static com.google.protobuf.Internal.EnumLiteMap< ClauseProtection > internalGetValueMap()
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
.lang.Override boolean getUseRelaxationLns()
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override boolean hasClauseCleanupLbdBound()
static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER
.lang.Override double getInitialVariablesActivity()
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean hasAddKnapsackCuts()
.lang.Override double getPresolveProbingDeterministicTimeLimit()
.lang.Override boolean getTreatBinaryClausesSeparately()
.lang.Override double getMipCheckPrecision()
Builder clearHintConflictLimit()
.lang.Override boolean hasClauseActivityDecay()
Builder clearInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
POLARITY_FALSE
POLARITY_FALSE = 1;
static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER
static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER
.lang.Override boolean getExpandAutomatonConstraints()
.lang.Override double getAbsoluteGapLimit()
static final int USE_PB_RESOLUTION_FIELD_NUMBER
.lang.Override boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
PROTECTION_ALWAYS
Builder setMaxAllDiffCutSize(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder clearPresolveSubstitutionLevel()
.lang.Override boolean getRepairHint()
Builder clearStopAfterFirstSolution()
.lang.Override boolean hasShareLevelZeroBounds()
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean getOnlyAddCutsAtLevelZero()
.lang.Override boolean hasInstantiateAllVariables()
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean hasAbsoluteGapLimit()
Builder setAddCliqueCuts(boolean value)
Builder clearAddMirCuts()
Builder clearPresolveBvaThreshold()
.lang.Override boolean hasOptimizeWithMaxHs()
Builder setCpModelProbingLevel(int value)
static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER
.lang.Override boolean hasMaxNumCuts()
.lang.Override boolean getOptimizeWithMaxHs()
Builder setClauseCleanupTarget(int value)
.lang.Override boolean hasUseRinsLns()
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER
NONE
NONE = 0;
static final int ADD_CG_CUTS_FIELD_NUMBER
.lang.Override boolean hasBooleanEncodingLevel()
Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value)
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder clearUseImpliedBounds()
static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setRepairHint(boolean value)
.lang.Override boolean hasVariableActivityDecay()
HINT_SEARCH
.lang.Override int getPresolveBveThreshold()
static final int SEARCH_BRANCHING_FIELD_NUMBER
Builder clearInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override int getMaxCutRoundsAtLevelZero()
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
Builder setLogSearchProgress(boolean value)
Builder clearUseFeasibilityPump()
Builder clearPresolveBveClauseWeight()
Builder setUseErwaHeuristic(boolean value)
.lang.Override boolean hasBinarySearchNumConflicts()
.lang.Override boolean getAddMirCuts()
Builder clearGlucoseMaxDecay()
.lang.Deprecated static ConflictMinimizationAlgorithm valueOf(int value)
Builder clearCpModelMaxNumPresolveOperations()
.lang.Override boolean hasCpModelProbingLevel()
.lang.Override boolean hasExploitBestSolution()
Builder clearMinimizeCore()
.lang.Deprecated static RestartAlgorithm valueOf(int value)
Builder clearRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
static final int NUM_CONFLICTS_BEFORE_STRATEGY_CHANGES_FIELD_NUMBER
Builder clearUseErwaHeuristic()
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
Builder clearClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER
static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
Builder clearUseRelaxationLns()
.lang.Override boolean hasLogSearchProgress()
Builder clearExploitObjective()
Builder setPolishLpSolution(boolean value)
Builder setOnlyAddCutsAtLevelZero(boolean value)
Builder setDefaultRestartAlgorithmsBytes(com.google.protobuf.ByteString value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder clearMaxSatReverseAssumptionOrder()
.lang.Override boolean getCoverOptimization()
static com.google.protobuf.Internal.EnumLiteMap< MaxSatStratificationAlgorithm > internalGetValueMap()
BINARY_MINIMIZATION_FIRST
BINARY_MINIMIZATION_FIRST = 1;
.lang.Override int getMaxCutRoundsAtLevelZero()
Builder clearExploitRelaxationSolution()
.lang.Override boolean hasClauseCleanupTarget()
static final int MINIMIZE_REDUCTION_DURING_PB_RESOLUTION_FIELD_NUMBER
static com.google.protobuf.Internal.EnumLiteMap< MaxSatAssumptionOrder > internalGetValueMap()
Builder clearInterleaveSearch()
.lang.Override int getPresolveBvaThreshold()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
ORDER_ASSUMPTION_BY_DEPTH
ORDER_ASSUMPTION_BY_DEPTH = 1;
Builder clearPresolveBlockedClause()
.lang.Override boolean hasCatchSigintSignal()
.lang.Override int getNumSearchWorkers()
.lang.Override double getStrategyChangeIncreaseRatio()
Builder setPresolveBveClauseWeight(int value)
static final int PRESOLVE_PROBING_DETERMINISTIC_TIME_LIMIT_FIELD_NUMBER
Builder setCpModelPostsolveWithFullSolver(boolean value)
Builder setUseCombinedNoOverlap(boolean value)
Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value)
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER
.lang.Override int getNumConflictsBeforeStrategyChanges()
.lang.Override boolean getUseBlockingRestart()
.lang.Override boolean hasPolishLpSolution()
STRATIFICATION_DESCENT
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER
final int getNumber()
Builder setMipVarScaling(double value)
Builder setUseRelaxationLns(boolean value)
.lang.Override boolean hasOnlyAddCutsAtLevelZero()
Builder setBinarySearchNumConflicts(int value)
.lang.Override boolean hasMaxTimeInSeconds()
.lang.Override boolean hasRandomBranchesRatio()
static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER
.lang.Override boolean getOnlyAddCutsAtLevelZero()
static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER
static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER
.lang.Override boolean hasMipAutomaticallyScaleVariables()
static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder clearRestartDlAverageRatio()
Builder clearCatchSigintSignal()
Builder setKeepAllFeasibleSolutionsInPresolve(boolean value)
.lang.Override int getMaxNumCuts()
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
Builder clearPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION = 4;
.lang.Override boolean getPresolveExtractIntegerEnforcement()
Builder clearCpModelPostsolveWithFullSolver()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasName()
.lang.Deprecated static Polarity valueOf(int value)
final int getNumber()
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override boolean getUseCombinedNoOverlap()
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Override int getMinimizeWithPropagationRestartPeriod()
.lang.Override int getSerializedSize()
.lang.Override long getSearchRandomizationTolerance()
.lang.Override boolean hasUseRelaxationLns()
Builder clearSubsumptionDuringConflictAnalysis()
.lang.Override boolean getExpandAutomatonConstraints()
Builder clearUseBranchingInLp()
.lang.Override boolean hasPresolveExtractIntegerEnforcement()
Builder setPresolveUseBva(boolean value)
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
Builder clearCpModelPresolve()
static Builder newBuilder(com.google.ortools.sat.SatParameters prototype)
.lang.Override boolean hasAddKnapsackCuts()
PORTFOLIO_WITH_QUICK_RESTART_SEARCH
.lang.Override boolean getAddMirCuts()
.lang.Override boolean getOptimizeWithMaxHs()
.lang.Override boolean hasClauseCleanupPeriod()
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
EXPERIMENTAL
EXPERIMENTAL = 3;
Builder clearAlsoBumpVariablesInConflictReasons()
.lang.Override boolean hasRepairHint()
static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER
DL_MOVING_AVERAGE_RESTART
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder clearPolishLpSolution()
Builder clearMaxConsecutiveInactiveCount()
static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER
Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value)
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasCpModelPresolve()
Builder clearClauseCleanupPeriod()
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean getUseOptimizationHints()
Builder clearPresolveBveThreshold()
.lang.Override boolean hasAddLpConstraintsLazily()
Builder clearMipMaxActivityExponent()
.lang.Override double getMaxDeterministicTime()
static SearchBranching forNumber(int value)
Builder setMergeAtMostOneWorkLimit(double value)
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
static final int USE_RELAXATION_LNS_FIELD_NUMBER
.lang.Override boolean hasMipVarScaling()
Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value)
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasUseOptimizationHints()
Builder setMaxClauseActivityValue(double value)
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override double getMaxTimeInSeconds()
.lang.Override boolean getFillTightenedDomainsInResponse()
.lang.Override boolean hasExpandTableConstraints()
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
static ClauseOrdering valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean getExpandTableConstraints()
static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER
static final int USE_EXACT_LP_REASON_FIELD_NUMBER
static final int INITIAL_POLARITY_FIELD_NUMBER
RECURSIVE
RECURSIVE = 2;
.lang.Override boolean hasProbingPeriodAtRoot()
Builder clearLinearizationLevel()
Builder setMipMaxBound(double value)
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasCpModelPresolve()
.lang.Override boolean getFillTightenedDomainsInResponse()
static Polarity forNumber(int value)
Builder setRandomPolarityRatio(double value)
.lang.Override boolean hasUsePbResolution()
.lang.Override int getClauseCleanupLbdBound()
.lang.Override double getMinOrthogonalityForLpConstraints()
STRATIFICATION_NONE
.lang.Override double getStrategyChangeIncreaseRatio()
Builder clearInstantiateAllVariables()
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
PROTECTION_NONE
.lang.Override boolean getAddCgCuts()
Builder clearShareLevelZeroBounds()
.lang.Override boolean hasCutMaxActiveCountValue()
Builder setClauseCleanupLbdBound(int value)
static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER
static final int NUM_SEARCH_WORKERS_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setRestartPeriod(int value)
Builder clearCpModelUseSatPresolve()
.lang.Override int getRestartRunningWindowSize()
static final int USE_OVERLOAD_CHECKER_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
Builder setVariableActivityDecay(double value)
Builder clearAddLinMaxCuts()
.lang.Override boolean hasExpandAutomatonConstraints()
Builder setCpModelPresolve(boolean value)
.lang.Override boolean hasGlucoseMaxDecay()
.lang.Override int getRestartPeriod()
.lang.Override int getClauseCleanupTarget()
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
NO_RESTART
NO_RESTART = 0;
.lang.Override boolean getUseCombinedNoOverlap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
Builder setRandomSeed(int value)
.lang.Override boolean getUseExactLpReason()
.lang.Override boolean hasStopAfterPresolve()
.lang.Override boolean getLogSearchProgress()
.lang.Override boolean hasRestartRunningWindowSize()
static final int USE_TIMETABLE_EDGE_FINDING_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER
Builder clearTreatBinaryClausesSeparately()
.lang.Override java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER
.lang.Override boolean getExpandAlldiffConstraints()
Builder setUsePrecedencesInDisjunctiveConstraint(boolean value)
.lang.Override boolean hasUsePbResolution()
.lang.Override boolean hasMaxAllDiffCutSize()
.lang.Override boolean getUseBranchingInLp()
static final int USE_PHASE_SAVING_FIELD_NUMBER
.lang.Override boolean hasAddLinMaxCuts()
.lang.Override long getPseudoCostReliabilityThreshold()
static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER
.lang.Override boolean getExploitObjective()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
Builder clearPbCleanupIncrement()
Builder setExploitBestSolution(boolean value)
.lang.Override boolean hasKeepAllFeasibleSolutionsInPresolve()
Builder clearMergeNoOverlapWorkLimit()
.lang.Override boolean hasAbsoluteGapLimit()
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
FIXED_SEARCH
.lang.Override boolean getUseRinsLns()
static final int MINIMIZE_WITH_PROPAGATION_RESTART_PERIOD_FIELD_NUMBER
.lang.Override int getMaxConsecutiveInactiveCount()
static Polarity valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean hasNewConstraintsBatchSize()
.lang.Override boolean getUsePbResolution()
.lang.Override boolean hasOptimizeWithCore()
Builder setExploitRelaxationSolution(boolean value)
.lang.Override int getNewConstraintsBatchSize()
.lang.Override boolean hasExploitAllLpSolution()
.lang.Override boolean hasUseRelaxationLns()
static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER
.lang.Override long getSearchRandomizationTolerance()
static final int LINEARIZATION_LEVEL_FIELD_NUMBER
static SearchBranching valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override double getClauseActivityDecay()
static com.google.ortools.sat.SatParameters getDefaultInstance()
Builder setMinimizeReductionDuringPbResolution(boolean value)
.lang.Override boolean hasProbingPeriodAtRoot()
.lang.Override boolean getKeepAllFeasibleSolutionsInPresolve()
.lang.Deprecated static MaxSatAssumptionOrder valueOf(int value)
.lang.Override boolean hasUseBranchingInLp()
static final int USE_BLOCKING_RESTART_FIELD_NUMBER
.lang.Override boolean hasBooleanEncodingLevel()
.lang.Override boolean hasUseErwaHeuristic()
.lang.Override boolean hasAddCliqueCuts()
Builder setUseOptionalVariables(boolean value)
.lang.Override boolean getPresolveBlockedClause()
static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER
.lang.Override boolean hasExploitIntegerLpSolution()
static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasPseudoCostReliabilityThreshold()
.lang.Override int getCpModelMaxNumPresolveOperations()
LUBY_RESTART
Builder clearProbingPeriodAtRoot()
.lang.Override Builder newBuilderForType()
Builder clearPresolveUseBva()
static com.google.protobuf.Internal.EnumLiteMap< VariableOrder > internalGetValueMap()
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
LP_SEARCH
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setCatchSigintSignal(boolean value)
.lang.Override boolean getUseRinsLns()
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean getTreatBinaryClausesSeparately()
Builder clearExploitBestSolution()
.lang.Override boolean getShareLevelZeroBounds()
.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()
.lang.Override boolean getPolishLpSolution()
static final int MAX_MEMORY_IN_MB_FIELD_NUMBER
.lang.Override double getPresolveProbingDeterministicTimeLimit()
static final int CP_MODEL_POSTSOLVE_WITH_FULL_SOLVER_FIELD_NUMBER
.lang.Override boolean getAddLinMaxCuts()
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasAddCgCuts()
.lang.Override boolean getAddLpConstraintsLazily()
Builder clearBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean hasNumSearchWorkers()
.lang.Override boolean hasUseLnsOnly()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
Builder clearMinimizeReductionDuringPbResolution()
ACTIVE_LOCK_BASED
.lang.Override int getPresolveSubstitutionLevel()
.lang.Override boolean getCpModelPresolve()
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
PROPAGATION_ASSISTED
Builder mergeFrom(com.google.ortools.sat.SatParameters other)
static com.google.ortools.sat.SatParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
Builder clearMaxCutRoundsAtLevelZero()
.lang.Override int getClauseCleanupPeriod()
.lang.Override boolean hasPbCleanupIncrement()
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
Builder clearMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearFillTightenedDomainsInResponse()
java.lang.String getName()
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder clearClauseCleanupLbdBound()
Builder setFillTightenedDomainsInResponse(boolean value)
Builder setUseBlockingRestart(boolean value)
Builder setUseSatInprocessing(boolean value)
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean getInstantiateAllVariables()
.lang.Override int getCpModelProbingLevel()
Builder clearMaxPresolveIterations()
.lang.Override boolean getMinimizeCore()
.lang.Override boolean getExploitBestSolution()
static final int ALSO_BUMP_VARIABLES_IN_CONFLICT_REASONS_FIELD_NUMBER
boolean hasName()
static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER
Builder setClauseCleanupProtection(com.google.ortools.sat.SatParameters.ClauseProtection value)
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
static final int USE_ERWA_HEURISTIC_FIELD_NUMBER
Builder clearCountAssumptionLevelsInLbd()
Builder setGlucoseMaxDecay(double value)
.lang.Override boolean hasExploitRelaxationSolution()
Builder clearClauseActivityDecay()
static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER
static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER
.lang.Override boolean hasMipWantedPrecision()
.lang.Override boolean hasAddCliqueCuts()
Builder setName(java.lang.String value)
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean getAddZeroHalfCuts()
.lang.Override double getMipMaxBound()
.lang.Override boolean hasPolarityRephaseIncrement()
Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value)
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean hasHintConflictLimit()