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  preferredVariableOrder_ = 0;
26  initialPolarity_ = 1;
27  usePhaseSaving_ = true;
28  polarityRephaseIncrement_ = 1000;
29  minimizationAlgorithm_ = 2;
30  binaryMinimizationAlgorithm_ = 1;
31  subsumptionDuringConflictAnalysis_ = true;
32  clauseCleanupPeriod_ = 10000;
33  clauseCleanupTarget_ = 10000;
34  clauseCleanupProtection_ = 0;
35  clauseCleanupLbdBound_ = 5;
36  clauseCleanupOrdering_ = 0;
37  pbCleanupIncrement_ = 200;
38  pbCleanupRatio_ = 0.5D;
39  minimizeWithPropagationRestartPeriod_ = 10;
40  minimizeWithPropagationNumDecisions_ = 1000;
41  variableActivityDecay_ = 0.8D;
42  maxVariableActivityValue_ = 1e+100D;
43  glucoseMaxDecay_ = 0.95D;
44  glucoseDecayIncrement_ = 0.01D;
45  glucoseDecayIncrementPeriod_ = 5000;
46  clauseActivityDecay_ = 0.999D;
47  maxClauseActivityValue_ = 1e+20D;
48  restartAlgorithms_ = java.util.Collections.emptyList();
49  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
50  restartPeriod_ = 50;
51  restartRunningWindowSize_ = 50;
52  restartDlAverageRatio_ = 1D;
53  restartLbdAverageRatio_ = 1D;
54  blockingRestartWindowSize_ = 5000;
55  blockingRestartMultiplier_ = 1.4D;
56  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
57  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
58  maxNumberOfConflicts_ = 9223372036854775807L;
59  maxMemoryInMb_ = 10000L;
60  treatBinaryClausesSeparately_ = true;
61  randomSeed_ = 1;
62  countAssumptionLevelsInLbd_ = true;
63  presolveBveThreshold_ = 500;
64  presolveBveClauseWeight_ = 3;
65  presolveProbingDeterministicTimeLimit_ = 30D;
66  presolveBlockedClause_ = true;
67  presolveUseBva_ = true;
68  presolveBvaThreshold_ = 1;
69  maxPresolveIterations_ = 3;
70  cpModelPresolve_ = true;
71  cpModelProbingLevel_ = 2;
72  cpModelUseSatPresolve_ = true;
73  expandElementConstraints_ = true;
74  expandAutomatonConstraints_ = true;
75  expandTableConstraints_ = true;
76  mergeNoOverlapWorkLimit_ = 1000000000000D;
77  mergeAtMostOneWorkLimit_ = 100000000D;
78  presolveSubstitutionLevel_ = 1;
79  useOptimizationHints_ = true;
80  minimizeCore_ = true;
81  findMultipleCores_ = true;
82  coverOptimization_ = true;
83  maxSatAssumptionOrder_ = 0;
84  maxSatStratification_ = 1;
85  usePrecedencesInDisjunctiveConstraint_ = true;
86  useDisjunctiveConstraintInCumulativeConstraint_ = true;
87  linearizationLevel_ = 1;
88  booleanEncodingLevel_ = 1;
89  maxNumCuts_ = 10000;
90  addCgCuts_ = true;
91  addMirCuts_ = true;
92  maxAllDiffCutSize_ = 7;
93  addLinMaxCuts_ = true;
94  maxIntegerRoundingScaling_ = 600;
95  addLpConstraintsLazily_ = true;
96  minOrthogonalityForLpConstraints_ = 0.05D;
97  maxCutRoundsAtLevelZero_ = 1;
98  maxConsecutiveInactiveCount_ = 100;
99  cutMaxActiveCountValue_ = 10000000000D;
100  cutActiveCountDecay_ = 0.8D;
101  cutCleanupTarget_ = 1000;
102  newConstraintsBatchSize_ = 50;
103  searchBranching_ = 0;
104  hintConflictLimit_ = 10;
105  exploitIntegerLpSolution_ = true;
106  exploitAllLpSolution_ = true;
107  exploitObjective_ = true;
108  pseudoCostReliabilityThreshold_ = 100L;
109  binarySearchNumConflicts_ = -1;
110  instantiateAllVariables_ = true;
111  autoDetectGreaterThanAtLeastOneOf_ = true;
112  numSearchWorkers_ = 1;
113  interleaveBatchSize_ = 1;
114  shareObjectiveBounds_ = true;
115  shareLevelZeroBounds_ = true;
116  useRinsLns_ = true;
117  useFeasibilityPump_ = true;
118  fpRounding_ = 2;
119  useOptionalVariables_ = true;
120  useExactLpReason_ = true;
121  catchSigintSignal_ = true;
122  useImpliedBounds_ = true;
123  mipMaxBound_ = 10000000D;
124  mipVarScaling_ = 1D;
125  mipAutomaticallyScaleVariables_ = true;
126  mipWantedPrecision_ = 1e-06D;
127  mipMaxActivityExponent_ = 53;
128  mipCheckPrecision_ = 0.0001D;
129  }
130 
131  @java.lang.Override
132  @SuppressWarnings({"unused"})
133  protected java.lang.Object newInstance(
134  UnusedPrivateParameter unused) {
135  return new SatParameters();
136  }
137 
138  @java.lang.Override
139  public final com.google.protobuf.UnknownFieldSet
141  return this.unknownFields;
142  }
143  private SatParameters(
144  com.google.protobuf.CodedInputStream input,
145  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
146  throws com.google.protobuf.InvalidProtocolBufferException {
147  this();
148  if (extensionRegistry == null) {
149  throw new java.lang.NullPointerException();
150  }
151  int mutable_bitField0_ = 0;
152  int mutable_bitField1_ = 0;
153  int mutable_bitField2_ = 0;
154  int mutable_bitField3_ = 0;
155  int mutable_bitField4_ = 0;
156  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
157  com.google.protobuf.UnknownFieldSet.newBuilder();
158  try {
159  boolean done = false;
160  while (!done) {
161  int tag = input.readTag();
162  switch (tag) {
163  case 0:
164  done = true;
165  break;
166  case 8: {
167  int rawValue = input.readEnum();
168  @SuppressWarnings("deprecation")
169  com.google.ortools.sat.SatParameters.VariableOrder value = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(rawValue);
170  if (value == null) {
171  unknownFields.mergeVarintField(1, rawValue);
172  } else {
173  bitField0_ |= 0x00000001;
174  preferredVariableOrder_ = rawValue;
175  }
176  break;
177  }
178  case 16: {
179  int rawValue = input.readEnum();
180  @SuppressWarnings("deprecation")
181  com.google.ortools.sat.SatParameters.Polarity value = com.google.ortools.sat.SatParameters.Polarity.valueOf(rawValue);
182  if (value == null) {
183  unknownFields.mergeVarintField(2, rawValue);
184  } else {
185  bitField0_ |= 0x00000002;
186  initialPolarity_ = rawValue;
187  }
188  break;
189  }
190  case 32: {
191  int rawValue = input.readEnum();
192  @SuppressWarnings("deprecation")
193  com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(rawValue);
194  if (value == null) {
195  unknownFields.mergeVarintField(4, rawValue);
196  } else {
197  bitField0_ |= 0x00000200;
198  minimizationAlgorithm_ = rawValue;
199  }
200  break;
201  }
202  case 88: {
203  bitField0_ |= 0x00001000;
204  clauseCleanupPeriod_ = input.readInt32();
205  break;
206  }
207  case 104: {
208  bitField0_ |= 0x00002000;
209  clauseCleanupTarget_ = input.readInt32();
210  break;
211  }
212  case 121: {
213  bitField0_ |= 0x00200000;
214  variableActivityDecay_ = input.readDouble();
215  break;
216  }
217  case 129: {
218  bitField0_ |= 0x00400000;
219  maxVariableActivityValue_ = input.readDouble();
220  break;
221  }
222  case 137: {
223  bitField0_ |= 0x04000000;
224  clauseActivityDecay_ = input.readDouble();
225  break;
226  }
227  case 145: {
228  bitField0_ |= 0x08000000;
229  maxClauseActivityValue_ = input.readDouble();
230  break;
231  }
232  case 177: {
233  bitField0_ |= 0x00800000;
234  glucoseMaxDecay_ = input.readDouble();
235  break;
236  }
237  case 185: {
238  bitField0_ |= 0x01000000;
239  glucoseDecayIncrement_ = input.readDouble();
240  break;
241  }
242  case 192: {
243  bitField0_ |= 0x02000000;
244  glucoseDecayIncrementPeriod_ = input.readInt32();
245  break;
246  }
247  case 240: {
248  bitField0_ |= 0x20000000;
249  restartPeriod_ = input.readInt32();
250  break;
251  }
252  case 248: {
253  bitField1_ |= 0x00002000;
254  randomSeed_ = input.readInt32();
255  break;
256  }
257  case 257: {
258  bitField0_ |= 0x00000020;
259  randomBranchesRatio_ = input.readDouble();
260  break;
261  }
262  case 264: {
263  bitField1_ |= 0x00001000;
264  treatBinaryClausesSeparately_ = input.readBool();
265  break;
266  }
267  case 272: {
268  int rawValue = input.readEnum();
269  @SuppressWarnings("deprecation")
270  com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(rawValue);
271  if (value == null) {
272  unknownFields.mergeVarintField(34, rawValue);
273  } else {
274  bitField0_ |= 0x00000400;
275  binaryMinimizationAlgorithm_ = rawValue;
276  }
277  break;
278  }
279  case 280: {
280  bitField2_ |= 0x00000020;
281  useOptimizationHints_ = input.readBool();
282  break;
283  }
284  case 289: {
285  bitField1_ |= 0x00000040;
286  maxTimeInSeconds_ = input.readDouble();
287  break;
288  }
289  case 296: {
290  bitField1_ |= 0x00000100;
291  maxNumberOfConflicts_ = input.readInt64();
292  break;
293  }
294  case 320: {
295  bitField1_ |= 0x00000200;
296  maxMemoryInMb_ = input.readInt64();
297  break;
298  }
299  case 328: {
300  bitField1_ |= 0x00004000;
301  logSearchProgress_ = input.readBool();
302  break;
303  }
304  case 344: {
305  bitField1_ |= 0x00008000;
306  usePbResolution_ = input.readBool();
307  break;
308  }
309  case 352: {
310  bitField0_ |= 0x00000004;
311  usePhaseSaving_ = input.readBool();
312  break;
313  }
314  case 361: {
315  bitField0_ |= 0x00000010;
316  randomPolarityRatio_ = input.readDouble();
317  break;
318  }
319  case 368: {
320  bitField0_ |= 0x00020000;
321  pbCleanupIncrement_ = input.readInt32();
322  break;
323  }
324  case 377: {
325  bitField0_ |= 0x00040000;
326  pbCleanupRatio_ = input.readDouble();
327  break;
328  }
329  case 384: {
330  bitField1_ |= 0x00010000;
331  minimizeReductionDuringPbResolution_ = input.readBool();
332  break;
333  }
334  case 392: {
335  bitField1_ |= 0x00020000;
336  countAssumptionLevelsInLbd_ = input.readBool();
337  break;
338  }
339  case 400: {
340  bitField2_ |= 0x00000040;
341  minimizeCore_ = input.readBool();
342  break;
343  }
344  case 408: {
345  int rawValue = input.readEnum();
346  @SuppressWarnings("deprecation")
347  com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(rawValue);
348  if (value == null) {
349  unknownFields.mergeVarintField(51, rawValue);
350  } else {
351  bitField2_ |= 0x00000200;
352  maxSatAssumptionOrder_ = rawValue;
353  }
354  break;
355  }
356  case 416: {
357  bitField2_ |= 0x00000400;
358  maxSatReverseAssumptionOrder_ = input.readBool();
359  break;
360  }
361  case 424: {
362  int rawValue = input.readEnum();
363  @SuppressWarnings("deprecation")
364  com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(rawValue);
365  if (value == null) {
366  unknownFields.mergeVarintField(53, rawValue);
367  } else {
368  bitField2_ |= 0x00000800;
369  maxSatStratification_ = rawValue;
370  }
371  break;
372  }
373  case 432: {
374  bitField1_ |= 0x00040000;
375  presolveBveThreshold_ = input.readInt32();
376  break;
377  }
378  case 440: {
379  bitField1_ |= 0x00080000;
380  presolveBveClauseWeight_ = input.readInt32();
381  break;
382  }
383  case 448: {
384  bitField0_ |= 0x00000800;
385  subsumptionDuringConflictAnalysis_ = input.readBool();
386  break;
387  }
388  case 457: {
389  bitField1_ |= 0x00100000;
390  presolveProbingDeterministicTimeLimit_ = input.readDouble();
391  break;
392  }
393  case 464: {
394  int rawValue = input.readEnum();
395  @SuppressWarnings("deprecation")
396  com.google.ortools.sat.SatParameters.ClauseProtection value = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(rawValue);
397  if (value == null) {
398  unknownFields.mergeVarintField(58, rawValue);
399  } else {
400  bitField0_ |= 0x00004000;
401  clauseCleanupProtection_ = rawValue;
402  }
403  break;
404  }
405  case 472: {
406  bitField0_ |= 0x00008000;
407  clauseCleanupLbdBound_ = input.readInt32();
408  break;
409  }
410  case 480: {
411  int rawValue = input.readEnum();
412  @SuppressWarnings("deprecation")
413  com.google.ortools.sat.SatParameters.ClauseOrdering value = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(rawValue);
414  if (value == null) {
415  unknownFields.mergeVarintField(60, rawValue);
416  } else {
417  bitField0_ |= 0x00010000;
418  clauseCleanupOrdering_ = rawValue;
419  }
420  break;
421  }
422  case 488: {
423  int rawValue = input.readEnum();
424  @SuppressWarnings("deprecation")
425  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
426  if (value == null) {
427  unknownFields.mergeVarintField(61, rawValue);
428  } else {
429  if (!((mutable_bitField0_ & 0x10000000) != 0)) {
430  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
431  mutable_bitField0_ |= 0x10000000;
432  }
433  restartAlgorithms_.add(rawValue);
434  }
435  break;
436  }
437  case 490: {
438  int length = input.readRawVarint32();
439  int oldLimit = input.pushLimit(length);
440  while(input.getBytesUntilLimit() > 0) {
441  int rawValue = input.readEnum();
442  @SuppressWarnings("deprecation")
443  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
444  if (value == null) {
445  unknownFields.mergeVarintField(61, rawValue);
446  } else {
447  if (!((mutable_bitField0_ & 0x10000000) != 0)) {
448  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
449  mutable_bitField0_ |= 0x10000000;
450  }
451  restartAlgorithms_.add(rawValue);
452  }
453  }
454  input.popLimit(oldLimit);
455  break;
456  }
457  case 496: {
458  bitField0_ |= 0x40000000;
459  restartRunningWindowSize_ = input.readInt32();
460  break;
461  }
462  case 505: {
463  bitField0_ |= 0x80000000;
464  restartDlAverageRatio_ = input.readDouble();
465  break;
466  }
467  case 512: {
468  bitField1_ |= 0x00000002;
469  useBlockingRestart_ = input.readBool();
470  break;
471  }
472  case 520: {
473  bitField1_ |= 0x00000004;
474  blockingRestartWindowSize_ = input.readInt32();
475  break;
476  }
477  case 529: {
478  bitField1_ |= 0x00000008;
479  blockingRestartMultiplier_ = input.readDouble();
480  break;
481  }
482  case 537: {
483  bitField1_ |= 0x00000080;
484  maxDeterministicTime_ = input.readDouble();
485  break;
486  }
487  case 544: {
488  bitField1_ |= 0x00000010;
489  numConflictsBeforeStrategyChanges_ = input.readInt32();
490  break;
491  }
492  case 553: {
493  bitField1_ |= 0x00000020;
494  strategyChangeIncreaseRatio_ = input.readDouble();
495  break;
496  }
497  case 562: {
498  com.google.protobuf.ByteString bs = input.readBytes();
499  bitField0_ |= 0x10000000;
500  defaultRestartAlgorithms_ = bs;
501  break;
502  }
503  case 569: {
504  bitField1_ |= 0x00000001;
505  restartLbdAverageRatio_ = input.readDouble();
506  break;
507  }
508  case 576: {
509  bitField1_ |= 0x00400000;
510  presolveUseBva_ = input.readBool();
511  break;
512  }
513  case 584: {
514  bitField1_ |= 0x00800000;
515  presolveBvaThreshold_ = input.readInt32();
516  break;
517  }
518  case 592: {
519  bitField2_ |= 0x00001000;
520  usePrecedencesInDisjunctiveConstraint_ = input.readBool();
521  break;
522  }
523  case 600: {
524  bitField0_ |= 0x00000040;
525  useErwaHeuristic_ = input.readBool();
526  break;
527  }
528  case 609: {
529  bitField0_ |= 0x00000080;
530  initialVariablesActivity_ = input.readDouble();
531  break;
532  }
533  case 616: {
534  bitField0_ |= 0x00000100;
535  alsoBumpVariablesInConflictReasons_ = input.readBool();
536  break;
537  }
538  case 624: {
539  bitField2_ |= 0x00002000;
540  useOverloadCheckerInCumulativeConstraint_ = input.readBool();
541  break;
542  }
543  case 632: {
544  bitField2_ |= 0x00004000;
545  useTimetableEdgeFindingInCumulativeConstraint_ = input.readBool();
546  break;
547  }
548  case 640: {
549  bitField2_ |= 0x00008000;
550  useDisjunctiveConstraintInCumulativeConstraint_ = input.readBool();
551  break;
552  }
553  case 656: {
554  int rawValue = input.readEnum();
555  @SuppressWarnings("deprecation")
556  com.google.ortools.sat.SatParameters.SearchBranching value = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(rawValue);
557  if (value == null) {
558  unknownFields.mergeVarintField(82, rawValue);
559  } else {
560  bitField3_ |= 0x00000004;
561  searchBranching_ = rawValue;
562  }
563  break;
564  }
565  case 664: {
566  bitField3_ |= 0x00001000;
567  optimizeWithCore_ = input.readBool();
568  break;
569  }
570  case 672: {
571  bitField2_ |= 0x00000080;
572  findMultipleCores_ = input.readBool();
573  break;
574  }
575  case 680: {
576  bitField3_ |= 0x00004000;
577  optimizeWithMaxHs_ = input.readBool();
578  break;
579  }
580  case 688: {
581  bitField1_ |= 0x02000000;
582  cpModelPresolve_ = input.readBool();
583  break;
584  }
585  case 696: {
586  bitField3_ |= 0x00008000;
587  enumerateAllSolutions_ = input.readBool();
588  break;
589  }
590  case 704: {
591  bitField1_ |= 0x00200000;
592  presolveBlockedClause_ = input.readBool();
593  break;
594  }
595  case 712: {
596  bitField2_ |= 0x00000100;
597  coverOptimization_ = input.readBool();
598  break;
599  }
600  case 720: {
601  bitField2_ |= 0x00010000;
602  linearizationLevel_ = input.readInt32();
603  break;
604  }
605  case 728: {
606  bitField2_ |= 0x00040000;
607  maxNumCuts_ = input.readInt32();
608  break;
609  }
610  case 736: {
611  bitField2_ |= 0x00080000;
612  onlyAddCutsAtLevelZero_ = input.readBool();
613  break;
614  }
615  case 744: {
616  bitField1_ |= 0x20000000;
617  cpModelUseSatPresolve_ = input.readBool();
618  break;
619  }
620  case 752: {
621  bitField3_ |= 0x00000020;
622  exploitIntegerLpSolution_ = input.readBool();
623  break;
624  }
625  case 760: {
626  bitField3_ |= 0x00040000;
627  autoDetectGreaterThanAtLeastOneOf_ = input.readBool();
628  break;
629  }
630  case 768: {
631  bitField0_ |= 0x00080000;
632  minimizeWithPropagationRestartPeriod_ = input.readInt32();
633  break;
634  }
635  case 776: {
636  bitField0_ |= 0x00100000;
637  minimizeWithPropagationNumDecisions_ = input.readInt32();
638  break;
639  }
640  case 784: {
641  bitField3_ |= 0x00080000;
642  stopAfterFirstSolution_ = input.readBool();
643  break;
644  }
645  case 792: {
646  bitField3_ |= 0x00002000;
647  binarySearchNumConflicts_ = input.readInt32();
648  break;
649  }
650  case 800: {
651  bitField3_ |= 0x00200000;
652  numSearchWorkers_ = input.readInt32();
653  break;
654  }
655  case 808: {
656  bitField3_ |= 0x08000000;
657  useLnsOnly_ = input.readBool();
658  break;
659  }
660  case 824: {
661  bitField4_ |= 0x00000004;
662  randomizeSearch_ = input.readBool();
663  break;
664  }
665  case 832: {
666  bitField4_ |= 0x00000008;
667  searchRandomizationTolerance_ = input.readInt64();
668  break;
669  }
670  case 840: {
671  bitField3_ |= 0x10000000;
672  lnsFocusOnDecisionVariables_ = input.readBool();
673  break;
674  }
675  case 848: {
676  bitField3_ |= 0x00020000;
677  instantiateAllVariables_ = input.readBool();
678  break;
679  }
680  case 856: {
681  bitField2_ |= 0x00020000;
682  booleanEncodingLevel_ = input.readInt32();
683  break;
684  }
685  case 864: {
686  bitField4_ |= 0x00000010;
687  useOptionalVariables_ = input.readBool();
688  break;
689  }
690  case 872: {
691  bitField4_ |= 0x00000020;
692  useExactLpReason_ = input.readBool();
693  break;
694  }
695  case 880: {
696  bitField1_ |= 0x10000000;
697  cpModelProbingLevel_ = input.readInt32();
698  break;
699  }
700  case 888: {
701  bitField2_ |= 0x00100000;
702  addKnapsackCuts_ = input.readBool();
703  break;
704  }
705  case 896: {
706  bitField2_ |= 0x04000000;
707  addLpConstraintsLazily_ = input.readBool();
708  break;
709  }
710  case 904: {
711  bitField3_ |= 0x02000000;
712  shareObjectiveBounds_ = input.readBool();
713  break;
714  }
715  case 912: {
716  bitField3_ |= 0x04000000;
717  shareLevelZeroBounds_ = input.readBool();
718  break;
719  }
720  case 921: {
721  bitField2_ |= 0x08000000;
722  minOrthogonalityForLpConstraints_ = input.readDouble();
723  break;
724  }
725  case 928: {
726  bitField3_ |= 0x00000040;
727  exploitAllLpSolution_ = input.readBool();
728  break;
729  }
730  case 936: {
731  bitField2_ |= 0x00200000;
732  addCgCuts_ = input.readBool();
733  break;
734  }
735  case 952: {
736  bitField2_ |= 0x02000000;
737  maxIntegerRoundingScaling_ = input.readInt32();
738  break;
739  }
740  case 960: {
741  bitField2_ |= 0x00400000;
742  addMirCuts_ = input.readBool();
743  break;
744  }
745  case 968: {
746  bitField2_ |= 0x20000000;
747  maxConsecutiveInactiveCount_ = input.readInt32();
748  break;
749  }
750  case 976: {
751  bitField3_ |= 0x00000002;
752  newConstraintsBatchSize_ = input.readInt32();
753  break;
754  }
755  case 984: {
756  bitField3_ |= 0x00000800;
757  pseudoCostReliabilityThreshold_ = input.readInt64();
758  break;
759  }
760  case 993: {
761  bitField4_ |= 0x00000400;
762  mipMaxBound_ = input.readDouble();
763  break;
764  }
765  case 1001: {
766  bitField4_ |= 0x00000800;
767  mipVarScaling_ = input.readDouble();
768  break;
769  }
770  case 1009: {
771  bitField4_ |= 0x00002000;
772  mipWantedPrecision_ = input.readDouble();
773  break;
774  }
775  case 1016: {
776  bitField4_ |= 0x00004000;
777  mipMaxActivityExponent_ = input.readInt32();
778  break;
779  }
780  case 1025: {
781  bitField4_ |= 0x00008000;
782  mipCheckPrecision_ = input.readDouble();
783  break;
784  }
785  case 1032: {
786  bitField3_ |= 0x20000000;
787  useRinsLns_ = input.readBool();
788  break;
789  }
790  case 1040: {
791  bitField3_ |= 0x00000080;
792  exploitBestSolution_ = input.readBool();
793  break;
794  }
795  case 1048: {
796  bitField3_ |= 0x00000200;
797  exploitObjective_ = input.readBool();
798  break;
799  }
800  case 1056: {
801  bitField3_ |= 0x00010000;
802  fillTightenedDomainsInResponse_ = input.readBool();
803  break;
804  }
805  case 1064: {
806  bitField4_ |= 0x00000080;
807  useCombinedNoOverlap_ = input.readBool();
808  break;
809  }
810  case 1072: {
811  bitField3_ |= 0x00800000;
812  interleaveBatchSize_ = input.readInt32();
813  break;
814  }
815  case 1080: {
816  bitField4_ |= 0x00000100;
817  catchSigintSignal_ = input.readBool();
818  break;
819  }
820  case 1088: {
821  bitField3_ |= 0x00400000;
822  interleaveSearch_ = input.readBool();
823  break;
824  }
825  case 1096: {
826  bitField4_ |= 0x00000002;
827  diversifyLnsParams_ = input.readBool();
828  break;
829  }
830  case 1104: {
831  bitField1_ |= 0x01000000;
832  maxPresolveIterations_ = input.readInt32();
833  break;
834  }
835  case 1112: {
836  bitField4_ |= 0x00000040;
837  useBranchingInLp_ = input.readBool();
838  break;
839  }
840  case 1120: {
841  bitField1_ |= 0x80000000;
842  expandElementConstraints_ = input.readBool();
843  break;
844  }
845  case 1128: {
846  bitField3_ |= 0x01000000;
847  reduceMemoryUsageInInterleaveMode_ = input.readBool();
848  break;
849  }
850  case 1136: {
851  bitField3_ |= 0x00000400;
852  probingPeriodAtRoot_ = input.readInt64();
853  break;
854  }
855  case 1144: {
856  bitField2_ |= 0x00000001;
857  expandAutomatonConstraints_ = input.readBool();
858  break;
859  }
860  case 1152: {
861  bitField4_ |= 0x00000200;
862  useImpliedBounds_ = input.readBool();
863  break;
864  }
865  case 1161: {
866  bitField2_ |= 0x00000004;
867  mergeNoOverlapWorkLimit_ = input.readDouble();
868  break;
869  }
870  case 1169: {
871  bitField2_ |= 0x00000008;
872  mergeAtMostOneWorkLimit_ = input.readDouble();
873  break;
874  }
875  case 1176: {
876  bitField2_ |= 0x00000010;
877  presolveSubstitutionLevel_ = input.readInt32();
878  break;
879  }
880  case 1184: {
881  bitField2_ |= 0x00800000;
882  maxAllDiffCutSize_ = input.readInt32();
883  break;
884  }
885  case 1192: {
886  bitField3_ |= 0x00100000;
887  stopAfterPresolve_ = input.readBool();
888  break;
889  }
890  case 1200: {
891  bitField4_ |= 0x00000001;
892  useRelaxationLns_ = input.readBool();
893  break;
894  }
895  case 1208: {
896  bitField1_ |= 0x08000000;
897  cpModelMaxNumPresolveOperations_ = input.readInt32();
898  break;
899  }
900  case 1216: {
901  bitField2_ |= 0x01000000;
902  addLinMaxCuts_ = input.readBool();
903  break;
904  }
905  case 1224: {
906  bitField3_ |= 0x00000008;
907  hintConflictLimit_ = input.readInt32();
908  break;
909  }
910  case 1232: {
911  bitField2_ |= 0x10000000;
912  maxCutRoundsAtLevelZero_ = input.readInt32();
913  break;
914  }
915  case 1241: {
916  bitField2_ |= 0x40000000;
917  cutMaxActiveCountValue_ = input.readDouble();
918  break;
919  }
920  case 1249: {
921  bitField2_ |= 0x80000000;
922  cutActiveCountDecay_ = input.readDouble();
923  break;
924  }
925  case 1256: {
926  bitField3_ |= 0x00000001;
927  cutCleanupTarget_ = input.readInt32();
928  break;
929  }
930  case 1264: {
931  bitField2_ |= 0x00000002;
932  expandTableConstraints_ = input.readBool();
933  break;
934  }
935  case 1273: {
936  bitField1_ |= 0x00000400;
937  absoluteGapLimit_ = input.readDouble();
938  break;
939  }
940  case 1281: {
941  bitField1_ |= 0x00000800;
942  relativeGapLimit_ = input.readDouble();
943  break;
944  }
945  case 1288: {
946  bitField3_ |= 0x00000100;
947  exploitRelaxationSolution_ = input.readBool();
948  break;
949  }
950  case 1296: {
951  bitField1_ |= 0x04000000;
952  cpModelPostsolveWithFullSolver_ = input.readBool();
953  break;
954  }
955  case 1304: {
956  bitField1_ |= 0x40000000;
957  useSatInprocessing_ = input.readBool();
958  break;
959  }
960  case 1312: {
961  bitField3_ |= 0x40000000;
962  useFeasibilityPump_ = input.readBool();
963  break;
964  }
965  case 1320: {
966  int rawValue = input.readEnum();
967  @SuppressWarnings("deprecation")
968  com.google.ortools.sat.SatParameters.FPRoundingMethod value = com.google.ortools.sat.SatParameters.FPRoundingMethod.valueOf(rawValue);
969  if (value == null) {
970  unknownFields.mergeVarintField(165, rawValue);
971  } else {
972  bitField3_ |= 0x80000000;
973  fpRounding_ = rawValue;
974  }
975  break;
976  }
977  case 1328: {
978  bitField4_ |= 0x00001000;
979  mipAutomaticallyScaleVariables_ = input.readBool();
980  break;
981  }
982  case 1336: {
983  bitField3_ |= 0x00000010;
984  repairHint_ = input.readBool();
985  break;
986  }
987  case 1344: {
988  bitField0_ |= 0x00000008;
989  polarityRephaseIncrement_ = input.readInt32();
990  break;
991  }
992  default: {
993  if (!parseUnknownField(
994  input, unknownFields, extensionRegistry, tag)) {
995  done = true;
996  }
997  break;
998  }
999  }
1000  }
1001  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1002  throw e.setUnfinishedMessage(this);
1003  } catch (java.io.IOException e) {
1004  throw new com.google.protobuf.InvalidProtocolBufferException(
1005  e).setUnfinishedMessage(this);
1006  } finally {
1007  if (((mutable_bitField0_ & 0x10000000) != 0)) {
1008  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
1009  }
1010  this.unknownFields = unknownFields.build();
1011  makeExtensionsImmutable();
1012  }
1013  }
1014  public static final com.google.protobuf.Descriptors.Descriptor
1016  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
1017  }
1018 
1019  @java.lang.Override
1020  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1022  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
1023  .ensureFieldAccessorsInitialized(
1025  }
1026 
1035  public enum VariableOrder
1036  implements com.google.protobuf.ProtocolMessageEnum {
1053  ;
1054 
1062  public static final int IN_ORDER_VALUE = 0;
1066  public static final int IN_REVERSE_ORDER_VALUE = 1;
1070  public static final int IN_RANDOM_ORDER_VALUE = 2;
1071 
1072 
1073  public final int getNumber() {
1074  return value;
1075  }
1076 
1082  @java.lang.Deprecated
1083  public static VariableOrder valueOf(int value) {
1084  return forNumber(value);
1085  }
1086 
1091  public static VariableOrder forNumber(int value) {
1092  switch (value) {
1093  case 0: return IN_ORDER;
1094  case 1: return IN_REVERSE_ORDER;
1095  case 2: return IN_RANDOM_ORDER;
1096  default: return null;
1097  }
1098  }
1099 
1100  public static com.google.protobuf.Internal.EnumLiteMap<VariableOrder>
1102  return internalValueMap;
1103  }
1104  private static final com.google.protobuf.Internal.EnumLiteMap<
1105  VariableOrder> internalValueMap =
1106  new com.google.protobuf.Internal.EnumLiteMap<VariableOrder>() {
1107  public VariableOrder findValueByNumber(int number) {
1108  return VariableOrder.forNumber(number);
1109  }
1110  };
1111 
1112  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1114  return getDescriptor().getValues().get(ordinal());
1115  }
1116  public final com.google.protobuf.Descriptors.EnumDescriptor
1118  return getDescriptor();
1119  }
1120  public static final com.google.protobuf.Descriptors.EnumDescriptor
1122  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
1123  }
1124 
1125  private static final VariableOrder[] VALUES = values();
1126 
1127  public static VariableOrder valueOf(
1128  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1129  if (desc.getType() != getDescriptor()) {
1130  throw new java.lang.IllegalArgumentException(
1131  "EnumValueDescriptor is not for this type.");
1132  }
1133  return VALUES[desc.getIndex()];
1134  }
1135 
1136  private final int value;
1137 
1138  private VariableOrder(int value) {
1139  this.value = value;
1140  }
1141 
1142  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.VariableOrder)
1143  }
1144 
1156  public enum Polarity
1157  implements com.google.protobuf.ProtocolMessageEnum {
1189  ;
1190 
1194  public static final int POLARITY_TRUE_VALUE = 0;
1198  public static final int POLARITY_FALSE_VALUE = 1;
1202  public static final int POLARITY_RANDOM_VALUE = 2;
1213  public static final int POLARITY_WEIGHTED_SIGN_VALUE = 3;
1221  public static final int POLARITY_REVERSE_WEIGHTED_SIGN_VALUE = 4;
1222 
1223 
1224  public final int getNumber() {
1225  return value;
1226  }
1227 
1233  @java.lang.Deprecated
1234  public static Polarity valueOf(int value) {
1235  return forNumber(value);
1236  }
1237 
1242  public static Polarity forNumber(int value) {
1243  switch (value) {
1244  case 0: return POLARITY_TRUE;
1245  case 1: return POLARITY_FALSE;
1246  case 2: return POLARITY_RANDOM;
1247  case 3: return POLARITY_WEIGHTED_SIGN;
1248  case 4: return POLARITY_REVERSE_WEIGHTED_SIGN;
1249  default: return null;
1250  }
1251  }
1252 
1253  public static com.google.protobuf.Internal.EnumLiteMap<Polarity>
1255  return internalValueMap;
1256  }
1257  private static final com.google.protobuf.Internal.EnumLiteMap<
1258  Polarity> internalValueMap =
1259  new com.google.protobuf.Internal.EnumLiteMap<Polarity>() {
1260  public Polarity findValueByNumber(int number) {
1261  return Polarity.forNumber(number);
1262  }
1263  };
1264 
1265  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1267  return getDescriptor().getValues().get(ordinal());
1268  }
1269  public final com.google.protobuf.Descriptors.EnumDescriptor
1271  return getDescriptor();
1272  }
1273  public static final com.google.protobuf.Descriptors.EnumDescriptor
1275  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
1276  }
1277 
1278  private static final Polarity[] VALUES = values();
1279 
1280  public static Polarity valueOf(
1281  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1282  if (desc.getType() != getDescriptor()) {
1283  throw new java.lang.IllegalArgumentException(
1284  "EnumValueDescriptor is not for this type.");
1285  }
1286  return VALUES[desc.getIndex()];
1287  }
1288 
1289  private final int value;
1290 
1291  private Polarity(int value) {
1292  this.value = value;
1293  }
1294 
1295  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.Polarity)
1296  }
1297 
1306  implements com.google.protobuf.ProtocolMessageEnum {
1310  NONE(0),
1323  ;
1324 
1328  public static final int NONE_VALUE = 0;
1332  public static final int SIMPLE_VALUE = 1;
1336  public static final int RECURSIVE_VALUE = 2;
1340  public static final int EXPERIMENTAL_VALUE = 3;
1341 
1342 
1343  public final int getNumber() {
1344  return value;
1345  }
1346 
1352  @java.lang.Deprecated
1353  public static ConflictMinimizationAlgorithm valueOf(int value) {
1354  return forNumber(value);
1355  }
1356 
1361  public static ConflictMinimizationAlgorithm forNumber(int value) {
1362  switch (value) {
1363  case 0: return NONE;
1364  case 1: return SIMPLE;
1365  case 2: return RECURSIVE;
1366  case 3: return EXPERIMENTAL;
1367  default: return null;
1368  }
1369  }
1370 
1371  public static com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>
1373  return internalValueMap;
1374  }
1375  private static final com.google.protobuf.Internal.EnumLiteMap<
1376  ConflictMinimizationAlgorithm> internalValueMap =
1377  new com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>() {
1378  public ConflictMinimizationAlgorithm findValueByNumber(int number) {
1380  }
1381  };
1382 
1383  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1385  return getDescriptor().getValues().get(ordinal());
1386  }
1387  public final com.google.protobuf.Descriptors.EnumDescriptor
1389  return getDescriptor();
1390  }
1391  public static final com.google.protobuf.Descriptors.EnumDescriptor
1393  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
1394  }
1395 
1396  private static final ConflictMinimizationAlgorithm[] VALUES = values();
1397 
1399  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1400  if (desc.getType() != getDescriptor()) {
1401  throw new java.lang.IllegalArgumentException(
1402  "EnumValueDescriptor is not for this type.");
1403  }
1404  return VALUES[desc.getIndex()];
1405  }
1406 
1407  private final int value;
1408 
1409  private ConflictMinimizationAlgorithm(int value) {
1410  this.value = value;
1411  }
1412 
1413  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ConflictMinimizationAlgorithm)
1414  }
1415 
1425  implements com.google.protobuf.ProtocolMessageEnum {
1446  ;
1447 
1451  public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
1455  public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
1459  public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
1463  public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
1467  public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
1468 
1469 
1470  public final int getNumber() {
1471  return value;
1472  }
1473 
1479  @java.lang.Deprecated
1480  public static BinaryMinizationAlgorithm valueOf(int value) {
1481  return forNumber(value);
1482  }
1483 
1488  public static BinaryMinizationAlgorithm forNumber(int value) {
1489  switch (value) {
1490  case 0: return NO_BINARY_MINIMIZATION;
1491  case 1: return BINARY_MINIMIZATION_FIRST;
1492  case 4: return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
1493  case 2: return BINARY_MINIMIZATION_WITH_REACHABILITY;
1494  case 3: return EXPERIMENTAL_BINARY_MINIMIZATION;
1495  default: return null;
1496  }
1497  }
1498 
1499  public static com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>
1501  return internalValueMap;
1502  }
1503  private static final com.google.protobuf.Internal.EnumLiteMap<
1504  BinaryMinizationAlgorithm> internalValueMap =
1505  new com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>() {
1506  public BinaryMinizationAlgorithm findValueByNumber(int number) {
1507  return BinaryMinizationAlgorithm.forNumber(number);
1508  }
1509  };
1510 
1511  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1513  return getDescriptor().getValues().get(ordinal());
1514  }
1515  public final com.google.protobuf.Descriptors.EnumDescriptor
1517  return getDescriptor();
1518  }
1519  public static final com.google.protobuf.Descriptors.EnumDescriptor
1521  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
1522  }
1523 
1524  private static final BinaryMinizationAlgorithm[] VALUES = values();
1525 
1527  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1528  if (desc.getType() != getDescriptor()) {
1529  throw new java.lang.IllegalArgumentException(
1530  "EnumValueDescriptor is not for this type.");
1531  }
1532  return VALUES[desc.getIndex()];
1533  }
1534 
1535  private final int value;
1536 
1537  private BinaryMinizationAlgorithm(int value) {
1538  this.value = value;
1539  }
1540 
1541  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.BinaryMinizationAlgorithm)
1542  }
1543 
1553  public enum ClauseProtection
1554  implements com.google.protobuf.ProtocolMessageEnum {
1579  ;
1580 
1588  public static final int PROTECTION_NONE_VALUE = 0;
1596  public static final int PROTECTION_ALWAYS_VALUE = 1;
1604  public static final int PROTECTION_LBD_VALUE = 2;
1605 
1606 
1607  public final int getNumber() {
1608  return value;
1609  }
1610 
1616  @java.lang.Deprecated
1617  public static ClauseProtection valueOf(int value) {
1618  return forNumber(value);
1619  }
1620 
1625  public static ClauseProtection forNumber(int value) {
1626  switch (value) {
1627  case 0: return PROTECTION_NONE;
1628  case 1: return PROTECTION_ALWAYS;
1629  case 2: return PROTECTION_LBD;
1630  default: return null;
1631  }
1632  }
1633 
1634  public static com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>
1636  return internalValueMap;
1637  }
1638  private static final com.google.protobuf.Internal.EnumLiteMap<
1639  ClauseProtection> internalValueMap =
1640  new com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>() {
1641  public ClauseProtection findValueByNumber(int number) {
1642  return ClauseProtection.forNumber(number);
1643  }
1644  };
1645 
1646  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1648  return getDescriptor().getValues().get(ordinal());
1649  }
1650  public final com.google.protobuf.Descriptors.EnumDescriptor
1652  return getDescriptor();
1653  }
1654  public static final com.google.protobuf.Descriptors.EnumDescriptor
1656  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
1657  }
1658 
1659  private static final ClauseProtection[] VALUES = values();
1660 
1661  public static ClauseProtection valueOf(
1662  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1663  if (desc.getType() != getDescriptor()) {
1664  throw new java.lang.IllegalArgumentException(
1665  "EnumValueDescriptor is not for this type.");
1666  }
1667  return VALUES[desc.getIndex()];
1668  }
1669 
1670  private final int value;
1671 
1672  private ClauseProtection(int value) {
1673  this.value = value;
1674  }
1675 
1676  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseProtection)
1677  }
1678 
1687  public enum ClauseOrdering
1688  implements com.google.protobuf.ProtocolMessageEnum {
1705  ;
1706 
1714  public static final int CLAUSE_ACTIVITY_VALUE = 0;
1722  public static final int CLAUSE_LBD_VALUE = 1;
1723 
1724 
1725  public final int getNumber() {
1726  return value;
1727  }
1728 
1734  @java.lang.Deprecated
1735  public static ClauseOrdering valueOf(int value) {
1736  return forNumber(value);
1737  }
1738 
1743  public static ClauseOrdering forNumber(int value) {
1744  switch (value) {
1745  case 0: return CLAUSE_ACTIVITY;
1746  case 1: return CLAUSE_LBD;
1747  default: return null;
1748  }
1749  }
1750 
1751  public static com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>
1753  return internalValueMap;
1754  }
1755  private static final com.google.protobuf.Internal.EnumLiteMap<
1756  ClauseOrdering> internalValueMap =
1757  new com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>() {
1758  public ClauseOrdering findValueByNumber(int number) {
1759  return ClauseOrdering.forNumber(number);
1760  }
1761  };
1762 
1763  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1765  return getDescriptor().getValues().get(ordinal());
1766  }
1767  public final com.google.protobuf.Descriptors.EnumDescriptor
1769  return getDescriptor();
1770  }
1771  public static final com.google.protobuf.Descriptors.EnumDescriptor
1773  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
1774  }
1775 
1776  private static final ClauseOrdering[] VALUES = values();
1777 
1778  public static ClauseOrdering valueOf(
1779  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1780  if (desc.getType() != getDescriptor()) {
1781  throw new java.lang.IllegalArgumentException(
1782  "EnumValueDescriptor is not for this type.");
1783  }
1784  return VALUES[desc.getIndex()];
1785  }
1786 
1787  private final int value;
1788 
1789  private ClauseOrdering(int value) {
1790  this.value = value;
1791  }
1792 
1793  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseOrdering)
1794  }
1795 
1807  public enum RestartAlgorithm
1808  implements com.google.protobuf.ProtocolMessageEnum {
1845  ;
1846 
1850  public static final int NO_RESTART_VALUE = 0;
1858  public static final int LUBY_RESTART_VALUE = 1;
1866  public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
1874  public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
1882  public static final int FIXED_RESTART_VALUE = 4;
1883 
1884 
1885  public final int getNumber() {
1886  return value;
1887  }
1888 
1894  @java.lang.Deprecated
1895  public static RestartAlgorithm valueOf(int value) {
1896  return forNumber(value);
1897  }
1898 
1903  public static RestartAlgorithm forNumber(int value) {
1904  switch (value) {
1905  case 0: return NO_RESTART;
1906  case 1: return LUBY_RESTART;
1907  case 2: return DL_MOVING_AVERAGE_RESTART;
1908  case 3: return LBD_MOVING_AVERAGE_RESTART;
1909  case 4: return FIXED_RESTART;
1910  default: return null;
1911  }
1912  }
1913 
1914  public static com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>
1916  return internalValueMap;
1917  }
1918  private static final com.google.protobuf.Internal.EnumLiteMap<
1919  RestartAlgorithm> internalValueMap =
1920  new com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>() {
1921  public RestartAlgorithm findValueByNumber(int number) {
1922  return RestartAlgorithm.forNumber(number);
1923  }
1924  };
1925 
1926  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1928  return getDescriptor().getValues().get(ordinal());
1929  }
1930  public final com.google.protobuf.Descriptors.EnumDescriptor
1932  return getDescriptor();
1933  }
1934  public static final com.google.protobuf.Descriptors.EnumDescriptor
1936  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
1937  }
1938 
1939  private static final RestartAlgorithm[] VALUES = values();
1940 
1941  public static RestartAlgorithm valueOf(
1942  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1943  if (desc.getType() != getDescriptor()) {
1944  throw new java.lang.IllegalArgumentException(
1945  "EnumValueDescriptor is not for this type.");
1946  }
1947  return VALUES[desc.getIndex()];
1948  }
1949 
1950  private final int value;
1951 
1952  private RestartAlgorithm(int value) {
1953  this.value = value;
1954  }
1955 
1956  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.RestartAlgorithm)
1957  }
1958 
1967  implements com.google.protobuf.ProtocolMessageEnum {
1980  ;
1981 
1985  public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
1989  public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
1993  public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
1994 
1995 
1996  public final int getNumber() {
1997  return value;
1998  }
1999 
2005  @java.lang.Deprecated
2006  public static MaxSatAssumptionOrder valueOf(int value) {
2007  return forNumber(value);
2008  }
2009 
2014  public static MaxSatAssumptionOrder forNumber(int value) {
2015  switch (value) {
2016  case 0: return DEFAULT_ASSUMPTION_ORDER;
2017  case 1: return ORDER_ASSUMPTION_BY_DEPTH;
2018  case 2: return ORDER_ASSUMPTION_BY_WEIGHT;
2019  default: return null;
2020  }
2021  }
2022 
2023  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>
2025  return internalValueMap;
2026  }
2027  private static final com.google.protobuf.Internal.EnumLiteMap<
2028  MaxSatAssumptionOrder> internalValueMap =
2029  new com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>() {
2030  public MaxSatAssumptionOrder findValueByNumber(int number) {
2031  return MaxSatAssumptionOrder.forNumber(number);
2032  }
2033  };
2034 
2035  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2037  return getDescriptor().getValues().get(ordinal());
2038  }
2039  public final com.google.protobuf.Descriptors.EnumDescriptor
2041  return getDescriptor();
2042  }
2043  public static final com.google.protobuf.Descriptors.EnumDescriptor
2045  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
2046  }
2047 
2048  private static final MaxSatAssumptionOrder[] VALUES = values();
2049 
2051  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2052  if (desc.getType() != getDescriptor()) {
2053  throw new java.lang.IllegalArgumentException(
2054  "EnumValueDescriptor is not for this type.");
2055  }
2056  return VALUES[desc.getIndex()];
2057  }
2058 
2059  private final int value;
2060 
2061  private MaxSatAssumptionOrder(int value) {
2062  this.value = value;
2063  }
2064 
2065  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatAssumptionOrder)
2066  }
2067 
2076  implements com.google.protobuf.ProtocolMessageEnum {
2105  ;
2106 
2114  public static final int STRATIFICATION_NONE_VALUE = 0;
2123  public static final int STRATIFICATION_DESCENT_VALUE = 1;
2134  public static final int STRATIFICATION_ASCENT_VALUE = 2;
2135 
2136 
2137  public final int getNumber() {
2138  return value;
2139  }
2140 
2146  @java.lang.Deprecated
2147  public static MaxSatStratificationAlgorithm valueOf(int value) {
2148  return forNumber(value);
2149  }
2150 
2155  public static MaxSatStratificationAlgorithm forNumber(int value) {
2156  switch (value) {
2157  case 0: return STRATIFICATION_NONE;
2158  case 1: return STRATIFICATION_DESCENT;
2159  case 2: return STRATIFICATION_ASCENT;
2160  default: return null;
2161  }
2162  }
2163 
2164  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>
2166  return internalValueMap;
2167  }
2168  private static final com.google.protobuf.Internal.EnumLiteMap<
2169  MaxSatStratificationAlgorithm> internalValueMap =
2170  new com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>() {
2171  public MaxSatStratificationAlgorithm findValueByNumber(int number) {
2173  }
2174  };
2175 
2176  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2178  return getDescriptor().getValues().get(ordinal());
2179  }
2180  public final com.google.protobuf.Descriptors.EnumDescriptor
2182  return getDescriptor();
2183  }
2184  public static final com.google.protobuf.Descriptors.EnumDescriptor
2186  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
2187  }
2188 
2189  private static final MaxSatStratificationAlgorithm[] VALUES = values();
2190 
2192  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2193  if (desc.getType() != getDescriptor()) {
2194  throw new java.lang.IllegalArgumentException(
2195  "EnumValueDescriptor is not for this type.");
2196  }
2197  return VALUES[desc.getIndex()];
2198  }
2199 
2200  private final int value;
2201 
2202  private MaxSatStratificationAlgorithm(int value) {
2203  this.value = value;
2204  }
2205 
2206  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatStratificationAlgorithm)
2207  }
2208 
2216  public enum SearchBranching
2217  implements com.google.protobuf.ProtocolMessageEnum {
2285  ;
2286 
2295  public static final int AUTOMATIC_SEARCH_VALUE = 0;
2305  public static final int FIXED_SEARCH_VALUE = 1;
2313  public static final int PORTFOLIO_SEARCH_VALUE = 2;
2323  public static final int LP_SEARCH_VALUE = 3;
2333  public static final int PSEUDO_COST_SEARCH_VALUE = 4;
2343  public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
2353  public static final int HINT_SEARCH_VALUE = 6;
2354 
2355 
2356  public final int getNumber() {
2357  return value;
2358  }
2359 
2365  @java.lang.Deprecated
2366  public static SearchBranching valueOf(int value) {
2367  return forNumber(value);
2368  }
2369 
2374  public static SearchBranching forNumber(int value) {
2375  switch (value) {
2376  case 0: return AUTOMATIC_SEARCH;
2377  case 1: return FIXED_SEARCH;
2378  case 2: return PORTFOLIO_SEARCH;
2379  case 3: return LP_SEARCH;
2380  case 4: return PSEUDO_COST_SEARCH;
2381  case 5: return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
2382  case 6: return HINT_SEARCH;
2383  default: return null;
2384  }
2385  }
2386 
2387  public static com.google.protobuf.Internal.EnumLiteMap<SearchBranching>
2389  return internalValueMap;
2390  }
2391  private static final com.google.protobuf.Internal.EnumLiteMap<
2392  SearchBranching> internalValueMap =
2393  new com.google.protobuf.Internal.EnumLiteMap<SearchBranching>() {
2394  public SearchBranching findValueByNumber(int number) {
2395  return SearchBranching.forNumber(number);
2396  }
2397  };
2398 
2399  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2401  return getDescriptor().getValues().get(ordinal());
2402  }
2403  public final com.google.protobuf.Descriptors.EnumDescriptor
2405  return getDescriptor();
2406  }
2407  public static final com.google.protobuf.Descriptors.EnumDescriptor
2409  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
2410  }
2411 
2412  private static final SearchBranching[] VALUES = values();
2413 
2414  public static SearchBranching valueOf(
2415  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2416  if (desc.getType() != getDescriptor()) {
2417  throw new java.lang.IllegalArgumentException(
2418  "EnumValueDescriptor is not for this type.");
2419  }
2420  return VALUES[desc.getIndex()];
2421  }
2422 
2423  private final int value;
2424 
2425  private SearchBranching(int value) {
2426  this.value = value;
2427  }
2428 
2429  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.SearchBranching)
2430  }
2431 
2439  public enum FPRoundingMethod
2440  implements com.google.protobuf.ProtocolMessageEnum {
2481  ;
2482 
2490  public static final int NEAREST_INTEGER_VALUE = 0;
2500  public static final int LOCK_BASED_VALUE = 1;
2509  public static final int ACTIVE_LOCK_BASED_VALUE = 3;
2522  public static final int PROPAGATION_ASSISTED_VALUE = 2;
2523 
2524 
2525  public final int getNumber() {
2526  return value;
2527  }
2528 
2534  @java.lang.Deprecated
2535  public static FPRoundingMethod valueOf(int value) {
2536  return forNumber(value);
2537  }
2538 
2543  public static FPRoundingMethod forNumber(int value) {
2544  switch (value) {
2545  case 0: return NEAREST_INTEGER;
2546  case 1: return LOCK_BASED;
2547  case 3: return ACTIVE_LOCK_BASED;
2548  case 2: return PROPAGATION_ASSISTED;
2549  default: return null;
2550  }
2551  }
2552 
2553  public static com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>
2555  return internalValueMap;
2556  }
2557  private static final com.google.protobuf.Internal.EnumLiteMap<
2558  FPRoundingMethod> internalValueMap =
2559  new com.google.protobuf.Internal.EnumLiteMap<FPRoundingMethod>() {
2560  public FPRoundingMethod findValueByNumber(int number) {
2561  return FPRoundingMethod.forNumber(number);
2562  }
2563  };
2564 
2565  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2567  return getDescriptor().getValues().get(ordinal());
2568  }
2569  public final com.google.protobuf.Descriptors.EnumDescriptor
2571  return getDescriptor();
2572  }
2573  public static final com.google.protobuf.Descriptors.EnumDescriptor
2575  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(10);
2576  }
2577 
2578  private static final FPRoundingMethod[] VALUES = values();
2579 
2580  public static FPRoundingMethod valueOf(
2581  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2582  if (desc.getType() != getDescriptor()) {
2583  throw new java.lang.IllegalArgumentException(
2584  "EnumValueDescriptor is not for this type.");
2585  }
2586  return VALUES[desc.getIndex()];
2587  }
2588 
2589  private final int value;
2590 
2591  private FPRoundingMethod(int value) {
2592  this.value = value;
2593  }
2594 
2595  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.FPRoundingMethod)
2596  }
2597 
2598  private int bitField0_;
2599  private int bitField1_;
2600  private int bitField2_;
2601  private int bitField3_;
2602  private int bitField4_;
2603  public static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER = 1;
2604  private int preferredVariableOrder_;
2609  @java.lang.Override public boolean hasPreferredVariableOrder() {
2610  return ((bitField0_ & 0x00000001) != 0);
2611  }
2617  @SuppressWarnings("deprecation")
2619  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
2620  }
2621 
2622  public static final int INITIAL_POLARITY_FIELD_NUMBER = 2;
2623  private int initialPolarity_;
2628  @java.lang.Override public boolean hasInitialPolarity() {
2629  return ((bitField0_ & 0x00000002) != 0);
2630  }
2636  @SuppressWarnings("deprecation")
2638  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
2639  }
2640 
2641  public static final int USE_PHASE_SAVING_FIELD_NUMBER = 44;
2642  private boolean usePhaseSaving_;
2659  @java.lang.Override
2660  public boolean hasUsePhaseSaving() {
2661  return ((bitField0_ & 0x00000004) != 0);
2662  }
2679  @java.lang.Override
2680  public boolean getUsePhaseSaving() {
2681  return usePhaseSaving_;
2682  }
2683 
2684  public static final int POLARITY_REPHASE_INCREMENT_FIELD_NUMBER = 168;
2685  private int polarityRephaseIncrement_;
2696  @java.lang.Override
2697  public boolean hasPolarityRephaseIncrement() {
2698  return ((bitField0_ & 0x00000008) != 0);
2699  }
2710  @java.lang.Override
2712  return polarityRephaseIncrement_;
2713  }
2714 
2715  public static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER = 45;
2716  private double randomPolarityRatio_;
2729  @java.lang.Override
2730  public boolean hasRandomPolarityRatio() {
2731  return ((bitField0_ & 0x00000010) != 0);
2732  }
2745  @java.lang.Override
2746  public double getRandomPolarityRatio() {
2747  return randomPolarityRatio_;
2748  }
2749 
2750  public static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER = 32;
2751  private double randomBranchesRatio_;
2762  @java.lang.Override
2763  public boolean hasRandomBranchesRatio() {
2764  return ((bitField0_ & 0x00000020) != 0);
2765  }
2776  @java.lang.Override
2777  public double getRandomBranchesRatio() {
2778  return randomBranchesRatio_;
2779  }
2780 
2781  public static final int USE_ERWA_HEURISTIC_FIELD_NUMBER = 75;
2782  private boolean useErwaHeuristic_;
2793  @java.lang.Override
2794  public boolean hasUseErwaHeuristic() {
2795  return ((bitField0_ & 0x00000040) != 0);
2796  }
2807  @java.lang.Override
2808  public boolean getUseErwaHeuristic() {
2809  return useErwaHeuristic_;
2810  }
2811 
2812  public static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER = 76;
2813  private double initialVariablesActivity_;
2827  @java.lang.Override
2828  public boolean hasInitialVariablesActivity() {
2829  return ((bitField0_ & 0x00000080) != 0);
2830  }
2844  @java.lang.Override
2846  return initialVariablesActivity_;
2847  }
2848 
2850  private boolean alsoBumpVariablesInConflictReasons_;
2862  @java.lang.Override
2864  return ((bitField0_ & 0x00000100) != 0);
2865  }
2877  @java.lang.Override
2879  return alsoBumpVariablesInConflictReasons_;
2880  }
2881 
2882  public static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER = 4;
2883  private int minimizationAlgorithm_;
2888  @java.lang.Override public boolean hasMinimizationAlgorithm() {
2889  return ((bitField0_ & 0x00000200) != 0);
2890  }
2896  @SuppressWarnings("deprecation")
2898  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
2899  }
2900 
2901  public static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER = 34;
2902  private int binaryMinimizationAlgorithm_;
2907  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
2908  return ((bitField0_ & 0x00000400) != 0);
2909  }
2915  @SuppressWarnings("deprecation")
2918  }
2919 
2921  private boolean subsumptionDuringConflictAnalysis_;
2933  @java.lang.Override
2935  return ((bitField0_ & 0x00000800) != 0);
2936  }
2948  @java.lang.Override
2950  return subsumptionDuringConflictAnalysis_;
2951  }
2952 
2953  public static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER = 11;
2954  private int clauseCleanupPeriod_;
2963  @java.lang.Override
2964  public boolean hasClauseCleanupPeriod() {
2965  return ((bitField0_ & 0x00001000) != 0);
2966  }
2975  @java.lang.Override
2976  public int getClauseCleanupPeriod() {
2977  return clauseCleanupPeriod_;
2978  }
2979 
2980  public static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER = 13;
2981  private int clauseCleanupTarget_;
2991  @java.lang.Override
2992  public boolean hasClauseCleanupTarget() {
2993  return ((bitField0_ & 0x00002000) != 0);
2994  }
3004  @java.lang.Override
3005  public int getClauseCleanupTarget() {
3006  return clauseCleanupTarget_;
3007  }
3008 
3009  public static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER = 58;
3010  private int clauseCleanupProtection_;
3015  @java.lang.Override public boolean hasClauseCleanupProtection() {
3016  return ((bitField0_ & 0x00004000) != 0);
3017  }
3023  @SuppressWarnings("deprecation")
3025  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
3026  }
3027 
3028  public static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER = 59;
3029  private int clauseCleanupLbdBound_;
3039  @java.lang.Override
3040  public boolean hasClauseCleanupLbdBound() {
3041  return ((bitField0_ & 0x00008000) != 0);
3042  }
3052  @java.lang.Override
3054  return clauseCleanupLbdBound_;
3055  }
3056 
3057  public static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER = 60;
3058  private int clauseCleanupOrdering_;
3063  @java.lang.Override public boolean hasClauseCleanupOrdering() {
3064  return ((bitField0_ & 0x00010000) != 0);
3065  }
3071  @SuppressWarnings("deprecation")
3073  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
3074  }
3075 
3076  public static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER = 46;
3077  private int pbCleanupIncrement_;
3086  @java.lang.Override
3087  public boolean hasPbCleanupIncrement() {
3088  return ((bitField0_ & 0x00020000) != 0);
3089  }
3098  @java.lang.Override
3099  public int getPbCleanupIncrement() {
3100  return pbCleanupIncrement_;
3101  }
3102 
3103  public static final int PB_CLEANUP_RATIO_FIELD_NUMBER = 47;
3104  private double pbCleanupRatio_;
3109  @java.lang.Override
3110  public boolean hasPbCleanupRatio() {
3111  return ((bitField0_ & 0x00040000) != 0);
3112  }
3117  @java.lang.Override
3118  public double getPbCleanupRatio() {
3119  return pbCleanupRatio_;
3120  }
3121 
3123  private int minimizeWithPropagationRestartPeriod_;
3142  @java.lang.Override
3144  return ((bitField0_ & 0x00080000) != 0);
3145  }
3164  @java.lang.Override
3166  return minimizeWithPropagationRestartPeriod_;
3167  }
3168 
3170  private int minimizeWithPropagationNumDecisions_;
3175  @java.lang.Override
3177  return ((bitField0_ & 0x00100000) != 0);
3178  }
3183  @java.lang.Override
3185  return minimizeWithPropagationNumDecisions_;
3186  }
3187 
3188  public static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER = 15;
3189  private double variableActivityDecay_;
3204  @java.lang.Override
3205  public boolean hasVariableActivityDecay() {
3206  return ((bitField0_ & 0x00200000) != 0);
3207  }
3222  @java.lang.Override
3223  public double getVariableActivityDecay() {
3224  return variableActivityDecay_;
3225  }
3226 
3227  public static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER = 16;
3228  private double maxVariableActivityValue_;
3233  @java.lang.Override
3234  public boolean hasMaxVariableActivityValue() {
3235  return ((bitField0_ & 0x00400000) != 0);
3236  }
3241  @java.lang.Override
3243  return maxVariableActivityValue_;
3244  }
3245 
3246  public static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER = 22;
3247  private double glucoseMaxDecay_;
3259  @java.lang.Override
3260  public boolean hasGlucoseMaxDecay() {
3261  return ((bitField0_ & 0x00800000) != 0);
3262  }
3274  @java.lang.Override
3275  public double getGlucoseMaxDecay() {
3276  return glucoseMaxDecay_;
3277  }
3278 
3279  public static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER = 23;
3280  private double glucoseDecayIncrement_;
3285  @java.lang.Override
3286  public boolean hasGlucoseDecayIncrement() {
3287  return ((bitField0_ & 0x01000000) != 0);
3288  }
3293  @java.lang.Override
3294  public double getGlucoseDecayIncrement() {
3295  return glucoseDecayIncrement_;
3296  }
3297 
3298  public static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER = 24;
3299  private int glucoseDecayIncrementPeriod_;
3304  @java.lang.Override
3306  return ((bitField0_ & 0x02000000) != 0);
3307  }
3312  @java.lang.Override
3314  return glucoseDecayIncrementPeriod_;
3315  }
3316 
3317  public static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER = 17;
3318  private double clauseActivityDecay_;
3327  @java.lang.Override
3328  public boolean hasClauseActivityDecay() {
3329  return ((bitField0_ & 0x04000000) != 0);
3330  }
3339  @java.lang.Override
3340  public double getClauseActivityDecay() {
3341  return clauseActivityDecay_;
3342  }
3343 
3344  public static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER = 18;
3345  private double maxClauseActivityValue_;
3350  @java.lang.Override
3351  public boolean hasMaxClauseActivityValue() {
3352  return ((bitField0_ & 0x08000000) != 0);
3353  }
3358  @java.lang.Override
3359  public double getMaxClauseActivityValue() {
3360  return maxClauseActivityValue_;
3361  }
3362 
3363  public static final int RESTART_ALGORITHMS_FIELD_NUMBER = 61;
3364  private java.util.List<java.lang.Integer> restartAlgorithms_;
3365  private static final com.google.protobuf.Internal.ListAdapter.Converter<
3366  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm> restartAlgorithms_converter_ =
3367  new com.google.protobuf.Internal.ListAdapter.Converter<
3368  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>() {
3369  public com.google.ortools.sat.SatParameters.RestartAlgorithm convert(java.lang.Integer from) {
3370  @SuppressWarnings("deprecation")
3372  return result == null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
3373  }
3374  };
3390  @java.lang.Override
3392  return new com.google.protobuf.Internal.ListAdapter<
3393  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
3394  }
3410  @java.lang.Override
3412  return restartAlgorithms_.size();
3413  }
3430  @java.lang.Override
3432  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
3433  }
3434 
3435  public static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER = 70;
3436  private volatile java.lang.Object defaultRestartAlgorithms_;
3441  @java.lang.Override
3442  public boolean hasDefaultRestartAlgorithms() {
3443  return ((bitField0_ & 0x10000000) != 0);
3444  }
3449  @java.lang.Override
3450  public java.lang.String getDefaultRestartAlgorithms() {
3451  java.lang.Object ref = defaultRestartAlgorithms_;
3452  if (ref instanceof java.lang.String) {
3453  return (java.lang.String) ref;
3454  } else {
3455  com.google.protobuf.ByteString bs =
3456  (com.google.protobuf.ByteString) ref;
3457  java.lang.String s = bs.toStringUtf8();
3458  if (bs.isValidUtf8()) {
3459  defaultRestartAlgorithms_ = s;
3460  }
3461  return s;
3462  }
3463  }
3468  @java.lang.Override
3469  public com.google.protobuf.ByteString
3471  java.lang.Object ref = defaultRestartAlgorithms_;
3472  if (ref instanceof java.lang.String) {
3473  com.google.protobuf.ByteString b =
3474  com.google.protobuf.ByteString.copyFromUtf8(
3475  (java.lang.String) ref);
3476  defaultRestartAlgorithms_ = b;
3477  return b;
3478  } else {
3479  return (com.google.protobuf.ByteString) ref;
3480  }
3481  }
3482 
3483  public static final int RESTART_PERIOD_FIELD_NUMBER = 30;
3484  private int restartPeriod_;
3494  @java.lang.Override
3495  public boolean hasRestartPeriod() {
3496  return ((bitField0_ & 0x20000000) != 0);
3497  }
3507  @java.lang.Override
3508  public int getRestartPeriod() {
3509  return restartPeriod_;
3510  }
3511 
3512  public static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER = 62;
3513  private int restartRunningWindowSize_;
3522  @java.lang.Override
3523  public boolean hasRestartRunningWindowSize() {
3524  return ((bitField0_ & 0x40000000) != 0);
3525  }
3534  @java.lang.Override
3536  return restartRunningWindowSize_;
3537  }
3538 
3539  public static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER = 63;
3540  private double restartDlAverageRatio_;
3550  @java.lang.Override
3551  public boolean hasRestartDlAverageRatio() {
3552  return ((bitField0_ & 0x80000000) != 0);
3553  }
3563  @java.lang.Override
3564  public double getRestartDlAverageRatio() {
3565  return restartDlAverageRatio_;
3566  }
3567 
3568  public static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER = 71;
3569  private double restartLbdAverageRatio_;
3574  @java.lang.Override
3575  public boolean hasRestartLbdAverageRatio() {
3576  return ((bitField1_ & 0x00000001) != 0);
3577  }
3582  @java.lang.Override
3583  public double getRestartLbdAverageRatio() {
3584  return restartLbdAverageRatio_;
3585  }
3586 
3587  public static final int USE_BLOCKING_RESTART_FIELD_NUMBER = 64;
3588  private boolean useBlockingRestart_;
3599  @java.lang.Override
3600  public boolean hasUseBlockingRestart() {
3601  return ((bitField1_ & 0x00000002) != 0);
3602  }
3613  @java.lang.Override
3614  public boolean getUseBlockingRestart() {
3615  return useBlockingRestart_;
3616  }
3617 
3618  public static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER = 65;
3619  private int blockingRestartWindowSize_;
3624  @java.lang.Override
3625  public boolean hasBlockingRestartWindowSize() {
3626  return ((bitField1_ & 0x00000004) != 0);
3627  }
3632  @java.lang.Override
3634  return blockingRestartWindowSize_;
3635  }
3636 
3637  public static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER = 66;
3638  private double blockingRestartMultiplier_;
3643  @java.lang.Override
3644  public boolean hasBlockingRestartMultiplier() {
3645  return ((bitField1_ & 0x00000008) != 0);
3646  }
3651  @java.lang.Override
3653  return blockingRestartMultiplier_;
3654  }
3655 
3657  private int numConflictsBeforeStrategyChanges_;
3668  @java.lang.Override
3670  return ((bitField1_ & 0x00000010) != 0);
3671  }
3682  @java.lang.Override
3684  return numConflictsBeforeStrategyChanges_;
3685  }
3686 
3687  public static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER = 69;
3688  private double strategyChangeIncreaseRatio_;
3698  @java.lang.Override
3700  return ((bitField1_ & 0x00000020) != 0);
3701  }
3711  @java.lang.Override
3713  return strategyChangeIncreaseRatio_;
3714  }
3715 
3716  public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 36;
3717  private double maxTimeInSeconds_;
3727  @java.lang.Override
3728  public boolean hasMaxTimeInSeconds() {
3729  return ((bitField1_ & 0x00000040) != 0);
3730  }
3740  @java.lang.Override
3741  public double getMaxTimeInSeconds() {
3742  return maxTimeInSeconds_;
3743  }
3744 
3745  public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 67;
3746  private double maxDeterministicTime_;
3757  @java.lang.Override
3758  public boolean hasMaxDeterministicTime() {
3759  return ((bitField1_ & 0x00000080) != 0);
3760  }
3771  @java.lang.Override
3772  public double getMaxDeterministicTime() {
3773  return maxDeterministicTime_;
3774  }
3775 
3776  public static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER = 37;
3777  private long maxNumberOfConflicts_;
3791  @java.lang.Override
3792  public boolean hasMaxNumberOfConflicts() {
3793  return ((bitField1_ & 0x00000100) != 0);
3794  }
3808  @java.lang.Override
3809  public long getMaxNumberOfConflicts() {
3810  return maxNumberOfConflicts_;
3811  }
3812 
3813  public static final int MAX_MEMORY_IN_MB_FIELD_NUMBER = 40;
3814  private long maxMemoryInMb_;
3826  @java.lang.Override
3827  public boolean hasMaxMemoryInMb() {
3828  return ((bitField1_ & 0x00000200) != 0);
3829  }
3841  @java.lang.Override
3842  public long getMaxMemoryInMb() {
3843  return maxMemoryInMb_;
3844  }
3845 
3846  public static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER = 159;
3847  private double absoluteGapLimit_;
3865  @java.lang.Override
3866  public boolean hasAbsoluteGapLimit() {
3867  return ((bitField1_ & 0x00000400) != 0);
3868  }
3886  @java.lang.Override
3887  public double getAbsoluteGapLimit() {
3888  return absoluteGapLimit_;
3889  }
3890 
3891  public static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER = 160;
3892  private double relativeGapLimit_;
3897  @java.lang.Override
3898  public boolean hasRelativeGapLimit() {
3899  return ((bitField1_ & 0x00000800) != 0);
3900  }
3905  @java.lang.Override
3906  public double getRelativeGapLimit() {
3907  return relativeGapLimit_;
3908  }
3909 
3910  public static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER = 33;
3911  private boolean treatBinaryClausesSeparately_;
3922  @java.lang.Override
3924  return ((bitField1_ & 0x00001000) != 0);
3925  }
3936  @java.lang.Override
3938  return treatBinaryClausesSeparately_;
3939  }
3940 
3941  public static final int RANDOM_SEED_FIELD_NUMBER = 31;
3942  private int randomSeed_;
3956  @java.lang.Override
3957  public boolean hasRandomSeed() {
3958  return ((bitField1_ & 0x00002000) != 0);
3959  }
3973  @java.lang.Override
3974  public int getRandomSeed() {
3975  return randomSeed_;
3976  }
3977 
3978  public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 41;
3979  private boolean logSearchProgress_;
3988  @java.lang.Override
3989  public boolean hasLogSearchProgress() {
3990  return ((bitField1_ & 0x00004000) != 0);
3991  }
4000  @java.lang.Override
4001  public boolean getLogSearchProgress() {
4002  return logSearchProgress_;
4003  }
4004 
4005  public static final int USE_PB_RESOLUTION_FIELD_NUMBER = 43;
4006  private boolean usePbResolution_;
4018  @java.lang.Override
4019  public boolean hasUsePbResolution() {
4020  return ((bitField1_ & 0x00008000) != 0);
4021  }
4033  @java.lang.Override
4034  public boolean getUsePbResolution() {
4035  return usePbResolution_;
4036  }
4037 
4039  private boolean minimizeReductionDuringPbResolution_;
4051  @java.lang.Override
4053  return ((bitField1_ & 0x00010000) != 0);
4054  }
4066  @java.lang.Override
4068  return minimizeReductionDuringPbResolution_;
4069  }
4070 
4071  public static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER = 49;
4072  private boolean countAssumptionLevelsInLbd_;
4088  @java.lang.Override
4090  return ((bitField1_ & 0x00020000) != 0);
4091  }
4107  @java.lang.Override
4109  return countAssumptionLevelsInLbd_;
4110  }
4111 
4112  public static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER = 54;
4113  private int presolveBveThreshold_;
4124  @java.lang.Override
4125  public boolean hasPresolveBveThreshold() {
4126  return ((bitField1_ & 0x00040000) != 0);
4127  }
4138  @java.lang.Override
4140  return presolveBveThreshold_;
4141  }
4142 
4143  public static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER = 55;
4144  private int presolveBveClauseWeight_;
4154  @java.lang.Override
4155  public boolean hasPresolveBveClauseWeight() {
4156  return ((bitField1_ & 0x00080000) != 0);
4157  }
4167  @java.lang.Override
4169  return presolveBveClauseWeight_;
4170  }
4171 
4173  private double presolveProbingDeterministicTimeLimit_;
4183  @java.lang.Override
4185  return ((bitField1_ & 0x00100000) != 0);
4186  }
4196  @java.lang.Override
4198  return presolveProbingDeterministicTimeLimit_;
4199  }
4200 
4201  public static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER = 88;
4202  private boolean presolveBlockedClause_;
4212  @java.lang.Override
4213  public boolean hasPresolveBlockedClause() {
4214  return ((bitField1_ & 0x00200000) != 0);
4215  }
4225  @java.lang.Override
4226  public boolean getPresolveBlockedClause() {
4227  return presolveBlockedClause_;
4228  }
4229 
4230  public static final int PRESOLVE_USE_BVA_FIELD_NUMBER = 72;
4231  private boolean presolveUseBva_;
4240  @java.lang.Override
4241  public boolean hasPresolveUseBva() {
4242  return ((bitField1_ & 0x00400000) != 0);
4243  }
4252  @java.lang.Override
4253  public boolean getPresolveUseBva() {
4254  return presolveUseBva_;
4255  }
4256 
4257  public static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER = 73;
4258  private int presolveBvaThreshold_;
4270  @java.lang.Override
4271  public boolean hasPresolveBvaThreshold() {
4272  return ((bitField1_ & 0x00800000) != 0);
4273  }
4285  @java.lang.Override
4287  return presolveBvaThreshold_;
4288  }
4289 
4290  public static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER = 138;
4291  private int maxPresolveIterations_;
4302  @java.lang.Override
4303  public boolean hasMaxPresolveIterations() {
4304  return ((bitField1_ & 0x01000000) != 0);
4305  }
4316  @java.lang.Override
4318  return maxPresolveIterations_;
4319  }
4320 
4321  public static final int CP_MODEL_PRESOLVE_FIELD_NUMBER = 86;
4322  private boolean cpModelPresolve_;
4331  @java.lang.Override
4332  public boolean hasCpModelPresolve() {
4333  return ((bitField1_ & 0x02000000) != 0);
4334  }
4343  @java.lang.Override
4344  public boolean getCpModelPresolve() {
4345  return cpModelPresolve_;
4346  }
4347 
4349  private boolean cpModelPostsolveWithFullSolver_;
4361  @java.lang.Override
4363  return ((bitField1_ & 0x04000000) != 0);
4364  }
4376  @java.lang.Override
4378  return cpModelPostsolveWithFullSolver_;
4379  }
4380 
4382  private int cpModelMaxNumPresolveOperations_;
4392  @java.lang.Override
4394  return ((bitField1_ & 0x08000000) != 0);
4395  }
4405  @java.lang.Override
4407  return cpModelMaxNumPresolveOperations_;
4408  }
4409 
4410  public static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER = 110;
4411  private int cpModelProbingLevel_;
4420  @java.lang.Override
4421  public boolean hasCpModelProbingLevel() {
4422  return ((bitField1_ & 0x10000000) != 0);
4423  }
4432  @java.lang.Override
4433  public int getCpModelProbingLevel() {
4434  return cpModelProbingLevel_;
4435  }
4436 
4437  public static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER = 93;
4438  private boolean cpModelUseSatPresolve_;
4447  @java.lang.Override
4448  public boolean hasCpModelUseSatPresolve() {
4449  return ((bitField1_ & 0x20000000) != 0);
4450  }
4459  @java.lang.Override
4460  public boolean getCpModelUseSatPresolve() {
4461  return cpModelUseSatPresolve_;
4462  }
4463 
4464  public static final int USE_SAT_INPROCESSING_FIELD_NUMBER = 163;
4465  private boolean useSatInprocessing_;
4470  @java.lang.Override
4471  public boolean hasUseSatInprocessing() {
4472  return ((bitField1_ & 0x40000000) != 0);
4473  }
4478  @java.lang.Override
4479  public boolean getUseSatInprocessing() {
4480  return useSatInprocessing_;
4481  }
4482 
4483  public static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER = 140;
4484  private boolean expandElementConstraints_;
4494  @java.lang.Override
4495  public boolean hasExpandElementConstraints() {
4496  return ((bitField1_ & 0x80000000) != 0);
4497  }
4507  @java.lang.Override
4508  public boolean getExpandElementConstraints() {
4509  return expandElementConstraints_;
4510  }
4511 
4512  public static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER = 143;
4513  private boolean expandAutomatonConstraints_;
4522  @java.lang.Override
4524  return ((bitField2_ & 0x00000001) != 0);
4525  }
4534  @java.lang.Override
4536  return expandAutomatonConstraints_;
4537  }
4538 
4539  public static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER = 158;
4540  private boolean expandTableConstraints_;
4550  @java.lang.Override
4551  public boolean hasExpandTableConstraints() {
4552  return ((bitField2_ & 0x00000002) != 0);
4553  }
4563  @java.lang.Override
4564  public boolean getExpandTableConstraints() {
4565  return expandTableConstraints_;
4566  }
4567 
4568  public static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER = 145;
4569  private double mergeNoOverlapWorkLimit_;
4582  @java.lang.Override
4583  public boolean hasMergeNoOverlapWorkLimit() {
4584  return ((bitField2_ & 0x00000004) != 0);
4585  }
4598  @java.lang.Override
4599  public double getMergeNoOverlapWorkLimit() {
4600  return mergeNoOverlapWorkLimit_;
4601  }
4602 
4603  public static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER = 146;
4604  private double mergeAtMostOneWorkLimit_;
4609  @java.lang.Override
4610  public boolean hasMergeAtMostOneWorkLimit() {
4611  return ((bitField2_ & 0x00000008) != 0);
4612  }
4617  @java.lang.Override
4618  public double getMergeAtMostOneWorkLimit() {
4619  return mergeAtMostOneWorkLimit_;
4620  }
4621 
4622  public static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER = 147;
4623  private int presolveSubstitutionLevel_;
4635  @java.lang.Override
4636  public boolean hasPresolveSubstitutionLevel() {
4637  return ((bitField2_ & 0x00000010) != 0);
4638  }
4650  @java.lang.Override
4652  return presolveSubstitutionLevel_;
4653  }
4654 
4655  public static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER = 35;
4656  private boolean useOptimizationHints_;
4668  @java.lang.Override
4669  public boolean hasUseOptimizationHints() {
4670  return ((bitField2_ & 0x00000020) != 0);
4671  }
4683  @java.lang.Override
4684  public boolean getUseOptimizationHints() {
4685  return useOptimizationHints_;
4686  }
4687 
4688  public static final int MINIMIZE_CORE_FIELD_NUMBER = 50;
4689  private boolean minimizeCore_;
4698  @java.lang.Override
4699  public boolean hasMinimizeCore() {
4700  return ((bitField2_ & 0x00000040) != 0);
4701  }
4710  @java.lang.Override
4711  public boolean getMinimizeCore() {
4712  return minimizeCore_;
4713  }
4714 
4715  public static final int FIND_MULTIPLE_CORES_FIELD_NUMBER = 84;
4716  private boolean findMultipleCores_;
4726  @java.lang.Override
4727  public boolean hasFindMultipleCores() {
4728  return ((bitField2_ & 0x00000080) != 0);
4729  }
4739  @java.lang.Override
4740  public boolean getFindMultipleCores() {
4741  return findMultipleCores_;
4742  }
4743 
4744  public static final int COVER_OPTIMIZATION_FIELD_NUMBER = 89;
4745  private boolean coverOptimization_;
4755  @java.lang.Override
4756  public boolean hasCoverOptimization() {
4757  return ((bitField2_ & 0x00000100) != 0);
4758  }
4768  @java.lang.Override
4769  public boolean getCoverOptimization() {
4770  return coverOptimization_;
4771  }
4772 
4773  public static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER = 51;
4774  private int maxSatAssumptionOrder_;
4779  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
4780  return ((bitField2_ & 0x00000200) != 0);
4781  }
4787  @SuppressWarnings("deprecation")
4790  }
4791 
4793  private boolean maxSatReverseAssumptionOrder_;
4803  @java.lang.Override
4805  return ((bitField2_ & 0x00000400) != 0);
4806  }
4816  @java.lang.Override
4818  return maxSatReverseAssumptionOrder_;
4819  }
4820 
4821  public static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER = 53;
4822  private int maxSatStratification_;
4827  @java.lang.Override public boolean hasMaxSatStratification() {
4828  return ((bitField2_ & 0x00000800) != 0);
4829  }
4835  @SuppressWarnings("deprecation")
4838  }
4839 
4841  private boolean usePrecedencesInDisjunctiveConstraint_;
4857  @java.lang.Override
4859  return ((bitField2_ & 0x00001000) != 0);
4860  }
4876  @java.lang.Override
4878  return usePrecedencesInDisjunctiveConstraint_;
4879  }
4880 
4882  private boolean useOverloadCheckerInCumulativeConstraint_;
4896  @java.lang.Override
4898  return ((bitField2_ & 0x00002000) != 0);
4899  }
4913  @java.lang.Override
4915  return useOverloadCheckerInCumulativeConstraint_;
4916  }
4917 
4919  private boolean useTimetableEdgeFindingInCumulativeConstraint_;
4933  @java.lang.Override
4935  return ((bitField2_ & 0x00004000) != 0);
4936  }
4950  @java.lang.Override
4952  return useTimetableEdgeFindingInCumulativeConstraint_;
4953  }
4954 
4956  private boolean useDisjunctiveConstraintInCumulativeConstraint_;
4972  @java.lang.Override
4974  return ((bitField2_ & 0x00008000) != 0);
4975  }
4991  @java.lang.Override
4993  return useDisjunctiveConstraintInCumulativeConstraint_;
4994  }
4995 
4996  public static final int LINEARIZATION_LEVEL_FIELD_NUMBER = 90;
4997  private int linearizationLevel_;
5009  @java.lang.Override
5010  public boolean hasLinearizationLevel() {
5011  return ((bitField2_ & 0x00010000) != 0);
5012  }
5024  @java.lang.Override
5025  public int getLinearizationLevel() {
5026  return linearizationLevel_;
5027  }
5028 
5029  public static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER = 107;
5030  private int booleanEncodingLevel_;
5040  @java.lang.Override
5041  public boolean hasBooleanEncodingLevel() {
5042  return ((bitField2_ & 0x00020000) != 0);
5043  }
5053  @java.lang.Override
5055  return booleanEncodingLevel_;
5056  }
5057 
5058  public static final int MAX_NUM_CUTS_FIELD_NUMBER = 91;
5059  private int maxNumCuts_;
5071  @java.lang.Override
5072  public boolean hasMaxNumCuts() {
5073  return ((bitField2_ & 0x00040000) != 0);
5074  }
5086  @java.lang.Override
5087  public int getMaxNumCuts() {
5088  return maxNumCuts_;
5089  }
5090 
5091  public static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER = 92;
5092  private boolean onlyAddCutsAtLevelZero_;
5102  @java.lang.Override
5103  public boolean hasOnlyAddCutsAtLevelZero() {
5104  return ((bitField2_ & 0x00080000) != 0);
5105  }
5115  @java.lang.Override
5116  public boolean getOnlyAddCutsAtLevelZero() {
5117  return onlyAddCutsAtLevelZero_;
5118  }
5119 
5120  public static final int ADD_KNAPSACK_CUTS_FIELD_NUMBER = 111;
5121  private boolean addKnapsackCuts_;
5132  @java.lang.Override
5133  public boolean hasAddKnapsackCuts() {
5134  return ((bitField2_ & 0x00100000) != 0);
5135  }
5146  @java.lang.Override
5147  public boolean getAddKnapsackCuts() {
5148  return addKnapsackCuts_;
5149  }
5150 
5151  public static final int ADD_CG_CUTS_FIELD_NUMBER = 117;
5152  private boolean addCgCuts_;
5162  @java.lang.Override
5163  public boolean hasAddCgCuts() {
5164  return ((bitField2_ & 0x00200000) != 0);
5165  }
5175  @java.lang.Override
5176  public boolean getAddCgCuts() {
5177  return addCgCuts_;
5178  }
5179 
5180  public static final int ADD_MIR_CUTS_FIELD_NUMBER = 120;
5181  private boolean addMirCuts_;
5191  @java.lang.Override
5192  public boolean hasAddMirCuts() {
5193  return ((bitField2_ & 0x00400000) != 0);
5194  }
5204  @java.lang.Override
5205  public boolean getAddMirCuts() {
5206  return addMirCuts_;
5207  }
5208 
5209  public static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER = 148;
5210  private int maxAllDiffCutSize_;
5221  @java.lang.Override
5222  public boolean hasMaxAllDiffCutSize() {
5223  return ((bitField2_ & 0x00800000) != 0);
5224  }
5235  @java.lang.Override
5236  public int getMaxAllDiffCutSize() {
5237  return maxAllDiffCutSize_;
5238  }
5239 
5240  public static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER = 152;
5241  private boolean addLinMaxCuts_;
5252  @java.lang.Override
5253  public boolean hasAddLinMaxCuts() {
5254  return ((bitField2_ & 0x01000000) != 0);
5255  }
5266  @java.lang.Override
5267  public boolean getAddLinMaxCuts() {
5268  return addLinMaxCuts_;
5269  }
5270 
5271  public static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER = 119;
5272  private int maxIntegerRoundingScaling_;
5287  @java.lang.Override
5288  public boolean hasMaxIntegerRoundingScaling() {
5289  return ((bitField2_ & 0x02000000) != 0);
5290  }
5305  @java.lang.Override
5307  return maxIntegerRoundingScaling_;
5308  }
5309 
5310  public static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER = 112;
5311  private boolean addLpConstraintsLazily_;
5323  @java.lang.Override
5324  public boolean hasAddLpConstraintsLazily() {
5325  return ((bitField2_ & 0x04000000) != 0);
5326  }
5338  @java.lang.Override
5339  public boolean getAddLpConstraintsLazily() {
5340  return addLpConstraintsLazily_;
5341  }
5342 
5344  private double minOrthogonalityForLpConstraints_;
5357  @java.lang.Override
5359  return ((bitField2_ & 0x08000000) != 0);
5360  }
5373  @java.lang.Override
5375  return minOrthogonalityForLpConstraints_;
5376  }
5377 
5378  public static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER = 154;
5379  private int maxCutRoundsAtLevelZero_;
5388  @java.lang.Override
5389  public boolean hasMaxCutRoundsAtLevelZero() {
5390  return ((bitField2_ & 0x10000000) != 0);
5391  }
5400  @java.lang.Override
5402  return maxCutRoundsAtLevelZero_;
5403  }
5404 
5405  public static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER = 121;
5406  private int maxConsecutiveInactiveCount_;
5417  @java.lang.Override
5419  return ((bitField2_ & 0x20000000) != 0);
5420  }
5431  @java.lang.Override
5433  return maxConsecutiveInactiveCount_;
5434  }
5435 
5436  public static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER = 155;
5437  private double cutMaxActiveCountValue_;
5448  @java.lang.Override
5449  public boolean hasCutMaxActiveCountValue() {
5450  return ((bitField2_ & 0x40000000) != 0);
5451  }
5462  @java.lang.Override
5463  public double getCutMaxActiveCountValue() {
5464  return cutMaxActiveCountValue_;
5465  }
5466 
5467  public static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER = 156;
5468  private double cutActiveCountDecay_;
5473  @java.lang.Override
5474  public boolean hasCutActiveCountDecay() {
5475  return ((bitField2_ & 0x80000000) != 0);
5476  }
5481  @java.lang.Override
5482  public double getCutActiveCountDecay() {
5483  return cutActiveCountDecay_;
5484  }
5485 
5486  public static final int CUT_CLEANUP_TARGET_FIELD_NUMBER = 157;
5487  private int cutCleanupTarget_;
5496  @java.lang.Override
5497  public boolean hasCutCleanupTarget() {
5498  return ((bitField3_ & 0x00000001) != 0);
5499  }
5508  @java.lang.Override
5509  public int getCutCleanupTarget() {
5510  return cutCleanupTarget_;
5511  }
5512 
5513  public static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER = 122;
5514  private int newConstraintsBatchSize_;
5524  @java.lang.Override
5525  public boolean hasNewConstraintsBatchSize() {
5526  return ((bitField3_ & 0x00000002) != 0);
5527  }
5537  @java.lang.Override
5539  return newConstraintsBatchSize_;
5540  }
5541 
5542  public static final int SEARCH_BRANCHING_FIELD_NUMBER = 82;
5543  private int searchBranching_;
5548  @java.lang.Override public boolean hasSearchBranching() {
5549  return ((bitField3_ & 0x00000004) != 0);
5550  }
5556  @SuppressWarnings("deprecation")
5558  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
5559  }
5560 
5561  public static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER = 153;
5562  private int hintConflictLimit_;
5571  @java.lang.Override
5572  public boolean hasHintConflictLimit() {
5573  return ((bitField3_ & 0x00000008) != 0);
5574  }
5583  @java.lang.Override
5584  public int getHintConflictLimit() {
5585  return hintConflictLimit_;
5586  }
5587 
5588  public static final int REPAIR_HINT_FIELD_NUMBER = 167;
5589  private boolean repairHint_;
5601  @java.lang.Override
5602  public boolean hasRepairHint() {
5603  return ((bitField3_ & 0x00000010) != 0);
5604  }
5616  @java.lang.Override
5617  public boolean getRepairHint() {
5618  return repairHint_;
5619  }
5620 
5621  public static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER = 94;
5622  private boolean exploitIntegerLpSolution_;
5634  @java.lang.Override
5635  public boolean hasExploitIntegerLpSolution() {
5636  return ((bitField3_ & 0x00000020) != 0);
5637  }
5649  @java.lang.Override
5650  public boolean getExploitIntegerLpSolution() {
5651  return exploitIntegerLpSolution_;
5652  }
5653 
5654  public static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER = 116;
5655  private boolean exploitAllLpSolution_;
5666  @java.lang.Override
5667  public boolean hasExploitAllLpSolution() {
5668  return ((bitField3_ & 0x00000040) != 0);
5669  }
5680  @java.lang.Override
5681  public boolean getExploitAllLpSolution() {
5682  return exploitAllLpSolution_;
5683  }
5684 
5685  public static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER = 130;
5686  private boolean exploitBestSolution_;
5695  @java.lang.Override
5696  public boolean hasExploitBestSolution() {
5697  return ((bitField3_ & 0x00000080) != 0);
5698  }
5707  @java.lang.Override
5708  public boolean getExploitBestSolution() {
5709  return exploitBestSolution_;
5710  }
5711 
5712  public static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER = 161;
5713  private boolean exploitRelaxationSolution_;
5724  @java.lang.Override
5725  public boolean hasExploitRelaxationSolution() {
5726  return ((bitField3_ & 0x00000100) != 0);
5727  }
5738  @java.lang.Override
5739  public boolean getExploitRelaxationSolution() {
5740  return exploitRelaxationSolution_;
5741  }
5742 
5743  public static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER = 131;
5744  private boolean exploitObjective_;
5754  @java.lang.Override
5755  public boolean hasExploitObjective() {
5756  return ((bitField3_ & 0x00000200) != 0);
5757  }
5767  @java.lang.Override
5768  public boolean getExploitObjective() {
5769  return exploitObjective_;
5770  }
5771 
5772  public static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER = 142;
5773  private long probingPeriodAtRoot_;
5784  @java.lang.Override
5785  public boolean hasProbingPeriodAtRoot() {
5786  return ((bitField3_ & 0x00000400) != 0);
5787  }
5798  @java.lang.Override
5799  public long getProbingPeriodAtRoot() {
5800  return probingPeriodAtRoot_;
5801  }
5802 
5803  public static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER = 123;
5804  private long pseudoCostReliabilityThreshold_;
5814  @java.lang.Override
5816  return ((bitField3_ & 0x00000800) != 0);
5817  }
5827  @java.lang.Override
5829  return pseudoCostReliabilityThreshold_;
5830  }
5831 
5832  public static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER = 83;
5833  private boolean optimizeWithCore_;
5845  @java.lang.Override
5846  public boolean hasOptimizeWithCore() {
5847  return ((bitField3_ & 0x00001000) != 0);
5848  }
5860  @java.lang.Override
5861  public boolean getOptimizeWithCore() {
5862  return optimizeWithCore_;
5863  }
5864 
5865  public static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER = 99;
5866  private int binarySearchNumConflicts_;
5878  @java.lang.Override
5879  public boolean hasBinarySearchNumConflicts() {
5880  return ((bitField3_ & 0x00002000) != 0);
5881  }
5893  @java.lang.Override
5895  return binarySearchNumConflicts_;
5896  }
5897 
5898  public static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER = 85;
5899  private boolean optimizeWithMaxHs_;
5913  @java.lang.Override
5914  public boolean hasOptimizeWithMaxHs() {
5915  return ((bitField3_ & 0x00004000) != 0);
5916  }
5930  @java.lang.Override
5931  public boolean getOptimizeWithMaxHs() {
5932  return optimizeWithMaxHs_;
5933  }
5934 
5935  public static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER = 87;
5936  private boolean enumerateAllSolutions_;
5950  @java.lang.Override
5951  public boolean hasEnumerateAllSolutions() {
5952  return ((bitField3_ & 0x00008000) != 0);
5953  }
5967  @java.lang.Override
5968  public boolean getEnumerateAllSolutions() {
5969  return enumerateAllSolutions_;
5970  }
5971 
5973  private boolean fillTightenedDomainsInResponse_;
5986  @java.lang.Override
5988  return ((bitField3_ & 0x00010000) != 0);
5989  }
6002  @java.lang.Override
6004  return fillTightenedDomainsInResponse_;
6005  }
6006 
6007  public static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER = 106;
6008  private boolean instantiateAllVariables_;
6018  @java.lang.Override
6019  public boolean hasInstantiateAllVariables() {
6020  return ((bitField3_ & 0x00020000) != 0);
6021  }
6031  @java.lang.Override
6032  public boolean getInstantiateAllVariables() {
6033  return instantiateAllVariables_;
6034  }
6035 
6037  private boolean autoDetectGreaterThanAtLeastOneOf_;
6049  @java.lang.Override
6051  return ((bitField3_ & 0x00040000) != 0);
6052  }
6064  @java.lang.Override
6066  return autoDetectGreaterThanAtLeastOneOf_;
6067  }
6068 
6069  public static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER = 98;
6070  private boolean stopAfterFirstSolution_;
6079  @java.lang.Override
6080  public boolean hasStopAfterFirstSolution() {
6081  return ((bitField3_ & 0x00080000) != 0);
6082  }
6091  @java.lang.Override
6092  public boolean getStopAfterFirstSolution() {
6093  return stopAfterFirstSolution_;
6094  }
6095 
6096  public static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER = 149;
6097  private boolean stopAfterPresolve_;
6107  @java.lang.Override
6108  public boolean hasStopAfterPresolve() {
6109  return ((bitField3_ & 0x00100000) != 0);
6110  }
6120  @java.lang.Override
6121  public boolean getStopAfterPresolve() {
6122  return stopAfterPresolve_;
6123  }
6124 
6125  public static final int NUM_SEARCH_WORKERS_FIELD_NUMBER = 100;
6126  private int numSearchWorkers_;
6140  @java.lang.Override
6141  public boolean hasNumSearchWorkers() {
6142  return ((bitField3_ & 0x00200000) != 0);
6143  }
6157  @java.lang.Override
6158  public int getNumSearchWorkers() {
6159  return numSearchWorkers_;
6160  }
6161 
6162  public static final int INTERLEAVE_SEARCH_FIELD_NUMBER = 136;
6163  private boolean interleaveSearch_;
6176  @java.lang.Override
6177  public boolean hasInterleaveSearch() {
6178  return ((bitField3_ & 0x00400000) != 0);
6179  }
6192  @java.lang.Override
6193  public boolean getInterleaveSearch() {
6194  return interleaveSearch_;
6195  }
6196 
6197  public static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER = 134;
6198  private int interleaveBatchSize_;
6203  @java.lang.Override
6204  public boolean hasInterleaveBatchSize() {
6205  return ((bitField3_ & 0x00800000) != 0);
6206  }
6211  @java.lang.Override
6212  public int getInterleaveBatchSize() {
6213  return interleaveBatchSize_;
6214  }
6215 
6217  private boolean reduceMemoryUsageInInterleaveMode_;
6226  @java.lang.Override
6228  return ((bitField3_ & 0x01000000) != 0);
6229  }
6238  @java.lang.Override
6240  return reduceMemoryUsageInInterleaveMode_;
6241  }
6242 
6243  public static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER = 113;
6244  private boolean shareObjectiveBounds_;
6253  @java.lang.Override
6254  public boolean hasShareObjectiveBounds() {
6255  return ((bitField3_ & 0x02000000) != 0);
6256  }
6265  @java.lang.Override
6266  public boolean getShareObjectiveBounds() {
6267  return shareObjectiveBounds_;
6268  }
6269 
6270  public static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER = 114;
6271  private boolean shareLevelZeroBounds_;
6280  @java.lang.Override
6281  public boolean hasShareLevelZeroBounds() {
6282  return ((bitField3_ & 0x04000000) != 0);
6283  }
6292  @java.lang.Override
6293  public boolean getShareLevelZeroBounds() {
6294  return shareLevelZeroBounds_;
6295  }
6296 
6297  public static final int USE_LNS_ONLY_FIELD_NUMBER = 101;
6298  private boolean useLnsOnly_;
6307  @java.lang.Override
6308  public boolean hasUseLnsOnly() {
6309  return ((bitField3_ & 0x08000000) != 0);
6310  }
6319  @java.lang.Override
6320  public boolean getUseLnsOnly() {
6321  return useLnsOnly_;
6322  }
6323 
6324  public static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER = 105;
6325  private boolean lnsFocusOnDecisionVariables_;
6330  @java.lang.Override
6332  return ((bitField3_ & 0x10000000) != 0);
6333  }
6338  @java.lang.Override
6340  return lnsFocusOnDecisionVariables_;
6341  }
6342 
6343  public static final int USE_RINS_LNS_FIELD_NUMBER = 129;
6344  private boolean useRinsLns_;
6353  @java.lang.Override
6354  public boolean hasUseRinsLns() {
6355  return ((bitField3_ & 0x20000000) != 0);
6356  }
6365  @java.lang.Override
6366  public boolean getUseRinsLns() {
6367  return useRinsLns_;
6368  }
6369 
6370  public static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER = 164;
6371  private boolean useFeasibilityPump_;
6380  @java.lang.Override
6381  public boolean hasUseFeasibilityPump() {
6382  return ((bitField3_ & 0x40000000) != 0);
6383  }
6392  @java.lang.Override
6393  public boolean getUseFeasibilityPump() {
6394  return useFeasibilityPump_;
6395  }
6396 
6397  public static final int FP_ROUNDING_FIELD_NUMBER = 165;
6398  private int fpRounding_;
6403  @java.lang.Override public boolean hasFpRounding() {
6404  return ((bitField3_ & 0x80000000) != 0);
6405  }
6411  @SuppressWarnings("deprecation")
6413  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
6414  }
6415 
6416  public static final int USE_RELAXATION_LNS_FIELD_NUMBER = 150;
6417  private boolean useRelaxationLns_;
6427  @java.lang.Override
6428  public boolean hasUseRelaxationLns() {
6429  return ((bitField4_ & 0x00000001) != 0);
6430  }
6440  @java.lang.Override
6441  public boolean getUseRelaxationLns() {
6442  return useRelaxationLns_;
6443  }
6444 
6445  public static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER = 137;
6446  private boolean diversifyLnsParams_;
6455  @java.lang.Override
6456  public boolean hasDiversifyLnsParams() {
6457  return ((bitField4_ & 0x00000002) != 0);
6458  }
6467  @java.lang.Override
6468  public boolean getDiversifyLnsParams() {
6469  return diversifyLnsParams_;
6470  }
6471 
6472  public static final int RANDOMIZE_SEARCH_FIELD_NUMBER = 103;
6473  private boolean randomizeSearch_;
6482  @java.lang.Override
6483  public boolean hasRandomizeSearch() {
6484  return ((bitField4_ & 0x00000004) != 0);
6485  }
6494  @java.lang.Override
6495  public boolean getRandomizeSearch() {
6496  return randomizeSearch_;
6497  }
6498 
6499  public static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER = 104;
6500  private long searchRandomizationTolerance_;
6515  @java.lang.Override
6517  return ((bitField4_ & 0x00000008) != 0);
6518  }
6533  @java.lang.Override
6535  return searchRandomizationTolerance_;
6536  }
6537 
6538  public static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER = 108;
6539  private boolean useOptionalVariables_;
6550  @java.lang.Override
6551  public boolean hasUseOptionalVariables() {
6552  return ((bitField4_ & 0x00000010) != 0);
6553  }
6564  @java.lang.Override
6565  public boolean getUseOptionalVariables() {
6566  return useOptionalVariables_;
6567  }
6568 
6569  public static final int USE_EXACT_LP_REASON_FIELD_NUMBER = 109;
6570  private boolean useExactLpReason_;
6582  @java.lang.Override
6583  public boolean hasUseExactLpReason() {
6584  return ((bitField4_ & 0x00000020) != 0);
6585  }
6597  @java.lang.Override
6598  public boolean getUseExactLpReason() {
6599  return useExactLpReason_;
6600  }
6601 
6602  public static final int USE_BRANCHING_IN_LP_FIELD_NUMBER = 139;
6603  private boolean useBranchingInLp_;
6614  @java.lang.Override
6615  public boolean hasUseBranchingInLp() {
6616  return ((bitField4_ & 0x00000040) != 0);
6617  }
6628  @java.lang.Override
6629  public boolean getUseBranchingInLp() {
6630  return useBranchingInLp_;
6631  }
6632 
6633  public static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER = 133;
6634  private boolean useCombinedNoOverlap_;
6645  @java.lang.Override
6646  public boolean hasUseCombinedNoOverlap() {
6647  return ((bitField4_ & 0x00000080) != 0);
6648  }
6659  @java.lang.Override
6660  public boolean getUseCombinedNoOverlap() {
6661  return useCombinedNoOverlap_;
6662  }
6663 
6664  public static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER = 135;
6665  private boolean catchSigintSignal_;
6676  @java.lang.Override
6677  public boolean hasCatchSigintSignal() {
6678  return ((bitField4_ & 0x00000100) != 0);
6679  }
6690  @java.lang.Override
6691  public boolean getCatchSigintSignal() {
6692  return catchSigintSignal_;
6693  }
6694 
6695  public static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER = 144;
6696  private boolean useImpliedBounds_;
6707  @java.lang.Override
6708  public boolean hasUseImpliedBounds() {
6709  return ((bitField4_ & 0x00000200) != 0);
6710  }
6721  @java.lang.Override
6722  public boolean getUseImpliedBounds() {
6723  return useImpliedBounds_;
6724  }
6725 
6726  public static final int MIP_MAX_BOUND_FIELD_NUMBER = 124;
6727  private double mipMaxBound_;
6738  @java.lang.Override
6739  public boolean hasMipMaxBound() {
6740  return ((bitField4_ & 0x00000400) != 0);
6741  }
6752  @java.lang.Override
6753  public double getMipMaxBound() {
6754  return mipMaxBound_;
6755  }
6756 
6757  public static final int MIP_VAR_SCALING_FIELD_NUMBER = 125;
6758  private double mipVarScaling_;
6769  @java.lang.Override
6770  public boolean hasMipVarScaling() {
6771  return ((bitField4_ & 0x00000800) != 0);
6772  }
6783  @java.lang.Override
6784  public double getMipVarScaling() {
6785  return mipVarScaling_;
6786  }
6787 
6788  public static final int MIP_AUTOMATICALLY_SCALE_VARIABLES_FIELD_NUMBER = 166;
6789  private boolean mipAutomaticallyScaleVariables_;
6802  @java.lang.Override
6804  return ((bitField4_ & 0x00001000) != 0);
6805  }
6818  @java.lang.Override
6820  return mipAutomaticallyScaleVariables_;
6821  }
6822 
6823  public static final int MIP_WANTED_PRECISION_FIELD_NUMBER = 126;
6824  private double mipWantedPrecision_;
6841  @java.lang.Override
6842  public boolean hasMipWantedPrecision() {
6843  return ((bitField4_ & 0x00002000) != 0);
6844  }
6861  @java.lang.Override
6862  public double getMipWantedPrecision() {
6863  return mipWantedPrecision_;
6864  }
6865 
6866  public static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER = 127;
6867  private int mipMaxActivityExponent_;
6882  @java.lang.Override
6883  public boolean hasMipMaxActivityExponent() {
6884  return ((bitField4_ & 0x00004000) != 0);
6885  }
6900  @java.lang.Override
6902  return mipMaxActivityExponent_;
6903  }
6904 
6905  public static final int MIP_CHECK_PRECISION_FIELD_NUMBER = 128;
6906  private double mipCheckPrecision_;
6918  @java.lang.Override
6919  public boolean hasMipCheckPrecision() {
6920  return ((bitField4_ & 0x00008000) != 0);
6921  }
6933  @java.lang.Override
6934  public double getMipCheckPrecision() {
6935  return mipCheckPrecision_;
6936  }
6937 
6938  private byte memoizedIsInitialized = -1;
6939  @java.lang.Override
6940  public final boolean isInitialized() {
6941  byte isInitialized = memoizedIsInitialized;
6942  if (isInitialized == 1) return true;
6943  if (isInitialized == 0) return false;
6944 
6945  memoizedIsInitialized = 1;
6946  return true;
6947  }
6948 
6949  @java.lang.Override
6950  public void writeTo(com.google.protobuf.CodedOutputStream output)
6951  throws java.io.IOException {
6952  if (((bitField0_ & 0x00000001) != 0)) {
6953  output.writeEnum(1, preferredVariableOrder_);
6954  }
6955  if (((bitField0_ & 0x00000002) != 0)) {
6956  output.writeEnum(2, initialPolarity_);
6957  }
6958  if (((bitField0_ & 0x00000200) != 0)) {
6959  output.writeEnum(4, minimizationAlgorithm_);
6960  }
6961  if (((bitField0_ & 0x00001000) != 0)) {
6962  output.writeInt32(11, clauseCleanupPeriod_);
6963  }
6964  if (((bitField0_ & 0x00002000) != 0)) {
6965  output.writeInt32(13, clauseCleanupTarget_);
6966  }
6967  if (((bitField0_ & 0x00200000) != 0)) {
6968  output.writeDouble(15, variableActivityDecay_);
6969  }
6970  if (((bitField0_ & 0x00400000) != 0)) {
6971  output.writeDouble(16, maxVariableActivityValue_);
6972  }
6973  if (((bitField0_ & 0x04000000) != 0)) {
6974  output.writeDouble(17, clauseActivityDecay_);
6975  }
6976  if (((bitField0_ & 0x08000000) != 0)) {
6977  output.writeDouble(18, maxClauseActivityValue_);
6978  }
6979  if (((bitField0_ & 0x00800000) != 0)) {
6980  output.writeDouble(22, glucoseMaxDecay_);
6981  }
6982  if (((bitField0_ & 0x01000000) != 0)) {
6983  output.writeDouble(23, glucoseDecayIncrement_);
6984  }
6985  if (((bitField0_ & 0x02000000) != 0)) {
6986  output.writeInt32(24, glucoseDecayIncrementPeriod_);
6987  }
6988  if (((bitField0_ & 0x20000000) != 0)) {
6989  output.writeInt32(30, restartPeriod_);
6990  }
6991  if (((bitField1_ & 0x00002000) != 0)) {
6992  output.writeInt32(31, randomSeed_);
6993  }
6994  if (((bitField0_ & 0x00000020) != 0)) {
6995  output.writeDouble(32, randomBranchesRatio_);
6996  }
6997  if (((bitField1_ & 0x00001000) != 0)) {
6998  output.writeBool(33, treatBinaryClausesSeparately_);
6999  }
7000  if (((bitField0_ & 0x00000400) != 0)) {
7001  output.writeEnum(34, binaryMinimizationAlgorithm_);
7002  }
7003  if (((bitField2_ & 0x00000020) != 0)) {
7004  output.writeBool(35, useOptimizationHints_);
7005  }
7006  if (((bitField1_ & 0x00000040) != 0)) {
7007  output.writeDouble(36, maxTimeInSeconds_);
7008  }
7009  if (((bitField1_ & 0x00000100) != 0)) {
7010  output.writeInt64(37, maxNumberOfConflicts_);
7011  }
7012  if (((bitField1_ & 0x00000200) != 0)) {
7013  output.writeInt64(40, maxMemoryInMb_);
7014  }
7015  if (((bitField1_ & 0x00004000) != 0)) {
7016  output.writeBool(41, logSearchProgress_);
7017  }
7018  if (((bitField1_ & 0x00008000) != 0)) {
7019  output.writeBool(43, usePbResolution_);
7020  }
7021  if (((bitField0_ & 0x00000004) != 0)) {
7022  output.writeBool(44, usePhaseSaving_);
7023  }
7024  if (((bitField0_ & 0x00000010) != 0)) {
7025  output.writeDouble(45, randomPolarityRatio_);
7026  }
7027  if (((bitField0_ & 0x00020000) != 0)) {
7028  output.writeInt32(46, pbCleanupIncrement_);
7029  }
7030  if (((bitField0_ & 0x00040000) != 0)) {
7031  output.writeDouble(47, pbCleanupRatio_);
7032  }
7033  if (((bitField1_ & 0x00010000) != 0)) {
7034  output.writeBool(48, minimizeReductionDuringPbResolution_);
7035  }
7036  if (((bitField1_ & 0x00020000) != 0)) {
7037  output.writeBool(49, countAssumptionLevelsInLbd_);
7038  }
7039  if (((bitField2_ & 0x00000040) != 0)) {
7040  output.writeBool(50, minimizeCore_);
7041  }
7042  if (((bitField2_ & 0x00000200) != 0)) {
7043  output.writeEnum(51, maxSatAssumptionOrder_);
7044  }
7045  if (((bitField2_ & 0x00000400) != 0)) {
7046  output.writeBool(52, maxSatReverseAssumptionOrder_);
7047  }
7048  if (((bitField2_ & 0x00000800) != 0)) {
7049  output.writeEnum(53, maxSatStratification_);
7050  }
7051  if (((bitField1_ & 0x00040000) != 0)) {
7052  output.writeInt32(54, presolveBveThreshold_);
7053  }
7054  if (((bitField1_ & 0x00080000) != 0)) {
7055  output.writeInt32(55, presolveBveClauseWeight_);
7056  }
7057  if (((bitField0_ & 0x00000800) != 0)) {
7058  output.writeBool(56, subsumptionDuringConflictAnalysis_);
7059  }
7060  if (((bitField1_ & 0x00100000) != 0)) {
7061  output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
7062  }
7063  if (((bitField0_ & 0x00004000) != 0)) {
7064  output.writeEnum(58, clauseCleanupProtection_);
7065  }
7066  if (((bitField0_ & 0x00008000) != 0)) {
7067  output.writeInt32(59, clauseCleanupLbdBound_);
7068  }
7069  if (((bitField0_ & 0x00010000) != 0)) {
7070  output.writeEnum(60, clauseCleanupOrdering_);
7071  }
7072  for (int i = 0; i < restartAlgorithms_.size(); i++) {
7073  output.writeEnum(61, restartAlgorithms_.get(i));
7074  }
7075  if (((bitField0_ & 0x40000000) != 0)) {
7076  output.writeInt32(62, restartRunningWindowSize_);
7077  }
7078  if (((bitField0_ & 0x80000000) != 0)) {
7079  output.writeDouble(63, restartDlAverageRatio_);
7080  }
7081  if (((bitField1_ & 0x00000002) != 0)) {
7082  output.writeBool(64, useBlockingRestart_);
7083  }
7084  if (((bitField1_ & 0x00000004) != 0)) {
7085  output.writeInt32(65, blockingRestartWindowSize_);
7086  }
7087  if (((bitField1_ & 0x00000008) != 0)) {
7088  output.writeDouble(66, blockingRestartMultiplier_);
7089  }
7090  if (((bitField1_ & 0x00000080) != 0)) {
7091  output.writeDouble(67, maxDeterministicTime_);
7092  }
7093  if (((bitField1_ & 0x00000010) != 0)) {
7094  output.writeInt32(68, numConflictsBeforeStrategyChanges_);
7095  }
7096  if (((bitField1_ & 0x00000020) != 0)) {
7097  output.writeDouble(69, strategyChangeIncreaseRatio_);
7098  }
7099  if (((bitField0_ & 0x10000000) != 0)) {
7100  com.google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
7101  }
7102  if (((bitField1_ & 0x00000001) != 0)) {
7103  output.writeDouble(71, restartLbdAverageRatio_);
7104  }
7105  if (((bitField1_ & 0x00400000) != 0)) {
7106  output.writeBool(72, presolveUseBva_);
7107  }
7108  if (((bitField1_ & 0x00800000) != 0)) {
7109  output.writeInt32(73, presolveBvaThreshold_);
7110  }
7111  if (((bitField2_ & 0x00001000) != 0)) {
7112  output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
7113  }
7114  if (((bitField0_ & 0x00000040) != 0)) {
7115  output.writeBool(75, useErwaHeuristic_);
7116  }
7117  if (((bitField0_ & 0x00000080) != 0)) {
7118  output.writeDouble(76, initialVariablesActivity_);
7119  }
7120  if (((bitField0_ & 0x00000100) != 0)) {
7121  output.writeBool(77, alsoBumpVariablesInConflictReasons_);
7122  }
7123  if (((bitField2_ & 0x00002000) != 0)) {
7124  output.writeBool(78, useOverloadCheckerInCumulativeConstraint_);
7125  }
7126  if (((bitField2_ & 0x00004000) != 0)) {
7127  output.writeBool(79, useTimetableEdgeFindingInCumulativeConstraint_);
7128  }
7129  if (((bitField2_ & 0x00008000) != 0)) {
7130  output.writeBool(80, useDisjunctiveConstraintInCumulativeConstraint_);
7131  }
7132  if (((bitField3_ & 0x00000004) != 0)) {
7133  output.writeEnum(82, searchBranching_);
7134  }
7135  if (((bitField3_ & 0x00001000) != 0)) {
7136  output.writeBool(83, optimizeWithCore_);
7137  }
7138  if (((bitField2_ & 0x00000080) != 0)) {
7139  output.writeBool(84, findMultipleCores_);
7140  }
7141  if (((bitField3_ & 0x00004000) != 0)) {
7142  output.writeBool(85, optimizeWithMaxHs_);
7143  }
7144  if (((bitField1_ & 0x02000000) != 0)) {
7145  output.writeBool(86, cpModelPresolve_);
7146  }
7147  if (((bitField3_ & 0x00008000) != 0)) {
7148  output.writeBool(87, enumerateAllSolutions_);
7149  }
7150  if (((bitField1_ & 0x00200000) != 0)) {
7151  output.writeBool(88, presolveBlockedClause_);
7152  }
7153  if (((bitField2_ & 0x00000100) != 0)) {
7154  output.writeBool(89, coverOptimization_);
7155  }
7156  if (((bitField2_ & 0x00010000) != 0)) {
7157  output.writeInt32(90, linearizationLevel_);
7158  }
7159  if (((bitField2_ & 0x00040000) != 0)) {
7160  output.writeInt32(91, maxNumCuts_);
7161  }
7162  if (((bitField2_ & 0x00080000) != 0)) {
7163  output.writeBool(92, onlyAddCutsAtLevelZero_);
7164  }
7165  if (((bitField1_ & 0x20000000) != 0)) {
7166  output.writeBool(93, cpModelUseSatPresolve_);
7167  }
7168  if (((bitField3_ & 0x00000020) != 0)) {
7169  output.writeBool(94, exploitIntegerLpSolution_);
7170  }
7171  if (((bitField3_ & 0x00040000) != 0)) {
7172  output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
7173  }
7174  if (((bitField0_ & 0x00080000) != 0)) {
7175  output.writeInt32(96, minimizeWithPropagationRestartPeriod_);
7176  }
7177  if (((bitField0_ & 0x00100000) != 0)) {
7178  output.writeInt32(97, minimizeWithPropagationNumDecisions_);
7179  }
7180  if (((bitField3_ & 0x00080000) != 0)) {
7181  output.writeBool(98, stopAfterFirstSolution_);
7182  }
7183  if (((bitField3_ & 0x00002000) != 0)) {
7184  output.writeInt32(99, binarySearchNumConflicts_);
7185  }
7186  if (((bitField3_ & 0x00200000) != 0)) {
7187  output.writeInt32(100, numSearchWorkers_);
7188  }
7189  if (((bitField3_ & 0x08000000) != 0)) {
7190  output.writeBool(101, useLnsOnly_);
7191  }
7192  if (((bitField4_ & 0x00000004) != 0)) {
7193  output.writeBool(103, randomizeSearch_);
7194  }
7195  if (((bitField4_ & 0x00000008) != 0)) {
7196  output.writeInt64(104, searchRandomizationTolerance_);
7197  }
7198  if (((bitField3_ & 0x10000000) != 0)) {
7199  output.writeBool(105, lnsFocusOnDecisionVariables_);
7200  }
7201  if (((bitField3_ & 0x00020000) != 0)) {
7202  output.writeBool(106, instantiateAllVariables_);
7203  }
7204  if (((bitField2_ & 0x00020000) != 0)) {
7205  output.writeInt32(107, booleanEncodingLevel_);
7206  }
7207  if (((bitField4_ & 0x00000010) != 0)) {
7208  output.writeBool(108, useOptionalVariables_);
7209  }
7210  if (((bitField4_ & 0x00000020) != 0)) {
7211  output.writeBool(109, useExactLpReason_);
7212  }
7213  if (((bitField1_ & 0x10000000) != 0)) {
7214  output.writeInt32(110, cpModelProbingLevel_);
7215  }
7216  if (((bitField2_ & 0x00100000) != 0)) {
7217  output.writeBool(111, addKnapsackCuts_);
7218  }
7219  if (((bitField2_ & 0x04000000) != 0)) {
7220  output.writeBool(112, addLpConstraintsLazily_);
7221  }
7222  if (((bitField3_ & 0x02000000) != 0)) {
7223  output.writeBool(113, shareObjectiveBounds_);
7224  }
7225  if (((bitField3_ & 0x04000000) != 0)) {
7226  output.writeBool(114, shareLevelZeroBounds_);
7227  }
7228  if (((bitField2_ & 0x08000000) != 0)) {
7229  output.writeDouble(115, minOrthogonalityForLpConstraints_);
7230  }
7231  if (((bitField3_ & 0x00000040) != 0)) {
7232  output.writeBool(116, exploitAllLpSolution_);
7233  }
7234  if (((bitField2_ & 0x00200000) != 0)) {
7235  output.writeBool(117, addCgCuts_);
7236  }
7237  if (((bitField2_ & 0x02000000) != 0)) {
7238  output.writeInt32(119, maxIntegerRoundingScaling_);
7239  }
7240  if (((bitField2_ & 0x00400000) != 0)) {
7241  output.writeBool(120, addMirCuts_);
7242  }
7243  if (((bitField2_ & 0x20000000) != 0)) {
7244  output.writeInt32(121, maxConsecutiveInactiveCount_);
7245  }
7246  if (((bitField3_ & 0x00000002) != 0)) {
7247  output.writeInt32(122, newConstraintsBatchSize_);
7248  }
7249  if (((bitField3_ & 0x00000800) != 0)) {
7250  output.writeInt64(123, pseudoCostReliabilityThreshold_);
7251  }
7252  if (((bitField4_ & 0x00000400) != 0)) {
7253  output.writeDouble(124, mipMaxBound_);
7254  }
7255  if (((bitField4_ & 0x00000800) != 0)) {
7256  output.writeDouble(125, mipVarScaling_);
7257  }
7258  if (((bitField4_ & 0x00002000) != 0)) {
7259  output.writeDouble(126, mipWantedPrecision_);
7260  }
7261  if (((bitField4_ & 0x00004000) != 0)) {
7262  output.writeInt32(127, mipMaxActivityExponent_);
7263  }
7264  if (((bitField4_ & 0x00008000) != 0)) {
7265  output.writeDouble(128, mipCheckPrecision_);
7266  }
7267  if (((bitField3_ & 0x20000000) != 0)) {
7268  output.writeBool(129, useRinsLns_);
7269  }
7270  if (((bitField3_ & 0x00000080) != 0)) {
7271  output.writeBool(130, exploitBestSolution_);
7272  }
7273  if (((bitField3_ & 0x00000200) != 0)) {
7274  output.writeBool(131, exploitObjective_);
7275  }
7276  if (((bitField3_ & 0x00010000) != 0)) {
7277  output.writeBool(132, fillTightenedDomainsInResponse_);
7278  }
7279  if (((bitField4_ & 0x00000080) != 0)) {
7280  output.writeBool(133, useCombinedNoOverlap_);
7281  }
7282  if (((bitField3_ & 0x00800000) != 0)) {
7283  output.writeInt32(134, interleaveBatchSize_);
7284  }
7285  if (((bitField4_ & 0x00000100) != 0)) {
7286  output.writeBool(135, catchSigintSignal_);
7287  }
7288  if (((bitField3_ & 0x00400000) != 0)) {
7289  output.writeBool(136, interleaveSearch_);
7290  }
7291  if (((bitField4_ & 0x00000002) != 0)) {
7292  output.writeBool(137, diversifyLnsParams_);
7293  }
7294  if (((bitField1_ & 0x01000000) != 0)) {
7295  output.writeInt32(138, maxPresolveIterations_);
7296  }
7297  if (((bitField4_ & 0x00000040) != 0)) {
7298  output.writeBool(139, useBranchingInLp_);
7299  }
7300  if (((bitField1_ & 0x80000000) != 0)) {
7301  output.writeBool(140, expandElementConstraints_);
7302  }
7303  if (((bitField3_ & 0x01000000) != 0)) {
7304  output.writeBool(141, reduceMemoryUsageInInterleaveMode_);
7305  }
7306  if (((bitField3_ & 0x00000400) != 0)) {
7307  output.writeInt64(142, probingPeriodAtRoot_);
7308  }
7309  if (((bitField2_ & 0x00000001) != 0)) {
7310  output.writeBool(143, expandAutomatonConstraints_);
7311  }
7312  if (((bitField4_ & 0x00000200) != 0)) {
7313  output.writeBool(144, useImpliedBounds_);
7314  }
7315  if (((bitField2_ & 0x00000004) != 0)) {
7316  output.writeDouble(145, mergeNoOverlapWorkLimit_);
7317  }
7318  if (((bitField2_ & 0x00000008) != 0)) {
7319  output.writeDouble(146, mergeAtMostOneWorkLimit_);
7320  }
7321  if (((bitField2_ & 0x00000010) != 0)) {
7322  output.writeInt32(147, presolveSubstitutionLevel_);
7323  }
7324  if (((bitField2_ & 0x00800000) != 0)) {
7325  output.writeInt32(148, maxAllDiffCutSize_);
7326  }
7327  if (((bitField3_ & 0x00100000) != 0)) {
7328  output.writeBool(149, stopAfterPresolve_);
7329  }
7330  if (((bitField4_ & 0x00000001) != 0)) {
7331  output.writeBool(150, useRelaxationLns_);
7332  }
7333  if (((bitField1_ & 0x08000000) != 0)) {
7334  output.writeInt32(151, cpModelMaxNumPresolveOperations_);
7335  }
7336  if (((bitField2_ & 0x01000000) != 0)) {
7337  output.writeBool(152, addLinMaxCuts_);
7338  }
7339  if (((bitField3_ & 0x00000008) != 0)) {
7340  output.writeInt32(153, hintConflictLimit_);
7341  }
7342  if (((bitField2_ & 0x10000000) != 0)) {
7343  output.writeInt32(154, maxCutRoundsAtLevelZero_);
7344  }
7345  if (((bitField2_ & 0x40000000) != 0)) {
7346  output.writeDouble(155, cutMaxActiveCountValue_);
7347  }
7348  if (((bitField2_ & 0x80000000) != 0)) {
7349  output.writeDouble(156, cutActiveCountDecay_);
7350  }
7351  if (((bitField3_ & 0x00000001) != 0)) {
7352  output.writeInt32(157, cutCleanupTarget_);
7353  }
7354  if (((bitField2_ & 0x00000002) != 0)) {
7355  output.writeBool(158, expandTableConstraints_);
7356  }
7357  if (((bitField1_ & 0x00000400) != 0)) {
7358  output.writeDouble(159, absoluteGapLimit_);
7359  }
7360  if (((bitField1_ & 0x00000800) != 0)) {
7361  output.writeDouble(160, relativeGapLimit_);
7362  }
7363  if (((bitField3_ & 0x00000100) != 0)) {
7364  output.writeBool(161, exploitRelaxationSolution_);
7365  }
7366  if (((bitField1_ & 0x04000000) != 0)) {
7367  output.writeBool(162, cpModelPostsolveWithFullSolver_);
7368  }
7369  if (((bitField1_ & 0x40000000) != 0)) {
7370  output.writeBool(163, useSatInprocessing_);
7371  }
7372  if (((bitField3_ & 0x40000000) != 0)) {
7373  output.writeBool(164, useFeasibilityPump_);
7374  }
7375  if (((bitField3_ & 0x80000000) != 0)) {
7376  output.writeEnum(165, fpRounding_);
7377  }
7378  if (((bitField4_ & 0x00001000) != 0)) {
7379  output.writeBool(166, mipAutomaticallyScaleVariables_);
7380  }
7381  if (((bitField3_ & 0x00000010) != 0)) {
7382  output.writeBool(167, repairHint_);
7383  }
7384  if (((bitField0_ & 0x00000008) != 0)) {
7385  output.writeInt32(168, polarityRephaseIncrement_);
7386  }
7387  unknownFields.writeTo(output);
7388  }
7389 
7390  @java.lang.Override
7391  public int getSerializedSize() {
7392  int size = memoizedSize;
7393  if (size != -1) return size;
7394 
7395  size = 0;
7396  if (((bitField0_ & 0x00000001) != 0)) {
7397  size += com.google.protobuf.CodedOutputStream
7398  .computeEnumSize(1, preferredVariableOrder_);
7399  }
7400  if (((bitField0_ & 0x00000002) != 0)) {
7401  size += com.google.protobuf.CodedOutputStream
7402  .computeEnumSize(2, initialPolarity_);
7403  }
7404  if (((bitField0_ & 0x00000200) != 0)) {
7405  size += com.google.protobuf.CodedOutputStream
7406  .computeEnumSize(4, minimizationAlgorithm_);
7407  }
7408  if (((bitField0_ & 0x00001000) != 0)) {
7409  size += com.google.protobuf.CodedOutputStream
7410  .computeInt32Size(11, clauseCleanupPeriod_);
7411  }
7412  if (((bitField0_ & 0x00002000) != 0)) {
7413  size += com.google.protobuf.CodedOutputStream
7414  .computeInt32Size(13, clauseCleanupTarget_);
7415  }
7416  if (((bitField0_ & 0x00200000) != 0)) {
7417  size += com.google.protobuf.CodedOutputStream
7418  .computeDoubleSize(15, variableActivityDecay_);
7419  }
7420  if (((bitField0_ & 0x00400000) != 0)) {
7421  size += com.google.protobuf.CodedOutputStream
7422  .computeDoubleSize(16, maxVariableActivityValue_);
7423  }
7424  if (((bitField0_ & 0x04000000) != 0)) {
7425  size += com.google.protobuf.CodedOutputStream
7426  .computeDoubleSize(17, clauseActivityDecay_);
7427  }
7428  if (((bitField0_ & 0x08000000) != 0)) {
7429  size += com.google.protobuf.CodedOutputStream
7430  .computeDoubleSize(18, maxClauseActivityValue_);
7431  }
7432  if (((bitField0_ & 0x00800000) != 0)) {
7433  size += com.google.protobuf.CodedOutputStream
7434  .computeDoubleSize(22, glucoseMaxDecay_);
7435  }
7436  if (((bitField0_ & 0x01000000) != 0)) {
7437  size += com.google.protobuf.CodedOutputStream
7438  .computeDoubleSize(23, glucoseDecayIncrement_);
7439  }
7440  if (((bitField0_ & 0x02000000) != 0)) {
7441  size += com.google.protobuf.CodedOutputStream
7442  .computeInt32Size(24, glucoseDecayIncrementPeriod_);
7443  }
7444  if (((bitField0_ & 0x20000000) != 0)) {
7445  size += com.google.protobuf.CodedOutputStream
7446  .computeInt32Size(30, restartPeriod_);
7447  }
7448  if (((bitField1_ & 0x00002000) != 0)) {
7449  size += com.google.protobuf.CodedOutputStream
7450  .computeInt32Size(31, randomSeed_);
7451  }
7452  if (((bitField0_ & 0x00000020) != 0)) {
7453  size += com.google.protobuf.CodedOutputStream
7454  .computeDoubleSize(32, randomBranchesRatio_);
7455  }
7456  if (((bitField1_ & 0x00001000) != 0)) {
7457  size += com.google.protobuf.CodedOutputStream
7458  .computeBoolSize(33, treatBinaryClausesSeparately_);
7459  }
7460  if (((bitField0_ & 0x00000400) != 0)) {
7461  size += com.google.protobuf.CodedOutputStream
7462  .computeEnumSize(34, binaryMinimizationAlgorithm_);
7463  }
7464  if (((bitField2_ & 0x00000020) != 0)) {
7465  size += com.google.protobuf.CodedOutputStream
7466  .computeBoolSize(35, useOptimizationHints_);
7467  }
7468  if (((bitField1_ & 0x00000040) != 0)) {
7469  size += com.google.protobuf.CodedOutputStream
7470  .computeDoubleSize(36, maxTimeInSeconds_);
7471  }
7472  if (((bitField1_ & 0x00000100) != 0)) {
7473  size += com.google.protobuf.CodedOutputStream
7474  .computeInt64Size(37, maxNumberOfConflicts_);
7475  }
7476  if (((bitField1_ & 0x00000200) != 0)) {
7477  size += com.google.protobuf.CodedOutputStream
7478  .computeInt64Size(40, maxMemoryInMb_);
7479  }
7480  if (((bitField1_ & 0x00004000) != 0)) {
7481  size += com.google.protobuf.CodedOutputStream
7482  .computeBoolSize(41, logSearchProgress_);
7483  }
7484  if (((bitField1_ & 0x00008000) != 0)) {
7485  size += com.google.protobuf.CodedOutputStream
7486  .computeBoolSize(43, usePbResolution_);
7487  }
7488  if (((bitField0_ & 0x00000004) != 0)) {
7489  size += com.google.protobuf.CodedOutputStream
7490  .computeBoolSize(44, usePhaseSaving_);
7491  }
7492  if (((bitField0_ & 0x00000010) != 0)) {
7493  size += com.google.protobuf.CodedOutputStream
7494  .computeDoubleSize(45, randomPolarityRatio_);
7495  }
7496  if (((bitField0_ & 0x00020000) != 0)) {
7497  size += com.google.protobuf.CodedOutputStream
7498  .computeInt32Size(46, pbCleanupIncrement_);
7499  }
7500  if (((bitField0_ & 0x00040000) != 0)) {
7501  size += com.google.protobuf.CodedOutputStream
7502  .computeDoubleSize(47, pbCleanupRatio_);
7503  }
7504  if (((bitField1_ & 0x00010000) != 0)) {
7505  size += com.google.protobuf.CodedOutputStream
7506  .computeBoolSize(48, minimizeReductionDuringPbResolution_);
7507  }
7508  if (((bitField1_ & 0x00020000) != 0)) {
7509  size += com.google.protobuf.CodedOutputStream
7510  .computeBoolSize(49, countAssumptionLevelsInLbd_);
7511  }
7512  if (((bitField2_ & 0x00000040) != 0)) {
7513  size += com.google.protobuf.CodedOutputStream
7514  .computeBoolSize(50, minimizeCore_);
7515  }
7516  if (((bitField2_ & 0x00000200) != 0)) {
7517  size += com.google.protobuf.CodedOutputStream
7518  .computeEnumSize(51, maxSatAssumptionOrder_);
7519  }
7520  if (((bitField2_ & 0x00000400) != 0)) {
7521  size += com.google.protobuf.CodedOutputStream
7522  .computeBoolSize(52, maxSatReverseAssumptionOrder_);
7523  }
7524  if (((bitField2_ & 0x00000800) != 0)) {
7525  size += com.google.protobuf.CodedOutputStream
7526  .computeEnumSize(53, maxSatStratification_);
7527  }
7528  if (((bitField1_ & 0x00040000) != 0)) {
7529  size += com.google.protobuf.CodedOutputStream
7530  .computeInt32Size(54, presolveBveThreshold_);
7531  }
7532  if (((bitField1_ & 0x00080000) != 0)) {
7533  size += com.google.protobuf.CodedOutputStream
7534  .computeInt32Size(55, presolveBveClauseWeight_);
7535  }
7536  if (((bitField0_ & 0x00000800) != 0)) {
7537  size += com.google.protobuf.CodedOutputStream
7538  .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
7539  }
7540  if (((bitField1_ & 0x00100000) != 0)) {
7541  size += com.google.protobuf.CodedOutputStream
7542  .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
7543  }
7544  if (((bitField0_ & 0x00004000) != 0)) {
7545  size += com.google.protobuf.CodedOutputStream
7546  .computeEnumSize(58, clauseCleanupProtection_);
7547  }
7548  if (((bitField0_ & 0x00008000) != 0)) {
7549  size += com.google.protobuf.CodedOutputStream
7550  .computeInt32Size(59, clauseCleanupLbdBound_);
7551  }
7552  if (((bitField0_ & 0x00010000) != 0)) {
7553  size += com.google.protobuf.CodedOutputStream
7554  .computeEnumSize(60, clauseCleanupOrdering_);
7555  }
7556  {
7557  int dataSize = 0;
7558  for (int i = 0; i < restartAlgorithms_.size(); i++) {
7559  dataSize += com.google.protobuf.CodedOutputStream
7560  .computeEnumSizeNoTag(restartAlgorithms_.get(i));
7561  }
7562  size += dataSize;
7563  size += 2 * restartAlgorithms_.size();
7564  }
7565  if (((bitField0_ & 0x40000000) != 0)) {
7566  size += com.google.protobuf.CodedOutputStream
7567  .computeInt32Size(62, restartRunningWindowSize_);
7568  }
7569  if (((bitField0_ & 0x80000000) != 0)) {
7570  size += com.google.protobuf.CodedOutputStream
7571  .computeDoubleSize(63, restartDlAverageRatio_);
7572  }
7573  if (((bitField1_ & 0x00000002) != 0)) {
7574  size += com.google.protobuf.CodedOutputStream
7575  .computeBoolSize(64, useBlockingRestart_);
7576  }
7577  if (((bitField1_ & 0x00000004) != 0)) {
7578  size += com.google.protobuf.CodedOutputStream
7579  .computeInt32Size(65, blockingRestartWindowSize_);
7580  }
7581  if (((bitField1_ & 0x00000008) != 0)) {
7582  size += com.google.protobuf.CodedOutputStream
7583  .computeDoubleSize(66, blockingRestartMultiplier_);
7584  }
7585  if (((bitField1_ & 0x00000080) != 0)) {
7586  size += com.google.protobuf.CodedOutputStream
7587  .computeDoubleSize(67, maxDeterministicTime_);
7588  }
7589  if (((bitField1_ & 0x00000010) != 0)) {
7590  size += com.google.protobuf.CodedOutputStream
7591  .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
7592  }
7593  if (((bitField1_ & 0x00000020) != 0)) {
7594  size += com.google.protobuf.CodedOutputStream
7595  .computeDoubleSize(69, strategyChangeIncreaseRatio_);
7596  }
7597  if (((bitField0_ & 0x10000000) != 0)) {
7598  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
7599  }
7600  if (((bitField1_ & 0x00000001) != 0)) {
7601  size += com.google.protobuf.CodedOutputStream
7602  .computeDoubleSize(71, restartLbdAverageRatio_);
7603  }
7604  if (((bitField1_ & 0x00400000) != 0)) {
7605  size += com.google.protobuf.CodedOutputStream
7606  .computeBoolSize(72, presolveUseBva_);
7607  }
7608  if (((bitField1_ & 0x00800000) != 0)) {
7609  size += com.google.protobuf.CodedOutputStream
7610  .computeInt32Size(73, presolveBvaThreshold_);
7611  }
7612  if (((bitField2_ & 0x00001000) != 0)) {
7613  size += com.google.protobuf.CodedOutputStream
7614  .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
7615  }
7616  if (((bitField0_ & 0x00000040) != 0)) {
7617  size += com.google.protobuf.CodedOutputStream
7618  .computeBoolSize(75, useErwaHeuristic_);
7619  }
7620  if (((bitField0_ & 0x00000080) != 0)) {
7621  size += com.google.protobuf.CodedOutputStream
7622  .computeDoubleSize(76, initialVariablesActivity_);
7623  }
7624  if (((bitField0_ & 0x00000100) != 0)) {
7625  size += com.google.protobuf.CodedOutputStream
7626  .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
7627  }
7628  if (((bitField2_ & 0x00002000) != 0)) {
7629  size += com.google.protobuf.CodedOutputStream
7630  .computeBoolSize(78, useOverloadCheckerInCumulativeConstraint_);
7631  }
7632  if (((bitField2_ & 0x00004000) != 0)) {
7633  size += com.google.protobuf.CodedOutputStream
7634  .computeBoolSize(79, useTimetableEdgeFindingInCumulativeConstraint_);
7635  }
7636  if (((bitField2_ & 0x00008000) != 0)) {
7637  size += com.google.protobuf.CodedOutputStream
7638  .computeBoolSize(80, useDisjunctiveConstraintInCumulativeConstraint_);
7639  }
7640  if (((bitField3_ & 0x00000004) != 0)) {
7641  size += com.google.protobuf.CodedOutputStream
7642  .computeEnumSize(82, searchBranching_);
7643  }
7644  if (((bitField3_ & 0x00001000) != 0)) {
7645  size += com.google.protobuf.CodedOutputStream
7646  .computeBoolSize(83, optimizeWithCore_);
7647  }
7648  if (((bitField2_ & 0x00000080) != 0)) {
7649  size += com.google.protobuf.CodedOutputStream
7650  .computeBoolSize(84, findMultipleCores_);
7651  }
7652  if (((bitField3_ & 0x00004000) != 0)) {
7653  size += com.google.protobuf.CodedOutputStream
7654  .computeBoolSize(85, optimizeWithMaxHs_);
7655  }
7656  if (((bitField1_ & 0x02000000) != 0)) {
7657  size += com.google.protobuf.CodedOutputStream
7658  .computeBoolSize(86, cpModelPresolve_);
7659  }
7660  if (((bitField3_ & 0x00008000) != 0)) {
7661  size += com.google.protobuf.CodedOutputStream
7662  .computeBoolSize(87, enumerateAllSolutions_);
7663  }
7664  if (((bitField1_ & 0x00200000) != 0)) {
7665  size += com.google.protobuf.CodedOutputStream
7666  .computeBoolSize(88, presolveBlockedClause_);
7667  }
7668  if (((bitField2_ & 0x00000100) != 0)) {
7669  size += com.google.protobuf.CodedOutputStream
7670  .computeBoolSize(89, coverOptimization_);
7671  }
7672  if (((bitField2_ & 0x00010000) != 0)) {
7673  size += com.google.protobuf.CodedOutputStream
7674  .computeInt32Size(90, linearizationLevel_);
7675  }
7676  if (((bitField2_ & 0x00040000) != 0)) {
7677  size += com.google.protobuf.CodedOutputStream
7678  .computeInt32Size(91, maxNumCuts_);
7679  }
7680  if (((bitField2_ & 0x00080000) != 0)) {
7681  size += com.google.protobuf.CodedOutputStream
7682  .computeBoolSize(92, onlyAddCutsAtLevelZero_);
7683  }
7684  if (((bitField1_ & 0x20000000) != 0)) {
7685  size += com.google.protobuf.CodedOutputStream
7686  .computeBoolSize(93, cpModelUseSatPresolve_);
7687  }
7688  if (((bitField3_ & 0x00000020) != 0)) {
7689  size += com.google.protobuf.CodedOutputStream
7690  .computeBoolSize(94, exploitIntegerLpSolution_);
7691  }
7692  if (((bitField3_ & 0x00040000) != 0)) {
7693  size += com.google.protobuf.CodedOutputStream
7694  .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
7695  }
7696  if (((bitField0_ & 0x00080000) != 0)) {
7697  size += com.google.protobuf.CodedOutputStream
7698  .computeInt32Size(96, minimizeWithPropagationRestartPeriod_);
7699  }
7700  if (((bitField0_ & 0x00100000) != 0)) {
7701  size += com.google.protobuf.CodedOutputStream
7702  .computeInt32Size(97, minimizeWithPropagationNumDecisions_);
7703  }
7704  if (((bitField3_ & 0x00080000) != 0)) {
7705  size += com.google.protobuf.CodedOutputStream
7706  .computeBoolSize(98, stopAfterFirstSolution_);
7707  }
7708  if (((bitField3_ & 0x00002000) != 0)) {
7709  size += com.google.protobuf.CodedOutputStream
7710  .computeInt32Size(99, binarySearchNumConflicts_);
7711  }
7712  if (((bitField3_ & 0x00200000) != 0)) {
7713  size += com.google.protobuf.CodedOutputStream
7714  .computeInt32Size(100, numSearchWorkers_);
7715  }
7716  if (((bitField3_ & 0x08000000) != 0)) {
7717  size += com.google.protobuf.CodedOutputStream
7718  .computeBoolSize(101, useLnsOnly_);
7719  }
7720  if (((bitField4_ & 0x00000004) != 0)) {
7721  size += com.google.protobuf.CodedOutputStream
7722  .computeBoolSize(103, randomizeSearch_);
7723  }
7724  if (((bitField4_ & 0x00000008) != 0)) {
7725  size += com.google.protobuf.CodedOutputStream
7726  .computeInt64Size(104, searchRandomizationTolerance_);
7727  }
7728  if (((bitField3_ & 0x10000000) != 0)) {
7729  size += com.google.protobuf.CodedOutputStream
7730  .computeBoolSize(105, lnsFocusOnDecisionVariables_);
7731  }
7732  if (((bitField3_ & 0x00020000) != 0)) {
7733  size += com.google.protobuf.CodedOutputStream
7734  .computeBoolSize(106, instantiateAllVariables_);
7735  }
7736  if (((bitField2_ & 0x00020000) != 0)) {
7737  size += com.google.protobuf.CodedOutputStream
7738  .computeInt32Size(107, booleanEncodingLevel_);
7739  }
7740  if (((bitField4_ & 0x00000010) != 0)) {
7741  size += com.google.protobuf.CodedOutputStream
7742  .computeBoolSize(108, useOptionalVariables_);
7743  }
7744  if (((bitField4_ & 0x00000020) != 0)) {
7745  size += com.google.protobuf.CodedOutputStream
7746  .computeBoolSize(109, useExactLpReason_);
7747  }
7748  if (((bitField1_ & 0x10000000) != 0)) {
7749  size += com.google.protobuf.CodedOutputStream
7750  .computeInt32Size(110, cpModelProbingLevel_);
7751  }
7752  if (((bitField2_ & 0x00100000) != 0)) {
7753  size += com.google.protobuf.CodedOutputStream
7754  .computeBoolSize(111, addKnapsackCuts_);
7755  }
7756  if (((bitField2_ & 0x04000000) != 0)) {
7757  size += com.google.protobuf.CodedOutputStream
7758  .computeBoolSize(112, addLpConstraintsLazily_);
7759  }
7760  if (((bitField3_ & 0x02000000) != 0)) {
7761  size += com.google.protobuf.CodedOutputStream
7762  .computeBoolSize(113, shareObjectiveBounds_);
7763  }
7764  if (((bitField3_ & 0x04000000) != 0)) {
7765  size += com.google.protobuf.CodedOutputStream
7766  .computeBoolSize(114, shareLevelZeroBounds_);
7767  }
7768  if (((bitField2_ & 0x08000000) != 0)) {
7769  size += com.google.protobuf.CodedOutputStream
7770  .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
7771  }
7772  if (((bitField3_ & 0x00000040) != 0)) {
7773  size += com.google.protobuf.CodedOutputStream
7774  .computeBoolSize(116, exploitAllLpSolution_);
7775  }
7776  if (((bitField2_ & 0x00200000) != 0)) {
7777  size += com.google.protobuf.CodedOutputStream
7778  .computeBoolSize(117, addCgCuts_);
7779  }
7780  if (((bitField2_ & 0x02000000) != 0)) {
7781  size += com.google.protobuf.CodedOutputStream
7782  .computeInt32Size(119, maxIntegerRoundingScaling_);
7783  }
7784  if (((bitField2_ & 0x00400000) != 0)) {
7785  size += com.google.protobuf.CodedOutputStream
7786  .computeBoolSize(120, addMirCuts_);
7787  }
7788  if (((bitField2_ & 0x20000000) != 0)) {
7789  size += com.google.protobuf.CodedOutputStream
7790  .computeInt32Size(121, maxConsecutiveInactiveCount_);
7791  }
7792  if (((bitField3_ & 0x00000002) != 0)) {
7793  size += com.google.protobuf.CodedOutputStream
7794  .computeInt32Size(122, newConstraintsBatchSize_);
7795  }
7796  if (((bitField3_ & 0x00000800) != 0)) {
7797  size += com.google.protobuf.CodedOutputStream
7798  .computeInt64Size(123, pseudoCostReliabilityThreshold_);
7799  }
7800  if (((bitField4_ & 0x00000400) != 0)) {
7801  size += com.google.protobuf.CodedOutputStream
7802  .computeDoubleSize(124, mipMaxBound_);
7803  }
7804  if (((bitField4_ & 0x00000800) != 0)) {
7805  size += com.google.protobuf.CodedOutputStream
7806  .computeDoubleSize(125, mipVarScaling_);
7807  }
7808  if (((bitField4_ & 0x00002000) != 0)) {
7809  size += com.google.protobuf.CodedOutputStream
7810  .computeDoubleSize(126, mipWantedPrecision_);
7811  }
7812  if (((bitField4_ & 0x00004000) != 0)) {
7813  size += com.google.protobuf.CodedOutputStream
7814  .computeInt32Size(127, mipMaxActivityExponent_);
7815  }
7816  if (((bitField4_ & 0x00008000) != 0)) {
7817  size += com.google.protobuf.CodedOutputStream
7818  .computeDoubleSize(128, mipCheckPrecision_);
7819  }
7820  if (((bitField3_ & 0x20000000) != 0)) {
7821  size += com.google.protobuf.CodedOutputStream
7822  .computeBoolSize(129, useRinsLns_);
7823  }
7824  if (((bitField3_ & 0x00000080) != 0)) {
7825  size += com.google.protobuf.CodedOutputStream
7826  .computeBoolSize(130, exploitBestSolution_);
7827  }
7828  if (((bitField3_ & 0x00000200) != 0)) {
7829  size += com.google.protobuf.CodedOutputStream
7830  .computeBoolSize(131, exploitObjective_);
7831  }
7832  if (((bitField3_ & 0x00010000) != 0)) {
7833  size += com.google.protobuf.CodedOutputStream
7834  .computeBoolSize(132, fillTightenedDomainsInResponse_);
7835  }
7836  if (((bitField4_ & 0x00000080) != 0)) {
7837  size += com.google.protobuf.CodedOutputStream
7838  .computeBoolSize(133, useCombinedNoOverlap_);
7839  }
7840  if (((bitField3_ & 0x00800000) != 0)) {
7841  size += com.google.protobuf.CodedOutputStream
7842  .computeInt32Size(134, interleaveBatchSize_);
7843  }
7844  if (((bitField4_ & 0x00000100) != 0)) {
7845  size += com.google.protobuf.CodedOutputStream
7846  .computeBoolSize(135, catchSigintSignal_);
7847  }
7848  if (((bitField3_ & 0x00400000) != 0)) {
7849  size += com.google.protobuf.CodedOutputStream
7850  .computeBoolSize(136, interleaveSearch_);
7851  }
7852  if (((bitField4_ & 0x00000002) != 0)) {
7853  size += com.google.protobuf.CodedOutputStream
7854  .computeBoolSize(137, diversifyLnsParams_);
7855  }
7856  if (((bitField1_ & 0x01000000) != 0)) {
7857  size += com.google.protobuf.CodedOutputStream
7858  .computeInt32Size(138, maxPresolveIterations_);
7859  }
7860  if (((bitField4_ & 0x00000040) != 0)) {
7861  size += com.google.protobuf.CodedOutputStream
7862  .computeBoolSize(139, useBranchingInLp_);
7863  }
7864  if (((bitField1_ & 0x80000000) != 0)) {
7865  size += com.google.protobuf.CodedOutputStream
7866  .computeBoolSize(140, expandElementConstraints_);
7867  }
7868  if (((bitField3_ & 0x01000000) != 0)) {
7869  size += com.google.protobuf.CodedOutputStream
7870  .computeBoolSize(141, reduceMemoryUsageInInterleaveMode_);
7871  }
7872  if (((bitField3_ & 0x00000400) != 0)) {
7873  size += com.google.protobuf.CodedOutputStream
7874  .computeInt64Size(142, probingPeriodAtRoot_);
7875  }
7876  if (((bitField2_ & 0x00000001) != 0)) {
7877  size += com.google.protobuf.CodedOutputStream
7878  .computeBoolSize(143, expandAutomatonConstraints_);
7879  }
7880  if (((bitField4_ & 0x00000200) != 0)) {
7881  size += com.google.protobuf.CodedOutputStream
7882  .computeBoolSize(144, useImpliedBounds_);
7883  }
7884  if (((bitField2_ & 0x00000004) != 0)) {
7885  size += com.google.protobuf.CodedOutputStream
7886  .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
7887  }
7888  if (((bitField2_ & 0x00000008) != 0)) {
7889  size += com.google.protobuf.CodedOutputStream
7890  .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
7891  }
7892  if (((bitField2_ & 0x00000010) != 0)) {
7893  size += com.google.protobuf.CodedOutputStream
7894  .computeInt32Size(147, presolveSubstitutionLevel_);
7895  }
7896  if (((bitField2_ & 0x00800000) != 0)) {
7897  size += com.google.protobuf.CodedOutputStream
7898  .computeInt32Size(148, maxAllDiffCutSize_);
7899  }
7900  if (((bitField3_ & 0x00100000) != 0)) {
7901  size += com.google.protobuf.CodedOutputStream
7902  .computeBoolSize(149, stopAfterPresolve_);
7903  }
7904  if (((bitField4_ & 0x00000001) != 0)) {
7905  size += com.google.protobuf.CodedOutputStream
7906  .computeBoolSize(150, useRelaxationLns_);
7907  }
7908  if (((bitField1_ & 0x08000000) != 0)) {
7909  size += com.google.protobuf.CodedOutputStream
7910  .computeInt32Size(151, cpModelMaxNumPresolveOperations_);
7911  }
7912  if (((bitField2_ & 0x01000000) != 0)) {
7913  size += com.google.protobuf.CodedOutputStream
7914  .computeBoolSize(152, addLinMaxCuts_);
7915  }
7916  if (((bitField3_ & 0x00000008) != 0)) {
7917  size += com.google.protobuf.CodedOutputStream
7918  .computeInt32Size(153, hintConflictLimit_);
7919  }
7920  if (((bitField2_ & 0x10000000) != 0)) {
7921  size += com.google.protobuf.CodedOutputStream
7922  .computeInt32Size(154, maxCutRoundsAtLevelZero_);
7923  }
7924  if (((bitField2_ & 0x40000000) != 0)) {
7925  size += com.google.protobuf.CodedOutputStream
7926  .computeDoubleSize(155, cutMaxActiveCountValue_);
7927  }
7928  if (((bitField2_ & 0x80000000) != 0)) {
7929  size += com.google.protobuf.CodedOutputStream
7930  .computeDoubleSize(156, cutActiveCountDecay_);
7931  }
7932  if (((bitField3_ & 0x00000001) != 0)) {
7933  size += com.google.protobuf.CodedOutputStream
7934  .computeInt32Size(157, cutCleanupTarget_);
7935  }
7936  if (((bitField2_ & 0x00000002) != 0)) {
7937  size += com.google.protobuf.CodedOutputStream
7938  .computeBoolSize(158, expandTableConstraints_);
7939  }
7940  if (((bitField1_ & 0x00000400) != 0)) {
7941  size += com.google.protobuf.CodedOutputStream
7942  .computeDoubleSize(159, absoluteGapLimit_);
7943  }
7944  if (((bitField1_ & 0x00000800) != 0)) {
7945  size += com.google.protobuf.CodedOutputStream
7946  .computeDoubleSize(160, relativeGapLimit_);
7947  }
7948  if (((bitField3_ & 0x00000100) != 0)) {
7949  size += com.google.protobuf.CodedOutputStream
7950  .computeBoolSize(161, exploitRelaxationSolution_);
7951  }
7952  if (((bitField1_ & 0x04000000) != 0)) {
7953  size += com.google.protobuf.CodedOutputStream
7954  .computeBoolSize(162, cpModelPostsolveWithFullSolver_);
7955  }
7956  if (((bitField1_ & 0x40000000) != 0)) {
7957  size += com.google.protobuf.CodedOutputStream
7958  .computeBoolSize(163, useSatInprocessing_);
7959  }
7960  if (((bitField3_ & 0x40000000) != 0)) {
7961  size += com.google.protobuf.CodedOutputStream
7962  .computeBoolSize(164, useFeasibilityPump_);
7963  }
7964  if (((bitField3_ & 0x80000000) != 0)) {
7965  size += com.google.protobuf.CodedOutputStream
7966  .computeEnumSize(165, fpRounding_);
7967  }
7968  if (((bitField4_ & 0x00001000) != 0)) {
7969  size += com.google.protobuf.CodedOutputStream
7970  .computeBoolSize(166, mipAutomaticallyScaleVariables_);
7971  }
7972  if (((bitField3_ & 0x00000010) != 0)) {
7973  size += com.google.protobuf.CodedOutputStream
7974  .computeBoolSize(167, repairHint_);
7975  }
7976  if (((bitField0_ & 0x00000008) != 0)) {
7977  size += com.google.protobuf.CodedOutputStream
7978  .computeInt32Size(168, polarityRephaseIncrement_);
7979  }
7980  size += unknownFields.getSerializedSize();
7981  memoizedSize = size;
7982  return size;
7983  }
7984 
7985  @java.lang.Override
7986  public boolean equals(final java.lang.Object obj) {
7987  if (obj == this) {
7988  return true;
7989  }
7990  if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
7991  return super.equals(obj);
7992  }
7994 
7995  if (hasPreferredVariableOrder() != other.hasPreferredVariableOrder()) return false;
7996  if (hasPreferredVariableOrder()) {
7997  if (preferredVariableOrder_ != other.preferredVariableOrder_) return false;
7998  }
7999  if (hasInitialPolarity() != other.hasInitialPolarity()) return false;
8000  if (hasInitialPolarity()) {
8001  if (initialPolarity_ != other.initialPolarity_) return false;
8002  }
8003  if (hasUsePhaseSaving() != other.hasUsePhaseSaving()) return false;
8004  if (hasUsePhaseSaving()) {
8005  if (getUsePhaseSaving()
8006  != other.getUsePhaseSaving()) return false;
8007  }
8008  if (hasPolarityRephaseIncrement() != other.hasPolarityRephaseIncrement()) return false;
8011  != other.getPolarityRephaseIncrement()) return false;
8012  }
8013  if (hasRandomPolarityRatio() != other.hasRandomPolarityRatio()) return false;
8014  if (hasRandomPolarityRatio()) {
8015  if (java.lang.Double.doubleToLongBits(getRandomPolarityRatio())
8016  != java.lang.Double.doubleToLongBits(
8017  other.getRandomPolarityRatio())) return false;
8018  }
8019  if (hasRandomBranchesRatio() != other.hasRandomBranchesRatio()) return false;
8020  if (hasRandomBranchesRatio()) {
8021  if (java.lang.Double.doubleToLongBits(getRandomBranchesRatio())
8022  != java.lang.Double.doubleToLongBits(
8023  other.getRandomBranchesRatio())) return false;
8024  }
8025  if (hasUseErwaHeuristic() != other.hasUseErwaHeuristic()) return false;
8026  if (hasUseErwaHeuristic()) {
8027  if (getUseErwaHeuristic()
8028  != other.getUseErwaHeuristic()) return false;
8029  }
8030  if (hasInitialVariablesActivity() != other.hasInitialVariablesActivity()) return false;
8032  if (java.lang.Double.doubleToLongBits(getInitialVariablesActivity())
8033  != java.lang.Double.doubleToLongBits(
8034  other.getInitialVariablesActivity())) return false;
8035  }
8036  if (hasAlsoBumpVariablesInConflictReasons() != other.hasAlsoBumpVariablesInConflictReasons()) return false;
8039  != other.getAlsoBumpVariablesInConflictReasons()) return false;
8040  }
8041  if (hasMinimizationAlgorithm() != other.hasMinimizationAlgorithm()) return false;
8042  if (hasMinimizationAlgorithm()) {
8043  if (minimizationAlgorithm_ != other.minimizationAlgorithm_) return false;
8044  }
8045  if (hasBinaryMinimizationAlgorithm() != other.hasBinaryMinimizationAlgorithm()) return false;
8047  if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_) return false;
8048  }
8049  if (hasSubsumptionDuringConflictAnalysis() != other.hasSubsumptionDuringConflictAnalysis()) return false;
8052  != other.getSubsumptionDuringConflictAnalysis()) return false;
8053  }
8054  if (hasClauseCleanupPeriod() != other.hasClauseCleanupPeriod()) return false;
8055  if (hasClauseCleanupPeriod()) {
8057  != other.getClauseCleanupPeriod()) return false;
8058  }
8059  if (hasClauseCleanupTarget() != other.hasClauseCleanupTarget()) return false;
8060  if (hasClauseCleanupTarget()) {
8062  != other.getClauseCleanupTarget()) return false;
8063  }
8064  if (hasClauseCleanupProtection() != other.hasClauseCleanupProtection()) return false;
8066  if (clauseCleanupProtection_ != other.clauseCleanupProtection_) return false;
8067  }
8068  if (hasClauseCleanupLbdBound() != other.hasClauseCleanupLbdBound()) return false;
8069  if (hasClauseCleanupLbdBound()) {
8071  != other.getClauseCleanupLbdBound()) return false;
8072  }
8073  if (hasClauseCleanupOrdering() != other.hasClauseCleanupOrdering()) return false;
8074  if (hasClauseCleanupOrdering()) {
8075  if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_) return false;
8076  }
8077  if (hasPbCleanupIncrement() != other.hasPbCleanupIncrement()) return false;
8078  if (hasPbCleanupIncrement()) {
8079  if (getPbCleanupIncrement()
8080  != other.getPbCleanupIncrement()) return false;
8081  }
8082  if (hasPbCleanupRatio() != other.hasPbCleanupRatio()) return false;
8083  if (hasPbCleanupRatio()) {
8084  if (java.lang.Double.doubleToLongBits(getPbCleanupRatio())
8085  != java.lang.Double.doubleToLongBits(
8086  other.getPbCleanupRatio())) return false;
8087  }
8088  if (hasMinimizeWithPropagationRestartPeriod() != other.hasMinimizeWithPropagationRestartPeriod()) return false;
8091  != other.getMinimizeWithPropagationRestartPeriod()) return false;
8092  }
8093  if (hasMinimizeWithPropagationNumDecisions() != other.hasMinimizeWithPropagationNumDecisions()) return false;
8096  != other.getMinimizeWithPropagationNumDecisions()) return false;
8097  }
8098  if (hasVariableActivityDecay() != other.hasVariableActivityDecay()) return false;
8099  if (hasVariableActivityDecay()) {
8100  if (java.lang.Double.doubleToLongBits(getVariableActivityDecay())
8101  != java.lang.Double.doubleToLongBits(
8102  other.getVariableActivityDecay())) return false;
8103  }
8104  if (hasMaxVariableActivityValue() != other.hasMaxVariableActivityValue()) return false;
8106  if (java.lang.Double.doubleToLongBits(getMaxVariableActivityValue())
8107  != java.lang.Double.doubleToLongBits(
8108  other.getMaxVariableActivityValue())) return false;
8109  }
8110  if (hasGlucoseMaxDecay() != other.hasGlucoseMaxDecay()) return false;
8111  if (hasGlucoseMaxDecay()) {
8112  if (java.lang.Double.doubleToLongBits(getGlucoseMaxDecay())
8113  != java.lang.Double.doubleToLongBits(
8114  other.getGlucoseMaxDecay())) return false;
8115  }
8116  if (hasGlucoseDecayIncrement() != other.hasGlucoseDecayIncrement()) return false;
8117  if (hasGlucoseDecayIncrement()) {
8118  if (java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement())
8119  != java.lang.Double.doubleToLongBits(
8120  other.getGlucoseDecayIncrement())) return false;
8121  }
8122  if (hasGlucoseDecayIncrementPeriod() != other.hasGlucoseDecayIncrementPeriod()) return false;
8125  != other.getGlucoseDecayIncrementPeriod()) return false;
8126  }
8127  if (hasClauseActivityDecay() != other.hasClauseActivityDecay()) return false;
8128  if (hasClauseActivityDecay()) {
8129  if (java.lang.Double.doubleToLongBits(getClauseActivityDecay())
8130  != java.lang.Double.doubleToLongBits(
8131  other.getClauseActivityDecay())) return false;
8132  }
8133  if (hasMaxClauseActivityValue() != other.hasMaxClauseActivityValue()) return false;
8134  if (hasMaxClauseActivityValue()) {
8135  if (java.lang.Double.doubleToLongBits(getMaxClauseActivityValue())
8136  != java.lang.Double.doubleToLongBits(
8137  other.getMaxClauseActivityValue())) return false;
8138  }
8139  if (!restartAlgorithms_.equals(other.restartAlgorithms_)) return false;
8140  if (hasDefaultRestartAlgorithms() != other.hasDefaultRestartAlgorithms()) return false;
8143  .equals(other.getDefaultRestartAlgorithms())) return false;
8144  }
8145  if (hasRestartPeriod() != other.hasRestartPeriod()) return false;
8146  if (hasRestartPeriod()) {
8147  if (getRestartPeriod()
8148  != other.getRestartPeriod()) return false;
8149  }
8150  if (hasRestartRunningWindowSize() != other.hasRestartRunningWindowSize()) return false;
8153  != other.getRestartRunningWindowSize()) return false;
8154  }
8155  if (hasRestartDlAverageRatio() != other.hasRestartDlAverageRatio()) return false;
8156  if (hasRestartDlAverageRatio()) {
8157  if (java.lang.Double.doubleToLongBits(getRestartDlAverageRatio())
8158  != java.lang.Double.doubleToLongBits(
8159  other.getRestartDlAverageRatio())) return false;
8160  }
8161  if (hasRestartLbdAverageRatio() != other.hasRestartLbdAverageRatio()) return false;
8162  if (hasRestartLbdAverageRatio()) {
8163  if (java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio())
8164  != java.lang.Double.doubleToLongBits(
8165  other.getRestartLbdAverageRatio())) return false;
8166  }
8167  if (hasUseBlockingRestart() != other.hasUseBlockingRestart()) return false;
8168  if (hasUseBlockingRestart()) {
8169  if (getUseBlockingRestart()
8170  != other.getUseBlockingRestart()) return false;
8171  }
8172  if (hasBlockingRestartWindowSize() != other.hasBlockingRestartWindowSize()) return false;
8175  != other.getBlockingRestartWindowSize()) return false;
8176  }
8177  if (hasBlockingRestartMultiplier() != other.hasBlockingRestartMultiplier()) return false;
8179  if (java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier())
8180  != java.lang.Double.doubleToLongBits(
8181  other.getBlockingRestartMultiplier())) return false;
8182  }
8183  if (hasNumConflictsBeforeStrategyChanges() != other.hasNumConflictsBeforeStrategyChanges()) return false;
8186  != other.getNumConflictsBeforeStrategyChanges()) return false;
8187  }
8188  if (hasStrategyChangeIncreaseRatio() != other.hasStrategyChangeIncreaseRatio()) return false;
8190  if (java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio())
8191  != java.lang.Double.doubleToLongBits(
8192  other.getStrategyChangeIncreaseRatio())) return false;
8193  }
8194  if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
8195  if (hasMaxTimeInSeconds()) {
8196  if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
8197  != java.lang.Double.doubleToLongBits(
8198  other.getMaxTimeInSeconds())) return false;
8199  }
8200  if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
8201  if (hasMaxDeterministicTime()) {
8202  if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
8203  != java.lang.Double.doubleToLongBits(
8204  other.getMaxDeterministicTime())) return false;
8205  }
8206  if (hasMaxNumberOfConflicts() != other.hasMaxNumberOfConflicts()) return false;
8207  if (hasMaxNumberOfConflicts()) {
8209  != other.getMaxNumberOfConflicts()) return false;
8210  }
8211  if (hasMaxMemoryInMb() != other.hasMaxMemoryInMb()) return false;
8212  if (hasMaxMemoryInMb()) {
8213  if (getMaxMemoryInMb()
8214  != other.getMaxMemoryInMb()) return false;
8215  }
8216  if (hasAbsoluteGapLimit() != other.hasAbsoluteGapLimit()) return false;
8217  if (hasAbsoluteGapLimit()) {
8218  if (java.lang.Double.doubleToLongBits(getAbsoluteGapLimit())
8219  != java.lang.Double.doubleToLongBits(
8220  other.getAbsoluteGapLimit())) return false;
8221  }
8222  if (hasRelativeGapLimit() != other.hasRelativeGapLimit()) return false;
8223  if (hasRelativeGapLimit()) {
8224  if (java.lang.Double.doubleToLongBits(getRelativeGapLimit())
8225  != java.lang.Double.doubleToLongBits(
8226  other.getRelativeGapLimit())) return false;
8227  }
8228  if (hasTreatBinaryClausesSeparately() != other.hasTreatBinaryClausesSeparately()) return false;
8231  != other.getTreatBinaryClausesSeparately()) return false;
8232  }
8233  if (hasRandomSeed() != other.hasRandomSeed()) return false;
8234  if (hasRandomSeed()) {
8235  if (getRandomSeed()
8236  != other.getRandomSeed()) return false;
8237  }
8238  if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
8239  if (hasLogSearchProgress()) {
8240  if (getLogSearchProgress()
8241  != other.getLogSearchProgress()) return false;
8242  }
8243  if (hasUsePbResolution() != other.hasUsePbResolution()) return false;
8244  if (hasUsePbResolution()) {
8245  if (getUsePbResolution()
8246  != other.getUsePbResolution()) return false;
8247  }
8248  if (hasMinimizeReductionDuringPbResolution() != other.hasMinimizeReductionDuringPbResolution()) return false;
8251  != other.getMinimizeReductionDuringPbResolution()) return false;
8252  }
8253  if (hasCountAssumptionLevelsInLbd() != other.hasCountAssumptionLevelsInLbd()) return false;
8256  != other.getCountAssumptionLevelsInLbd()) return false;
8257  }
8258  if (hasPresolveBveThreshold() != other.hasPresolveBveThreshold()) return false;
8259  if (hasPresolveBveThreshold()) {
8261  != other.getPresolveBveThreshold()) return false;
8262  }
8263  if (hasPresolveBveClauseWeight() != other.hasPresolveBveClauseWeight()) return false;
8266  != other.getPresolveBveClauseWeight()) return false;
8267  }
8268  if (hasPresolveProbingDeterministicTimeLimit() != other.hasPresolveProbingDeterministicTimeLimit()) return false;
8270  if (java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit())
8271  != java.lang.Double.doubleToLongBits(
8272  other.getPresolveProbingDeterministicTimeLimit())) return false;
8273  }
8274  if (hasPresolveBlockedClause() != other.hasPresolveBlockedClause()) return false;
8275  if (hasPresolveBlockedClause()) {
8277  != other.getPresolveBlockedClause()) return false;
8278  }
8279  if (hasPresolveUseBva() != other.hasPresolveUseBva()) return false;
8280  if (hasPresolveUseBva()) {
8281  if (getPresolveUseBva()
8282  != other.getPresolveUseBva()) return false;
8283  }
8284  if (hasPresolveBvaThreshold() != other.hasPresolveBvaThreshold()) return false;
8285  if (hasPresolveBvaThreshold()) {
8287  != other.getPresolveBvaThreshold()) return false;
8288  }
8289  if (hasMaxPresolveIterations() != other.hasMaxPresolveIterations()) return false;
8290  if (hasMaxPresolveIterations()) {
8292  != other.getMaxPresolveIterations()) return false;
8293  }
8294  if (hasCpModelPresolve() != other.hasCpModelPresolve()) return false;
8295  if (hasCpModelPresolve()) {
8296  if (getCpModelPresolve()
8297  != other.getCpModelPresolve()) return false;
8298  }
8299  if (hasCpModelPostsolveWithFullSolver() != other.hasCpModelPostsolveWithFullSolver()) return false;
8302  != other.getCpModelPostsolveWithFullSolver()) return false;
8303  }
8304  if (hasCpModelMaxNumPresolveOperations() != other.hasCpModelMaxNumPresolveOperations()) return false;
8307  != other.getCpModelMaxNumPresolveOperations()) return false;
8308  }
8309  if (hasCpModelProbingLevel() != other.hasCpModelProbingLevel()) return false;
8310  if (hasCpModelProbingLevel()) {
8312  != other.getCpModelProbingLevel()) return false;
8313  }
8314  if (hasCpModelUseSatPresolve() != other.hasCpModelUseSatPresolve()) return false;
8315  if (hasCpModelUseSatPresolve()) {
8317  != other.getCpModelUseSatPresolve()) return false;
8318  }
8319  if (hasUseSatInprocessing() != other.hasUseSatInprocessing()) return false;
8320  if (hasUseSatInprocessing()) {
8321  if (getUseSatInprocessing()
8322  != other.getUseSatInprocessing()) return false;
8323  }
8324  if (hasExpandElementConstraints() != other.hasExpandElementConstraints()) return false;
8327  != other.getExpandElementConstraints()) return false;
8328  }
8329  if (hasExpandAutomatonConstraints() != other.hasExpandAutomatonConstraints()) return false;
8332  != other.getExpandAutomatonConstraints()) return false;
8333  }
8334  if (hasExpandTableConstraints() != other.hasExpandTableConstraints()) return false;
8335  if (hasExpandTableConstraints()) {
8337  != other.getExpandTableConstraints()) return false;
8338  }
8339  if (hasMergeNoOverlapWorkLimit() != other.hasMergeNoOverlapWorkLimit()) return false;
8341  if (java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit())
8342  != java.lang.Double.doubleToLongBits(
8343  other.getMergeNoOverlapWorkLimit())) return false;
8344  }
8345  if (hasMergeAtMostOneWorkLimit() != other.hasMergeAtMostOneWorkLimit()) return false;
8347  if (java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit())
8348  != java.lang.Double.doubleToLongBits(
8349  other.getMergeAtMostOneWorkLimit())) return false;
8350  }
8351  if (hasPresolveSubstitutionLevel() != other.hasPresolveSubstitutionLevel()) return false;
8354  != other.getPresolveSubstitutionLevel()) return false;
8355  }
8356  if (hasUseOptimizationHints() != other.hasUseOptimizationHints()) return false;
8357  if (hasUseOptimizationHints()) {
8359  != other.getUseOptimizationHints()) return false;
8360  }
8361  if (hasMinimizeCore() != other.hasMinimizeCore()) return false;
8362  if (hasMinimizeCore()) {
8363  if (getMinimizeCore()
8364  != other.getMinimizeCore()) return false;
8365  }
8366  if (hasFindMultipleCores() != other.hasFindMultipleCores()) return false;
8367  if (hasFindMultipleCores()) {
8368  if (getFindMultipleCores()
8369  != other.getFindMultipleCores()) return false;
8370  }
8371  if (hasCoverOptimization() != other.hasCoverOptimization()) return false;
8372  if (hasCoverOptimization()) {
8373  if (getCoverOptimization()
8374  != other.getCoverOptimization()) return false;
8375  }
8376  if (hasMaxSatAssumptionOrder() != other.hasMaxSatAssumptionOrder()) return false;
8377  if (hasMaxSatAssumptionOrder()) {
8378  if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_) return false;
8379  }
8380  if (hasMaxSatReverseAssumptionOrder() != other.hasMaxSatReverseAssumptionOrder()) return false;
8383  != other.getMaxSatReverseAssumptionOrder()) return false;
8384  }
8385  if (hasMaxSatStratification() != other.hasMaxSatStratification()) return false;
8386  if (hasMaxSatStratification()) {
8387  if (maxSatStratification_ != other.maxSatStratification_) return false;
8388  }
8389  if (hasUsePrecedencesInDisjunctiveConstraint() != other.hasUsePrecedencesInDisjunctiveConstraint()) return false;
8392  != other.getUsePrecedencesInDisjunctiveConstraint()) return false;
8393  }
8394  if (hasUseOverloadCheckerInCumulativeConstraint() != other.hasUseOverloadCheckerInCumulativeConstraint()) return false;
8397  != other.getUseOverloadCheckerInCumulativeConstraint()) return false;
8398  }
8399  if (hasUseTimetableEdgeFindingInCumulativeConstraint() != other.hasUseTimetableEdgeFindingInCumulativeConstraint()) return false;
8402  != other.getUseTimetableEdgeFindingInCumulativeConstraint()) return false;
8403  }
8404  if (hasUseDisjunctiveConstraintInCumulativeConstraint() != other.hasUseDisjunctiveConstraintInCumulativeConstraint()) return false;
8407  != other.getUseDisjunctiveConstraintInCumulativeConstraint()) return false;
8408  }
8409  if (hasLinearizationLevel() != other.hasLinearizationLevel()) return false;
8410  if (hasLinearizationLevel()) {
8411  if (getLinearizationLevel()
8412  != other.getLinearizationLevel()) return false;
8413  }
8414  if (hasBooleanEncodingLevel() != other.hasBooleanEncodingLevel()) return false;
8415  if (hasBooleanEncodingLevel()) {
8417  != other.getBooleanEncodingLevel()) return false;
8418  }
8419  if (hasMaxNumCuts() != other.hasMaxNumCuts()) return false;
8420  if (hasMaxNumCuts()) {
8421  if (getMaxNumCuts()
8422  != other.getMaxNumCuts()) return false;
8423  }
8424  if (hasOnlyAddCutsAtLevelZero() != other.hasOnlyAddCutsAtLevelZero()) return false;
8425  if (hasOnlyAddCutsAtLevelZero()) {
8427  != other.getOnlyAddCutsAtLevelZero()) return false;
8428  }
8429  if (hasAddKnapsackCuts() != other.hasAddKnapsackCuts()) return false;
8430  if (hasAddKnapsackCuts()) {
8431  if (getAddKnapsackCuts()
8432  != other.getAddKnapsackCuts()) return false;
8433  }
8434  if (hasAddCgCuts() != other.hasAddCgCuts()) return false;
8435  if (hasAddCgCuts()) {
8436  if (getAddCgCuts()
8437  != other.getAddCgCuts()) return false;
8438  }
8439  if (hasAddMirCuts() != other.hasAddMirCuts()) return false;
8440  if (hasAddMirCuts()) {
8441  if (getAddMirCuts()
8442  != other.getAddMirCuts()) return false;
8443  }
8444  if (hasMaxAllDiffCutSize() != other.hasMaxAllDiffCutSize()) return false;
8445  if (hasMaxAllDiffCutSize()) {
8446  if (getMaxAllDiffCutSize()
8447  != other.getMaxAllDiffCutSize()) return false;
8448  }
8449  if (hasAddLinMaxCuts() != other.hasAddLinMaxCuts()) return false;
8450  if (hasAddLinMaxCuts()) {
8451  if (getAddLinMaxCuts()
8452  != other.getAddLinMaxCuts()) return false;
8453  }
8454  if (hasMaxIntegerRoundingScaling() != other.hasMaxIntegerRoundingScaling()) return false;
8457  != other.getMaxIntegerRoundingScaling()) return false;
8458  }
8459  if (hasAddLpConstraintsLazily() != other.hasAddLpConstraintsLazily()) return false;
8460  if (hasAddLpConstraintsLazily()) {
8462  != other.getAddLpConstraintsLazily()) return false;
8463  }
8464  if (hasMinOrthogonalityForLpConstraints() != other.hasMinOrthogonalityForLpConstraints()) return false;
8466  if (java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints())
8467  != java.lang.Double.doubleToLongBits(
8468  other.getMinOrthogonalityForLpConstraints())) return false;
8469  }
8470  if (hasMaxCutRoundsAtLevelZero() != other.hasMaxCutRoundsAtLevelZero()) return false;
8473  != other.getMaxCutRoundsAtLevelZero()) return false;
8474  }
8475  if (hasMaxConsecutiveInactiveCount() != other.hasMaxConsecutiveInactiveCount()) return false;
8478  != other.getMaxConsecutiveInactiveCount()) return false;
8479  }
8480  if (hasCutMaxActiveCountValue() != other.hasCutMaxActiveCountValue()) return false;
8481  if (hasCutMaxActiveCountValue()) {
8482  if (java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue())
8483  != java.lang.Double.doubleToLongBits(
8484  other.getCutMaxActiveCountValue())) return false;
8485  }
8486  if (hasCutActiveCountDecay() != other.hasCutActiveCountDecay()) return false;
8487  if (hasCutActiveCountDecay()) {
8488  if (java.lang.Double.doubleToLongBits(getCutActiveCountDecay())
8489  != java.lang.Double.doubleToLongBits(
8490  other.getCutActiveCountDecay())) return false;
8491  }
8492  if (hasCutCleanupTarget() != other.hasCutCleanupTarget()) return false;
8493  if (hasCutCleanupTarget()) {
8494  if (getCutCleanupTarget()
8495  != other.getCutCleanupTarget()) return false;
8496  }
8497  if (hasNewConstraintsBatchSize() != other.hasNewConstraintsBatchSize()) return false;
8500  != other.getNewConstraintsBatchSize()) return false;
8501  }
8502  if (hasSearchBranching() != other.hasSearchBranching()) return false;
8503  if (hasSearchBranching()) {
8504  if (searchBranching_ != other.searchBranching_) return false;
8505  }
8506  if (hasHintConflictLimit() != other.hasHintConflictLimit()) return false;
8507  if (hasHintConflictLimit()) {
8508  if (getHintConflictLimit()
8509  != other.getHintConflictLimit()) return false;
8510  }
8511  if (hasRepairHint() != other.hasRepairHint()) return false;
8512  if (hasRepairHint()) {
8513  if (getRepairHint()
8514  != other.getRepairHint()) return false;
8515  }
8516  if (hasExploitIntegerLpSolution() != other.hasExploitIntegerLpSolution()) return false;
8519  != other.getExploitIntegerLpSolution()) return false;
8520  }
8521  if (hasExploitAllLpSolution() != other.hasExploitAllLpSolution()) return false;
8522  if (hasExploitAllLpSolution()) {
8524  != other.getExploitAllLpSolution()) return false;
8525  }
8526  if (hasExploitBestSolution() != other.hasExploitBestSolution()) return false;
8527  if (hasExploitBestSolution()) {
8529  != other.getExploitBestSolution()) return false;
8530  }
8531  if (hasExploitRelaxationSolution() != other.hasExploitRelaxationSolution()) return false;
8534  != other.getExploitRelaxationSolution()) return false;
8535  }
8536  if (hasExploitObjective() != other.hasExploitObjective()) return false;
8537  if (hasExploitObjective()) {
8538  if (getExploitObjective()
8539  != other.getExploitObjective()) return false;
8540  }
8541  if (hasProbingPeriodAtRoot() != other.hasProbingPeriodAtRoot()) return false;
8542  if (hasProbingPeriodAtRoot()) {
8544  != other.getProbingPeriodAtRoot()) return false;
8545  }
8546  if (hasPseudoCostReliabilityThreshold() != other.hasPseudoCostReliabilityThreshold()) return false;
8549  != other.getPseudoCostReliabilityThreshold()) return false;
8550  }
8551  if (hasOptimizeWithCore() != other.hasOptimizeWithCore()) return false;
8552  if (hasOptimizeWithCore()) {
8553  if (getOptimizeWithCore()
8554  != other.getOptimizeWithCore()) return false;
8555  }
8556  if (hasBinarySearchNumConflicts() != other.hasBinarySearchNumConflicts()) return false;
8559  != other.getBinarySearchNumConflicts()) return false;
8560  }
8561  if (hasOptimizeWithMaxHs() != other.hasOptimizeWithMaxHs()) return false;
8562  if (hasOptimizeWithMaxHs()) {
8563  if (getOptimizeWithMaxHs()
8564  != other.getOptimizeWithMaxHs()) return false;
8565  }
8566  if (hasEnumerateAllSolutions() != other.hasEnumerateAllSolutions()) return false;
8567  if (hasEnumerateAllSolutions()) {
8569  != other.getEnumerateAllSolutions()) return false;
8570  }
8571  if (hasFillTightenedDomainsInResponse() != other.hasFillTightenedDomainsInResponse()) return false;
8574  != other.getFillTightenedDomainsInResponse()) return false;
8575  }
8576  if (hasInstantiateAllVariables() != other.hasInstantiateAllVariables()) return false;
8579  != other.getInstantiateAllVariables()) return false;
8580  }
8581  if (hasAutoDetectGreaterThanAtLeastOneOf() != other.hasAutoDetectGreaterThanAtLeastOneOf()) return false;
8584  != other.getAutoDetectGreaterThanAtLeastOneOf()) return false;
8585  }
8586  if (hasStopAfterFirstSolution() != other.hasStopAfterFirstSolution()) return false;
8587  if (hasStopAfterFirstSolution()) {
8589  != other.getStopAfterFirstSolution()) return false;
8590  }
8591  if (hasStopAfterPresolve() != other.hasStopAfterPresolve()) return false;
8592  if (hasStopAfterPresolve()) {
8593  if (getStopAfterPresolve()
8594  != other.getStopAfterPresolve()) return false;
8595  }
8596  if (hasNumSearchWorkers() != other.hasNumSearchWorkers()) return false;
8597  if (hasNumSearchWorkers()) {
8598  if (getNumSearchWorkers()
8599  != other.getNumSearchWorkers()) return false;
8600  }
8601  if (hasInterleaveSearch() != other.hasInterleaveSearch()) return false;
8602  if (hasInterleaveSearch()) {
8603  if (getInterleaveSearch()
8604  != other.getInterleaveSearch()) return false;
8605  }
8606  if (hasInterleaveBatchSize() != other.hasInterleaveBatchSize()) return false;
8607  if (hasInterleaveBatchSize()) {
8609  != other.getInterleaveBatchSize()) return false;
8610  }
8611  if (hasReduceMemoryUsageInInterleaveMode() != other.hasReduceMemoryUsageInInterleaveMode()) return false;
8614  != other.getReduceMemoryUsageInInterleaveMode()) return false;
8615  }
8616  if (hasShareObjectiveBounds() != other.hasShareObjectiveBounds()) return false;
8617  if (hasShareObjectiveBounds()) {
8619  != other.getShareObjectiveBounds()) return false;
8620  }
8621  if (hasShareLevelZeroBounds() != other.hasShareLevelZeroBounds()) return false;
8622  if (hasShareLevelZeroBounds()) {
8624  != other.getShareLevelZeroBounds()) return false;
8625  }
8626  if (hasUseLnsOnly() != other.hasUseLnsOnly()) return false;
8627  if (hasUseLnsOnly()) {
8628  if (getUseLnsOnly()
8629  != other.getUseLnsOnly()) return false;
8630  }
8631  if (hasLnsFocusOnDecisionVariables() != other.hasLnsFocusOnDecisionVariables()) return false;
8634  != other.getLnsFocusOnDecisionVariables()) return false;
8635  }
8636  if (hasUseRinsLns() != other.hasUseRinsLns()) return false;
8637  if (hasUseRinsLns()) {
8638  if (getUseRinsLns()
8639  != other.getUseRinsLns()) return false;
8640  }
8641  if (hasUseFeasibilityPump() != other.hasUseFeasibilityPump()) return false;
8642  if (hasUseFeasibilityPump()) {
8643  if (getUseFeasibilityPump()
8644  != other.getUseFeasibilityPump()) return false;
8645  }
8646  if (hasFpRounding() != other.hasFpRounding()) return false;
8647  if (hasFpRounding()) {
8648  if (fpRounding_ != other.fpRounding_) return false;
8649  }
8650  if (hasUseRelaxationLns() != other.hasUseRelaxationLns()) return false;
8651  if (hasUseRelaxationLns()) {
8652  if (getUseRelaxationLns()
8653  != other.getUseRelaxationLns()) return false;
8654  }
8655  if (hasDiversifyLnsParams() != other.hasDiversifyLnsParams()) return false;
8656  if (hasDiversifyLnsParams()) {
8657  if (getDiversifyLnsParams()
8658  != other.getDiversifyLnsParams()) return false;
8659  }
8660  if (hasRandomizeSearch() != other.hasRandomizeSearch()) return false;
8661  if (hasRandomizeSearch()) {
8662  if (getRandomizeSearch()
8663  != other.getRandomizeSearch()) return false;
8664  }
8665  if (hasSearchRandomizationTolerance() != other.hasSearchRandomizationTolerance()) return false;
8668  != other.getSearchRandomizationTolerance()) return false;
8669  }
8670  if (hasUseOptionalVariables() != other.hasUseOptionalVariables()) return false;
8671  if (hasUseOptionalVariables()) {
8673  != other.getUseOptionalVariables()) return false;
8674  }
8675  if (hasUseExactLpReason() != other.hasUseExactLpReason()) return false;
8676  if (hasUseExactLpReason()) {
8677  if (getUseExactLpReason()
8678  != other.getUseExactLpReason()) return false;
8679  }
8680  if (hasUseBranchingInLp() != other.hasUseBranchingInLp()) return false;
8681  if (hasUseBranchingInLp()) {
8682  if (getUseBranchingInLp()
8683  != other.getUseBranchingInLp()) return false;
8684  }
8685  if (hasUseCombinedNoOverlap() != other.hasUseCombinedNoOverlap()) return false;
8686  if (hasUseCombinedNoOverlap()) {
8688  != other.getUseCombinedNoOverlap()) return false;
8689  }
8690  if (hasCatchSigintSignal() != other.hasCatchSigintSignal()) return false;
8691  if (hasCatchSigintSignal()) {
8692  if (getCatchSigintSignal()
8693  != other.getCatchSigintSignal()) return false;
8694  }
8695  if (hasUseImpliedBounds() != other.hasUseImpliedBounds()) return false;
8696  if (hasUseImpliedBounds()) {
8697  if (getUseImpliedBounds()
8698  != other.getUseImpliedBounds()) return false;
8699  }
8700  if (hasMipMaxBound() != other.hasMipMaxBound()) return false;
8701  if (hasMipMaxBound()) {
8702  if (java.lang.Double.doubleToLongBits(getMipMaxBound())
8703  != java.lang.Double.doubleToLongBits(
8704  other.getMipMaxBound())) return false;
8705  }
8706  if (hasMipVarScaling() != other.hasMipVarScaling()) return false;
8707  if (hasMipVarScaling()) {
8708  if (java.lang.Double.doubleToLongBits(getMipVarScaling())
8709  != java.lang.Double.doubleToLongBits(
8710  other.getMipVarScaling())) return false;
8711  }
8712  if (hasMipAutomaticallyScaleVariables() != other.hasMipAutomaticallyScaleVariables()) return false;
8715  != other.getMipAutomaticallyScaleVariables()) return false;
8716  }
8717  if (hasMipWantedPrecision() != other.hasMipWantedPrecision()) return false;
8718  if (hasMipWantedPrecision()) {
8719  if (java.lang.Double.doubleToLongBits(getMipWantedPrecision())
8720  != java.lang.Double.doubleToLongBits(
8721  other.getMipWantedPrecision())) return false;
8722  }
8723  if (hasMipMaxActivityExponent() != other.hasMipMaxActivityExponent()) return false;
8724  if (hasMipMaxActivityExponent()) {
8726  != other.getMipMaxActivityExponent()) return false;
8727  }
8728  if (hasMipCheckPrecision() != other.hasMipCheckPrecision()) return false;
8729  if (hasMipCheckPrecision()) {
8730  if (java.lang.Double.doubleToLongBits(getMipCheckPrecision())
8731  != java.lang.Double.doubleToLongBits(
8732  other.getMipCheckPrecision())) return false;
8733  }
8734  if (!unknownFields.equals(other.unknownFields)) return false;
8735  return true;
8736  }
8737 
8738  @java.lang.Override
8739  public int hashCode() {
8740  if (memoizedHashCode != 0) {
8741  return memoizedHashCode;
8742  }
8743  int hash = 41;
8744  hash = (19 * hash) + getDescriptor().hashCode();
8745  if (hasPreferredVariableOrder()) {
8746  hash = (37 * hash) + PREFERRED_VARIABLE_ORDER_FIELD_NUMBER;
8747  hash = (53 * hash) + preferredVariableOrder_;
8748  }
8749  if (hasInitialPolarity()) {
8750  hash = (37 * hash) + INITIAL_POLARITY_FIELD_NUMBER;
8751  hash = (53 * hash) + initialPolarity_;
8752  }
8753  if (hasUsePhaseSaving()) {
8754  hash = (37 * hash) + USE_PHASE_SAVING_FIELD_NUMBER;
8755  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8756  getUsePhaseSaving());
8757  }
8759  hash = (37 * hash) + POLARITY_REPHASE_INCREMENT_FIELD_NUMBER;
8760  hash = (53 * hash) + getPolarityRephaseIncrement();
8761  }
8762  if (hasRandomPolarityRatio()) {
8763  hash = (37 * hash) + RANDOM_POLARITY_RATIO_FIELD_NUMBER;
8764  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8765  java.lang.Double.doubleToLongBits(getRandomPolarityRatio()));
8766  }
8767  if (hasRandomBranchesRatio()) {
8768  hash = (37 * hash) + RANDOM_BRANCHES_RATIO_FIELD_NUMBER;
8769  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8770  java.lang.Double.doubleToLongBits(getRandomBranchesRatio()));
8771  }
8772  if (hasUseErwaHeuristic()) {
8773  hash = (37 * hash) + USE_ERWA_HEURISTIC_FIELD_NUMBER;
8774  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8776  }
8778  hash = (37 * hash) + INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER;
8779  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8780  java.lang.Double.doubleToLongBits(getInitialVariablesActivity()));
8781  }
8784  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8786  }
8787  if (hasMinimizationAlgorithm()) {
8788  hash = (37 * hash) + MINIMIZATION_ALGORITHM_FIELD_NUMBER;
8789  hash = (53 * hash) + minimizationAlgorithm_;
8790  }
8792  hash = (37 * hash) + BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER;
8793  hash = (53 * hash) + binaryMinimizationAlgorithm_;
8794  }
8797  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8799  }
8800  if (hasClauseCleanupPeriod()) {
8801  hash = (37 * hash) + CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER;
8802  hash = (53 * hash) + getClauseCleanupPeriod();
8803  }
8804  if (hasClauseCleanupTarget()) {
8805  hash = (37 * hash) + CLAUSE_CLEANUP_TARGET_FIELD_NUMBER;
8806  hash = (53 * hash) + getClauseCleanupTarget();
8807  }
8809  hash = (37 * hash) + CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER;
8810  hash = (53 * hash) + clauseCleanupProtection_;
8811  }
8812  if (hasClauseCleanupLbdBound()) {
8813  hash = (37 * hash) + CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER;
8814  hash = (53 * hash) + getClauseCleanupLbdBound();
8815  }
8816  if (hasClauseCleanupOrdering()) {
8817  hash = (37 * hash) + CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER;
8818  hash = (53 * hash) + clauseCleanupOrdering_;
8819  }
8820  if (hasPbCleanupIncrement()) {
8821  hash = (37 * hash) + PB_CLEANUP_INCREMENT_FIELD_NUMBER;
8822  hash = (53 * hash) + getPbCleanupIncrement();
8823  }
8824  if (hasPbCleanupRatio()) {
8825  hash = (37 * hash) + PB_CLEANUP_RATIO_FIELD_NUMBER;
8826  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8827  java.lang.Double.doubleToLongBits(getPbCleanupRatio()));
8828  }
8831  hash = (53 * hash) + getMinimizeWithPropagationRestartPeriod();
8832  }
8835  hash = (53 * hash) + getMinimizeWithPropagationNumDecisions();
8836  }
8837  if (hasVariableActivityDecay()) {
8838  hash = (37 * hash) + VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER;
8839  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8840  java.lang.Double.doubleToLongBits(getVariableActivityDecay()));
8841  }
8843  hash = (37 * hash) + MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER;
8844  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8845  java.lang.Double.doubleToLongBits(getMaxVariableActivityValue()));
8846  }
8847  if (hasGlucoseMaxDecay()) {
8848  hash = (37 * hash) + GLUCOSE_MAX_DECAY_FIELD_NUMBER;
8849  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8850  java.lang.Double.doubleToLongBits(getGlucoseMaxDecay()));
8851  }
8852  if (hasGlucoseDecayIncrement()) {
8853  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER;
8854  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8855  java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement()));
8856  }
8858  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER;
8859  hash = (53 * hash) + getGlucoseDecayIncrementPeriod();
8860  }
8861  if (hasClauseActivityDecay()) {
8862  hash = (37 * hash) + CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER;
8863  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8864  java.lang.Double.doubleToLongBits(getClauseActivityDecay()));
8865  }
8866  if (hasMaxClauseActivityValue()) {
8867  hash = (37 * hash) + MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER;
8868  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8869  java.lang.Double.doubleToLongBits(getMaxClauseActivityValue()));
8870  }
8871  if (getRestartAlgorithmsCount() > 0) {
8872  hash = (37 * hash) + RESTART_ALGORITHMS_FIELD_NUMBER;
8873  hash = (53 * hash) + restartAlgorithms_.hashCode();
8874  }
8876  hash = (37 * hash) + DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER;
8877  hash = (53 * hash) + getDefaultRestartAlgorithms().hashCode();
8878  }
8879  if (hasRestartPeriod()) {
8880  hash = (37 * hash) + RESTART_PERIOD_FIELD_NUMBER;
8881  hash = (53 * hash) + getRestartPeriod();
8882  }
8884  hash = (37 * hash) + RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER;
8885  hash = (53 * hash) + getRestartRunningWindowSize();
8886  }
8887  if (hasRestartDlAverageRatio()) {
8888  hash = (37 * hash) + RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER;
8889  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8890  java.lang.Double.doubleToLongBits(getRestartDlAverageRatio()));
8891  }
8892  if (hasRestartLbdAverageRatio()) {
8893  hash = (37 * hash) + RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER;
8894  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8895  java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio()));
8896  }
8897  if (hasUseBlockingRestart()) {
8898  hash = (37 * hash) + USE_BLOCKING_RESTART_FIELD_NUMBER;
8899  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8901  }
8903  hash = (37 * hash) + BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER;
8904  hash = (53 * hash) + getBlockingRestartWindowSize();
8905  }
8907  hash = (37 * hash) + BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER;
8908  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8909  java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier()));
8910  }
8913  hash = (53 * hash) + getNumConflictsBeforeStrategyChanges();
8914  }
8916  hash = (37 * hash) + STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER;
8917  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8918  java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio()));
8919  }
8920  if (hasMaxTimeInSeconds()) {
8921  hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
8922  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8923  java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
8924  }
8925  if (hasMaxDeterministicTime()) {
8926  hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
8927  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8928  java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
8929  }
8930  if (hasMaxNumberOfConflicts()) {
8931  hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER;
8932  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8934  }
8935  if (hasMaxMemoryInMb()) {
8936  hash = (37 * hash) + MAX_MEMORY_IN_MB_FIELD_NUMBER;
8937  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8938  getMaxMemoryInMb());
8939  }
8940  if (hasAbsoluteGapLimit()) {
8941  hash = (37 * hash) + ABSOLUTE_GAP_LIMIT_FIELD_NUMBER;
8942  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8943  java.lang.Double.doubleToLongBits(getAbsoluteGapLimit()));
8944  }
8945  if (hasRelativeGapLimit()) {
8946  hash = (37 * hash) + RELATIVE_GAP_LIMIT_FIELD_NUMBER;
8947  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8948  java.lang.Double.doubleToLongBits(getRelativeGapLimit()));
8949  }
8951  hash = (37 * hash) + TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER;
8952  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8954  }
8955  if (hasRandomSeed()) {
8956  hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
8957  hash = (53 * hash) + getRandomSeed();
8958  }
8959  if (hasLogSearchProgress()) {
8960  hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
8961  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8963  }
8964  if (hasUsePbResolution()) {
8965  hash = (37 * hash) + USE_PB_RESOLUTION_FIELD_NUMBER;
8966  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8967  getUsePbResolution());
8968  }
8971  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8973  }
8975  hash = (37 * hash) + COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER;
8976  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8978  }
8979  if (hasPresolveBveThreshold()) {
8980  hash = (37 * hash) + PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER;
8981  hash = (53 * hash) + getPresolveBveThreshold();
8982  }
8984  hash = (37 * hash) + PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER;
8985  hash = (53 * hash) + getPresolveBveClauseWeight();
8986  }
8989  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8990  java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit()));
8991  }
8992  if (hasPresolveBlockedClause()) {
8993  hash = (37 * hash) + PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER;
8994  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8996  }
8997  if (hasPresolveUseBva()) {
8998  hash = (37 * hash) + PRESOLVE_USE_BVA_FIELD_NUMBER;
8999  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9000  getPresolveUseBva());
9001  }
9002  if (hasPresolveBvaThreshold()) {
9003  hash = (37 * hash) + PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER;
9004  hash = (53 * hash) + getPresolveBvaThreshold();
9005  }
9006  if (hasMaxPresolveIterations()) {
9007  hash = (37 * hash) + MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER;
9008  hash = (53 * hash) + getMaxPresolveIterations();
9009  }
9010  if (hasCpModelPresolve()) {
9011  hash = (37 * hash) + CP_MODEL_PRESOLVE_FIELD_NUMBER;
9012  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9013  getCpModelPresolve());
9014  }
9017  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9019  }
9022  hash = (53 * hash) + getCpModelMaxNumPresolveOperations();
9023  }
9024  if (hasCpModelProbingLevel()) {
9025  hash = (37 * hash) + CP_MODEL_PROBING_LEVEL_FIELD_NUMBER;
9026  hash = (53 * hash) + getCpModelProbingLevel();
9027  }
9028  if (hasCpModelUseSatPresolve()) {
9029  hash = (37 * hash) + CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER;
9030  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9032  }
9033  if (hasUseSatInprocessing()) {
9034  hash = (37 * hash) + USE_SAT_INPROCESSING_FIELD_NUMBER;
9035  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9037  }
9039  hash = (37 * hash) + EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER;
9040  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9042  }
9044  hash = (37 * hash) + EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER;
9045  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9047  }
9048  if (hasExpandTableConstraints()) {
9049  hash = (37 * hash) + EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER;
9050  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9052  }
9054  hash = (37 * hash) + MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER;
9055  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9056  java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit()));
9057  }
9059  hash = (37 * hash) + MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER;
9060  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9061  java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit()));
9062  }
9064  hash = (37 * hash) + PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER;
9065  hash = (53 * hash) + getPresolveSubstitutionLevel();
9066  }
9067  if (hasUseOptimizationHints()) {
9068  hash = (37 * hash) + USE_OPTIMIZATION_HINTS_FIELD_NUMBER;
9069  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9071  }
9072  if (hasMinimizeCore()) {
9073  hash = (37 * hash) + MINIMIZE_CORE_FIELD_NUMBER;
9074  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9075  getMinimizeCore());
9076  }
9077  if (hasFindMultipleCores()) {
9078  hash = (37 * hash) + FIND_MULTIPLE_CORES_FIELD_NUMBER;
9079  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9081  }
9082  if (hasCoverOptimization()) {
9083  hash = (37 * hash) + COVER_OPTIMIZATION_FIELD_NUMBER;
9084  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9086  }
9087  if (hasMaxSatAssumptionOrder()) {
9088  hash = (37 * hash) + MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER;
9089  hash = (53 * hash) + maxSatAssumptionOrder_;
9090  }
9092  hash = (37 * hash) + MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER;
9093  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9095  }
9096  if (hasMaxSatStratification()) {
9097  hash = (37 * hash) + MAX_SAT_STRATIFICATION_FIELD_NUMBER;
9098  hash = (53 * hash) + maxSatStratification_;
9099  }
9102  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9104  }
9107  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9109  }
9112  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9114  }
9117  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9119  }
9120  if (hasLinearizationLevel()) {
9121  hash = (37 * hash) + LINEARIZATION_LEVEL_FIELD_NUMBER;
9122  hash = (53 * hash) + getLinearizationLevel();
9123  }
9124  if (hasBooleanEncodingLevel()) {
9125  hash = (37 * hash) + BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER;
9126  hash = (53 * hash) + getBooleanEncodingLevel();
9127  }
9128  if (hasMaxNumCuts()) {
9129  hash = (37 * hash) + MAX_NUM_CUTS_FIELD_NUMBER;
9130  hash = (53 * hash) + getMaxNumCuts();
9131  }
9132  if (hasOnlyAddCutsAtLevelZero()) {
9133  hash = (37 * hash) + ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER;
9134  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9136  }
9137  if (hasAddKnapsackCuts()) {
9138  hash = (37 * hash) + ADD_KNAPSACK_CUTS_FIELD_NUMBER;
9139  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9140  getAddKnapsackCuts());
9141  }
9142  if (hasAddCgCuts()) {
9143  hash = (37 * hash) + ADD_CG_CUTS_FIELD_NUMBER;
9144  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9145  getAddCgCuts());
9146  }
9147  if (hasAddMirCuts()) {
9148  hash = (37 * hash) + ADD_MIR_CUTS_FIELD_NUMBER;
9149  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9150  getAddMirCuts());
9151  }
9152  if (hasMaxAllDiffCutSize()) {
9153  hash = (37 * hash) + MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER;
9154  hash = (53 * hash) + getMaxAllDiffCutSize();
9155  }
9156  if (hasAddLinMaxCuts()) {
9157  hash = (37 * hash) + ADD_LIN_MAX_CUTS_FIELD_NUMBER;
9158  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9159  getAddLinMaxCuts());
9160  }
9162  hash = (37 * hash) + MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER;
9163  hash = (53 * hash) + getMaxIntegerRoundingScaling();
9164  }
9165  if (hasAddLpConstraintsLazily()) {
9166  hash = (37 * hash) + ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER;
9167  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9169  }
9172  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9173  java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints()));
9174  }
9176  hash = (37 * hash) + MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER;
9177  hash = (53 * hash) + getMaxCutRoundsAtLevelZero();
9178  }
9180  hash = (37 * hash) + MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER;
9181  hash = (53 * hash) + getMaxConsecutiveInactiveCount();
9182  }
9183  if (hasCutMaxActiveCountValue()) {
9184  hash = (37 * hash) + CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER;
9185  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9186  java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue()));
9187  }
9188  if (hasCutActiveCountDecay()) {
9189  hash = (37 * hash) + CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER;
9190  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9191  java.lang.Double.doubleToLongBits(getCutActiveCountDecay()));
9192  }
9193  if (hasCutCleanupTarget()) {
9194  hash = (37 * hash) + CUT_CLEANUP_TARGET_FIELD_NUMBER;
9195  hash = (53 * hash) + getCutCleanupTarget();
9196  }
9198  hash = (37 * hash) + NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER;
9199  hash = (53 * hash) + getNewConstraintsBatchSize();
9200  }
9201  if (hasSearchBranching()) {
9202  hash = (37 * hash) + SEARCH_BRANCHING_FIELD_NUMBER;
9203  hash = (53 * hash) + searchBranching_;
9204  }
9205  if (hasHintConflictLimit()) {
9206  hash = (37 * hash) + HINT_CONFLICT_LIMIT_FIELD_NUMBER;
9207  hash = (53 * hash) + getHintConflictLimit();
9208  }
9209  if (hasRepairHint()) {
9210  hash = (37 * hash) + REPAIR_HINT_FIELD_NUMBER;
9211  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9212  getRepairHint());
9213  }
9215  hash = (37 * hash) + EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER;
9216  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9218  }
9219  if (hasExploitAllLpSolution()) {
9220  hash = (37 * hash) + EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER;
9221  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9223  }
9224  if (hasExploitBestSolution()) {
9225  hash = (37 * hash) + EXPLOIT_BEST_SOLUTION_FIELD_NUMBER;
9226  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9228  }
9230  hash = (37 * hash) + EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER;
9231  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9233  }
9234  if (hasExploitObjective()) {
9235  hash = (37 * hash) + EXPLOIT_OBJECTIVE_FIELD_NUMBER;
9236  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9238  }
9239  if (hasProbingPeriodAtRoot()) {
9240  hash = (37 * hash) + PROBING_PERIOD_AT_ROOT_FIELD_NUMBER;
9241  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9243  }
9246  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9248  }
9249  if (hasOptimizeWithCore()) {
9250  hash = (37 * hash) + OPTIMIZE_WITH_CORE_FIELD_NUMBER;
9251  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9253  }
9255  hash = (37 * hash) + BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER;
9256  hash = (53 * hash) + getBinarySearchNumConflicts();
9257  }
9258  if (hasOptimizeWithMaxHs()) {
9259  hash = (37 * hash) + OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER;
9260  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9262  }
9263  if (hasEnumerateAllSolutions()) {
9264  hash = (37 * hash) + ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER;
9265  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9267  }
9270  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9272  }
9274  hash = (37 * hash) + INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER;
9275  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9277  }
9280  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9282  }
9283  if (hasStopAfterFirstSolution()) {
9284  hash = (37 * hash) + STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER;
9285  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9287  }
9288  if (hasStopAfterPresolve()) {
9289  hash = (37 * hash) + STOP_AFTER_PRESOLVE_FIELD_NUMBER;
9290  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9292  }
9293  if (hasNumSearchWorkers()) {
9294  hash = (37 * hash) + NUM_SEARCH_WORKERS_FIELD_NUMBER;
9295  hash = (53 * hash) + getNumSearchWorkers();
9296  }
9297  if (hasInterleaveSearch()) {
9298  hash = (37 * hash) + INTERLEAVE_SEARCH_FIELD_NUMBER;
9299  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9301  }
9302  if (hasInterleaveBatchSize()) {
9303  hash = (37 * hash) + INTERLEAVE_BATCH_SIZE_FIELD_NUMBER;
9304  hash = (53 * hash) + getInterleaveBatchSize();
9305  }
9308  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9310  }
9311  if (hasShareObjectiveBounds()) {
9312  hash = (37 * hash) + SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER;
9313  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9315  }
9316  if (hasShareLevelZeroBounds()) {
9317  hash = (37 * hash) + SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER;
9318  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9320  }
9321  if (hasUseLnsOnly()) {
9322  hash = (37 * hash) + USE_LNS_ONLY_FIELD_NUMBER;
9323  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9324  getUseLnsOnly());
9325  }
9327  hash = (37 * hash) + LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER;
9328  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9330  }
9331  if (hasUseRinsLns()) {
9332  hash = (37 * hash) + USE_RINS_LNS_FIELD_NUMBER;
9333  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9334  getUseRinsLns());
9335  }
9336  if (hasUseFeasibilityPump()) {
9337  hash = (37 * hash) + USE_FEASIBILITY_PUMP_FIELD_NUMBER;
9338  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9340  }
9341  if (hasFpRounding()) {
9342  hash = (37 * hash) + FP_ROUNDING_FIELD_NUMBER;
9343  hash = (53 * hash) + fpRounding_;
9344  }
9345  if (hasUseRelaxationLns()) {
9346  hash = (37 * hash) + USE_RELAXATION_LNS_FIELD_NUMBER;
9347  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9349  }
9350  if (hasDiversifyLnsParams()) {
9351  hash = (37 * hash) + DIVERSIFY_LNS_PARAMS_FIELD_NUMBER;
9352  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9354  }
9355  if (hasRandomizeSearch()) {
9356  hash = (37 * hash) + RANDOMIZE_SEARCH_FIELD_NUMBER;
9357  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9358  getRandomizeSearch());
9359  }
9361  hash = (37 * hash) + SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER;
9362  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9364  }
9365  if (hasUseOptionalVariables()) {
9366  hash = (37 * hash) + USE_OPTIONAL_VARIABLES_FIELD_NUMBER;
9367  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9369  }
9370  if (hasUseExactLpReason()) {
9371  hash = (37 * hash) + USE_EXACT_LP_REASON_FIELD_NUMBER;
9372  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9374  }
9375  if (hasUseBranchingInLp()) {
9376  hash = (37 * hash) + USE_BRANCHING_IN_LP_FIELD_NUMBER;
9377  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9379  }
9380  if (hasUseCombinedNoOverlap()) {
9381  hash = (37 * hash) + USE_COMBINED_NO_OVERLAP_FIELD_NUMBER;
9382  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9384  }
9385  if (hasCatchSigintSignal()) {
9386  hash = (37 * hash) + CATCH_SIGINT_SIGNAL_FIELD_NUMBER;
9387  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9389  }
9390  if (hasUseImpliedBounds()) {
9391  hash = (37 * hash) + USE_IMPLIED_BOUNDS_FIELD_NUMBER;
9392  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9394  }
9395  if (hasMipMaxBound()) {
9396  hash = (37 * hash) + MIP_MAX_BOUND_FIELD_NUMBER;
9397  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9398  java.lang.Double.doubleToLongBits(getMipMaxBound()));
9399  }
9400  if (hasMipVarScaling()) {
9401  hash = (37 * hash) + MIP_VAR_SCALING_FIELD_NUMBER;
9402  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9403  java.lang.Double.doubleToLongBits(getMipVarScaling()));
9404  }
9407  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9409  }
9410  if (hasMipWantedPrecision()) {
9411  hash = (37 * hash) + MIP_WANTED_PRECISION_FIELD_NUMBER;
9412  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9413  java.lang.Double.doubleToLongBits(getMipWantedPrecision()));
9414  }
9415  if (hasMipMaxActivityExponent()) {
9416  hash = (37 * hash) + MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER;
9417  hash = (53 * hash) + getMipMaxActivityExponent();
9418  }
9419  if (hasMipCheckPrecision()) {
9420  hash = (37 * hash) + MIP_CHECK_PRECISION_FIELD_NUMBER;
9421  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9422  java.lang.Double.doubleToLongBits(getMipCheckPrecision()));
9423  }
9424  hash = (29 * hash) + unknownFields.hashCode();
9425  memoizedHashCode = hash;
9426  return hash;
9427  }
9428 
9430  java.nio.ByteBuffer data)
9431  throws com.google.protobuf.InvalidProtocolBufferException {
9432  return PARSER.parseFrom(data);
9433  }
9435  java.nio.ByteBuffer data,
9436  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9437  throws com.google.protobuf.InvalidProtocolBufferException {
9438  return PARSER.parseFrom(data, extensionRegistry);
9439  }
9441  com.google.protobuf.ByteString data)
9442  throws com.google.protobuf.InvalidProtocolBufferException {
9443  return PARSER.parseFrom(data);
9444  }
9446  com.google.protobuf.ByteString data,
9447  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9448  throws com.google.protobuf.InvalidProtocolBufferException {
9449  return PARSER.parseFrom(data, extensionRegistry);
9450  }
9451  public static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
9452  throws com.google.protobuf.InvalidProtocolBufferException {
9453  return PARSER.parseFrom(data);
9454  }
9456  byte[] data,
9457  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9458  throws com.google.protobuf.InvalidProtocolBufferException {
9459  return PARSER.parseFrom(data, extensionRegistry);
9460  }
9461  public static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
9462  throws java.io.IOException {
9463  return com.google.protobuf.GeneratedMessageV3
9464  .parseWithIOException(PARSER, input);
9465  }
9467  java.io.InputStream input,
9468  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9469  throws java.io.IOException {
9470  return com.google.protobuf.GeneratedMessageV3
9471  .parseWithIOException(PARSER, input, extensionRegistry);
9472  }
9473  public static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
9474  throws java.io.IOException {
9475  return com.google.protobuf.GeneratedMessageV3
9476  .parseDelimitedWithIOException(PARSER, input);
9477  }
9479  java.io.InputStream input,
9480  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9481  throws java.io.IOException {
9482  return com.google.protobuf.GeneratedMessageV3
9483  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
9484  }
9486  com.google.protobuf.CodedInputStream input)
9487  throws java.io.IOException {
9488  return com.google.protobuf.GeneratedMessageV3
9489  .parseWithIOException(PARSER, input);
9490  }
9492  com.google.protobuf.CodedInputStream input,
9493  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9494  throws java.io.IOException {
9495  return com.google.protobuf.GeneratedMessageV3
9496  .parseWithIOException(PARSER, input, extensionRegistry);
9497  }
9498 
9499  @java.lang.Override
9500  public Builder newBuilderForType() { return newBuilder(); }
9501  public static Builder newBuilder() {
9502  return DEFAULT_INSTANCE.toBuilder();
9503  }
9504  public static Builder newBuilder(com.google.ortools.sat.SatParameters prototype) {
9505  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
9506  }
9507  @java.lang.Override
9508  public Builder toBuilder() {
9509  return this == DEFAULT_INSTANCE
9510  ? new Builder() : new Builder().mergeFrom(this);
9511  }
9512 
9513  @java.lang.Override
9515  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9516  Builder builder = new Builder(parent);
9517  return builder;
9518  }
9528  public static final class Builder extends
9529  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
9530  // @@protoc_insertion_point(builder_implements:operations_research.sat.SatParameters)
9531  com.google.ortools.sat.SatParametersOrBuilder {
9532  public static final com.google.protobuf.Descriptors.Descriptor
9534  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
9535  }
9536 
9537  @java.lang.Override
9538  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
9540  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
9541  .ensureFieldAccessorsInitialized(
9543  }
9544 
9545  // Construct using com.google.ortools.sat.SatParameters.newBuilder()
9546  private Builder() {
9547  maybeForceBuilderInitialization();
9548  }
9549 
9550  private Builder(
9551  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9552  super(parent);
9553  maybeForceBuilderInitialization();
9554  }
9555  private void maybeForceBuilderInitialization() {
9556  if (com.google.protobuf.GeneratedMessageV3
9557  .alwaysUseFieldBuilders) {
9558  }
9559  }
9560  @java.lang.Override
9561  public Builder clear() {
9562  super.clear();
9563  preferredVariableOrder_ = 0;
9564  bitField0_ = (bitField0_ & ~0x00000001);
9565  initialPolarity_ = 1;
9566  bitField0_ = (bitField0_ & ~0x00000002);
9567  usePhaseSaving_ = true;
9568  bitField0_ = (bitField0_ & ~0x00000004);
9569  polarityRephaseIncrement_ = 1000;
9570  bitField0_ = (bitField0_ & ~0x00000008);
9571  randomPolarityRatio_ = 0D;
9572  bitField0_ = (bitField0_ & ~0x00000010);
9573  randomBranchesRatio_ = 0D;
9574  bitField0_ = (bitField0_ & ~0x00000020);
9575  useErwaHeuristic_ = false;
9576  bitField0_ = (bitField0_ & ~0x00000040);
9577  initialVariablesActivity_ = 0D;
9578  bitField0_ = (bitField0_ & ~0x00000080);
9579  alsoBumpVariablesInConflictReasons_ = false;
9580  bitField0_ = (bitField0_ & ~0x00000100);
9581  minimizationAlgorithm_ = 2;
9582  bitField0_ = (bitField0_ & ~0x00000200);
9583  binaryMinimizationAlgorithm_ = 1;
9584  bitField0_ = (bitField0_ & ~0x00000400);
9585  subsumptionDuringConflictAnalysis_ = true;
9586  bitField0_ = (bitField0_ & ~0x00000800);
9587  clauseCleanupPeriod_ = 10000;
9588  bitField0_ = (bitField0_ & ~0x00001000);
9589  clauseCleanupTarget_ = 10000;
9590  bitField0_ = (bitField0_ & ~0x00002000);
9591  clauseCleanupProtection_ = 0;
9592  bitField0_ = (bitField0_ & ~0x00004000);
9593  clauseCleanupLbdBound_ = 5;
9594  bitField0_ = (bitField0_ & ~0x00008000);
9595  clauseCleanupOrdering_ = 0;
9596  bitField0_ = (bitField0_ & ~0x00010000);
9597  pbCleanupIncrement_ = 200;
9598  bitField0_ = (bitField0_ & ~0x00020000);
9599  pbCleanupRatio_ = 0.5D;
9600  bitField0_ = (bitField0_ & ~0x00040000);
9601  minimizeWithPropagationRestartPeriod_ = 10;
9602  bitField0_ = (bitField0_ & ~0x00080000);
9603  minimizeWithPropagationNumDecisions_ = 1000;
9604  bitField0_ = (bitField0_ & ~0x00100000);
9605  variableActivityDecay_ = 0.8D;
9606  bitField0_ = (bitField0_ & ~0x00200000);
9607  maxVariableActivityValue_ = 1e+100D;
9608  bitField0_ = (bitField0_ & ~0x00400000);
9609  glucoseMaxDecay_ = 0.95D;
9610  bitField0_ = (bitField0_ & ~0x00800000);
9611  glucoseDecayIncrement_ = 0.01D;
9612  bitField0_ = (bitField0_ & ~0x01000000);
9613  glucoseDecayIncrementPeriod_ = 5000;
9614  bitField0_ = (bitField0_ & ~0x02000000);
9615  clauseActivityDecay_ = 0.999D;
9616  bitField0_ = (bitField0_ & ~0x04000000);
9617  maxClauseActivityValue_ = 1e+20D;
9618  bitField0_ = (bitField0_ & ~0x08000000);
9619  restartAlgorithms_ = java.util.Collections.emptyList();
9620  bitField0_ = (bitField0_ & ~0x10000000);
9621  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
9622  bitField0_ = (bitField0_ & ~0x20000000);
9623  restartPeriod_ = 50;
9624  bitField0_ = (bitField0_ & ~0x40000000);
9625  restartRunningWindowSize_ = 50;
9626  bitField0_ = (bitField0_ & ~0x80000000);
9627  restartDlAverageRatio_ = 1D;
9628  bitField1_ = (bitField1_ & ~0x00000001);
9629  restartLbdAverageRatio_ = 1D;
9630  bitField1_ = (bitField1_ & ~0x00000002);
9631  useBlockingRestart_ = false;
9632  bitField1_ = (bitField1_ & ~0x00000004);
9633  blockingRestartWindowSize_ = 5000;
9634  bitField1_ = (bitField1_ & ~0x00000008);
9635  blockingRestartMultiplier_ = 1.4D;
9636  bitField1_ = (bitField1_ & ~0x00000010);
9637  numConflictsBeforeStrategyChanges_ = 0;
9638  bitField1_ = (bitField1_ & ~0x00000020);
9639  strategyChangeIncreaseRatio_ = 0D;
9640  bitField1_ = (bitField1_ & ~0x00000040);
9641  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
9642  bitField1_ = (bitField1_ & ~0x00000080);
9643  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
9644  bitField1_ = (bitField1_ & ~0x00000100);
9645  maxNumberOfConflicts_ = 9223372036854775807L;
9646  bitField1_ = (bitField1_ & ~0x00000200);
9647  maxMemoryInMb_ = 10000L;
9648  bitField1_ = (bitField1_ & ~0x00000400);
9649  absoluteGapLimit_ = 0D;
9650  bitField1_ = (bitField1_ & ~0x00000800);
9651  relativeGapLimit_ = 0D;
9652  bitField1_ = (bitField1_ & ~0x00001000);
9653  treatBinaryClausesSeparately_ = true;
9654  bitField1_ = (bitField1_ & ~0x00002000);
9655  randomSeed_ = 1;
9656  bitField1_ = (bitField1_ & ~0x00004000);
9657  logSearchProgress_ = false;
9658  bitField1_ = (bitField1_ & ~0x00008000);
9659  usePbResolution_ = false;
9660  bitField1_ = (bitField1_ & ~0x00010000);
9661  minimizeReductionDuringPbResolution_ = false;
9662  bitField1_ = (bitField1_ & ~0x00020000);
9663  countAssumptionLevelsInLbd_ = true;
9664  bitField1_ = (bitField1_ & ~0x00040000);
9665  presolveBveThreshold_ = 500;
9666  bitField1_ = (bitField1_ & ~0x00080000);
9667  presolveBveClauseWeight_ = 3;
9668  bitField1_ = (bitField1_ & ~0x00100000);
9669  presolveProbingDeterministicTimeLimit_ = 30D;
9670  bitField1_ = (bitField1_ & ~0x00200000);
9671  presolveBlockedClause_ = true;
9672  bitField1_ = (bitField1_ & ~0x00400000);
9673  presolveUseBva_ = true;
9674  bitField1_ = (bitField1_ & ~0x00800000);
9675  presolveBvaThreshold_ = 1;
9676  bitField1_ = (bitField1_ & ~0x01000000);
9677  maxPresolveIterations_ = 3;
9678  bitField1_ = (bitField1_ & ~0x02000000);
9679  cpModelPresolve_ = true;
9680  bitField1_ = (bitField1_ & ~0x04000000);
9681  cpModelPostsolveWithFullSolver_ = false;
9682  bitField1_ = (bitField1_ & ~0x08000000);
9683  cpModelMaxNumPresolveOperations_ = 0;
9684  bitField1_ = (bitField1_ & ~0x10000000);
9685  cpModelProbingLevel_ = 2;
9686  bitField1_ = (bitField1_ & ~0x20000000);
9687  cpModelUseSatPresolve_ = true;
9688  bitField1_ = (bitField1_ & ~0x40000000);
9689  useSatInprocessing_ = false;
9690  bitField1_ = (bitField1_ & ~0x80000000);
9691  expandElementConstraints_ = true;
9692  bitField2_ = (bitField2_ & ~0x00000001);
9693  expandAutomatonConstraints_ = true;
9694  bitField2_ = (bitField2_ & ~0x00000002);
9695  expandTableConstraints_ = true;
9696  bitField2_ = (bitField2_ & ~0x00000004);
9697  mergeNoOverlapWorkLimit_ = 1000000000000D;
9698  bitField2_ = (bitField2_ & ~0x00000008);
9699  mergeAtMostOneWorkLimit_ = 100000000D;
9700  bitField2_ = (bitField2_ & ~0x00000010);
9701  presolveSubstitutionLevel_ = 1;
9702  bitField2_ = (bitField2_ & ~0x00000020);
9703  useOptimizationHints_ = true;
9704  bitField2_ = (bitField2_ & ~0x00000040);
9705  minimizeCore_ = true;
9706  bitField2_ = (bitField2_ & ~0x00000080);
9707  findMultipleCores_ = true;
9708  bitField2_ = (bitField2_ & ~0x00000100);
9709  coverOptimization_ = true;
9710  bitField2_ = (bitField2_ & ~0x00000200);
9711  maxSatAssumptionOrder_ = 0;
9712  bitField2_ = (bitField2_ & ~0x00000400);
9713  maxSatReverseAssumptionOrder_ = false;
9714  bitField2_ = (bitField2_ & ~0x00000800);
9715  maxSatStratification_ = 1;
9716  bitField2_ = (bitField2_ & ~0x00001000);
9717  usePrecedencesInDisjunctiveConstraint_ = true;
9718  bitField2_ = (bitField2_ & ~0x00002000);
9719  useOverloadCheckerInCumulativeConstraint_ = false;
9720  bitField2_ = (bitField2_ & ~0x00004000);
9721  useTimetableEdgeFindingInCumulativeConstraint_ = false;
9722  bitField2_ = (bitField2_ & ~0x00008000);
9723  useDisjunctiveConstraintInCumulativeConstraint_ = true;
9724  bitField2_ = (bitField2_ & ~0x00010000);
9725  linearizationLevel_ = 1;
9726  bitField2_ = (bitField2_ & ~0x00020000);
9727  booleanEncodingLevel_ = 1;
9728  bitField2_ = (bitField2_ & ~0x00040000);
9729  maxNumCuts_ = 10000;
9730  bitField2_ = (bitField2_ & ~0x00080000);
9731  onlyAddCutsAtLevelZero_ = false;
9732  bitField2_ = (bitField2_ & ~0x00100000);
9733  addKnapsackCuts_ = false;
9734  bitField2_ = (bitField2_ & ~0x00200000);
9735  addCgCuts_ = true;
9736  bitField2_ = (bitField2_ & ~0x00400000);
9737  addMirCuts_ = true;
9738  bitField2_ = (bitField2_ & ~0x00800000);
9739  maxAllDiffCutSize_ = 7;
9740  bitField2_ = (bitField2_ & ~0x01000000);
9741  addLinMaxCuts_ = true;
9742  bitField2_ = (bitField2_ & ~0x02000000);
9743  maxIntegerRoundingScaling_ = 600;
9744  bitField2_ = (bitField2_ & ~0x04000000);
9745  addLpConstraintsLazily_ = true;
9746  bitField2_ = (bitField2_ & ~0x08000000);
9747  minOrthogonalityForLpConstraints_ = 0.05D;
9748  bitField2_ = (bitField2_ & ~0x10000000);
9749  maxCutRoundsAtLevelZero_ = 1;
9750  bitField2_ = (bitField2_ & ~0x20000000);
9751  maxConsecutiveInactiveCount_ = 100;
9752  bitField2_ = (bitField2_ & ~0x40000000);
9753  cutMaxActiveCountValue_ = 10000000000D;
9754  bitField2_ = (bitField2_ & ~0x80000000);
9755  cutActiveCountDecay_ = 0.8D;
9756  bitField3_ = (bitField3_ & ~0x00000001);
9757  cutCleanupTarget_ = 1000;
9758  bitField3_ = (bitField3_ & ~0x00000002);
9759  newConstraintsBatchSize_ = 50;
9760  bitField3_ = (bitField3_ & ~0x00000004);
9761  searchBranching_ = 0;
9762  bitField3_ = (bitField3_ & ~0x00000008);
9763  hintConflictLimit_ = 10;
9764  bitField3_ = (bitField3_ & ~0x00000010);
9765  repairHint_ = false;
9766  bitField3_ = (bitField3_ & ~0x00000020);
9767  exploitIntegerLpSolution_ = true;
9768  bitField3_ = (bitField3_ & ~0x00000040);
9769  exploitAllLpSolution_ = true;
9770  bitField3_ = (bitField3_ & ~0x00000080);
9771  exploitBestSolution_ = false;
9772  bitField3_ = (bitField3_ & ~0x00000100);
9773  exploitRelaxationSolution_ = false;
9774  bitField3_ = (bitField3_ & ~0x00000200);
9775  exploitObjective_ = true;
9776  bitField3_ = (bitField3_ & ~0x00000400);
9777  probingPeriodAtRoot_ = 0L;
9778  bitField3_ = (bitField3_ & ~0x00000800);
9779  pseudoCostReliabilityThreshold_ = 100L;
9780  bitField3_ = (bitField3_ & ~0x00001000);
9781  optimizeWithCore_ = false;
9782  bitField3_ = (bitField3_ & ~0x00002000);
9783  binarySearchNumConflicts_ = -1;
9784  bitField3_ = (bitField3_ & ~0x00004000);
9785  optimizeWithMaxHs_ = false;
9786  bitField3_ = (bitField3_ & ~0x00008000);
9787  enumerateAllSolutions_ = false;
9788  bitField3_ = (bitField3_ & ~0x00010000);
9789  fillTightenedDomainsInResponse_ = false;
9790  bitField3_ = (bitField3_ & ~0x00020000);
9791  instantiateAllVariables_ = true;
9792  bitField3_ = (bitField3_ & ~0x00040000);
9793  autoDetectGreaterThanAtLeastOneOf_ = true;
9794  bitField3_ = (bitField3_ & ~0x00080000);
9795  stopAfterFirstSolution_ = false;
9796  bitField3_ = (bitField3_ & ~0x00100000);
9797  stopAfterPresolve_ = false;
9798  bitField3_ = (bitField3_ & ~0x00200000);
9799  numSearchWorkers_ = 1;
9800  bitField3_ = (bitField3_ & ~0x00400000);
9801  interleaveSearch_ = false;
9802  bitField3_ = (bitField3_ & ~0x00800000);
9803  interleaveBatchSize_ = 1;
9804  bitField3_ = (bitField3_ & ~0x01000000);
9805  reduceMemoryUsageInInterleaveMode_ = false;
9806  bitField3_ = (bitField3_ & ~0x02000000);
9807  shareObjectiveBounds_ = true;
9808  bitField3_ = (bitField3_ & ~0x04000000);
9809  shareLevelZeroBounds_ = true;
9810  bitField3_ = (bitField3_ & ~0x08000000);
9811  useLnsOnly_ = false;
9812  bitField3_ = (bitField3_ & ~0x10000000);
9813  lnsFocusOnDecisionVariables_ = false;
9814  bitField3_ = (bitField3_ & ~0x20000000);
9815  useRinsLns_ = true;
9816  bitField3_ = (bitField3_ & ~0x40000000);
9817  useFeasibilityPump_ = true;
9818  bitField3_ = (bitField3_ & ~0x80000000);
9819  fpRounding_ = 2;
9820  bitField4_ = (bitField4_ & ~0x00000001);
9821  useRelaxationLns_ = false;
9822  bitField4_ = (bitField4_ & ~0x00000002);
9823  diversifyLnsParams_ = false;
9824  bitField4_ = (bitField4_ & ~0x00000004);
9825  randomizeSearch_ = false;
9826  bitField4_ = (bitField4_ & ~0x00000008);
9827  searchRandomizationTolerance_ = 0L;
9828  bitField4_ = (bitField4_ & ~0x00000010);
9829  useOptionalVariables_ = true;
9830  bitField4_ = (bitField4_ & ~0x00000020);
9831  useExactLpReason_ = true;
9832  bitField4_ = (bitField4_ & ~0x00000040);
9833  useBranchingInLp_ = false;
9834  bitField4_ = (bitField4_ & ~0x00000080);
9835  useCombinedNoOverlap_ = false;
9836  bitField4_ = (bitField4_ & ~0x00000100);
9837  catchSigintSignal_ = true;
9838  bitField4_ = (bitField4_ & ~0x00000200);
9839  useImpliedBounds_ = true;
9840  bitField4_ = (bitField4_ & ~0x00000400);
9841  mipMaxBound_ = 10000000D;
9842  bitField4_ = (bitField4_ & ~0x00000800);
9843  mipVarScaling_ = 1D;
9844  bitField4_ = (bitField4_ & ~0x00001000);
9845  mipAutomaticallyScaleVariables_ = true;
9846  bitField4_ = (bitField4_ & ~0x00002000);
9847  mipWantedPrecision_ = 1e-06D;
9848  bitField4_ = (bitField4_ & ~0x00004000);
9849  mipMaxActivityExponent_ = 53;
9850  bitField4_ = (bitField4_ & ~0x00008000);
9851  mipCheckPrecision_ = 0.0001D;
9852  bitField4_ = (bitField4_ & ~0x00010000);
9853  return this;
9854  }
9855 
9856  @java.lang.Override
9857  public com.google.protobuf.Descriptors.Descriptor
9859  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
9860  }
9861 
9862  @java.lang.Override
9865  }
9866 
9867  @java.lang.Override
9870  if (!result.isInitialized()) {
9871  throw newUninitializedMessageException(result);
9872  }
9873  return result;
9874  }
9875 
9876  @java.lang.Override
9879  int from_bitField0_ = bitField0_;
9880  int from_bitField1_ = bitField1_;
9881  int from_bitField2_ = bitField2_;
9882  int from_bitField3_ = bitField3_;
9883  int from_bitField4_ = bitField4_;
9884  int to_bitField0_ = 0;
9885  int to_bitField1_ = 0;
9886  int to_bitField2_ = 0;
9887  int to_bitField3_ = 0;
9888  int to_bitField4_ = 0;
9889  if (((from_bitField0_ & 0x00000001) != 0)) {
9890  to_bitField0_ |= 0x00000001;
9891  }
9892  result.preferredVariableOrder_ = preferredVariableOrder_;
9893  if (((from_bitField0_ & 0x00000002) != 0)) {
9894  to_bitField0_ |= 0x00000002;
9895  }
9896  result.initialPolarity_ = initialPolarity_;
9897  if (((from_bitField0_ & 0x00000004) != 0)) {
9898  to_bitField0_ |= 0x00000004;
9899  }
9900  result.usePhaseSaving_ = usePhaseSaving_;
9901  if (((from_bitField0_ & 0x00000008) != 0)) {
9902  to_bitField0_ |= 0x00000008;
9903  }
9904  result.polarityRephaseIncrement_ = polarityRephaseIncrement_;
9905  if (((from_bitField0_ & 0x00000010) != 0)) {
9906  result.randomPolarityRatio_ = randomPolarityRatio_;
9907  to_bitField0_ |= 0x00000010;
9908  }
9909  if (((from_bitField0_ & 0x00000020) != 0)) {
9910  result.randomBranchesRatio_ = randomBranchesRatio_;
9911  to_bitField0_ |= 0x00000020;
9912  }
9913  if (((from_bitField0_ & 0x00000040) != 0)) {
9914  result.useErwaHeuristic_ = useErwaHeuristic_;
9915  to_bitField0_ |= 0x00000040;
9916  }
9917  if (((from_bitField0_ & 0x00000080) != 0)) {
9918  result.initialVariablesActivity_ = initialVariablesActivity_;
9919  to_bitField0_ |= 0x00000080;
9920  }
9921  if (((from_bitField0_ & 0x00000100) != 0)) {
9922  result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
9923  to_bitField0_ |= 0x00000100;
9924  }
9925  if (((from_bitField0_ & 0x00000200) != 0)) {
9926  to_bitField0_ |= 0x00000200;
9927  }
9928  result.minimizationAlgorithm_ = minimizationAlgorithm_;
9929  if (((from_bitField0_ & 0x00000400) != 0)) {
9930  to_bitField0_ |= 0x00000400;
9931  }
9932  result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
9933  if (((from_bitField0_ & 0x00000800) != 0)) {
9934  to_bitField0_ |= 0x00000800;
9935  }
9936  result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
9937  if (((from_bitField0_ & 0x00001000) != 0)) {
9938  to_bitField0_ |= 0x00001000;
9939  }
9940  result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
9941  if (((from_bitField0_ & 0x00002000) != 0)) {
9942  to_bitField0_ |= 0x00002000;
9943  }
9944  result.clauseCleanupTarget_ = clauseCleanupTarget_;
9945  if (((from_bitField0_ & 0x00004000) != 0)) {
9946  to_bitField0_ |= 0x00004000;
9947  }
9948  result.clauseCleanupProtection_ = clauseCleanupProtection_;
9949  if (((from_bitField0_ & 0x00008000) != 0)) {
9950  to_bitField0_ |= 0x00008000;
9951  }
9952  result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
9953  if (((from_bitField0_ & 0x00010000) != 0)) {
9954  to_bitField0_ |= 0x00010000;
9955  }
9956  result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
9957  if (((from_bitField0_ & 0x00020000) != 0)) {
9958  to_bitField0_ |= 0x00020000;
9959  }
9960  result.pbCleanupIncrement_ = pbCleanupIncrement_;
9961  if (((from_bitField0_ & 0x00040000) != 0)) {
9962  to_bitField0_ |= 0x00040000;
9963  }
9964  result.pbCleanupRatio_ = pbCleanupRatio_;
9965  if (((from_bitField0_ & 0x00080000) != 0)) {
9966  to_bitField0_ |= 0x00080000;
9967  }
9968  result.minimizeWithPropagationRestartPeriod_ = minimizeWithPropagationRestartPeriod_;
9969  if (((from_bitField0_ & 0x00100000) != 0)) {
9970  to_bitField0_ |= 0x00100000;
9971  }
9972  result.minimizeWithPropagationNumDecisions_ = minimizeWithPropagationNumDecisions_;
9973  if (((from_bitField0_ & 0x00200000) != 0)) {
9974  to_bitField0_ |= 0x00200000;
9975  }
9976  result.variableActivityDecay_ = variableActivityDecay_;
9977  if (((from_bitField0_ & 0x00400000) != 0)) {
9978  to_bitField0_ |= 0x00400000;
9979  }
9980  result.maxVariableActivityValue_ = maxVariableActivityValue_;
9981  if (((from_bitField0_ & 0x00800000) != 0)) {
9982  to_bitField0_ |= 0x00800000;
9983  }
9984  result.glucoseMaxDecay_ = glucoseMaxDecay_;
9985  if (((from_bitField0_ & 0x01000000) != 0)) {
9986  to_bitField0_ |= 0x01000000;
9987  }
9988  result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
9989  if (((from_bitField0_ & 0x02000000) != 0)) {
9990  to_bitField0_ |= 0x02000000;
9991  }
9992  result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
9993  if (((from_bitField0_ & 0x04000000) != 0)) {
9994  to_bitField0_ |= 0x04000000;
9995  }
9996  result.clauseActivityDecay_ = clauseActivityDecay_;
9997  if (((from_bitField0_ & 0x08000000) != 0)) {
9998  to_bitField0_ |= 0x08000000;
9999  }
10000  result.maxClauseActivityValue_ = maxClauseActivityValue_;
10001  if (((bitField0_ & 0x10000000) != 0)) {
10002  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
10003  bitField0_ = (bitField0_ & ~0x10000000);
10004  }
10005  result.restartAlgorithms_ = restartAlgorithms_;
10006  if (((from_bitField0_ & 0x20000000) != 0)) {
10007  to_bitField0_ |= 0x10000000;
10008  }
10009  result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
10010  if (((from_bitField0_ & 0x40000000) != 0)) {
10011  to_bitField0_ |= 0x20000000;
10012  }
10013  result.restartPeriod_ = restartPeriod_;
10014  if (((from_bitField0_ & 0x80000000) != 0)) {
10015  to_bitField0_ |= 0x40000000;
10016  }
10017  result.restartRunningWindowSize_ = restartRunningWindowSize_;
10018  if (((from_bitField1_ & 0x00000001) != 0)) {
10019  to_bitField0_ |= 0x80000000;
10020  }
10021  result.restartDlAverageRatio_ = restartDlAverageRatio_;
10022  if (((from_bitField1_ & 0x00000002) != 0)) {
10023  to_bitField1_ |= 0x00000001;
10024  }
10025  result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
10026  if (((from_bitField1_ & 0x00000004) != 0)) {
10027  result.useBlockingRestart_ = useBlockingRestart_;
10028  to_bitField1_ |= 0x00000002;
10029  }
10030  if (((from_bitField1_ & 0x00000008) != 0)) {
10031  to_bitField1_ |= 0x00000004;
10032  }
10033  result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
10034  if (((from_bitField1_ & 0x00000010) != 0)) {
10035  to_bitField1_ |= 0x00000008;
10036  }
10037  result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
10038  if (((from_bitField1_ & 0x00000020) != 0)) {
10039  result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
10040  to_bitField1_ |= 0x00000010;
10041  }
10042  if (((from_bitField1_ & 0x00000040) != 0)) {
10043  result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
10044  to_bitField1_ |= 0x00000020;
10045  }
10046  if (((from_bitField1_ & 0x00000080) != 0)) {
10047  to_bitField1_ |= 0x00000040;
10048  }
10049  result.maxTimeInSeconds_ = maxTimeInSeconds_;
10050  if (((from_bitField1_ & 0x00000100) != 0)) {
10051  to_bitField1_ |= 0x00000080;
10052  }
10053  result.maxDeterministicTime_ = maxDeterministicTime_;
10054  if (((from_bitField1_ & 0x00000200) != 0)) {
10055  to_bitField1_ |= 0x00000100;
10056  }
10057  result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
10058  if (((from_bitField1_ & 0x00000400) != 0)) {
10059  to_bitField1_ |= 0x00000200;
10060  }
10061  result.maxMemoryInMb_ = maxMemoryInMb_;
10062  if (((from_bitField1_ & 0x00000800) != 0)) {
10063  result.absoluteGapLimit_ = absoluteGapLimit_;
10064  to_bitField1_ |= 0x00000400;
10065  }
10066  if (((from_bitField1_ & 0x00001000) != 0)) {
10067  result.relativeGapLimit_ = relativeGapLimit_;
10068  to_bitField1_ |= 0x00000800;
10069  }
10070  if (((from_bitField1_ & 0x00002000) != 0)) {
10071  to_bitField1_ |= 0x00001000;
10072  }
10073  result.treatBinaryClausesSeparately_ = treatBinaryClausesSeparately_;
10074  if (((from_bitField1_ & 0x00004000) != 0)) {
10075  to_bitField1_ |= 0x00002000;
10076  }
10077  result.randomSeed_ = randomSeed_;
10078  if (((from_bitField1_ & 0x00008000) != 0)) {
10079  result.logSearchProgress_ = logSearchProgress_;
10080  to_bitField1_ |= 0x00004000;
10081  }
10082  if (((from_bitField1_ & 0x00010000) != 0)) {
10083  result.usePbResolution_ = usePbResolution_;
10084  to_bitField1_ |= 0x00008000;
10085  }
10086  if (((from_bitField1_ & 0x00020000) != 0)) {
10087  result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
10088  to_bitField1_ |= 0x00010000;
10089  }
10090  if (((from_bitField1_ & 0x00040000) != 0)) {
10091  to_bitField1_ |= 0x00020000;
10092  }
10093  result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
10094  if (((from_bitField1_ & 0x00080000) != 0)) {
10095  to_bitField1_ |= 0x00040000;
10096  }
10097  result.presolveBveThreshold_ = presolveBveThreshold_;
10098  if (((from_bitField1_ & 0x00100000) != 0)) {
10099  to_bitField1_ |= 0x00080000;
10100  }
10101  result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
10102  if (((from_bitField1_ & 0x00200000) != 0)) {
10103  to_bitField1_ |= 0x00100000;
10104  }
10105  result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
10106  if (((from_bitField1_ & 0x00400000) != 0)) {
10107  to_bitField1_ |= 0x00200000;
10108  }
10109  result.presolveBlockedClause_ = presolveBlockedClause_;
10110  if (((from_bitField1_ & 0x00800000) != 0)) {
10111  to_bitField1_ |= 0x00400000;
10112  }
10113  result.presolveUseBva_ = presolveUseBva_;
10114  if (((from_bitField1_ & 0x01000000) != 0)) {
10115  to_bitField1_ |= 0x00800000;
10116  }
10117  result.presolveBvaThreshold_ = presolveBvaThreshold_;
10118  if (((from_bitField1_ & 0x02000000) != 0)) {
10119  to_bitField1_ |= 0x01000000;
10120  }
10121  result.maxPresolveIterations_ = maxPresolveIterations_;
10122  if (((from_bitField1_ & 0x04000000) != 0)) {
10123  to_bitField1_ |= 0x02000000;
10124  }
10125  result.cpModelPresolve_ = cpModelPresolve_;
10126  if (((from_bitField1_ & 0x08000000) != 0)) {
10127  result.cpModelPostsolveWithFullSolver_ = cpModelPostsolveWithFullSolver_;
10128  to_bitField1_ |= 0x04000000;
10129  }
10130  if (((from_bitField1_ & 0x10000000) != 0)) {
10131  result.cpModelMaxNumPresolveOperations_ = cpModelMaxNumPresolveOperations_;
10132  to_bitField1_ |= 0x08000000;
10133  }
10134  if (((from_bitField1_ & 0x20000000) != 0)) {
10135  to_bitField1_ |= 0x10000000;
10136  }
10137  result.cpModelProbingLevel_ = cpModelProbingLevel_;
10138  if (((from_bitField1_ & 0x40000000) != 0)) {
10139  to_bitField1_ |= 0x20000000;
10140  }
10141  result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
10142  if (((from_bitField1_ & 0x80000000) != 0)) {
10143  result.useSatInprocessing_ = useSatInprocessing_;
10144  to_bitField1_ |= 0x40000000;
10145  }
10146  if (((from_bitField2_ & 0x00000001) != 0)) {
10147  to_bitField1_ |= 0x80000000;
10148  }
10149  result.expandElementConstraints_ = expandElementConstraints_;
10150  if (((from_bitField2_ & 0x00000002) != 0)) {
10151  to_bitField2_ |= 0x00000001;
10152  }
10153  result.expandAutomatonConstraints_ = expandAutomatonConstraints_;
10154  if (((from_bitField2_ & 0x00000004) != 0)) {
10155  to_bitField2_ |= 0x00000002;
10156  }
10157  result.expandTableConstraints_ = expandTableConstraints_;
10158  if (((from_bitField2_ & 0x00000008) != 0)) {
10159  to_bitField2_ |= 0x00000004;
10160  }
10161  result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
10162  if (((from_bitField2_ & 0x00000010) != 0)) {
10163  to_bitField2_ |= 0x00000008;
10164  }
10165  result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
10166  if (((from_bitField2_ & 0x00000020) != 0)) {
10167  to_bitField2_ |= 0x00000010;
10168  }
10169  result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
10170  if (((from_bitField2_ & 0x00000040) != 0)) {
10171  to_bitField2_ |= 0x00000020;
10172  }
10173  result.useOptimizationHints_ = useOptimizationHints_;
10174  if (((from_bitField2_ & 0x00000080) != 0)) {
10175  to_bitField2_ |= 0x00000040;
10176  }
10177  result.minimizeCore_ = minimizeCore_;
10178  if (((from_bitField2_ & 0x00000100) != 0)) {
10179  to_bitField2_ |= 0x00000080;
10180  }
10181  result.findMultipleCores_ = findMultipleCores_;
10182  if (((from_bitField2_ & 0x00000200) != 0)) {
10183  to_bitField2_ |= 0x00000100;
10184  }
10185  result.coverOptimization_ = coverOptimization_;
10186  if (((from_bitField2_ & 0x00000400) != 0)) {
10187  to_bitField2_ |= 0x00000200;
10188  }
10189  result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
10190  if (((from_bitField2_ & 0x00000800) != 0)) {
10191  result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
10192  to_bitField2_ |= 0x00000400;
10193  }
10194  if (((from_bitField2_ & 0x00001000) != 0)) {
10195  to_bitField2_ |= 0x00000800;
10196  }
10197  result.maxSatStratification_ = maxSatStratification_;
10198  if (((from_bitField2_ & 0x00002000) != 0)) {
10199  to_bitField2_ |= 0x00001000;
10200  }
10201  result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
10202  if (((from_bitField2_ & 0x00004000) != 0)) {
10203  result.useOverloadCheckerInCumulativeConstraint_ = useOverloadCheckerInCumulativeConstraint_;
10204  to_bitField2_ |= 0x00002000;
10205  }
10206  if (((from_bitField2_ & 0x00008000) != 0)) {
10207  result.useTimetableEdgeFindingInCumulativeConstraint_ = useTimetableEdgeFindingInCumulativeConstraint_;
10208  to_bitField2_ |= 0x00004000;
10209  }
10210  if (((from_bitField2_ & 0x00010000) != 0)) {
10211  to_bitField2_ |= 0x00008000;
10212  }
10213  result.useDisjunctiveConstraintInCumulativeConstraint_ = useDisjunctiveConstraintInCumulativeConstraint_;
10214  if (((from_bitField2_ & 0x00020000) != 0)) {
10215  to_bitField2_ |= 0x00010000;
10216  }
10217  result.linearizationLevel_ = linearizationLevel_;
10218  if (((from_bitField2_ & 0x00040000) != 0)) {
10219  to_bitField2_ |= 0x00020000;
10220  }
10221  result.booleanEncodingLevel_ = booleanEncodingLevel_;
10222  if (((from_bitField2_ & 0x00080000) != 0)) {
10223  to_bitField2_ |= 0x00040000;
10224  }
10225  result.maxNumCuts_ = maxNumCuts_;
10226  if (((from_bitField2_ & 0x00100000) != 0)) {
10227  result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
10228  to_bitField2_ |= 0x00080000;
10229  }
10230  if (((from_bitField2_ & 0x00200000) != 0)) {
10231  result.addKnapsackCuts_ = addKnapsackCuts_;
10232  to_bitField2_ |= 0x00100000;
10233  }
10234  if (((from_bitField2_ & 0x00400000) != 0)) {
10235  to_bitField2_ |= 0x00200000;
10236  }
10237  result.addCgCuts_ = addCgCuts_;
10238  if (((from_bitField2_ & 0x00800000) != 0)) {
10239  to_bitField2_ |= 0x00400000;
10240  }
10241  result.addMirCuts_ = addMirCuts_;
10242  if (((from_bitField2_ & 0x01000000) != 0)) {
10243  to_bitField2_ |= 0x00800000;
10244  }
10245  result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
10246  if (((from_bitField2_ & 0x02000000) != 0)) {
10247  to_bitField2_ |= 0x01000000;
10248  }
10249  result.addLinMaxCuts_ = addLinMaxCuts_;
10250  if (((from_bitField2_ & 0x04000000) != 0)) {
10251  to_bitField2_ |= 0x02000000;
10252  }
10253  result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
10254  if (((from_bitField2_ & 0x08000000) != 0)) {
10255  to_bitField2_ |= 0x04000000;
10256  }
10257  result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
10258  if (((from_bitField2_ & 0x10000000) != 0)) {
10259  to_bitField2_ |= 0x08000000;
10260  }
10261  result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
10262  if (((from_bitField2_ & 0x20000000) != 0)) {
10263  to_bitField2_ |= 0x10000000;
10264  }
10265  result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
10266  if (((from_bitField2_ & 0x40000000) != 0)) {
10267  to_bitField2_ |= 0x20000000;
10268  }
10269  result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
10270  if (((from_bitField2_ & 0x80000000) != 0)) {
10271  to_bitField2_ |= 0x40000000;
10272  }
10273  result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
10274  if (((from_bitField3_ & 0x00000001) != 0)) {
10275  to_bitField2_ |= 0x80000000;
10276  }
10277  result.cutActiveCountDecay_ = cutActiveCountDecay_;
10278  if (((from_bitField3_ & 0x00000002) != 0)) {
10279  to_bitField3_ |= 0x00000001;
10280  }
10281  result.cutCleanupTarget_ = cutCleanupTarget_;
10282  if (((from_bitField3_ & 0x00000004) != 0)) {
10283  to_bitField3_ |= 0x00000002;
10284  }
10285  result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
10286  if (((from_bitField3_ & 0x00000008) != 0)) {
10287  to_bitField3_ |= 0x00000004;
10288  }
10289  result.searchBranching_ = searchBranching_;
10290  if (((from_bitField3_ & 0x00000010) != 0)) {
10291  to_bitField3_ |= 0x00000008;
10292  }
10293  result.hintConflictLimit_ = hintConflictLimit_;
10294  if (((from_bitField3_ & 0x00000020) != 0)) {
10295  result.repairHint_ = repairHint_;
10296  to_bitField3_ |= 0x00000010;
10297  }
10298  if (((from_bitField3_ & 0x00000040) != 0)) {
10299  to_bitField3_ |= 0x00000020;
10300  }
10301  result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
10302  if (((from_bitField3_ & 0x00000080) != 0)) {
10303  to_bitField3_ |= 0x00000040;
10304  }
10305  result.exploitAllLpSolution_ = exploitAllLpSolution_;
10306  if (((from_bitField3_ & 0x00000100) != 0)) {
10307  result.exploitBestSolution_ = exploitBestSolution_;
10308  to_bitField3_ |= 0x00000080;
10309  }
10310  if (((from_bitField3_ & 0x00000200) != 0)) {
10311  result.exploitRelaxationSolution_ = exploitRelaxationSolution_;
10312  to_bitField3_ |= 0x00000100;
10313  }
10314  if (((from_bitField3_ & 0x00000400) != 0)) {
10315  to_bitField3_ |= 0x00000200;
10316  }
10317  result.exploitObjective_ = exploitObjective_;
10318  if (((from_bitField3_ & 0x00000800) != 0)) {
10319  result.probingPeriodAtRoot_ = probingPeriodAtRoot_;
10320  to_bitField3_ |= 0x00000400;
10321  }
10322  if (((from_bitField3_ & 0x00001000) != 0)) {
10323  to_bitField3_ |= 0x00000800;
10324  }
10325  result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
10326  if (((from_bitField3_ & 0x00002000) != 0)) {
10327  result.optimizeWithCore_ = optimizeWithCore_;
10328  to_bitField3_ |= 0x00001000;
10329  }
10330  if (((from_bitField3_ & 0x00004000) != 0)) {
10331  to_bitField3_ |= 0x00002000;
10332  }
10333  result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
10334  if (((from_bitField3_ & 0x00008000) != 0)) {
10335  result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
10336  to_bitField3_ |= 0x00004000;
10337  }
10338  if (((from_bitField3_ & 0x00010000) != 0)) {
10339  result.enumerateAllSolutions_ = enumerateAllSolutions_;
10340  to_bitField3_ |= 0x00008000;
10341  }
10342  if (((from_bitField3_ & 0x00020000) != 0)) {
10343  result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
10344  to_bitField3_ |= 0x00010000;
10345  }
10346  if (((from_bitField3_ & 0x00040000) != 0)) {
10347  to_bitField3_ |= 0x00020000;
10348  }
10349  result.instantiateAllVariables_ = instantiateAllVariables_;
10350  if (((from_bitField3_ & 0x00080000) != 0)) {
10351  to_bitField3_ |= 0x00040000;
10352  }
10353  result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
10354  if (((from_bitField3_ & 0x00100000) != 0)) {
10355  result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
10356  to_bitField3_ |= 0x00080000;
10357  }
10358  if (((from_bitField3_ & 0x00200000) != 0)) {
10359  result.stopAfterPresolve_ = stopAfterPresolve_;
10360  to_bitField3_ |= 0x00100000;
10361  }
10362  if (((from_bitField3_ & 0x00400000) != 0)) {
10363  to_bitField3_ |= 0x00200000;
10364  }
10365  result.numSearchWorkers_ = numSearchWorkers_;
10366  if (((from_bitField3_ & 0x00800000) != 0)) {
10367  result.interleaveSearch_ = interleaveSearch_;
10368  to_bitField3_ |= 0x00400000;
10369  }
10370  if (((from_bitField3_ & 0x01000000) != 0)) {
10371  to_bitField3_ |= 0x00800000;
10372  }
10373  result.interleaveBatchSize_ = interleaveBatchSize_;
10374  if (((from_bitField3_ & 0x02000000) != 0)) {
10375  result.reduceMemoryUsageInInterleaveMode_ = reduceMemoryUsageInInterleaveMode_;
10376  to_bitField3_ |= 0x01000000;
10377  }
10378  if (((from_bitField3_ & 0x04000000) != 0)) {
10379  to_bitField3_ |= 0x02000000;
10380  }
10381  result.shareObjectiveBounds_ = shareObjectiveBounds_;
10382  if (((from_bitField3_ & 0x08000000) != 0)) {
10383  to_bitField3_ |= 0x04000000;
10384  }
10385  result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
10386  if (((from_bitField3_ & 0x10000000) != 0)) {
10387  result.useLnsOnly_ = useLnsOnly_;
10388  to_bitField3_ |= 0x08000000;
10389  }
10390  if (((from_bitField3_ & 0x20000000) != 0)) {
10391  result.lnsFocusOnDecisionVariables_ = lnsFocusOnDecisionVariables_;
10392  to_bitField3_ |= 0x10000000;
10393  }
10394  if (((from_bitField3_ & 0x40000000) != 0)) {
10395  to_bitField3_ |= 0x20000000;
10396  }
10397  result.useRinsLns_ = useRinsLns_;
10398  if (((from_bitField3_ & 0x80000000) != 0)) {
10399  to_bitField3_ |= 0x40000000;
10400  }
10401  result.useFeasibilityPump_ = useFeasibilityPump_;
10402  if (((from_bitField4_ & 0x00000001) != 0)) {
10403  to_bitField3_ |= 0x80000000;
10404  }
10405  result.fpRounding_ = fpRounding_;
10406  if (((from_bitField4_ & 0x00000002) != 0)) {
10407  result.useRelaxationLns_ = useRelaxationLns_;
10408  to_bitField4_ |= 0x00000001;
10409  }
10410  if (((from_bitField4_ & 0x00000004) != 0)) {
10411  result.diversifyLnsParams_ = diversifyLnsParams_;
10412  to_bitField4_ |= 0x00000002;
10413  }
10414  if (((from_bitField4_ & 0x00000008) != 0)) {
10415  result.randomizeSearch_ = randomizeSearch_;
10416  to_bitField4_ |= 0x00000004;
10417  }
10418  if (((from_bitField4_ & 0x00000010) != 0)) {
10419  result.searchRandomizationTolerance_ = searchRandomizationTolerance_;
10420  to_bitField4_ |= 0x00000008;
10421  }
10422  if (((from_bitField4_ & 0x00000020) != 0)) {
10423  to_bitField4_ |= 0x00000010;
10424  }
10425  result.useOptionalVariables_ = useOptionalVariables_;
10426  if (((from_bitField4_ & 0x00000040) != 0)) {
10427  to_bitField4_ |= 0x00000020;
10428  }
10429  result.useExactLpReason_ = useExactLpReason_;
10430  if (((from_bitField4_ & 0x00000080) != 0)) {
10431  result.useBranchingInLp_ = useBranchingInLp_;
10432  to_bitField4_ |= 0x00000040;
10433  }
10434  if (((from_bitField4_ & 0x00000100) != 0)) {
10435  result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
10436  to_bitField4_ |= 0x00000080;
10437  }
10438  if (((from_bitField4_ & 0x00000200) != 0)) {
10439  to_bitField4_ |= 0x00000100;
10440  }
10441  result.catchSigintSignal_ = catchSigintSignal_;
10442  if (((from_bitField4_ & 0x00000400) != 0)) {
10443  to_bitField4_ |= 0x00000200;
10444  }
10445  result.useImpliedBounds_ = useImpliedBounds_;
10446  if (((from_bitField4_ & 0x00000800) != 0)) {
10447  to_bitField4_ |= 0x00000400;
10448  }
10449  result.mipMaxBound_ = mipMaxBound_;
10450  if (((from_bitField4_ & 0x00001000) != 0)) {
10451  to_bitField4_ |= 0x00000800;
10452  }
10453  result.mipVarScaling_ = mipVarScaling_;
10454  if (((from_bitField4_ & 0x00002000) != 0)) {
10455  to_bitField4_ |= 0x00001000;
10456  }
10457  result.mipAutomaticallyScaleVariables_ = mipAutomaticallyScaleVariables_;
10458  if (((from_bitField4_ & 0x00004000) != 0)) {
10459  to_bitField4_ |= 0x00002000;
10460  }
10461  result.mipWantedPrecision_ = mipWantedPrecision_;
10462  if (((from_bitField4_ & 0x00008000) != 0)) {
10463  to_bitField4_ |= 0x00004000;
10464  }
10465  result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
10466  if (((from_bitField4_ & 0x00010000) != 0)) {
10467  to_bitField4_ |= 0x00008000;
10468  }
10469  result.mipCheckPrecision_ = mipCheckPrecision_;
10470  result.bitField0_ = to_bitField0_;
10471  result.bitField1_ = to_bitField1_;
10472  result.bitField2_ = to_bitField2_;
10473  result.bitField3_ = to_bitField3_;
10474  result.bitField4_ = to_bitField4_;
10475  onBuilt();
10476  return result;
10477  }
10478 
10479  @java.lang.Override
10480  public Builder clone() {
10481  return super.clone();
10482  }
10483  @java.lang.Override
10485  com.google.protobuf.Descriptors.FieldDescriptor field,
10486  java.lang.Object value) {
10487  return super.setField(field, value);
10488  }
10489  @java.lang.Override
10491  com.google.protobuf.Descriptors.FieldDescriptor field) {
10492  return super.clearField(field);
10493  }
10494  @java.lang.Override
10496  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
10497  return super.clearOneof(oneof);
10498  }
10499  @java.lang.Override
10501  com.google.protobuf.Descriptors.FieldDescriptor field,
10502  int index, java.lang.Object value) {
10503  return super.setRepeatedField(field, index, value);
10504  }
10505  @java.lang.Override
10507  com.google.protobuf.Descriptors.FieldDescriptor field,
10508  java.lang.Object value) {
10509  return super.addRepeatedField(field, value);
10510  }
10511  @java.lang.Override
10512  public Builder mergeFrom(com.google.protobuf.Message other) {
10513  if (other instanceof com.google.ortools.sat.SatParameters) {
10514  return mergeFrom((com.google.ortools.sat.SatParameters)other);
10515  } else {
10516  super.mergeFrom(other);
10517  return this;
10518  }
10519  }
10520 
10522  if (other == com.google.ortools.sat.SatParameters.getDefaultInstance()) return this;
10523  if (other.hasPreferredVariableOrder()) {
10524  setPreferredVariableOrder(other.getPreferredVariableOrder());
10525  }
10526  if (other.hasInitialPolarity()) {
10527  setInitialPolarity(other.getInitialPolarity());
10528  }
10529  if (other.hasUsePhaseSaving()) {
10530  setUsePhaseSaving(other.getUsePhaseSaving());
10531  }
10532  if (other.hasPolarityRephaseIncrement()) {
10533  setPolarityRephaseIncrement(other.getPolarityRephaseIncrement());
10534  }
10535  if (other.hasRandomPolarityRatio()) {
10536  setRandomPolarityRatio(other.getRandomPolarityRatio());
10537  }
10538  if (other.hasRandomBranchesRatio()) {
10539  setRandomBranchesRatio(other.getRandomBranchesRatio());
10540  }
10541  if (other.hasUseErwaHeuristic()) {
10542  setUseErwaHeuristic(other.getUseErwaHeuristic());
10543  }
10544  if (other.hasInitialVariablesActivity()) {
10545  setInitialVariablesActivity(other.getInitialVariablesActivity());
10546  }
10547  if (other.hasAlsoBumpVariablesInConflictReasons()) {
10548  setAlsoBumpVariablesInConflictReasons(other.getAlsoBumpVariablesInConflictReasons());
10549  }
10550  if (other.hasMinimizationAlgorithm()) {
10551  setMinimizationAlgorithm(other.getMinimizationAlgorithm());
10552  }
10553  if (other.hasBinaryMinimizationAlgorithm()) {
10554  setBinaryMinimizationAlgorithm(other.getBinaryMinimizationAlgorithm());
10555  }
10556  if (other.hasSubsumptionDuringConflictAnalysis()) {
10557  setSubsumptionDuringConflictAnalysis(other.getSubsumptionDuringConflictAnalysis());
10558  }
10559  if (other.hasClauseCleanupPeriod()) {
10560  setClauseCleanupPeriod(other.getClauseCleanupPeriod());
10561  }
10562  if (other.hasClauseCleanupTarget()) {
10563  setClauseCleanupTarget(other.getClauseCleanupTarget());
10564  }
10565  if (other.hasClauseCleanupProtection()) {
10566  setClauseCleanupProtection(other.getClauseCleanupProtection());
10567  }
10568  if (other.hasClauseCleanupLbdBound()) {
10569  setClauseCleanupLbdBound(other.getClauseCleanupLbdBound());
10570  }
10571  if (other.hasClauseCleanupOrdering()) {
10572  setClauseCleanupOrdering(other.getClauseCleanupOrdering());
10573  }
10574  if (other.hasPbCleanupIncrement()) {
10575  setPbCleanupIncrement(other.getPbCleanupIncrement());
10576  }
10577  if (other.hasPbCleanupRatio()) {
10578  setPbCleanupRatio(other.getPbCleanupRatio());
10579  }
10580  if (other.hasMinimizeWithPropagationRestartPeriod()) {
10581  setMinimizeWithPropagationRestartPeriod(other.getMinimizeWithPropagationRestartPeriod());
10582  }
10583  if (other.hasMinimizeWithPropagationNumDecisions()) {
10584  setMinimizeWithPropagationNumDecisions(other.getMinimizeWithPropagationNumDecisions());
10585  }
10586  if (other.hasVariableActivityDecay()) {
10587  setVariableActivityDecay(other.getVariableActivityDecay());
10588  }
10589  if (other.hasMaxVariableActivityValue()) {
10590  setMaxVariableActivityValue(other.getMaxVariableActivityValue());
10591  }
10592  if (other.hasGlucoseMaxDecay()) {
10593  setGlucoseMaxDecay(other.getGlucoseMaxDecay());
10594  }
10595  if (other.hasGlucoseDecayIncrement()) {
10596  setGlucoseDecayIncrement(other.getGlucoseDecayIncrement());
10597  }
10598  if (other.hasGlucoseDecayIncrementPeriod()) {
10599  setGlucoseDecayIncrementPeriod(other.getGlucoseDecayIncrementPeriod());
10600  }
10601  if (other.hasClauseActivityDecay()) {
10602  setClauseActivityDecay(other.getClauseActivityDecay());
10603  }
10604  if (other.hasMaxClauseActivityValue()) {
10605  setMaxClauseActivityValue(other.getMaxClauseActivityValue());
10606  }
10607  if (!other.restartAlgorithms_.isEmpty()) {
10608  if (restartAlgorithms_.isEmpty()) {
10609  restartAlgorithms_ = other.restartAlgorithms_;
10610  bitField0_ = (bitField0_ & ~0x10000000);
10611  } else {
10612  ensureRestartAlgorithmsIsMutable();
10613  restartAlgorithms_.addAll(other.restartAlgorithms_);
10614  }
10615  onChanged();
10616  }
10617  if (other.hasDefaultRestartAlgorithms()) {
10618  bitField0_ |= 0x20000000;
10619  defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
10620  onChanged();
10621  }
10622  if (other.hasRestartPeriod()) {
10623  setRestartPeriod(other.getRestartPeriod());
10624  }
10625  if (other.hasRestartRunningWindowSize()) {
10626  setRestartRunningWindowSize(other.getRestartRunningWindowSize());
10627  }
10628  if (other.hasRestartDlAverageRatio()) {
10629  setRestartDlAverageRatio(other.getRestartDlAverageRatio());
10630  }
10631  if (other.hasRestartLbdAverageRatio()) {
10632  setRestartLbdAverageRatio(other.getRestartLbdAverageRatio());
10633  }
10634  if (other.hasUseBlockingRestart()) {
10635  setUseBlockingRestart(other.getUseBlockingRestart());
10636  }
10637  if (other.hasBlockingRestartWindowSize()) {
10638  setBlockingRestartWindowSize(other.getBlockingRestartWindowSize());
10639  }
10640  if (other.hasBlockingRestartMultiplier()) {
10641  setBlockingRestartMultiplier(other.getBlockingRestartMultiplier());
10642  }
10643  if (other.hasNumConflictsBeforeStrategyChanges()) {
10644  setNumConflictsBeforeStrategyChanges(other.getNumConflictsBeforeStrategyChanges());
10645  }
10646  if (other.hasStrategyChangeIncreaseRatio()) {
10647  setStrategyChangeIncreaseRatio(other.getStrategyChangeIncreaseRatio());
10648  }
10649  if (other.hasMaxTimeInSeconds()) {
10650  setMaxTimeInSeconds(other.getMaxTimeInSeconds());
10651  }
10652  if (other.hasMaxDeterministicTime()) {
10653  setMaxDeterministicTime(other.getMaxDeterministicTime());
10654  }
10655  if (other.hasMaxNumberOfConflicts()) {
10656  setMaxNumberOfConflicts(other.getMaxNumberOfConflicts());
10657  }
10658  if (other.hasMaxMemoryInMb()) {
10659  setMaxMemoryInMb(other.getMaxMemoryInMb());
10660  }
10661  if (other.hasAbsoluteGapLimit()) {
10662  setAbsoluteGapLimit(other.getAbsoluteGapLimit());
10663  }
10664  if (other.hasRelativeGapLimit()) {
10665  setRelativeGapLimit(other.getRelativeGapLimit());
10666  }
10667  if (other.hasTreatBinaryClausesSeparately()) {
10668  setTreatBinaryClausesSeparately(other.getTreatBinaryClausesSeparately());
10669  }
10670  if (other.hasRandomSeed()) {
10671  setRandomSeed(other.getRandomSeed());
10672  }
10673  if (other.hasLogSearchProgress()) {
10674  setLogSearchProgress(other.getLogSearchProgress());
10675  }
10676  if (other.hasUsePbResolution()) {
10677  setUsePbResolution(other.getUsePbResolution());
10678  }
10679  if (other.hasMinimizeReductionDuringPbResolution()) {
10680  setMinimizeReductionDuringPbResolution(other.getMinimizeReductionDuringPbResolution());
10681  }
10682  if (other.hasCountAssumptionLevelsInLbd()) {
10683  setCountAssumptionLevelsInLbd(other.getCountAssumptionLevelsInLbd());
10684  }
10685  if (other.hasPresolveBveThreshold()) {
10686  setPresolveBveThreshold(other.getPresolveBveThreshold());
10687  }
10688  if (other.hasPresolveBveClauseWeight()) {
10689  setPresolveBveClauseWeight(other.getPresolveBveClauseWeight());
10690  }
10691  if (other.hasPresolveProbingDeterministicTimeLimit()) {
10692  setPresolveProbingDeterministicTimeLimit(other.getPresolveProbingDeterministicTimeLimit());
10693  }
10694  if (other.hasPresolveBlockedClause()) {
10695  setPresolveBlockedClause(other.getPresolveBlockedClause());
10696  }
10697  if (other.hasPresolveUseBva()) {
10698  setPresolveUseBva(other.getPresolveUseBva());
10699  }
10700  if (other.hasPresolveBvaThreshold()) {
10701  setPresolveBvaThreshold(other.getPresolveBvaThreshold());
10702  }
10703  if (other.hasMaxPresolveIterations()) {
10704  setMaxPresolveIterations(other.getMaxPresolveIterations());
10705  }
10706  if (other.hasCpModelPresolve()) {
10707  setCpModelPresolve(other.getCpModelPresolve());
10708  }
10709  if (other.hasCpModelPostsolveWithFullSolver()) {
10710  setCpModelPostsolveWithFullSolver(other.getCpModelPostsolveWithFullSolver());
10711  }
10712  if (other.hasCpModelMaxNumPresolveOperations()) {
10713  setCpModelMaxNumPresolveOperations(other.getCpModelMaxNumPresolveOperations());
10714  }
10715  if (other.hasCpModelProbingLevel()) {
10716  setCpModelProbingLevel(other.getCpModelProbingLevel());
10717  }
10718  if (other.hasCpModelUseSatPresolve()) {
10719  setCpModelUseSatPresolve(other.getCpModelUseSatPresolve());
10720  }
10721  if (other.hasUseSatInprocessing()) {
10722  setUseSatInprocessing(other.getUseSatInprocessing());
10723  }
10724  if (other.hasExpandElementConstraints()) {
10725  setExpandElementConstraints(other.getExpandElementConstraints());
10726  }
10727  if (other.hasExpandAutomatonConstraints()) {
10728  setExpandAutomatonConstraints(other.getExpandAutomatonConstraints());
10729  }
10730  if (other.hasExpandTableConstraints()) {
10731  setExpandTableConstraints(other.getExpandTableConstraints());
10732  }
10733  if (other.hasMergeNoOverlapWorkLimit()) {
10734  setMergeNoOverlapWorkLimit(other.getMergeNoOverlapWorkLimit());
10735  }
10736  if (other.hasMergeAtMostOneWorkLimit()) {
10737  setMergeAtMostOneWorkLimit(other.getMergeAtMostOneWorkLimit());
10738  }
10739  if (other.hasPresolveSubstitutionLevel()) {
10740  setPresolveSubstitutionLevel(other.getPresolveSubstitutionLevel());
10741  }
10742  if (other.hasUseOptimizationHints()) {
10743  setUseOptimizationHints(other.getUseOptimizationHints());
10744  }
10745  if (other.hasMinimizeCore()) {
10746  setMinimizeCore(other.getMinimizeCore());
10747  }
10748  if (other.hasFindMultipleCores()) {
10749  setFindMultipleCores(other.getFindMultipleCores());
10750  }
10751  if (other.hasCoverOptimization()) {
10752  setCoverOptimization(other.getCoverOptimization());
10753  }
10754  if (other.hasMaxSatAssumptionOrder()) {
10755  setMaxSatAssumptionOrder(other.getMaxSatAssumptionOrder());
10756  }
10757  if (other.hasMaxSatReverseAssumptionOrder()) {
10758  setMaxSatReverseAssumptionOrder(other.getMaxSatReverseAssumptionOrder());
10759  }
10760  if (other.hasMaxSatStratification()) {
10761  setMaxSatStratification(other.getMaxSatStratification());
10762  }
10763  if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
10764  setUsePrecedencesInDisjunctiveConstraint(other.getUsePrecedencesInDisjunctiveConstraint());
10765  }
10766  if (other.hasUseOverloadCheckerInCumulativeConstraint()) {
10767  setUseOverloadCheckerInCumulativeConstraint(other.getUseOverloadCheckerInCumulativeConstraint());
10768  }
10769  if (other.hasUseTimetableEdgeFindingInCumulativeConstraint()) {
10770  setUseTimetableEdgeFindingInCumulativeConstraint(other.getUseTimetableEdgeFindingInCumulativeConstraint());
10771  }
10772  if (other.hasUseDisjunctiveConstraintInCumulativeConstraint()) {
10773  setUseDisjunctiveConstraintInCumulativeConstraint(other.getUseDisjunctiveConstraintInCumulativeConstraint());
10774  }
10775  if (other.hasLinearizationLevel()) {
10776  setLinearizationLevel(other.getLinearizationLevel());
10777  }
10778  if (other.hasBooleanEncodingLevel()) {
10779  setBooleanEncodingLevel(other.getBooleanEncodingLevel());
10780  }
10781  if (other.hasMaxNumCuts()) {
10782  setMaxNumCuts(other.getMaxNumCuts());
10783  }
10784  if (other.hasOnlyAddCutsAtLevelZero()) {
10785  setOnlyAddCutsAtLevelZero(other.getOnlyAddCutsAtLevelZero());
10786  }
10787  if (other.hasAddKnapsackCuts()) {
10788  setAddKnapsackCuts(other.getAddKnapsackCuts());
10789  }
10790  if (other.hasAddCgCuts()) {
10791  setAddCgCuts(other.getAddCgCuts());
10792  }
10793  if (other.hasAddMirCuts()) {
10794  setAddMirCuts(other.getAddMirCuts());
10795  }
10796  if (other.hasMaxAllDiffCutSize()) {
10797  setMaxAllDiffCutSize(other.getMaxAllDiffCutSize());
10798  }
10799  if (other.hasAddLinMaxCuts()) {
10800  setAddLinMaxCuts(other.getAddLinMaxCuts());
10801  }
10802  if (other.hasMaxIntegerRoundingScaling()) {
10803  setMaxIntegerRoundingScaling(other.getMaxIntegerRoundingScaling());
10804  }
10805  if (other.hasAddLpConstraintsLazily()) {
10806  setAddLpConstraintsLazily(other.getAddLpConstraintsLazily());
10807  }
10808  if (other.hasMinOrthogonalityForLpConstraints()) {
10809  setMinOrthogonalityForLpConstraints(other.getMinOrthogonalityForLpConstraints());
10810  }
10811  if (other.hasMaxCutRoundsAtLevelZero()) {
10812  setMaxCutRoundsAtLevelZero(other.getMaxCutRoundsAtLevelZero());
10813  }
10814  if (other.hasMaxConsecutiveInactiveCount()) {
10815  setMaxConsecutiveInactiveCount(other.getMaxConsecutiveInactiveCount());
10816  }
10817  if (other.hasCutMaxActiveCountValue()) {
10818  setCutMaxActiveCountValue(other.getCutMaxActiveCountValue());
10819  }
10820  if (other.hasCutActiveCountDecay()) {
10821  setCutActiveCountDecay(other.getCutActiveCountDecay());
10822  }
10823  if (other.hasCutCleanupTarget()) {
10824  setCutCleanupTarget(other.getCutCleanupTarget());
10825  }
10826  if (other.hasNewConstraintsBatchSize()) {
10827  setNewConstraintsBatchSize(other.getNewConstraintsBatchSize());
10828  }
10829  if (other.hasSearchBranching()) {
10830  setSearchBranching(other.getSearchBranching());
10831  }
10832  if (other.hasHintConflictLimit()) {
10833  setHintConflictLimit(other.getHintConflictLimit());
10834  }
10835  if (other.hasRepairHint()) {
10836  setRepairHint(other.getRepairHint());
10837  }
10838  if (other.hasExploitIntegerLpSolution()) {
10839  setExploitIntegerLpSolution(other.getExploitIntegerLpSolution());
10840  }
10841  if (other.hasExploitAllLpSolution()) {
10842  setExploitAllLpSolution(other.getExploitAllLpSolution());
10843  }
10844  if (other.hasExploitBestSolution()) {
10845  setExploitBestSolution(other.getExploitBestSolution());
10846  }
10847  if (other.hasExploitRelaxationSolution()) {
10848  setExploitRelaxationSolution(other.getExploitRelaxationSolution());
10849  }
10850  if (other.hasExploitObjective()) {
10851  setExploitObjective(other.getExploitObjective());
10852  }
10853  if (other.hasProbingPeriodAtRoot()) {
10854  setProbingPeriodAtRoot(other.getProbingPeriodAtRoot());
10855  }
10856  if (other.hasPseudoCostReliabilityThreshold()) {
10857  setPseudoCostReliabilityThreshold(other.getPseudoCostReliabilityThreshold());
10858  }
10859  if (other.hasOptimizeWithCore()) {
10860  setOptimizeWithCore(other.getOptimizeWithCore());
10861  }
10862  if (other.hasBinarySearchNumConflicts()) {
10863  setBinarySearchNumConflicts(other.getBinarySearchNumConflicts());
10864  }
10865  if (other.hasOptimizeWithMaxHs()) {
10866  setOptimizeWithMaxHs(other.getOptimizeWithMaxHs());
10867  }
10868  if (other.hasEnumerateAllSolutions()) {
10869  setEnumerateAllSolutions(other.getEnumerateAllSolutions());
10870  }
10871  if (other.hasFillTightenedDomainsInResponse()) {
10872  setFillTightenedDomainsInResponse(other.getFillTightenedDomainsInResponse());
10873  }
10874  if (other.hasInstantiateAllVariables()) {
10875  setInstantiateAllVariables(other.getInstantiateAllVariables());
10876  }
10877  if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
10878  setAutoDetectGreaterThanAtLeastOneOf(other.getAutoDetectGreaterThanAtLeastOneOf());
10879  }
10880  if (other.hasStopAfterFirstSolution()) {
10881  setStopAfterFirstSolution(other.getStopAfterFirstSolution());
10882  }
10883  if (other.hasStopAfterPresolve()) {
10884  setStopAfterPresolve(other.getStopAfterPresolve());
10885  }
10886  if (other.hasNumSearchWorkers()) {
10887  setNumSearchWorkers(other.getNumSearchWorkers());
10888  }
10889  if (other.hasInterleaveSearch()) {
10890  setInterleaveSearch(other.getInterleaveSearch());
10891  }
10892  if (other.hasInterleaveBatchSize()) {
10893  setInterleaveBatchSize(other.getInterleaveBatchSize());
10894  }
10895  if (other.hasReduceMemoryUsageInInterleaveMode()) {
10896  setReduceMemoryUsageInInterleaveMode(other.getReduceMemoryUsageInInterleaveMode());
10897  }
10898  if (other.hasShareObjectiveBounds()) {
10899  setShareObjectiveBounds(other.getShareObjectiveBounds());
10900  }
10901  if (other.hasShareLevelZeroBounds()) {
10902  setShareLevelZeroBounds(other.getShareLevelZeroBounds());
10903  }
10904  if (other.hasUseLnsOnly()) {
10905  setUseLnsOnly(other.getUseLnsOnly());
10906  }
10907  if (other.hasLnsFocusOnDecisionVariables()) {
10908  setLnsFocusOnDecisionVariables(other.getLnsFocusOnDecisionVariables());
10909  }
10910  if (other.hasUseRinsLns()) {
10911  setUseRinsLns(other.getUseRinsLns());
10912  }
10913  if (other.hasUseFeasibilityPump()) {
10914  setUseFeasibilityPump(other.getUseFeasibilityPump());
10915  }
10916  if (other.hasFpRounding()) {
10917  setFpRounding(other.getFpRounding());
10918  }
10919  if (other.hasUseRelaxationLns()) {
10920  setUseRelaxationLns(other.getUseRelaxationLns());
10921  }
10922  if (other.hasDiversifyLnsParams()) {
10923  setDiversifyLnsParams(other.getDiversifyLnsParams());
10924  }
10925  if (other.hasRandomizeSearch()) {
10926  setRandomizeSearch(other.getRandomizeSearch());
10927  }
10928  if (other.hasSearchRandomizationTolerance()) {
10929  setSearchRandomizationTolerance(other.getSearchRandomizationTolerance());
10930  }
10931  if (other.hasUseOptionalVariables()) {
10932  setUseOptionalVariables(other.getUseOptionalVariables());
10933  }
10934  if (other.hasUseExactLpReason()) {
10935  setUseExactLpReason(other.getUseExactLpReason());
10936  }
10937  if (other.hasUseBranchingInLp()) {
10938  setUseBranchingInLp(other.getUseBranchingInLp());
10939  }
10940  if (other.hasUseCombinedNoOverlap()) {
10941  setUseCombinedNoOverlap(other.getUseCombinedNoOverlap());
10942  }
10943  if (other.hasCatchSigintSignal()) {
10944  setCatchSigintSignal(other.getCatchSigintSignal());
10945  }
10946  if (other.hasUseImpliedBounds()) {
10947  setUseImpliedBounds(other.getUseImpliedBounds());
10948  }
10949  if (other.hasMipMaxBound()) {
10950  setMipMaxBound(other.getMipMaxBound());
10951  }
10952  if (other.hasMipVarScaling()) {
10953  setMipVarScaling(other.getMipVarScaling());
10954  }
10955  if (other.hasMipAutomaticallyScaleVariables()) {
10956  setMipAutomaticallyScaleVariables(other.getMipAutomaticallyScaleVariables());
10957  }
10958  if (other.hasMipWantedPrecision()) {
10959  setMipWantedPrecision(other.getMipWantedPrecision());
10960  }
10961  if (other.hasMipMaxActivityExponent()) {
10962  setMipMaxActivityExponent(other.getMipMaxActivityExponent());
10963  }
10964  if (other.hasMipCheckPrecision()) {
10965  setMipCheckPrecision(other.getMipCheckPrecision());
10966  }
10967  this.mergeUnknownFields(other.unknownFields);
10968  onChanged();
10969  return this;
10970  }
10971 
10972  @java.lang.Override
10973  public final boolean isInitialized() {
10974  return true;
10975  }
10976 
10977  @java.lang.Override
10979  com.google.protobuf.CodedInputStream input,
10980  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10981  throws java.io.IOException {
10982  com.google.ortools.sat.SatParameters parsedMessage = null;
10983  try {
10984  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
10985  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10986  parsedMessage = (com.google.ortools.sat.SatParameters) e.getUnfinishedMessage();
10987  throw e.unwrapIOException();
10988  } finally {
10989  if (parsedMessage != null) {
10990  mergeFrom(parsedMessage);
10991  }
10992  }
10993  return this;
10994  }
10995  private int bitField0_;
10996  private int bitField1_;
10997  private int bitField2_;
10998  private int bitField3_;
10999  private int bitField4_;
11000 
11001  private int preferredVariableOrder_ = 0;
11006  @java.lang.Override public boolean hasPreferredVariableOrder() {
11007  return ((bitField0_ & 0x00000001) != 0);
11008  }
11013  @java.lang.Override
11015  @SuppressWarnings("deprecation")
11017  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
11018  }
11025  if (value == null) {
11026  throw new NullPointerException();
11027  }
11028  bitField0_ |= 0x00000001;
11029  preferredVariableOrder_ = value.getNumber();
11030  onChanged();
11031  return this;
11032  }
11038  bitField0_ = (bitField0_ & ~0x00000001);
11039  preferredVariableOrder_ = 0;
11040  onChanged();
11041  return this;
11042  }
11043 
11044  private int initialPolarity_ = 1;
11049  @java.lang.Override public boolean hasInitialPolarity() {
11050  return ((bitField0_ & 0x00000002) != 0);
11051  }
11056  @java.lang.Override
11058  @SuppressWarnings("deprecation")
11060  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
11061  }
11068  if (value == null) {
11069  throw new NullPointerException();
11070  }
11071  bitField0_ |= 0x00000002;
11072  initialPolarity_ = value.getNumber();
11073  onChanged();
11074  return this;
11075  }
11081  bitField0_ = (bitField0_ & ~0x00000002);
11082  initialPolarity_ = 1;
11083  onChanged();
11084  return this;
11085  }
11086 
11087  private boolean usePhaseSaving_ = true;
11104  @java.lang.Override
11105  public boolean hasUsePhaseSaving() {
11106  return ((bitField0_ & 0x00000004) != 0);
11107  }
11124  @java.lang.Override
11125  public boolean getUsePhaseSaving() {
11126  return usePhaseSaving_;
11127  }
11145  public Builder setUsePhaseSaving(boolean value) {
11146  bitField0_ |= 0x00000004;
11147  usePhaseSaving_ = value;
11148  onChanged();
11149  return this;
11150  }
11168  bitField0_ = (bitField0_ & ~0x00000004);
11169  usePhaseSaving_ = true;
11170  onChanged();
11171  return this;
11172  }
11173 
11174  private int polarityRephaseIncrement_ = 1000;
11185  @java.lang.Override
11186  public boolean hasPolarityRephaseIncrement() {
11187  return ((bitField0_ & 0x00000008) != 0);
11188  }
11199  @java.lang.Override
11201  return polarityRephaseIncrement_;
11202  }
11215  bitField0_ |= 0x00000008;
11216  polarityRephaseIncrement_ = value;
11217  onChanged();
11218  return this;
11219  }
11231  bitField0_ = (bitField0_ & ~0x00000008);
11232  polarityRephaseIncrement_ = 1000;
11233  onChanged();
11234  return this;
11235  }
11236 
11237  private double randomPolarityRatio_ ;
11250  @java.lang.Override
11251  public boolean hasRandomPolarityRatio() {
11252  return ((bitField0_ & 0x00000010) != 0);
11253  }
11266  @java.lang.Override
11267  public double getRandomPolarityRatio() {
11268  return randomPolarityRatio_;
11269  }
11283  public Builder setRandomPolarityRatio(double value) {
11284  bitField0_ |= 0x00000010;
11285  randomPolarityRatio_ = value;
11286  onChanged();
11287  return this;
11288  }
11302  bitField0_ = (bitField0_ & ~0x00000010);
11303  randomPolarityRatio_ = 0D;
11304  onChanged();
11305  return this;
11306  }
11307 
11308  private double randomBranchesRatio_ ;
11319  @java.lang.Override
11320  public boolean hasRandomBranchesRatio() {
11321  return ((bitField0_ & 0x00000020) != 0);
11322  }
11333  @java.lang.Override
11334  public double getRandomBranchesRatio() {
11335  return randomBranchesRatio_;
11336  }
11348  public Builder setRandomBranchesRatio(double value) {
11349  bitField0_ |= 0x00000020;
11350  randomBranchesRatio_ = value;
11351  onChanged();
11352  return this;
11353  }
11365  bitField0_ = (bitField0_ & ~0x00000020);
11366  randomBranchesRatio_ = 0D;
11367  onChanged();
11368  return this;
11369  }
11370 
11371  private boolean useErwaHeuristic_ ;
11382  @java.lang.Override
11383  public boolean hasUseErwaHeuristic() {
11384  return ((bitField0_ & 0x00000040) != 0);
11385  }
11396  @java.lang.Override
11397  public boolean getUseErwaHeuristic() {
11398  return useErwaHeuristic_;
11399  }
11411  public Builder setUseErwaHeuristic(boolean value) {
11412  bitField0_ |= 0x00000040;
11413  useErwaHeuristic_ = value;
11414  onChanged();
11415  return this;
11416  }
11428  bitField0_ = (bitField0_ & ~0x00000040);
11429  useErwaHeuristic_ = false;
11430  onChanged();
11431  return this;
11432  }
11433 
11434  private double initialVariablesActivity_ ;
11448  @java.lang.Override
11449  public boolean hasInitialVariablesActivity() {
11450  return ((bitField0_ & 0x00000080) != 0);
11451  }
11465  @java.lang.Override
11467  return initialVariablesActivity_;
11468  }
11483  public Builder setInitialVariablesActivity(double value) {
11484  bitField0_ |= 0x00000080;
11485  initialVariablesActivity_ = value;
11486  onChanged();
11487  return this;
11488  }
11503  bitField0_ = (bitField0_ & ~0x00000080);
11504  initialVariablesActivity_ = 0D;
11505  onChanged();
11506  return this;
11507  }
11508 
11509  private boolean alsoBumpVariablesInConflictReasons_ ;
11521  @java.lang.Override
11523  return ((bitField0_ & 0x00000100) != 0);
11524  }
11536  @java.lang.Override
11538  return alsoBumpVariablesInConflictReasons_;
11539  }
11553  bitField0_ |= 0x00000100;
11554  alsoBumpVariablesInConflictReasons_ = value;
11555  onChanged();
11556  return this;
11557  }
11570  bitField0_ = (bitField0_ & ~0x00000100);
11571  alsoBumpVariablesInConflictReasons_ = false;
11572  onChanged();
11573  return this;
11574  }
11575 
11576  private int minimizationAlgorithm_ = 2;
11581  @java.lang.Override public boolean hasMinimizationAlgorithm() {
11582  return ((bitField0_ & 0x00000200) != 0);
11583  }
11588  @java.lang.Override
11590  @SuppressWarnings("deprecation")
11592  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
11593  }
11600  if (value == null) {
11601  throw new NullPointerException();
11602  }
11603  bitField0_ |= 0x00000200;
11604  minimizationAlgorithm_ = value.getNumber();
11605  onChanged();
11606  return this;
11607  }
11613  bitField0_ = (bitField0_ & ~0x00000200);
11614  minimizationAlgorithm_ = 2;
11615  onChanged();
11616  return this;
11617  }
11618 
11619  private int binaryMinimizationAlgorithm_ = 1;
11624  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
11625  return ((bitField0_ & 0x00000400) != 0);
11626  }
11631  @java.lang.Override
11633  @SuppressWarnings("deprecation")
11636  }
11643  if (value == null) {
11644  throw new NullPointerException();
11645  }
11646  bitField0_ |= 0x00000400;
11647  binaryMinimizationAlgorithm_ = value.getNumber();
11648  onChanged();
11649  return this;
11650  }
11656  bitField0_ = (bitField0_ & ~0x00000400);
11657  binaryMinimizationAlgorithm_ = 1;
11658  onChanged();
11659  return this;
11660  }
11661 
11662  private boolean subsumptionDuringConflictAnalysis_ = true;
11674  @java.lang.Override
11676  return ((bitField0_ & 0x00000800) != 0);
11677  }
11689  @java.lang.Override
11691  return subsumptionDuringConflictAnalysis_;
11692  }
11706  bitField0_ |= 0x00000800;
11707  subsumptionDuringConflictAnalysis_ = value;
11708  onChanged();
11709  return this;
11710  }
11723  bitField0_ = (bitField0_ & ~0x00000800);
11724  subsumptionDuringConflictAnalysis_ = true;
11725  onChanged();
11726  return this;
11727  }
11728 
11729  private int clauseCleanupPeriod_ = 10000;
11738  @java.lang.Override
11739  public boolean hasClauseCleanupPeriod() {
11740  return ((bitField0_ & 0x00001000) != 0);
11741  }
11750  @java.lang.Override
11751  public int getClauseCleanupPeriod() {
11752  return clauseCleanupPeriod_;
11753  }
11763  public Builder setClauseCleanupPeriod(int value) {
11764  bitField0_ |= 0x00001000;
11765  clauseCleanupPeriod_ = value;
11766  onChanged();
11767  return this;
11768  }
11778  bitField0_ = (bitField0_ & ~0x00001000);
11779  clauseCleanupPeriod_ = 10000;
11780  onChanged();
11781  return this;
11782  }
11783 
11784  private int clauseCleanupTarget_ = 10000;
11794  @java.lang.Override
11795  public boolean hasClauseCleanupTarget() {
11796  return ((bitField0_ & 0x00002000) != 0);
11797  }
11807  @java.lang.Override
11808  public int getClauseCleanupTarget() {
11809  return clauseCleanupTarget_;
11810  }
11821  public Builder setClauseCleanupTarget(int value) {
11822  bitField0_ |= 0x00002000;
11823  clauseCleanupTarget_ = value;
11824  onChanged();
11825  return this;
11826  }
11837  bitField0_ = (bitField0_ & ~0x00002000);
11838  clauseCleanupTarget_ = 10000;
11839  onChanged();
11840  return this;
11841  }
11842 
11843  private int clauseCleanupProtection_ = 0;
11848  @java.lang.Override public boolean hasClauseCleanupProtection() {
11849  return ((bitField0_ & 0x00004000) != 0);
11850  }
11855  @java.lang.Override
11857  @SuppressWarnings("deprecation")
11859  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
11860  }
11867  if (value == null) {
11868  throw new NullPointerException();
11869  }
11870  bitField0_ |= 0x00004000;
11871  clauseCleanupProtection_ = value.getNumber();
11872  onChanged();
11873  return this;
11874  }
11880  bitField0_ = (bitField0_ & ~0x00004000);
11881  clauseCleanupProtection_ = 0;
11882  onChanged();
11883  return this;
11884  }
11885 
11886  private int clauseCleanupLbdBound_ = 5;
11896  @java.lang.Override
11897  public boolean hasClauseCleanupLbdBound() {
11898  return ((bitField0_ & 0x00008000) != 0);
11899  }
11909  @java.lang.Override
11911  return clauseCleanupLbdBound_;
11912  }
11923  public Builder setClauseCleanupLbdBound(int value) {
11924  bitField0_ |= 0x00008000;
11925  clauseCleanupLbdBound_ = value;
11926  onChanged();
11927  return this;
11928  }
11939  bitField0_ = (bitField0_ & ~0x00008000);
11940  clauseCleanupLbdBound_ = 5;
11941  onChanged();
11942  return this;
11943  }
11944 
11945  private int clauseCleanupOrdering_ = 0;
11950  @java.lang.Override public boolean hasClauseCleanupOrdering() {
11951  return ((bitField0_ & 0x00010000) != 0);
11952  }
11957  @java.lang.Override
11959  @SuppressWarnings("deprecation")
11961  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
11962  }
11969  if (value == null) {
11970  throw new NullPointerException();
11971  }
11972  bitField0_ |= 0x00010000;
11973  clauseCleanupOrdering_ = value.getNumber();
11974  onChanged();
11975  return this;
11976  }
11982  bitField0_ = (bitField0_ & ~0x00010000);
11983  clauseCleanupOrdering_ = 0;
11984  onChanged();
11985  return this;
11986  }
11987 
11988  private int pbCleanupIncrement_ = 200;
11997  @java.lang.Override
11998  public boolean hasPbCleanupIncrement() {
11999  return ((bitField0_ & 0x00020000) != 0);
12000  }
12009  @java.lang.Override
12010  public int getPbCleanupIncrement() {
12011  return pbCleanupIncrement_;
12012  }
12022  public Builder setPbCleanupIncrement(int value) {
12023  bitField0_ |= 0x00020000;
12024  pbCleanupIncrement_ = value;
12025  onChanged();
12026  return this;
12027  }
12037  bitField0_ = (bitField0_ & ~0x00020000);
12038  pbCleanupIncrement_ = 200;
12039  onChanged();
12040  return this;
12041  }
12042 
12043  private double pbCleanupRatio_ = 0.5D;
12048  @java.lang.Override
12049  public boolean hasPbCleanupRatio() {
12050  return ((bitField0_ & 0x00040000) != 0);
12051  }
12056  @java.lang.Override
12057  public double getPbCleanupRatio() {
12058  return pbCleanupRatio_;
12059  }
12065  public Builder setPbCleanupRatio(double value) {
12066  bitField0_ |= 0x00040000;
12067  pbCleanupRatio_ = value;
12068  onChanged();
12069  return this;
12070  }
12076  bitField0_ = (bitField0_ & ~0x00040000);
12077  pbCleanupRatio_ = 0.5D;
12078  onChanged();
12079  return this;
12080  }
12081 
12082  private int minimizeWithPropagationRestartPeriod_ = 10;
12101  @java.lang.Override
12103  return ((bitField0_ & 0x00080000) != 0);
12104  }
12123  @java.lang.Override
12125  return minimizeWithPropagationRestartPeriod_;
12126  }
12147  bitField0_ |= 0x00080000;
12148  minimizeWithPropagationRestartPeriod_ = value;
12149  onChanged();
12150  return this;
12151  }
12171  bitField0_ = (bitField0_ & ~0x00080000);
12172  minimizeWithPropagationRestartPeriod_ = 10;
12173  onChanged();
12174  return this;
12175  }
12176 
12177  private int minimizeWithPropagationNumDecisions_ = 1000;
12182  @java.lang.Override
12184  return ((bitField0_ & 0x00100000) != 0);
12185  }
12190  @java.lang.Override
12192  return minimizeWithPropagationNumDecisions_;
12193  }
12200  bitField0_ |= 0x00100000;
12201  minimizeWithPropagationNumDecisions_ = value;
12202  onChanged();
12203  return this;
12204  }
12210  bitField0_ = (bitField0_ & ~0x00100000);
12211  minimizeWithPropagationNumDecisions_ = 1000;
12212  onChanged();
12213  return this;
12214  }
12215 
12216  private double variableActivityDecay_ = 0.8D;
12231  @java.lang.Override
12232  public boolean hasVariableActivityDecay() {
12233  return ((bitField0_ & 0x00200000) != 0);
12234  }
12249  @java.lang.Override
12250  public double getVariableActivityDecay() {
12251  return variableActivityDecay_;
12252  }
12268  public Builder setVariableActivityDecay(double value) {
12269  bitField0_ |= 0x00200000;
12270  variableActivityDecay_ = value;
12271  onChanged();
12272  return this;
12273  }
12289  bitField0_ = (bitField0_ & ~0x00200000);
12290  variableActivityDecay_ = 0.8D;
12291  onChanged();
12292  return this;
12293  }
12294 
12295  private double maxVariableActivityValue_ = 1e+100D;
12300  @java.lang.Override
12301  public boolean hasMaxVariableActivityValue() {
12302  return ((bitField0_ & 0x00400000) != 0);
12303  }
12308  @java.lang.Override
12310  return maxVariableActivityValue_;
12311  }
12317  public Builder setMaxVariableActivityValue(double value) {
12318  bitField0_ |= 0x00400000;
12319  maxVariableActivityValue_ = value;
12320  onChanged();
12321  return this;
12322  }
12328  bitField0_ = (bitField0_ & ~0x00400000);
12329  maxVariableActivityValue_ = 1e+100D;
12330  onChanged();
12331  return this;
12332  }
12333 
12334  private double glucoseMaxDecay_ = 0.95D;
12346  @java.lang.Override
12347  public boolean hasGlucoseMaxDecay() {
12348  return ((bitField0_ & 0x00800000) != 0);
12349  }
12361  @java.lang.Override
12362  public double getGlucoseMaxDecay() {
12363  return glucoseMaxDecay_;
12364  }
12377  public Builder setGlucoseMaxDecay(double value) {
12378  bitField0_ |= 0x00800000;
12379  glucoseMaxDecay_ = value;
12380  onChanged();
12381  return this;
12382  }
12395  bitField0_ = (bitField0_ & ~0x00800000);
12396  glucoseMaxDecay_ = 0.95D;
12397  onChanged();
12398  return this;
12399  }
12400 
12401  private double glucoseDecayIncrement_ = 0.01D;
12406  @java.lang.Override
12407  public boolean hasGlucoseDecayIncrement() {
12408  return ((bitField0_ & 0x01000000) != 0);
12409  }
12414  @java.lang.Override
12415  public double getGlucoseDecayIncrement() {
12416  return glucoseDecayIncrement_;
12417  }
12423  public Builder setGlucoseDecayIncrement(double value) {
12424  bitField0_ |= 0x01000000;
12425  glucoseDecayIncrement_ = value;
12426  onChanged();
12427  return this;
12428  }
12434  bitField0_ = (bitField0_ & ~0x01000000);
12435  glucoseDecayIncrement_ = 0.01D;
12436  onChanged();
12437  return this;
12438  }
12439 
12440  private int glucoseDecayIncrementPeriod_ = 5000;
12445  @java.lang.Override
12447  return ((bitField0_ & 0x02000000) != 0);
12448  }
12453  @java.lang.Override
12455  return glucoseDecayIncrementPeriod_;
12456  }
12463  bitField0_ |= 0x02000000;
12464  glucoseDecayIncrementPeriod_ = value;
12465  onChanged();
12466  return this;
12467  }
12473  bitField0_ = (bitField0_ & ~0x02000000);
12474  glucoseDecayIncrementPeriod_ = 5000;
12475  onChanged();
12476  return this;
12477  }
12478 
12479  private double clauseActivityDecay_ = 0.999D;
12488  @java.lang.Override
12489  public boolean hasClauseActivityDecay() {
12490  return ((bitField0_ & 0x04000000) != 0);
12491  }
12500  @java.lang.Override
12501  public double getClauseActivityDecay() {
12502  return clauseActivityDecay_;
12503  }
12513  public Builder setClauseActivityDecay(double value) {
12514  bitField0_ |= 0x04000000;
12515  clauseActivityDecay_ = value;
12516  onChanged();
12517  return this;
12518  }
12528  bitField0_ = (bitField0_ & ~0x04000000);
12529  clauseActivityDecay_ = 0.999D;
12530  onChanged();
12531  return this;
12532  }
12533 
12534  private double maxClauseActivityValue_ = 1e+20D;
12539  @java.lang.Override
12540  public boolean hasMaxClauseActivityValue() {
12541  return ((bitField0_ & 0x08000000) != 0);
12542  }
12547  @java.lang.Override
12548  public double getMaxClauseActivityValue() {
12549  return maxClauseActivityValue_;
12550  }
12556  public Builder setMaxClauseActivityValue(double value) {
12557  bitField0_ |= 0x08000000;
12558  maxClauseActivityValue_ = value;
12559  onChanged();
12560  return this;
12561  }
12567  bitField0_ = (bitField0_ & ~0x08000000);
12568  maxClauseActivityValue_ = 1e+20D;
12569  onChanged();
12570  return this;
12571  }
12572 
12573  private java.util.List<java.lang.Integer> restartAlgorithms_ =
12574  java.util.Collections.emptyList();
12575  private void ensureRestartAlgorithmsIsMutable() {
12576  if (!((bitField0_ & 0x10000000) != 0)) {
12577  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
12578  bitField0_ |= 0x10000000;
12579  }
12580  }
12597  return new com.google.protobuf.Internal.ListAdapter<
12598  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
12599  }
12616  return restartAlgorithms_.size();
12617  }
12635  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
12636  }
12655  int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
12656  if (value == null) {
12657  throw new NullPointerException();
12658  }
12659  ensureRestartAlgorithmsIsMutable();
12660  restartAlgorithms_.set(index, value.getNumber());
12661  onChanged();
12662  return this;
12663  }
12681  if (value == null) {
12682  throw new NullPointerException();
12683  }
12684  ensureRestartAlgorithmsIsMutable();
12685  restartAlgorithms_.add(value.getNumber());
12686  onChanged();
12687  return this;
12688  }
12706  java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
12707  ensureRestartAlgorithmsIsMutable();
12708  for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
12709  restartAlgorithms_.add(value.getNumber());
12710  }
12711  onChanged();
12712  return this;
12713  }
12730  restartAlgorithms_ = java.util.Collections.emptyList();
12731  bitField0_ = (bitField0_ & ~0x10000000);
12732  onChanged();
12733  return this;
12734  }
12735 
12736  private java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
12741  public boolean hasDefaultRestartAlgorithms() {
12742  return ((bitField0_ & 0x20000000) != 0);
12743  }
12748  public java.lang.String getDefaultRestartAlgorithms() {
12749  java.lang.Object ref = defaultRestartAlgorithms_;
12750  if (!(ref instanceof java.lang.String)) {
12751  com.google.protobuf.ByteString bs =
12752  (com.google.protobuf.ByteString) ref;
12753  java.lang.String s = bs.toStringUtf8();
12754  if (bs.isValidUtf8()) {
12755  defaultRestartAlgorithms_ = s;
12756  }
12757  return s;
12758  } else {
12759  return (java.lang.String) ref;
12760  }
12761  }
12766  public com.google.protobuf.ByteString
12768  java.lang.Object ref = defaultRestartAlgorithms_;
12769  if (ref instanceof String) {
12770  com.google.protobuf.ByteString b =
12771  com.google.protobuf.ByteString.copyFromUtf8(
12772  (java.lang.String) ref);
12773  defaultRestartAlgorithms_ = b;
12774  return b;
12775  } else {
12776  return (com.google.protobuf.ByteString) ref;
12777  }
12778  }
12785  java.lang.String value) {
12786  if (value == null) {
12787  throw new NullPointerException();
12788  }
12789  bitField0_ |= 0x20000000;
12790  defaultRestartAlgorithms_ = value;
12791  onChanged();
12792  return this;
12793  }
12799  bitField0_ = (bitField0_ & ~0x20000000);
12800  defaultRestartAlgorithms_ = getDefaultInstance().getDefaultRestartAlgorithms();
12801  onChanged();
12802  return this;
12803  }
12810  com.google.protobuf.ByteString value) {
12811  if (value == null) {
12812  throw new NullPointerException();
12813  }
12814  bitField0_ |= 0x20000000;
12815  defaultRestartAlgorithms_ = value;
12816  onChanged();
12817  return this;
12818  }
12819 
12820  private int restartPeriod_ = 50;
12830  @java.lang.Override
12831  public boolean hasRestartPeriod() {
12832  return ((bitField0_ & 0x40000000) != 0);
12833  }
12843  @java.lang.Override
12844  public int getRestartPeriod() {
12845  return restartPeriod_;
12846  }
12857  public Builder setRestartPeriod(int value) {
12858  bitField0_ |= 0x40000000;
12859  restartPeriod_ = value;
12860  onChanged();
12861  return this;
12862  }
12873  bitField0_ = (bitField0_ & ~0x40000000);
12874  restartPeriod_ = 50;
12875  onChanged();
12876  return this;
12877  }
12878 
12879  private int restartRunningWindowSize_ = 50;
12888  @java.lang.Override
12889  public boolean hasRestartRunningWindowSize() {
12890  return ((bitField0_ & 0x80000000) != 0);
12891  }
12900  @java.lang.Override
12902  return restartRunningWindowSize_;
12903  }
12914  bitField0_ |= 0x80000000;
12915  restartRunningWindowSize_ = value;
12916  onChanged();
12917  return this;
12918  }
12928  bitField0_ = (bitField0_ & ~0x80000000);
12929  restartRunningWindowSize_ = 50;
12930  onChanged();
12931  return this;
12932  }
12933 
12934  private double restartDlAverageRatio_ = 1D;
12944  @java.lang.Override
12945  public boolean hasRestartDlAverageRatio() {
12946  return ((bitField1_ & 0x00000001) != 0);
12947  }
12957  @java.lang.Override
12958  public double getRestartDlAverageRatio() {
12959  return restartDlAverageRatio_;
12960  }
12971  public Builder setRestartDlAverageRatio(double value) {
12972  bitField1_ |= 0x00000001;
12973  restartDlAverageRatio_ = value;
12974  onChanged();
12975  return this;
12976  }
12987  bitField1_ = (bitField1_ & ~0x00000001);
12988  restartDlAverageRatio_ = 1D;
12989  onChanged();
12990  return this;
12991  }
12992 
12993  private double restartLbdAverageRatio_ = 1D;
12998  @java.lang.Override
12999  public boolean hasRestartLbdAverageRatio() {
13000  return ((bitField1_ & 0x00000002) != 0);
13001  }
13006  @java.lang.Override
13007  public double getRestartLbdAverageRatio() {
13008  return restartLbdAverageRatio_;
13009  }
13015  public Builder setRestartLbdAverageRatio(double value) {
13016  bitField1_ |= 0x00000002;
13017  restartLbdAverageRatio_ = value;
13018  onChanged();
13019  return this;
13020  }
13026  bitField1_ = (bitField1_ & ~0x00000002);
13027  restartLbdAverageRatio_ = 1D;
13028  onChanged();
13029  return this;
13030  }
13031 
13032  private boolean useBlockingRestart_ ;
13043  @java.lang.Override
13044  public boolean hasUseBlockingRestart() {
13045  return ((bitField1_ & 0x00000004) != 0);
13046  }
13057  @java.lang.Override
13058  public boolean getUseBlockingRestart() {
13059  return useBlockingRestart_;
13060  }
13072  public Builder setUseBlockingRestart(boolean value) {
13073  bitField1_ |= 0x00000004;
13074  useBlockingRestart_ = value;
13075  onChanged();
13076  return this;
13077  }
13089  bitField1_ = (bitField1_ & ~0x00000004);
13090  useBlockingRestart_ = false;
13091  onChanged();
13092  return this;
13093  }
13094 
13095  private int blockingRestartWindowSize_ = 5000;
13100  @java.lang.Override
13101  public boolean hasBlockingRestartWindowSize() {
13102  return ((bitField1_ & 0x00000008) != 0);
13103  }
13108  @java.lang.Override
13110  return blockingRestartWindowSize_;
13111  }
13118  bitField1_ |= 0x00000008;
13119  blockingRestartWindowSize_ = value;
13120  onChanged();
13121  return this;
13122  }
13128  bitField1_ = (bitField1_ & ~0x00000008);
13129  blockingRestartWindowSize_ = 5000;
13130  onChanged();
13131  return this;
13132  }
13133 
13134  private double blockingRestartMultiplier_ = 1.4D;
13139  @java.lang.Override
13140  public boolean hasBlockingRestartMultiplier() {
13141  return ((bitField1_ & 0x00000010) != 0);
13142  }
13147  @java.lang.Override
13149  return blockingRestartMultiplier_;
13150  }
13156  public Builder setBlockingRestartMultiplier(double value) {
13157  bitField1_ |= 0x00000010;
13158  blockingRestartMultiplier_ = value;
13159  onChanged();
13160  return this;
13161  }
13167  bitField1_ = (bitField1_ & ~0x00000010);
13168  blockingRestartMultiplier_ = 1.4D;
13169  onChanged();
13170  return this;
13171  }
13172 
13173  private int numConflictsBeforeStrategyChanges_ ;
13184  @java.lang.Override
13186  return ((bitField1_ & 0x00000020) != 0);
13187  }
13198  @java.lang.Override
13200  return numConflictsBeforeStrategyChanges_;
13201  }
13214  bitField1_ |= 0x00000020;
13215  numConflictsBeforeStrategyChanges_ = value;
13216  onChanged();
13217  return this;
13218  }
13230  bitField1_ = (bitField1_ & ~0x00000020);
13231  numConflictsBeforeStrategyChanges_ = 0;
13232  onChanged();
13233  return this;
13234  }
13235 
13236  private double strategyChangeIncreaseRatio_ ;
13246  @java.lang.Override
13248  return ((bitField1_ & 0x00000040) != 0);
13249  }
13259  @java.lang.Override
13261  return strategyChangeIncreaseRatio_;
13262  }
13274  bitField1_ |= 0x00000040;
13275  strategyChangeIncreaseRatio_ = value;
13276  onChanged();
13277  return this;
13278  }
13289  bitField1_ = (bitField1_ & ~0x00000040);
13290  strategyChangeIncreaseRatio_ = 0D;
13291  onChanged();
13292  return this;
13293  }
13294 
13295  private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
13305  @java.lang.Override
13306  public boolean hasMaxTimeInSeconds() {
13307  return ((bitField1_ & 0x00000080) != 0);
13308  }
13318  @java.lang.Override
13319  public double getMaxTimeInSeconds() {
13320  return maxTimeInSeconds_;
13321  }
13332  public Builder setMaxTimeInSeconds(double value) {
13333  bitField1_ |= 0x00000080;
13334  maxTimeInSeconds_ = value;
13335  onChanged();
13336  return this;
13337  }
13348  bitField1_ = (bitField1_ & ~0x00000080);
13349  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
13350  onChanged();
13351  return this;
13352  }
13353 
13354  private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
13365  @java.lang.Override
13366  public boolean hasMaxDeterministicTime() {
13367  return ((bitField1_ & 0x00000100) != 0);
13368  }
13379  @java.lang.Override
13380  public double getMaxDeterministicTime() {
13381  return maxDeterministicTime_;
13382  }
13394  public Builder setMaxDeterministicTime(double value) {
13395  bitField1_ |= 0x00000100;
13396  maxDeterministicTime_ = value;
13397  onChanged();
13398  return this;
13399  }
13411  bitField1_ = (bitField1_ & ~0x00000100);
13412  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
13413  onChanged();
13414  return this;
13415  }
13416 
13417  private long maxNumberOfConflicts_ = 9223372036854775807L;
13431  @java.lang.Override
13432  public boolean hasMaxNumberOfConflicts() {
13433  return ((bitField1_ & 0x00000200) != 0);
13434  }
13448  @java.lang.Override
13449  public long getMaxNumberOfConflicts() {
13450  return maxNumberOfConflicts_;
13451  }
13466  public Builder setMaxNumberOfConflicts(long value) {
13467  bitField1_ |= 0x00000200;
13468  maxNumberOfConflicts_ = value;
13469  onChanged();
13470  return this;
13471  }
13486  bitField1_ = (bitField1_ & ~0x00000200);
13487  maxNumberOfConflicts_ = 9223372036854775807L;
13488  onChanged();
13489  return this;
13490  }
13491 
13492  private long maxMemoryInMb_ = 10000L;
13504  @java.lang.Override
13505  public boolean hasMaxMemoryInMb() {
13506  return ((bitField1_ & 0x00000400) != 0);
13507  }
13519  @java.lang.Override
13520  public long getMaxMemoryInMb() {
13521  return maxMemoryInMb_;
13522  }
13535  public Builder setMaxMemoryInMb(long value) {
13536  bitField1_ |= 0x00000400;
13537  maxMemoryInMb_ = value;
13538  onChanged();
13539  return this;
13540  }
13553  bitField1_ = (bitField1_ & ~0x00000400);
13554  maxMemoryInMb_ = 10000L;
13555  onChanged();
13556  return this;
13557  }
13558 
13559  private double absoluteGapLimit_ ;
13577  @java.lang.Override
13578  public boolean hasAbsoluteGapLimit() {
13579  return ((bitField1_ & 0x00000800) != 0);
13580  }
13598  @java.lang.Override
13599  public double getAbsoluteGapLimit() {
13600  return absoluteGapLimit_;
13601  }
13620  public Builder setAbsoluteGapLimit(double value) {
13621  bitField1_ |= 0x00000800;
13622  absoluteGapLimit_ = value;
13623  onChanged();
13624  return this;
13625  }
13644  bitField1_ = (bitField1_ & ~0x00000800);
13645  absoluteGapLimit_ = 0D;
13646  onChanged();
13647  return this;
13648  }
13649 
13650  private double relativeGapLimit_ ;
13655  @java.lang.Override
13656  public boolean hasRelativeGapLimit() {
13657  return ((bitField1_ & 0x00001000) != 0);
13658  }
13663  @java.lang.Override
13664  public double getRelativeGapLimit() {
13665  return relativeGapLimit_;
13666  }
13672  public Builder setRelativeGapLimit(double value) {
13673  bitField1_ |= 0x00001000;
13674  relativeGapLimit_ = value;
13675  onChanged();
13676  return this;
13677  }
13683  bitField1_ = (bitField1_ & ~0x00001000);
13684  relativeGapLimit_ = 0D;
13685  onChanged();
13686  return this;
13687  }
13688 
13689  private boolean treatBinaryClausesSeparately_ = true;
13700  @java.lang.Override
13702  return ((bitField1_ & 0x00002000) != 0);
13703  }
13714  @java.lang.Override
13716  return treatBinaryClausesSeparately_;
13717  }
13730  bitField1_ |= 0x00002000;
13731  treatBinaryClausesSeparately_ = value;
13732  onChanged();
13733  return this;
13734  }
13746  bitField1_ = (bitField1_ & ~0x00002000);
13747  treatBinaryClausesSeparately_ = true;
13748  onChanged();
13749  return this;
13750  }
13751 
13752  private int randomSeed_ = 1;
13766  @java.lang.Override
13767  public boolean hasRandomSeed() {
13768  return ((bitField1_ & 0x00004000) != 0);
13769  }
13783  @java.lang.Override
13784  public int getRandomSeed() {
13785  return randomSeed_;
13786  }
13801  public Builder setRandomSeed(int value) {
13802  bitField1_ |= 0x00004000;
13803  randomSeed_ = value;
13804  onChanged();
13805  return this;
13806  }
13821  bitField1_ = (bitField1_ & ~0x00004000);
13822  randomSeed_ = 1;
13823  onChanged();
13824  return this;
13825  }
13826 
13827  private boolean logSearchProgress_ ;
13836  @java.lang.Override
13837  public boolean hasLogSearchProgress() {
13838  return ((bitField1_ & 0x00008000) != 0);
13839  }
13848  @java.lang.Override
13849  public boolean getLogSearchProgress() {
13850  return logSearchProgress_;
13851  }
13861  public Builder setLogSearchProgress(boolean value) {
13862  bitField1_ |= 0x00008000;
13863  logSearchProgress_ = value;
13864  onChanged();
13865  return this;
13866  }
13876  bitField1_ = (bitField1_ & ~0x00008000);
13877  logSearchProgress_ = false;
13878  onChanged();
13879  return this;
13880  }
13881 
13882  private boolean usePbResolution_ ;
13894  @java.lang.Override
13895  public boolean hasUsePbResolution() {
13896  return ((bitField1_ & 0x00010000) != 0);
13897  }
13909  @java.lang.Override
13910  public boolean getUsePbResolution() {
13911  return usePbResolution_;
13912  }
13925  public Builder setUsePbResolution(boolean value) {
13926  bitField1_ |= 0x00010000;
13927  usePbResolution_ = value;
13928  onChanged();
13929  return this;
13930  }
13943  bitField1_ = (bitField1_ & ~0x00010000);
13944  usePbResolution_ = false;
13945  onChanged();
13946  return this;
13947  }
13948 
13949  private boolean minimizeReductionDuringPbResolution_ ;
13961  @java.lang.Override
13963  return ((bitField1_ & 0x00020000) != 0);
13964  }
13976  @java.lang.Override
13978  return minimizeReductionDuringPbResolution_;
13979  }
13993  bitField1_ |= 0x00020000;
13994  minimizeReductionDuringPbResolution_ = value;
13995  onChanged();
13996  return this;
13997  }
14010  bitField1_ = (bitField1_ & ~0x00020000);
14011  minimizeReductionDuringPbResolution_ = false;
14012  onChanged();
14013  return this;
14014  }
14015 
14016  private boolean countAssumptionLevelsInLbd_ = true;
14032  @java.lang.Override
14034  return ((bitField1_ & 0x00040000) != 0);
14035  }
14051  @java.lang.Override
14053  return countAssumptionLevelsInLbd_;
14054  }
14071  public Builder setCountAssumptionLevelsInLbd(boolean value) {
14072  bitField1_ |= 0x00040000;
14073  countAssumptionLevelsInLbd_ = value;
14074  onChanged();
14075  return this;
14076  }
14093  bitField1_ = (bitField1_ & ~0x00040000);
14094  countAssumptionLevelsInLbd_ = true;
14095  onChanged();
14096  return this;
14097  }
14098 
14099  private int presolveBveThreshold_ = 500;
14110  @java.lang.Override
14111  public boolean hasPresolveBveThreshold() {
14112  return ((bitField1_ & 0x00080000) != 0);
14113  }
14124  @java.lang.Override
14126  return presolveBveThreshold_;
14127  }
14139  public Builder setPresolveBveThreshold(int value) {
14140  bitField1_ |= 0x00080000;
14141  presolveBveThreshold_ = value;
14142  onChanged();
14143  return this;
14144  }
14156  bitField1_ = (bitField1_ & ~0x00080000);
14157  presolveBveThreshold_ = 500;
14158  onChanged();
14159  return this;
14160  }
14161 
14162  private int presolveBveClauseWeight_ = 3;
14172  @java.lang.Override
14173  public boolean hasPresolveBveClauseWeight() {
14174  return ((bitField1_ & 0x00100000) != 0);
14175  }
14185  @java.lang.Override
14187  return presolveBveClauseWeight_;
14188  }
14200  bitField1_ |= 0x00100000;
14201  presolveBveClauseWeight_ = value;
14202  onChanged();
14203  return this;
14204  }
14215  bitField1_ = (bitField1_ & ~0x00100000);
14216  presolveBveClauseWeight_ = 3;
14217  onChanged();
14218  return this;
14219  }
14220 
14221  private double presolveProbingDeterministicTimeLimit_ = 30D;
14231  @java.lang.Override
14233  return ((bitField1_ & 0x00200000) != 0);
14234  }
14244  @java.lang.Override
14246  return presolveProbingDeterministicTimeLimit_;
14247  }
14259  bitField1_ |= 0x00200000;
14260  presolveProbingDeterministicTimeLimit_ = value;
14261  onChanged();
14262  return this;
14263  }
14274  bitField1_ = (bitField1_ & ~0x00200000);
14275  presolveProbingDeterministicTimeLimit_ = 30D;
14276  onChanged();
14277  return this;
14278  }
14279 
14280  private boolean presolveBlockedClause_ = true;
14290  @java.lang.Override
14291  public boolean hasPresolveBlockedClause() {
14292  return ((bitField1_ & 0x00400000) != 0);
14293  }
14303  @java.lang.Override
14304  public boolean getPresolveBlockedClause() {
14305  return presolveBlockedClause_;
14306  }
14317  public Builder setPresolveBlockedClause(boolean value) {
14318  bitField1_ |= 0x00400000;
14319  presolveBlockedClause_ = value;
14320  onChanged();
14321  return this;
14322  }
14333  bitField1_ = (bitField1_ & ~0x00400000);
14334  presolveBlockedClause_ = true;
14335  onChanged();
14336  return this;
14337  }
14338 
14339  private boolean presolveUseBva_ = true;
14348  @java.lang.Override
14349  public boolean hasPresolveUseBva() {
14350  return ((bitField1_ & 0x00800000) != 0);
14351  }
14360  @java.lang.Override
14361  public boolean getPresolveUseBva() {
14362  return presolveUseBva_;
14363  }
14373  public Builder setPresolveUseBva(boolean value) {
14374  bitField1_ |= 0x00800000;
14375  presolveUseBva_ = value;
14376  onChanged();
14377  return this;
14378  }
14388  bitField1_ = (bitField1_ & ~0x00800000);
14389  presolveUseBva_ = true;
14390  onChanged();
14391  return this;
14392  }
14393 
14394  private int presolveBvaThreshold_ = 1;
14406  @java.lang.Override
14407  public boolean hasPresolveBvaThreshold() {
14408  return ((bitField1_ & 0x01000000) != 0);
14409  }
14421  @java.lang.Override
14423  return presolveBvaThreshold_;
14424  }
14437  public Builder setPresolveBvaThreshold(int value) {
14438  bitField1_ |= 0x01000000;
14439  presolveBvaThreshold_ = value;
14440  onChanged();
14441  return this;
14442  }
14455  bitField1_ = (bitField1_ & ~0x01000000);
14456  presolveBvaThreshold_ = 1;
14457  onChanged();
14458  return this;
14459  }
14460 
14461  private int maxPresolveIterations_ = 3;
14472  @java.lang.Override
14473  public boolean hasMaxPresolveIterations() {
14474  return ((bitField1_ & 0x02000000) != 0);
14475  }
14486  @java.lang.Override
14488  return maxPresolveIterations_;
14489  }
14501  public Builder setMaxPresolveIterations(int value) {
14502  bitField1_ |= 0x02000000;
14503  maxPresolveIterations_ = value;
14504  onChanged();
14505  return this;
14506  }
14518  bitField1_ = (bitField1_ & ~0x02000000);
14519  maxPresolveIterations_ = 3;
14520  onChanged();
14521  return this;
14522  }
14523 
14524  private boolean cpModelPresolve_ = true;
14533  @java.lang.Override
14534  public boolean hasCpModelPresolve() {
14535  return ((bitField1_ & 0x04000000) != 0);
14536  }
14545  @java.lang.Override
14546  public boolean getCpModelPresolve() {
14547  return cpModelPresolve_;
14548  }
14558  public Builder setCpModelPresolve(boolean value) {
14559  bitField1_ |= 0x04000000;
14560  cpModelPresolve_ = value;
14561  onChanged();
14562  return this;
14563  }
14573  bitField1_ = (bitField1_ & ~0x04000000);
14574  cpModelPresolve_ = true;
14575  onChanged();
14576  return this;
14577  }
14578 
14579  private boolean cpModelPostsolveWithFullSolver_ ;
14591  @java.lang.Override
14593  return ((bitField1_ & 0x08000000) != 0);
14594  }
14606  @java.lang.Override
14608  return cpModelPostsolveWithFullSolver_;
14609  }
14623  bitField1_ |= 0x08000000;
14624  cpModelPostsolveWithFullSolver_ = value;
14625  onChanged();
14626  return this;
14627  }
14640  bitField1_ = (bitField1_ & ~0x08000000);
14641  cpModelPostsolveWithFullSolver_ = false;
14642  onChanged();
14643  return this;
14644  }
14645 
14646  private int cpModelMaxNumPresolveOperations_ ;
14656  @java.lang.Override
14658  return ((bitField1_ & 0x10000000) != 0);
14659  }
14669  @java.lang.Override
14671  return cpModelMaxNumPresolveOperations_;
14672  }
14684  bitField1_ |= 0x10000000;
14685  cpModelMaxNumPresolveOperations_ = value;
14686  onChanged();
14687  return this;
14688  }
14699  bitField1_ = (bitField1_ & ~0x10000000);
14700  cpModelMaxNumPresolveOperations_ = 0;
14701  onChanged();
14702  return this;
14703  }
14704 
14705  private int cpModelProbingLevel_ = 2;
14714  @java.lang.Override
14715  public boolean hasCpModelProbingLevel() {
14716  return ((bitField1_ & 0x20000000) != 0);
14717  }
14726  @java.lang.Override
14727  public int getCpModelProbingLevel() {
14728  return cpModelProbingLevel_;
14729  }
14739  public Builder setCpModelProbingLevel(int value) {
14740  bitField1_ |= 0x20000000;
14741  cpModelProbingLevel_ = value;
14742  onChanged();
14743  return this;
14744  }
14754  bitField1_ = (bitField1_ & ~0x20000000);
14755  cpModelProbingLevel_ = 2;
14756  onChanged();
14757  return this;
14758  }
14759 
14760  private boolean cpModelUseSatPresolve_ = true;
14769  @java.lang.Override
14770  public boolean hasCpModelUseSatPresolve() {
14771  return ((bitField1_ & 0x40000000) != 0);
14772  }
14781  @java.lang.Override
14782  public boolean getCpModelUseSatPresolve() {
14783  return cpModelUseSatPresolve_;
14784  }
14794  public Builder setCpModelUseSatPresolve(boolean value) {
14795  bitField1_ |= 0x40000000;
14796  cpModelUseSatPresolve_ = value;
14797  onChanged();
14798  return this;
14799  }
14809  bitField1_ = (bitField1_ & ~0x40000000);
14810  cpModelUseSatPresolve_ = true;
14811  onChanged();
14812  return this;
14813  }
14814 
14815  private boolean useSatInprocessing_ ;
14820  @java.lang.Override
14821  public boolean hasUseSatInprocessing() {
14822  return ((bitField1_ & 0x80000000) != 0);
14823  }
14828  @java.lang.Override
14829  public boolean getUseSatInprocessing() {
14830  return useSatInprocessing_;
14831  }
14837  public Builder setUseSatInprocessing(boolean value) {
14838  bitField1_ |= 0x80000000;
14839  useSatInprocessing_ = value;
14840  onChanged();
14841  return this;
14842  }
14848  bitField1_ = (bitField1_ & ~0x80000000);
14849  useSatInprocessing_ = false;
14850  onChanged();
14851  return this;
14852  }
14853 
14854  private boolean expandElementConstraints_ = true;
14864  @java.lang.Override
14865  public boolean hasExpandElementConstraints() {
14866  return ((bitField2_ & 0x00000001) != 0);
14867  }
14877  @java.lang.Override
14878  public boolean getExpandElementConstraints() {
14879  return expandElementConstraints_;
14880  }
14891  public Builder setExpandElementConstraints(boolean value) {
14892  bitField2_ |= 0x00000001;
14893  expandElementConstraints_ = value;
14894  onChanged();
14895  return this;
14896  }
14907  bitField2_ = (bitField2_ & ~0x00000001);
14908  expandElementConstraints_ = true;
14909  onChanged();
14910  return this;
14911  }
14912 
14913  private boolean expandAutomatonConstraints_ = true;
14922  @java.lang.Override
14924  return ((bitField2_ & 0x00000002) != 0);
14925  }
14934  @java.lang.Override
14936  return expandAutomatonConstraints_;
14937  }
14947  public Builder setExpandAutomatonConstraints(boolean value) {
14948  bitField2_ |= 0x00000002;
14949  expandAutomatonConstraints_ = value;
14950  onChanged();
14951  return this;
14952  }
14962  bitField2_ = (bitField2_ & ~0x00000002);
14963  expandAutomatonConstraints_ = true;
14964  onChanged();
14965  return this;
14966  }
14967 
14968  private boolean expandTableConstraints_ = true;
14978  @java.lang.Override
14979  public boolean hasExpandTableConstraints() {
14980  return ((bitField2_ & 0x00000004) != 0);
14981  }
14991  @java.lang.Override
14992  public boolean getExpandTableConstraints() {
14993  return expandTableConstraints_;
14994  }
15005  public Builder setExpandTableConstraints(boolean value) {
15006  bitField2_ |= 0x00000004;
15007  expandTableConstraints_ = value;
15008  onChanged();
15009  return this;
15010  }
15021  bitField2_ = (bitField2_ & ~0x00000004);
15022  expandTableConstraints_ = true;
15023  onChanged();
15024  return this;
15025  }
15026 
15027  private double mergeNoOverlapWorkLimit_ = 1000000000000D;
15040  @java.lang.Override
15041  public boolean hasMergeNoOverlapWorkLimit() {
15042  return ((bitField2_ & 0x00000008) != 0);
15043  }
15056  @java.lang.Override
15057  public double getMergeNoOverlapWorkLimit() {
15058  return mergeNoOverlapWorkLimit_;
15059  }
15073  public Builder setMergeNoOverlapWorkLimit(double value) {
15074  bitField2_ |= 0x00000008;
15075  mergeNoOverlapWorkLimit_ = value;
15076  onChanged();
15077  return this;
15078  }
15092  bitField2_ = (bitField2_ & ~0x00000008);
15093  mergeNoOverlapWorkLimit_ = 1000000000000D;
15094  onChanged();
15095  return this;
15096  }
15097 
15098  private double mergeAtMostOneWorkLimit_ = 100000000D;
15103  @java.lang.Override
15104  public boolean hasMergeAtMostOneWorkLimit() {
15105  return ((bitField2_ & 0x00000010) != 0);
15106  }
15111  @java.lang.Override
15112  public double getMergeAtMostOneWorkLimit() {
15113  return mergeAtMostOneWorkLimit_;
15114  }
15120  public Builder setMergeAtMostOneWorkLimit(double value) {
15121  bitField2_ |= 0x00000010;
15122  mergeAtMostOneWorkLimit_ = value;
15123  onChanged();
15124  return this;
15125  }
15131  bitField2_ = (bitField2_ & ~0x00000010);
15132  mergeAtMostOneWorkLimit_ = 100000000D;
15133  onChanged();
15134  return this;
15135  }
15136 
15137  private int presolveSubstitutionLevel_ = 1;
15149  @java.lang.Override
15150  public boolean hasPresolveSubstitutionLevel() {
15151  return ((bitField2_ & 0x00000020) != 0);
15152  }
15164  @java.lang.Override
15166  return presolveSubstitutionLevel_;
15167  }
15181  bitField2_ |= 0x00000020;
15182  presolveSubstitutionLevel_ = value;
15183  onChanged();
15184  return this;
15185  }
15198  bitField2_ = (bitField2_ & ~0x00000020);
15199  presolveSubstitutionLevel_ = 1;
15200  onChanged();
15201  return this;
15202  }
15203 
15204  private boolean useOptimizationHints_ = true;
15216  @java.lang.Override
15217  public boolean hasUseOptimizationHints() {
15218  return ((bitField2_ & 0x00000040) != 0);
15219  }
15231  @java.lang.Override
15232  public boolean getUseOptimizationHints() {
15233  return useOptimizationHints_;
15234  }
15247  public Builder setUseOptimizationHints(boolean value) {
15248  bitField2_ |= 0x00000040;
15249  useOptimizationHints_ = value;
15250  onChanged();
15251  return this;
15252  }
15265  bitField2_ = (bitField2_ & ~0x00000040);
15266  useOptimizationHints_ = true;
15267  onChanged();
15268  return this;
15269  }
15270 
15271  private boolean minimizeCore_ = true;
15280  @java.lang.Override
15281  public boolean hasMinimizeCore() {
15282  return ((bitField2_ & 0x00000080) != 0);
15283  }
15292  @java.lang.Override
15293  public boolean getMinimizeCore() {
15294  return minimizeCore_;
15295  }
15305  public Builder setMinimizeCore(boolean value) {
15306  bitField2_ |= 0x00000080;
15307  minimizeCore_ = value;
15308  onChanged();
15309  return this;
15310  }
15320  bitField2_ = (bitField2_ & ~0x00000080);
15321  minimizeCore_ = true;
15322  onChanged();
15323  return this;
15324  }
15325 
15326  private boolean findMultipleCores_ = true;
15336  @java.lang.Override
15337  public boolean hasFindMultipleCores() {
15338  return ((bitField2_ & 0x00000100) != 0);
15339  }
15349  @java.lang.Override
15350  public boolean getFindMultipleCores() {
15351  return findMultipleCores_;
15352  }
15363  public Builder setFindMultipleCores(boolean value) {
15364  bitField2_ |= 0x00000100;
15365  findMultipleCores_ = value;
15366  onChanged();
15367  return this;
15368  }
15379  bitField2_ = (bitField2_ & ~0x00000100);
15380  findMultipleCores_ = true;
15381  onChanged();
15382  return this;
15383  }
15384 
15385  private boolean coverOptimization_ = true;
15395  @java.lang.Override
15396  public boolean hasCoverOptimization() {
15397  return ((bitField2_ & 0x00000200) != 0);
15398  }
15408  @java.lang.Override
15409  public boolean getCoverOptimization() {
15410  return coverOptimization_;
15411  }
15422  public Builder setCoverOptimization(boolean value) {
15423  bitField2_ |= 0x00000200;
15424  coverOptimization_ = value;
15425  onChanged();
15426  return this;
15427  }
15438  bitField2_ = (bitField2_ & ~0x00000200);
15439  coverOptimization_ = true;
15440  onChanged();
15441  return this;
15442  }
15443 
15444  private int maxSatAssumptionOrder_ = 0;
15449  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
15450  return ((bitField2_ & 0x00000400) != 0);
15451  }
15456  @java.lang.Override
15458  @SuppressWarnings("deprecation")
15461  }
15468  if (value == null) {
15469  throw new NullPointerException();
15470  }
15471  bitField2_ |= 0x00000400;
15472  maxSatAssumptionOrder_ = value.getNumber();
15473  onChanged();
15474  return this;
15475  }
15481  bitField2_ = (bitField2_ & ~0x00000400);
15482  maxSatAssumptionOrder_ = 0;
15483  onChanged();
15484  return this;
15485  }
15486 
15487  private boolean maxSatReverseAssumptionOrder_ ;
15497  @java.lang.Override
15499  return ((bitField2_ & 0x00000800) != 0);
15500  }
15510  @java.lang.Override
15512  return maxSatReverseAssumptionOrder_;
15513  }
15525  bitField2_ |= 0x00000800;
15526  maxSatReverseAssumptionOrder_ = value;
15527  onChanged();
15528  return this;
15529  }
15540  bitField2_ = (bitField2_ & ~0x00000800);
15541  maxSatReverseAssumptionOrder_ = false;
15542  onChanged();
15543  return this;
15544  }
15545 
15546  private int maxSatStratification_ = 1;
15551  @java.lang.Override public boolean hasMaxSatStratification() {
15552  return ((bitField2_ & 0x00001000) != 0);
15553  }
15558  @java.lang.Override
15560  @SuppressWarnings("deprecation")
15563  }
15570  if (value == null) {
15571  throw new NullPointerException();
15572  }
15573  bitField2_ |= 0x00001000;
15574  maxSatStratification_ = value.getNumber();
15575  onChanged();
15576  return this;
15577  }
15583  bitField2_ = (bitField2_ & ~0x00001000);
15584  maxSatStratification_ = 1;
15585  onChanged();
15586  return this;
15587  }
15588 
15589  private boolean usePrecedencesInDisjunctiveConstraint_ = true;
15605  @java.lang.Override
15607  return ((bitField2_ & 0x00002000) != 0);
15608  }
15624  @java.lang.Override
15626  return usePrecedencesInDisjunctiveConstraint_;
15627  }
15645  bitField2_ |= 0x00002000;
15646  usePrecedencesInDisjunctiveConstraint_ = value;
15647  onChanged();
15648  return this;
15649  }
15666  bitField2_ = (bitField2_ & ~0x00002000);
15667  usePrecedencesInDisjunctiveConstraint_ = true;
15668  onChanged();
15669  return this;
15670  }
15671 
15672  private boolean useOverloadCheckerInCumulativeConstraint_ ;
15686  @java.lang.Override
15688  return ((bitField2_ & 0x00004000) != 0);
15689  }
15703  @java.lang.Override
15705  return useOverloadCheckerInCumulativeConstraint_;
15706  }
15722  bitField2_ |= 0x00004000;
15723  useOverloadCheckerInCumulativeConstraint_ = value;
15724  onChanged();
15725  return this;
15726  }
15741  bitField2_ = (bitField2_ & ~0x00004000);
15742  useOverloadCheckerInCumulativeConstraint_ = false;
15743  onChanged();
15744  return this;
15745  }
15746 
15747  private boolean useTimetableEdgeFindingInCumulativeConstraint_ ;
15761  @java.lang.Override
15763  return ((bitField2_ & 0x00008000) != 0);
15764  }
15778  @java.lang.Override
15780  return useTimetableEdgeFindingInCumulativeConstraint_;
15781  }
15797  bitField2_ |= 0x00008000;
15798  useTimetableEdgeFindingInCumulativeConstraint_ = value;
15799  onChanged();
15800  return this;
15801  }
15816  bitField2_ = (bitField2_ & ~0x00008000);
15817  useTimetableEdgeFindingInCumulativeConstraint_ = false;
15818  onChanged();
15819  return this;
15820  }
15821 
15822  private boolean useDisjunctiveConstraintInCumulativeConstraint_ = true;
15838  @java.lang.Override
15840  return ((bitField2_ & 0x00010000) != 0);
15841  }
15857  @java.lang.Override
15859  return useDisjunctiveConstraintInCumulativeConstraint_;
15860  }
15878  bitField2_ |= 0x00010000;
15879  useDisjunctiveConstraintInCumulativeConstraint_ = value;
15880  onChanged();
15881  return this;
15882  }
15899  bitField2_ = (bitField2_ & ~0x00010000);
15900  useDisjunctiveConstraintInCumulativeConstraint_ = true;
15901  onChanged();
15902  return this;
15903  }
15904 
15905  private int linearizationLevel_ = 1;
15917  @java.lang.Override
15918  public boolean hasLinearizationLevel() {
15919  return ((bitField2_ & 0x00020000) != 0);
15920  }
15932  @java.lang.Override
15933  public int getLinearizationLevel() {
15934  return linearizationLevel_;
15935  }
15948  public Builder setLinearizationLevel(int value) {
15949  bitField2_ |= 0x00020000;
15950  linearizationLevel_ = value;
15951  onChanged();
15952  return this;
15953  }
15966  bitField2_ = (bitField2_ & ~0x00020000);
15967  linearizationLevel_ = 1;
15968  onChanged();
15969  return this;
15970  }
15971 
15972  private int booleanEncodingLevel_ = 1;
15982  @java.lang.Override
15983  public boolean hasBooleanEncodingLevel() {
15984  return ((bitField2_ & 0x00040000) != 0);
15985  }
15995  @java.lang.Override
15997  return booleanEncodingLevel_;
15998  }
16009  public Builder setBooleanEncodingLevel(int value) {
16010  bitField2_ |= 0x00040000;
16011  booleanEncodingLevel_ = value;
16012  onChanged();
16013  return this;
16014  }
16025  bitField2_ = (bitField2_ & ~0x00040000);
16026  booleanEncodingLevel_ = 1;
16027  onChanged();
16028  return this;
16029  }
16030 
16031  private int maxNumCuts_ = 10000;
16043  @java.lang.Override
16044  public boolean hasMaxNumCuts() {
16045  return ((bitField2_ & 0x00080000) != 0);
16046  }
16058  @java.lang.Override
16059  public int getMaxNumCuts() {
16060  return maxNumCuts_;
16061  }
16074  public Builder setMaxNumCuts(int value) {
16075  bitField2_ |= 0x00080000;
16076  maxNumCuts_ = value;
16077  onChanged();
16078  return this;
16079  }
16092  bitField2_ = (bitField2_ & ~0x00080000);
16093  maxNumCuts_ = 10000;
16094  onChanged();
16095  return this;
16096  }
16097 
16098  private boolean onlyAddCutsAtLevelZero_ ;
16108  @java.lang.Override
16109  public boolean hasOnlyAddCutsAtLevelZero() {
16110  return ((bitField2_ & 0x00100000) != 0);
16111  }
16121  @java.lang.Override
16122  public boolean getOnlyAddCutsAtLevelZero() {
16123  return onlyAddCutsAtLevelZero_;
16124  }
16135  public Builder setOnlyAddCutsAtLevelZero(boolean value) {
16136  bitField2_ |= 0x00100000;
16137  onlyAddCutsAtLevelZero_ = value;
16138  onChanged();
16139  return this;
16140  }
16151  bitField2_ = (bitField2_ & ~0x00100000);
16152  onlyAddCutsAtLevelZero_ = false;
16153  onChanged();
16154  return this;
16155  }
16156 
16157  private boolean addKnapsackCuts_ ;
16168  @java.lang.Override
16169  public boolean hasAddKnapsackCuts() {
16170  return ((bitField2_ & 0x00200000) != 0);
16171  }
16182  @java.lang.Override
16183  public boolean getAddKnapsackCuts() {
16184  return addKnapsackCuts_;
16185  }
16197  public Builder setAddKnapsackCuts(boolean value) {
16198  bitField2_ |= 0x00200000;
16199  addKnapsackCuts_ = value;
16200  onChanged();
16201  return this;
16202  }
16214  bitField2_ = (bitField2_ & ~0x00200000);
16215  addKnapsackCuts_ = false;
16216  onChanged();
16217  return this;
16218  }
16219 
16220  private boolean addCgCuts_ = true;
16230  @java.lang.Override
16231  public boolean hasAddCgCuts() {
16232  return ((bitField2_ & 0x00400000) != 0);
16233  }
16243  @java.lang.Override
16244  public boolean getAddCgCuts() {
16245  return addCgCuts_;
16246  }
16257  public Builder setAddCgCuts(boolean value) {
16258  bitField2_ |= 0x00400000;
16259  addCgCuts_ = value;
16260  onChanged();
16261  return this;
16262  }
16273  bitField2_ = (bitField2_ & ~0x00400000);
16274  addCgCuts_ = true;
16275  onChanged();
16276  return this;
16277  }
16278 
16279  private boolean addMirCuts_ = true;
16289  @java.lang.Override
16290  public boolean hasAddMirCuts() {
16291  return ((bitField2_ & 0x00800000) != 0);
16292  }
16302  @java.lang.Override
16303  public boolean getAddMirCuts() {
16304  return addMirCuts_;
16305  }
16316  public Builder setAddMirCuts(boolean value) {
16317  bitField2_ |= 0x00800000;
16318  addMirCuts_ = value;
16319  onChanged();
16320  return this;
16321  }
16332  bitField2_ = (bitField2_ & ~0x00800000);
16333  addMirCuts_ = true;
16334  onChanged();
16335  return this;
16336  }
16337 
16338  private int maxAllDiffCutSize_ = 7;
16349  @java.lang.Override
16350  public boolean hasMaxAllDiffCutSize() {
16351  return ((bitField2_ & 0x01000000) != 0);
16352  }
16363  @java.lang.Override
16364  public int getMaxAllDiffCutSize() {
16365  return maxAllDiffCutSize_;
16366  }
16378  public Builder setMaxAllDiffCutSize(int value) {
16379  bitField2_ |= 0x01000000;
16380  maxAllDiffCutSize_ = value;
16381  onChanged();
16382  return this;
16383  }
16395  bitField2_ = (bitField2_ & ~0x01000000);
16396  maxAllDiffCutSize_ = 7;
16397  onChanged();
16398  return this;
16399  }
16400 
16401  private boolean addLinMaxCuts_ = true;
16412  @java.lang.Override
16413  public boolean hasAddLinMaxCuts() {
16414  return ((bitField2_ & 0x02000000) != 0);
16415  }
16426  @java.lang.Override
16427  public boolean getAddLinMaxCuts() {
16428  return addLinMaxCuts_;
16429  }
16441  public Builder setAddLinMaxCuts(boolean value) {
16442  bitField2_ |= 0x02000000;
16443  addLinMaxCuts_ = value;
16444  onChanged();
16445  return this;
16446  }
16458  bitField2_ = (bitField2_ & ~0x02000000);
16459  addLinMaxCuts_ = true;
16460  onChanged();
16461  return this;
16462  }
16463 
16464  private int maxIntegerRoundingScaling_ = 600;
16479  @java.lang.Override
16480  public boolean hasMaxIntegerRoundingScaling() {
16481  return ((bitField2_ & 0x04000000) != 0);
16482  }
16497  @java.lang.Override
16499  return maxIntegerRoundingScaling_;
16500  }
16517  bitField2_ |= 0x04000000;
16518  maxIntegerRoundingScaling_ = value;
16519  onChanged();
16520  return this;
16521  }
16537  bitField2_ = (bitField2_ & ~0x04000000);
16538  maxIntegerRoundingScaling_ = 600;
16539  onChanged();
16540  return this;
16541  }
16542 
16543  private boolean addLpConstraintsLazily_ = true;
16555  @java.lang.Override
16556  public boolean hasAddLpConstraintsLazily() {
16557  return ((bitField2_ & 0x08000000) != 0);
16558  }
16570  @java.lang.Override
16571  public boolean getAddLpConstraintsLazily() {
16572  return addLpConstraintsLazily_;
16573  }
16586  public Builder setAddLpConstraintsLazily(boolean value) {
16587  bitField2_ |= 0x08000000;
16588  addLpConstraintsLazily_ = value;
16589  onChanged();
16590  return this;
16591  }
16604  bitField2_ = (bitField2_ & ~0x08000000);
16605  addLpConstraintsLazily_ = true;
16606  onChanged();
16607  return this;
16608  }
16609 
16610  private double minOrthogonalityForLpConstraints_ = 0.05D;
16623  @java.lang.Override
16625  return ((bitField2_ & 0x10000000) != 0);
16626  }
16639  @java.lang.Override
16641  return minOrthogonalityForLpConstraints_;
16642  }
16657  bitField2_ |= 0x10000000;
16658  minOrthogonalityForLpConstraints_ = value;
16659  onChanged();
16660  return this;
16661  }
16675  bitField2_ = (bitField2_ & ~0x10000000);
16676  minOrthogonalityForLpConstraints_ = 0.05D;
16677  onChanged();
16678  return this;
16679  }
16680 
16681  private int maxCutRoundsAtLevelZero_ = 1;
16690  @java.lang.Override
16691  public boolean hasMaxCutRoundsAtLevelZero() {
16692  return ((bitField2_ & 0x20000000) != 0);
16693  }
16702  @java.lang.Override
16704  return maxCutRoundsAtLevelZero_;
16705  }
16716  bitField2_ |= 0x20000000;
16717  maxCutRoundsAtLevelZero_ = value;
16718  onChanged();
16719  return this;
16720  }
16730  bitField2_ = (bitField2_ & ~0x20000000);
16731  maxCutRoundsAtLevelZero_ = 1;
16732  onChanged();
16733  return this;
16734  }
16735 
16736  private int maxConsecutiveInactiveCount_ = 100;
16747  @java.lang.Override
16749  return ((bitField2_ & 0x40000000) != 0);
16750  }
16761  @java.lang.Override
16763  return maxConsecutiveInactiveCount_;
16764  }
16777  bitField2_ |= 0x40000000;
16778  maxConsecutiveInactiveCount_ = value;
16779  onChanged();
16780  return this;
16781  }
16793  bitField2_ = (bitField2_ & ~0x40000000);
16794  maxConsecutiveInactiveCount_ = 100;
16795  onChanged();
16796  return this;
16797  }
16798 
16799  private double cutMaxActiveCountValue_ = 10000000000D;
16810  @java.lang.Override
16811  public boolean hasCutMaxActiveCountValue() {
16812  return ((bitField2_ & 0x80000000) != 0);
16813  }
16824  @java.lang.Override
16825  public double getCutMaxActiveCountValue() {
16826  return cutMaxActiveCountValue_;
16827  }
16839  public Builder setCutMaxActiveCountValue(double value) {
16840  bitField2_ |= 0x80000000;
16841  cutMaxActiveCountValue_ = value;
16842  onChanged();
16843  return this;
16844  }
16856  bitField2_ = (bitField2_ & ~0x80000000);
16857  cutMaxActiveCountValue_ = 10000000000D;
16858  onChanged();
16859  return this;
16860  }
16861 
16862  private double cutActiveCountDecay_ = 0.8D;
16867  @java.lang.Override
16868  public boolean hasCutActiveCountDecay() {
16869  return ((bitField3_ & 0x00000001) != 0);
16870  }
16875  @java.lang.Override
16876  public double getCutActiveCountDecay() {
16877  return cutActiveCountDecay_;
16878  }
16884  public Builder setCutActiveCountDecay(double value) {
16885  bitField3_ |= 0x00000001;
16886  cutActiveCountDecay_ = value;
16887  onChanged();
16888  return this;
16889  }
16895  bitField3_ = (bitField3_ & ~0x00000001);
16896  cutActiveCountDecay_ = 0.8D;
16897  onChanged();
16898  return this;
16899  }
16900 
16901  private int cutCleanupTarget_ = 1000;
16910  @java.lang.Override
16911  public boolean hasCutCleanupTarget() {
16912  return ((bitField3_ & 0x00000002) != 0);
16913  }
16922  @java.lang.Override
16923  public int getCutCleanupTarget() {
16924  return cutCleanupTarget_;
16925  }
16935  public Builder setCutCleanupTarget(int value) {
16936  bitField3_ |= 0x00000002;
16937  cutCleanupTarget_ = value;
16938  onChanged();
16939  return this;
16940  }
16950  bitField3_ = (bitField3_ & ~0x00000002);
16951  cutCleanupTarget_ = 1000;
16952  onChanged();
16953  return this;
16954  }
16955 
16956  private int newConstraintsBatchSize_ = 50;
16966  @java.lang.Override
16967  public boolean hasNewConstraintsBatchSize() {
16968  return ((bitField3_ & 0x00000004) != 0);
16969  }
16979  @java.lang.Override
16981  return newConstraintsBatchSize_;
16982  }
16994  bitField3_ |= 0x00000004;
16995  newConstraintsBatchSize_ = value;
16996  onChanged();
16997  return this;
16998  }
17009  bitField3_ = (bitField3_ & ~0x00000004);
17010  newConstraintsBatchSize_ = 50;
17011  onChanged();
17012  return this;
17013  }
17014 
17015  private int searchBranching_ = 0;
17020  @java.lang.Override public boolean hasSearchBranching() {
17021  return ((bitField3_ & 0x00000008) != 0);
17022  }
17027  @java.lang.Override
17029  @SuppressWarnings("deprecation")
17031  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
17032  }
17039  if (value == null) {
17040  throw new NullPointerException();
17041  }
17042  bitField3_ |= 0x00000008;
17043  searchBranching_ = value.getNumber();
17044  onChanged();
17045  return this;
17046  }
17052  bitField3_ = (bitField3_ & ~0x00000008);
17053  searchBranching_ = 0;
17054  onChanged();
17055  return this;
17056  }
17057 
17058  private int hintConflictLimit_ = 10;
17067  @java.lang.Override
17068  public boolean hasHintConflictLimit() {
17069  return ((bitField3_ & 0x00000010) != 0);
17070  }
17079  @java.lang.Override
17080  public int getHintConflictLimit() {
17081  return hintConflictLimit_;
17082  }
17092  public Builder setHintConflictLimit(int value) {
17093  bitField3_ |= 0x00000010;
17094  hintConflictLimit_ = value;
17095  onChanged();
17096  return this;
17097  }
17107  bitField3_ = (bitField3_ & ~0x00000010);
17108  hintConflictLimit_ = 10;
17109  onChanged();
17110  return this;
17111  }
17112 
17113  private boolean repairHint_ ;
17125  @java.lang.Override
17126  public boolean hasRepairHint() {
17127  return ((bitField3_ & 0x00000020) != 0);
17128  }
17140  @java.lang.Override
17141  public boolean getRepairHint() {
17142  return repairHint_;
17143  }
17156  public Builder setRepairHint(boolean value) {
17157  bitField3_ |= 0x00000020;
17158  repairHint_ = value;
17159  onChanged();
17160  return this;
17161  }
17174  bitField3_ = (bitField3_ & ~0x00000020);
17175  repairHint_ = false;
17176  onChanged();
17177  return this;
17178  }
17179 
17180  private boolean exploitIntegerLpSolution_ = true;
17192  @java.lang.Override
17193  public boolean hasExploitIntegerLpSolution() {
17194  return ((bitField3_ & 0x00000040) != 0);
17195  }
17207  @java.lang.Override
17208  public boolean getExploitIntegerLpSolution() {
17209  return exploitIntegerLpSolution_;
17210  }
17223  public Builder setExploitIntegerLpSolution(boolean value) {
17224  bitField3_ |= 0x00000040;
17225  exploitIntegerLpSolution_ = value;
17226  onChanged();
17227  return this;
17228  }
17241  bitField3_ = (bitField3_ & ~0x00000040);
17242  exploitIntegerLpSolution_ = true;
17243  onChanged();
17244  return this;
17245  }
17246 
17247  private boolean exploitAllLpSolution_ = true;
17258  @java.lang.Override
17259  public boolean hasExploitAllLpSolution() {
17260  return ((bitField3_ & 0x00000080) != 0);
17261  }
17272  @java.lang.Override
17273  public boolean getExploitAllLpSolution() {
17274  return exploitAllLpSolution_;
17275  }
17287  public Builder setExploitAllLpSolution(boolean value) {
17288  bitField3_ |= 0x00000080;
17289  exploitAllLpSolution_ = value;
17290  onChanged();
17291  return this;
17292  }
17304  bitField3_ = (bitField3_ & ~0x00000080);
17305  exploitAllLpSolution_ = true;
17306  onChanged();
17307  return this;
17308  }
17309 
17310  private boolean exploitBestSolution_ ;
17319  @java.lang.Override
17320  public boolean hasExploitBestSolution() {
17321  return ((bitField3_ & 0x00000100) != 0);
17322  }
17331  @java.lang.Override
17332  public boolean getExploitBestSolution() {
17333  return exploitBestSolution_;
17334  }
17344  public Builder setExploitBestSolution(boolean value) {
17345  bitField3_ |= 0x00000100;
17346  exploitBestSolution_ = value;
17347  onChanged();
17348  return this;
17349  }
17359  bitField3_ = (bitField3_ & ~0x00000100);
17360  exploitBestSolution_ = false;
17361  onChanged();
17362  return this;
17363  }
17364 
17365  private boolean exploitRelaxationSolution_ ;
17376  @java.lang.Override
17377  public boolean hasExploitRelaxationSolution() {
17378  return ((bitField3_ & 0x00000200) != 0);
17379  }
17390  @java.lang.Override
17391  public boolean getExploitRelaxationSolution() {
17392  return exploitRelaxationSolution_;
17393  }
17405  public Builder setExploitRelaxationSolution(boolean value) {
17406  bitField3_ |= 0x00000200;
17407  exploitRelaxationSolution_ = value;
17408  onChanged();
17409  return this;
17410  }
17422  bitField3_ = (bitField3_ & ~0x00000200);
17423  exploitRelaxationSolution_ = false;
17424  onChanged();
17425  return this;
17426  }
17427 
17428  private boolean exploitObjective_ = true;
17438  @java.lang.Override
17439  public boolean hasExploitObjective() {
17440  return ((bitField3_ & 0x00000400) != 0);
17441  }
17451  @java.lang.Override
17452  public boolean getExploitObjective() {
17453  return exploitObjective_;
17454  }
17465  public Builder setExploitObjective(boolean value) {
17466  bitField3_ |= 0x00000400;
17467  exploitObjective_ = value;
17468  onChanged();
17469  return this;
17470  }
17481  bitField3_ = (bitField3_ & ~0x00000400);
17482  exploitObjective_ = true;
17483  onChanged();
17484  return this;
17485  }
17486 
17487  private long probingPeriodAtRoot_ ;
17498  @java.lang.Override
17499  public boolean hasProbingPeriodAtRoot() {
17500  return ((bitField3_ & 0x00000800) != 0);
17501  }
17512  @java.lang.Override
17513  public long getProbingPeriodAtRoot() {
17514  return probingPeriodAtRoot_;
17515  }
17527  public Builder setProbingPeriodAtRoot(long value) {
17528  bitField3_ |= 0x00000800;
17529  probingPeriodAtRoot_ = value;
17530  onChanged();
17531  return this;
17532  }
17544  bitField3_ = (bitField3_ & ~0x00000800);
17545  probingPeriodAtRoot_ = 0L;
17546  onChanged();
17547  return this;
17548  }
17549 
17550  private long pseudoCostReliabilityThreshold_ = 100L;
17560  @java.lang.Override
17562  return ((bitField3_ & 0x00001000) != 0);
17563  }
17573  @java.lang.Override
17575  return pseudoCostReliabilityThreshold_;
17576  }
17588  bitField3_ |= 0x00001000;
17589  pseudoCostReliabilityThreshold_ = value;
17590  onChanged();
17591  return this;
17592  }
17603  bitField3_ = (bitField3_ & ~0x00001000);
17604  pseudoCostReliabilityThreshold_ = 100L;
17605  onChanged();
17606  return this;
17607  }
17608 
17609  private boolean optimizeWithCore_ ;
17621  @java.lang.Override
17622  public boolean hasOptimizeWithCore() {
17623  return ((bitField3_ & 0x00002000) != 0);
17624  }
17636  @java.lang.Override
17637  public boolean getOptimizeWithCore() {
17638  return optimizeWithCore_;
17639  }
17652  public Builder setOptimizeWithCore(boolean value) {
17653  bitField3_ |= 0x00002000;
17654  optimizeWithCore_ = value;
17655  onChanged();
17656  return this;
17657  }
17670  bitField3_ = (bitField3_ & ~0x00002000);
17671  optimizeWithCore_ = false;
17672  onChanged();
17673  return this;
17674  }
17675 
17676  private int binarySearchNumConflicts_ = -1;
17688  @java.lang.Override
17689  public boolean hasBinarySearchNumConflicts() {
17690  return ((bitField3_ & 0x00004000) != 0);
17691  }
17703  @java.lang.Override
17705  return binarySearchNumConflicts_;
17706  }
17720  bitField3_ |= 0x00004000;
17721  binarySearchNumConflicts_ = value;
17722  onChanged();
17723  return this;
17724  }
17737  bitField3_ = (bitField3_ & ~0x00004000);
17738  binarySearchNumConflicts_ = -1;
17739  onChanged();
17740  return this;
17741  }
17742 
17743  private boolean optimizeWithMaxHs_ ;
17757  @java.lang.Override
17758  public boolean hasOptimizeWithMaxHs() {
17759  return ((bitField3_ & 0x00008000) != 0);
17760  }
17774  @java.lang.Override
17775  public boolean getOptimizeWithMaxHs() {
17776  return optimizeWithMaxHs_;
17777  }
17792  public Builder setOptimizeWithMaxHs(boolean value) {
17793  bitField3_ |= 0x00008000;
17794  optimizeWithMaxHs_ = value;
17795  onChanged();
17796  return this;
17797  }
17812  bitField3_ = (bitField3_ & ~0x00008000);
17813  optimizeWithMaxHs_ = false;
17814  onChanged();
17815  return this;
17816  }
17817 
17818  private boolean enumerateAllSolutions_ ;
17832  @java.lang.Override
17833  public boolean hasEnumerateAllSolutions() {
17834  return ((bitField3_ & 0x00010000) != 0);
17835  }
17849  @java.lang.Override
17850  public boolean getEnumerateAllSolutions() {
17851  return enumerateAllSolutions_;
17852  }
17867  public Builder setEnumerateAllSolutions(boolean value) {
17868  bitField3_ |= 0x00010000;
17869  enumerateAllSolutions_ = value;
17870  onChanged();
17871  return this;
17872  }
17887  bitField3_ = (bitField3_ & ~0x00010000);
17888  enumerateAllSolutions_ = false;
17889  onChanged();
17890  return this;
17891  }
17892 
17893  private boolean fillTightenedDomainsInResponse_ ;
17906  @java.lang.Override
17908  return ((bitField3_ & 0x00020000) != 0);
17909  }
17922  @java.lang.Override
17924  return fillTightenedDomainsInResponse_;
17925  }
17940  bitField3_ |= 0x00020000;
17941  fillTightenedDomainsInResponse_ = value;
17942  onChanged();
17943  return this;
17944  }
17958  bitField3_ = (bitField3_ & ~0x00020000);
17959  fillTightenedDomainsInResponse_ = false;
17960  onChanged();
17961  return this;
17962  }
17963 
17964  private boolean instantiateAllVariables_ = true;
17974  @java.lang.Override
17975  public boolean hasInstantiateAllVariables() {
17976  return ((bitField3_ & 0x00040000) != 0);
17977  }
17987  @java.lang.Override
17988  public boolean getInstantiateAllVariables() {
17989  return instantiateAllVariables_;
17990  }
18001  public Builder setInstantiateAllVariables(boolean value) {
18002  bitField3_ |= 0x00040000;
18003  instantiateAllVariables_ = value;
18004  onChanged();
18005  return this;
18006  }
18017  bitField3_ = (bitField3_ & ~0x00040000);
18018  instantiateAllVariables_ = true;
18019  onChanged();
18020  return this;
18021  }
18022 
18023  private boolean autoDetectGreaterThanAtLeastOneOf_ = true;
18035  @java.lang.Override
18037  return ((bitField3_ & 0x00080000) != 0);
18038  }
18050  @java.lang.Override
18052  return autoDetectGreaterThanAtLeastOneOf_;
18053  }
18067  bitField3_ |= 0x00080000;
18068  autoDetectGreaterThanAtLeastOneOf_ = value;
18069  onChanged();
18070  return this;
18071  }
18084  bitField3_ = (bitField3_ & ~0x00080000);
18085  autoDetectGreaterThanAtLeastOneOf_ = true;
18086  onChanged();
18087  return this;
18088  }
18089 
18090  private boolean stopAfterFirstSolution_ ;
18099  @java.lang.Override
18100  public boolean hasStopAfterFirstSolution() {
18101  return ((bitField3_ & 0x00100000) != 0);
18102  }
18111  @java.lang.Override
18112  public boolean getStopAfterFirstSolution() {
18113  return stopAfterFirstSolution_;
18114  }
18124  public Builder setStopAfterFirstSolution(boolean value) {
18125  bitField3_ |= 0x00100000;
18126  stopAfterFirstSolution_ = value;
18127  onChanged();
18128  return this;
18129  }
18139  bitField3_ = (bitField3_ & ~0x00100000);
18140  stopAfterFirstSolution_ = false;
18141  onChanged();
18142  return this;
18143  }
18144 
18145  private boolean stopAfterPresolve_ ;
18155  @java.lang.Override
18156  public boolean hasStopAfterPresolve() {
18157  return ((bitField3_ & 0x00200000) != 0);
18158  }
18168  @java.lang.Override
18169  public boolean getStopAfterPresolve() {
18170  return stopAfterPresolve_;
18171  }
18182  public Builder setStopAfterPresolve(boolean value) {
18183  bitField3_ |= 0x00200000;
18184  stopAfterPresolve_ = value;
18185  onChanged();
18186  return this;
18187  }
18198  bitField3_ = (bitField3_ & ~0x00200000);
18199  stopAfterPresolve_ = false;
18200  onChanged();
18201  return this;
18202  }
18203 
18204  private int numSearchWorkers_ = 1;
18218  @java.lang.Override
18219  public boolean hasNumSearchWorkers() {
18220  return ((bitField3_ & 0x00400000) != 0);
18221  }
18235  @java.lang.Override
18236  public int getNumSearchWorkers() {
18237  return numSearchWorkers_;
18238  }
18253  public Builder setNumSearchWorkers(int value) {
18254  bitField3_ |= 0x00400000;
18255  numSearchWorkers_ = value;
18256  onChanged();
18257  return this;
18258  }
18273  bitField3_ = (bitField3_ & ~0x00400000);
18274  numSearchWorkers_ = 1;
18275  onChanged();
18276  return this;
18277  }
18278 
18279  private boolean interleaveSearch_ ;
18292  @java.lang.Override
18293  public boolean hasInterleaveSearch() {
18294  return ((bitField3_ & 0x00800000) != 0);
18295  }
18308  @java.lang.Override
18309  public boolean getInterleaveSearch() {
18310  return interleaveSearch_;
18311  }
18325  public Builder setInterleaveSearch(boolean value) {
18326  bitField3_ |= 0x00800000;
18327  interleaveSearch_ = value;
18328  onChanged();
18329  return this;
18330  }
18344  bitField3_ = (bitField3_ & ~0x00800000);
18345  interleaveSearch_ = false;
18346  onChanged();
18347  return this;
18348  }
18349 
18350  private int interleaveBatchSize_ = 1;
18355  @java.lang.Override
18356  public boolean hasInterleaveBatchSize() {
18357  return ((bitField3_ & 0x01000000) != 0);
18358  }
18363  @java.lang.Override
18364  public int getInterleaveBatchSize() {
18365  return interleaveBatchSize_;
18366  }
18372  public Builder setInterleaveBatchSize(int value) {
18373  bitField3_ |= 0x01000000;
18374  interleaveBatchSize_ = value;
18375  onChanged();
18376  return this;
18377  }
18383  bitField3_ = (bitField3_ & ~0x01000000);
18384  interleaveBatchSize_ = 1;
18385  onChanged();
18386  return this;
18387  }
18388 
18389  private boolean reduceMemoryUsageInInterleaveMode_ ;
18398  @java.lang.Override
18400  return ((bitField3_ & 0x02000000) != 0);
18401  }
18410  @java.lang.Override
18412  return reduceMemoryUsageInInterleaveMode_;
18413  }
18424  bitField3_ |= 0x02000000;
18425  reduceMemoryUsageInInterleaveMode_ = value;
18426  onChanged();
18427  return this;
18428  }
18438  bitField3_ = (bitField3_ & ~0x02000000);
18439  reduceMemoryUsageInInterleaveMode_ = false;
18440  onChanged();
18441  return this;
18442  }
18443 
18444  private boolean shareObjectiveBounds_ = true;
18453  @java.lang.Override
18454  public boolean hasShareObjectiveBounds() {
18455  return ((bitField3_ & 0x04000000) != 0);
18456  }
18465  @java.lang.Override
18466  public boolean getShareObjectiveBounds() {
18467  return shareObjectiveBounds_;
18468  }
18478  public Builder setShareObjectiveBounds(boolean value) {
18479  bitField3_ |= 0x04000000;
18480  shareObjectiveBounds_ = value;
18481  onChanged();
18482  return this;
18483  }
18493  bitField3_ = (bitField3_ & ~0x04000000);
18494  shareObjectiveBounds_ = true;
18495  onChanged();
18496  return this;
18497  }
18498 
18499  private boolean shareLevelZeroBounds_ = true;
18508  @java.lang.Override
18509  public boolean hasShareLevelZeroBounds() {
18510  return ((bitField3_ & 0x08000000) != 0);
18511  }
18520  @java.lang.Override
18521  public boolean getShareLevelZeroBounds() {
18522  return shareLevelZeroBounds_;
18523  }
18533  public Builder setShareLevelZeroBounds(boolean value) {
18534  bitField3_ |= 0x08000000;
18535  shareLevelZeroBounds_ = value;
18536  onChanged();
18537  return this;
18538  }
18548  bitField3_ = (bitField3_ & ~0x08000000);
18549  shareLevelZeroBounds_ = true;
18550  onChanged();
18551  return this;
18552  }
18553 
18554  private boolean useLnsOnly_ ;
18563  @java.lang.Override
18564  public boolean hasUseLnsOnly() {
18565  return ((bitField3_ & 0x10000000) != 0);
18566  }
18575  @java.lang.Override
18576  public boolean getUseLnsOnly() {
18577  return useLnsOnly_;
18578  }
18588  public Builder setUseLnsOnly(boolean value) {
18589  bitField3_ |= 0x10000000;
18590  useLnsOnly_ = value;
18591  onChanged();
18592  return this;
18593  }
18603  bitField3_ = (bitField3_ & ~0x10000000);
18604  useLnsOnly_ = false;
18605  onChanged();
18606  return this;
18607  }
18608 
18609  private boolean lnsFocusOnDecisionVariables_ ;
18614  @java.lang.Override
18616  return ((bitField3_ & 0x20000000) != 0);
18617  }
18622  @java.lang.Override
18624  return lnsFocusOnDecisionVariables_;
18625  }
18631  public Builder setLnsFocusOnDecisionVariables(boolean value) {
18632  bitField3_ |= 0x20000000;
18633  lnsFocusOnDecisionVariables_ = value;
18634  onChanged();
18635  return this;
18636  }
18642  bitField3_ = (bitField3_ & ~0x20000000);
18643  lnsFocusOnDecisionVariables_ = false;
18644  onChanged();
18645  return this;
18646  }
18647 
18648  private boolean useRinsLns_ = true;
18657  @java.lang.Override
18658  public boolean hasUseRinsLns() {
18659  return ((bitField3_ & 0x40000000) != 0);
18660  }
18669  @java.lang.Override
18670  public boolean getUseRinsLns() {
18671  return useRinsLns_;
18672  }
18682  public Builder setUseRinsLns(boolean value) {
18683  bitField3_ |= 0x40000000;
18684  useRinsLns_ = value;
18685  onChanged();
18686  return this;
18687  }
18697  bitField3_ = (bitField3_ & ~0x40000000);
18698  useRinsLns_ = true;
18699  onChanged();
18700  return this;
18701  }
18702 
18703  private boolean useFeasibilityPump_ = true;
18712  @java.lang.Override
18713  public boolean hasUseFeasibilityPump() {
18714  return ((bitField3_ & 0x80000000) != 0);
18715  }
18724  @java.lang.Override
18725  public boolean getUseFeasibilityPump() {
18726  return useFeasibilityPump_;
18727  }
18737  public Builder setUseFeasibilityPump(boolean value) {
18738  bitField3_ |= 0x80000000;
18739  useFeasibilityPump_ = value;
18740  onChanged();
18741  return this;
18742  }
18752  bitField3_ = (bitField3_ & ~0x80000000);
18753  useFeasibilityPump_ = true;
18754  onChanged();
18755  return this;
18756  }
18757 
18758  private int fpRounding_ = 2;
18763  @java.lang.Override public boolean hasFpRounding() {
18764  return ((bitField4_ & 0x00000001) != 0);
18765  }
18770  @java.lang.Override
18772  @SuppressWarnings("deprecation")
18774  return result == null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
18775  }
18782  if (value == null) {
18783  throw new NullPointerException();
18784  }
18785  bitField4_ |= 0x00000001;
18786  fpRounding_ = value.getNumber();
18787  onChanged();
18788  return this;
18789  }
18795  bitField4_ = (bitField4_ & ~0x00000001);
18796  fpRounding_ = 2;
18797  onChanged();
18798  return this;
18799  }
18800 
18801  private boolean useRelaxationLns_ ;
18811  @java.lang.Override
18812  public boolean hasUseRelaxationLns() {
18813  return ((bitField4_ & 0x00000002) != 0);
18814  }
18824  @java.lang.Override
18825  public boolean getUseRelaxationLns() {
18826  return useRelaxationLns_;
18827  }
18838  public Builder setUseRelaxationLns(boolean value) {
18839  bitField4_ |= 0x00000002;
18840  useRelaxationLns_ = value;
18841  onChanged();
18842  return this;
18843  }
18854  bitField4_ = (bitField4_ & ~0x00000002);
18855  useRelaxationLns_ = false;
18856  onChanged();
18857  return this;
18858  }
18859 
18860  private boolean diversifyLnsParams_ ;
18869  @java.lang.Override
18870  public boolean hasDiversifyLnsParams() {
18871  return ((bitField4_ & 0x00000004) != 0);
18872  }
18881  @java.lang.Override
18882  public boolean getDiversifyLnsParams() {
18883  return diversifyLnsParams_;
18884  }
18894  public Builder setDiversifyLnsParams(boolean value) {
18895  bitField4_ |= 0x00000004;
18896  diversifyLnsParams_ = value;
18897  onChanged();
18898  return this;
18899  }
18909  bitField4_ = (bitField4_ & ~0x00000004);
18910  diversifyLnsParams_ = false;
18911  onChanged();
18912  return this;
18913  }
18914 
18915  private boolean randomizeSearch_ ;
18924  @java.lang.Override
18925  public boolean hasRandomizeSearch() {
18926  return ((bitField4_ & 0x00000008) != 0);
18927  }
18936  @java.lang.Override
18937  public boolean getRandomizeSearch() {
18938  return randomizeSearch_;
18939  }
18949  public Builder setRandomizeSearch(boolean value) {
18950  bitField4_ |= 0x00000008;
18951  randomizeSearch_ = value;
18952  onChanged();
18953  return this;
18954  }
18964  bitField4_ = (bitField4_ & ~0x00000008);
18965  randomizeSearch_ = false;
18966  onChanged();
18967  return this;
18968  }
18969 
18970  private long searchRandomizationTolerance_ ;
18985  @java.lang.Override
18987  return ((bitField4_ & 0x00000010) != 0);
18988  }
19003  @java.lang.Override
19005  return searchRandomizationTolerance_;
19006  }
19023  bitField4_ |= 0x00000010;
19024  searchRandomizationTolerance_ = value;
19025  onChanged();
19026  return this;
19027  }
19043  bitField4_ = (bitField4_ & ~0x00000010);
19044  searchRandomizationTolerance_ = 0L;
19045  onChanged();
19046  return this;
19047  }
19048 
19049  private boolean useOptionalVariables_ = true;
19060  @java.lang.Override
19061  public boolean hasUseOptionalVariables() {
19062  return ((bitField4_ & 0x00000020) != 0);
19063  }
19074  @java.lang.Override
19075  public boolean getUseOptionalVariables() {
19076  return useOptionalVariables_;
19077  }
19089  public Builder setUseOptionalVariables(boolean value) {
19090  bitField4_ |= 0x00000020;
19091  useOptionalVariables_ = value;
19092  onChanged();
19093  return this;
19094  }
19106  bitField4_ = (bitField4_ & ~0x00000020);
19107  useOptionalVariables_ = true;
19108  onChanged();
19109  return this;
19110  }
19111 
19112  private boolean useExactLpReason_ = true;
19124  @java.lang.Override
19125  public boolean hasUseExactLpReason() {
19126  return ((bitField4_ & 0x00000040) != 0);
19127  }
19139  @java.lang.Override
19140  public boolean getUseExactLpReason() {
19141  return useExactLpReason_;
19142  }
19155  public Builder setUseExactLpReason(boolean value) {
19156  bitField4_ |= 0x00000040;
19157  useExactLpReason_ = value;
19158  onChanged();
19159  return this;
19160  }
19173  bitField4_ = (bitField4_ & ~0x00000040);
19174  useExactLpReason_ = true;
19175  onChanged();
19176  return this;
19177  }
19178 
19179  private boolean useBranchingInLp_ ;
19190  @java.lang.Override
19191  public boolean hasUseBranchingInLp() {
19192  return ((bitField4_ & 0x00000080) != 0);
19193  }
19204  @java.lang.Override
19205  public boolean getUseBranchingInLp() {
19206  return useBranchingInLp_;
19207  }
19219  public Builder setUseBranchingInLp(boolean value) {
19220  bitField4_ |= 0x00000080;
19221  useBranchingInLp_ = value;
19222  onChanged();
19223  return this;
19224  }
19236  bitField4_ = (bitField4_ & ~0x00000080);
19237  useBranchingInLp_ = false;
19238  onChanged();
19239  return this;
19240  }
19241 
19242  private boolean useCombinedNoOverlap_ ;
19253  @java.lang.Override
19254  public boolean hasUseCombinedNoOverlap() {
19255  return ((bitField4_ & 0x00000100) != 0);
19256  }
19267  @java.lang.Override
19268  public boolean getUseCombinedNoOverlap() {
19269  return useCombinedNoOverlap_;
19270  }
19282  public Builder setUseCombinedNoOverlap(boolean value) {
19283  bitField4_ |= 0x00000100;
19284  useCombinedNoOverlap_ = value;
19285  onChanged();
19286  return this;
19287  }
19299  bitField4_ = (bitField4_ & ~0x00000100);
19300  useCombinedNoOverlap_ = false;
19301  onChanged();
19302  return this;
19303  }
19304 
19305  private boolean catchSigintSignal_ = true;
19316  @java.lang.Override
19317  public boolean hasCatchSigintSignal() {
19318  return ((bitField4_ & 0x00000200) != 0);
19319  }
19330  @java.lang.Override
19331  public boolean getCatchSigintSignal() {
19332  return catchSigintSignal_;
19333  }
19345  public Builder setCatchSigintSignal(boolean value) {
19346  bitField4_ |= 0x00000200;
19347  catchSigintSignal_ = value;
19348  onChanged();
19349  return this;
19350  }
19362  bitField4_ = (bitField4_ & ~0x00000200);
19363  catchSigintSignal_ = true;
19364  onChanged();
19365  return this;
19366  }
19367 
19368  private boolean useImpliedBounds_ = true;
19379  @java.lang.Override
19380  public boolean hasUseImpliedBounds() {
19381  return ((bitField4_ & 0x00000400) != 0);
19382  }
19393  @java.lang.Override
19394  public boolean getUseImpliedBounds() {
19395  return useImpliedBounds_;
19396  }
19408  public Builder setUseImpliedBounds(boolean value) {
19409  bitField4_ |= 0x00000400;
19410  useImpliedBounds_ = value;
19411  onChanged();
19412  return this;
19413  }
19425  bitField4_ = (bitField4_ & ~0x00000400);
19426  useImpliedBounds_ = true;
19427  onChanged();
19428  return this;
19429  }
19430 
19431  private double mipMaxBound_ = 10000000D;
19442  @java.lang.Override
19443  public boolean hasMipMaxBound() {
19444  return ((bitField4_ & 0x00000800) != 0);
19445  }
19456  @java.lang.Override
19457  public double getMipMaxBound() {
19458  return mipMaxBound_;
19459  }
19471  public Builder setMipMaxBound(double value) {
19472  bitField4_ |= 0x00000800;
19473  mipMaxBound_ = value;
19474  onChanged();
19475  return this;
19476  }
19488  bitField4_ = (bitField4_ & ~0x00000800);
19489  mipMaxBound_ = 10000000D;
19490  onChanged();
19491  return this;
19492  }
19493 
19494  private double mipVarScaling_ = 1D;
19505  @java.lang.Override
19506  public boolean hasMipVarScaling() {
19507  return ((bitField4_ & 0x00001000) != 0);
19508  }
19519  @java.lang.Override
19520  public double getMipVarScaling() {
19521  return mipVarScaling_;
19522  }
19534  public Builder setMipVarScaling(double value) {
19535  bitField4_ |= 0x00001000;
19536  mipVarScaling_ = value;
19537  onChanged();
19538  return this;
19539  }
19551  bitField4_ = (bitField4_ & ~0x00001000);
19552  mipVarScaling_ = 1D;
19553  onChanged();
19554  return this;
19555  }
19556 
19557  private boolean mipAutomaticallyScaleVariables_ = true;
19570  @java.lang.Override
19572  return ((bitField4_ & 0x00002000) != 0);
19573  }
19586  @java.lang.Override
19588  return mipAutomaticallyScaleVariables_;
19589  }
19604  bitField4_ |= 0x00002000;
19605  mipAutomaticallyScaleVariables_ = value;
19606  onChanged();
19607  return this;
19608  }
19622  bitField4_ = (bitField4_ & ~0x00002000);
19623  mipAutomaticallyScaleVariables_ = true;
19624  onChanged();
19625  return this;
19626  }
19627 
19628  private double mipWantedPrecision_ = 1e-06D;
19645  @java.lang.Override
19646  public boolean hasMipWantedPrecision() {
19647  return ((bitField4_ & 0x00004000) != 0);
19648  }
19665  @java.lang.Override
19666  public double getMipWantedPrecision() {
19667  return mipWantedPrecision_;
19668  }
19686  public Builder setMipWantedPrecision(double value) {
19687  bitField4_ |= 0x00004000;
19688  mipWantedPrecision_ = value;
19689  onChanged();
19690  return this;
19691  }
19709  bitField4_ = (bitField4_ & ~0x00004000);
19710  mipWantedPrecision_ = 1e-06D;
19711  onChanged();
19712  return this;
19713  }
19714 
19715  private int mipMaxActivityExponent_ = 53;
19730  @java.lang.Override
19731  public boolean hasMipMaxActivityExponent() {
19732  return ((bitField4_ & 0x00008000) != 0);
19733  }
19748  @java.lang.Override
19750  return mipMaxActivityExponent_;
19751  }
19768  bitField4_ |= 0x00008000;
19769  mipMaxActivityExponent_ = value;
19770  onChanged();
19771  return this;
19772  }
19788  bitField4_ = (bitField4_ & ~0x00008000);
19789  mipMaxActivityExponent_ = 53;
19790  onChanged();
19791  return this;
19792  }
19793 
19794  private double mipCheckPrecision_ = 0.0001D;
19806  @java.lang.Override
19807  public boolean hasMipCheckPrecision() {
19808  return ((bitField4_ & 0x00010000) != 0);
19809  }
19821  @java.lang.Override
19822  public double getMipCheckPrecision() {
19823  return mipCheckPrecision_;
19824  }
19837  public Builder setMipCheckPrecision(double value) {
19838  bitField4_ |= 0x00010000;
19839  mipCheckPrecision_ = value;
19840  onChanged();
19841  return this;
19842  }
19855  bitField4_ = (bitField4_ & ~0x00010000);
19856  mipCheckPrecision_ = 0.0001D;
19857  onChanged();
19858  return this;
19859  }
19860  @java.lang.Override
19862  final com.google.protobuf.UnknownFieldSet unknownFields) {
19863  return super.setUnknownFields(unknownFields);
19864  }
19865 
19866  @java.lang.Override
19868  final com.google.protobuf.UnknownFieldSet unknownFields) {
19869  return super.mergeUnknownFields(unknownFields);
19870  }
19871 
19872 
19873  // @@protoc_insertion_point(builder_scope:operations_research.sat.SatParameters)
19874  }
19875 
19876  // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
19877  private static final com.google.ortools.sat.SatParameters DEFAULT_INSTANCE;
19878  static {
19879  DEFAULT_INSTANCE = new com.google.ortools.sat.SatParameters();
19880  }
19881 
19883  return DEFAULT_INSTANCE;
19884  }
19885 
19886  @java.lang.Deprecated public static final com.google.protobuf.Parser<SatParameters>
19887  PARSER = new com.google.protobuf.AbstractParser<SatParameters>() {
19888  @java.lang.Override
19889  public SatParameters parsePartialFrom(
19890  com.google.protobuf.CodedInputStream input,
19891  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
19892  throws com.google.protobuf.InvalidProtocolBufferException {
19893  return new SatParameters(input, extensionRegistry);
19894  }
19895  };
19896 
19897  public static com.google.protobuf.Parser<SatParameters> parser() {
19898  return PARSER;
19899  }
19900 
19901  @java.lang.Override
19902  public com.google.protobuf.Parser<SatParameters> getParserForType() {
19903  return PARSER;
19904  }
19905 
19906  @java.lang.Override
19908  return DEFAULT_INSTANCE;
19909  }
19910 
19911 }
19912 
static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER
static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER
static final int REDUCE_MEMORY_USAGE_IN_INTERLEAVE_MODE_FIELD_NUMBER
.lang.Override final boolean isInitialized()
.lang.Override double getRandomPolarityRatio()
Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value)
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean hasCatchSigintSignal()
static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER
.lang.Override boolean getShareObjectiveBounds()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override boolean getMinimizeReductionDuringPbResolution()
static final int USE_RINS_LNS_FIELD_NUMBER
static ClauseProtection forNumber(int value)
.lang.Override boolean getMinimizeReductionDuringPbResolution()
Builder setMaxMemoryInMb(long value)
.lang.Override boolean hasUseImpliedBounds()
.lang.Override boolean hasExploitAllLpSolution()
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override boolean hasAddCgCuts()
java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER
Builder setCutMaxActiveCountValue(double value)
.lang.Override int getMipMaxActivityExponent()
Builder setUsePhaseSaving(boolean value)
.lang.Override boolean getRepairHint()
.lang.Override boolean getInterleaveSearch()
.lang.Override boolean getUsePrecedencesInDisjunctiveConstraint()
NO_BINARY_MINIMIZATION
NO_BINARY_MINIMIZATION = 0;
.lang.Override int getPresolveBveClauseWeight()
Builder clearExpandAutomatonConstraints()
static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER
Builder clearMinOrthogonalityForLpConstraints()
.lang.Override boolean getUseLnsOnly()
final int getNumber()
.lang.Override boolean getCountAssumptionLevelsInLbd()
.lang.Override boolean hasRandomizeSearch()
static BinaryMinizationAlgorithm forNumber(int value)
Builder setDiversifyLnsParams(boolean value)
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
.lang.Override boolean hasOptimizeWithMaxHs()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder clearClauseCleanupTarget()
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override boolean hasDiversifyLnsParams()
Builder clearAddCgCuts()
.lang.Override boolean hasClauseActivityDecay()
.lang.Override int getBooleanEncodingLevel()
.lang.Override boolean getShareLevelZeroBounds()
static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER
Builder clearCutCleanupTarget()
.lang.Override boolean hasUseExactLpReason()
Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value)
.lang.Override boolean hasRandomSeed()
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
.lang.Override boolean hasPresolveBlockedClause()
.lang.Override boolean hasUseCombinedNoOverlap()
.lang.Override boolean hasStopAfterFirstSolution()
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setPseudoCostReliabilityThreshold(long value)
static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setMergeNoOverlapWorkLimit(double value)
static final int ADD_MIR_CUTS_FIELD_NUMBER
Builder setUseRinsLns(boolean value)
Builder clearMipVarScaling()
static final int AUTO_DETECT_GREATER_THAN_AT_LEAST_ONE_OF_FIELD_NUMBER
.lang.Override int getLinearizationLevel()
.lang.Override boolean hasExploitRelaxationSolution()
.lang.Override boolean hasMaxMemoryInMb()
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
.lang.Override boolean hasMaxDeterministicTime()
Builder setNumSearchWorkers(int value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
Builder clearUseRinsLns()
static final int FIND_MULTIPLE_CORES_FIELD_NUMBER
.lang.Override double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean getInterleaveSearch()
static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER
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()
.lang.Override boolean getInstantiateAllVariables()
.lang.Override boolean getCatchSigintSignal()
.lang.Override boolean getLogSearchProgress()
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
final int getNumber()
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER
Builder clearClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER
static final int COVER_OPTIMIZATION_FIELD_NUMBER
final int getNumber()
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
Builder setCutCleanupTarget(int value)
.lang.Override double getCutMaxActiveCountValue()
.lang.Override boolean hasCutCleanupTarget()
Builder setMaxIntegerRoundingScaling(int value)
.lang.Override boolean hasFindMultipleCores()
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder clearRestartRunningWindowSize()
.lang.Override boolean getUseOptionalVariables()
static final int SUBSUMPTION_DURING_CONFLICT_ANALYSIS_FIELD_NUMBER
static final int MIP_CHECK_PRECISION_FIELD_NUMBER
.lang.Override boolean getUseFeasibilityPump()
Builder setAddKnapsackCuts(boolean value)
.lang.Override boolean getMaxSatReverseAssumptionOrder()
.lang.Override boolean getUseOptionalVariables()
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasPresolveProbingDeterministicTimeLimit()
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
static final int RANDOMIZE_SEARCH_FIELD_NUMBER
EXPERIMENTAL_BINARY_MINIMIZATION
EXPERIMENTAL_BINARY_MINIMIZATION = 3;
.lang.Override boolean getExploitObjective()
.lang.Override long getPseudoCostReliabilityThreshold()
.lang.Override double getMipWantedPrecision()
.lang.Override boolean getMinimizeCore()
.lang.Override int getRestartAlgorithmsCount()
POLARITY_RANDOM
POLARITY_RANDOM = 2;
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override int getPresolveBvaThreshold()
.lang.Override boolean getStopAfterPresolve()
Builder setCpModelMaxNumPresolveOperations(int value)
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean getCpModelPostsolveWithFullSolver()
STRATIFICATION_ASCENT
final int getNumber()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasMipMaxBound()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean getPresolveBlockedClause()
.lang.Override boolean hasUseBlockingRestart()
.lang.Override boolean hasMaxDeterministicTime()
Builder clearRestartPeriod()
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Deprecated static FPRoundingMethod valueOf(int value)
.lang.Override int getHintConflictLimit()
Builder setExploitAllLpSolution(boolean value)
Builder setMaxSatReverseAssumptionOrder(boolean value)
Builder setCpModelUseSatPresolve(boolean value)
.lang.Override int getCutCleanupTarget()
.lang.Override boolean getExploitAllLpSolution()
final int getNumber()
Builder clearRestartAlgorithms()
Builder setMipMaxActivityExponent(int value)
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override int getMaxPresolveIterations()
Builder clearBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override int getRestartPeriod()
.lang.Override long getMaxNumberOfConflicts()
Builder setMaxCutRoundsAtLevelZero(int value)
Builder clearNewConstraintsBatchSize()
.lang.Override Builder clear()
static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER
Builder clearLogSearchProgress()
Builder setAutoDetectGreaterThanAtLeastOneOf(boolean value)
.lang.Override boolean hasPresolveUseBva()
.lang.Override boolean getEnumerateAllSolutions()
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasRandomPolarityRatio()
Builder clearDiversifyLnsParams()
.lang.Override double getMinOrthogonalityForLpConstraints()
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean hasRandomizeSearch()
.lang.Override int getRestartRunningWindowSize()
.lang.Override com.google.ortools.sat.SatParameters.FPRoundingMethod getFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override int getMaxPresolveIterations()
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
Builder clearMinimizeWithPropagationRestartPeriod()
Builder clearMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder clearMipAutomaticallyScaleVariables()
Builder setSearchRandomizationTolerance(long value)
static final int INTERLEAVE_SEARCH_FIELD_NUMBER
.lang.Override boolean hasLinearizationLevel()
com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder setLnsFocusOnDecisionVariables(boolean value)
optional bool lns_focus_on_decision_variables = 105 [default = false];
static final int RESTART_ALGORITHMS_FIELD_NUMBER
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER
.lang.Override boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER
.lang.Override boolean hasMaxPresolveIterations()
Builder setReduceMemoryUsageInInterleaveMode(boolean value)
.lang.Override boolean hasPresolveBveClauseWeight()
.lang.Deprecated static ClauseOrdering valueOf(int value)
static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER
Builder setOptimizeWithCore(boolean value)
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
Builder setUseImpliedBounds(boolean value)
static final int MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER
Builder setMaxConsecutiveInactiveCount(int value)
static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER
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 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 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
static MaxSatAssumptionOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean hasClauseCleanupTarget()
.lang.Override double getGlucoseMaxDecay()
.lang.Override boolean getUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
.lang.Override boolean hasRepairHint()
.lang.Override boolean hasUseCombinedNoOverlap()
.lang.Override boolean getUseExactLpReason()
.lang.Override boolean getUseLnsOnly()
.lang.Override boolean hasUseBlockingRestart()
.lang.Deprecated static BinaryMinizationAlgorithm valueOf(int value)
.lang.Override com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasUseErwaHeuristic()
Builder setStopAfterFirstSolution(boolean value)
CLAUSE_ACTIVITY
ORDER_ASSUMPTION_BY_WEIGHT
ORDER_ASSUMPTION_BY_WEIGHT = 2;
.lang.Override double getVariableActivityDecay()
Builder clearMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean getAddLinMaxCuts()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean getCpModelUseSatPresolve()
static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER
PROTECTION_LBD
static final int MINIMIZE_CORE_FIELD_NUMBER
Builder clearMaxNumberOfConflicts()
static final int USE_BRANCHING_IN_LP_FIELD_NUMBER
.lang.Override int getMipMaxActivityExponent()
.lang.Override boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER
Builder setUseFeasibilityPump(boolean value)
boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override boolean hasMipWantedPrecision()
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER
.lang.Override boolean hasMaxCutRoundsAtLevelZero()
.lang.Override boolean getUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
static MaxSatAssumptionOrder forNumber(int value)
Builder setPbCleanupIncrement(int value)
static final int MINIMIZE_WITH_PROPAGATION_NUM_DECISIONS_FIELD_NUMBER
.lang.Override int getNumSearchWorkers()
static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Internal.EnumLiteMap< SearchBranching > internalGetValueMap()
PORTFOLIO_SEARCH
static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER
static final int USE_DISJUNCTIVE_CONSTRAINT_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
.lang.Override double getMergeNoOverlapWorkLimit()
final int getNumber()
.lang.Override boolean getUseOptimizationHints()
.lang.Override boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER
Builder clearCoverOptimization()
.lang.Override int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER
.lang.Override double getInitialVariablesActivity()
.lang.Override boolean getUsePhaseSaving()
Builder clearBinarySearchNumConflicts()
.lang.Override boolean getUseFeasibilityPump()
Builder setMaxNumCuts(int value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasMinOrthogonalityForLpConstraints()
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER
static RestartAlgorithm forNumber(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder clearCutMaxActiveCountValue()
Builder setFindMultipleCores(boolean value)
.lang.Override boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override boolean hasCutCleanupTarget()
.lang.Override boolean getUsePhaseSaving()
.lang.Override boolean getUseRelaxationLns()
static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER
Builder setGlucoseDecayIncrement(double value)
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Deprecated static ClauseProtection valueOf(int value)
.lang.Override boolean getUseBranchingInLp()
.lang.Override int getMaxIntegerRoundingScaling()
Builder setRestartDlAverageRatio(double value)
.lang.Override boolean hasStrategyChangeIncreaseRatio()
.lang.Override int hashCode()
Builder clearExploitAllLpSolution()
Builder clearInitialVariablesActivity()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override long getMaxMemoryInMb()
.lang.Override double getRestartDlAverageRatio()
.lang.Override boolean getExploitBestSolution()
static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER
Builder setMaxDeterministicTime(double value)
final int getNumber()
Builder clearOnlyAddCutsAtLevelZero()
.lang.Override boolean hasSubsumptionDuringConflictAnalysis()
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Override boolean hasMergeNoOverlapWorkLimit()
.lang.Override boolean hasInstantiateAllVariables()
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasPseudoCostReliabilityThreshold()
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
.lang.Override boolean getExpandElementConstraints()
Builder setExpandAutomatonConstraints(boolean value)
.lang.Override boolean hasMipMaxActivityExponent()
static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER
Builder clearAbsoluteGapLimit()
AUTOMATIC_SEARCH
.lang.Override boolean hasAddLpConstraintsLazily()
.lang.Override boolean hasUseExactLpReason()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override boolean hasShareObjectiveBounds()
Builder setMaxVariableActivityValue(double value)
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override double getRandomBranchesRatio()
Builder clearUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean hasExploitBestSolution()
.lang.Override boolean getStopAfterPresolve()
Builder clearMaxAllDiffCutSize()
IN_RANDOM_ORDER
IN_RANDOM_ORDER = 2;
Builder clearExploitIntegerLpSolution()
Builder clearLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
.lang.Override com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
.lang.Override double getRandomBranchesRatio()
.lang.Override double getMipMaxBound()
BINARY_MINIMIZATION_WITH_REACHABILITY
BINARY_MINIMIZATION_WITH_REACHABILITY = 2;
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasRestartDlAverageRatio()
.lang.Override Builder clone()
static Builder newBuilder()
LBD_MOVING_AVERAGE_RESTART
.lang.Override Builder toBuilder()
Builder clearMipCheckPrecision()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override boolean getOptimizeWithCore()
.lang.Override double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
.lang.Override boolean getUseErwaHeuristic()
.lang.Override boolean hasPresolveUseBva()
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
.lang.Override boolean getAddKnapsackCuts()
.lang.Override boolean hasClauseCleanupLbdBound()
.lang.Override boolean hasMipAutomaticallyScaleVariables()
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean hasMaxSatReverseAssumptionOrder()
.lang.Override boolean getUseImpliedBounds()
.lang.Override boolean hasLinearizationLevel()
.lang.Override boolean getSubsumptionDuringConflictAnalysis()
Builder setCountAssumptionLevelsInLbd(boolean value)
.lang.Override boolean hasCountAssumptionLevelsInLbd()
.lang.Override long getMaxNumberOfConflicts()
.lang.Override boolean getPresolveUseBva()
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override boolean hasCutMaxActiveCountValue()
.lang.Override boolean hasPresolveSubstitutionLevel()
Builder setNumConflictsBeforeStrategyChanges(int value)
.lang.Override com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setMipAutomaticallyScaleVariables(boolean value)
.lang.Override boolean hasMaxNumCuts()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.CodedInputStream input)
static final int CP_MODEL_MAX_NUM_PRESOLVE_OPERATIONS_FIELD_NUMBER
Builder clearRandomBranchesRatio()
.lang.Override boolean getExpandTableConstraints()
Builder setOptimizeWithMaxHs(boolean value)
.lang.Override boolean getUseImpliedBounds()
static ConflictMinimizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Builder clearRandomSeed()
.lang.Override boolean hasStrategyChangeIncreaseRatio()
static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER
Builder setMipCheckPrecision(double value)
.lang.Override boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setMinimizeCore(boolean value)
Builder clearUseDisjunctiveConstraintInCumulativeConstraint()
Builder setStopAfterPresolve(boolean value)
Builder setUseLnsOnly(boolean value)
Builder clearUseCombinedNoOverlap()
Builder addAllRestartAlgorithms(java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm > values)
.lang.Override double getMipWantedPrecision()
.lang.Override boolean getExploitRelaxationSolution()
.lang.Override boolean hasMipMaxBound()
.lang.Override boolean getOptimizeWithCore()
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean hasMipVarScaling()
.lang.Override int getNumConflictsBeforeStrategyChanges()
static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override com.google.ortools.sat.SatParameters buildPartial()
.lang.Override java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
.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()
.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 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 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 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 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()
Builder setRelativeGapLimit(double value)
optional double relative_gap_limit = 160 [default = 0];
static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER
.lang.Override int getMaxConsecutiveInactiveCount()
Builder setRestartLbdAverageRatio(double value)
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override int getPolarityRephaseIncrement()
static com.google.protobuf.Internal.EnumLiteMap< FPRoundingMethod > internalGetValueMap()
Builder setCoverOptimization(boolean value)
Builder setExpandElementConstraints(boolean value)
Builder clearUseBlockingRestart()
static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
.lang.Override boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
POLARITY_WEIGHTED_SIGN
.lang.Override int getMaxIntegerRoundingScaling()
Builder setPresolveProbingDeterministicTimeLimit(double value)
static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER
Builder clearOptimizeWithMaxHs()
Builder clearEnumerateAllSolutions()
.lang.Override boolean hasInitialVariablesActivity()
.lang.Override boolean getDiversifyLnsParams()
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean hasFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override boolean getCountAssumptionLevelsInLbd()
Builder setProbingPeriodAtRoot(long value)
static com.google.protobuf.Internal.EnumLiteMap< ConflictMinimizationAlgorithm > internalGetValueMap()
Builder clearRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override boolean hasInitialVariablesActivity()
Builder clearBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
Builder clearMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder clearGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER
.lang.Override boolean hasCpModelProbingLevel()
static final int CUT_CLEANUP_TARGET_FIELD_NUMBER
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
Builder setUseExactLpReason(boolean value)
.lang.Override boolean hasTreatBinaryClausesSeparately()
static final int MAX_NUM_CUTS_FIELD_NUMBER
static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER
Builder setShareLevelZeroBounds(boolean value)
.lang.Override int getCutCleanupTarget()
.lang.Override boolean hasMaxPresolveIterations()
Builder clearPresolveProbingDeterministicTimeLimit()
.lang.Override boolean hasMipCheckPrecision()
static RestartAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override int getCpModelProbingLevel()
.lang.Override boolean hasFillTightenedDomainsInResponse()
.lang.Override boolean hasUsePrecedencesInDisjunctiveConstraint()
Builder setPresolveBveThreshold(int value)
static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER
.lang.Override boolean hasMaxTimeInSeconds()
.lang.Override boolean hasRestartPeriod()
.lang.Override boolean hasRestartPeriod()
static final int USE_LNS_ONLY_FIELD_NUMBER
Builder setHintConflictLimit(int value)
Builder setRestartRunningWindowSize(int value)
Builder setMinimizeWithPropagationNumDecisions(int value)
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override boolean getRandomizeSearch()
Builder setInterleaveBatchSize(int value)
optional int32 interleave_batch_size = 134 [default = 1];
static final int USE_SAT_INPROCESSING_FIELD_NUMBER
.lang.Override int getMaxNumCuts()
.lang.Override int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER
static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Deprecated static SearchBranching valueOf(int value)
final int getNumber()
Builder setMaxTimeInSeconds(double value)
.lang.Override int getCpModelMaxNumPresolveOperations()
Builder setRandomizeSearch(boolean value)
Builder clearNumConflictsBeforeStrategyChanges()
Builder clearRandomPolarityRatio()
.lang.Deprecated static VariableOrder valueOf(int value)
static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER
static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER
Builder setLinearizationLevel(int value)
Builder setUseOptimizationHints(boolean value)
.lang.Override boolean hasPbCleanupIncrement()
Builder clearRandomizeSearch()
.lang.Override double getMipVarScaling()
.lang.Override boolean hasMaxConsecutiveInactiveCount()
Builder setExploitIntegerLpSolution(boolean value)
static final int MIN_ORTHOGONALITY_FOR_LP_CONSTRAINTS_FIELD_NUMBER
.lang.Override double getGlucoseMaxDecay()
.lang.Override boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setAddCgCuts(boolean value)
.lang.Override double getClauseActivityDecay()
.lang.Override int getMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasPresolveBveClauseWeight()
.lang.Override boolean hasUseOptimizationHints()
.lang.Override boolean getExpandElementConstraints()
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
Builder clearUseOptionalVariables()
.lang.Override double getMaxTimeInSeconds()
static final int REPAIR_HINT_FIELD_NUMBER
.lang.Override boolean hasRandomPolarityRatio()
.lang.Override boolean hasAutoDetectGreaterThanAtLeastOneOf()
Builder setMinOrthogonalityForLpConstraints(double value)
.lang.Override int getNewConstraintsBatchSize()
.lang.Override boolean hasInterleaveSearch()
.lang.Override boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
.lang.Override boolean hasRestartRunningWindowSize()
.lang.Override int getMaxAllDiffCutSize()
.lang.Override boolean getExploitAllLpSolution()
.lang.Override double getMaxDeterministicTime()
static com.google.protobuf.Internal.EnumLiteMap< RestartAlgorithm > internalGetValueMap()
.lang.Override int getPbCleanupIncrement()
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
Builder clearAddKnapsackCuts()
.lang.Override boolean hasExpandElementConstraints()
.lang.Override boolean hasMaxAllDiffCutSize()
Builder clearUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
.lang.Override double getRestartDlAverageRatio()
.lang.Override boolean getCatchSigintSignal()
Builder setBlockingRestartWindowSize(int value)
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean hasAddMirCuts()
NEAREST_INTEGER
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean getFindMultipleCores()
.lang.Override boolean hasMinimizeCore()
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override boolean getUseErwaHeuristic()
Builder clearFpRounding()
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value)
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override boolean getUseDisjunctiveConstraintInCumulativeConstraint()
.lang.Override boolean getAddCgCuts()
.lang.Override boolean hasCountAssumptionLevelsInLbd()
static FPRoundingMethod forNumber(int value)
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
Builder setShareObjectiveBounds(boolean value)
.lang.Override boolean getStopAfterFirstSolution()
static FPRoundingMethod valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Builder clearUsePhaseSaving()
static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER
static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER
.lang.Override boolean equals(final java.lang.Object obj)
.lang.Override boolean hasCpModelMaxNumPresolveOperations()
Builder setClauseActivityDecay(double value)
.lang.Override boolean hasRestartDlAverageRatio()
.lang.Override boolean getAddKnapsackCuts()
static BinaryMinizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
.lang.Override double getMipVarScaling()
.lang.Override int getPresolveBveThreshold()
Builder clearExpandTableConstraints()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasFindMultipleCores()
.lang.Override boolean getUseOverloadCheckerInCumulativeConstraint()
.lang.Override boolean hasHintConflictLimit()
Builder clearCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
static final int RESTART_PERIOD_FIELD_NUMBER
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
Builder clearUsePbResolution()
.lang.Override boolean getShareObjectiveBounds()
.lang.Override boolean getUsePbResolution()
Builder setCutActiveCountDecay(double value)
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override boolean hasOptimizeWithCore()
static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER
.lang.Override boolean hasShareObjectiveBounds()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data)
.lang.Override boolean hasEnumerateAllSolutions()
.lang.Override boolean getAlsoBumpVariablesInConflictReasons()
Builder clearAutoDetectGreaterThanAtLeastOneOf()
static final int PB_CLEANUP_RATIO_FIELD_NUMBER
Builder clearOptimizeWithCore()
Builder clearUseExactLpReason()
.lang.Override boolean getRandomizeSearch()
static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER
Builder clearMipMaxBound()
.lang.Override boolean hasPresolveBvaThreshold()
Builder setPolarityRephaseIncrement(int value)
static com.google.protobuf.Internal.EnumLiteMap< Polarity > internalGetValueMap()
.lang.Override 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 clearAddMirCuts()
Builder clearPresolveBvaThreshold()
.lang.Override boolean hasOptimizeWithMaxHs()
Builder setCpModelProbingLevel(int value)
static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER
.lang.Override boolean hasMaxNumCuts()
.lang.Override boolean getOptimizeWithMaxHs()
Builder setClauseCleanupTarget(int value)
.lang.Override boolean hasUseRinsLns()
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER
NONE
NONE = 0;
static final int ADD_CG_CUTS_FIELD_NUMBER
.lang.Override boolean hasBooleanEncodingLevel()
Builder setFpRounding(com.google.ortools.sat.SatParameters.FPRoundingMethod value)
optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGA...
Builder clearUseImpliedBounds()
static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setRepairHint(boolean value)
.lang.Override boolean hasVariableActivityDecay()
HINT_SEARCH
.lang.Override int getPresolveBveThreshold()
static final int SEARCH_BRANCHING_FIELD_NUMBER
Builder clearInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
.lang.Override int getMaxCutRoundsAtLevelZero()
.lang.Override boolean getExploitIntegerLpSolution()
.lang.Override com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
Builder setLogSearchProgress(boolean value)
Builder clearUseFeasibilityPump()
Builder clearPresolveBveClauseWeight()
Builder setUseErwaHeuristic(boolean value)
.lang.Override boolean hasBinarySearchNumConflicts()
.lang.Override boolean getAddMirCuts()
Builder clearGlucoseMaxDecay()
.lang.Deprecated static ConflictMinimizationAlgorithm valueOf(int value)
Builder clearCpModelMaxNumPresolveOperations()
.lang.Override boolean hasCpModelProbingLevel()
.lang.Override boolean hasExploitBestSolution()
Builder clearMinimizeCore()
.lang.Deprecated static RestartAlgorithm valueOf(int value)
Builder clearRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
static final int NUM_CONFLICTS_BEFORE_STRATEGY_CHANGES_FIELD_NUMBER
Builder clearUseErwaHeuristic()
.lang.Override boolean hasCpModelPostsolveWithFullSolver()
Builder clearClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER
static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
Builder clearUseRelaxationLns()
.lang.Override boolean hasLogSearchProgress()
Builder clearExploitObjective()
Builder setOnlyAddCutsAtLevelZero(boolean value)
Builder setDefaultRestartAlgorithmsBytes(com.google.protobuf.ByteString value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder clearMaxSatReverseAssumptionOrder()
.lang.Override boolean getCoverOptimization()
static com.google.protobuf.Internal.EnumLiteMap< MaxSatStratificationAlgorithm > internalGetValueMap()
BINARY_MINIMIZATION_FIRST
BINARY_MINIMIZATION_FIRST = 1;
.lang.Override int getMaxCutRoundsAtLevelZero()
Builder clearExploitRelaxationSolution()
.lang.Override boolean hasClauseCleanupTarget()
static final int MINIMIZE_REDUCTION_DURING_PB_RESOLUTION_FIELD_NUMBER
static com.google.protobuf.Internal.EnumLiteMap< MaxSatAssumptionOrder > internalGetValueMap()
Builder clearInterleaveSearch()
.lang.Override int getPresolveBvaThreshold()
.lang.Override double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
ORDER_ASSUMPTION_BY_DEPTH
ORDER_ASSUMPTION_BY_DEPTH = 1;
Builder clearPresolveBlockedClause()
.lang.Override boolean hasCatchSigintSignal()
.lang.Override int getNumSearchWorkers()
.lang.Override double getStrategyChangeIncreaseRatio()
Builder setPresolveBveClauseWeight(int value)
static final int PRESOLVE_PROBING_DETERMINISTIC_TIME_LIMIT_FIELD_NUMBER
Builder setCpModelPostsolveWithFullSolver(boolean value)
Builder setUseCombinedNoOverlap(boolean value)
Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value)
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER
.lang.Override int getNumConflictsBeforeStrategyChanges()
.lang.Override boolean getUseBlockingRestart()
STRATIFICATION_DESCENT
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER
final int getNumber()
Builder setMipVarScaling(double value)
Builder setUseRelaxationLns(boolean value)
.lang.Override boolean hasOnlyAddCutsAtLevelZero()
Builder setBinarySearchNumConflicts(int value)
.lang.Override boolean hasMaxTimeInSeconds()
.lang.Override boolean hasRandomBranchesRatio()
static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER
.lang.Override boolean getOnlyAddCutsAtLevelZero()
static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER
static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER
.lang.Override boolean hasMipAutomaticallyScaleVariables()
static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER
.lang.Override boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
Builder clearRestartDlAverageRatio()
Builder clearCatchSigintSignal()
.lang.Override int getMaxNumCuts()
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
Builder clearPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION = 4;
Builder clearCpModelPostsolveWithFullSolver()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Deprecated static Polarity valueOf(int value)
final int getNumber()
.lang.Override boolean hasTreatBinaryClausesSeparately()
.lang.Override boolean getUseCombinedNoOverlap()
.lang.Override boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
.lang.Override int getMinimizeWithPropagationRestartPeriod()
.lang.Override int getSerializedSize()
.lang.Override long getSearchRandomizationTolerance()
.lang.Override boolean hasUseRelaxationLns()
Builder clearSubsumptionDuringConflictAnalysis()
.lang.Override boolean getExpandAutomatonConstraints()
Builder clearUseBranchingInLp()
Builder setPresolveUseBva(boolean value)
.lang.Override boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override boolean hasReduceMemoryUsageInInterleaveMode()
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
Builder clearCpModelPresolve()
static Builder newBuilder(com.google.ortools.sat.SatParameters prototype)
.lang.Override boolean hasAddKnapsackCuts()
PORTFOLIO_WITH_QUICK_RESTART_SEARCH
.lang.Override boolean getAddMirCuts()
.lang.Override boolean getOptimizeWithMaxHs()
.lang.Override boolean hasClauseCleanupPeriod()
.lang.Override boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
EXPERIMENTAL
EXPERIMENTAL = 3;
Builder clearAlsoBumpVariablesInConflictReasons()
.lang.Override boolean hasRepairHint()
static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER
DL_MOVING_AVERAGE_RESTART
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder clearMaxConsecutiveInactiveCount()
static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER
Builder setMaxSatAssumptionOrder(com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value)
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean hasCpModelPresolve()
Builder clearClauseCleanupPeriod()
.lang.Override boolean getAutoDetectGreaterThanAtLeastOneOf()
.lang.Override boolean getUseOptimizationHints()
Builder clearPresolveBveThreshold()
.lang.Override boolean hasAddLpConstraintsLazily()
Builder clearMipMaxActivityExponent()
.lang.Override double getMaxDeterministicTime()
static SearchBranching forNumber(int value)
Builder setMergeAtMostOneWorkLimit(double value)
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
static final int USE_RELAXATION_LNS_FIELD_NUMBER
.lang.Override boolean hasMipVarScaling()
Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value)
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
.lang.Override boolean hasUseOptimizationHints()
Builder setMaxClauseActivityValue(double value)
optional double max_clause_activity_value = 18 [default = 1e+20];
.lang.Override double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
.lang.Override double getMaxTimeInSeconds()
.lang.Override boolean getFillTightenedDomainsInResponse()
.lang.Override boolean hasExpandTableConstraints()
.lang.Override boolean getReduceMemoryUsageInInterleaveMode()
static ClauseOrdering valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override boolean getExpandTableConstraints()
static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER
static final int USE_EXACT_LP_REASON_FIELD_NUMBER
static final int INITIAL_POLARITY_FIELD_NUMBER
RECURSIVE
RECURSIVE = 2;
.lang.Override boolean hasProbingPeriodAtRoot()
Builder clearLinearizationLevel()
Builder setMipMaxBound(double value)
.lang.Override boolean hasMinimizeWithPropagationRestartPeriod()
.lang.Override boolean hasCpModelPresolve()
.lang.Override boolean getFillTightenedDomainsInResponse()
static Polarity forNumber(int value)
Builder setRandomPolarityRatio(double value)
.lang.Override boolean hasUsePbResolution()
.lang.Override int getClauseCleanupLbdBound()
.lang.Override double getMinOrthogonalityForLpConstraints()
STRATIFICATION_NONE
.lang.Override double getStrategyChangeIncreaseRatio()
Builder clearInstantiateAllVariables()
.lang.Override boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
PROTECTION_NONE
.lang.Override boolean getAddCgCuts()
Builder clearShareLevelZeroBounds()
.lang.Override boolean hasCutMaxActiveCountValue()
Builder setClauseCleanupLbdBound(int value)
static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER
static final int NUM_SEARCH_WORKERS_FIELD_NUMBER
.lang.Override com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
Builder setRestartPeriod(int value)
Builder clearCpModelUseSatPresolve()
.lang.Override int getRestartRunningWindowSize()
static final int USE_OVERLOAD_CHECKER_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
Builder setVariableActivityDecay(double value)
Builder clearAddLinMaxCuts()
.lang.Override boolean hasExpandAutomatonConstraints()
Builder setCpModelPresolve(boolean value)
.lang.Override boolean hasGlucoseMaxDecay()
.lang.Override int getRestartPeriod()
.lang.Override int getClauseCleanupTarget()
.lang.Override boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
.lang.Override boolean hasAlsoBumpVariablesInConflictReasons()
NO_RESTART
NO_RESTART = 0;
.lang.Override boolean getUseCombinedNoOverlap()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
Builder setRandomSeed(int value)
.lang.Override boolean getUseExactLpReason()
.lang.Override boolean hasStopAfterPresolve()
.lang.Override boolean getLogSearchProgress()
.lang.Override boolean hasRestartRunningWindowSize()
static final int USE_TIMETABLE_EDGE_FINDING_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER
Builder clearTreatBinaryClausesSeparately()
.lang.Override java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER
Builder setUsePrecedencesInDisjunctiveConstraint(boolean value)
.lang.Override boolean hasUsePbResolution()
.lang.Override boolean hasMaxAllDiffCutSize()
.lang.Override boolean getUseBranchingInLp()
static final int USE_PHASE_SAVING_FIELD_NUMBER
.lang.Override boolean hasAddLinMaxCuts()
.lang.Override long getPseudoCostReliabilityThreshold()
static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER
.lang.Override boolean getExploitObjective()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
Builder clearPbCleanupIncrement()
Builder setExploitBestSolution(boolean value)
Builder clearMergeNoOverlapWorkLimit()
.lang.Override boolean hasAbsoluteGapLimit()
.lang.Override boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
FIXED_SEARCH
.lang.Override boolean getUseRinsLns()
static final int MINIMIZE_WITH_PROPAGATION_RESTART_PERIOD_FIELD_NUMBER
.lang.Override int getMaxConsecutiveInactiveCount()
static Polarity valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override boolean hasNewConstraintsBatchSize()
.lang.Override boolean getUsePbResolution()
.lang.Override boolean hasOptimizeWithCore()
Builder setExploitRelaxationSolution(boolean value)
.lang.Override int getNewConstraintsBatchSize()
.lang.Override boolean hasExploitAllLpSolution()
.lang.Override boolean hasUseRelaxationLns()
static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER
.lang.Override long getSearchRandomizationTolerance()
static final int LINEARIZATION_LEVEL_FIELD_NUMBER
static SearchBranching valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override double getClauseActivityDecay()
static com.google.ortools.sat.SatParameters getDefaultInstance()
Builder setMinimizeReductionDuringPbResolution(boolean value)
.lang.Override boolean hasProbingPeriodAtRoot()
.lang.Deprecated static MaxSatAssumptionOrder valueOf(int value)
.lang.Override boolean hasUseBranchingInLp()
static final int USE_BLOCKING_RESTART_FIELD_NUMBER
.lang.Override boolean hasBooleanEncodingLevel()
.lang.Override boolean hasUseErwaHeuristic()
Builder setUseOptionalVariables(boolean value)
.lang.Override boolean getPresolveBlockedClause()
static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER
.lang.Override boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
.lang.Override double getRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER
.lang.Override boolean hasExploitIntegerLpSolution()
static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasPseudoCostReliabilityThreshold()
.lang.Override int getCpModelMaxNumPresolveOperations()
LUBY_RESTART
Builder clearProbingPeriodAtRoot()
.lang.Override Builder newBuilderForType()
Builder clearPresolveUseBva()
static com.google.protobuf.Internal.EnumLiteMap< VariableOrder > internalGetValueMap()
.lang.Override boolean hasNumConflictsBeforeStrategyChanges()
LP_SEARCH
.lang.Override double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
Builder setCatchSigintSignal(boolean value)
.lang.Override boolean getUseRinsLns()
.lang.Override com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.lang.Override boolean getTreatBinaryClausesSeparately()
Builder clearExploitBestSolution()
.lang.Override boolean getShareLevelZeroBounds()
.lang.Override boolean hasInterleaveSearch()
.lang.Override boolean hasAddMirCuts()
static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER
.lang.Override boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER
Builder setExploitObjective(boolean value)
.lang.Override boolean getFindMultipleCores()
.lang.Override boolean hasStopAfterPresolve()
.lang.Override boolean hasDiversifyLnsParams()
.lang.Override boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override boolean hasSearchRandomizationTolerance()
static final int MAX_MEMORY_IN_MB_FIELD_NUMBER
.lang.Override double getPresolveProbingDeterministicTimeLimit()
static final int CP_MODEL_POSTSOLVE_WITH_FULL_SOLVER_FIELD_NUMBER
.lang.Override boolean getAddLinMaxCuts()
.lang.Override double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override boolean hasAddCgCuts()
.lang.Override boolean getAddLpConstraintsLazily()
Builder clearBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
.lang.Override boolean hasNumSearchWorkers()
.lang.Override boolean hasUseLnsOnly()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
Builder clearMinimizeReductionDuringPbResolution()
ACTIVE_LOCK_BASED
.lang.Override int getPresolveSubstitutionLevel()
.lang.Override boolean getCpModelPresolve()
.lang.Override boolean hasRelativeGapLimit()
optional double relative_gap_limit = 160 [default = 0];
.lang.Override com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
PROPAGATION_ASSISTED
Builder mergeFrom(com.google.ortools.sat.SatParameters other)
static com.google.ortools.sat.SatParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
Builder clearMaxCutRoundsAtLevelZero()
.lang.Override int getClauseCleanupPeriod()
.lang.Override boolean hasPbCleanupIncrement()
.lang.Override boolean hasUseOverloadCheckerInCumulativeConstraint()
Builder clearMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearFillTightenedDomainsInResponse()
.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
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 hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
.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()