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  minimizationAlgorithm_ = 2;
29  binaryMinimizationAlgorithm_ = 1;
30  subsumptionDuringConflictAnalysis_ = true;
31  clauseCleanupPeriod_ = 10000;
32  clauseCleanupTarget_ = 10000;
33  clauseCleanupProtection_ = 0;
34  clauseCleanupLbdBound_ = 5;
35  clauseCleanupOrdering_ = 0;
36  pbCleanupIncrement_ = 200;
37  pbCleanupRatio_ = 0.5D;
38  minimizeWithPropagationRestartPeriod_ = 10;
39  minimizeWithPropagationNumDecisions_ = 1000;
40  variableActivityDecay_ = 0.8D;
41  maxVariableActivityValue_ = 1e+100D;
42  glucoseMaxDecay_ = 0.95D;
43  glucoseDecayIncrement_ = 0.01D;
44  glucoseDecayIncrementPeriod_ = 5000;
45  clauseActivityDecay_ = 0.999D;
46  maxClauseActivityValue_ = 1e+20D;
47  restartAlgorithms_ = java.util.Collections.emptyList();
48  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
49  restartPeriod_ = 50;
50  restartRunningWindowSize_ = 50;
51  restartDlAverageRatio_ = 1D;
52  restartLbdAverageRatio_ = 1D;
53  blockingRestartWindowSize_ = 5000;
54  blockingRestartMultiplier_ = 1.4D;
55  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
56  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
57  maxNumberOfConflicts_ = 9223372036854775807L;
58  maxMemoryInMb_ = 10000L;
59  treatBinaryClausesSeparately_ = true;
60  randomSeed_ = 1;
61  countAssumptionLevelsInLbd_ = true;
62  presolveBveThreshold_ = 500;
63  presolveBveClauseWeight_ = 3;
64  presolveProbingDeterministicTimeLimit_ = 30D;
65  presolveBlockedClause_ = true;
66  presolveUseBva_ = true;
67  presolveBvaThreshold_ = 1;
68  maxPresolveIterations_ = 3;
69  cpModelPresolve_ = true;
70  cpModelProbingLevel_ = 2;
71  cpModelUseSatPresolve_ = true;
72  expandElementConstraints_ = true;
73  expandAutomatonConstraints_ = true;
74  expandTableConstraints_ = true;
75  mergeNoOverlapWorkLimit_ = 1000000000000D;
76  mergeAtMostOneWorkLimit_ = 100000000D;
77  presolveSubstitutionLevel_ = 1;
78  useOptimizationHints_ = true;
79  minimizeCore_ = true;
80  findMultipleCores_ = true;
81  coverOptimization_ = true;
82  maxSatAssumptionOrder_ = 0;
83  maxSatStratification_ = 1;
84  usePrecedencesInDisjunctiveConstraint_ = true;
85  useDisjunctiveConstraintInCumulativeConstraint_ = true;
86  linearizationLevel_ = 1;
87  booleanEncodingLevel_ = 1;
88  maxNumCuts_ = 10000;
89  addCgCuts_ = true;
90  addMirCuts_ = true;
91  maxAllDiffCutSize_ = 7;
92  addLinMaxCuts_ = true;
93  maxIntegerRoundingScaling_ = 600;
94  addLpConstraintsLazily_ = true;
95  minOrthogonalityForLpConstraints_ = 0.05D;
96  maxCutRoundsAtLevelZero_ = 1;
97  maxConsecutiveInactiveCount_ = 100;
98  cutMaxActiveCountValue_ = 10000000000D;
99  cutActiveCountDecay_ = 0.8D;
100  cutCleanupTarget_ = 1000;
101  newConstraintsBatchSize_ = 50;
102  searchBranching_ = 0;
103  hintConflictLimit_ = 10;
104  exploitIntegerLpSolution_ = true;
105  exploitAllLpSolution_ = true;
106  exploitObjective_ = true;
107  pseudoCostReliabilityThreshold_ = 100L;
108  binarySearchNumConflicts_ = -1;
109  instantiateAllVariables_ = true;
110  autoDetectGreaterThanAtLeastOneOf_ = true;
111  numSearchWorkers_ = 1;
112  interleaveBatchSize_ = 1;
113  shareObjectiveBounds_ = true;
114  shareLevelZeroBounds_ = true;
115  useRinsLns_ = true;
116  useOptionalVariables_ = true;
117  useExactLpReason_ = true;
118  catchSigintSignal_ = true;
119  useImpliedBounds_ = true;
120  mipMaxBound_ = 10000000D;
121  mipVarScaling_ = 1D;
122  mipWantedPrecision_ = 1e-06D;
123  mipMaxActivityExponent_ = 53;
124  mipCheckPrecision_ = 0.0001D;
125  }
126 
127  @java.lang.Override
128  @SuppressWarnings({"unused"})
129  protected java.lang.Object newInstance(
130  UnusedPrivateParameter unused) {
131  return new SatParameters();
132  }
133 
134  @java.lang.Override
135  public final com.google.protobuf.UnknownFieldSet
137  return this.unknownFields;
138  }
139  private SatParameters(
140  com.google.protobuf.CodedInputStream input,
141  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
142  throws com.google.protobuf.InvalidProtocolBufferException {
143  this();
144  if (extensionRegistry == null) {
145  throw new java.lang.NullPointerException();
146  }
147  int mutable_bitField0_ = 0;
148  int mutable_bitField1_ = 0;
149  int mutable_bitField2_ = 0;
150  int mutable_bitField3_ = 0;
151  int mutable_bitField4_ = 0;
152  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
153  com.google.protobuf.UnknownFieldSet.newBuilder();
154  try {
155  boolean done = false;
156  while (!done) {
157  int tag = input.readTag();
158  switch (tag) {
159  case 0:
160  done = true;
161  break;
162  case 8: {
163  int rawValue = input.readEnum();
164  @SuppressWarnings("deprecation")
165  com.google.ortools.sat.SatParameters.VariableOrder value = com.google.ortools.sat.SatParameters.VariableOrder.valueOf(rawValue);
166  if (value == null) {
167  unknownFields.mergeVarintField(1, rawValue);
168  } else {
169  bitField0_ |= 0x00000001;
170  preferredVariableOrder_ = rawValue;
171  }
172  break;
173  }
174  case 16: {
175  int rawValue = input.readEnum();
176  @SuppressWarnings("deprecation")
177  com.google.ortools.sat.SatParameters.Polarity value = com.google.ortools.sat.SatParameters.Polarity.valueOf(rawValue);
178  if (value == null) {
179  unknownFields.mergeVarintField(2, rawValue);
180  } else {
181  bitField0_ |= 0x00000002;
182  initialPolarity_ = rawValue;
183  }
184  break;
185  }
186  case 32: {
187  int rawValue = input.readEnum();
188  @SuppressWarnings("deprecation")
189  com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value = com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.valueOf(rawValue);
190  if (value == null) {
191  unknownFields.mergeVarintField(4, rawValue);
192  } else {
193  bitField0_ |= 0x00000100;
194  minimizationAlgorithm_ = rawValue;
195  }
196  break;
197  }
198  case 88: {
199  bitField0_ |= 0x00000800;
200  clauseCleanupPeriod_ = input.readInt32();
201  break;
202  }
203  case 104: {
204  bitField0_ |= 0x00001000;
205  clauseCleanupTarget_ = input.readInt32();
206  break;
207  }
208  case 121: {
209  bitField0_ |= 0x00100000;
210  variableActivityDecay_ = input.readDouble();
211  break;
212  }
213  case 129: {
214  bitField0_ |= 0x00200000;
215  maxVariableActivityValue_ = input.readDouble();
216  break;
217  }
218  case 137: {
219  bitField0_ |= 0x02000000;
220  clauseActivityDecay_ = input.readDouble();
221  break;
222  }
223  case 145: {
224  bitField0_ |= 0x04000000;
225  maxClauseActivityValue_ = input.readDouble();
226  break;
227  }
228  case 177: {
229  bitField0_ |= 0x00400000;
230  glucoseMaxDecay_ = input.readDouble();
231  break;
232  }
233  case 185: {
234  bitField0_ |= 0x00800000;
235  glucoseDecayIncrement_ = input.readDouble();
236  break;
237  }
238  case 192: {
239  bitField0_ |= 0x01000000;
240  glucoseDecayIncrementPeriod_ = input.readInt32();
241  break;
242  }
243  case 240: {
244  bitField0_ |= 0x10000000;
245  restartPeriod_ = input.readInt32();
246  break;
247  }
248  case 248: {
249  bitField1_ |= 0x00001000;
250  randomSeed_ = input.readInt32();
251  break;
252  }
253  case 257: {
254  bitField0_ |= 0x00000010;
255  randomBranchesRatio_ = input.readDouble();
256  break;
257  }
258  case 264: {
259  bitField1_ |= 0x00000800;
260  treatBinaryClausesSeparately_ = input.readBool();
261  break;
262  }
263  case 272: {
264  int rawValue = input.readEnum();
265  @SuppressWarnings("deprecation")
266  com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value = com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.valueOf(rawValue);
267  if (value == null) {
268  unknownFields.mergeVarintField(34, rawValue);
269  } else {
270  bitField0_ |= 0x00000200;
271  binaryMinimizationAlgorithm_ = rawValue;
272  }
273  break;
274  }
275  case 280: {
276  bitField2_ |= 0x00000010;
277  useOptimizationHints_ = input.readBool();
278  break;
279  }
280  case 289: {
281  bitField1_ |= 0x00000020;
282  maxTimeInSeconds_ = input.readDouble();
283  break;
284  }
285  case 296: {
286  bitField1_ |= 0x00000080;
287  maxNumberOfConflicts_ = input.readInt64();
288  break;
289  }
290  case 320: {
291  bitField1_ |= 0x00000100;
292  maxMemoryInMb_ = input.readInt64();
293  break;
294  }
295  case 328: {
296  bitField1_ |= 0x00002000;
297  logSearchProgress_ = input.readBool();
298  break;
299  }
300  case 344: {
301  bitField1_ |= 0x00004000;
302  usePbResolution_ = input.readBool();
303  break;
304  }
305  case 352: {
306  bitField0_ |= 0x00000004;
307  usePhaseSaving_ = input.readBool();
308  break;
309  }
310  case 361: {
311  bitField0_ |= 0x00000008;
312  randomPolarityRatio_ = input.readDouble();
313  break;
314  }
315  case 368: {
316  bitField0_ |= 0x00010000;
317  pbCleanupIncrement_ = input.readInt32();
318  break;
319  }
320  case 377: {
321  bitField0_ |= 0x00020000;
322  pbCleanupRatio_ = input.readDouble();
323  break;
324  }
325  case 384: {
326  bitField1_ |= 0x00008000;
327  minimizeReductionDuringPbResolution_ = input.readBool();
328  break;
329  }
330  case 392: {
331  bitField1_ |= 0x00010000;
332  countAssumptionLevelsInLbd_ = input.readBool();
333  break;
334  }
335  case 400: {
336  bitField2_ |= 0x00000020;
337  minimizeCore_ = input.readBool();
338  break;
339  }
340  case 408: {
341  int rawValue = input.readEnum();
342  @SuppressWarnings("deprecation")
343  com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder value = com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.valueOf(rawValue);
344  if (value == null) {
345  unknownFields.mergeVarintField(51, rawValue);
346  } else {
347  bitField2_ |= 0x00000100;
348  maxSatAssumptionOrder_ = rawValue;
349  }
350  break;
351  }
352  case 416: {
353  bitField2_ |= 0x00000200;
354  maxSatReverseAssumptionOrder_ = input.readBool();
355  break;
356  }
357  case 424: {
358  int rawValue = input.readEnum();
359  @SuppressWarnings("deprecation")
360  com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value = com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.valueOf(rawValue);
361  if (value == null) {
362  unknownFields.mergeVarintField(53, rawValue);
363  } else {
364  bitField2_ |= 0x00000400;
365  maxSatStratification_ = rawValue;
366  }
367  break;
368  }
369  case 432: {
370  bitField1_ |= 0x00020000;
371  presolveBveThreshold_ = input.readInt32();
372  break;
373  }
374  case 440: {
375  bitField1_ |= 0x00040000;
376  presolveBveClauseWeight_ = input.readInt32();
377  break;
378  }
379  case 448: {
380  bitField0_ |= 0x00000400;
381  subsumptionDuringConflictAnalysis_ = input.readBool();
382  break;
383  }
384  case 457: {
385  bitField1_ |= 0x00080000;
386  presolveProbingDeterministicTimeLimit_ = input.readDouble();
387  break;
388  }
389  case 464: {
390  int rawValue = input.readEnum();
391  @SuppressWarnings("deprecation")
392  com.google.ortools.sat.SatParameters.ClauseProtection value = com.google.ortools.sat.SatParameters.ClauseProtection.valueOf(rawValue);
393  if (value == null) {
394  unknownFields.mergeVarintField(58, rawValue);
395  } else {
396  bitField0_ |= 0x00002000;
397  clauseCleanupProtection_ = rawValue;
398  }
399  break;
400  }
401  case 472: {
402  bitField0_ |= 0x00004000;
403  clauseCleanupLbdBound_ = input.readInt32();
404  break;
405  }
406  case 480: {
407  int rawValue = input.readEnum();
408  @SuppressWarnings("deprecation")
409  com.google.ortools.sat.SatParameters.ClauseOrdering value = com.google.ortools.sat.SatParameters.ClauseOrdering.valueOf(rawValue);
410  if (value == null) {
411  unknownFields.mergeVarintField(60, rawValue);
412  } else {
413  bitField0_ |= 0x00008000;
414  clauseCleanupOrdering_ = rawValue;
415  }
416  break;
417  }
418  case 488: {
419  int rawValue = input.readEnum();
420  @SuppressWarnings("deprecation")
421  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
422  if (value == null) {
423  unknownFields.mergeVarintField(61, rawValue);
424  } else {
425  if (!((mutable_bitField0_ & 0x08000000) != 0)) {
426  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
427  mutable_bitField0_ |= 0x08000000;
428  }
429  restartAlgorithms_.add(rawValue);
430  }
431  break;
432  }
433  case 490: {
434  int length = input.readRawVarint32();
435  int oldLimit = input.pushLimit(length);
436  while(input.getBytesUntilLimit() > 0) {
437  int rawValue = input.readEnum();
438  @SuppressWarnings("deprecation")
439  com.google.ortools.sat.SatParameters.RestartAlgorithm value = com.google.ortools.sat.SatParameters.RestartAlgorithm.valueOf(rawValue);
440  if (value == null) {
441  unknownFields.mergeVarintField(61, rawValue);
442  } else {
443  if (!((mutable_bitField0_ & 0x08000000) != 0)) {
444  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>();
445  mutable_bitField0_ |= 0x08000000;
446  }
447  restartAlgorithms_.add(rawValue);
448  }
449  }
450  input.popLimit(oldLimit);
451  break;
452  }
453  case 496: {
454  bitField0_ |= 0x20000000;
455  restartRunningWindowSize_ = input.readInt32();
456  break;
457  }
458  case 505: {
459  bitField0_ |= 0x40000000;
460  restartDlAverageRatio_ = input.readDouble();
461  break;
462  }
463  case 512: {
464  bitField1_ |= 0x00000001;
465  useBlockingRestart_ = input.readBool();
466  break;
467  }
468  case 520: {
469  bitField1_ |= 0x00000002;
470  blockingRestartWindowSize_ = input.readInt32();
471  break;
472  }
473  case 529: {
474  bitField1_ |= 0x00000004;
475  blockingRestartMultiplier_ = input.readDouble();
476  break;
477  }
478  case 537: {
479  bitField1_ |= 0x00000040;
480  maxDeterministicTime_ = input.readDouble();
481  break;
482  }
483  case 544: {
484  bitField1_ |= 0x00000008;
485  numConflictsBeforeStrategyChanges_ = input.readInt32();
486  break;
487  }
488  case 553: {
489  bitField1_ |= 0x00000010;
490  strategyChangeIncreaseRatio_ = input.readDouble();
491  break;
492  }
493  case 562: {
494  com.google.protobuf.ByteString bs = input.readBytes();
495  bitField0_ |= 0x08000000;
496  defaultRestartAlgorithms_ = bs;
497  break;
498  }
499  case 569: {
500  bitField0_ |= 0x80000000;
501  restartLbdAverageRatio_ = input.readDouble();
502  break;
503  }
504  case 576: {
505  bitField1_ |= 0x00200000;
506  presolveUseBva_ = input.readBool();
507  break;
508  }
509  case 584: {
510  bitField1_ |= 0x00400000;
511  presolveBvaThreshold_ = input.readInt32();
512  break;
513  }
514  case 592: {
515  bitField2_ |= 0x00000800;
516  usePrecedencesInDisjunctiveConstraint_ = input.readBool();
517  break;
518  }
519  case 600: {
520  bitField0_ |= 0x00000020;
521  useErwaHeuristic_ = input.readBool();
522  break;
523  }
524  case 609: {
525  bitField0_ |= 0x00000040;
526  initialVariablesActivity_ = input.readDouble();
527  break;
528  }
529  case 616: {
530  bitField0_ |= 0x00000080;
531  alsoBumpVariablesInConflictReasons_ = input.readBool();
532  break;
533  }
534  case 624: {
535  bitField2_ |= 0x00001000;
536  useOverloadCheckerInCumulativeConstraint_ = input.readBool();
537  break;
538  }
539  case 632: {
540  bitField2_ |= 0x00002000;
541  useTimetableEdgeFindingInCumulativeConstraint_ = input.readBool();
542  break;
543  }
544  case 640: {
545  bitField2_ |= 0x00004000;
546  useDisjunctiveConstraintInCumulativeConstraint_ = input.readBool();
547  break;
548  }
549  case 656: {
550  int rawValue = input.readEnum();
551  @SuppressWarnings("deprecation")
552  com.google.ortools.sat.SatParameters.SearchBranching value = com.google.ortools.sat.SatParameters.SearchBranching.valueOf(rawValue);
553  if (value == null) {
554  unknownFields.mergeVarintField(82, rawValue);
555  } else {
556  bitField3_ |= 0x00000002;
557  searchBranching_ = rawValue;
558  }
559  break;
560  }
561  case 664: {
562  bitField3_ |= 0x00000400;
563  optimizeWithCore_ = input.readBool();
564  break;
565  }
566  case 672: {
567  bitField2_ |= 0x00000040;
568  findMultipleCores_ = input.readBool();
569  break;
570  }
571  case 680: {
572  bitField3_ |= 0x00001000;
573  optimizeWithMaxHs_ = input.readBool();
574  break;
575  }
576  case 688: {
577  bitField1_ |= 0x01000000;
578  cpModelPresolve_ = input.readBool();
579  break;
580  }
581  case 696: {
582  bitField3_ |= 0x00002000;
583  enumerateAllSolutions_ = input.readBool();
584  break;
585  }
586  case 704: {
587  bitField1_ |= 0x00100000;
588  presolveBlockedClause_ = input.readBool();
589  break;
590  }
591  case 712: {
592  bitField2_ |= 0x00000080;
593  coverOptimization_ = input.readBool();
594  break;
595  }
596  case 720: {
597  bitField2_ |= 0x00008000;
598  linearizationLevel_ = input.readInt32();
599  break;
600  }
601  case 728: {
602  bitField2_ |= 0x00020000;
603  maxNumCuts_ = input.readInt32();
604  break;
605  }
606  case 736: {
607  bitField2_ |= 0x00040000;
608  onlyAddCutsAtLevelZero_ = input.readBool();
609  break;
610  }
611  case 744: {
612  bitField1_ |= 0x10000000;
613  cpModelUseSatPresolve_ = input.readBool();
614  break;
615  }
616  case 752: {
617  bitField3_ |= 0x00000008;
618  exploitIntegerLpSolution_ = input.readBool();
619  break;
620  }
621  case 760: {
622  bitField3_ |= 0x00010000;
623  autoDetectGreaterThanAtLeastOneOf_ = input.readBool();
624  break;
625  }
626  case 768: {
627  bitField0_ |= 0x00040000;
628  minimizeWithPropagationRestartPeriod_ = input.readInt32();
629  break;
630  }
631  case 776: {
632  bitField0_ |= 0x00080000;
633  minimizeWithPropagationNumDecisions_ = input.readInt32();
634  break;
635  }
636  case 784: {
637  bitField3_ |= 0x00020000;
638  stopAfterFirstSolution_ = input.readBool();
639  break;
640  }
641  case 792: {
642  bitField3_ |= 0x00000800;
643  binarySearchNumConflicts_ = input.readInt32();
644  break;
645  }
646  case 800: {
647  bitField3_ |= 0x00080000;
648  numSearchWorkers_ = input.readInt32();
649  break;
650  }
651  case 808: {
652  bitField3_ |= 0x02000000;
653  useLnsOnly_ = input.readBool();
654  break;
655  }
656  case 824: {
657  bitField3_ |= 0x80000000;
658  randomizeSearch_ = input.readBool();
659  break;
660  }
661  case 832: {
662  bitField4_ |= 0x00000001;
663  searchRandomizationTolerance_ = input.readInt64();
664  break;
665  }
666  case 840: {
667  bitField3_ |= 0x04000000;
668  lnsFocusOnDecisionVariables_ = input.readBool();
669  break;
670  }
671  case 848: {
672  bitField3_ |= 0x00008000;
673  instantiateAllVariables_ = input.readBool();
674  break;
675  }
676  case 856: {
677  bitField2_ |= 0x00010000;
678  booleanEncodingLevel_ = input.readInt32();
679  break;
680  }
681  case 864: {
682  bitField4_ |= 0x00000002;
683  useOptionalVariables_ = input.readBool();
684  break;
685  }
686  case 872: {
687  bitField4_ |= 0x00000004;
688  useExactLpReason_ = input.readBool();
689  break;
690  }
691  case 880: {
692  bitField1_ |= 0x08000000;
693  cpModelProbingLevel_ = input.readInt32();
694  break;
695  }
696  case 888: {
697  bitField2_ |= 0x00080000;
698  addKnapsackCuts_ = input.readBool();
699  break;
700  }
701  case 896: {
702  bitField2_ |= 0x02000000;
703  addLpConstraintsLazily_ = input.readBool();
704  break;
705  }
706  case 904: {
707  bitField3_ |= 0x00800000;
708  shareObjectiveBounds_ = input.readBool();
709  break;
710  }
711  case 912: {
712  bitField3_ |= 0x01000000;
713  shareLevelZeroBounds_ = input.readBool();
714  break;
715  }
716  case 921: {
717  bitField2_ |= 0x04000000;
718  minOrthogonalityForLpConstraints_ = input.readDouble();
719  break;
720  }
721  case 928: {
722  bitField3_ |= 0x00000010;
723  exploitAllLpSolution_ = input.readBool();
724  break;
725  }
726  case 936: {
727  bitField2_ |= 0x00100000;
728  addCgCuts_ = input.readBool();
729  break;
730  }
731  case 952: {
732  bitField2_ |= 0x01000000;
733  maxIntegerRoundingScaling_ = input.readInt32();
734  break;
735  }
736  case 960: {
737  bitField2_ |= 0x00200000;
738  addMirCuts_ = input.readBool();
739  break;
740  }
741  case 968: {
742  bitField2_ |= 0x10000000;
743  maxConsecutiveInactiveCount_ = input.readInt32();
744  break;
745  }
746  case 976: {
747  bitField3_ |= 0x00000001;
748  newConstraintsBatchSize_ = input.readInt32();
749  break;
750  }
751  case 984: {
752  bitField3_ |= 0x00000200;
753  pseudoCostReliabilityThreshold_ = input.readInt64();
754  break;
755  }
756  case 993: {
757  bitField4_ |= 0x00000080;
758  mipMaxBound_ = input.readDouble();
759  break;
760  }
761  case 1001: {
762  bitField4_ |= 0x00000100;
763  mipVarScaling_ = input.readDouble();
764  break;
765  }
766  case 1009: {
767  bitField4_ |= 0x00000200;
768  mipWantedPrecision_ = input.readDouble();
769  break;
770  }
771  case 1016: {
772  bitField4_ |= 0x00000400;
773  mipMaxActivityExponent_ = input.readInt32();
774  break;
775  }
776  case 1025: {
777  bitField4_ |= 0x00000800;
778  mipCheckPrecision_ = input.readDouble();
779  break;
780  }
781  case 1032: {
782  bitField3_ |= 0x08000000;
783  useRinsLns_ = input.readBool();
784  break;
785  }
786  case 1040: {
787  bitField3_ |= 0x00000020;
788  exploitBestSolution_ = input.readBool();
789  break;
790  }
791  case 1048: {
792  bitField3_ |= 0x00000080;
793  exploitObjective_ = input.readBool();
794  break;
795  }
796  case 1056: {
797  bitField3_ |= 0x00004000;
798  fillTightenedDomainsInResponse_ = input.readBool();
799  break;
800  }
801  case 1064: {
802  bitField4_ |= 0x00000010;
803  useCombinedNoOverlap_ = input.readBool();
804  break;
805  }
806  case 1072: {
807  bitField3_ |= 0x00200000;
808  interleaveBatchSize_ = input.readInt32();
809  break;
810  }
811  case 1080: {
812  bitField4_ |= 0x00000020;
813  catchSigintSignal_ = input.readBool();
814  break;
815  }
816  case 1088: {
817  bitField3_ |= 0x00100000;
818  interleaveSearch_ = input.readBool();
819  break;
820  }
821  case 1096: {
822  bitField3_ |= 0x40000000;
823  diversifyLnsParams_ = input.readBool();
824  break;
825  }
826  case 1104: {
827  bitField1_ |= 0x00800000;
828  maxPresolveIterations_ = input.readInt32();
829  break;
830  }
831  case 1112: {
832  bitField4_ |= 0x00000008;
833  useBranchingInLp_ = input.readBool();
834  break;
835  }
836  case 1120: {
837  bitField1_ |= 0x40000000;
838  expandElementConstraints_ = input.readBool();
839  break;
840  }
841  case 1128: {
842  bitField3_ |= 0x00400000;
843  reduceMemoryUsageInInterleaveMode_ = input.readBool();
844  break;
845  }
846  case 1136: {
847  bitField3_ |= 0x00000100;
848  probingPeriodAtRoot_ = input.readInt64();
849  break;
850  }
851  case 1144: {
852  bitField1_ |= 0x80000000;
853  expandAutomatonConstraints_ = input.readBool();
854  break;
855  }
856  case 1152: {
857  bitField4_ |= 0x00000040;
858  useImpliedBounds_ = input.readBool();
859  break;
860  }
861  case 1161: {
862  bitField2_ |= 0x00000002;
863  mergeNoOverlapWorkLimit_ = input.readDouble();
864  break;
865  }
866  case 1169: {
867  bitField2_ |= 0x00000004;
868  mergeAtMostOneWorkLimit_ = input.readDouble();
869  break;
870  }
871  case 1176: {
872  bitField2_ |= 0x00000008;
873  presolveSubstitutionLevel_ = input.readInt32();
874  break;
875  }
876  case 1184: {
877  bitField2_ |= 0x00400000;
878  maxAllDiffCutSize_ = input.readInt32();
879  break;
880  }
881  case 1192: {
882  bitField3_ |= 0x00040000;
883  stopAfterPresolve_ = input.readBool();
884  break;
885  }
886  case 1200: {
887  bitField3_ |= 0x20000000;
888  useRelaxationLns_ = input.readBool();
889  break;
890  }
891  case 1208: {
892  bitField1_ |= 0x04000000;
893  cpModelMaxNumPresolveOperations_ = input.readInt32();
894  break;
895  }
896  case 1216: {
897  bitField2_ |= 0x00800000;
898  addLinMaxCuts_ = input.readBool();
899  break;
900  }
901  case 1224: {
902  bitField3_ |= 0x00000004;
903  hintConflictLimit_ = input.readInt32();
904  break;
905  }
906  case 1232: {
907  bitField2_ |= 0x08000000;
908  maxCutRoundsAtLevelZero_ = input.readInt32();
909  break;
910  }
911  case 1241: {
912  bitField2_ |= 0x20000000;
913  cutMaxActiveCountValue_ = input.readDouble();
914  break;
915  }
916  case 1249: {
917  bitField2_ |= 0x40000000;
918  cutActiveCountDecay_ = input.readDouble();
919  break;
920  }
921  case 1256: {
922  bitField2_ |= 0x80000000;
923  cutCleanupTarget_ = input.readInt32();
924  break;
925  }
926  case 1264: {
927  bitField2_ |= 0x00000001;
928  expandTableConstraints_ = input.readBool();
929  break;
930  }
931  case 1273: {
932  bitField1_ |= 0x00000200;
933  absoluteGapLimit_ = input.readDouble();
934  break;
935  }
936  case 1281: {
937  bitField1_ |= 0x00000400;
938  relativeGapLimit_ = input.readDouble();
939  break;
940  }
941  case 1288: {
942  bitField3_ |= 0x00000040;
943  exploitRelaxationSolution_ = input.readBool();
944  break;
945  }
946  case 1296: {
947  bitField1_ |= 0x02000000;
948  cpModelPostsolveWithFullSolver_ = input.readBool();
949  break;
950  }
951  case 1304: {
952  bitField1_ |= 0x20000000;
953  useSatInprocessing_ = input.readBool();
954  break;
955  }
956  case 1312: {
957  bitField3_ |= 0x10000000;
958  useFeasibilityPump_ = input.readBool();
959  break;
960  }
961  default: {
962  if (!parseUnknownField(
963  input, unknownFields, extensionRegistry, tag)) {
964  done = true;
965  }
966  break;
967  }
968  }
969  }
970  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
971  throw e.setUnfinishedMessage(this);
972  } catch (java.io.IOException e) {
973  throw new com.google.protobuf.InvalidProtocolBufferException(
974  e).setUnfinishedMessage(this);
975  } finally {
976  if (((mutable_bitField0_ & 0x08000000) != 0)) {
977  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
978  }
979  this.unknownFields = unknownFields.build();
980  makeExtensionsImmutable();
981  }
982  }
983  public static final com.google.protobuf.Descriptors.Descriptor
985  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
986  }
987 
988  @java.lang.Override
989  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
991  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
992  .ensureFieldAccessorsInitialized(
994  }
995 
1004  public enum VariableOrder
1005  implements com.google.protobuf.ProtocolMessageEnum {
1022  ;
1023 
1031  public static final int IN_ORDER_VALUE = 0;
1035  public static final int IN_REVERSE_ORDER_VALUE = 1;
1039  public static final int IN_RANDOM_ORDER_VALUE = 2;
1040 
1041 
1042  public final int getNumber() {
1043  return value;
1044  }
1045 
1051  @java.lang.Deprecated
1052  public static VariableOrder valueOf(int value) {
1053  return forNumber(value);
1054  }
1055 
1060  public static VariableOrder forNumber(int value) {
1061  switch (value) {
1062  case 0: return IN_ORDER;
1063  case 1: return IN_REVERSE_ORDER;
1064  case 2: return IN_RANDOM_ORDER;
1065  default: return null;
1066  }
1067  }
1068 
1069  public static com.google.protobuf.Internal.EnumLiteMap<VariableOrder>
1071  return internalValueMap;
1072  }
1073  private static final com.google.protobuf.Internal.EnumLiteMap<
1074  VariableOrder> internalValueMap =
1075  new com.google.protobuf.Internal.EnumLiteMap<VariableOrder>() {
1076  public VariableOrder findValueByNumber(int number) {
1077  return VariableOrder.forNumber(number);
1078  }
1079  };
1080 
1081  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1083  return getDescriptor().getValues().get(ordinal());
1084  }
1085  public final com.google.protobuf.Descriptors.EnumDescriptor
1087  return getDescriptor();
1088  }
1089  public static final com.google.protobuf.Descriptors.EnumDescriptor
1091  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
1092  }
1093 
1094  private static final VariableOrder[] VALUES = values();
1095 
1096  public static VariableOrder valueOf(
1097  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1098  if (desc.getType() != getDescriptor()) {
1099  throw new java.lang.IllegalArgumentException(
1100  "EnumValueDescriptor is not for this type.");
1101  }
1102  return VALUES[desc.getIndex()];
1103  }
1104 
1105  private final int value;
1106 
1107  private VariableOrder(int value) {
1108  this.value = value;
1109  }
1110 
1111  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.VariableOrder)
1112  }
1113 
1125  public enum Polarity
1126  implements com.google.protobuf.ProtocolMessageEnum {
1158  ;
1159 
1163  public static final int POLARITY_TRUE_VALUE = 0;
1167  public static final int POLARITY_FALSE_VALUE = 1;
1171  public static final int POLARITY_RANDOM_VALUE = 2;
1182  public static final int POLARITY_WEIGHTED_SIGN_VALUE = 3;
1190  public static final int POLARITY_REVERSE_WEIGHTED_SIGN_VALUE = 4;
1191 
1192 
1193  public final int getNumber() {
1194  return value;
1195  }
1196 
1202  @java.lang.Deprecated
1203  public static Polarity valueOf(int value) {
1204  return forNumber(value);
1205  }
1206 
1211  public static Polarity forNumber(int value) {
1212  switch (value) {
1213  case 0: return POLARITY_TRUE;
1214  case 1: return POLARITY_FALSE;
1215  case 2: return POLARITY_RANDOM;
1216  case 3: return POLARITY_WEIGHTED_SIGN;
1217  case 4: return POLARITY_REVERSE_WEIGHTED_SIGN;
1218  default: return null;
1219  }
1220  }
1221 
1222  public static com.google.protobuf.Internal.EnumLiteMap<Polarity>
1224  return internalValueMap;
1225  }
1226  private static final com.google.protobuf.Internal.EnumLiteMap<
1227  Polarity> internalValueMap =
1228  new com.google.protobuf.Internal.EnumLiteMap<Polarity>() {
1229  public Polarity findValueByNumber(int number) {
1230  return Polarity.forNumber(number);
1231  }
1232  };
1233 
1234  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1236  return getDescriptor().getValues().get(ordinal());
1237  }
1238  public final com.google.protobuf.Descriptors.EnumDescriptor
1240  return getDescriptor();
1241  }
1242  public static final com.google.protobuf.Descriptors.EnumDescriptor
1244  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
1245  }
1246 
1247  private static final Polarity[] VALUES = values();
1248 
1249  public static Polarity valueOf(
1250  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1251  if (desc.getType() != getDescriptor()) {
1252  throw new java.lang.IllegalArgumentException(
1253  "EnumValueDescriptor is not for this type.");
1254  }
1255  return VALUES[desc.getIndex()];
1256  }
1257 
1258  private final int value;
1259 
1260  private Polarity(int value) {
1261  this.value = value;
1262  }
1263 
1264  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.Polarity)
1265  }
1266 
1275  implements com.google.protobuf.ProtocolMessageEnum {
1279  NONE(0),
1292  ;
1293 
1297  public static final int NONE_VALUE = 0;
1301  public static final int SIMPLE_VALUE = 1;
1305  public static final int RECURSIVE_VALUE = 2;
1309  public static final int EXPERIMENTAL_VALUE = 3;
1310 
1311 
1312  public final int getNumber() {
1313  return value;
1314  }
1315 
1321  @java.lang.Deprecated
1322  public static ConflictMinimizationAlgorithm valueOf(int value) {
1323  return forNumber(value);
1324  }
1325 
1330  public static ConflictMinimizationAlgorithm forNumber(int value) {
1331  switch (value) {
1332  case 0: return NONE;
1333  case 1: return SIMPLE;
1334  case 2: return RECURSIVE;
1335  case 3: return EXPERIMENTAL;
1336  default: return null;
1337  }
1338  }
1339 
1340  public static com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>
1342  return internalValueMap;
1343  }
1344  private static final com.google.protobuf.Internal.EnumLiteMap<
1345  ConflictMinimizationAlgorithm> internalValueMap =
1346  new com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>() {
1347  public ConflictMinimizationAlgorithm findValueByNumber(int number) {
1349  }
1350  };
1351 
1352  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1354  return getDescriptor().getValues().get(ordinal());
1355  }
1356  public final com.google.protobuf.Descriptors.EnumDescriptor
1358  return getDescriptor();
1359  }
1360  public static final com.google.protobuf.Descriptors.EnumDescriptor
1362  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
1363  }
1364 
1365  private static final ConflictMinimizationAlgorithm[] VALUES = values();
1366 
1368  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1369  if (desc.getType() != getDescriptor()) {
1370  throw new java.lang.IllegalArgumentException(
1371  "EnumValueDescriptor is not for this type.");
1372  }
1373  return VALUES[desc.getIndex()];
1374  }
1375 
1376  private final int value;
1377 
1378  private ConflictMinimizationAlgorithm(int value) {
1379  this.value = value;
1380  }
1381 
1382  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ConflictMinimizationAlgorithm)
1383  }
1384 
1394  implements com.google.protobuf.ProtocolMessageEnum {
1415  ;
1416 
1420  public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
1424  public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
1428  public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
1432  public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
1436  public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
1437 
1438 
1439  public final int getNumber() {
1440  return value;
1441  }
1442 
1448  @java.lang.Deprecated
1449  public static BinaryMinizationAlgorithm valueOf(int value) {
1450  return forNumber(value);
1451  }
1452 
1457  public static BinaryMinizationAlgorithm forNumber(int value) {
1458  switch (value) {
1459  case 0: return NO_BINARY_MINIMIZATION;
1460  case 1: return BINARY_MINIMIZATION_FIRST;
1461  case 4: return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
1462  case 2: return BINARY_MINIMIZATION_WITH_REACHABILITY;
1463  case 3: return EXPERIMENTAL_BINARY_MINIMIZATION;
1464  default: return null;
1465  }
1466  }
1467 
1468  public static com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>
1470  return internalValueMap;
1471  }
1472  private static final com.google.protobuf.Internal.EnumLiteMap<
1473  BinaryMinizationAlgorithm> internalValueMap =
1474  new com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>() {
1475  public BinaryMinizationAlgorithm findValueByNumber(int number) {
1476  return BinaryMinizationAlgorithm.forNumber(number);
1477  }
1478  };
1479 
1480  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1482  return getDescriptor().getValues().get(ordinal());
1483  }
1484  public final com.google.protobuf.Descriptors.EnumDescriptor
1486  return getDescriptor();
1487  }
1488  public static final com.google.protobuf.Descriptors.EnumDescriptor
1490  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
1491  }
1492 
1493  private static final BinaryMinizationAlgorithm[] VALUES = values();
1494 
1496  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1497  if (desc.getType() != getDescriptor()) {
1498  throw new java.lang.IllegalArgumentException(
1499  "EnumValueDescriptor is not for this type.");
1500  }
1501  return VALUES[desc.getIndex()];
1502  }
1503 
1504  private final int value;
1505 
1506  private BinaryMinizationAlgorithm(int value) {
1507  this.value = value;
1508  }
1509 
1510  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.BinaryMinizationAlgorithm)
1511  }
1512 
1522  public enum ClauseProtection
1523  implements com.google.protobuf.ProtocolMessageEnum {
1548  ;
1549 
1557  public static final int PROTECTION_NONE_VALUE = 0;
1565  public static final int PROTECTION_ALWAYS_VALUE = 1;
1573  public static final int PROTECTION_LBD_VALUE = 2;
1574 
1575 
1576  public final int getNumber() {
1577  return value;
1578  }
1579 
1585  @java.lang.Deprecated
1586  public static ClauseProtection valueOf(int value) {
1587  return forNumber(value);
1588  }
1589 
1594  public static ClauseProtection forNumber(int value) {
1595  switch (value) {
1596  case 0: return PROTECTION_NONE;
1597  case 1: return PROTECTION_ALWAYS;
1598  case 2: return PROTECTION_LBD;
1599  default: return null;
1600  }
1601  }
1602 
1603  public static com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>
1605  return internalValueMap;
1606  }
1607  private static final com.google.protobuf.Internal.EnumLiteMap<
1608  ClauseProtection> internalValueMap =
1609  new com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>() {
1610  public ClauseProtection findValueByNumber(int number) {
1611  return ClauseProtection.forNumber(number);
1612  }
1613  };
1614 
1615  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1617  return getDescriptor().getValues().get(ordinal());
1618  }
1619  public final com.google.protobuf.Descriptors.EnumDescriptor
1621  return getDescriptor();
1622  }
1623  public static final com.google.protobuf.Descriptors.EnumDescriptor
1625  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
1626  }
1627 
1628  private static final ClauseProtection[] VALUES = values();
1629 
1630  public static ClauseProtection valueOf(
1631  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1632  if (desc.getType() != getDescriptor()) {
1633  throw new java.lang.IllegalArgumentException(
1634  "EnumValueDescriptor is not for this type.");
1635  }
1636  return VALUES[desc.getIndex()];
1637  }
1638 
1639  private final int value;
1640 
1641  private ClauseProtection(int value) {
1642  this.value = value;
1643  }
1644 
1645  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseProtection)
1646  }
1647 
1656  public enum ClauseOrdering
1657  implements com.google.protobuf.ProtocolMessageEnum {
1674  ;
1675 
1683  public static final int CLAUSE_ACTIVITY_VALUE = 0;
1691  public static final int CLAUSE_LBD_VALUE = 1;
1692 
1693 
1694  public final int getNumber() {
1695  return value;
1696  }
1697 
1703  @java.lang.Deprecated
1704  public static ClauseOrdering valueOf(int value) {
1705  return forNumber(value);
1706  }
1707 
1712  public static ClauseOrdering forNumber(int value) {
1713  switch (value) {
1714  case 0: return CLAUSE_ACTIVITY;
1715  case 1: return CLAUSE_LBD;
1716  default: return null;
1717  }
1718  }
1719 
1720  public static com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>
1722  return internalValueMap;
1723  }
1724  private static final com.google.protobuf.Internal.EnumLiteMap<
1725  ClauseOrdering> internalValueMap =
1726  new com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>() {
1727  public ClauseOrdering findValueByNumber(int number) {
1728  return ClauseOrdering.forNumber(number);
1729  }
1730  };
1731 
1732  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1734  return getDescriptor().getValues().get(ordinal());
1735  }
1736  public final com.google.protobuf.Descriptors.EnumDescriptor
1738  return getDescriptor();
1739  }
1740  public static final com.google.protobuf.Descriptors.EnumDescriptor
1742  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
1743  }
1744 
1745  private static final ClauseOrdering[] VALUES = values();
1746 
1747  public static ClauseOrdering valueOf(
1748  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1749  if (desc.getType() != getDescriptor()) {
1750  throw new java.lang.IllegalArgumentException(
1751  "EnumValueDescriptor is not for this type.");
1752  }
1753  return VALUES[desc.getIndex()];
1754  }
1755 
1756  private final int value;
1757 
1758  private ClauseOrdering(int value) {
1759  this.value = value;
1760  }
1761 
1762  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseOrdering)
1763  }
1764 
1776  public enum RestartAlgorithm
1777  implements com.google.protobuf.ProtocolMessageEnum {
1814  ;
1815 
1819  public static final int NO_RESTART_VALUE = 0;
1827  public static final int LUBY_RESTART_VALUE = 1;
1835  public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
1843  public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
1851  public static final int FIXED_RESTART_VALUE = 4;
1852 
1853 
1854  public final int getNumber() {
1855  return value;
1856  }
1857 
1863  @java.lang.Deprecated
1864  public static RestartAlgorithm valueOf(int value) {
1865  return forNumber(value);
1866  }
1867 
1872  public static RestartAlgorithm forNumber(int value) {
1873  switch (value) {
1874  case 0: return NO_RESTART;
1875  case 1: return LUBY_RESTART;
1876  case 2: return DL_MOVING_AVERAGE_RESTART;
1877  case 3: return LBD_MOVING_AVERAGE_RESTART;
1878  case 4: return FIXED_RESTART;
1879  default: return null;
1880  }
1881  }
1882 
1883  public static com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>
1885  return internalValueMap;
1886  }
1887  private static final com.google.protobuf.Internal.EnumLiteMap<
1888  RestartAlgorithm> internalValueMap =
1889  new com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>() {
1890  public RestartAlgorithm findValueByNumber(int number) {
1891  return RestartAlgorithm.forNumber(number);
1892  }
1893  };
1894 
1895  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1897  return getDescriptor().getValues().get(ordinal());
1898  }
1899  public final com.google.protobuf.Descriptors.EnumDescriptor
1901  return getDescriptor();
1902  }
1903  public static final com.google.protobuf.Descriptors.EnumDescriptor
1905  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
1906  }
1907 
1908  private static final RestartAlgorithm[] VALUES = values();
1909 
1910  public static RestartAlgorithm valueOf(
1911  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1912  if (desc.getType() != getDescriptor()) {
1913  throw new java.lang.IllegalArgumentException(
1914  "EnumValueDescriptor is not for this type.");
1915  }
1916  return VALUES[desc.getIndex()];
1917  }
1918 
1919  private final int value;
1920 
1921  private RestartAlgorithm(int value) {
1922  this.value = value;
1923  }
1924 
1925  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.RestartAlgorithm)
1926  }
1927 
1936  implements com.google.protobuf.ProtocolMessageEnum {
1949  ;
1950 
1954  public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
1958  public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
1962  public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
1963 
1964 
1965  public final int getNumber() {
1966  return value;
1967  }
1968 
1974  @java.lang.Deprecated
1975  public static MaxSatAssumptionOrder valueOf(int value) {
1976  return forNumber(value);
1977  }
1978 
1983  public static MaxSatAssumptionOrder forNumber(int value) {
1984  switch (value) {
1985  case 0: return DEFAULT_ASSUMPTION_ORDER;
1986  case 1: return ORDER_ASSUMPTION_BY_DEPTH;
1987  case 2: return ORDER_ASSUMPTION_BY_WEIGHT;
1988  default: return null;
1989  }
1990  }
1991 
1992  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>
1994  return internalValueMap;
1995  }
1996  private static final com.google.protobuf.Internal.EnumLiteMap<
1997  MaxSatAssumptionOrder> internalValueMap =
1998  new com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>() {
1999  public MaxSatAssumptionOrder findValueByNumber(int number) {
2000  return MaxSatAssumptionOrder.forNumber(number);
2001  }
2002  };
2003 
2004  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2006  return getDescriptor().getValues().get(ordinal());
2007  }
2008  public final com.google.protobuf.Descriptors.EnumDescriptor
2010  return getDescriptor();
2011  }
2012  public static final com.google.protobuf.Descriptors.EnumDescriptor
2014  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
2015  }
2016 
2017  private static final MaxSatAssumptionOrder[] VALUES = values();
2018 
2020  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2021  if (desc.getType() != getDescriptor()) {
2022  throw new java.lang.IllegalArgumentException(
2023  "EnumValueDescriptor is not for this type.");
2024  }
2025  return VALUES[desc.getIndex()];
2026  }
2027 
2028  private final int value;
2029 
2030  private MaxSatAssumptionOrder(int value) {
2031  this.value = value;
2032  }
2033 
2034  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatAssumptionOrder)
2035  }
2036 
2045  implements com.google.protobuf.ProtocolMessageEnum {
2074  ;
2075 
2083  public static final int STRATIFICATION_NONE_VALUE = 0;
2092  public static final int STRATIFICATION_DESCENT_VALUE = 1;
2103  public static final int STRATIFICATION_ASCENT_VALUE = 2;
2104 
2105 
2106  public final int getNumber() {
2107  return value;
2108  }
2109 
2115  @java.lang.Deprecated
2116  public static MaxSatStratificationAlgorithm valueOf(int value) {
2117  return forNumber(value);
2118  }
2119 
2124  public static MaxSatStratificationAlgorithm forNumber(int value) {
2125  switch (value) {
2126  case 0: return STRATIFICATION_NONE;
2127  case 1: return STRATIFICATION_DESCENT;
2128  case 2: return STRATIFICATION_ASCENT;
2129  default: return null;
2130  }
2131  }
2132 
2133  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>
2135  return internalValueMap;
2136  }
2137  private static final com.google.protobuf.Internal.EnumLiteMap<
2138  MaxSatStratificationAlgorithm> internalValueMap =
2139  new com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>() {
2140  public MaxSatStratificationAlgorithm findValueByNumber(int number) {
2142  }
2143  };
2144 
2145  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2147  return getDescriptor().getValues().get(ordinal());
2148  }
2149  public final com.google.protobuf.Descriptors.EnumDescriptor
2151  return getDescriptor();
2152  }
2153  public static final com.google.protobuf.Descriptors.EnumDescriptor
2155  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
2156  }
2157 
2158  private static final MaxSatStratificationAlgorithm[] VALUES = values();
2159 
2161  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2162  if (desc.getType() != getDescriptor()) {
2163  throw new java.lang.IllegalArgumentException(
2164  "EnumValueDescriptor is not for this type.");
2165  }
2166  return VALUES[desc.getIndex()];
2167  }
2168 
2169  private final int value;
2170 
2171  private MaxSatStratificationAlgorithm(int value) {
2172  this.value = value;
2173  }
2174 
2175  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatStratificationAlgorithm)
2176  }
2177 
2185  public enum SearchBranching
2186  implements com.google.protobuf.ProtocolMessageEnum {
2254  ;
2255 
2264  public static final int AUTOMATIC_SEARCH_VALUE = 0;
2274  public static final int FIXED_SEARCH_VALUE = 1;
2282  public static final int PORTFOLIO_SEARCH_VALUE = 2;
2292  public static final int LP_SEARCH_VALUE = 3;
2302  public static final int PSEUDO_COST_SEARCH_VALUE = 4;
2312  public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
2322  public static final int HINT_SEARCH_VALUE = 6;
2323 
2324 
2325  public final int getNumber() {
2326  return value;
2327  }
2328 
2334  @java.lang.Deprecated
2335  public static SearchBranching valueOf(int value) {
2336  return forNumber(value);
2337  }
2338 
2343  public static SearchBranching forNumber(int value) {
2344  switch (value) {
2345  case 0: return AUTOMATIC_SEARCH;
2346  case 1: return FIXED_SEARCH;
2347  case 2: return PORTFOLIO_SEARCH;
2348  case 3: return LP_SEARCH;
2349  case 4: return PSEUDO_COST_SEARCH;
2350  case 5: return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
2351  case 6: return HINT_SEARCH;
2352  default: return null;
2353  }
2354  }
2355 
2356  public static com.google.protobuf.Internal.EnumLiteMap<SearchBranching>
2358  return internalValueMap;
2359  }
2360  private static final com.google.protobuf.Internal.EnumLiteMap<
2361  SearchBranching> internalValueMap =
2362  new com.google.protobuf.Internal.EnumLiteMap<SearchBranching>() {
2363  public SearchBranching findValueByNumber(int number) {
2364  return SearchBranching.forNumber(number);
2365  }
2366  };
2367 
2368  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2370  return getDescriptor().getValues().get(ordinal());
2371  }
2372  public final com.google.protobuf.Descriptors.EnumDescriptor
2374  return getDescriptor();
2375  }
2376  public static final com.google.protobuf.Descriptors.EnumDescriptor
2378  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
2379  }
2380 
2381  private static final SearchBranching[] VALUES = values();
2382 
2383  public static SearchBranching valueOf(
2384  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2385  if (desc.getType() != getDescriptor()) {
2386  throw new java.lang.IllegalArgumentException(
2387  "EnumValueDescriptor is not for this type.");
2388  }
2389  return VALUES[desc.getIndex()];
2390  }
2391 
2392  private final int value;
2393 
2394  private SearchBranching(int value) {
2395  this.value = value;
2396  }
2397 
2398  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.SearchBranching)
2399  }
2400 
2401  private int bitField0_;
2402  private int bitField1_;
2403  private int bitField2_;
2404  private int bitField3_;
2405  private int bitField4_;
2406  public static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER = 1;
2407  private int preferredVariableOrder_;
2412  @java.lang.Override public boolean hasPreferredVariableOrder() {
2413  return ((bitField0_ & 0x00000001) != 0);
2414  }
2420  @SuppressWarnings("deprecation")
2422  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
2423  }
2424 
2425  public static final int INITIAL_POLARITY_FIELD_NUMBER = 2;
2426  private int initialPolarity_;
2431  @java.lang.Override public boolean hasInitialPolarity() {
2432  return ((bitField0_ & 0x00000002) != 0);
2433  }
2439  @SuppressWarnings("deprecation")
2441  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
2442  }
2443 
2444  public static final int USE_PHASE_SAVING_FIELD_NUMBER = 44;
2445  private boolean usePhaseSaving_;
2460  @java.lang.Override
2461  public boolean hasUsePhaseSaving() {
2462  return ((bitField0_ & 0x00000004) != 0);
2463  }
2478  @java.lang.Override
2479  public boolean getUsePhaseSaving() {
2480  return usePhaseSaving_;
2481  }
2482 
2483  public static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER = 45;
2484  private double randomPolarityRatio_;
2497  @java.lang.Override
2498  public boolean hasRandomPolarityRatio() {
2499  return ((bitField0_ & 0x00000008) != 0);
2500  }
2513  @java.lang.Override
2514  public double getRandomPolarityRatio() {
2515  return randomPolarityRatio_;
2516  }
2517 
2518  public static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER = 32;
2519  private double randomBranchesRatio_;
2530  @java.lang.Override
2531  public boolean hasRandomBranchesRatio() {
2532  return ((bitField0_ & 0x00000010) != 0);
2533  }
2544  @java.lang.Override
2545  public double getRandomBranchesRatio() {
2546  return randomBranchesRatio_;
2547  }
2548 
2549  public static final int USE_ERWA_HEURISTIC_FIELD_NUMBER = 75;
2550  private boolean useErwaHeuristic_;
2561  @java.lang.Override
2562  public boolean hasUseErwaHeuristic() {
2563  return ((bitField0_ & 0x00000020) != 0);
2564  }
2575  @java.lang.Override
2576  public boolean getUseErwaHeuristic() {
2577  return useErwaHeuristic_;
2578  }
2579 
2580  public static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER = 76;
2581  private double initialVariablesActivity_;
2595  @java.lang.Override
2596  public boolean hasInitialVariablesActivity() {
2597  return ((bitField0_ & 0x00000040) != 0);
2598  }
2612  @java.lang.Override
2614  return initialVariablesActivity_;
2615  }
2616 
2618  private boolean alsoBumpVariablesInConflictReasons_;
2630  @java.lang.Override
2632  return ((bitField0_ & 0x00000080) != 0);
2633  }
2645  @java.lang.Override
2647  return alsoBumpVariablesInConflictReasons_;
2648  }
2649 
2650  public static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER = 4;
2651  private int minimizationAlgorithm_;
2656  @java.lang.Override public boolean hasMinimizationAlgorithm() {
2657  return ((bitField0_ & 0x00000100) != 0);
2658  }
2664  @SuppressWarnings("deprecation")
2666  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
2667  }
2668 
2669  public static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER = 34;
2670  private int binaryMinimizationAlgorithm_;
2675  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
2676  return ((bitField0_ & 0x00000200) != 0);
2677  }
2683  @SuppressWarnings("deprecation")
2686  }
2687 
2689  private boolean subsumptionDuringConflictAnalysis_;
2701  @java.lang.Override
2703  return ((bitField0_ & 0x00000400) != 0);
2704  }
2716  @java.lang.Override
2718  return subsumptionDuringConflictAnalysis_;
2719  }
2720 
2721  public static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER = 11;
2722  private int clauseCleanupPeriod_;
2731  @java.lang.Override
2732  public boolean hasClauseCleanupPeriod() {
2733  return ((bitField0_ & 0x00000800) != 0);
2734  }
2743  @java.lang.Override
2744  public int getClauseCleanupPeriod() {
2745  return clauseCleanupPeriod_;
2746  }
2747 
2748  public static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER = 13;
2749  private int clauseCleanupTarget_;
2759  @java.lang.Override
2760  public boolean hasClauseCleanupTarget() {
2761  return ((bitField0_ & 0x00001000) != 0);
2762  }
2772  @java.lang.Override
2773  public int getClauseCleanupTarget() {
2774  return clauseCleanupTarget_;
2775  }
2776 
2777  public static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER = 58;
2778  private int clauseCleanupProtection_;
2783  @java.lang.Override public boolean hasClauseCleanupProtection() {
2784  return ((bitField0_ & 0x00002000) != 0);
2785  }
2791  @SuppressWarnings("deprecation")
2793  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
2794  }
2795 
2796  public static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER = 59;
2797  private int clauseCleanupLbdBound_;
2807  @java.lang.Override
2808  public boolean hasClauseCleanupLbdBound() {
2809  return ((bitField0_ & 0x00004000) != 0);
2810  }
2820  @java.lang.Override
2822  return clauseCleanupLbdBound_;
2823  }
2824 
2825  public static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER = 60;
2826  private int clauseCleanupOrdering_;
2831  @java.lang.Override public boolean hasClauseCleanupOrdering() {
2832  return ((bitField0_ & 0x00008000) != 0);
2833  }
2839  @SuppressWarnings("deprecation")
2841  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
2842  }
2843 
2844  public static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER = 46;
2845  private int pbCleanupIncrement_;
2854  @java.lang.Override
2855  public boolean hasPbCleanupIncrement() {
2856  return ((bitField0_ & 0x00010000) != 0);
2857  }
2866  @java.lang.Override
2867  public int getPbCleanupIncrement() {
2868  return pbCleanupIncrement_;
2869  }
2870 
2871  public static final int PB_CLEANUP_RATIO_FIELD_NUMBER = 47;
2872  private double pbCleanupRatio_;
2877  @java.lang.Override
2878  public boolean hasPbCleanupRatio() {
2879  return ((bitField0_ & 0x00020000) != 0);
2880  }
2885  @java.lang.Override
2886  public double getPbCleanupRatio() {
2887  return pbCleanupRatio_;
2888  }
2889 
2891  private int minimizeWithPropagationRestartPeriod_;
2910  @java.lang.Override
2912  return ((bitField0_ & 0x00040000) != 0);
2913  }
2932  @java.lang.Override
2934  return minimizeWithPropagationRestartPeriod_;
2935  }
2936 
2938  private int minimizeWithPropagationNumDecisions_;
2943  @java.lang.Override
2945  return ((bitField0_ & 0x00080000) != 0);
2946  }
2951  @java.lang.Override
2953  return minimizeWithPropagationNumDecisions_;
2954  }
2955 
2956  public static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER = 15;
2957  private double variableActivityDecay_;
2972  @java.lang.Override
2973  public boolean hasVariableActivityDecay() {
2974  return ((bitField0_ & 0x00100000) != 0);
2975  }
2990  @java.lang.Override
2991  public double getVariableActivityDecay() {
2992  return variableActivityDecay_;
2993  }
2994 
2995  public static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER = 16;
2996  private double maxVariableActivityValue_;
3001  @java.lang.Override
3002  public boolean hasMaxVariableActivityValue() {
3003  return ((bitField0_ & 0x00200000) != 0);
3004  }
3009  @java.lang.Override
3011  return maxVariableActivityValue_;
3012  }
3013 
3014  public static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER = 22;
3015  private double glucoseMaxDecay_;
3027  @java.lang.Override
3028  public boolean hasGlucoseMaxDecay() {
3029  return ((bitField0_ & 0x00400000) != 0);
3030  }
3042  @java.lang.Override
3043  public double getGlucoseMaxDecay() {
3044  return glucoseMaxDecay_;
3045  }
3046 
3047  public static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER = 23;
3048  private double glucoseDecayIncrement_;
3053  @java.lang.Override
3054  public boolean hasGlucoseDecayIncrement() {
3055  return ((bitField0_ & 0x00800000) != 0);
3056  }
3061  @java.lang.Override
3062  public double getGlucoseDecayIncrement() {
3063  return glucoseDecayIncrement_;
3064  }
3065 
3066  public static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER = 24;
3067  private int glucoseDecayIncrementPeriod_;
3072  @java.lang.Override
3074  return ((bitField0_ & 0x01000000) != 0);
3075  }
3080  @java.lang.Override
3082  return glucoseDecayIncrementPeriod_;
3083  }
3084 
3085  public static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER = 17;
3086  private double clauseActivityDecay_;
3095  @java.lang.Override
3096  public boolean hasClauseActivityDecay() {
3097  return ((bitField0_ & 0x02000000) != 0);
3098  }
3107  @java.lang.Override
3108  public double getClauseActivityDecay() {
3109  return clauseActivityDecay_;
3110  }
3111 
3112  public static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER = 18;
3113  private double maxClauseActivityValue_;
3118  @java.lang.Override
3119  public boolean hasMaxClauseActivityValue() {
3120  return ((bitField0_ & 0x04000000) != 0);
3121  }
3126  @java.lang.Override
3127  public double getMaxClauseActivityValue() {
3128  return maxClauseActivityValue_;
3129  }
3130 
3131  public static final int RESTART_ALGORITHMS_FIELD_NUMBER = 61;
3132  private java.util.List<java.lang.Integer> restartAlgorithms_;
3133  private static final com.google.protobuf.Internal.ListAdapter.Converter<
3134  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm> restartAlgorithms_converter_ =
3135  new com.google.protobuf.Internal.ListAdapter.Converter<
3136  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>() {
3137  public com.google.ortools.sat.SatParameters.RestartAlgorithm convert(java.lang.Integer from) {
3138  @SuppressWarnings("deprecation")
3140  return result == null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
3141  }
3142  };
3158  @java.lang.Override
3160  return new com.google.protobuf.Internal.ListAdapter<
3161  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
3162  }
3178  @java.lang.Override
3180  return restartAlgorithms_.size();
3181  }
3198  @java.lang.Override
3200  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
3201  }
3202 
3203  public static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER = 70;
3204  private volatile java.lang.Object defaultRestartAlgorithms_;
3209  @java.lang.Override
3210  public boolean hasDefaultRestartAlgorithms() {
3211  return ((bitField0_ & 0x08000000) != 0);
3212  }
3217  @java.lang.Override
3218  public java.lang.String getDefaultRestartAlgorithms() {
3219  java.lang.Object ref = defaultRestartAlgorithms_;
3220  if (ref instanceof java.lang.String) {
3221  return (java.lang.String) ref;
3222  } else {
3223  com.google.protobuf.ByteString bs =
3224  (com.google.protobuf.ByteString) ref;
3225  java.lang.String s = bs.toStringUtf8();
3226  if (bs.isValidUtf8()) {
3227  defaultRestartAlgorithms_ = s;
3228  }
3229  return s;
3230  }
3231  }
3236  @java.lang.Override
3237  public com.google.protobuf.ByteString
3239  java.lang.Object ref = defaultRestartAlgorithms_;
3240  if (ref instanceof java.lang.String) {
3241  com.google.protobuf.ByteString b =
3242  com.google.protobuf.ByteString.copyFromUtf8(
3243  (java.lang.String) ref);
3244  defaultRestartAlgorithms_ = b;
3245  return b;
3246  } else {
3247  return (com.google.protobuf.ByteString) ref;
3248  }
3249  }
3250 
3251  public static final int RESTART_PERIOD_FIELD_NUMBER = 30;
3252  private int restartPeriod_;
3262  @java.lang.Override
3263  public boolean hasRestartPeriod() {
3264  return ((bitField0_ & 0x10000000) != 0);
3265  }
3275  @java.lang.Override
3276  public int getRestartPeriod() {
3277  return restartPeriod_;
3278  }
3279 
3280  public static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER = 62;
3281  private int restartRunningWindowSize_;
3290  @java.lang.Override
3291  public boolean hasRestartRunningWindowSize() {
3292  return ((bitField0_ & 0x20000000) != 0);
3293  }
3302  @java.lang.Override
3304  return restartRunningWindowSize_;
3305  }
3306 
3307  public static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER = 63;
3308  private double restartDlAverageRatio_;
3318  @java.lang.Override
3319  public boolean hasRestartDlAverageRatio() {
3320  return ((bitField0_ & 0x40000000) != 0);
3321  }
3331  @java.lang.Override
3332  public double getRestartDlAverageRatio() {
3333  return restartDlAverageRatio_;
3334  }
3335 
3336  public static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER = 71;
3337  private double restartLbdAverageRatio_;
3342  @java.lang.Override
3343  public boolean hasRestartLbdAverageRatio() {
3344  return ((bitField0_ & 0x80000000) != 0);
3345  }
3350  @java.lang.Override
3351  public double getRestartLbdAverageRatio() {
3352  return restartLbdAverageRatio_;
3353  }
3354 
3355  public static final int USE_BLOCKING_RESTART_FIELD_NUMBER = 64;
3356  private boolean useBlockingRestart_;
3367  @java.lang.Override
3368  public boolean hasUseBlockingRestart() {
3369  return ((bitField1_ & 0x00000001) != 0);
3370  }
3381  @java.lang.Override
3382  public boolean getUseBlockingRestart() {
3383  return useBlockingRestart_;
3384  }
3385 
3386  public static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER = 65;
3387  private int blockingRestartWindowSize_;
3392  @java.lang.Override
3393  public boolean hasBlockingRestartWindowSize() {
3394  return ((bitField1_ & 0x00000002) != 0);
3395  }
3400  @java.lang.Override
3402  return blockingRestartWindowSize_;
3403  }
3404 
3405  public static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER = 66;
3406  private double blockingRestartMultiplier_;
3411  @java.lang.Override
3412  public boolean hasBlockingRestartMultiplier() {
3413  return ((bitField1_ & 0x00000004) != 0);
3414  }
3419  @java.lang.Override
3421  return blockingRestartMultiplier_;
3422  }
3423 
3425  private int numConflictsBeforeStrategyChanges_;
3436  @java.lang.Override
3438  return ((bitField1_ & 0x00000008) != 0);
3439  }
3450  @java.lang.Override
3452  return numConflictsBeforeStrategyChanges_;
3453  }
3454 
3455  public static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER = 69;
3456  private double strategyChangeIncreaseRatio_;
3466  @java.lang.Override
3468  return ((bitField1_ & 0x00000010) != 0);
3469  }
3479  @java.lang.Override
3481  return strategyChangeIncreaseRatio_;
3482  }
3483 
3484  public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 36;
3485  private double maxTimeInSeconds_;
3495  @java.lang.Override
3496  public boolean hasMaxTimeInSeconds() {
3497  return ((bitField1_ & 0x00000020) != 0);
3498  }
3508  @java.lang.Override
3509  public double getMaxTimeInSeconds() {
3510  return maxTimeInSeconds_;
3511  }
3512 
3513  public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 67;
3514  private double maxDeterministicTime_;
3525  @java.lang.Override
3526  public boolean hasMaxDeterministicTime() {
3527  return ((bitField1_ & 0x00000040) != 0);
3528  }
3539  @java.lang.Override
3540  public double getMaxDeterministicTime() {
3541  return maxDeterministicTime_;
3542  }
3543 
3544  public static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER = 37;
3545  private long maxNumberOfConflicts_;
3559  @java.lang.Override
3560  public boolean hasMaxNumberOfConflicts() {
3561  return ((bitField1_ & 0x00000080) != 0);
3562  }
3576  @java.lang.Override
3577  public long getMaxNumberOfConflicts() {
3578  return maxNumberOfConflicts_;
3579  }
3580 
3581  public static final int MAX_MEMORY_IN_MB_FIELD_NUMBER = 40;
3582  private long maxMemoryInMb_;
3594  @java.lang.Override
3595  public boolean hasMaxMemoryInMb() {
3596  return ((bitField1_ & 0x00000100) != 0);
3597  }
3609  @java.lang.Override
3610  public long getMaxMemoryInMb() {
3611  return maxMemoryInMb_;
3612  }
3613 
3614  public static final int ABSOLUTE_GAP_LIMIT_FIELD_NUMBER = 159;
3615  private double absoluteGapLimit_;
3633  @java.lang.Override
3634  public boolean hasAbsoluteGapLimit() {
3635  return ((bitField1_ & 0x00000200) != 0);
3636  }
3654  @java.lang.Override
3655  public double getAbsoluteGapLimit() {
3656  return absoluteGapLimit_;
3657  }
3658 
3659  public static final int RELATIVE_GAP_LIMIT_FIELD_NUMBER = 160;
3660  private double relativeGapLimit_;
3665  @java.lang.Override
3666  public boolean hasRelativeGapLimit() {
3667  return ((bitField1_ & 0x00000400) != 0);
3668  }
3673  @java.lang.Override
3674  public double getRelativeGapLimit() {
3675  return relativeGapLimit_;
3676  }
3677 
3678  public static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER = 33;
3679  private boolean treatBinaryClausesSeparately_;
3690  @java.lang.Override
3692  return ((bitField1_ & 0x00000800) != 0);
3693  }
3704  @java.lang.Override
3706  return treatBinaryClausesSeparately_;
3707  }
3708 
3709  public static final int RANDOM_SEED_FIELD_NUMBER = 31;
3710  private int randomSeed_;
3724  @java.lang.Override
3725  public boolean hasRandomSeed() {
3726  return ((bitField1_ & 0x00001000) != 0);
3727  }
3741  @java.lang.Override
3742  public int getRandomSeed() {
3743  return randomSeed_;
3744  }
3745 
3746  public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 41;
3747  private boolean logSearchProgress_;
3756  @java.lang.Override
3757  public boolean hasLogSearchProgress() {
3758  return ((bitField1_ & 0x00002000) != 0);
3759  }
3768  @java.lang.Override
3769  public boolean getLogSearchProgress() {
3770  return logSearchProgress_;
3771  }
3772 
3773  public static final int USE_PB_RESOLUTION_FIELD_NUMBER = 43;
3774  private boolean usePbResolution_;
3786  @java.lang.Override
3787  public boolean hasUsePbResolution() {
3788  return ((bitField1_ & 0x00004000) != 0);
3789  }
3801  @java.lang.Override
3802  public boolean getUsePbResolution() {
3803  return usePbResolution_;
3804  }
3805 
3807  private boolean minimizeReductionDuringPbResolution_;
3819  @java.lang.Override
3821  return ((bitField1_ & 0x00008000) != 0);
3822  }
3834  @java.lang.Override
3836  return minimizeReductionDuringPbResolution_;
3837  }
3838 
3839  public static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER = 49;
3840  private boolean countAssumptionLevelsInLbd_;
3856  @java.lang.Override
3858  return ((bitField1_ & 0x00010000) != 0);
3859  }
3875  @java.lang.Override
3877  return countAssumptionLevelsInLbd_;
3878  }
3879 
3880  public static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER = 54;
3881  private int presolveBveThreshold_;
3892  @java.lang.Override
3893  public boolean hasPresolveBveThreshold() {
3894  return ((bitField1_ & 0x00020000) != 0);
3895  }
3906  @java.lang.Override
3908  return presolveBveThreshold_;
3909  }
3910 
3911  public static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER = 55;
3912  private int presolveBveClauseWeight_;
3922  @java.lang.Override
3923  public boolean hasPresolveBveClauseWeight() {
3924  return ((bitField1_ & 0x00040000) != 0);
3925  }
3935  @java.lang.Override
3937  return presolveBveClauseWeight_;
3938  }
3939 
3941  private double presolveProbingDeterministicTimeLimit_;
3951  @java.lang.Override
3953  return ((bitField1_ & 0x00080000) != 0);
3954  }
3964  @java.lang.Override
3966  return presolveProbingDeterministicTimeLimit_;
3967  }
3968 
3969  public static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER = 88;
3970  private boolean presolveBlockedClause_;
3980  @java.lang.Override
3981  public boolean hasPresolveBlockedClause() {
3982  return ((bitField1_ & 0x00100000) != 0);
3983  }
3993  @java.lang.Override
3994  public boolean getPresolveBlockedClause() {
3995  return presolveBlockedClause_;
3996  }
3997 
3998  public static final int PRESOLVE_USE_BVA_FIELD_NUMBER = 72;
3999  private boolean presolveUseBva_;
4008  @java.lang.Override
4009  public boolean hasPresolveUseBva() {
4010  return ((bitField1_ & 0x00200000) != 0);
4011  }
4020  @java.lang.Override
4021  public boolean getPresolveUseBva() {
4022  return presolveUseBva_;
4023  }
4024 
4025  public static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER = 73;
4026  private int presolveBvaThreshold_;
4038  @java.lang.Override
4039  public boolean hasPresolveBvaThreshold() {
4040  return ((bitField1_ & 0x00400000) != 0);
4041  }
4053  @java.lang.Override
4055  return presolveBvaThreshold_;
4056  }
4057 
4058  public static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER = 138;
4059  private int maxPresolveIterations_;
4070  @java.lang.Override
4071  public boolean hasMaxPresolveIterations() {
4072  return ((bitField1_ & 0x00800000) != 0);
4073  }
4084  @java.lang.Override
4086  return maxPresolveIterations_;
4087  }
4088 
4089  public static final int CP_MODEL_PRESOLVE_FIELD_NUMBER = 86;
4090  private boolean cpModelPresolve_;
4099  @java.lang.Override
4100  public boolean hasCpModelPresolve() {
4101  return ((bitField1_ & 0x01000000) != 0);
4102  }
4111  @java.lang.Override
4112  public boolean getCpModelPresolve() {
4113  return cpModelPresolve_;
4114  }
4115 
4117  private boolean cpModelPostsolveWithFullSolver_;
4129  @java.lang.Override
4131  return ((bitField1_ & 0x02000000) != 0);
4132  }
4144  @java.lang.Override
4146  return cpModelPostsolveWithFullSolver_;
4147  }
4148 
4150  private int cpModelMaxNumPresolveOperations_;
4160  @java.lang.Override
4162  return ((bitField1_ & 0x04000000) != 0);
4163  }
4173  @java.lang.Override
4175  return cpModelMaxNumPresolveOperations_;
4176  }
4177 
4178  public static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER = 110;
4179  private int cpModelProbingLevel_;
4188  @java.lang.Override
4189  public boolean hasCpModelProbingLevel() {
4190  return ((bitField1_ & 0x08000000) != 0);
4191  }
4200  @java.lang.Override
4201  public int getCpModelProbingLevel() {
4202  return cpModelProbingLevel_;
4203  }
4204 
4205  public static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER = 93;
4206  private boolean cpModelUseSatPresolve_;
4215  @java.lang.Override
4216  public boolean hasCpModelUseSatPresolve() {
4217  return ((bitField1_ & 0x10000000) != 0);
4218  }
4227  @java.lang.Override
4228  public boolean getCpModelUseSatPresolve() {
4229  return cpModelUseSatPresolve_;
4230  }
4231 
4232  public static final int USE_SAT_INPROCESSING_FIELD_NUMBER = 163;
4233  private boolean useSatInprocessing_;
4238  @java.lang.Override
4239  public boolean hasUseSatInprocessing() {
4240  return ((bitField1_ & 0x20000000) != 0);
4241  }
4246  @java.lang.Override
4247  public boolean getUseSatInprocessing() {
4248  return useSatInprocessing_;
4249  }
4250 
4251  public static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER = 140;
4252  private boolean expandElementConstraints_;
4262  @java.lang.Override
4263  public boolean hasExpandElementConstraints() {
4264  return ((bitField1_ & 0x40000000) != 0);
4265  }
4275  @java.lang.Override
4276  public boolean getExpandElementConstraints() {
4277  return expandElementConstraints_;
4278  }
4279 
4280  public static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER = 143;
4281  private boolean expandAutomatonConstraints_;
4290  @java.lang.Override
4292  return ((bitField1_ & 0x80000000) != 0);
4293  }
4302  @java.lang.Override
4304  return expandAutomatonConstraints_;
4305  }
4306 
4307  public static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER = 158;
4308  private boolean expandTableConstraints_;
4318  @java.lang.Override
4319  public boolean hasExpandTableConstraints() {
4320  return ((bitField2_ & 0x00000001) != 0);
4321  }
4331  @java.lang.Override
4332  public boolean getExpandTableConstraints() {
4333  return expandTableConstraints_;
4334  }
4335 
4336  public static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER = 145;
4337  private double mergeNoOverlapWorkLimit_;
4350  @java.lang.Override
4351  public boolean hasMergeNoOverlapWorkLimit() {
4352  return ((bitField2_ & 0x00000002) != 0);
4353  }
4366  @java.lang.Override
4367  public double getMergeNoOverlapWorkLimit() {
4368  return mergeNoOverlapWorkLimit_;
4369  }
4370 
4371  public static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER = 146;
4372  private double mergeAtMostOneWorkLimit_;
4377  @java.lang.Override
4378  public boolean hasMergeAtMostOneWorkLimit() {
4379  return ((bitField2_ & 0x00000004) != 0);
4380  }
4385  @java.lang.Override
4386  public double getMergeAtMostOneWorkLimit() {
4387  return mergeAtMostOneWorkLimit_;
4388  }
4389 
4390  public static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER = 147;
4391  private int presolveSubstitutionLevel_;
4403  @java.lang.Override
4404  public boolean hasPresolveSubstitutionLevel() {
4405  return ((bitField2_ & 0x00000008) != 0);
4406  }
4418  @java.lang.Override
4420  return presolveSubstitutionLevel_;
4421  }
4422 
4423  public static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER = 35;
4424  private boolean useOptimizationHints_;
4436  @java.lang.Override
4437  public boolean hasUseOptimizationHints() {
4438  return ((bitField2_ & 0x00000010) != 0);
4439  }
4451  @java.lang.Override
4452  public boolean getUseOptimizationHints() {
4453  return useOptimizationHints_;
4454  }
4455 
4456  public static final int MINIMIZE_CORE_FIELD_NUMBER = 50;
4457  private boolean minimizeCore_;
4466  @java.lang.Override
4467  public boolean hasMinimizeCore() {
4468  return ((bitField2_ & 0x00000020) != 0);
4469  }
4478  @java.lang.Override
4479  public boolean getMinimizeCore() {
4480  return minimizeCore_;
4481  }
4482 
4483  public static final int FIND_MULTIPLE_CORES_FIELD_NUMBER = 84;
4484  private boolean findMultipleCores_;
4494  @java.lang.Override
4495  public boolean hasFindMultipleCores() {
4496  return ((bitField2_ & 0x00000040) != 0);
4497  }
4507  @java.lang.Override
4508  public boolean getFindMultipleCores() {
4509  return findMultipleCores_;
4510  }
4511 
4512  public static final int COVER_OPTIMIZATION_FIELD_NUMBER = 89;
4513  private boolean coverOptimization_;
4523  @java.lang.Override
4524  public boolean hasCoverOptimization() {
4525  return ((bitField2_ & 0x00000080) != 0);
4526  }
4536  @java.lang.Override
4537  public boolean getCoverOptimization() {
4538  return coverOptimization_;
4539  }
4540 
4541  public static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER = 51;
4542  private int maxSatAssumptionOrder_;
4547  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
4548  return ((bitField2_ & 0x00000100) != 0);
4549  }
4555  @SuppressWarnings("deprecation")
4558  }
4559 
4561  private boolean maxSatReverseAssumptionOrder_;
4571  @java.lang.Override
4573  return ((bitField2_ & 0x00000200) != 0);
4574  }
4584  @java.lang.Override
4586  return maxSatReverseAssumptionOrder_;
4587  }
4588 
4589  public static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER = 53;
4590  private int maxSatStratification_;
4595  @java.lang.Override public boolean hasMaxSatStratification() {
4596  return ((bitField2_ & 0x00000400) != 0);
4597  }
4603  @SuppressWarnings("deprecation")
4606  }
4607 
4609  private boolean usePrecedencesInDisjunctiveConstraint_;
4625  @java.lang.Override
4627  return ((bitField2_ & 0x00000800) != 0);
4628  }
4644  @java.lang.Override
4646  return usePrecedencesInDisjunctiveConstraint_;
4647  }
4648 
4650  private boolean useOverloadCheckerInCumulativeConstraint_;
4664  @java.lang.Override
4666  return ((bitField2_ & 0x00001000) != 0);
4667  }
4681  @java.lang.Override
4683  return useOverloadCheckerInCumulativeConstraint_;
4684  }
4685 
4687  private boolean useTimetableEdgeFindingInCumulativeConstraint_;
4701  @java.lang.Override
4703  return ((bitField2_ & 0x00002000) != 0);
4704  }
4718  @java.lang.Override
4720  return useTimetableEdgeFindingInCumulativeConstraint_;
4721  }
4722 
4724  private boolean useDisjunctiveConstraintInCumulativeConstraint_;
4740  @java.lang.Override
4742  return ((bitField2_ & 0x00004000) != 0);
4743  }
4759  @java.lang.Override
4761  return useDisjunctiveConstraintInCumulativeConstraint_;
4762  }
4763 
4764  public static final int LINEARIZATION_LEVEL_FIELD_NUMBER = 90;
4765  private int linearizationLevel_;
4777  @java.lang.Override
4778  public boolean hasLinearizationLevel() {
4779  return ((bitField2_ & 0x00008000) != 0);
4780  }
4792  @java.lang.Override
4793  public int getLinearizationLevel() {
4794  return linearizationLevel_;
4795  }
4796 
4797  public static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER = 107;
4798  private int booleanEncodingLevel_;
4808  @java.lang.Override
4809  public boolean hasBooleanEncodingLevel() {
4810  return ((bitField2_ & 0x00010000) != 0);
4811  }
4821  @java.lang.Override
4823  return booleanEncodingLevel_;
4824  }
4825 
4826  public static final int MAX_NUM_CUTS_FIELD_NUMBER = 91;
4827  private int maxNumCuts_;
4839  @java.lang.Override
4840  public boolean hasMaxNumCuts() {
4841  return ((bitField2_ & 0x00020000) != 0);
4842  }
4854  @java.lang.Override
4855  public int getMaxNumCuts() {
4856  return maxNumCuts_;
4857  }
4858 
4859  public static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER = 92;
4860  private boolean onlyAddCutsAtLevelZero_;
4870  @java.lang.Override
4871  public boolean hasOnlyAddCutsAtLevelZero() {
4872  return ((bitField2_ & 0x00040000) != 0);
4873  }
4883  @java.lang.Override
4884  public boolean getOnlyAddCutsAtLevelZero() {
4885  return onlyAddCutsAtLevelZero_;
4886  }
4887 
4888  public static final int ADD_KNAPSACK_CUTS_FIELD_NUMBER = 111;
4889  private boolean addKnapsackCuts_;
4900  @java.lang.Override
4901  public boolean hasAddKnapsackCuts() {
4902  return ((bitField2_ & 0x00080000) != 0);
4903  }
4914  @java.lang.Override
4915  public boolean getAddKnapsackCuts() {
4916  return addKnapsackCuts_;
4917  }
4918 
4919  public static final int ADD_CG_CUTS_FIELD_NUMBER = 117;
4920  private boolean addCgCuts_;
4930  @java.lang.Override
4931  public boolean hasAddCgCuts() {
4932  return ((bitField2_ & 0x00100000) != 0);
4933  }
4943  @java.lang.Override
4944  public boolean getAddCgCuts() {
4945  return addCgCuts_;
4946  }
4947 
4948  public static final int ADD_MIR_CUTS_FIELD_NUMBER = 120;
4949  private boolean addMirCuts_;
4959  @java.lang.Override
4960  public boolean hasAddMirCuts() {
4961  return ((bitField2_ & 0x00200000) != 0);
4962  }
4972  @java.lang.Override
4973  public boolean getAddMirCuts() {
4974  return addMirCuts_;
4975  }
4976 
4977  public static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER = 148;
4978  private int maxAllDiffCutSize_;
4989  @java.lang.Override
4990  public boolean hasMaxAllDiffCutSize() {
4991  return ((bitField2_ & 0x00400000) != 0);
4992  }
5003  @java.lang.Override
5004  public int getMaxAllDiffCutSize() {
5005  return maxAllDiffCutSize_;
5006  }
5007 
5008  public static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER = 152;
5009  private boolean addLinMaxCuts_;
5020  @java.lang.Override
5021  public boolean hasAddLinMaxCuts() {
5022  return ((bitField2_ & 0x00800000) != 0);
5023  }
5034  @java.lang.Override
5035  public boolean getAddLinMaxCuts() {
5036  return addLinMaxCuts_;
5037  }
5038 
5039  public static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER = 119;
5040  private int maxIntegerRoundingScaling_;
5055  @java.lang.Override
5056  public boolean hasMaxIntegerRoundingScaling() {
5057  return ((bitField2_ & 0x01000000) != 0);
5058  }
5073  @java.lang.Override
5075  return maxIntegerRoundingScaling_;
5076  }
5077 
5078  public static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER = 112;
5079  private boolean addLpConstraintsLazily_;
5091  @java.lang.Override
5092  public boolean hasAddLpConstraintsLazily() {
5093  return ((bitField2_ & 0x02000000) != 0);
5094  }
5106  @java.lang.Override
5107  public boolean getAddLpConstraintsLazily() {
5108  return addLpConstraintsLazily_;
5109  }
5110 
5112  private double minOrthogonalityForLpConstraints_;
5125  @java.lang.Override
5127  return ((bitField2_ & 0x04000000) != 0);
5128  }
5141  @java.lang.Override
5143  return minOrthogonalityForLpConstraints_;
5144  }
5145 
5146  public static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER = 154;
5147  private int maxCutRoundsAtLevelZero_;
5156  @java.lang.Override
5157  public boolean hasMaxCutRoundsAtLevelZero() {
5158  return ((bitField2_ & 0x08000000) != 0);
5159  }
5168  @java.lang.Override
5170  return maxCutRoundsAtLevelZero_;
5171  }
5172 
5173  public static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER = 121;
5174  private int maxConsecutiveInactiveCount_;
5185  @java.lang.Override
5187  return ((bitField2_ & 0x10000000) != 0);
5188  }
5199  @java.lang.Override
5201  return maxConsecutiveInactiveCount_;
5202  }
5203 
5204  public static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER = 155;
5205  private double cutMaxActiveCountValue_;
5216  @java.lang.Override
5217  public boolean hasCutMaxActiveCountValue() {
5218  return ((bitField2_ & 0x20000000) != 0);
5219  }
5230  @java.lang.Override
5231  public double getCutMaxActiveCountValue() {
5232  return cutMaxActiveCountValue_;
5233  }
5234 
5235  public static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER = 156;
5236  private double cutActiveCountDecay_;
5241  @java.lang.Override
5242  public boolean hasCutActiveCountDecay() {
5243  return ((bitField2_ & 0x40000000) != 0);
5244  }
5249  @java.lang.Override
5250  public double getCutActiveCountDecay() {
5251  return cutActiveCountDecay_;
5252  }
5253 
5254  public static final int CUT_CLEANUP_TARGET_FIELD_NUMBER = 157;
5255  private int cutCleanupTarget_;
5264  @java.lang.Override
5265  public boolean hasCutCleanupTarget() {
5266  return ((bitField2_ & 0x80000000) != 0);
5267  }
5276  @java.lang.Override
5277  public int getCutCleanupTarget() {
5278  return cutCleanupTarget_;
5279  }
5280 
5281  public static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER = 122;
5282  private int newConstraintsBatchSize_;
5292  @java.lang.Override
5293  public boolean hasNewConstraintsBatchSize() {
5294  return ((bitField3_ & 0x00000001) != 0);
5295  }
5305  @java.lang.Override
5307  return newConstraintsBatchSize_;
5308  }
5309 
5310  public static final int SEARCH_BRANCHING_FIELD_NUMBER = 82;
5311  private int searchBranching_;
5316  @java.lang.Override public boolean hasSearchBranching() {
5317  return ((bitField3_ & 0x00000002) != 0);
5318  }
5324  @SuppressWarnings("deprecation")
5326  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
5327  }
5328 
5329  public static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER = 153;
5330  private int hintConflictLimit_;
5340  @java.lang.Override
5341  public boolean hasHintConflictLimit() {
5342  return ((bitField3_ & 0x00000004) != 0);
5343  }
5353  @java.lang.Override
5354  public int getHintConflictLimit() {
5355  return hintConflictLimit_;
5356  }
5357 
5358  public static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER = 94;
5359  private boolean exploitIntegerLpSolution_;
5371  @java.lang.Override
5372  public boolean hasExploitIntegerLpSolution() {
5373  return ((bitField3_ & 0x00000008) != 0);
5374  }
5386  @java.lang.Override
5387  public boolean getExploitIntegerLpSolution() {
5388  return exploitIntegerLpSolution_;
5389  }
5390 
5391  public static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER = 116;
5392  private boolean exploitAllLpSolution_;
5403  @java.lang.Override
5404  public boolean hasExploitAllLpSolution() {
5405  return ((bitField3_ & 0x00000010) != 0);
5406  }
5417  @java.lang.Override
5418  public boolean getExploitAllLpSolution() {
5419  return exploitAllLpSolution_;
5420  }
5421 
5422  public static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER = 130;
5423  private boolean exploitBestSolution_;
5432  @java.lang.Override
5433  public boolean hasExploitBestSolution() {
5434  return ((bitField3_ & 0x00000020) != 0);
5435  }
5444  @java.lang.Override
5445  public boolean getExploitBestSolution() {
5446  return exploitBestSolution_;
5447  }
5448 
5449  public static final int EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER = 161;
5450  private boolean exploitRelaxationSolution_;
5461  @java.lang.Override
5462  public boolean hasExploitRelaxationSolution() {
5463  return ((bitField3_ & 0x00000040) != 0);
5464  }
5475  @java.lang.Override
5476  public boolean getExploitRelaxationSolution() {
5477  return exploitRelaxationSolution_;
5478  }
5479 
5480  public static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER = 131;
5481  private boolean exploitObjective_;
5491  @java.lang.Override
5492  public boolean hasExploitObjective() {
5493  return ((bitField3_ & 0x00000080) != 0);
5494  }
5504  @java.lang.Override
5505  public boolean getExploitObjective() {
5506  return exploitObjective_;
5507  }
5508 
5509  public static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER = 142;
5510  private long probingPeriodAtRoot_;
5521  @java.lang.Override
5522  public boolean hasProbingPeriodAtRoot() {
5523  return ((bitField3_ & 0x00000100) != 0);
5524  }
5535  @java.lang.Override
5536  public long getProbingPeriodAtRoot() {
5537  return probingPeriodAtRoot_;
5538  }
5539 
5540  public static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER = 123;
5541  private long pseudoCostReliabilityThreshold_;
5551  @java.lang.Override
5553  return ((bitField3_ & 0x00000200) != 0);
5554  }
5564  @java.lang.Override
5566  return pseudoCostReliabilityThreshold_;
5567  }
5568 
5569  public static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER = 83;
5570  private boolean optimizeWithCore_;
5582  @java.lang.Override
5583  public boolean hasOptimizeWithCore() {
5584  return ((bitField3_ & 0x00000400) != 0);
5585  }
5597  @java.lang.Override
5598  public boolean getOptimizeWithCore() {
5599  return optimizeWithCore_;
5600  }
5601 
5602  public static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER = 99;
5603  private int binarySearchNumConflicts_;
5615  @java.lang.Override
5616  public boolean hasBinarySearchNumConflicts() {
5617  return ((bitField3_ & 0x00000800) != 0);
5618  }
5630  @java.lang.Override
5632  return binarySearchNumConflicts_;
5633  }
5634 
5635  public static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER = 85;
5636  private boolean optimizeWithMaxHs_;
5650  @java.lang.Override
5651  public boolean hasOptimizeWithMaxHs() {
5652  return ((bitField3_ & 0x00001000) != 0);
5653  }
5667  @java.lang.Override
5668  public boolean getOptimizeWithMaxHs() {
5669  return optimizeWithMaxHs_;
5670  }
5671 
5672  public static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER = 87;
5673  private boolean enumerateAllSolutions_;
5687  @java.lang.Override
5688  public boolean hasEnumerateAllSolutions() {
5689  return ((bitField3_ & 0x00002000) != 0);
5690  }
5704  @java.lang.Override
5705  public boolean getEnumerateAllSolutions() {
5706  return enumerateAllSolutions_;
5707  }
5708 
5710  private boolean fillTightenedDomainsInResponse_;
5723  @java.lang.Override
5725  return ((bitField3_ & 0x00004000) != 0);
5726  }
5739  @java.lang.Override
5741  return fillTightenedDomainsInResponse_;
5742  }
5743 
5744  public static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER = 106;
5745  private boolean instantiateAllVariables_;
5755  @java.lang.Override
5756  public boolean hasInstantiateAllVariables() {
5757  return ((bitField3_ & 0x00008000) != 0);
5758  }
5768  @java.lang.Override
5769  public boolean getInstantiateAllVariables() {
5770  return instantiateAllVariables_;
5771  }
5772 
5774  private boolean autoDetectGreaterThanAtLeastOneOf_;
5786  @java.lang.Override
5788  return ((bitField3_ & 0x00010000) != 0);
5789  }
5801  @java.lang.Override
5803  return autoDetectGreaterThanAtLeastOneOf_;
5804  }
5805 
5806  public static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER = 98;
5807  private boolean stopAfterFirstSolution_;
5816  @java.lang.Override
5817  public boolean hasStopAfterFirstSolution() {
5818  return ((bitField3_ & 0x00020000) != 0);
5819  }
5828  @java.lang.Override
5829  public boolean getStopAfterFirstSolution() {
5830  return stopAfterFirstSolution_;
5831  }
5832 
5833  public static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER = 149;
5834  private boolean stopAfterPresolve_;
5844  @java.lang.Override
5845  public boolean hasStopAfterPresolve() {
5846  return ((bitField3_ & 0x00040000) != 0);
5847  }
5857  @java.lang.Override
5858  public boolean getStopAfterPresolve() {
5859  return stopAfterPresolve_;
5860  }
5861 
5862  public static final int NUM_SEARCH_WORKERS_FIELD_NUMBER = 100;
5863  private int numSearchWorkers_;
5877  @java.lang.Override
5878  public boolean hasNumSearchWorkers() {
5879  return ((bitField3_ & 0x00080000) != 0);
5880  }
5894  @java.lang.Override
5895  public int getNumSearchWorkers() {
5896  return numSearchWorkers_;
5897  }
5898 
5899  public static final int INTERLEAVE_SEARCH_FIELD_NUMBER = 136;
5900  private boolean interleaveSearch_;
5913  @java.lang.Override
5914  public boolean hasInterleaveSearch() {
5915  return ((bitField3_ & 0x00100000) != 0);
5916  }
5929  @java.lang.Override
5930  public boolean getInterleaveSearch() {
5931  return interleaveSearch_;
5932  }
5933 
5934  public static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER = 134;
5935  private int interleaveBatchSize_;
5940  @java.lang.Override
5941  public boolean hasInterleaveBatchSize() {
5942  return ((bitField3_ & 0x00200000) != 0);
5943  }
5948  @java.lang.Override
5949  public int getInterleaveBatchSize() {
5950  return interleaveBatchSize_;
5951  }
5952 
5954  private boolean reduceMemoryUsageInInterleaveMode_;
5963  @java.lang.Override
5965  return ((bitField3_ & 0x00400000) != 0);
5966  }
5975  @java.lang.Override
5977  return reduceMemoryUsageInInterleaveMode_;
5978  }
5979 
5980  public static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER = 113;
5981  private boolean shareObjectiveBounds_;
5990  @java.lang.Override
5991  public boolean hasShareObjectiveBounds() {
5992  return ((bitField3_ & 0x00800000) != 0);
5993  }
6002  @java.lang.Override
6003  public boolean getShareObjectiveBounds() {
6004  return shareObjectiveBounds_;
6005  }
6006 
6007  public static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER = 114;
6008  private boolean shareLevelZeroBounds_;
6017  @java.lang.Override
6018  public boolean hasShareLevelZeroBounds() {
6019  return ((bitField3_ & 0x01000000) != 0);
6020  }
6029  @java.lang.Override
6030  public boolean getShareLevelZeroBounds() {
6031  return shareLevelZeroBounds_;
6032  }
6033 
6034  public static final int USE_LNS_ONLY_FIELD_NUMBER = 101;
6035  private boolean useLnsOnly_;
6044  @java.lang.Override
6045  public boolean hasUseLnsOnly() {
6046  return ((bitField3_ & 0x02000000) != 0);
6047  }
6056  @java.lang.Override
6057  public boolean getUseLnsOnly() {
6058  return useLnsOnly_;
6059  }
6060 
6061  public static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER = 105;
6062  private boolean lnsFocusOnDecisionVariables_;
6067  @java.lang.Override
6069  return ((bitField3_ & 0x04000000) != 0);
6070  }
6075  @java.lang.Override
6077  return lnsFocusOnDecisionVariables_;
6078  }
6079 
6080  public static final int USE_RINS_LNS_FIELD_NUMBER = 129;
6081  private boolean useRinsLns_;
6090  @java.lang.Override
6091  public boolean hasUseRinsLns() {
6092  return ((bitField3_ & 0x08000000) != 0);
6093  }
6102  @java.lang.Override
6103  public boolean getUseRinsLns() {
6104  return useRinsLns_;
6105  }
6106 
6107  public static final int USE_FEASIBILITY_PUMP_FIELD_NUMBER = 164;
6108  private boolean useFeasibilityPump_;
6117  @java.lang.Override
6118  public boolean hasUseFeasibilityPump() {
6119  return ((bitField3_ & 0x10000000) != 0);
6120  }
6129  @java.lang.Override
6130  public boolean getUseFeasibilityPump() {
6131  return useFeasibilityPump_;
6132  }
6133 
6134  public static final int USE_RELAXATION_LNS_FIELD_NUMBER = 150;
6135  private boolean useRelaxationLns_;
6145  @java.lang.Override
6146  public boolean hasUseRelaxationLns() {
6147  return ((bitField3_ & 0x20000000) != 0);
6148  }
6158  @java.lang.Override
6159  public boolean getUseRelaxationLns() {
6160  return useRelaxationLns_;
6161  }
6162 
6163  public static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER = 137;
6164  private boolean diversifyLnsParams_;
6173  @java.lang.Override
6174  public boolean hasDiversifyLnsParams() {
6175  return ((bitField3_ & 0x40000000) != 0);
6176  }
6185  @java.lang.Override
6186  public boolean getDiversifyLnsParams() {
6187  return diversifyLnsParams_;
6188  }
6189 
6190  public static final int RANDOMIZE_SEARCH_FIELD_NUMBER = 103;
6191  private boolean randomizeSearch_;
6200  @java.lang.Override
6201  public boolean hasRandomizeSearch() {
6202  return ((bitField3_ & 0x80000000) != 0);
6203  }
6212  @java.lang.Override
6213  public boolean getRandomizeSearch() {
6214  return randomizeSearch_;
6215  }
6216 
6217  public static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER = 104;
6218  private long searchRandomizationTolerance_;
6233  @java.lang.Override
6235  return ((bitField4_ & 0x00000001) != 0);
6236  }
6251  @java.lang.Override
6253  return searchRandomizationTolerance_;
6254  }
6255 
6256  public static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER = 108;
6257  private boolean useOptionalVariables_;
6268  @java.lang.Override
6269  public boolean hasUseOptionalVariables() {
6270  return ((bitField4_ & 0x00000002) != 0);
6271  }
6282  @java.lang.Override
6283  public boolean getUseOptionalVariables() {
6284  return useOptionalVariables_;
6285  }
6286 
6287  public static final int USE_EXACT_LP_REASON_FIELD_NUMBER = 109;
6288  private boolean useExactLpReason_;
6300  @java.lang.Override
6301  public boolean hasUseExactLpReason() {
6302  return ((bitField4_ & 0x00000004) != 0);
6303  }
6315  @java.lang.Override
6316  public boolean getUseExactLpReason() {
6317  return useExactLpReason_;
6318  }
6319 
6320  public static final int USE_BRANCHING_IN_LP_FIELD_NUMBER = 139;
6321  private boolean useBranchingInLp_;
6332  @java.lang.Override
6333  public boolean hasUseBranchingInLp() {
6334  return ((bitField4_ & 0x00000008) != 0);
6335  }
6346  @java.lang.Override
6347  public boolean getUseBranchingInLp() {
6348  return useBranchingInLp_;
6349  }
6350 
6351  public static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER = 133;
6352  private boolean useCombinedNoOverlap_;
6363  @java.lang.Override
6364  public boolean hasUseCombinedNoOverlap() {
6365  return ((bitField4_ & 0x00000010) != 0);
6366  }
6377  @java.lang.Override
6378  public boolean getUseCombinedNoOverlap() {
6379  return useCombinedNoOverlap_;
6380  }
6381 
6382  public static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER = 135;
6383  private boolean catchSigintSignal_;
6394  @java.lang.Override
6395  public boolean hasCatchSigintSignal() {
6396  return ((bitField4_ & 0x00000020) != 0);
6397  }
6408  @java.lang.Override
6409  public boolean getCatchSigintSignal() {
6410  return catchSigintSignal_;
6411  }
6412 
6413  public static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER = 144;
6414  private boolean useImpliedBounds_;
6425  @java.lang.Override
6426  public boolean hasUseImpliedBounds() {
6427  return ((bitField4_ & 0x00000040) != 0);
6428  }
6439  @java.lang.Override
6440  public boolean getUseImpliedBounds() {
6441  return useImpliedBounds_;
6442  }
6443 
6444  public static final int MIP_MAX_BOUND_FIELD_NUMBER = 124;
6445  private double mipMaxBound_;
6456  @java.lang.Override
6457  public boolean hasMipMaxBound() {
6458  return ((bitField4_ & 0x00000080) != 0);
6459  }
6470  @java.lang.Override
6471  public double getMipMaxBound() {
6472  return mipMaxBound_;
6473  }
6474 
6475  public static final int MIP_VAR_SCALING_FIELD_NUMBER = 125;
6476  private double mipVarScaling_;
6487  @java.lang.Override
6488  public boolean hasMipVarScaling() {
6489  return ((bitField4_ & 0x00000100) != 0);
6490  }
6501  @java.lang.Override
6502  public double getMipVarScaling() {
6503  return mipVarScaling_;
6504  }
6505 
6506  public static final int MIP_WANTED_PRECISION_FIELD_NUMBER = 126;
6507  private double mipWantedPrecision_;
6524  @java.lang.Override
6525  public boolean hasMipWantedPrecision() {
6526  return ((bitField4_ & 0x00000200) != 0);
6527  }
6544  @java.lang.Override
6545  public double getMipWantedPrecision() {
6546  return mipWantedPrecision_;
6547  }
6548 
6549  public static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER = 127;
6550  private int mipMaxActivityExponent_;
6565  @java.lang.Override
6566  public boolean hasMipMaxActivityExponent() {
6567  return ((bitField4_ & 0x00000400) != 0);
6568  }
6583  @java.lang.Override
6585  return mipMaxActivityExponent_;
6586  }
6587 
6588  public static final int MIP_CHECK_PRECISION_FIELD_NUMBER = 128;
6589  private double mipCheckPrecision_;
6601  @java.lang.Override
6602  public boolean hasMipCheckPrecision() {
6603  return ((bitField4_ & 0x00000800) != 0);
6604  }
6616  @java.lang.Override
6617  public double getMipCheckPrecision() {
6618  return mipCheckPrecision_;
6619  }
6620 
6621  private byte memoizedIsInitialized = -1;
6622  @java.lang.Override
6623  public final boolean isInitialized() {
6624  byte isInitialized = memoizedIsInitialized;
6625  if (isInitialized == 1) return true;
6626  if (isInitialized == 0) return false;
6627 
6628  memoizedIsInitialized = 1;
6629  return true;
6630  }
6631 
6632  @java.lang.Override
6633  public void writeTo(com.google.protobuf.CodedOutputStream output)
6634  throws java.io.IOException {
6635  if (((bitField0_ & 0x00000001) != 0)) {
6636  output.writeEnum(1, preferredVariableOrder_);
6637  }
6638  if (((bitField0_ & 0x00000002) != 0)) {
6639  output.writeEnum(2, initialPolarity_);
6640  }
6641  if (((bitField0_ & 0x00000100) != 0)) {
6642  output.writeEnum(4, minimizationAlgorithm_);
6643  }
6644  if (((bitField0_ & 0x00000800) != 0)) {
6645  output.writeInt32(11, clauseCleanupPeriod_);
6646  }
6647  if (((bitField0_ & 0x00001000) != 0)) {
6648  output.writeInt32(13, clauseCleanupTarget_);
6649  }
6650  if (((bitField0_ & 0x00100000) != 0)) {
6651  output.writeDouble(15, variableActivityDecay_);
6652  }
6653  if (((bitField0_ & 0x00200000) != 0)) {
6654  output.writeDouble(16, maxVariableActivityValue_);
6655  }
6656  if (((bitField0_ & 0x02000000) != 0)) {
6657  output.writeDouble(17, clauseActivityDecay_);
6658  }
6659  if (((bitField0_ & 0x04000000) != 0)) {
6660  output.writeDouble(18, maxClauseActivityValue_);
6661  }
6662  if (((bitField0_ & 0x00400000) != 0)) {
6663  output.writeDouble(22, glucoseMaxDecay_);
6664  }
6665  if (((bitField0_ & 0x00800000) != 0)) {
6666  output.writeDouble(23, glucoseDecayIncrement_);
6667  }
6668  if (((bitField0_ & 0x01000000) != 0)) {
6669  output.writeInt32(24, glucoseDecayIncrementPeriod_);
6670  }
6671  if (((bitField0_ & 0x10000000) != 0)) {
6672  output.writeInt32(30, restartPeriod_);
6673  }
6674  if (((bitField1_ & 0x00001000) != 0)) {
6675  output.writeInt32(31, randomSeed_);
6676  }
6677  if (((bitField0_ & 0x00000010) != 0)) {
6678  output.writeDouble(32, randomBranchesRatio_);
6679  }
6680  if (((bitField1_ & 0x00000800) != 0)) {
6681  output.writeBool(33, treatBinaryClausesSeparately_);
6682  }
6683  if (((bitField0_ & 0x00000200) != 0)) {
6684  output.writeEnum(34, binaryMinimizationAlgorithm_);
6685  }
6686  if (((bitField2_ & 0x00000010) != 0)) {
6687  output.writeBool(35, useOptimizationHints_);
6688  }
6689  if (((bitField1_ & 0x00000020) != 0)) {
6690  output.writeDouble(36, maxTimeInSeconds_);
6691  }
6692  if (((bitField1_ & 0x00000080) != 0)) {
6693  output.writeInt64(37, maxNumberOfConflicts_);
6694  }
6695  if (((bitField1_ & 0x00000100) != 0)) {
6696  output.writeInt64(40, maxMemoryInMb_);
6697  }
6698  if (((bitField1_ & 0x00002000) != 0)) {
6699  output.writeBool(41, logSearchProgress_);
6700  }
6701  if (((bitField1_ & 0x00004000) != 0)) {
6702  output.writeBool(43, usePbResolution_);
6703  }
6704  if (((bitField0_ & 0x00000004) != 0)) {
6705  output.writeBool(44, usePhaseSaving_);
6706  }
6707  if (((bitField0_ & 0x00000008) != 0)) {
6708  output.writeDouble(45, randomPolarityRatio_);
6709  }
6710  if (((bitField0_ & 0x00010000) != 0)) {
6711  output.writeInt32(46, pbCleanupIncrement_);
6712  }
6713  if (((bitField0_ & 0x00020000) != 0)) {
6714  output.writeDouble(47, pbCleanupRatio_);
6715  }
6716  if (((bitField1_ & 0x00008000) != 0)) {
6717  output.writeBool(48, minimizeReductionDuringPbResolution_);
6718  }
6719  if (((bitField1_ & 0x00010000) != 0)) {
6720  output.writeBool(49, countAssumptionLevelsInLbd_);
6721  }
6722  if (((bitField2_ & 0x00000020) != 0)) {
6723  output.writeBool(50, minimizeCore_);
6724  }
6725  if (((bitField2_ & 0x00000100) != 0)) {
6726  output.writeEnum(51, maxSatAssumptionOrder_);
6727  }
6728  if (((bitField2_ & 0x00000200) != 0)) {
6729  output.writeBool(52, maxSatReverseAssumptionOrder_);
6730  }
6731  if (((bitField2_ & 0x00000400) != 0)) {
6732  output.writeEnum(53, maxSatStratification_);
6733  }
6734  if (((bitField1_ & 0x00020000) != 0)) {
6735  output.writeInt32(54, presolveBveThreshold_);
6736  }
6737  if (((bitField1_ & 0x00040000) != 0)) {
6738  output.writeInt32(55, presolveBveClauseWeight_);
6739  }
6740  if (((bitField0_ & 0x00000400) != 0)) {
6741  output.writeBool(56, subsumptionDuringConflictAnalysis_);
6742  }
6743  if (((bitField1_ & 0x00080000) != 0)) {
6744  output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
6745  }
6746  if (((bitField0_ & 0x00002000) != 0)) {
6747  output.writeEnum(58, clauseCleanupProtection_);
6748  }
6749  if (((bitField0_ & 0x00004000) != 0)) {
6750  output.writeInt32(59, clauseCleanupLbdBound_);
6751  }
6752  if (((bitField0_ & 0x00008000) != 0)) {
6753  output.writeEnum(60, clauseCleanupOrdering_);
6754  }
6755  for (int i = 0; i < restartAlgorithms_.size(); i++) {
6756  output.writeEnum(61, restartAlgorithms_.get(i));
6757  }
6758  if (((bitField0_ & 0x20000000) != 0)) {
6759  output.writeInt32(62, restartRunningWindowSize_);
6760  }
6761  if (((bitField0_ & 0x40000000) != 0)) {
6762  output.writeDouble(63, restartDlAverageRatio_);
6763  }
6764  if (((bitField1_ & 0x00000001) != 0)) {
6765  output.writeBool(64, useBlockingRestart_);
6766  }
6767  if (((bitField1_ & 0x00000002) != 0)) {
6768  output.writeInt32(65, blockingRestartWindowSize_);
6769  }
6770  if (((bitField1_ & 0x00000004) != 0)) {
6771  output.writeDouble(66, blockingRestartMultiplier_);
6772  }
6773  if (((bitField1_ & 0x00000040) != 0)) {
6774  output.writeDouble(67, maxDeterministicTime_);
6775  }
6776  if (((bitField1_ & 0x00000008) != 0)) {
6777  output.writeInt32(68, numConflictsBeforeStrategyChanges_);
6778  }
6779  if (((bitField1_ & 0x00000010) != 0)) {
6780  output.writeDouble(69, strategyChangeIncreaseRatio_);
6781  }
6782  if (((bitField0_ & 0x08000000) != 0)) {
6783  com.google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
6784  }
6785  if (((bitField0_ & 0x80000000) != 0)) {
6786  output.writeDouble(71, restartLbdAverageRatio_);
6787  }
6788  if (((bitField1_ & 0x00200000) != 0)) {
6789  output.writeBool(72, presolveUseBva_);
6790  }
6791  if (((bitField1_ & 0x00400000) != 0)) {
6792  output.writeInt32(73, presolveBvaThreshold_);
6793  }
6794  if (((bitField2_ & 0x00000800) != 0)) {
6795  output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
6796  }
6797  if (((bitField0_ & 0x00000020) != 0)) {
6798  output.writeBool(75, useErwaHeuristic_);
6799  }
6800  if (((bitField0_ & 0x00000040) != 0)) {
6801  output.writeDouble(76, initialVariablesActivity_);
6802  }
6803  if (((bitField0_ & 0x00000080) != 0)) {
6804  output.writeBool(77, alsoBumpVariablesInConflictReasons_);
6805  }
6806  if (((bitField2_ & 0x00001000) != 0)) {
6807  output.writeBool(78, useOverloadCheckerInCumulativeConstraint_);
6808  }
6809  if (((bitField2_ & 0x00002000) != 0)) {
6810  output.writeBool(79, useTimetableEdgeFindingInCumulativeConstraint_);
6811  }
6812  if (((bitField2_ & 0x00004000) != 0)) {
6813  output.writeBool(80, useDisjunctiveConstraintInCumulativeConstraint_);
6814  }
6815  if (((bitField3_ & 0x00000002) != 0)) {
6816  output.writeEnum(82, searchBranching_);
6817  }
6818  if (((bitField3_ & 0x00000400) != 0)) {
6819  output.writeBool(83, optimizeWithCore_);
6820  }
6821  if (((bitField2_ & 0x00000040) != 0)) {
6822  output.writeBool(84, findMultipleCores_);
6823  }
6824  if (((bitField3_ & 0x00001000) != 0)) {
6825  output.writeBool(85, optimizeWithMaxHs_);
6826  }
6827  if (((bitField1_ & 0x01000000) != 0)) {
6828  output.writeBool(86, cpModelPresolve_);
6829  }
6830  if (((bitField3_ & 0x00002000) != 0)) {
6831  output.writeBool(87, enumerateAllSolutions_);
6832  }
6833  if (((bitField1_ & 0x00100000) != 0)) {
6834  output.writeBool(88, presolveBlockedClause_);
6835  }
6836  if (((bitField2_ & 0x00000080) != 0)) {
6837  output.writeBool(89, coverOptimization_);
6838  }
6839  if (((bitField2_ & 0x00008000) != 0)) {
6840  output.writeInt32(90, linearizationLevel_);
6841  }
6842  if (((bitField2_ & 0x00020000) != 0)) {
6843  output.writeInt32(91, maxNumCuts_);
6844  }
6845  if (((bitField2_ & 0x00040000) != 0)) {
6846  output.writeBool(92, onlyAddCutsAtLevelZero_);
6847  }
6848  if (((bitField1_ & 0x10000000) != 0)) {
6849  output.writeBool(93, cpModelUseSatPresolve_);
6850  }
6851  if (((bitField3_ & 0x00000008) != 0)) {
6852  output.writeBool(94, exploitIntegerLpSolution_);
6853  }
6854  if (((bitField3_ & 0x00010000) != 0)) {
6855  output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
6856  }
6857  if (((bitField0_ & 0x00040000) != 0)) {
6858  output.writeInt32(96, minimizeWithPropagationRestartPeriod_);
6859  }
6860  if (((bitField0_ & 0x00080000) != 0)) {
6861  output.writeInt32(97, minimizeWithPropagationNumDecisions_);
6862  }
6863  if (((bitField3_ & 0x00020000) != 0)) {
6864  output.writeBool(98, stopAfterFirstSolution_);
6865  }
6866  if (((bitField3_ & 0x00000800) != 0)) {
6867  output.writeInt32(99, binarySearchNumConflicts_);
6868  }
6869  if (((bitField3_ & 0x00080000) != 0)) {
6870  output.writeInt32(100, numSearchWorkers_);
6871  }
6872  if (((bitField3_ & 0x02000000) != 0)) {
6873  output.writeBool(101, useLnsOnly_);
6874  }
6875  if (((bitField3_ & 0x80000000) != 0)) {
6876  output.writeBool(103, randomizeSearch_);
6877  }
6878  if (((bitField4_ & 0x00000001) != 0)) {
6879  output.writeInt64(104, searchRandomizationTolerance_);
6880  }
6881  if (((bitField3_ & 0x04000000) != 0)) {
6882  output.writeBool(105, lnsFocusOnDecisionVariables_);
6883  }
6884  if (((bitField3_ & 0x00008000) != 0)) {
6885  output.writeBool(106, instantiateAllVariables_);
6886  }
6887  if (((bitField2_ & 0x00010000) != 0)) {
6888  output.writeInt32(107, booleanEncodingLevel_);
6889  }
6890  if (((bitField4_ & 0x00000002) != 0)) {
6891  output.writeBool(108, useOptionalVariables_);
6892  }
6893  if (((bitField4_ & 0x00000004) != 0)) {
6894  output.writeBool(109, useExactLpReason_);
6895  }
6896  if (((bitField1_ & 0x08000000) != 0)) {
6897  output.writeInt32(110, cpModelProbingLevel_);
6898  }
6899  if (((bitField2_ & 0x00080000) != 0)) {
6900  output.writeBool(111, addKnapsackCuts_);
6901  }
6902  if (((bitField2_ & 0x02000000) != 0)) {
6903  output.writeBool(112, addLpConstraintsLazily_);
6904  }
6905  if (((bitField3_ & 0x00800000) != 0)) {
6906  output.writeBool(113, shareObjectiveBounds_);
6907  }
6908  if (((bitField3_ & 0x01000000) != 0)) {
6909  output.writeBool(114, shareLevelZeroBounds_);
6910  }
6911  if (((bitField2_ & 0x04000000) != 0)) {
6912  output.writeDouble(115, minOrthogonalityForLpConstraints_);
6913  }
6914  if (((bitField3_ & 0x00000010) != 0)) {
6915  output.writeBool(116, exploitAllLpSolution_);
6916  }
6917  if (((bitField2_ & 0x00100000) != 0)) {
6918  output.writeBool(117, addCgCuts_);
6919  }
6920  if (((bitField2_ & 0x01000000) != 0)) {
6921  output.writeInt32(119, maxIntegerRoundingScaling_);
6922  }
6923  if (((bitField2_ & 0x00200000) != 0)) {
6924  output.writeBool(120, addMirCuts_);
6925  }
6926  if (((bitField2_ & 0x10000000) != 0)) {
6927  output.writeInt32(121, maxConsecutiveInactiveCount_);
6928  }
6929  if (((bitField3_ & 0x00000001) != 0)) {
6930  output.writeInt32(122, newConstraintsBatchSize_);
6931  }
6932  if (((bitField3_ & 0x00000200) != 0)) {
6933  output.writeInt64(123, pseudoCostReliabilityThreshold_);
6934  }
6935  if (((bitField4_ & 0x00000080) != 0)) {
6936  output.writeDouble(124, mipMaxBound_);
6937  }
6938  if (((bitField4_ & 0x00000100) != 0)) {
6939  output.writeDouble(125, mipVarScaling_);
6940  }
6941  if (((bitField4_ & 0x00000200) != 0)) {
6942  output.writeDouble(126, mipWantedPrecision_);
6943  }
6944  if (((bitField4_ & 0x00000400) != 0)) {
6945  output.writeInt32(127, mipMaxActivityExponent_);
6946  }
6947  if (((bitField4_ & 0x00000800) != 0)) {
6948  output.writeDouble(128, mipCheckPrecision_);
6949  }
6950  if (((bitField3_ & 0x08000000) != 0)) {
6951  output.writeBool(129, useRinsLns_);
6952  }
6953  if (((bitField3_ & 0x00000020) != 0)) {
6954  output.writeBool(130, exploitBestSolution_);
6955  }
6956  if (((bitField3_ & 0x00000080) != 0)) {
6957  output.writeBool(131, exploitObjective_);
6958  }
6959  if (((bitField3_ & 0x00004000) != 0)) {
6960  output.writeBool(132, fillTightenedDomainsInResponse_);
6961  }
6962  if (((bitField4_ & 0x00000010) != 0)) {
6963  output.writeBool(133, useCombinedNoOverlap_);
6964  }
6965  if (((bitField3_ & 0x00200000) != 0)) {
6966  output.writeInt32(134, interleaveBatchSize_);
6967  }
6968  if (((bitField4_ & 0x00000020) != 0)) {
6969  output.writeBool(135, catchSigintSignal_);
6970  }
6971  if (((bitField3_ & 0x00100000) != 0)) {
6972  output.writeBool(136, interleaveSearch_);
6973  }
6974  if (((bitField3_ & 0x40000000) != 0)) {
6975  output.writeBool(137, diversifyLnsParams_);
6976  }
6977  if (((bitField1_ & 0x00800000) != 0)) {
6978  output.writeInt32(138, maxPresolveIterations_);
6979  }
6980  if (((bitField4_ & 0x00000008) != 0)) {
6981  output.writeBool(139, useBranchingInLp_);
6982  }
6983  if (((bitField1_ & 0x40000000) != 0)) {
6984  output.writeBool(140, expandElementConstraints_);
6985  }
6986  if (((bitField3_ & 0x00400000) != 0)) {
6987  output.writeBool(141, reduceMemoryUsageInInterleaveMode_);
6988  }
6989  if (((bitField3_ & 0x00000100) != 0)) {
6990  output.writeInt64(142, probingPeriodAtRoot_);
6991  }
6992  if (((bitField1_ & 0x80000000) != 0)) {
6993  output.writeBool(143, expandAutomatonConstraints_);
6994  }
6995  if (((bitField4_ & 0x00000040) != 0)) {
6996  output.writeBool(144, useImpliedBounds_);
6997  }
6998  if (((bitField2_ & 0x00000002) != 0)) {
6999  output.writeDouble(145, mergeNoOverlapWorkLimit_);
7000  }
7001  if (((bitField2_ & 0x00000004) != 0)) {
7002  output.writeDouble(146, mergeAtMostOneWorkLimit_);
7003  }
7004  if (((bitField2_ & 0x00000008) != 0)) {
7005  output.writeInt32(147, presolveSubstitutionLevel_);
7006  }
7007  if (((bitField2_ & 0x00400000) != 0)) {
7008  output.writeInt32(148, maxAllDiffCutSize_);
7009  }
7010  if (((bitField3_ & 0x00040000) != 0)) {
7011  output.writeBool(149, stopAfterPresolve_);
7012  }
7013  if (((bitField3_ & 0x20000000) != 0)) {
7014  output.writeBool(150, useRelaxationLns_);
7015  }
7016  if (((bitField1_ & 0x04000000) != 0)) {
7017  output.writeInt32(151, cpModelMaxNumPresolveOperations_);
7018  }
7019  if (((bitField2_ & 0x00800000) != 0)) {
7020  output.writeBool(152, addLinMaxCuts_);
7021  }
7022  if (((bitField3_ & 0x00000004) != 0)) {
7023  output.writeInt32(153, hintConflictLimit_);
7024  }
7025  if (((bitField2_ & 0x08000000) != 0)) {
7026  output.writeInt32(154, maxCutRoundsAtLevelZero_);
7027  }
7028  if (((bitField2_ & 0x20000000) != 0)) {
7029  output.writeDouble(155, cutMaxActiveCountValue_);
7030  }
7031  if (((bitField2_ & 0x40000000) != 0)) {
7032  output.writeDouble(156, cutActiveCountDecay_);
7033  }
7034  if (((bitField2_ & 0x80000000) != 0)) {
7035  output.writeInt32(157, cutCleanupTarget_);
7036  }
7037  if (((bitField2_ & 0x00000001) != 0)) {
7038  output.writeBool(158, expandTableConstraints_);
7039  }
7040  if (((bitField1_ & 0x00000200) != 0)) {
7041  output.writeDouble(159, absoluteGapLimit_);
7042  }
7043  if (((bitField1_ & 0x00000400) != 0)) {
7044  output.writeDouble(160, relativeGapLimit_);
7045  }
7046  if (((bitField3_ & 0x00000040) != 0)) {
7047  output.writeBool(161, exploitRelaxationSolution_);
7048  }
7049  if (((bitField1_ & 0x02000000) != 0)) {
7050  output.writeBool(162, cpModelPostsolveWithFullSolver_);
7051  }
7052  if (((bitField1_ & 0x20000000) != 0)) {
7053  output.writeBool(163, useSatInprocessing_);
7054  }
7055  if (((bitField3_ & 0x10000000) != 0)) {
7056  output.writeBool(164, useFeasibilityPump_);
7057  }
7058  unknownFields.writeTo(output);
7059  }
7060 
7061  @java.lang.Override
7062  public int getSerializedSize() {
7063  int size = memoizedSize;
7064  if (size != -1) return size;
7065 
7066  size = 0;
7067  if (((bitField0_ & 0x00000001) != 0)) {
7068  size += com.google.protobuf.CodedOutputStream
7069  .computeEnumSize(1, preferredVariableOrder_);
7070  }
7071  if (((bitField0_ & 0x00000002) != 0)) {
7072  size += com.google.protobuf.CodedOutputStream
7073  .computeEnumSize(2, initialPolarity_);
7074  }
7075  if (((bitField0_ & 0x00000100) != 0)) {
7076  size += com.google.protobuf.CodedOutputStream
7077  .computeEnumSize(4, minimizationAlgorithm_);
7078  }
7079  if (((bitField0_ & 0x00000800) != 0)) {
7080  size += com.google.protobuf.CodedOutputStream
7081  .computeInt32Size(11, clauseCleanupPeriod_);
7082  }
7083  if (((bitField0_ & 0x00001000) != 0)) {
7084  size += com.google.protobuf.CodedOutputStream
7085  .computeInt32Size(13, clauseCleanupTarget_);
7086  }
7087  if (((bitField0_ & 0x00100000) != 0)) {
7088  size += com.google.protobuf.CodedOutputStream
7089  .computeDoubleSize(15, variableActivityDecay_);
7090  }
7091  if (((bitField0_ & 0x00200000) != 0)) {
7092  size += com.google.protobuf.CodedOutputStream
7093  .computeDoubleSize(16, maxVariableActivityValue_);
7094  }
7095  if (((bitField0_ & 0x02000000) != 0)) {
7096  size += com.google.protobuf.CodedOutputStream
7097  .computeDoubleSize(17, clauseActivityDecay_);
7098  }
7099  if (((bitField0_ & 0x04000000) != 0)) {
7100  size += com.google.protobuf.CodedOutputStream
7101  .computeDoubleSize(18, maxClauseActivityValue_);
7102  }
7103  if (((bitField0_ & 0x00400000) != 0)) {
7104  size += com.google.protobuf.CodedOutputStream
7105  .computeDoubleSize(22, glucoseMaxDecay_);
7106  }
7107  if (((bitField0_ & 0x00800000) != 0)) {
7108  size += com.google.protobuf.CodedOutputStream
7109  .computeDoubleSize(23, glucoseDecayIncrement_);
7110  }
7111  if (((bitField0_ & 0x01000000) != 0)) {
7112  size += com.google.protobuf.CodedOutputStream
7113  .computeInt32Size(24, glucoseDecayIncrementPeriod_);
7114  }
7115  if (((bitField0_ & 0x10000000) != 0)) {
7116  size += com.google.protobuf.CodedOutputStream
7117  .computeInt32Size(30, restartPeriod_);
7118  }
7119  if (((bitField1_ & 0x00001000) != 0)) {
7120  size += com.google.protobuf.CodedOutputStream
7121  .computeInt32Size(31, randomSeed_);
7122  }
7123  if (((bitField0_ & 0x00000010) != 0)) {
7124  size += com.google.protobuf.CodedOutputStream
7125  .computeDoubleSize(32, randomBranchesRatio_);
7126  }
7127  if (((bitField1_ & 0x00000800) != 0)) {
7128  size += com.google.protobuf.CodedOutputStream
7129  .computeBoolSize(33, treatBinaryClausesSeparately_);
7130  }
7131  if (((bitField0_ & 0x00000200) != 0)) {
7132  size += com.google.protobuf.CodedOutputStream
7133  .computeEnumSize(34, binaryMinimizationAlgorithm_);
7134  }
7135  if (((bitField2_ & 0x00000010) != 0)) {
7136  size += com.google.protobuf.CodedOutputStream
7137  .computeBoolSize(35, useOptimizationHints_);
7138  }
7139  if (((bitField1_ & 0x00000020) != 0)) {
7140  size += com.google.protobuf.CodedOutputStream
7141  .computeDoubleSize(36, maxTimeInSeconds_);
7142  }
7143  if (((bitField1_ & 0x00000080) != 0)) {
7144  size += com.google.protobuf.CodedOutputStream
7145  .computeInt64Size(37, maxNumberOfConflicts_);
7146  }
7147  if (((bitField1_ & 0x00000100) != 0)) {
7148  size += com.google.protobuf.CodedOutputStream
7149  .computeInt64Size(40, maxMemoryInMb_);
7150  }
7151  if (((bitField1_ & 0x00002000) != 0)) {
7152  size += com.google.protobuf.CodedOutputStream
7153  .computeBoolSize(41, logSearchProgress_);
7154  }
7155  if (((bitField1_ & 0x00004000) != 0)) {
7156  size += com.google.protobuf.CodedOutputStream
7157  .computeBoolSize(43, usePbResolution_);
7158  }
7159  if (((bitField0_ & 0x00000004) != 0)) {
7160  size += com.google.protobuf.CodedOutputStream
7161  .computeBoolSize(44, usePhaseSaving_);
7162  }
7163  if (((bitField0_ & 0x00000008) != 0)) {
7164  size += com.google.protobuf.CodedOutputStream
7165  .computeDoubleSize(45, randomPolarityRatio_);
7166  }
7167  if (((bitField0_ & 0x00010000) != 0)) {
7168  size += com.google.protobuf.CodedOutputStream
7169  .computeInt32Size(46, pbCleanupIncrement_);
7170  }
7171  if (((bitField0_ & 0x00020000) != 0)) {
7172  size += com.google.protobuf.CodedOutputStream
7173  .computeDoubleSize(47, pbCleanupRatio_);
7174  }
7175  if (((bitField1_ & 0x00008000) != 0)) {
7176  size += com.google.protobuf.CodedOutputStream
7177  .computeBoolSize(48, minimizeReductionDuringPbResolution_);
7178  }
7179  if (((bitField1_ & 0x00010000) != 0)) {
7180  size += com.google.protobuf.CodedOutputStream
7181  .computeBoolSize(49, countAssumptionLevelsInLbd_);
7182  }
7183  if (((bitField2_ & 0x00000020) != 0)) {
7184  size += com.google.protobuf.CodedOutputStream
7185  .computeBoolSize(50, minimizeCore_);
7186  }
7187  if (((bitField2_ & 0x00000100) != 0)) {
7188  size += com.google.protobuf.CodedOutputStream
7189  .computeEnumSize(51, maxSatAssumptionOrder_);
7190  }
7191  if (((bitField2_ & 0x00000200) != 0)) {
7192  size += com.google.protobuf.CodedOutputStream
7193  .computeBoolSize(52, maxSatReverseAssumptionOrder_);
7194  }
7195  if (((bitField2_ & 0x00000400) != 0)) {
7196  size += com.google.protobuf.CodedOutputStream
7197  .computeEnumSize(53, maxSatStratification_);
7198  }
7199  if (((bitField1_ & 0x00020000) != 0)) {
7200  size += com.google.protobuf.CodedOutputStream
7201  .computeInt32Size(54, presolveBveThreshold_);
7202  }
7203  if (((bitField1_ & 0x00040000) != 0)) {
7204  size += com.google.protobuf.CodedOutputStream
7205  .computeInt32Size(55, presolveBveClauseWeight_);
7206  }
7207  if (((bitField0_ & 0x00000400) != 0)) {
7208  size += com.google.protobuf.CodedOutputStream
7209  .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
7210  }
7211  if (((bitField1_ & 0x00080000) != 0)) {
7212  size += com.google.protobuf.CodedOutputStream
7213  .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
7214  }
7215  if (((bitField0_ & 0x00002000) != 0)) {
7216  size += com.google.protobuf.CodedOutputStream
7217  .computeEnumSize(58, clauseCleanupProtection_);
7218  }
7219  if (((bitField0_ & 0x00004000) != 0)) {
7220  size += com.google.protobuf.CodedOutputStream
7221  .computeInt32Size(59, clauseCleanupLbdBound_);
7222  }
7223  if (((bitField0_ & 0x00008000) != 0)) {
7224  size += com.google.protobuf.CodedOutputStream
7225  .computeEnumSize(60, clauseCleanupOrdering_);
7226  }
7227  {
7228  int dataSize = 0;
7229  for (int i = 0; i < restartAlgorithms_.size(); i++) {
7230  dataSize += com.google.protobuf.CodedOutputStream
7231  .computeEnumSizeNoTag(restartAlgorithms_.get(i));
7232  }
7233  size += dataSize;
7234  size += 2 * restartAlgorithms_.size();
7235  }
7236  if (((bitField0_ & 0x20000000) != 0)) {
7237  size += com.google.protobuf.CodedOutputStream
7238  .computeInt32Size(62, restartRunningWindowSize_);
7239  }
7240  if (((bitField0_ & 0x40000000) != 0)) {
7241  size += com.google.protobuf.CodedOutputStream
7242  .computeDoubleSize(63, restartDlAverageRatio_);
7243  }
7244  if (((bitField1_ & 0x00000001) != 0)) {
7245  size += com.google.protobuf.CodedOutputStream
7246  .computeBoolSize(64, useBlockingRestart_);
7247  }
7248  if (((bitField1_ & 0x00000002) != 0)) {
7249  size += com.google.protobuf.CodedOutputStream
7250  .computeInt32Size(65, blockingRestartWindowSize_);
7251  }
7252  if (((bitField1_ & 0x00000004) != 0)) {
7253  size += com.google.protobuf.CodedOutputStream
7254  .computeDoubleSize(66, blockingRestartMultiplier_);
7255  }
7256  if (((bitField1_ & 0x00000040) != 0)) {
7257  size += com.google.protobuf.CodedOutputStream
7258  .computeDoubleSize(67, maxDeterministicTime_);
7259  }
7260  if (((bitField1_ & 0x00000008) != 0)) {
7261  size += com.google.protobuf.CodedOutputStream
7262  .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
7263  }
7264  if (((bitField1_ & 0x00000010) != 0)) {
7265  size += com.google.protobuf.CodedOutputStream
7266  .computeDoubleSize(69, strategyChangeIncreaseRatio_);
7267  }
7268  if (((bitField0_ & 0x08000000) != 0)) {
7269  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
7270  }
7271  if (((bitField0_ & 0x80000000) != 0)) {
7272  size += com.google.protobuf.CodedOutputStream
7273  .computeDoubleSize(71, restartLbdAverageRatio_);
7274  }
7275  if (((bitField1_ & 0x00200000) != 0)) {
7276  size += com.google.protobuf.CodedOutputStream
7277  .computeBoolSize(72, presolveUseBva_);
7278  }
7279  if (((bitField1_ & 0x00400000) != 0)) {
7280  size += com.google.protobuf.CodedOutputStream
7281  .computeInt32Size(73, presolveBvaThreshold_);
7282  }
7283  if (((bitField2_ & 0x00000800) != 0)) {
7284  size += com.google.protobuf.CodedOutputStream
7285  .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
7286  }
7287  if (((bitField0_ & 0x00000020) != 0)) {
7288  size += com.google.protobuf.CodedOutputStream
7289  .computeBoolSize(75, useErwaHeuristic_);
7290  }
7291  if (((bitField0_ & 0x00000040) != 0)) {
7292  size += com.google.protobuf.CodedOutputStream
7293  .computeDoubleSize(76, initialVariablesActivity_);
7294  }
7295  if (((bitField0_ & 0x00000080) != 0)) {
7296  size += com.google.protobuf.CodedOutputStream
7297  .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
7298  }
7299  if (((bitField2_ & 0x00001000) != 0)) {
7300  size += com.google.protobuf.CodedOutputStream
7301  .computeBoolSize(78, useOverloadCheckerInCumulativeConstraint_);
7302  }
7303  if (((bitField2_ & 0x00002000) != 0)) {
7304  size += com.google.protobuf.CodedOutputStream
7305  .computeBoolSize(79, useTimetableEdgeFindingInCumulativeConstraint_);
7306  }
7307  if (((bitField2_ & 0x00004000) != 0)) {
7308  size += com.google.protobuf.CodedOutputStream
7309  .computeBoolSize(80, useDisjunctiveConstraintInCumulativeConstraint_);
7310  }
7311  if (((bitField3_ & 0x00000002) != 0)) {
7312  size += com.google.protobuf.CodedOutputStream
7313  .computeEnumSize(82, searchBranching_);
7314  }
7315  if (((bitField3_ & 0x00000400) != 0)) {
7316  size += com.google.protobuf.CodedOutputStream
7317  .computeBoolSize(83, optimizeWithCore_);
7318  }
7319  if (((bitField2_ & 0x00000040) != 0)) {
7320  size += com.google.protobuf.CodedOutputStream
7321  .computeBoolSize(84, findMultipleCores_);
7322  }
7323  if (((bitField3_ & 0x00001000) != 0)) {
7324  size += com.google.protobuf.CodedOutputStream
7325  .computeBoolSize(85, optimizeWithMaxHs_);
7326  }
7327  if (((bitField1_ & 0x01000000) != 0)) {
7328  size += com.google.protobuf.CodedOutputStream
7329  .computeBoolSize(86, cpModelPresolve_);
7330  }
7331  if (((bitField3_ & 0x00002000) != 0)) {
7332  size += com.google.protobuf.CodedOutputStream
7333  .computeBoolSize(87, enumerateAllSolutions_);
7334  }
7335  if (((bitField1_ & 0x00100000) != 0)) {
7336  size += com.google.protobuf.CodedOutputStream
7337  .computeBoolSize(88, presolveBlockedClause_);
7338  }
7339  if (((bitField2_ & 0x00000080) != 0)) {
7340  size += com.google.protobuf.CodedOutputStream
7341  .computeBoolSize(89, coverOptimization_);
7342  }
7343  if (((bitField2_ & 0x00008000) != 0)) {
7344  size += com.google.protobuf.CodedOutputStream
7345  .computeInt32Size(90, linearizationLevel_);
7346  }
7347  if (((bitField2_ & 0x00020000) != 0)) {
7348  size += com.google.protobuf.CodedOutputStream
7349  .computeInt32Size(91, maxNumCuts_);
7350  }
7351  if (((bitField2_ & 0x00040000) != 0)) {
7352  size += com.google.protobuf.CodedOutputStream
7353  .computeBoolSize(92, onlyAddCutsAtLevelZero_);
7354  }
7355  if (((bitField1_ & 0x10000000) != 0)) {
7356  size += com.google.protobuf.CodedOutputStream
7357  .computeBoolSize(93, cpModelUseSatPresolve_);
7358  }
7359  if (((bitField3_ & 0x00000008) != 0)) {
7360  size += com.google.protobuf.CodedOutputStream
7361  .computeBoolSize(94, exploitIntegerLpSolution_);
7362  }
7363  if (((bitField3_ & 0x00010000) != 0)) {
7364  size += com.google.protobuf.CodedOutputStream
7365  .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
7366  }
7367  if (((bitField0_ & 0x00040000) != 0)) {
7368  size += com.google.protobuf.CodedOutputStream
7369  .computeInt32Size(96, minimizeWithPropagationRestartPeriod_);
7370  }
7371  if (((bitField0_ & 0x00080000) != 0)) {
7372  size += com.google.protobuf.CodedOutputStream
7373  .computeInt32Size(97, minimizeWithPropagationNumDecisions_);
7374  }
7375  if (((bitField3_ & 0x00020000) != 0)) {
7376  size += com.google.protobuf.CodedOutputStream
7377  .computeBoolSize(98, stopAfterFirstSolution_);
7378  }
7379  if (((bitField3_ & 0x00000800) != 0)) {
7380  size += com.google.protobuf.CodedOutputStream
7381  .computeInt32Size(99, binarySearchNumConflicts_);
7382  }
7383  if (((bitField3_ & 0x00080000) != 0)) {
7384  size += com.google.protobuf.CodedOutputStream
7385  .computeInt32Size(100, numSearchWorkers_);
7386  }
7387  if (((bitField3_ & 0x02000000) != 0)) {
7388  size += com.google.protobuf.CodedOutputStream
7389  .computeBoolSize(101, useLnsOnly_);
7390  }
7391  if (((bitField3_ & 0x80000000) != 0)) {
7392  size += com.google.protobuf.CodedOutputStream
7393  .computeBoolSize(103, randomizeSearch_);
7394  }
7395  if (((bitField4_ & 0x00000001) != 0)) {
7396  size += com.google.protobuf.CodedOutputStream
7397  .computeInt64Size(104, searchRandomizationTolerance_);
7398  }
7399  if (((bitField3_ & 0x04000000) != 0)) {
7400  size += com.google.protobuf.CodedOutputStream
7401  .computeBoolSize(105, lnsFocusOnDecisionVariables_);
7402  }
7403  if (((bitField3_ & 0x00008000) != 0)) {
7404  size += com.google.protobuf.CodedOutputStream
7405  .computeBoolSize(106, instantiateAllVariables_);
7406  }
7407  if (((bitField2_ & 0x00010000) != 0)) {
7408  size += com.google.protobuf.CodedOutputStream
7409  .computeInt32Size(107, booleanEncodingLevel_);
7410  }
7411  if (((bitField4_ & 0x00000002) != 0)) {
7412  size += com.google.protobuf.CodedOutputStream
7413  .computeBoolSize(108, useOptionalVariables_);
7414  }
7415  if (((bitField4_ & 0x00000004) != 0)) {
7416  size += com.google.protobuf.CodedOutputStream
7417  .computeBoolSize(109, useExactLpReason_);
7418  }
7419  if (((bitField1_ & 0x08000000) != 0)) {
7420  size += com.google.protobuf.CodedOutputStream
7421  .computeInt32Size(110, cpModelProbingLevel_);
7422  }
7423  if (((bitField2_ & 0x00080000) != 0)) {
7424  size += com.google.protobuf.CodedOutputStream
7425  .computeBoolSize(111, addKnapsackCuts_);
7426  }
7427  if (((bitField2_ & 0x02000000) != 0)) {
7428  size += com.google.protobuf.CodedOutputStream
7429  .computeBoolSize(112, addLpConstraintsLazily_);
7430  }
7431  if (((bitField3_ & 0x00800000) != 0)) {
7432  size += com.google.protobuf.CodedOutputStream
7433  .computeBoolSize(113, shareObjectiveBounds_);
7434  }
7435  if (((bitField3_ & 0x01000000) != 0)) {
7436  size += com.google.protobuf.CodedOutputStream
7437  .computeBoolSize(114, shareLevelZeroBounds_);
7438  }
7439  if (((bitField2_ & 0x04000000) != 0)) {
7440  size += com.google.protobuf.CodedOutputStream
7441  .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
7442  }
7443  if (((bitField3_ & 0x00000010) != 0)) {
7444  size += com.google.protobuf.CodedOutputStream
7445  .computeBoolSize(116, exploitAllLpSolution_);
7446  }
7447  if (((bitField2_ & 0x00100000) != 0)) {
7448  size += com.google.protobuf.CodedOutputStream
7449  .computeBoolSize(117, addCgCuts_);
7450  }
7451  if (((bitField2_ & 0x01000000) != 0)) {
7452  size += com.google.protobuf.CodedOutputStream
7453  .computeInt32Size(119, maxIntegerRoundingScaling_);
7454  }
7455  if (((bitField2_ & 0x00200000) != 0)) {
7456  size += com.google.protobuf.CodedOutputStream
7457  .computeBoolSize(120, addMirCuts_);
7458  }
7459  if (((bitField2_ & 0x10000000) != 0)) {
7460  size += com.google.protobuf.CodedOutputStream
7461  .computeInt32Size(121, maxConsecutiveInactiveCount_);
7462  }
7463  if (((bitField3_ & 0x00000001) != 0)) {
7464  size += com.google.protobuf.CodedOutputStream
7465  .computeInt32Size(122, newConstraintsBatchSize_);
7466  }
7467  if (((bitField3_ & 0x00000200) != 0)) {
7468  size += com.google.protobuf.CodedOutputStream
7469  .computeInt64Size(123, pseudoCostReliabilityThreshold_);
7470  }
7471  if (((bitField4_ & 0x00000080) != 0)) {
7472  size += com.google.protobuf.CodedOutputStream
7473  .computeDoubleSize(124, mipMaxBound_);
7474  }
7475  if (((bitField4_ & 0x00000100) != 0)) {
7476  size += com.google.protobuf.CodedOutputStream
7477  .computeDoubleSize(125, mipVarScaling_);
7478  }
7479  if (((bitField4_ & 0x00000200) != 0)) {
7480  size += com.google.protobuf.CodedOutputStream
7481  .computeDoubleSize(126, mipWantedPrecision_);
7482  }
7483  if (((bitField4_ & 0x00000400) != 0)) {
7484  size += com.google.protobuf.CodedOutputStream
7485  .computeInt32Size(127, mipMaxActivityExponent_);
7486  }
7487  if (((bitField4_ & 0x00000800) != 0)) {
7488  size += com.google.protobuf.CodedOutputStream
7489  .computeDoubleSize(128, mipCheckPrecision_);
7490  }
7491  if (((bitField3_ & 0x08000000) != 0)) {
7492  size += com.google.protobuf.CodedOutputStream
7493  .computeBoolSize(129, useRinsLns_);
7494  }
7495  if (((bitField3_ & 0x00000020) != 0)) {
7496  size += com.google.protobuf.CodedOutputStream
7497  .computeBoolSize(130, exploitBestSolution_);
7498  }
7499  if (((bitField3_ & 0x00000080) != 0)) {
7500  size += com.google.protobuf.CodedOutputStream
7501  .computeBoolSize(131, exploitObjective_);
7502  }
7503  if (((bitField3_ & 0x00004000) != 0)) {
7504  size += com.google.protobuf.CodedOutputStream
7505  .computeBoolSize(132, fillTightenedDomainsInResponse_);
7506  }
7507  if (((bitField4_ & 0x00000010) != 0)) {
7508  size += com.google.protobuf.CodedOutputStream
7509  .computeBoolSize(133, useCombinedNoOverlap_);
7510  }
7511  if (((bitField3_ & 0x00200000) != 0)) {
7512  size += com.google.protobuf.CodedOutputStream
7513  .computeInt32Size(134, interleaveBatchSize_);
7514  }
7515  if (((bitField4_ & 0x00000020) != 0)) {
7516  size += com.google.protobuf.CodedOutputStream
7517  .computeBoolSize(135, catchSigintSignal_);
7518  }
7519  if (((bitField3_ & 0x00100000) != 0)) {
7520  size += com.google.protobuf.CodedOutputStream
7521  .computeBoolSize(136, interleaveSearch_);
7522  }
7523  if (((bitField3_ & 0x40000000) != 0)) {
7524  size += com.google.protobuf.CodedOutputStream
7525  .computeBoolSize(137, diversifyLnsParams_);
7526  }
7527  if (((bitField1_ & 0x00800000) != 0)) {
7528  size += com.google.protobuf.CodedOutputStream
7529  .computeInt32Size(138, maxPresolveIterations_);
7530  }
7531  if (((bitField4_ & 0x00000008) != 0)) {
7532  size += com.google.protobuf.CodedOutputStream
7533  .computeBoolSize(139, useBranchingInLp_);
7534  }
7535  if (((bitField1_ & 0x40000000) != 0)) {
7536  size += com.google.protobuf.CodedOutputStream
7537  .computeBoolSize(140, expandElementConstraints_);
7538  }
7539  if (((bitField3_ & 0x00400000) != 0)) {
7540  size += com.google.protobuf.CodedOutputStream
7541  .computeBoolSize(141, reduceMemoryUsageInInterleaveMode_);
7542  }
7543  if (((bitField3_ & 0x00000100) != 0)) {
7544  size += com.google.protobuf.CodedOutputStream
7545  .computeInt64Size(142, probingPeriodAtRoot_);
7546  }
7547  if (((bitField1_ & 0x80000000) != 0)) {
7548  size += com.google.protobuf.CodedOutputStream
7549  .computeBoolSize(143, expandAutomatonConstraints_);
7550  }
7551  if (((bitField4_ & 0x00000040) != 0)) {
7552  size += com.google.protobuf.CodedOutputStream
7553  .computeBoolSize(144, useImpliedBounds_);
7554  }
7555  if (((bitField2_ & 0x00000002) != 0)) {
7556  size += com.google.protobuf.CodedOutputStream
7557  .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
7558  }
7559  if (((bitField2_ & 0x00000004) != 0)) {
7560  size += com.google.protobuf.CodedOutputStream
7561  .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
7562  }
7563  if (((bitField2_ & 0x00000008) != 0)) {
7564  size += com.google.protobuf.CodedOutputStream
7565  .computeInt32Size(147, presolveSubstitutionLevel_);
7566  }
7567  if (((bitField2_ & 0x00400000) != 0)) {
7568  size += com.google.protobuf.CodedOutputStream
7569  .computeInt32Size(148, maxAllDiffCutSize_);
7570  }
7571  if (((bitField3_ & 0x00040000) != 0)) {
7572  size += com.google.protobuf.CodedOutputStream
7573  .computeBoolSize(149, stopAfterPresolve_);
7574  }
7575  if (((bitField3_ & 0x20000000) != 0)) {
7576  size += com.google.protobuf.CodedOutputStream
7577  .computeBoolSize(150, useRelaxationLns_);
7578  }
7579  if (((bitField1_ & 0x04000000) != 0)) {
7580  size += com.google.protobuf.CodedOutputStream
7581  .computeInt32Size(151, cpModelMaxNumPresolveOperations_);
7582  }
7583  if (((bitField2_ & 0x00800000) != 0)) {
7584  size += com.google.protobuf.CodedOutputStream
7585  .computeBoolSize(152, addLinMaxCuts_);
7586  }
7587  if (((bitField3_ & 0x00000004) != 0)) {
7588  size += com.google.protobuf.CodedOutputStream
7589  .computeInt32Size(153, hintConflictLimit_);
7590  }
7591  if (((bitField2_ & 0x08000000) != 0)) {
7592  size += com.google.protobuf.CodedOutputStream
7593  .computeInt32Size(154, maxCutRoundsAtLevelZero_);
7594  }
7595  if (((bitField2_ & 0x20000000) != 0)) {
7596  size += com.google.protobuf.CodedOutputStream
7597  .computeDoubleSize(155, cutMaxActiveCountValue_);
7598  }
7599  if (((bitField2_ & 0x40000000) != 0)) {
7600  size += com.google.protobuf.CodedOutputStream
7601  .computeDoubleSize(156, cutActiveCountDecay_);
7602  }
7603  if (((bitField2_ & 0x80000000) != 0)) {
7604  size += com.google.protobuf.CodedOutputStream
7605  .computeInt32Size(157, cutCleanupTarget_);
7606  }
7607  if (((bitField2_ & 0x00000001) != 0)) {
7608  size += com.google.protobuf.CodedOutputStream
7609  .computeBoolSize(158, expandTableConstraints_);
7610  }
7611  if (((bitField1_ & 0x00000200) != 0)) {
7612  size += com.google.protobuf.CodedOutputStream
7613  .computeDoubleSize(159, absoluteGapLimit_);
7614  }
7615  if (((bitField1_ & 0x00000400) != 0)) {
7616  size += com.google.protobuf.CodedOutputStream
7617  .computeDoubleSize(160, relativeGapLimit_);
7618  }
7619  if (((bitField3_ & 0x00000040) != 0)) {
7620  size += com.google.protobuf.CodedOutputStream
7621  .computeBoolSize(161, exploitRelaxationSolution_);
7622  }
7623  if (((bitField1_ & 0x02000000) != 0)) {
7624  size += com.google.protobuf.CodedOutputStream
7625  .computeBoolSize(162, cpModelPostsolveWithFullSolver_);
7626  }
7627  if (((bitField1_ & 0x20000000) != 0)) {
7628  size += com.google.protobuf.CodedOutputStream
7629  .computeBoolSize(163, useSatInprocessing_);
7630  }
7631  if (((bitField3_ & 0x10000000) != 0)) {
7632  size += com.google.protobuf.CodedOutputStream
7633  .computeBoolSize(164, useFeasibilityPump_);
7634  }
7635  size += unknownFields.getSerializedSize();
7636  memoizedSize = size;
7637  return size;
7638  }
7639 
7640  @java.lang.Override
7641  public boolean equals(final java.lang.Object obj) {
7642  if (obj == this) {
7643  return true;
7644  }
7645  if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
7646  return super.equals(obj);
7647  }
7649 
7650  if (hasPreferredVariableOrder() != other.hasPreferredVariableOrder()) return false;
7651  if (hasPreferredVariableOrder()) {
7652  if (preferredVariableOrder_ != other.preferredVariableOrder_) return false;
7653  }
7654  if (hasInitialPolarity() != other.hasInitialPolarity()) return false;
7655  if (hasInitialPolarity()) {
7656  if (initialPolarity_ != other.initialPolarity_) return false;
7657  }
7658  if (hasUsePhaseSaving() != other.hasUsePhaseSaving()) return false;
7659  if (hasUsePhaseSaving()) {
7660  if (getUsePhaseSaving()
7661  != other.getUsePhaseSaving()) return false;
7662  }
7663  if (hasRandomPolarityRatio() != other.hasRandomPolarityRatio()) return false;
7664  if (hasRandomPolarityRatio()) {
7665  if (java.lang.Double.doubleToLongBits(getRandomPolarityRatio())
7666  != java.lang.Double.doubleToLongBits(
7667  other.getRandomPolarityRatio())) return false;
7668  }
7669  if (hasRandomBranchesRatio() != other.hasRandomBranchesRatio()) return false;
7670  if (hasRandomBranchesRatio()) {
7671  if (java.lang.Double.doubleToLongBits(getRandomBranchesRatio())
7672  != java.lang.Double.doubleToLongBits(
7673  other.getRandomBranchesRatio())) return false;
7674  }
7675  if (hasUseErwaHeuristic() != other.hasUseErwaHeuristic()) return false;
7676  if (hasUseErwaHeuristic()) {
7677  if (getUseErwaHeuristic()
7678  != other.getUseErwaHeuristic()) return false;
7679  }
7680  if (hasInitialVariablesActivity() != other.hasInitialVariablesActivity()) return false;
7682  if (java.lang.Double.doubleToLongBits(getInitialVariablesActivity())
7683  != java.lang.Double.doubleToLongBits(
7684  other.getInitialVariablesActivity())) return false;
7685  }
7686  if (hasAlsoBumpVariablesInConflictReasons() != other.hasAlsoBumpVariablesInConflictReasons()) return false;
7689  != other.getAlsoBumpVariablesInConflictReasons()) return false;
7690  }
7691  if (hasMinimizationAlgorithm() != other.hasMinimizationAlgorithm()) return false;
7692  if (hasMinimizationAlgorithm()) {
7693  if (minimizationAlgorithm_ != other.minimizationAlgorithm_) return false;
7694  }
7695  if (hasBinaryMinimizationAlgorithm() != other.hasBinaryMinimizationAlgorithm()) return false;
7697  if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_) return false;
7698  }
7699  if (hasSubsumptionDuringConflictAnalysis() != other.hasSubsumptionDuringConflictAnalysis()) return false;
7702  != other.getSubsumptionDuringConflictAnalysis()) return false;
7703  }
7704  if (hasClauseCleanupPeriod() != other.hasClauseCleanupPeriod()) return false;
7705  if (hasClauseCleanupPeriod()) {
7707  != other.getClauseCleanupPeriod()) return false;
7708  }
7709  if (hasClauseCleanupTarget() != other.hasClauseCleanupTarget()) return false;
7710  if (hasClauseCleanupTarget()) {
7712  != other.getClauseCleanupTarget()) return false;
7713  }
7714  if (hasClauseCleanupProtection() != other.hasClauseCleanupProtection()) return false;
7716  if (clauseCleanupProtection_ != other.clauseCleanupProtection_) return false;
7717  }
7718  if (hasClauseCleanupLbdBound() != other.hasClauseCleanupLbdBound()) return false;
7719  if (hasClauseCleanupLbdBound()) {
7721  != other.getClauseCleanupLbdBound()) return false;
7722  }
7723  if (hasClauseCleanupOrdering() != other.hasClauseCleanupOrdering()) return false;
7724  if (hasClauseCleanupOrdering()) {
7725  if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_) return false;
7726  }
7727  if (hasPbCleanupIncrement() != other.hasPbCleanupIncrement()) return false;
7728  if (hasPbCleanupIncrement()) {
7729  if (getPbCleanupIncrement()
7730  != other.getPbCleanupIncrement()) return false;
7731  }
7732  if (hasPbCleanupRatio() != other.hasPbCleanupRatio()) return false;
7733  if (hasPbCleanupRatio()) {
7734  if (java.lang.Double.doubleToLongBits(getPbCleanupRatio())
7735  != java.lang.Double.doubleToLongBits(
7736  other.getPbCleanupRatio())) return false;
7737  }
7738  if (hasMinimizeWithPropagationRestartPeriod() != other.hasMinimizeWithPropagationRestartPeriod()) return false;
7741  != other.getMinimizeWithPropagationRestartPeriod()) return false;
7742  }
7743  if (hasMinimizeWithPropagationNumDecisions() != other.hasMinimizeWithPropagationNumDecisions()) return false;
7746  != other.getMinimizeWithPropagationNumDecisions()) return false;
7747  }
7748  if (hasVariableActivityDecay() != other.hasVariableActivityDecay()) return false;
7749  if (hasVariableActivityDecay()) {
7750  if (java.lang.Double.doubleToLongBits(getVariableActivityDecay())
7751  != java.lang.Double.doubleToLongBits(
7752  other.getVariableActivityDecay())) return false;
7753  }
7754  if (hasMaxVariableActivityValue() != other.hasMaxVariableActivityValue()) return false;
7756  if (java.lang.Double.doubleToLongBits(getMaxVariableActivityValue())
7757  != java.lang.Double.doubleToLongBits(
7758  other.getMaxVariableActivityValue())) return false;
7759  }
7760  if (hasGlucoseMaxDecay() != other.hasGlucoseMaxDecay()) return false;
7761  if (hasGlucoseMaxDecay()) {
7762  if (java.lang.Double.doubleToLongBits(getGlucoseMaxDecay())
7763  != java.lang.Double.doubleToLongBits(
7764  other.getGlucoseMaxDecay())) return false;
7765  }
7766  if (hasGlucoseDecayIncrement() != other.hasGlucoseDecayIncrement()) return false;
7767  if (hasGlucoseDecayIncrement()) {
7768  if (java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement())
7769  != java.lang.Double.doubleToLongBits(
7770  other.getGlucoseDecayIncrement())) return false;
7771  }
7772  if (hasGlucoseDecayIncrementPeriod() != other.hasGlucoseDecayIncrementPeriod()) return false;
7775  != other.getGlucoseDecayIncrementPeriod()) return false;
7776  }
7777  if (hasClauseActivityDecay() != other.hasClauseActivityDecay()) return false;
7778  if (hasClauseActivityDecay()) {
7779  if (java.lang.Double.doubleToLongBits(getClauseActivityDecay())
7780  != java.lang.Double.doubleToLongBits(
7781  other.getClauseActivityDecay())) return false;
7782  }
7783  if (hasMaxClauseActivityValue() != other.hasMaxClauseActivityValue()) return false;
7784  if (hasMaxClauseActivityValue()) {
7785  if (java.lang.Double.doubleToLongBits(getMaxClauseActivityValue())
7786  != java.lang.Double.doubleToLongBits(
7787  other.getMaxClauseActivityValue())) return false;
7788  }
7789  if (!restartAlgorithms_.equals(other.restartAlgorithms_)) return false;
7790  if (hasDefaultRestartAlgorithms() != other.hasDefaultRestartAlgorithms()) return false;
7793  .equals(other.getDefaultRestartAlgorithms())) return false;
7794  }
7795  if (hasRestartPeriod() != other.hasRestartPeriod()) return false;
7796  if (hasRestartPeriod()) {
7797  if (getRestartPeriod()
7798  != other.getRestartPeriod()) return false;
7799  }
7800  if (hasRestartRunningWindowSize() != other.hasRestartRunningWindowSize()) return false;
7803  != other.getRestartRunningWindowSize()) return false;
7804  }
7805  if (hasRestartDlAverageRatio() != other.hasRestartDlAverageRatio()) return false;
7806  if (hasRestartDlAverageRatio()) {
7807  if (java.lang.Double.doubleToLongBits(getRestartDlAverageRatio())
7808  != java.lang.Double.doubleToLongBits(
7809  other.getRestartDlAverageRatio())) return false;
7810  }
7811  if (hasRestartLbdAverageRatio() != other.hasRestartLbdAverageRatio()) return false;
7812  if (hasRestartLbdAverageRatio()) {
7813  if (java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio())
7814  != java.lang.Double.doubleToLongBits(
7815  other.getRestartLbdAverageRatio())) return false;
7816  }
7817  if (hasUseBlockingRestart() != other.hasUseBlockingRestart()) return false;
7818  if (hasUseBlockingRestart()) {
7819  if (getUseBlockingRestart()
7820  != other.getUseBlockingRestart()) return false;
7821  }
7822  if (hasBlockingRestartWindowSize() != other.hasBlockingRestartWindowSize()) return false;
7825  != other.getBlockingRestartWindowSize()) return false;
7826  }
7827  if (hasBlockingRestartMultiplier() != other.hasBlockingRestartMultiplier()) return false;
7829  if (java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier())
7830  != java.lang.Double.doubleToLongBits(
7831  other.getBlockingRestartMultiplier())) return false;
7832  }
7833  if (hasNumConflictsBeforeStrategyChanges() != other.hasNumConflictsBeforeStrategyChanges()) return false;
7836  != other.getNumConflictsBeforeStrategyChanges()) return false;
7837  }
7838  if (hasStrategyChangeIncreaseRatio() != other.hasStrategyChangeIncreaseRatio()) return false;
7840  if (java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio())
7841  != java.lang.Double.doubleToLongBits(
7842  other.getStrategyChangeIncreaseRatio())) return false;
7843  }
7844  if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
7845  if (hasMaxTimeInSeconds()) {
7846  if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
7847  != java.lang.Double.doubleToLongBits(
7848  other.getMaxTimeInSeconds())) return false;
7849  }
7850  if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
7851  if (hasMaxDeterministicTime()) {
7852  if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
7853  != java.lang.Double.doubleToLongBits(
7854  other.getMaxDeterministicTime())) return false;
7855  }
7856  if (hasMaxNumberOfConflicts() != other.hasMaxNumberOfConflicts()) return false;
7857  if (hasMaxNumberOfConflicts()) {
7859  != other.getMaxNumberOfConflicts()) return false;
7860  }
7861  if (hasMaxMemoryInMb() != other.hasMaxMemoryInMb()) return false;
7862  if (hasMaxMemoryInMb()) {
7863  if (getMaxMemoryInMb()
7864  != other.getMaxMemoryInMb()) return false;
7865  }
7866  if (hasAbsoluteGapLimit() != other.hasAbsoluteGapLimit()) return false;
7867  if (hasAbsoluteGapLimit()) {
7868  if (java.lang.Double.doubleToLongBits(getAbsoluteGapLimit())
7869  != java.lang.Double.doubleToLongBits(
7870  other.getAbsoluteGapLimit())) return false;
7871  }
7872  if (hasRelativeGapLimit() != other.hasRelativeGapLimit()) return false;
7873  if (hasRelativeGapLimit()) {
7874  if (java.lang.Double.doubleToLongBits(getRelativeGapLimit())
7875  != java.lang.Double.doubleToLongBits(
7876  other.getRelativeGapLimit())) return false;
7877  }
7878  if (hasTreatBinaryClausesSeparately() != other.hasTreatBinaryClausesSeparately()) return false;
7881  != other.getTreatBinaryClausesSeparately()) return false;
7882  }
7883  if (hasRandomSeed() != other.hasRandomSeed()) return false;
7884  if (hasRandomSeed()) {
7885  if (getRandomSeed()
7886  != other.getRandomSeed()) return false;
7887  }
7888  if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
7889  if (hasLogSearchProgress()) {
7890  if (getLogSearchProgress()
7891  != other.getLogSearchProgress()) return false;
7892  }
7893  if (hasUsePbResolution() != other.hasUsePbResolution()) return false;
7894  if (hasUsePbResolution()) {
7895  if (getUsePbResolution()
7896  != other.getUsePbResolution()) return false;
7897  }
7898  if (hasMinimizeReductionDuringPbResolution() != other.hasMinimizeReductionDuringPbResolution()) return false;
7901  != other.getMinimizeReductionDuringPbResolution()) return false;
7902  }
7903  if (hasCountAssumptionLevelsInLbd() != other.hasCountAssumptionLevelsInLbd()) return false;
7906  != other.getCountAssumptionLevelsInLbd()) return false;
7907  }
7908  if (hasPresolveBveThreshold() != other.hasPresolveBveThreshold()) return false;
7909  if (hasPresolveBveThreshold()) {
7911  != other.getPresolveBveThreshold()) return false;
7912  }
7913  if (hasPresolveBveClauseWeight() != other.hasPresolveBveClauseWeight()) return false;
7916  != other.getPresolveBveClauseWeight()) return false;
7917  }
7918  if (hasPresolveProbingDeterministicTimeLimit() != other.hasPresolveProbingDeterministicTimeLimit()) return false;
7920  if (java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit())
7921  != java.lang.Double.doubleToLongBits(
7922  other.getPresolveProbingDeterministicTimeLimit())) return false;
7923  }
7924  if (hasPresolveBlockedClause() != other.hasPresolveBlockedClause()) return false;
7925  if (hasPresolveBlockedClause()) {
7927  != other.getPresolveBlockedClause()) return false;
7928  }
7929  if (hasPresolveUseBva() != other.hasPresolveUseBva()) return false;
7930  if (hasPresolveUseBva()) {
7931  if (getPresolveUseBva()
7932  != other.getPresolveUseBva()) return false;
7933  }
7934  if (hasPresolveBvaThreshold() != other.hasPresolveBvaThreshold()) return false;
7935  if (hasPresolveBvaThreshold()) {
7937  != other.getPresolveBvaThreshold()) return false;
7938  }
7939  if (hasMaxPresolveIterations() != other.hasMaxPresolveIterations()) return false;
7940  if (hasMaxPresolveIterations()) {
7942  != other.getMaxPresolveIterations()) return false;
7943  }
7944  if (hasCpModelPresolve() != other.hasCpModelPresolve()) return false;
7945  if (hasCpModelPresolve()) {
7946  if (getCpModelPresolve()
7947  != other.getCpModelPresolve()) return false;
7948  }
7949  if (hasCpModelPostsolveWithFullSolver() != other.hasCpModelPostsolveWithFullSolver()) return false;
7952  != other.getCpModelPostsolveWithFullSolver()) return false;
7953  }
7954  if (hasCpModelMaxNumPresolveOperations() != other.hasCpModelMaxNumPresolveOperations()) return false;
7957  != other.getCpModelMaxNumPresolveOperations()) return false;
7958  }
7959  if (hasCpModelProbingLevel() != other.hasCpModelProbingLevel()) return false;
7960  if (hasCpModelProbingLevel()) {
7962  != other.getCpModelProbingLevel()) return false;
7963  }
7964  if (hasCpModelUseSatPresolve() != other.hasCpModelUseSatPresolve()) return false;
7965  if (hasCpModelUseSatPresolve()) {
7967  != other.getCpModelUseSatPresolve()) return false;
7968  }
7969  if (hasUseSatInprocessing() != other.hasUseSatInprocessing()) return false;
7970  if (hasUseSatInprocessing()) {
7971  if (getUseSatInprocessing()
7972  != other.getUseSatInprocessing()) return false;
7973  }
7974  if (hasExpandElementConstraints() != other.hasExpandElementConstraints()) return false;
7977  != other.getExpandElementConstraints()) return false;
7978  }
7979  if (hasExpandAutomatonConstraints() != other.hasExpandAutomatonConstraints()) return false;
7982  != other.getExpandAutomatonConstraints()) return false;
7983  }
7984  if (hasExpandTableConstraints() != other.hasExpandTableConstraints()) return false;
7985  if (hasExpandTableConstraints()) {
7987  != other.getExpandTableConstraints()) return false;
7988  }
7989  if (hasMergeNoOverlapWorkLimit() != other.hasMergeNoOverlapWorkLimit()) return false;
7991  if (java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit())
7992  != java.lang.Double.doubleToLongBits(
7993  other.getMergeNoOverlapWorkLimit())) return false;
7994  }
7995  if (hasMergeAtMostOneWorkLimit() != other.hasMergeAtMostOneWorkLimit()) return false;
7997  if (java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit())
7998  != java.lang.Double.doubleToLongBits(
7999  other.getMergeAtMostOneWorkLimit())) return false;
8000  }
8001  if (hasPresolveSubstitutionLevel() != other.hasPresolveSubstitutionLevel()) return false;
8004  != other.getPresolveSubstitutionLevel()) return false;
8005  }
8006  if (hasUseOptimizationHints() != other.hasUseOptimizationHints()) return false;
8007  if (hasUseOptimizationHints()) {
8009  != other.getUseOptimizationHints()) return false;
8010  }
8011  if (hasMinimizeCore() != other.hasMinimizeCore()) return false;
8012  if (hasMinimizeCore()) {
8013  if (getMinimizeCore()
8014  != other.getMinimizeCore()) return false;
8015  }
8016  if (hasFindMultipleCores() != other.hasFindMultipleCores()) return false;
8017  if (hasFindMultipleCores()) {
8018  if (getFindMultipleCores()
8019  != other.getFindMultipleCores()) return false;
8020  }
8021  if (hasCoverOptimization() != other.hasCoverOptimization()) return false;
8022  if (hasCoverOptimization()) {
8023  if (getCoverOptimization()
8024  != other.getCoverOptimization()) return false;
8025  }
8026  if (hasMaxSatAssumptionOrder() != other.hasMaxSatAssumptionOrder()) return false;
8027  if (hasMaxSatAssumptionOrder()) {
8028  if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_) return false;
8029  }
8030  if (hasMaxSatReverseAssumptionOrder() != other.hasMaxSatReverseAssumptionOrder()) return false;
8033  != other.getMaxSatReverseAssumptionOrder()) return false;
8034  }
8035  if (hasMaxSatStratification() != other.hasMaxSatStratification()) return false;
8036  if (hasMaxSatStratification()) {
8037  if (maxSatStratification_ != other.maxSatStratification_) return false;
8038  }
8039  if (hasUsePrecedencesInDisjunctiveConstraint() != other.hasUsePrecedencesInDisjunctiveConstraint()) return false;
8042  != other.getUsePrecedencesInDisjunctiveConstraint()) return false;
8043  }
8044  if (hasUseOverloadCheckerInCumulativeConstraint() != other.hasUseOverloadCheckerInCumulativeConstraint()) return false;
8047  != other.getUseOverloadCheckerInCumulativeConstraint()) return false;
8048  }
8049  if (hasUseTimetableEdgeFindingInCumulativeConstraint() != other.hasUseTimetableEdgeFindingInCumulativeConstraint()) return false;
8052  != other.getUseTimetableEdgeFindingInCumulativeConstraint()) return false;
8053  }
8054  if (hasUseDisjunctiveConstraintInCumulativeConstraint() != other.hasUseDisjunctiveConstraintInCumulativeConstraint()) return false;
8057  != other.getUseDisjunctiveConstraintInCumulativeConstraint()) return false;
8058  }
8059  if (hasLinearizationLevel() != other.hasLinearizationLevel()) return false;
8060  if (hasLinearizationLevel()) {
8061  if (getLinearizationLevel()
8062  != other.getLinearizationLevel()) return false;
8063  }
8064  if (hasBooleanEncodingLevel() != other.hasBooleanEncodingLevel()) return false;
8065  if (hasBooleanEncodingLevel()) {
8067  != other.getBooleanEncodingLevel()) return false;
8068  }
8069  if (hasMaxNumCuts() != other.hasMaxNumCuts()) return false;
8070  if (hasMaxNumCuts()) {
8071  if (getMaxNumCuts()
8072  != other.getMaxNumCuts()) return false;
8073  }
8074  if (hasOnlyAddCutsAtLevelZero() != other.hasOnlyAddCutsAtLevelZero()) return false;
8075  if (hasOnlyAddCutsAtLevelZero()) {
8077  != other.getOnlyAddCutsAtLevelZero()) return false;
8078  }
8079  if (hasAddKnapsackCuts() != other.hasAddKnapsackCuts()) return false;
8080  if (hasAddKnapsackCuts()) {
8081  if (getAddKnapsackCuts()
8082  != other.getAddKnapsackCuts()) return false;
8083  }
8084  if (hasAddCgCuts() != other.hasAddCgCuts()) return false;
8085  if (hasAddCgCuts()) {
8086  if (getAddCgCuts()
8087  != other.getAddCgCuts()) return false;
8088  }
8089  if (hasAddMirCuts() != other.hasAddMirCuts()) return false;
8090  if (hasAddMirCuts()) {
8091  if (getAddMirCuts()
8092  != other.getAddMirCuts()) return false;
8093  }
8094  if (hasMaxAllDiffCutSize() != other.hasMaxAllDiffCutSize()) return false;
8095  if (hasMaxAllDiffCutSize()) {
8096  if (getMaxAllDiffCutSize()
8097  != other.getMaxAllDiffCutSize()) return false;
8098  }
8099  if (hasAddLinMaxCuts() != other.hasAddLinMaxCuts()) return false;
8100  if (hasAddLinMaxCuts()) {
8101  if (getAddLinMaxCuts()
8102  != other.getAddLinMaxCuts()) return false;
8103  }
8104  if (hasMaxIntegerRoundingScaling() != other.hasMaxIntegerRoundingScaling()) return false;
8107  != other.getMaxIntegerRoundingScaling()) return false;
8108  }
8109  if (hasAddLpConstraintsLazily() != other.hasAddLpConstraintsLazily()) return false;
8110  if (hasAddLpConstraintsLazily()) {
8112  != other.getAddLpConstraintsLazily()) return false;
8113  }
8114  if (hasMinOrthogonalityForLpConstraints() != other.hasMinOrthogonalityForLpConstraints()) return false;
8116  if (java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints())
8117  != java.lang.Double.doubleToLongBits(
8118  other.getMinOrthogonalityForLpConstraints())) return false;
8119  }
8120  if (hasMaxCutRoundsAtLevelZero() != other.hasMaxCutRoundsAtLevelZero()) return false;
8123  != other.getMaxCutRoundsAtLevelZero()) return false;
8124  }
8125  if (hasMaxConsecutiveInactiveCount() != other.hasMaxConsecutiveInactiveCount()) return false;
8128  != other.getMaxConsecutiveInactiveCount()) return false;
8129  }
8130  if (hasCutMaxActiveCountValue() != other.hasCutMaxActiveCountValue()) return false;
8131  if (hasCutMaxActiveCountValue()) {
8132  if (java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue())
8133  != java.lang.Double.doubleToLongBits(
8134  other.getCutMaxActiveCountValue())) return false;
8135  }
8136  if (hasCutActiveCountDecay() != other.hasCutActiveCountDecay()) return false;
8137  if (hasCutActiveCountDecay()) {
8138  if (java.lang.Double.doubleToLongBits(getCutActiveCountDecay())
8139  != java.lang.Double.doubleToLongBits(
8140  other.getCutActiveCountDecay())) return false;
8141  }
8142  if (hasCutCleanupTarget() != other.hasCutCleanupTarget()) return false;
8143  if (hasCutCleanupTarget()) {
8144  if (getCutCleanupTarget()
8145  != other.getCutCleanupTarget()) return false;
8146  }
8147  if (hasNewConstraintsBatchSize() != other.hasNewConstraintsBatchSize()) return false;
8150  != other.getNewConstraintsBatchSize()) return false;
8151  }
8152  if (hasSearchBranching() != other.hasSearchBranching()) return false;
8153  if (hasSearchBranching()) {
8154  if (searchBranching_ != other.searchBranching_) return false;
8155  }
8156  if (hasHintConflictLimit() != other.hasHintConflictLimit()) return false;
8157  if (hasHintConflictLimit()) {
8158  if (getHintConflictLimit()
8159  != other.getHintConflictLimit()) return false;
8160  }
8161  if (hasExploitIntegerLpSolution() != other.hasExploitIntegerLpSolution()) return false;
8164  != other.getExploitIntegerLpSolution()) return false;
8165  }
8166  if (hasExploitAllLpSolution() != other.hasExploitAllLpSolution()) return false;
8167  if (hasExploitAllLpSolution()) {
8169  != other.getExploitAllLpSolution()) return false;
8170  }
8171  if (hasExploitBestSolution() != other.hasExploitBestSolution()) return false;
8172  if (hasExploitBestSolution()) {
8174  != other.getExploitBestSolution()) return false;
8175  }
8176  if (hasExploitRelaxationSolution() != other.hasExploitRelaxationSolution()) return false;
8179  != other.getExploitRelaxationSolution()) return false;
8180  }
8181  if (hasExploitObjective() != other.hasExploitObjective()) return false;
8182  if (hasExploitObjective()) {
8183  if (getExploitObjective()
8184  != other.getExploitObjective()) return false;
8185  }
8186  if (hasProbingPeriodAtRoot() != other.hasProbingPeriodAtRoot()) return false;
8187  if (hasProbingPeriodAtRoot()) {
8189  != other.getProbingPeriodAtRoot()) return false;
8190  }
8191  if (hasPseudoCostReliabilityThreshold() != other.hasPseudoCostReliabilityThreshold()) return false;
8194  != other.getPseudoCostReliabilityThreshold()) return false;
8195  }
8196  if (hasOptimizeWithCore() != other.hasOptimizeWithCore()) return false;
8197  if (hasOptimizeWithCore()) {
8198  if (getOptimizeWithCore()
8199  != other.getOptimizeWithCore()) return false;
8200  }
8201  if (hasBinarySearchNumConflicts() != other.hasBinarySearchNumConflicts()) return false;
8204  != other.getBinarySearchNumConflicts()) return false;
8205  }
8206  if (hasOptimizeWithMaxHs() != other.hasOptimizeWithMaxHs()) return false;
8207  if (hasOptimizeWithMaxHs()) {
8208  if (getOptimizeWithMaxHs()
8209  != other.getOptimizeWithMaxHs()) return false;
8210  }
8211  if (hasEnumerateAllSolutions() != other.hasEnumerateAllSolutions()) return false;
8212  if (hasEnumerateAllSolutions()) {
8214  != other.getEnumerateAllSolutions()) return false;
8215  }
8216  if (hasFillTightenedDomainsInResponse() != other.hasFillTightenedDomainsInResponse()) return false;
8219  != other.getFillTightenedDomainsInResponse()) return false;
8220  }
8221  if (hasInstantiateAllVariables() != other.hasInstantiateAllVariables()) return false;
8224  != other.getInstantiateAllVariables()) return false;
8225  }
8226  if (hasAutoDetectGreaterThanAtLeastOneOf() != other.hasAutoDetectGreaterThanAtLeastOneOf()) return false;
8229  != other.getAutoDetectGreaterThanAtLeastOneOf()) return false;
8230  }
8231  if (hasStopAfterFirstSolution() != other.hasStopAfterFirstSolution()) return false;
8232  if (hasStopAfterFirstSolution()) {
8234  != other.getStopAfterFirstSolution()) return false;
8235  }
8236  if (hasStopAfterPresolve() != other.hasStopAfterPresolve()) return false;
8237  if (hasStopAfterPresolve()) {
8238  if (getStopAfterPresolve()
8239  != other.getStopAfterPresolve()) return false;
8240  }
8241  if (hasNumSearchWorkers() != other.hasNumSearchWorkers()) return false;
8242  if (hasNumSearchWorkers()) {
8243  if (getNumSearchWorkers()
8244  != other.getNumSearchWorkers()) return false;
8245  }
8246  if (hasInterleaveSearch() != other.hasInterleaveSearch()) return false;
8247  if (hasInterleaveSearch()) {
8248  if (getInterleaveSearch()
8249  != other.getInterleaveSearch()) return false;
8250  }
8251  if (hasInterleaveBatchSize() != other.hasInterleaveBatchSize()) return false;
8252  if (hasInterleaveBatchSize()) {
8254  != other.getInterleaveBatchSize()) return false;
8255  }
8256  if (hasReduceMemoryUsageInInterleaveMode() != other.hasReduceMemoryUsageInInterleaveMode()) return false;
8259  != other.getReduceMemoryUsageInInterleaveMode()) return false;
8260  }
8261  if (hasShareObjectiveBounds() != other.hasShareObjectiveBounds()) return false;
8262  if (hasShareObjectiveBounds()) {
8264  != other.getShareObjectiveBounds()) return false;
8265  }
8266  if (hasShareLevelZeroBounds() != other.hasShareLevelZeroBounds()) return false;
8267  if (hasShareLevelZeroBounds()) {
8269  != other.getShareLevelZeroBounds()) return false;
8270  }
8271  if (hasUseLnsOnly() != other.hasUseLnsOnly()) return false;
8272  if (hasUseLnsOnly()) {
8273  if (getUseLnsOnly()
8274  != other.getUseLnsOnly()) return false;
8275  }
8276  if (hasLnsFocusOnDecisionVariables() != other.hasLnsFocusOnDecisionVariables()) return false;
8279  != other.getLnsFocusOnDecisionVariables()) return false;
8280  }
8281  if (hasUseRinsLns() != other.hasUseRinsLns()) return false;
8282  if (hasUseRinsLns()) {
8283  if (getUseRinsLns()
8284  != other.getUseRinsLns()) return false;
8285  }
8286  if (hasUseFeasibilityPump() != other.hasUseFeasibilityPump()) return false;
8287  if (hasUseFeasibilityPump()) {
8288  if (getUseFeasibilityPump()
8289  != other.getUseFeasibilityPump()) return false;
8290  }
8291  if (hasUseRelaxationLns() != other.hasUseRelaxationLns()) return false;
8292  if (hasUseRelaxationLns()) {
8293  if (getUseRelaxationLns()
8294  != other.getUseRelaxationLns()) return false;
8295  }
8296  if (hasDiversifyLnsParams() != other.hasDiversifyLnsParams()) return false;
8297  if (hasDiversifyLnsParams()) {
8298  if (getDiversifyLnsParams()
8299  != other.getDiversifyLnsParams()) return false;
8300  }
8301  if (hasRandomizeSearch() != other.hasRandomizeSearch()) return false;
8302  if (hasRandomizeSearch()) {
8303  if (getRandomizeSearch()
8304  != other.getRandomizeSearch()) return false;
8305  }
8306  if (hasSearchRandomizationTolerance() != other.hasSearchRandomizationTolerance()) return false;
8309  != other.getSearchRandomizationTolerance()) return false;
8310  }
8311  if (hasUseOptionalVariables() != other.hasUseOptionalVariables()) return false;
8312  if (hasUseOptionalVariables()) {
8314  != other.getUseOptionalVariables()) return false;
8315  }
8316  if (hasUseExactLpReason() != other.hasUseExactLpReason()) return false;
8317  if (hasUseExactLpReason()) {
8318  if (getUseExactLpReason()
8319  != other.getUseExactLpReason()) return false;
8320  }
8321  if (hasUseBranchingInLp() != other.hasUseBranchingInLp()) return false;
8322  if (hasUseBranchingInLp()) {
8323  if (getUseBranchingInLp()
8324  != other.getUseBranchingInLp()) return false;
8325  }
8326  if (hasUseCombinedNoOverlap() != other.hasUseCombinedNoOverlap()) return false;
8327  if (hasUseCombinedNoOverlap()) {
8329  != other.getUseCombinedNoOverlap()) return false;
8330  }
8331  if (hasCatchSigintSignal() != other.hasCatchSigintSignal()) return false;
8332  if (hasCatchSigintSignal()) {
8333  if (getCatchSigintSignal()
8334  != other.getCatchSigintSignal()) return false;
8335  }
8336  if (hasUseImpliedBounds() != other.hasUseImpliedBounds()) return false;
8337  if (hasUseImpliedBounds()) {
8338  if (getUseImpliedBounds()
8339  != other.getUseImpliedBounds()) return false;
8340  }
8341  if (hasMipMaxBound() != other.hasMipMaxBound()) return false;
8342  if (hasMipMaxBound()) {
8343  if (java.lang.Double.doubleToLongBits(getMipMaxBound())
8344  != java.lang.Double.doubleToLongBits(
8345  other.getMipMaxBound())) return false;
8346  }
8347  if (hasMipVarScaling() != other.hasMipVarScaling()) return false;
8348  if (hasMipVarScaling()) {
8349  if (java.lang.Double.doubleToLongBits(getMipVarScaling())
8350  != java.lang.Double.doubleToLongBits(
8351  other.getMipVarScaling())) return false;
8352  }
8353  if (hasMipWantedPrecision() != other.hasMipWantedPrecision()) return false;
8354  if (hasMipWantedPrecision()) {
8355  if (java.lang.Double.doubleToLongBits(getMipWantedPrecision())
8356  != java.lang.Double.doubleToLongBits(
8357  other.getMipWantedPrecision())) return false;
8358  }
8359  if (hasMipMaxActivityExponent() != other.hasMipMaxActivityExponent()) return false;
8360  if (hasMipMaxActivityExponent()) {
8362  != other.getMipMaxActivityExponent()) return false;
8363  }
8364  if (hasMipCheckPrecision() != other.hasMipCheckPrecision()) return false;
8365  if (hasMipCheckPrecision()) {
8366  if (java.lang.Double.doubleToLongBits(getMipCheckPrecision())
8367  != java.lang.Double.doubleToLongBits(
8368  other.getMipCheckPrecision())) return false;
8369  }
8370  if (!unknownFields.equals(other.unknownFields)) return false;
8371  return true;
8372  }
8373 
8374  @java.lang.Override
8375  public int hashCode() {
8376  if (memoizedHashCode != 0) {
8377  return memoizedHashCode;
8378  }
8379  int hash = 41;
8380  hash = (19 * hash) + getDescriptor().hashCode();
8381  if (hasPreferredVariableOrder()) {
8382  hash = (37 * hash) + PREFERRED_VARIABLE_ORDER_FIELD_NUMBER;
8383  hash = (53 * hash) + preferredVariableOrder_;
8384  }
8385  if (hasInitialPolarity()) {
8386  hash = (37 * hash) + INITIAL_POLARITY_FIELD_NUMBER;
8387  hash = (53 * hash) + initialPolarity_;
8388  }
8389  if (hasUsePhaseSaving()) {
8390  hash = (37 * hash) + USE_PHASE_SAVING_FIELD_NUMBER;
8391  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8392  getUsePhaseSaving());
8393  }
8394  if (hasRandomPolarityRatio()) {
8395  hash = (37 * hash) + RANDOM_POLARITY_RATIO_FIELD_NUMBER;
8396  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8397  java.lang.Double.doubleToLongBits(getRandomPolarityRatio()));
8398  }
8399  if (hasRandomBranchesRatio()) {
8400  hash = (37 * hash) + RANDOM_BRANCHES_RATIO_FIELD_NUMBER;
8401  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8402  java.lang.Double.doubleToLongBits(getRandomBranchesRatio()));
8403  }
8404  if (hasUseErwaHeuristic()) {
8405  hash = (37 * hash) + USE_ERWA_HEURISTIC_FIELD_NUMBER;
8406  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8408  }
8410  hash = (37 * hash) + INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER;
8411  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8412  java.lang.Double.doubleToLongBits(getInitialVariablesActivity()));
8413  }
8416  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8418  }
8419  if (hasMinimizationAlgorithm()) {
8420  hash = (37 * hash) + MINIMIZATION_ALGORITHM_FIELD_NUMBER;
8421  hash = (53 * hash) + minimizationAlgorithm_;
8422  }
8424  hash = (37 * hash) + BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER;
8425  hash = (53 * hash) + binaryMinimizationAlgorithm_;
8426  }
8429  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8431  }
8432  if (hasClauseCleanupPeriod()) {
8433  hash = (37 * hash) + CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER;
8434  hash = (53 * hash) + getClauseCleanupPeriod();
8435  }
8436  if (hasClauseCleanupTarget()) {
8437  hash = (37 * hash) + CLAUSE_CLEANUP_TARGET_FIELD_NUMBER;
8438  hash = (53 * hash) + getClauseCleanupTarget();
8439  }
8441  hash = (37 * hash) + CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER;
8442  hash = (53 * hash) + clauseCleanupProtection_;
8443  }
8444  if (hasClauseCleanupLbdBound()) {
8445  hash = (37 * hash) + CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER;
8446  hash = (53 * hash) + getClauseCleanupLbdBound();
8447  }
8448  if (hasClauseCleanupOrdering()) {
8449  hash = (37 * hash) + CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER;
8450  hash = (53 * hash) + clauseCleanupOrdering_;
8451  }
8452  if (hasPbCleanupIncrement()) {
8453  hash = (37 * hash) + PB_CLEANUP_INCREMENT_FIELD_NUMBER;
8454  hash = (53 * hash) + getPbCleanupIncrement();
8455  }
8456  if (hasPbCleanupRatio()) {
8457  hash = (37 * hash) + PB_CLEANUP_RATIO_FIELD_NUMBER;
8458  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8459  java.lang.Double.doubleToLongBits(getPbCleanupRatio()));
8460  }
8463  hash = (53 * hash) + getMinimizeWithPropagationRestartPeriod();
8464  }
8467  hash = (53 * hash) + getMinimizeWithPropagationNumDecisions();
8468  }
8469  if (hasVariableActivityDecay()) {
8470  hash = (37 * hash) + VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER;
8471  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8472  java.lang.Double.doubleToLongBits(getVariableActivityDecay()));
8473  }
8475  hash = (37 * hash) + MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER;
8476  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8477  java.lang.Double.doubleToLongBits(getMaxVariableActivityValue()));
8478  }
8479  if (hasGlucoseMaxDecay()) {
8480  hash = (37 * hash) + GLUCOSE_MAX_DECAY_FIELD_NUMBER;
8481  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8482  java.lang.Double.doubleToLongBits(getGlucoseMaxDecay()));
8483  }
8484  if (hasGlucoseDecayIncrement()) {
8485  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER;
8486  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8487  java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement()));
8488  }
8490  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER;
8491  hash = (53 * hash) + getGlucoseDecayIncrementPeriod();
8492  }
8493  if (hasClauseActivityDecay()) {
8494  hash = (37 * hash) + CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER;
8495  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8496  java.lang.Double.doubleToLongBits(getClauseActivityDecay()));
8497  }
8498  if (hasMaxClauseActivityValue()) {
8499  hash = (37 * hash) + MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER;
8500  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8501  java.lang.Double.doubleToLongBits(getMaxClauseActivityValue()));
8502  }
8503  if (getRestartAlgorithmsCount() > 0) {
8504  hash = (37 * hash) + RESTART_ALGORITHMS_FIELD_NUMBER;
8505  hash = (53 * hash) + restartAlgorithms_.hashCode();
8506  }
8508  hash = (37 * hash) + DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER;
8509  hash = (53 * hash) + getDefaultRestartAlgorithms().hashCode();
8510  }
8511  if (hasRestartPeriod()) {
8512  hash = (37 * hash) + RESTART_PERIOD_FIELD_NUMBER;
8513  hash = (53 * hash) + getRestartPeriod();
8514  }
8516  hash = (37 * hash) + RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER;
8517  hash = (53 * hash) + getRestartRunningWindowSize();
8518  }
8519  if (hasRestartDlAverageRatio()) {
8520  hash = (37 * hash) + RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER;
8521  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8522  java.lang.Double.doubleToLongBits(getRestartDlAverageRatio()));
8523  }
8524  if (hasRestartLbdAverageRatio()) {
8525  hash = (37 * hash) + RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER;
8526  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8527  java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio()));
8528  }
8529  if (hasUseBlockingRestart()) {
8530  hash = (37 * hash) + USE_BLOCKING_RESTART_FIELD_NUMBER;
8531  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8533  }
8535  hash = (37 * hash) + BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER;
8536  hash = (53 * hash) + getBlockingRestartWindowSize();
8537  }
8539  hash = (37 * hash) + BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER;
8540  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8541  java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier()));
8542  }
8545  hash = (53 * hash) + getNumConflictsBeforeStrategyChanges();
8546  }
8548  hash = (37 * hash) + STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER;
8549  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8550  java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio()));
8551  }
8552  if (hasMaxTimeInSeconds()) {
8553  hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
8554  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8555  java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
8556  }
8557  if (hasMaxDeterministicTime()) {
8558  hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
8559  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8560  java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
8561  }
8562  if (hasMaxNumberOfConflicts()) {
8563  hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER;
8564  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8566  }
8567  if (hasMaxMemoryInMb()) {
8568  hash = (37 * hash) + MAX_MEMORY_IN_MB_FIELD_NUMBER;
8569  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8570  getMaxMemoryInMb());
8571  }
8572  if (hasAbsoluteGapLimit()) {
8573  hash = (37 * hash) + ABSOLUTE_GAP_LIMIT_FIELD_NUMBER;
8574  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8575  java.lang.Double.doubleToLongBits(getAbsoluteGapLimit()));
8576  }
8577  if (hasRelativeGapLimit()) {
8578  hash = (37 * hash) + RELATIVE_GAP_LIMIT_FIELD_NUMBER;
8579  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8580  java.lang.Double.doubleToLongBits(getRelativeGapLimit()));
8581  }
8583  hash = (37 * hash) + TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER;
8584  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8586  }
8587  if (hasRandomSeed()) {
8588  hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
8589  hash = (53 * hash) + getRandomSeed();
8590  }
8591  if (hasLogSearchProgress()) {
8592  hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
8593  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8595  }
8596  if (hasUsePbResolution()) {
8597  hash = (37 * hash) + USE_PB_RESOLUTION_FIELD_NUMBER;
8598  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8599  getUsePbResolution());
8600  }
8603  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8605  }
8607  hash = (37 * hash) + COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER;
8608  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8610  }
8611  if (hasPresolveBveThreshold()) {
8612  hash = (37 * hash) + PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER;
8613  hash = (53 * hash) + getPresolveBveThreshold();
8614  }
8616  hash = (37 * hash) + PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER;
8617  hash = (53 * hash) + getPresolveBveClauseWeight();
8618  }
8621  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8622  java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit()));
8623  }
8624  if (hasPresolveBlockedClause()) {
8625  hash = (37 * hash) + PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER;
8626  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8628  }
8629  if (hasPresolveUseBva()) {
8630  hash = (37 * hash) + PRESOLVE_USE_BVA_FIELD_NUMBER;
8631  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8632  getPresolveUseBva());
8633  }
8634  if (hasPresolveBvaThreshold()) {
8635  hash = (37 * hash) + PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER;
8636  hash = (53 * hash) + getPresolveBvaThreshold();
8637  }
8638  if (hasMaxPresolveIterations()) {
8639  hash = (37 * hash) + MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER;
8640  hash = (53 * hash) + getMaxPresolveIterations();
8641  }
8642  if (hasCpModelPresolve()) {
8643  hash = (37 * hash) + CP_MODEL_PRESOLVE_FIELD_NUMBER;
8644  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8645  getCpModelPresolve());
8646  }
8649  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8651  }
8654  hash = (53 * hash) + getCpModelMaxNumPresolveOperations();
8655  }
8656  if (hasCpModelProbingLevel()) {
8657  hash = (37 * hash) + CP_MODEL_PROBING_LEVEL_FIELD_NUMBER;
8658  hash = (53 * hash) + getCpModelProbingLevel();
8659  }
8660  if (hasCpModelUseSatPresolve()) {
8661  hash = (37 * hash) + CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER;
8662  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8664  }
8665  if (hasUseSatInprocessing()) {
8666  hash = (37 * hash) + USE_SAT_INPROCESSING_FIELD_NUMBER;
8667  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8669  }
8671  hash = (37 * hash) + EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER;
8672  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8674  }
8676  hash = (37 * hash) + EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER;
8677  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8679  }
8680  if (hasExpandTableConstraints()) {
8681  hash = (37 * hash) + EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER;
8682  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8684  }
8686  hash = (37 * hash) + MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER;
8687  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8688  java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit()));
8689  }
8691  hash = (37 * hash) + MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER;
8692  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8693  java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit()));
8694  }
8696  hash = (37 * hash) + PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER;
8697  hash = (53 * hash) + getPresolveSubstitutionLevel();
8698  }
8699  if (hasUseOptimizationHints()) {
8700  hash = (37 * hash) + USE_OPTIMIZATION_HINTS_FIELD_NUMBER;
8701  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8703  }
8704  if (hasMinimizeCore()) {
8705  hash = (37 * hash) + MINIMIZE_CORE_FIELD_NUMBER;
8706  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8707  getMinimizeCore());
8708  }
8709  if (hasFindMultipleCores()) {
8710  hash = (37 * hash) + FIND_MULTIPLE_CORES_FIELD_NUMBER;
8711  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8713  }
8714  if (hasCoverOptimization()) {
8715  hash = (37 * hash) + COVER_OPTIMIZATION_FIELD_NUMBER;
8716  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8718  }
8719  if (hasMaxSatAssumptionOrder()) {
8720  hash = (37 * hash) + MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER;
8721  hash = (53 * hash) + maxSatAssumptionOrder_;
8722  }
8724  hash = (37 * hash) + MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER;
8725  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8727  }
8728  if (hasMaxSatStratification()) {
8729  hash = (37 * hash) + MAX_SAT_STRATIFICATION_FIELD_NUMBER;
8730  hash = (53 * hash) + maxSatStratification_;
8731  }
8734  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8736  }
8739  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8741  }
8744  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8746  }
8749  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8751  }
8752  if (hasLinearizationLevel()) {
8753  hash = (37 * hash) + LINEARIZATION_LEVEL_FIELD_NUMBER;
8754  hash = (53 * hash) + getLinearizationLevel();
8755  }
8756  if (hasBooleanEncodingLevel()) {
8757  hash = (37 * hash) + BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER;
8758  hash = (53 * hash) + getBooleanEncodingLevel();
8759  }
8760  if (hasMaxNumCuts()) {
8761  hash = (37 * hash) + MAX_NUM_CUTS_FIELD_NUMBER;
8762  hash = (53 * hash) + getMaxNumCuts();
8763  }
8764  if (hasOnlyAddCutsAtLevelZero()) {
8765  hash = (37 * hash) + ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER;
8766  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8768  }
8769  if (hasAddKnapsackCuts()) {
8770  hash = (37 * hash) + ADD_KNAPSACK_CUTS_FIELD_NUMBER;
8771  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8772  getAddKnapsackCuts());
8773  }
8774  if (hasAddCgCuts()) {
8775  hash = (37 * hash) + ADD_CG_CUTS_FIELD_NUMBER;
8776  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8777  getAddCgCuts());
8778  }
8779  if (hasAddMirCuts()) {
8780  hash = (37 * hash) + ADD_MIR_CUTS_FIELD_NUMBER;
8781  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8782  getAddMirCuts());
8783  }
8784  if (hasMaxAllDiffCutSize()) {
8785  hash = (37 * hash) + MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER;
8786  hash = (53 * hash) + getMaxAllDiffCutSize();
8787  }
8788  if (hasAddLinMaxCuts()) {
8789  hash = (37 * hash) + ADD_LIN_MAX_CUTS_FIELD_NUMBER;
8790  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8791  getAddLinMaxCuts());
8792  }
8794  hash = (37 * hash) + MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER;
8795  hash = (53 * hash) + getMaxIntegerRoundingScaling();
8796  }
8797  if (hasAddLpConstraintsLazily()) {
8798  hash = (37 * hash) + ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER;
8799  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8801  }
8804  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8805  java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints()));
8806  }
8808  hash = (37 * hash) + MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER;
8809  hash = (53 * hash) + getMaxCutRoundsAtLevelZero();
8810  }
8812  hash = (37 * hash) + MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER;
8813  hash = (53 * hash) + getMaxConsecutiveInactiveCount();
8814  }
8815  if (hasCutMaxActiveCountValue()) {
8816  hash = (37 * hash) + CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER;
8817  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8818  java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue()));
8819  }
8820  if (hasCutActiveCountDecay()) {
8821  hash = (37 * hash) + CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER;
8822  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8823  java.lang.Double.doubleToLongBits(getCutActiveCountDecay()));
8824  }
8825  if (hasCutCleanupTarget()) {
8826  hash = (37 * hash) + CUT_CLEANUP_TARGET_FIELD_NUMBER;
8827  hash = (53 * hash) + getCutCleanupTarget();
8828  }
8830  hash = (37 * hash) + NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER;
8831  hash = (53 * hash) + getNewConstraintsBatchSize();
8832  }
8833  if (hasSearchBranching()) {
8834  hash = (37 * hash) + SEARCH_BRANCHING_FIELD_NUMBER;
8835  hash = (53 * hash) + searchBranching_;
8836  }
8837  if (hasHintConflictLimit()) {
8838  hash = (37 * hash) + HINT_CONFLICT_LIMIT_FIELD_NUMBER;
8839  hash = (53 * hash) + getHintConflictLimit();
8840  }
8842  hash = (37 * hash) + EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER;
8843  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8845  }
8846  if (hasExploitAllLpSolution()) {
8847  hash = (37 * hash) + EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER;
8848  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8850  }
8851  if (hasExploitBestSolution()) {
8852  hash = (37 * hash) + EXPLOIT_BEST_SOLUTION_FIELD_NUMBER;
8853  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8855  }
8857  hash = (37 * hash) + EXPLOIT_RELAXATION_SOLUTION_FIELD_NUMBER;
8858  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8860  }
8861  if (hasExploitObjective()) {
8862  hash = (37 * hash) + EXPLOIT_OBJECTIVE_FIELD_NUMBER;
8863  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8865  }
8866  if (hasProbingPeriodAtRoot()) {
8867  hash = (37 * hash) + PROBING_PERIOD_AT_ROOT_FIELD_NUMBER;
8868  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8870  }
8873  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8875  }
8876  if (hasOptimizeWithCore()) {
8877  hash = (37 * hash) + OPTIMIZE_WITH_CORE_FIELD_NUMBER;
8878  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8880  }
8882  hash = (37 * hash) + BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER;
8883  hash = (53 * hash) + getBinarySearchNumConflicts();
8884  }
8885  if (hasOptimizeWithMaxHs()) {
8886  hash = (37 * hash) + OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER;
8887  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8889  }
8890  if (hasEnumerateAllSolutions()) {
8891  hash = (37 * hash) + ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER;
8892  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8894  }
8897  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8899  }
8901  hash = (37 * hash) + INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER;
8902  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8904  }
8907  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8909  }
8910  if (hasStopAfterFirstSolution()) {
8911  hash = (37 * hash) + STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER;
8912  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8914  }
8915  if (hasStopAfterPresolve()) {
8916  hash = (37 * hash) + STOP_AFTER_PRESOLVE_FIELD_NUMBER;
8917  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8919  }
8920  if (hasNumSearchWorkers()) {
8921  hash = (37 * hash) + NUM_SEARCH_WORKERS_FIELD_NUMBER;
8922  hash = (53 * hash) + getNumSearchWorkers();
8923  }
8924  if (hasInterleaveSearch()) {
8925  hash = (37 * hash) + INTERLEAVE_SEARCH_FIELD_NUMBER;
8926  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8928  }
8929  if (hasInterleaveBatchSize()) {
8930  hash = (37 * hash) + INTERLEAVE_BATCH_SIZE_FIELD_NUMBER;
8931  hash = (53 * hash) + getInterleaveBatchSize();
8932  }
8935  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8937  }
8938  if (hasShareObjectiveBounds()) {
8939  hash = (37 * hash) + SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER;
8940  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8942  }
8943  if (hasShareLevelZeroBounds()) {
8944  hash = (37 * hash) + SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER;
8945  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8947  }
8948  if (hasUseLnsOnly()) {
8949  hash = (37 * hash) + USE_LNS_ONLY_FIELD_NUMBER;
8950  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8951  getUseLnsOnly());
8952  }
8954  hash = (37 * hash) + LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER;
8955  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8957  }
8958  if (hasUseRinsLns()) {
8959  hash = (37 * hash) + USE_RINS_LNS_FIELD_NUMBER;
8960  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8961  getUseRinsLns());
8962  }
8963  if (hasUseFeasibilityPump()) {
8964  hash = (37 * hash) + USE_FEASIBILITY_PUMP_FIELD_NUMBER;
8965  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8967  }
8968  if (hasUseRelaxationLns()) {
8969  hash = (37 * hash) + USE_RELAXATION_LNS_FIELD_NUMBER;
8970  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8972  }
8973  if (hasDiversifyLnsParams()) {
8974  hash = (37 * hash) + DIVERSIFY_LNS_PARAMS_FIELD_NUMBER;
8975  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8977  }
8978  if (hasRandomizeSearch()) {
8979  hash = (37 * hash) + RANDOMIZE_SEARCH_FIELD_NUMBER;
8980  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8981  getRandomizeSearch());
8982  }
8984  hash = (37 * hash) + SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER;
8985  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8987  }
8988  if (hasUseOptionalVariables()) {
8989  hash = (37 * hash) + USE_OPTIONAL_VARIABLES_FIELD_NUMBER;
8990  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8992  }
8993  if (hasUseExactLpReason()) {
8994  hash = (37 * hash) + USE_EXACT_LP_REASON_FIELD_NUMBER;
8995  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8997  }
8998  if (hasUseBranchingInLp()) {
8999  hash = (37 * hash) + USE_BRANCHING_IN_LP_FIELD_NUMBER;
9000  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9002  }
9003  if (hasUseCombinedNoOverlap()) {
9004  hash = (37 * hash) + USE_COMBINED_NO_OVERLAP_FIELD_NUMBER;
9005  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9007  }
9008  if (hasCatchSigintSignal()) {
9009  hash = (37 * hash) + CATCH_SIGINT_SIGNAL_FIELD_NUMBER;
9010  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9012  }
9013  if (hasUseImpliedBounds()) {
9014  hash = (37 * hash) + USE_IMPLIED_BOUNDS_FIELD_NUMBER;
9015  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9017  }
9018  if (hasMipMaxBound()) {
9019  hash = (37 * hash) + MIP_MAX_BOUND_FIELD_NUMBER;
9020  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9021  java.lang.Double.doubleToLongBits(getMipMaxBound()));
9022  }
9023  if (hasMipVarScaling()) {
9024  hash = (37 * hash) + MIP_VAR_SCALING_FIELD_NUMBER;
9025  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9026  java.lang.Double.doubleToLongBits(getMipVarScaling()));
9027  }
9028  if (hasMipWantedPrecision()) {
9029  hash = (37 * hash) + MIP_WANTED_PRECISION_FIELD_NUMBER;
9030  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9031  java.lang.Double.doubleToLongBits(getMipWantedPrecision()));
9032  }
9033  if (hasMipMaxActivityExponent()) {
9034  hash = (37 * hash) + MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER;
9035  hash = (53 * hash) + getMipMaxActivityExponent();
9036  }
9037  if (hasMipCheckPrecision()) {
9038  hash = (37 * hash) + MIP_CHECK_PRECISION_FIELD_NUMBER;
9039  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9040  java.lang.Double.doubleToLongBits(getMipCheckPrecision()));
9041  }
9042  hash = (29 * hash) + unknownFields.hashCode();
9043  memoizedHashCode = hash;
9044  return hash;
9045  }
9046 
9048  java.nio.ByteBuffer data)
9049  throws com.google.protobuf.InvalidProtocolBufferException {
9050  return PARSER.parseFrom(data);
9051  }
9053  java.nio.ByteBuffer data,
9054  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9055  throws com.google.protobuf.InvalidProtocolBufferException {
9056  return PARSER.parseFrom(data, extensionRegistry);
9057  }
9059  com.google.protobuf.ByteString data)
9060  throws com.google.protobuf.InvalidProtocolBufferException {
9061  return PARSER.parseFrom(data);
9062  }
9064  com.google.protobuf.ByteString data,
9065  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9066  throws com.google.protobuf.InvalidProtocolBufferException {
9067  return PARSER.parseFrom(data, extensionRegistry);
9068  }
9069  public static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
9070  throws com.google.protobuf.InvalidProtocolBufferException {
9071  return PARSER.parseFrom(data);
9072  }
9074  byte[] data,
9075  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9076  throws com.google.protobuf.InvalidProtocolBufferException {
9077  return PARSER.parseFrom(data, extensionRegistry);
9078  }
9079  public static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
9080  throws java.io.IOException {
9081  return com.google.protobuf.GeneratedMessageV3
9082  .parseWithIOException(PARSER, input);
9083  }
9085  java.io.InputStream input,
9086  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9087  throws java.io.IOException {
9088  return com.google.protobuf.GeneratedMessageV3
9089  .parseWithIOException(PARSER, input, extensionRegistry);
9090  }
9091  public static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
9092  throws java.io.IOException {
9093  return com.google.protobuf.GeneratedMessageV3
9094  .parseDelimitedWithIOException(PARSER, input);
9095  }
9097  java.io.InputStream input,
9098  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9099  throws java.io.IOException {
9100  return com.google.protobuf.GeneratedMessageV3
9101  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
9102  }
9104  com.google.protobuf.CodedInputStream input)
9105  throws java.io.IOException {
9106  return com.google.protobuf.GeneratedMessageV3
9107  .parseWithIOException(PARSER, input);
9108  }
9110  com.google.protobuf.CodedInputStream input,
9111  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9112  throws java.io.IOException {
9113  return com.google.protobuf.GeneratedMessageV3
9114  .parseWithIOException(PARSER, input, extensionRegistry);
9115  }
9116 
9117  @java.lang.Override
9118  public Builder newBuilderForType() { return newBuilder(); }
9119  public static Builder newBuilder() {
9120  return DEFAULT_INSTANCE.toBuilder();
9121  }
9122  public static Builder newBuilder(com.google.ortools.sat.SatParameters prototype) {
9123  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
9124  }
9125  @java.lang.Override
9126  public Builder toBuilder() {
9127  return this == DEFAULT_INSTANCE
9128  ? new Builder() : new Builder().mergeFrom(this);
9129  }
9130 
9131  @java.lang.Override
9133  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9134  Builder builder = new Builder(parent);
9135  return builder;
9136  }
9146  public static final class Builder extends
9147  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
9148  // @@protoc_insertion_point(builder_implements:operations_research.sat.SatParameters)
9149  com.google.ortools.sat.SatParametersOrBuilder {
9150  public static final com.google.protobuf.Descriptors.Descriptor
9152  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
9153  }
9154 
9155  @java.lang.Override
9156  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
9158  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
9159  .ensureFieldAccessorsInitialized(
9161  }
9162 
9163  // Construct using com.google.ortools.sat.SatParameters.newBuilder()
9164  private Builder() {
9165  maybeForceBuilderInitialization();
9166  }
9167 
9168  private Builder(
9169  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9170  super(parent);
9171  maybeForceBuilderInitialization();
9172  }
9173  private void maybeForceBuilderInitialization() {
9174  if (com.google.protobuf.GeneratedMessageV3
9175  .alwaysUseFieldBuilders) {
9176  }
9177  }
9178  @java.lang.Override
9179  public Builder clear() {
9180  super.clear();
9181  preferredVariableOrder_ = 0;
9182  bitField0_ = (bitField0_ & ~0x00000001);
9183  initialPolarity_ = 1;
9184  bitField0_ = (bitField0_ & ~0x00000002);
9185  usePhaseSaving_ = true;
9186  bitField0_ = (bitField0_ & ~0x00000004);
9187  randomPolarityRatio_ = 0D;
9188  bitField0_ = (bitField0_ & ~0x00000008);
9189  randomBranchesRatio_ = 0D;
9190  bitField0_ = (bitField0_ & ~0x00000010);
9191  useErwaHeuristic_ = false;
9192  bitField0_ = (bitField0_ & ~0x00000020);
9193  initialVariablesActivity_ = 0D;
9194  bitField0_ = (bitField0_ & ~0x00000040);
9195  alsoBumpVariablesInConflictReasons_ = false;
9196  bitField0_ = (bitField0_ & ~0x00000080);
9197  minimizationAlgorithm_ = 2;
9198  bitField0_ = (bitField0_ & ~0x00000100);
9199  binaryMinimizationAlgorithm_ = 1;
9200  bitField0_ = (bitField0_ & ~0x00000200);
9201  subsumptionDuringConflictAnalysis_ = true;
9202  bitField0_ = (bitField0_ & ~0x00000400);
9203  clauseCleanupPeriod_ = 10000;
9204  bitField0_ = (bitField0_ & ~0x00000800);
9205  clauseCleanupTarget_ = 10000;
9206  bitField0_ = (bitField0_ & ~0x00001000);
9207  clauseCleanupProtection_ = 0;
9208  bitField0_ = (bitField0_ & ~0x00002000);
9209  clauseCleanupLbdBound_ = 5;
9210  bitField0_ = (bitField0_ & ~0x00004000);
9211  clauseCleanupOrdering_ = 0;
9212  bitField0_ = (bitField0_ & ~0x00008000);
9213  pbCleanupIncrement_ = 200;
9214  bitField0_ = (bitField0_ & ~0x00010000);
9215  pbCleanupRatio_ = 0.5D;
9216  bitField0_ = (bitField0_ & ~0x00020000);
9217  minimizeWithPropagationRestartPeriod_ = 10;
9218  bitField0_ = (bitField0_ & ~0x00040000);
9219  minimizeWithPropagationNumDecisions_ = 1000;
9220  bitField0_ = (bitField0_ & ~0x00080000);
9221  variableActivityDecay_ = 0.8D;
9222  bitField0_ = (bitField0_ & ~0x00100000);
9223  maxVariableActivityValue_ = 1e+100D;
9224  bitField0_ = (bitField0_ & ~0x00200000);
9225  glucoseMaxDecay_ = 0.95D;
9226  bitField0_ = (bitField0_ & ~0x00400000);
9227  glucoseDecayIncrement_ = 0.01D;
9228  bitField0_ = (bitField0_ & ~0x00800000);
9229  glucoseDecayIncrementPeriod_ = 5000;
9230  bitField0_ = (bitField0_ & ~0x01000000);
9231  clauseActivityDecay_ = 0.999D;
9232  bitField0_ = (bitField0_ & ~0x02000000);
9233  maxClauseActivityValue_ = 1e+20D;
9234  bitField0_ = (bitField0_ & ~0x04000000);
9235  restartAlgorithms_ = java.util.Collections.emptyList();
9236  bitField0_ = (bitField0_ & ~0x08000000);
9237  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
9238  bitField0_ = (bitField0_ & ~0x10000000);
9239  restartPeriod_ = 50;
9240  bitField0_ = (bitField0_ & ~0x20000000);
9241  restartRunningWindowSize_ = 50;
9242  bitField0_ = (bitField0_ & ~0x40000000);
9243  restartDlAverageRatio_ = 1D;
9244  bitField0_ = (bitField0_ & ~0x80000000);
9245  restartLbdAverageRatio_ = 1D;
9246  bitField1_ = (bitField1_ & ~0x00000001);
9247  useBlockingRestart_ = false;
9248  bitField1_ = (bitField1_ & ~0x00000002);
9249  blockingRestartWindowSize_ = 5000;
9250  bitField1_ = (bitField1_ & ~0x00000004);
9251  blockingRestartMultiplier_ = 1.4D;
9252  bitField1_ = (bitField1_ & ~0x00000008);
9253  numConflictsBeforeStrategyChanges_ = 0;
9254  bitField1_ = (bitField1_ & ~0x00000010);
9255  strategyChangeIncreaseRatio_ = 0D;
9256  bitField1_ = (bitField1_ & ~0x00000020);
9257  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
9258  bitField1_ = (bitField1_ & ~0x00000040);
9259  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
9260  bitField1_ = (bitField1_ & ~0x00000080);
9261  maxNumberOfConflicts_ = 9223372036854775807L;
9262  bitField1_ = (bitField1_ & ~0x00000100);
9263  maxMemoryInMb_ = 10000L;
9264  bitField1_ = (bitField1_ & ~0x00000200);
9265  absoluteGapLimit_ = 0D;
9266  bitField1_ = (bitField1_ & ~0x00000400);
9267  relativeGapLimit_ = 0D;
9268  bitField1_ = (bitField1_ & ~0x00000800);
9269  treatBinaryClausesSeparately_ = true;
9270  bitField1_ = (bitField1_ & ~0x00001000);
9271  randomSeed_ = 1;
9272  bitField1_ = (bitField1_ & ~0x00002000);
9273  logSearchProgress_ = false;
9274  bitField1_ = (bitField1_ & ~0x00004000);
9275  usePbResolution_ = false;
9276  bitField1_ = (bitField1_ & ~0x00008000);
9277  minimizeReductionDuringPbResolution_ = false;
9278  bitField1_ = (bitField1_ & ~0x00010000);
9279  countAssumptionLevelsInLbd_ = true;
9280  bitField1_ = (bitField1_ & ~0x00020000);
9281  presolveBveThreshold_ = 500;
9282  bitField1_ = (bitField1_ & ~0x00040000);
9283  presolveBveClauseWeight_ = 3;
9284  bitField1_ = (bitField1_ & ~0x00080000);
9285  presolveProbingDeterministicTimeLimit_ = 30D;
9286  bitField1_ = (bitField1_ & ~0x00100000);
9287  presolveBlockedClause_ = true;
9288  bitField1_ = (bitField1_ & ~0x00200000);
9289  presolveUseBva_ = true;
9290  bitField1_ = (bitField1_ & ~0x00400000);
9291  presolveBvaThreshold_ = 1;
9292  bitField1_ = (bitField1_ & ~0x00800000);
9293  maxPresolveIterations_ = 3;
9294  bitField1_ = (bitField1_ & ~0x01000000);
9295  cpModelPresolve_ = true;
9296  bitField1_ = (bitField1_ & ~0x02000000);
9297  cpModelPostsolveWithFullSolver_ = false;
9298  bitField1_ = (bitField1_ & ~0x04000000);
9299  cpModelMaxNumPresolveOperations_ = 0;
9300  bitField1_ = (bitField1_ & ~0x08000000);
9301  cpModelProbingLevel_ = 2;
9302  bitField1_ = (bitField1_ & ~0x10000000);
9303  cpModelUseSatPresolve_ = true;
9304  bitField1_ = (bitField1_ & ~0x20000000);
9305  useSatInprocessing_ = false;
9306  bitField1_ = (bitField1_ & ~0x40000000);
9307  expandElementConstraints_ = true;
9308  bitField1_ = (bitField1_ & ~0x80000000);
9309  expandAutomatonConstraints_ = true;
9310  bitField2_ = (bitField2_ & ~0x00000001);
9311  expandTableConstraints_ = true;
9312  bitField2_ = (bitField2_ & ~0x00000002);
9313  mergeNoOverlapWorkLimit_ = 1000000000000D;
9314  bitField2_ = (bitField2_ & ~0x00000004);
9315  mergeAtMostOneWorkLimit_ = 100000000D;
9316  bitField2_ = (bitField2_ & ~0x00000008);
9317  presolveSubstitutionLevel_ = 1;
9318  bitField2_ = (bitField2_ & ~0x00000010);
9319  useOptimizationHints_ = true;
9320  bitField2_ = (bitField2_ & ~0x00000020);
9321  minimizeCore_ = true;
9322  bitField2_ = (bitField2_ & ~0x00000040);
9323  findMultipleCores_ = true;
9324  bitField2_ = (bitField2_ & ~0x00000080);
9325  coverOptimization_ = true;
9326  bitField2_ = (bitField2_ & ~0x00000100);
9327  maxSatAssumptionOrder_ = 0;
9328  bitField2_ = (bitField2_ & ~0x00000200);
9329  maxSatReverseAssumptionOrder_ = false;
9330  bitField2_ = (bitField2_ & ~0x00000400);
9331  maxSatStratification_ = 1;
9332  bitField2_ = (bitField2_ & ~0x00000800);
9333  usePrecedencesInDisjunctiveConstraint_ = true;
9334  bitField2_ = (bitField2_ & ~0x00001000);
9335  useOverloadCheckerInCumulativeConstraint_ = false;
9336  bitField2_ = (bitField2_ & ~0x00002000);
9337  useTimetableEdgeFindingInCumulativeConstraint_ = false;
9338  bitField2_ = (bitField2_ & ~0x00004000);
9339  useDisjunctiveConstraintInCumulativeConstraint_ = true;
9340  bitField2_ = (bitField2_ & ~0x00008000);
9341  linearizationLevel_ = 1;
9342  bitField2_ = (bitField2_ & ~0x00010000);
9343  booleanEncodingLevel_ = 1;
9344  bitField2_ = (bitField2_ & ~0x00020000);
9345  maxNumCuts_ = 10000;
9346  bitField2_ = (bitField2_ & ~0x00040000);
9347  onlyAddCutsAtLevelZero_ = false;
9348  bitField2_ = (bitField2_ & ~0x00080000);
9349  addKnapsackCuts_ = false;
9350  bitField2_ = (bitField2_ & ~0x00100000);
9351  addCgCuts_ = true;
9352  bitField2_ = (bitField2_ & ~0x00200000);
9353  addMirCuts_ = true;
9354  bitField2_ = (bitField2_ & ~0x00400000);
9355  maxAllDiffCutSize_ = 7;
9356  bitField2_ = (bitField2_ & ~0x00800000);
9357  addLinMaxCuts_ = true;
9358  bitField2_ = (bitField2_ & ~0x01000000);
9359  maxIntegerRoundingScaling_ = 600;
9360  bitField2_ = (bitField2_ & ~0x02000000);
9361  addLpConstraintsLazily_ = true;
9362  bitField2_ = (bitField2_ & ~0x04000000);
9363  minOrthogonalityForLpConstraints_ = 0.05D;
9364  bitField2_ = (bitField2_ & ~0x08000000);
9365  maxCutRoundsAtLevelZero_ = 1;
9366  bitField2_ = (bitField2_ & ~0x10000000);
9367  maxConsecutiveInactiveCount_ = 100;
9368  bitField2_ = (bitField2_ & ~0x20000000);
9369  cutMaxActiveCountValue_ = 10000000000D;
9370  bitField2_ = (bitField2_ & ~0x40000000);
9371  cutActiveCountDecay_ = 0.8D;
9372  bitField2_ = (bitField2_ & ~0x80000000);
9373  cutCleanupTarget_ = 1000;
9374  bitField3_ = (bitField3_ & ~0x00000001);
9375  newConstraintsBatchSize_ = 50;
9376  bitField3_ = (bitField3_ & ~0x00000002);
9377  searchBranching_ = 0;
9378  bitField3_ = (bitField3_ & ~0x00000004);
9379  hintConflictLimit_ = 10;
9380  bitField3_ = (bitField3_ & ~0x00000008);
9381  exploitIntegerLpSolution_ = true;
9382  bitField3_ = (bitField3_ & ~0x00000010);
9383  exploitAllLpSolution_ = true;
9384  bitField3_ = (bitField3_ & ~0x00000020);
9385  exploitBestSolution_ = false;
9386  bitField3_ = (bitField3_ & ~0x00000040);
9387  exploitRelaxationSolution_ = false;
9388  bitField3_ = (bitField3_ & ~0x00000080);
9389  exploitObjective_ = true;
9390  bitField3_ = (bitField3_ & ~0x00000100);
9391  probingPeriodAtRoot_ = 0L;
9392  bitField3_ = (bitField3_ & ~0x00000200);
9393  pseudoCostReliabilityThreshold_ = 100L;
9394  bitField3_ = (bitField3_ & ~0x00000400);
9395  optimizeWithCore_ = false;
9396  bitField3_ = (bitField3_ & ~0x00000800);
9397  binarySearchNumConflicts_ = -1;
9398  bitField3_ = (bitField3_ & ~0x00001000);
9399  optimizeWithMaxHs_ = false;
9400  bitField3_ = (bitField3_ & ~0x00002000);
9401  enumerateAllSolutions_ = false;
9402  bitField3_ = (bitField3_ & ~0x00004000);
9403  fillTightenedDomainsInResponse_ = false;
9404  bitField3_ = (bitField3_ & ~0x00008000);
9405  instantiateAllVariables_ = true;
9406  bitField3_ = (bitField3_ & ~0x00010000);
9407  autoDetectGreaterThanAtLeastOneOf_ = true;
9408  bitField3_ = (bitField3_ & ~0x00020000);
9409  stopAfterFirstSolution_ = false;
9410  bitField3_ = (bitField3_ & ~0x00040000);
9411  stopAfterPresolve_ = false;
9412  bitField3_ = (bitField3_ & ~0x00080000);
9413  numSearchWorkers_ = 1;
9414  bitField3_ = (bitField3_ & ~0x00100000);
9415  interleaveSearch_ = false;
9416  bitField3_ = (bitField3_ & ~0x00200000);
9417  interleaveBatchSize_ = 1;
9418  bitField3_ = (bitField3_ & ~0x00400000);
9419  reduceMemoryUsageInInterleaveMode_ = false;
9420  bitField3_ = (bitField3_ & ~0x00800000);
9421  shareObjectiveBounds_ = true;
9422  bitField3_ = (bitField3_ & ~0x01000000);
9423  shareLevelZeroBounds_ = true;
9424  bitField3_ = (bitField3_ & ~0x02000000);
9425  useLnsOnly_ = false;
9426  bitField3_ = (bitField3_ & ~0x04000000);
9427  lnsFocusOnDecisionVariables_ = false;
9428  bitField3_ = (bitField3_ & ~0x08000000);
9429  useRinsLns_ = true;
9430  bitField3_ = (bitField3_ & ~0x10000000);
9431  useFeasibilityPump_ = false;
9432  bitField3_ = (bitField3_ & ~0x20000000);
9433  useRelaxationLns_ = false;
9434  bitField3_ = (bitField3_ & ~0x40000000);
9435  diversifyLnsParams_ = false;
9436  bitField3_ = (bitField3_ & ~0x80000000);
9437  randomizeSearch_ = false;
9438  bitField4_ = (bitField4_ & ~0x00000001);
9439  searchRandomizationTolerance_ = 0L;
9440  bitField4_ = (bitField4_ & ~0x00000002);
9441  useOptionalVariables_ = true;
9442  bitField4_ = (bitField4_ & ~0x00000004);
9443  useExactLpReason_ = true;
9444  bitField4_ = (bitField4_ & ~0x00000008);
9445  useBranchingInLp_ = false;
9446  bitField4_ = (bitField4_ & ~0x00000010);
9447  useCombinedNoOverlap_ = false;
9448  bitField4_ = (bitField4_ & ~0x00000020);
9449  catchSigintSignal_ = true;
9450  bitField4_ = (bitField4_ & ~0x00000040);
9451  useImpliedBounds_ = true;
9452  bitField4_ = (bitField4_ & ~0x00000080);
9453  mipMaxBound_ = 10000000D;
9454  bitField4_ = (bitField4_ & ~0x00000100);
9455  mipVarScaling_ = 1D;
9456  bitField4_ = (bitField4_ & ~0x00000200);
9457  mipWantedPrecision_ = 1e-06D;
9458  bitField4_ = (bitField4_ & ~0x00000400);
9459  mipMaxActivityExponent_ = 53;
9460  bitField4_ = (bitField4_ & ~0x00000800);
9461  mipCheckPrecision_ = 0.0001D;
9462  bitField4_ = (bitField4_ & ~0x00001000);
9463  return this;
9464  }
9465 
9466  @java.lang.Override
9467  public com.google.protobuf.Descriptors.Descriptor
9469  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
9470  }
9471 
9472  @java.lang.Override
9475  }
9476 
9477  @java.lang.Override
9480  if (!result.isInitialized()) {
9481  throw newUninitializedMessageException(result);
9482  }
9483  return result;
9484  }
9485 
9486  @java.lang.Override
9489  int from_bitField0_ = bitField0_;
9490  int from_bitField1_ = bitField1_;
9491  int from_bitField2_ = bitField2_;
9492  int from_bitField3_ = bitField3_;
9493  int from_bitField4_ = bitField4_;
9494  int to_bitField0_ = 0;
9495  int to_bitField1_ = 0;
9496  int to_bitField2_ = 0;
9497  int to_bitField3_ = 0;
9498  int to_bitField4_ = 0;
9499  if (((from_bitField0_ & 0x00000001) != 0)) {
9500  to_bitField0_ |= 0x00000001;
9501  }
9502  result.preferredVariableOrder_ = preferredVariableOrder_;
9503  if (((from_bitField0_ & 0x00000002) != 0)) {
9504  to_bitField0_ |= 0x00000002;
9505  }
9506  result.initialPolarity_ = initialPolarity_;
9507  if (((from_bitField0_ & 0x00000004) != 0)) {
9508  to_bitField0_ |= 0x00000004;
9509  }
9510  result.usePhaseSaving_ = usePhaseSaving_;
9511  if (((from_bitField0_ & 0x00000008) != 0)) {
9512  result.randomPolarityRatio_ = randomPolarityRatio_;
9513  to_bitField0_ |= 0x00000008;
9514  }
9515  if (((from_bitField0_ & 0x00000010) != 0)) {
9516  result.randomBranchesRatio_ = randomBranchesRatio_;
9517  to_bitField0_ |= 0x00000010;
9518  }
9519  if (((from_bitField0_ & 0x00000020) != 0)) {
9520  result.useErwaHeuristic_ = useErwaHeuristic_;
9521  to_bitField0_ |= 0x00000020;
9522  }
9523  if (((from_bitField0_ & 0x00000040) != 0)) {
9524  result.initialVariablesActivity_ = initialVariablesActivity_;
9525  to_bitField0_ |= 0x00000040;
9526  }
9527  if (((from_bitField0_ & 0x00000080) != 0)) {
9528  result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
9529  to_bitField0_ |= 0x00000080;
9530  }
9531  if (((from_bitField0_ & 0x00000100) != 0)) {
9532  to_bitField0_ |= 0x00000100;
9533  }
9534  result.minimizationAlgorithm_ = minimizationAlgorithm_;
9535  if (((from_bitField0_ & 0x00000200) != 0)) {
9536  to_bitField0_ |= 0x00000200;
9537  }
9538  result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
9539  if (((from_bitField0_ & 0x00000400) != 0)) {
9540  to_bitField0_ |= 0x00000400;
9541  }
9542  result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
9543  if (((from_bitField0_ & 0x00000800) != 0)) {
9544  to_bitField0_ |= 0x00000800;
9545  }
9546  result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
9547  if (((from_bitField0_ & 0x00001000) != 0)) {
9548  to_bitField0_ |= 0x00001000;
9549  }
9550  result.clauseCleanupTarget_ = clauseCleanupTarget_;
9551  if (((from_bitField0_ & 0x00002000) != 0)) {
9552  to_bitField0_ |= 0x00002000;
9553  }
9554  result.clauseCleanupProtection_ = clauseCleanupProtection_;
9555  if (((from_bitField0_ & 0x00004000) != 0)) {
9556  to_bitField0_ |= 0x00004000;
9557  }
9558  result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
9559  if (((from_bitField0_ & 0x00008000) != 0)) {
9560  to_bitField0_ |= 0x00008000;
9561  }
9562  result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
9563  if (((from_bitField0_ & 0x00010000) != 0)) {
9564  to_bitField0_ |= 0x00010000;
9565  }
9566  result.pbCleanupIncrement_ = pbCleanupIncrement_;
9567  if (((from_bitField0_ & 0x00020000) != 0)) {
9568  to_bitField0_ |= 0x00020000;
9569  }
9570  result.pbCleanupRatio_ = pbCleanupRatio_;
9571  if (((from_bitField0_ & 0x00040000) != 0)) {
9572  to_bitField0_ |= 0x00040000;
9573  }
9574  result.minimizeWithPropagationRestartPeriod_ = minimizeWithPropagationRestartPeriod_;
9575  if (((from_bitField0_ & 0x00080000) != 0)) {
9576  to_bitField0_ |= 0x00080000;
9577  }
9578  result.minimizeWithPropagationNumDecisions_ = minimizeWithPropagationNumDecisions_;
9579  if (((from_bitField0_ & 0x00100000) != 0)) {
9580  to_bitField0_ |= 0x00100000;
9581  }
9582  result.variableActivityDecay_ = variableActivityDecay_;
9583  if (((from_bitField0_ & 0x00200000) != 0)) {
9584  to_bitField0_ |= 0x00200000;
9585  }
9586  result.maxVariableActivityValue_ = maxVariableActivityValue_;
9587  if (((from_bitField0_ & 0x00400000) != 0)) {
9588  to_bitField0_ |= 0x00400000;
9589  }
9590  result.glucoseMaxDecay_ = glucoseMaxDecay_;
9591  if (((from_bitField0_ & 0x00800000) != 0)) {
9592  to_bitField0_ |= 0x00800000;
9593  }
9594  result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
9595  if (((from_bitField0_ & 0x01000000) != 0)) {
9596  to_bitField0_ |= 0x01000000;
9597  }
9598  result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
9599  if (((from_bitField0_ & 0x02000000) != 0)) {
9600  to_bitField0_ |= 0x02000000;
9601  }
9602  result.clauseActivityDecay_ = clauseActivityDecay_;
9603  if (((from_bitField0_ & 0x04000000) != 0)) {
9604  to_bitField0_ |= 0x04000000;
9605  }
9606  result.maxClauseActivityValue_ = maxClauseActivityValue_;
9607  if (((bitField0_ & 0x08000000) != 0)) {
9608  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
9609  bitField0_ = (bitField0_ & ~0x08000000);
9610  }
9611  result.restartAlgorithms_ = restartAlgorithms_;
9612  if (((from_bitField0_ & 0x10000000) != 0)) {
9613  to_bitField0_ |= 0x08000000;
9614  }
9615  result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
9616  if (((from_bitField0_ & 0x20000000) != 0)) {
9617  to_bitField0_ |= 0x10000000;
9618  }
9619  result.restartPeriod_ = restartPeriod_;
9620  if (((from_bitField0_ & 0x40000000) != 0)) {
9621  to_bitField0_ |= 0x20000000;
9622  }
9623  result.restartRunningWindowSize_ = restartRunningWindowSize_;
9624  if (((from_bitField0_ & 0x80000000) != 0)) {
9625  to_bitField0_ |= 0x40000000;
9626  }
9627  result.restartDlAverageRatio_ = restartDlAverageRatio_;
9628  if (((from_bitField1_ & 0x00000001) != 0)) {
9629  to_bitField0_ |= 0x80000000;
9630  }
9631  result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
9632  if (((from_bitField1_ & 0x00000002) != 0)) {
9633  result.useBlockingRestart_ = useBlockingRestart_;
9634  to_bitField1_ |= 0x00000001;
9635  }
9636  if (((from_bitField1_ & 0x00000004) != 0)) {
9637  to_bitField1_ |= 0x00000002;
9638  }
9639  result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
9640  if (((from_bitField1_ & 0x00000008) != 0)) {
9641  to_bitField1_ |= 0x00000004;
9642  }
9643  result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
9644  if (((from_bitField1_ & 0x00000010) != 0)) {
9645  result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
9646  to_bitField1_ |= 0x00000008;
9647  }
9648  if (((from_bitField1_ & 0x00000020) != 0)) {
9649  result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
9650  to_bitField1_ |= 0x00000010;
9651  }
9652  if (((from_bitField1_ & 0x00000040) != 0)) {
9653  to_bitField1_ |= 0x00000020;
9654  }
9655  result.maxTimeInSeconds_ = maxTimeInSeconds_;
9656  if (((from_bitField1_ & 0x00000080) != 0)) {
9657  to_bitField1_ |= 0x00000040;
9658  }
9659  result.maxDeterministicTime_ = maxDeterministicTime_;
9660  if (((from_bitField1_ & 0x00000100) != 0)) {
9661  to_bitField1_ |= 0x00000080;
9662  }
9663  result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
9664  if (((from_bitField1_ & 0x00000200) != 0)) {
9665  to_bitField1_ |= 0x00000100;
9666  }
9667  result.maxMemoryInMb_ = maxMemoryInMb_;
9668  if (((from_bitField1_ & 0x00000400) != 0)) {
9669  result.absoluteGapLimit_ = absoluteGapLimit_;
9670  to_bitField1_ |= 0x00000200;
9671  }
9672  if (((from_bitField1_ & 0x00000800) != 0)) {
9673  result.relativeGapLimit_ = relativeGapLimit_;
9674  to_bitField1_ |= 0x00000400;
9675  }
9676  if (((from_bitField1_ & 0x00001000) != 0)) {
9677  to_bitField1_ |= 0x00000800;
9678  }
9679  result.treatBinaryClausesSeparately_ = treatBinaryClausesSeparately_;
9680  if (((from_bitField1_ & 0x00002000) != 0)) {
9681  to_bitField1_ |= 0x00001000;
9682  }
9683  result.randomSeed_ = randomSeed_;
9684  if (((from_bitField1_ & 0x00004000) != 0)) {
9685  result.logSearchProgress_ = logSearchProgress_;
9686  to_bitField1_ |= 0x00002000;
9687  }
9688  if (((from_bitField1_ & 0x00008000) != 0)) {
9689  result.usePbResolution_ = usePbResolution_;
9690  to_bitField1_ |= 0x00004000;
9691  }
9692  if (((from_bitField1_ & 0x00010000) != 0)) {
9693  result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
9694  to_bitField1_ |= 0x00008000;
9695  }
9696  if (((from_bitField1_ & 0x00020000) != 0)) {
9697  to_bitField1_ |= 0x00010000;
9698  }
9699  result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
9700  if (((from_bitField1_ & 0x00040000) != 0)) {
9701  to_bitField1_ |= 0x00020000;
9702  }
9703  result.presolveBveThreshold_ = presolveBveThreshold_;
9704  if (((from_bitField1_ & 0x00080000) != 0)) {
9705  to_bitField1_ |= 0x00040000;
9706  }
9707  result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
9708  if (((from_bitField1_ & 0x00100000) != 0)) {
9709  to_bitField1_ |= 0x00080000;
9710  }
9711  result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
9712  if (((from_bitField1_ & 0x00200000) != 0)) {
9713  to_bitField1_ |= 0x00100000;
9714  }
9715  result.presolveBlockedClause_ = presolveBlockedClause_;
9716  if (((from_bitField1_ & 0x00400000) != 0)) {
9717  to_bitField1_ |= 0x00200000;
9718  }
9719  result.presolveUseBva_ = presolveUseBva_;
9720  if (((from_bitField1_ & 0x00800000) != 0)) {
9721  to_bitField1_ |= 0x00400000;
9722  }
9723  result.presolveBvaThreshold_ = presolveBvaThreshold_;
9724  if (((from_bitField1_ & 0x01000000) != 0)) {
9725  to_bitField1_ |= 0x00800000;
9726  }
9727  result.maxPresolveIterations_ = maxPresolveIterations_;
9728  if (((from_bitField1_ & 0x02000000) != 0)) {
9729  to_bitField1_ |= 0x01000000;
9730  }
9731  result.cpModelPresolve_ = cpModelPresolve_;
9732  if (((from_bitField1_ & 0x04000000) != 0)) {
9733  result.cpModelPostsolveWithFullSolver_ = cpModelPostsolveWithFullSolver_;
9734  to_bitField1_ |= 0x02000000;
9735  }
9736  if (((from_bitField1_ & 0x08000000) != 0)) {
9737  result.cpModelMaxNumPresolveOperations_ = cpModelMaxNumPresolveOperations_;
9738  to_bitField1_ |= 0x04000000;
9739  }
9740  if (((from_bitField1_ & 0x10000000) != 0)) {
9741  to_bitField1_ |= 0x08000000;
9742  }
9743  result.cpModelProbingLevel_ = cpModelProbingLevel_;
9744  if (((from_bitField1_ & 0x20000000) != 0)) {
9745  to_bitField1_ |= 0x10000000;
9746  }
9747  result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
9748  if (((from_bitField1_ & 0x40000000) != 0)) {
9749  result.useSatInprocessing_ = useSatInprocessing_;
9750  to_bitField1_ |= 0x20000000;
9751  }
9752  if (((from_bitField1_ & 0x80000000) != 0)) {
9753  to_bitField1_ |= 0x40000000;
9754  }
9755  result.expandElementConstraints_ = expandElementConstraints_;
9756  if (((from_bitField2_ & 0x00000001) != 0)) {
9757  to_bitField1_ |= 0x80000000;
9758  }
9759  result.expandAutomatonConstraints_ = expandAutomatonConstraints_;
9760  if (((from_bitField2_ & 0x00000002) != 0)) {
9761  to_bitField2_ |= 0x00000001;
9762  }
9763  result.expandTableConstraints_ = expandTableConstraints_;
9764  if (((from_bitField2_ & 0x00000004) != 0)) {
9765  to_bitField2_ |= 0x00000002;
9766  }
9767  result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
9768  if (((from_bitField2_ & 0x00000008) != 0)) {
9769  to_bitField2_ |= 0x00000004;
9770  }
9771  result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
9772  if (((from_bitField2_ & 0x00000010) != 0)) {
9773  to_bitField2_ |= 0x00000008;
9774  }
9775  result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
9776  if (((from_bitField2_ & 0x00000020) != 0)) {
9777  to_bitField2_ |= 0x00000010;
9778  }
9779  result.useOptimizationHints_ = useOptimizationHints_;
9780  if (((from_bitField2_ & 0x00000040) != 0)) {
9781  to_bitField2_ |= 0x00000020;
9782  }
9783  result.minimizeCore_ = minimizeCore_;
9784  if (((from_bitField2_ & 0x00000080) != 0)) {
9785  to_bitField2_ |= 0x00000040;
9786  }
9787  result.findMultipleCores_ = findMultipleCores_;
9788  if (((from_bitField2_ & 0x00000100) != 0)) {
9789  to_bitField2_ |= 0x00000080;
9790  }
9791  result.coverOptimization_ = coverOptimization_;
9792  if (((from_bitField2_ & 0x00000200) != 0)) {
9793  to_bitField2_ |= 0x00000100;
9794  }
9795  result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
9796  if (((from_bitField2_ & 0x00000400) != 0)) {
9797  result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
9798  to_bitField2_ |= 0x00000200;
9799  }
9800  if (((from_bitField2_ & 0x00000800) != 0)) {
9801  to_bitField2_ |= 0x00000400;
9802  }
9803  result.maxSatStratification_ = maxSatStratification_;
9804  if (((from_bitField2_ & 0x00001000) != 0)) {
9805  to_bitField2_ |= 0x00000800;
9806  }
9807  result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
9808  if (((from_bitField2_ & 0x00002000) != 0)) {
9809  result.useOverloadCheckerInCumulativeConstraint_ = useOverloadCheckerInCumulativeConstraint_;
9810  to_bitField2_ |= 0x00001000;
9811  }
9812  if (((from_bitField2_ & 0x00004000) != 0)) {
9813  result.useTimetableEdgeFindingInCumulativeConstraint_ = useTimetableEdgeFindingInCumulativeConstraint_;
9814  to_bitField2_ |= 0x00002000;
9815  }
9816  if (((from_bitField2_ & 0x00008000) != 0)) {
9817  to_bitField2_ |= 0x00004000;
9818  }
9819  result.useDisjunctiveConstraintInCumulativeConstraint_ = useDisjunctiveConstraintInCumulativeConstraint_;
9820  if (((from_bitField2_ & 0x00010000) != 0)) {
9821  to_bitField2_ |= 0x00008000;
9822  }
9823  result.linearizationLevel_ = linearizationLevel_;
9824  if (((from_bitField2_ & 0x00020000) != 0)) {
9825  to_bitField2_ |= 0x00010000;
9826  }
9827  result.booleanEncodingLevel_ = booleanEncodingLevel_;
9828  if (((from_bitField2_ & 0x00040000) != 0)) {
9829  to_bitField2_ |= 0x00020000;
9830  }
9831  result.maxNumCuts_ = maxNumCuts_;
9832  if (((from_bitField2_ & 0x00080000) != 0)) {
9833  result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
9834  to_bitField2_ |= 0x00040000;
9835  }
9836  if (((from_bitField2_ & 0x00100000) != 0)) {
9837  result.addKnapsackCuts_ = addKnapsackCuts_;
9838  to_bitField2_ |= 0x00080000;
9839  }
9840  if (((from_bitField2_ & 0x00200000) != 0)) {
9841  to_bitField2_ |= 0x00100000;
9842  }
9843  result.addCgCuts_ = addCgCuts_;
9844  if (((from_bitField2_ & 0x00400000) != 0)) {
9845  to_bitField2_ |= 0x00200000;
9846  }
9847  result.addMirCuts_ = addMirCuts_;
9848  if (((from_bitField2_ & 0x00800000) != 0)) {
9849  to_bitField2_ |= 0x00400000;
9850  }
9851  result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
9852  if (((from_bitField2_ & 0x01000000) != 0)) {
9853  to_bitField2_ |= 0x00800000;
9854  }
9855  result.addLinMaxCuts_ = addLinMaxCuts_;
9856  if (((from_bitField2_ & 0x02000000) != 0)) {
9857  to_bitField2_ |= 0x01000000;
9858  }
9859  result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
9860  if (((from_bitField2_ & 0x04000000) != 0)) {
9861  to_bitField2_ |= 0x02000000;
9862  }
9863  result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
9864  if (((from_bitField2_ & 0x08000000) != 0)) {
9865  to_bitField2_ |= 0x04000000;
9866  }
9867  result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
9868  if (((from_bitField2_ & 0x10000000) != 0)) {
9869  to_bitField2_ |= 0x08000000;
9870  }
9871  result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
9872  if (((from_bitField2_ & 0x20000000) != 0)) {
9873  to_bitField2_ |= 0x10000000;
9874  }
9875  result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
9876  if (((from_bitField2_ & 0x40000000) != 0)) {
9877  to_bitField2_ |= 0x20000000;
9878  }
9879  result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
9880  if (((from_bitField2_ & 0x80000000) != 0)) {
9881  to_bitField2_ |= 0x40000000;
9882  }
9883  result.cutActiveCountDecay_ = cutActiveCountDecay_;
9884  if (((from_bitField3_ & 0x00000001) != 0)) {
9885  to_bitField2_ |= 0x80000000;
9886  }
9887  result.cutCleanupTarget_ = cutCleanupTarget_;
9888  if (((from_bitField3_ & 0x00000002) != 0)) {
9889  to_bitField3_ |= 0x00000001;
9890  }
9891  result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
9892  if (((from_bitField3_ & 0x00000004) != 0)) {
9893  to_bitField3_ |= 0x00000002;
9894  }
9895  result.searchBranching_ = searchBranching_;
9896  if (((from_bitField3_ & 0x00000008) != 0)) {
9897  to_bitField3_ |= 0x00000004;
9898  }
9899  result.hintConflictLimit_ = hintConflictLimit_;
9900  if (((from_bitField3_ & 0x00000010) != 0)) {
9901  to_bitField3_ |= 0x00000008;
9902  }
9903  result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
9904  if (((from_bitField3_ & 0x00000020) != 0)) {
9905  to_bitField3_ |= 0x00000010;
9906  }
9907  result.exploitAllLpSolution_ = exploitAllLpSolution_;
9908  if (((from_bitField3_ & 0x00000040) != 0)) {
9909  result.exploitBestSolution_ = exploitBestSolution_;
9910  to_bitField3_ |= 0x00000020;
9911  }
9912  if (((from_bitField3_ & 0x00000080) != 0)) {
9913  result.exploitRelaxationSolution_ = exploitRelaxationSolution_;
9914  to_bitField3_ |= 0x00000040;
9915  }
9916  if (((from_bitField3_ & 0x00000100) != 0)) {
9917  to_bitField3_ |= 0x00000080;
9918  }
9919  result.exploitObjective_ = exploitObjective_;
9920  if (((from_bitField3_ & 0x00000200) != 0)) {
9921  result.probingPeriodAtRoot_ = probingPeriodAtRoot_;
9922  to_bitField3_ |= 0x00000100;
9923  }
9924  if (((from_bitField3_ & 0x00000400) != 0)) {
9925  to_bitField3_ |= 0x00000200;
9926  }
9927  result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
9928  if (((from_bitField3_ & 0x00000800) != 0)) {
9929  result.optimizeWithCore_ = optimizeWithCore_;
9930  to_bitField3_ |= 0x00000400;
9931  }
9932  if (((from_bitField3_ & 0x00001000) != 0)) {
9933  to_bitField3_ |= 0x00000800;
9934  }
9935  result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
9936  if (((from_bitField3_ & 0x00002000) != 0)) {
9937  result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
9938  to_bitField3_ |= 0x00001000;
9939  }
9940  if (((from_bitField3_ & 0x00004000) != 0)) {
9941  result.enumerateAllSolutions_ = enumerateAllSolutions_;
9942  to_bitField3_ |= 0x00002000;
9943  }
9944  if (((from_bitField3_ & 0x00008000) != 0)) {
9945  result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
9946  to_bitField3_ |= 0x00004000;
9947  }
9948  if (((from_bitField3_ & 0x00010000) != 0)) {
9949  to_bitField3_ |= 0x00008000;
9950  }
9951  result.instantiateAllVariables_ = instantiateAllVariables_;
9952  if (((from_bitField3_ & 0x00020000) != 0)) {
9953  to_bitField3_ |= 0x00010000;
9954  }
9955  result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
9956  if (((from_bitField3_ & 0x00040000) != 0)) {
9957  result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
9958  to_bitField3_ |= 0x00020000;
9959  }
9960  if (((from_bitField3_ & 0x00080000) != 0)) {
9961  result.stopAfterPresolve_ = stopAfterPresolve_;
9962  to_bitField3_ |= 0x00040000;
9963  }
9964  if (((from_bitField3_ & 0x00100000) != 0)) {
9965  to_bitField3_ |= 0x00080000;
9966  }
9967  result.numSearchWorkers_ = numSearchWorkers_;
9968  if (((from_bitField3_ & 0x00200000) != 0)) {
9969  result.interleaveSearch_ = interleaveSearch_;
9970  to_bitField3_ |= 0x00100000;
9971  }
9972  if (((from_bitField3_ & 0x00400000) != 0)) {
9973  to_bitField3_ |= 0x00200000;
9974  }
9975  result.interleaveBatchSize_ = interleaveBatchSize_;
9976  if (((from_bitField3_ & 0x00800000) != 0)) {
9977  result.reduceMemoryUsageInInterleaveMode_ = reduceMemoryUsageInInterleaveMode_;
9978  to_bitField3_ |= 0x00400000;
9979  }
9980  if (((from_bitField3_ & 0x01000000) != 0)) {
9981  to_bitField3_ |= 0x00800000;
9982  }
9983  result.shareObjectiveBounds_ = shareObjectiveBounds_;
9984  if (((from_bitField3_ & 0x02000000) != 0)) {
9985  to_bitField3_ |= 0x01000000;
9986  }
9987  result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
9988  if (((from_bitField3_ & 0x04000000) != 0)) {
9989  result.useLnsOnly_ = useLnsOnly_;
9990  to_bitField3_ |= 0x02000000;
9991  }
9992  if (((from_bitField3_ & 0x08000000) != 0)) {
9993  result.lnsFocusOnDecisionVariables_ = lnsFocusOnDecisionVariables_;
9994  to_bitField3_ |= 0x04000000;
9995  }
9996  if (((from_bitField3_ & 0x10000000) != 0)) {
9997  to_bitField3_ |= 0x08000000;
9998  }
9999  result.useRinsLns_ = useRinsLns_;
10000  if (((from_bitField3_ & 0x20000000) != 0)) {
10001  result.useFeasibilityPump_ = useFeasibilityPump_;
10002  to_bitField3_ |= 0x10000000;
10003  }
10004  if (((from_bitField3_ & 0x40000000) != 0)) {
10005  result.useRelaxationLns_ = useRelaxationLns_;
10006  to_bitField3_ |= 0x20000000;
10007  }
10008  if (((from_bitField3_ & 0x80000000) != 0)) {
10009  result.diversifyLnsParams_ = diversifyLnsParams_;
10010  to_bitField3_ |= 0x40000000;
10011  }
10012  if (((from_bitField4_ & 0x00000001) != 0)) {
10013  result.randomizeSearch_ = randomizeSearch_;
10014  to_bitField3_ |= 0x80000000;
10015  }
10016  if (((from_bitField4_ & 0x00000002) != 0)) {
10017  result.searchRandomizationTolerance_ = searchRandomizationTolerance_;
10018  to_bitField4_ |= 0x00000001;
10019  }
10020  if (((from_bitField4_ & 0x00000004) != 0)) {
10021  to_bitField4_ |= 0x00000002;
10022  }
10023  result.useOptionalVariables_ = useOptionalVariables_;
10024  if (((from_bitField4_ & 0x00000008) != 0)) {
10025  to_bitField4_ |= 0x00000004;
10026  }
10027  result.useExactLpReason_ = useExactLpReason_;
10028  if (((from_bitField4_ & 0x00000010) != 0)) {
10029  result.useBranchingInLp_ = useBranchingInLp_;
10030  to_bitField4_ |= 0x00000008;
10031  }
10032  if (((from_bitField4_ & 0x00000020) != 0)) {
10033  result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
10034  to_bitField4_ |= 0x00000010;
10035  }
10036  if (((from_bitField4_ & 0x00000040) != 0)) {
10037  to_bitField4_ |= 0x00000020;
10038  }
10039  result.catchSigintSignal_ = catchSigintSignal_;
10040  if (((from_bitField4_ & 0x00000080) != 0)) {
10041  to_bitField4_ |= 0x00000040;
10042  }
10043  result.useImpliedBounds_ = useImpliedBounds_;
10044  if (((from_bitField4_ & 0x00000100) != 0)) {
10045  to_bitField4_ |= 0x00000080;
10046  }
10047  result.mipMaxBound_ = mipMaxBound_;
10048  if (((from_bitField4_ & 0x00000200) != 0)) {
10049  to_bitField4_ |= 0x00000100;
10050  }
10051  result.mipVarScaling_ = mipVarScaling_;
10052  if (((from_bitField4_ & 0x00000400) != 0)) {
10053  to_bitField4_ |= 0x00000200;
10054  }
10055  result.mipWantedPrecision_ = mipWantedPrecision_;
10056  if (((from_bitField4_ & 0x00000800) != 0)) {
10057  to_bitField4_ |= 0x00000400;
10058  }
10059  result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
10060  if (((from_bitField4_ & 0x00001000) != 0)) {
10061  to_bitField4_ |= 0x00000800;
10062  }
10063  result.mipCheckPrecision_ = mipCheckPrecision_;
10064  result.bitField0_ = to_bitField0_;
10065  result.bitField1_ = to_bitField1_;
10066  result.bitField2_ = to_bitField2_;
10067  result.bitField3_ = to_bitField3_;
10068  result.bitField4_ = to_bitField4_;
10069  onBuilt();
10070  return result;
10071  }
10072 
10073  @java.lang.Override
10074  public Builder clone() {
10075  return super.clone();
10076  }
10077  @java.lang.Override
10079  com.google.protobuf.Descriptors.FieldDescriptor field,
10080  java.lang.Object value) {
10081  return super.setField(field, value);
10082  }
10083  @java.lang.Override
10085  com.google.protobuf.Descriptors.FieldDescriptor field) {
10086  return super.clearField(field);
10087  }
10088  @java.lang.Override
10090  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
10091  return super.clearOneof(oneof);
10092  }
10093  @java.lang.Override
10095  com.google.protobuf.Descriptors.FieldDescriptor field,
10096  int index, java.lang.Object value) {
10097  return super.setRepeatedField(field, index, value);
10098  }
10099  @java.lang.Override
10101  com.google.protobuf.Descriptors.FieldDescriptor field,
10102  java.lang.Object value) {
10103  return super.addRepeatedField(field, value);
10104  }
10105  @java.lang.Override
10106  public Builder mergeFrom(com.google.protobuf.Message other) {
10107  if (other instanceof com.google.ortools.sat.SatParameters) {
10108  return mergeFrom((com.google.ortools.sat.SatParameters)other);
10109  } else {
10110  super.mergeFrom(other);
10111  return this;
10112  }
10113  }
10114 
10116  if (other == com.google.ortools.sat.SatParameters.getDefaultInstance()) return this;
10117  if (other.hasPreferredVariableOrder()) {
10118  setPreferredVariableOrder(other.getPreferredVariableOrder());
10119  }
10120  if (other.hasInitialPolarity()) {
10121  setInitialPolarity(other.getInitialPolarity());
10122  }
10123  if (other.hasUsePhaseSaving()) {
10124  setUsePhaseSaving(other.getUsePhaseSaving());
10125  }
10126  if (other.hasRandomPolarityRatio()) {
10127  setRandomPolarityRatio(other.getRandomPolarityRatio());
10128  }
10129  if (other.hasRandomBranchesRatio()) {
10130  setRandomBranchesRatio(other.getRandomBranchesRatio());
10131  }
10132  if (other.hasUseErwaHeuristic()) {
10133  setUseErwaHeuristic(other.getUseErwaHeuristic());
10134  }
10135  if (other.hasInitialVariablesActivity()) {
10136  setInitialVariablesActivity(other.getInitialVariablesActivity());
10137  }
10138  if (other.hasAlsoBumpVariablesInConflictReasons()) {
10139  setAlsoBumpVariablesInConflictReasons(other.getAlsoBumpVariablesInConflictReasons());
10140  }
10141  if (other.hasMinimizationAlgorithm()) {
10142  setMinimizationAlgorithm(other.getMinimizationAlgorithm());
10143  }
10144  if (other.hasBinaryMinimizationAlgorithm()) {
10145  setBinaryMinimizationAlgorithm(other.getBinaryMinimizationAlgorithm());
10146  }
10147  if (other.hasSubsumptionDuringConflictAnalysis()) {
10148  setSubsumptionDuringConflictAnalysis(other.getSubsumptionDuringConflictAnalysis());
10149  }
10150  if (other.hasClauseCleanupPeriod()) {
10151  setClauseCleanupPeriod(other.getClauseCleanupPeriod());
10152  }
10153  if (other.hasClauseCleanupTarget()) {
10154  setClauseCleanupTarget(other.getClauseCleanupTarget());
10155  }
10156  if (other.hasClauseCleanupProtection()) {
10157  setClauseCleanupProtection(other.getClauseCleanupProtection());
10158  }
10159  if (other.hasClauseCleanupLbdBound()) {
10160  setClauseCleanupLbdBound(other.getClauseCleanupLbdBound());
10161  }
10162  if (other.hasClauseCleanupOrdering()) {
10163  setClauseCleanupOrdering(other.getClauseCleanupOrdering());
10164  }
10165  if (other.hasPbCleanupIncrement()) {
10166  setPbCleanupIncrement(other.getPbCleanupIncrement());
10167  }
10168  if (other.hasPbCleanupRatio()) {
10169  setPbCleanupRatio(other.getPbCleanupRatio());
10170  }
10171  if (other.hasMinimizeWithPropagationRestartPeriod()) {
10172  setMinimizeWithPropagationRestartPeriod(other.getMinimizeWithPropagationRestartPeriod());
10173  }
10174  if (other.hasMinimizeWithPropagationNumDecisions()) {
10175  setMinimizeWithPropagationNumDecisions(other.getMinimizeWithPropagationNumDecisions());
10176  }
10177  if (other.hasVariableActivityDecay()) {
10178  setVariableActivityDecay(other.getVariableActivityDecay());
10179  }
10180  if (other.hasMaxVariableActivityValue()) {
10181  setMaxVariableActivityValue(other.getMaxVariableActivityValue());
10182  }
10183  if (other.hasGlucoseMaxDecay()) {
10184  setGlucoseMaxDecay(other.getGlucoseMaxDecay());
10185  }
10186  if (other.hasGlucoseDecayIncrement()) {
10187  setGlucoseDecayIncrement(other.getGlucoseDecayIncrement());
10188  }
10189  if (other.hasGlucoseDecayIncrementPeriod()) {
10190  setGlucoseDecayIncrementPeriod(other.getGlucoseDecayIncrementPeriod());
10191  }
10192  if (other.hasClauseActivityDecay()) {
10193  setClauseActivityDecay(other.getClauseActivityDecay());
10194  }
10195  if (other.hasMaxClauseActivityValue()) {
10196  setMaxClauseActivityValue(other.getMaxClauseActivityValue());
10197  }
10198  if (!other.restartAlgorithms_.isEmpty()) {
10199  if (restartAlgorithms_.isEmpty()) {
10200  restartAlgorithms_ = other.restartAlgorithms_;
10201  bitField0_ = (bitField0_ & ~0x08000000);
10202  } else {
10203  ensureRestartAlgorithmsIsMutable();
10204  restartAlgorithms_.addAll(other.restartAlgorithms_);
10205  }
10206  onChanged();
10207  }
10208  if (other.hasDefaultRestartAlgorithms()) {
10209  bitField0_ |= 0x10000000;
10210  defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
10211  onChanged();
10212  }
10213  if (other.hasRestartPeriod()) {
10214  setRestartPeriod(other.getRestartPeriod());
10215  }
10216  if (other.hasRestartRunningWindowSize()) {
10217  setRestartRunningWindowSize(other.getRestartRunningWindowSize());
10218  }
10219  if (other.hasRestartDlAverageRatio()) {
10220  setRestartDlAverageRatio(other.getRestartDlAverageRatio());
10221  }
10222  if (other.hasRestartLbdAverageRatio()) {
10223  setRestartLbdAverageRatio(other.getRestartLbdAverageRatio());
10224  }
10225  if (other.hasUseBlockingRestart()) {
10226  setUseBlockingRestart(other.getUseBlockingRestart());
10227  }
10228  if (other.hasBlockingRestartWindowSize()) {
10229  setBlockingRestartWindowSize(other.getBlockingRestartWindowSize());
10230  }
10231  if (other.hasBlockingRestartMultiplier()) {
10232  setBlockingRestartMultiplier(other.getBlockingRestartMultiplier());
10233  }
10234  if (other.hasNumConflictsBeforeStrategyChanges()) {
10235  setNumConflictsBeforeStrategyChanges(other.getNumConflictsBeforeStrategyChanges());
10236  }
10237  if (other.hasStrategyChangeIncreaseRatio()) {
10238  setStrategyChangeIncreaseRatio(other.getStrategyChangeIncreaseRatio());
10239  }
10240  if (other.hasMaxTimeInSeconds()) {
10241  setMaxTimeInSeconds(other.getMaxTimeInSeconds());
10242  }
10243  if (other.hasMaxDeterministicTime()) {
10244  setMaxDeterministicTime(other.getMaxDeterministicTime());
10245  }
10246  if (other.hasMaxNumberOfConflicts()) {
10247  setMaxNumberOfConflicts(other.getMaxNumberOfConflicts());
10248  }
10249  if (other.hasMaxMemoryInMb()) {
10250  setMaxMemoryInMb(other.getMaxMemoryInMb());
10251  }
10252  if (other.hasAbsoluteGapLimit()) {
10253  setAbsoluteGapLimit(other.getAbsoluteGapLimit());
10254  }
10255  if (other.hasRelativeGapLimit()) {
10256  setRelativeGapLimit(other.getRelativeGapLimit());
10257  }
10258  if (other.hasTreatBinaryClausesSeparately()) {
10259  setTreatBinaryClausesSeparately(other.getTreatBinaryClausesSeparately());
10260  }
10261  if (other.hasRandomSeed()) {
10262  setRandomSeed(other.getRandomSeed());
10263  }
10264  if (other.hasLogSearchProgress()) {
10265  setLogSearchProgress(other.getLogSearchProgress());
10266  }
10267  if (other.hasUsePbResolution()) {
10268  setUsePbResolution(other.getUsePbResolution());
10269  }
10270  if (other.hasMinimizeReductionDuringPbResolution()) {
10271  setMinimizeReductionDuringPbResolution(other.getMinimizeReductionDuringPbResolution());
10272  }
10273  if (other.hasCountAssumptionLevelsInLbd()) {
10274  setCountAssumptionLevelsInLbd(other.getCountAssumptionLevelsInLbd());
10275  }
10276  if (other.hasPresolveBveThreshold()) {
10277  setPresolveBveThreshold(other.getPresolveBveThreshold());
10278  }
10279  if (other.hasPresolveBveClauseWeight()) {
10280  setPresolveBveClauseWeight(other.getPresolveBveClauseWeight());
10281  }
10282  if (other.hasPresolveProbingDeterministicTimeLimit()) {
10283  setPresolveProbingDeterministicTimeLimit(other.getPresolveProbingDeterministicTimeLimit());
10284  }
10285  if (other.hasPresolveBlockedClause()) {
10286  setPresolveBlockedClause(other.getPresolveBlockedClause());
10287  }
10288  if (other.hasPresolveUseBva()) {
10289  setPresolveUseBva(other.getPresolveUseBva());
10290  }
10291  if (other.hasPresolveBvaThreshold()) {
10292  setPresolveBvaThreshold(other.getPresolveBvaThreshold());
10293  }
10294  if (other.hasMaxPresolveIterations()) {
10295  setMaxPresolveIterations(other.getMaxPresolveIterations());
10296  }
10297  if (other.hasCpModelPresolve()) {
10298  setCpModelPresolve(other.getCpModelPresolve());
10299  }
10300  if (other.hasCpModelPostsolveWithFullSolver()) {
10301  setCpModelPostsolveWithFullSolver(other.getCpModelPostsolveWithFullSolver());
10302  }
10303  if (other.hasCpModelMaxNumPresolveOperations()) {
10304  setCpModelMaxNumPresolveOperations(other.getCpModelMaxNumPresolveOperations());
10305  }
10306  if (other.hasCpModelProbingLevel()) {
10307  setCpModelProbingLevel(other.getCpModelProbingLevel());
10308  }
10309  if (other.hasCpModelUseSatPresolve()) {
10310  setCpModelUseSatPresolve(other.getCpModelUseSatPresolve());
10311  }
10312  if (other.hasUseSatInprocessing()) {
10313  setUseSatInprocessing(other.getUseSatInprocessing());
10314  }
10315  if (other.hasExpandElementConstraints()) {
10316  setExpandElementConstraints(other.getExpandElementConstraints());
10317  }
10318  if (other.hasExpandAutomatonConstraints()) {
10319  setExpandAutomatonConstraints(other.getExpandAutomatonConstraints());
10320  }
10321  if (other.hasExpandTableConstraints()) {
10322  setExpandTableConstraints(other.getExpandTableConstraints());
10323  }
10324  if (other.hasMergeNoOverlapWorkLimit()) {
10325  setMergeNoOverlapWorkLimit(other.getMergeNoOverlapWorkLimit());
10326  }
10327  if (other.hasMergeAtMostOneWorkLimit()) {
10328  setMergeAtMostOneWorkLimit(other.getMergeAtMostOneWorkLimit());
10329  }
10330  if (other.hasPresolveSubstitutionLevel()) {
10331  setPresolveSubstitutionLevel(other.getPresolveSubstitutionLevel());
10332  }
10333  if (other.hasUseOptimizationHints()) {
10334  setUseOptimizationHints(other.getUseOptimizationHints());
10335  }
10336  if (other.hasMinimizeCore()) {
10337  setMinimizeCore(other.getMinimizeCore());
10338  }
10339  if (other.hasFindMultipleCores()) {
10340  setFindMultipleCores(other.getFindMultipleCores());
10341  }
10342  if (other.hasCoverOptimization()) {
10343  setCoverOptimization(other.getCoverOptimization());
10344  }
10345  if (other.hasMaxSatAssumptionOrder()) {
10346  setMaxSatAssumptionOrder(other.getMaxSatAssumptionOrder());
10347  }
10348  if (other.hasMaxSatReverseAssumptionOrder()) {
10349  setMaxSatReverseAssumptionOrder(other.getMaxSatReverseAssumptionOrder());
10350  }
10351  if (other.hasMaxSatStratification()) {
10352  setMaxSatStratification(other.getMaxSatStratification());
10353  }
10354  if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
10355  setUsePrecedencesInDisjunctiveConstraint(other.getUsePrecedencesInDisjunctiveConstraint());
10356  }
10357  if (other.hasUseOverloadCheckerInCumulativeConstraint()) {
10358  setUseOverloadCheckerInCumulativeConstraint(other.getUseOverloadCheckerInCumulativeConstraint());
10359  }
10360  if (other.hasUseTimetableEdgeFindingInCumulativeConstraint()) {
10361  setUseTimetableEdgeFindingInCumulativeConstraint(other.getUseTimetableEdgeFindingInCumulativeConstraint());
10362  }
10363  if (other.hasUseDisjunctiveConstraintInCumulativeConstraint()) {
10364  setUseDisjunctiveConstraintInCumulativeConstraint(other.getUseDisjunctiveConstraintInCumulativeConstraint());
10365  }
10366  if (other.hasLinearizationLevel()) {
10367  setLinearizationLevel(other.getLinearizationLevel());
10368  }
10369  if (other.hasBooleanEncodingLevel()) {
10370  setBooleanEncodingLevel(other.getBooleanEncodingLevel());
10371  }
10372  if (other.hasMaxNumCuts()) {
10373  setMaxNumCuts(other.getMaxNumCuts());
10374  }
10375  if (other.hasOnlyAddCutsAtLevelZero()) {
10376  setOnlyAddCutsAtLevelZero(other.getOnlyAddCutsAtLevelZero());
10377  }
10378  if (other.hasAddKnapsackCuts()) {
10379  setAddKnapsackCuts(other.getAddKnapsackCuts());
10380  }
10381  if (other.hasAddCgCuts()) {
10382  setAddCgCuts(other.getAddCgCuts());
10383  }
10384  if (other.hasAddMirCuts()) {
10385  setAddMirCuts(other.getAddMirCuts());
10386  }
10387  if (other.hasMaxAllDiffCutSize()) {
10388  setMaxAllDiffCutSize(other.getMaxAllDiffCutSize());
10389  }
10390  if (other.hasAddLinMaxCuts()) {
10391  setAddLinMaxCuts(other.getAddLinMaxCuts());
10392  }
10393  if (other.hasMaxIntegerRoundingScaling()) {
10394  setMaxIntegerRoundingScaling(other.getMaxIntegerRoundingScaling());
10395  }
10396  if (other.hasAddLpConstraintsLazily()) {
10397  setAddLpConstraintsLazily(other.getAddLpConstraintsLazily());
10398  }
10399  if (other.hasMinOrthogonalityForLpConstraints()) {
10400  setMinOrthogonalityForLpConstraints(other.getMinOrthogonalityForLpConstraints());
10401  }
10402  if (other.hasMaxCutRoundsAtLevelZero()) {
10403  setMaxCutRoundsAtLevelZero(other.getMaxCutRoundsAtLevelZero());
10404  }
10405  if (other.hasMaxConsecutiveInactiveCount()) {
10406  setMaxConsecutiveInactiveCount(other.getMaxConsecutiveInactiveCount());
10407  }
10408  if (other.hasCutMaxActiveCountValue()) {
10409  setCutMaxActiveCountValue(other.getCutMaxActiveCountValue());
10410  }
10411  if (other.hasCutActiveCountDecay()) {
10412  setCutActiveCountDecay(other.getCutActiveCountDecay());
10413  }
10414  if (other.hasCutCleanupTarget()) {
10415  setCutCleanupTarget(other.getCutCleanupTarget());
10416  }
10417  if (other.hasNewConstraintsBatchSize()) {
10418  setNewConstraintsBatchSize(other.getNewConstraintsBatchSize());
10419  }
10420  if (other.hasSearchBranching()) {
10421  setSearchBranching(other.getSearchBranching());
10422  }
10423  if (other.hasHintConflictLimit()) {
10424  setHintConflictLimit(other.getHintConflictLimit());
10425  }
10426  if (other.hasExploitIntegerLpSolution()) {
10427  setExploitIntegerLpSolution(other.getExploitIntegerLpSolution());
10428  }
10429  if (other.hasExploitAllLpSolution()) {
10430  setExploitAllLpSolution(other.getExploitAllLpSolution());
10431  }
10432  if (other.hasExploitBestSolution()) {
10433  setExploitBestSolution(other.getExploitBestSolution());
10434  }
10435  if (other.hasExploitRelaxationSolution()) {
10436  setExploitRelaxationSolution(other.getExploitRelaxationSolution());
10437  }
10438  if (other.hasExploitObjective()) {
10439  setExploitObjective(other.getExploitObjective());
10440  }
10441  if (other.hasProbingPeriodAtRoot()) {
10442  setProbingPeriodAtRoot(other.getProbingPeriodAtRoot());
10443  }
10444  if (other.hasPseudoCostReliabilityThreshold()) {
10445  setPseudoCostReliabilityThreshold(other.getPseudoCostReliabilityThreshold());
10446  }
10447  if (other.hasOptimizeWithCore()) {
10448  setOptimizeWithCore(other.getOptimizeWithCore());
10449  }
10450  if (other.hasBinarySearchNumConflicts()) {
10451  setBinarySearchNumConflicts(other.getBinarySearchNumConflicts());
10452  }
10453  if (other.hasOptimizeWithMaxHs()) {
10454  setOptimizeWithMaxHs(other.getOptimizeWithMaxHs());
10455  }
10456  if (other.hasEnumerateAllSolutions()) {
10457  setEnumerateAllSolutions(other.getEnumerateAllSolutions());
10458  }
10459  if (other.hasFillTightenedDomainsInResponse()) {
10460  setFillTightenedDomainsInResponse(other.getFillTightenedDomainsInResponse());
10461  }
10462  if (other.hasInstantiateAllVariables()) {
10463  setInstantiateAllVariables(other.getInstantiateAllVariables());
10464  }
10465  if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
10466  setAutoDetectGreaterThanAtLeastOneOf(other.getAutoDetectGreaterThanAtLeastOneOf());
10467  }
10468  if (other.hasStopAfterFirstSolution()) {
10469  setStopAfterFirstSolution(other.getStopAfterFirstSolution());
10470  }
10471  if (other.hasStopAfterPresolve()) {
10472  setStopAfterPresolve(other.getStopAfterPresolve());
10473  }
10474  if (other.hasNumSearchWorkers()) {
10475  setNumSearchWorkers(other.getNumSearchWorkers());
10476  }
10477  if (other.hasInterleaveSearch()) {
10478  setInterleaveSearch(other.getInterleaveSearch());
10479  }
10480  if (other.hasInterleaveBatchSize()) {
10481  setInterleaveBatchSize(other.getInterleaveBatchSize());
10482  }
10483  if (other.hasReduceMemoryUsageInInterleaveMode()) {
10484  setReduceMemoryUsageInInterleaveMode(other.getReduceMemoryUsageInInterleaveMode());
10485  }
10486  if (other.hasShareObjectiveBounds()) {
10487  setShareObjectiveBounds(other.getShareObjectiveBounds());
10488  }
10489  if (other.hasShareLevelZeroBounds()) {
10490  setShareLevelZeroBounds(other.getShareLevelZeroBounds());
10491  }
10492  if (other.hasUseLnsOnly()) {
10493  setUseLnsOnly(other.getUseLnsOnly());
10494  }
10495  if (other.hasLnsFocusOnDecisionVariables()) {
10496  setLnsFocusOnDecisionVariables(other.getLnsFocusOnDecisionVariables());
10497  }
10498  if (other.hasUseRinsLns()) {
10499  setUseRinsLns(other.getUseRinsLns());
10500  }
10501  if (other.hasUseFeasibilityPump()) {
10502  setUseFeasibilityPump(other.getUseFeasibilityPump());
10503  }
10504  if (other.hasUseRelaxationLns()) {
10505  setUseRelaxationLns(other.getUseRelaxationLns());
10506  }
10507  if (other.hasDiversifyLnsParams()) {
10508  setDiversifyLnsParams(other.getDiversifyLnsParams());
10509  }
10510  if (other.hasRandomizeSearch()) {
10511  setRandomizeSearch(other.getRandomizeSearch());
10512  }
10513  if (other.hasSearchRandomizationTolerance()) {
10514  setSearchRandomizationTolerance(other.getSearchRandomizationTolerance());
10515  }
10516  if (other.hasUseOptionalVariables()) {
10517  setUseOptionalVariables(other.getUseOptionalVariables());
10518  }
10519  if (other.hasUseExactLpReason()) {
10520  setUseExactLpReason(other.getUseExactLpReason());
10521  }
10522  if (other.hasUseBranchingInLp()) {
10523  setUseBranchingInLp(other.getUseBranchingInLp());
10524  }
10525  if (other.hasUseCombinedNoOverlap()) {
10526  setUseCombinedNoOverlap(other.getUseCombinedNoOverlap());
10527  }
10528  if (other.hasCatchSigintSignal()) {
10529  setCatchSigintSignal(other.getCatchSigintSignal());
10530  }
10531  if (other.hasUseImpliedBounds()) {
10532  setUseImpliedBounds(other.getUseImpliedBounds());
10533  }
10534  if (other.hasMipMaxBound()) {
10535  setMipMaxBound(other.getMipMaxBound());
10536  }
10537  if (other.hasMipVarScaling()) {
10538  setMipVarScaling(other.getMipVarScaling());
10539  }
10540  if (other.hasMipWantedPrecision()) {
10541  setMipWantedPrecision(other.getMipWantedPrecision());
10542  }
10543  if (other.hasMipMaxActivityExponent()) {
10544  setMipMaxActivityExponent(other.getMipMaxActivityExponent());
10545  }
10546  if (other.hasMipCheckPrecision()) {
10547  setMipCheckPrecision(other.getMipCheckPrecision());
10548  }
10549  this.mergeUnknownFields(other.unknownFields);
10550  onChanged();
10551  return this;
10552  }
10553 
10554  @java.lang.Override
10555  public final boolean isInitialized() {
10556  return true;
10557  }
10558 
10559  @java.lang.Override
10561  com.google.protobuf.CodedInputStream input,
10562  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10563  throws java.io.IOException {
10564  com.google.ortools.sat.SatParameters parsedMessage = null;
10565  try {
10566  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
10567  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10568  parsedMessage = (com.google.ortools.sat.SatParameters) e.getUnfinishedMessage();
10569  throw e.unwrapIOException();
10570  } finally {
10571  if (parsedMessage != null) {
10572  mergeFrom(parsedMessage);
10573  }
10574  }
10575  return this;
10576  }
10577  private int bitField0_;
10578  private int bitField1_;
10579  private int bitField2_;
10580  private int bitField3_;
10581  private int bitField4_;
10582 
10583  private int preferredVariableOrder_ = 0;
10588  @java.lang.Override public boolean hasPreferredVariableOrder() {
10589  return ((bitField0_ & 0x00000001) != 0);
10590  }
10595  @java.lang.Override
10597  @SuppressWarnings("deprecation")
10599  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
10600  }
10607  if (value == null) {
10608  throw new NullPointerException();
10609  }
10610  bitField0_ |= 0x00000001;
10611  preferredVariableOrder_ = value.getNumber();
10612  onChanged();
10613  return this;
10614  }
10620  bitField0_ = (bitField0_ & ~0x00000001);
10621  preferredVariableOrder_ = 0;
10622  onChanged();
10623  return this;
10624  }
10625 
10626  private int initialPolarity_ = 1;
10631  @java.lang.Override public boolean hasInitialPolarity() {
10632  return ((bitField0_ & 0x00000002) != 0);
10633  }
10638  @java.lang.Override
10640  @SuppressWarnings("deprecation")
10642  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
10643  }
10650  if (value == null) {
10651  throw new NullPointerException();
10652  }
10653  bitField0_ |= 0x00000002;
10654  initialPolarity_ = value.getNumber();
10655  onChanged();
10656  return this;
10657  }
10663  bitField0_ = (bitField0_ & ~0x00000002);
10664  initialPolarity_ = 1;
10665  onChanged();
10666  return this;
10667  }
10668 
10669  private boolean usePhaseSaving_ = true;
10684  @java.lang.Override
10685  public boolean hasUsePhaseSaving() {
10686  return ((bitField0_ & 0x00000004) != 0);
10687  }
10702  @java.lang.Override
10703  public boolean getUsePhaseSaving() {
10704  return usePhaseSaving_;
10705  }
10721  public Builder setUsePhaseSaving(boolean value) {
10722  bitField0_ |= 0x00000004;
10723  usePhaseSaving_ = value;
10724  onChanged();
10725  return this;
10726  }
10742  bitField0_ = (bitField0_ & ~0x00000004);
10743  usePhaseSaving_ = true;
10744  onChanged();
10745  return this;
10746  }
10747 
10748  private double randomPolarityRatio_ ;
10761  @java.lang.Override
10762  public boolean hasRandomPolarityRatio() {
10763  return ((bitField0_ & 0x00000008) != 0);
10764  }
10777  @java.lang.Override
10778  public double getRandomPolarityRatio() {
10779  return randomPolarityRatio_;
10780  }
10794  public Builder setRandomPolarityRatio(double value) {
10795  bitField0_ |= 0x00000008;
10796  randomPolarityRatio_ = value;
10797  onChanged();
10798  return this;
10799  }
10813  bitField0_ = (bitField0_ & ~0x00000008);
10814  randomPolarityRatio_ = 0D;
10815  onChanged();
10816  return this;
10817  }
10818 
10819  private double randomBranchesRatio_ ;
10830  @java.lang.Override
10831  public boolean hasRandomBranchesRatio() {
10832  return ((bitField0_ & 0x00000010) != 0);
10833  }
10844  @java.lang.Override
10845  public double getRandomBranchesRatio() {
10846  return randomBranchesRatio_;
10847  }
10859  public Builder setRandomBranchesRatio(double value) {
10860  bitField0_ |= 0x00000010;
10861  randomBranchesRatio_ = value;
10862  onChanged();
10863  return this;
10864  }
10876  bitField0_ = (bitField0_ & ~0x00000010);
10877  randomBranchesRatio_ = 0D;
10878  onChanged();
10879  return this;
10880  }
10881 
10882  private boolean useErwaHeuristic_ ;
10893  @java.lang.Override
10894  public boolean hasUseErwaHeuristic() {
10895  return ((bitField0_ & 0x00000020) != 0);
10896  }
10907  @java.lang.Override
10908  public boolean getUseErwaHeuristic() {
10909  return useErwaHeuristic_;
10910  }
10922  public Builder setUseErwaHeuristic(boolean value) {
10923  bitField0_ |= 0x00000020;
10924  useErwaHeuristic_ = value;
10925  onChanged();
10926  return this;
10927  }
10939  bitField0_ = (bitField0_ & ~0x00000020);
10940  useErwaHeuristic_ = false;
10941  onChanged();
10942  return this;
10943  }
10944 
10945  private double initialVariablesActivity_ ;
10959  @java.lang.Override
10960  public boolean hasInitialVariablesActivity() {
10961  return ((bitField0_ & 0x00000040) != 0);
10962  }
10976  @java.lang.Override
10978  return initialVariablesActivity_;
10979  }
10994  public Builder setInitialVariablesActivity(double value) {
10995  bitField0_ |= 0x00000040;
10996  initialVariablesActivity_ = value;
10997  onChanged();
10998  return this;
10999  }
11014  bitField0_ = (bitField0_ & ~0x00000040);
11015  initialVariablesActivity_ = 0D;
11016  onChanged();
11017  return this;
11018  }
11019 
11020  private boolean alsoBumpVariablesInConflictReasons_ ;
11032  @java.lang.Override
11034  return ((bitField0_ & 0x00000080) != 0);
11035  }
11047  @java.lang.Override
11049  return alsoBumpVariablesInConflictReasons_;
11050  }
11064  bitField0_ |= 0x00000080;
11065  alsoBumpVariablesInConflictReasons_ = value;
11066  onChanged();
11067  return this;
11068  }
11081  bitField0_ = (bitField0_ & ~0x00000080);
11082  alsoBumpVariablesInConflictReasons_ = false;
11083  onChanged();
11084  return this;
11085  }
11086 
11087  private int minimizationAlgorithm_ = 2;
11092  @java.lang.Override public boolean hasMinimizationAlgorithm() {
11093  return ((bitField0_ & 0x00000100) != 0);
11094  }
11099  @java.lang.Override
11101  @SuppressWarnings("deprecation")
11103  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
11104  }
11111  if (value == null) {
11112  throw new NullPointerException();
11113  }
11114  bitField0_ |= 0x00000100;
11115  minimizationAlgorithm_ = value.getNumber();
11116  onChanged();
11117  return this;
11118  }
11124  bitField0_ = (bitField0_ & ~0x00000100);
11125  minimizationAlgorithm_ = 2;
11126  onChanged();
11127  return this;
11128  }
11129 
11130  private int binaryMinimizationAlgorithm_ = 1;
11135  @java.lang.Override public boolean hasBinaryMinimizationAlgorithm() {
11136  return ((bitField0_ & 0x00000200) != 0);
11137  }
11142  @java.lang.Override
11144  @SuppressWarnings("deprecation")
11147  }
11154  if (value == null) {
11155  throw new NullPointerException();
11156  }
11157  bitField0_ |= 0x00000200;
11158  binaryMinimizationAlgorithm_ = value.getNumber();
11159  onChanged();
11160  return this;
11161  }
11167  bitField0_ = (bitField0_ & ~0x00000200);
11168  binaryMinimizationAlgorithm_ = 1;
11169  onChanged();
11170  return this;
11171  }
11172 
11173  private boolean subsumptionDuringConflictAnalysis_ = true;
11185  @java.lang.Override
11187  return ((bitField0_ & 0x00000400) != 0);
11188  }
11200  @java.lang.Override
11202  return subsumptionDuringConflictAnalysis_;
11203  }
11217  bitField0_ |= 0x00000400;
11218  subsumptionDuringConflictAnalysis_ = value;
11219  onChanged();
11220  return this;
11221  }
11234  bitField0_ = (bitField0_ & ~0x00000400);
11235  subsumptionDuringConflictAnalysis_ = true;
11236  onChanged();
11237  return this;
11238  }
11239 
11240  private int clauseCleanupPeriod_ = 10000;
11249  @java.lang.Override
11250  public boolean hasClauseCleanupPeriod() {
11251  return ((bitField0_ & 0x00000800) != 0);
11252  }
11261  @java.lang.Override
11262  public int getClauseCleanupPeriod() {
11263  return clauseCleanupPeriod_;
11264  }
11274  public Builder setClauseCleanupPeriod(int value) {
11275  bitField0_ |= 0x00000800;
11276  clauseCleanupPeriod_ = value;
11277  onChanged();
11278  return this;
11279  }
11289  bitField0_ = (bitField0_ & ~0x00000800);
11290  clauseCleanupPeriod_ = 10000;
11291  onChanged();
11292  return this;
11293  }
11294 
11295  private int clauseCleanupTarget_ = 10000;
11305  @java.lang.Override
11306  public boolean hasClauseCleanupTarget() {
11307  return ((bitField0_ & 0x00001000) != 0);
11308  }
11318  @java.lang.Override
11319  public int getClauseCleanupTarget() {
11320  return clauseCleanupTarget_;
11321  }
11332  public Builder setClauseCleanupTarget(int value) {
11333  bitField0_ |= 0x00001000;
11334  clauseCleanupTarget_ = value;
11335  onChanged();
11336  return this;
11337  }
11348  bitField0_ = (bitField0_ & ~0x00001000);
11349  clauseCleanupTarget_ = 10000;
11350  onChanged();
11351  return this;
11352  }
11353 
11354  private int clauseCleanupProtection_ = 0;
11359  @java.lang.Override public boolean hasClauseCleanupProtection() {
11360  return ((bitField0_ & 0x00002000) != 0);
11361  }
11366  @java.lang.Override
11368  @SuppressWarnings("deprecation")
11370  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
11371  }
11378  if (value == null) {
11379  throw new NullPointerException();
11380  }
11381  bitField0_ |= 0x00002000;
11382  clauseCleanupProtection_ = value.getNumber();
11383  onChanged();
11384  return this;
11385  }
11391  bitField0_ = (bitField0_ & ~0x00002000);
11392  clauseCleanupProtection_ = 0;
11393  onChanged();
11394  return this;
11395  }
11396 
11397  private int clauseCleanupLbdBound_ = 5;
11407  @java.lang.Override
11408  public boolean hasClauseCleanupLbdBound() {
11409  return ((bitField0_ & 0x00004000) != 0);
11410  }
11420  @java.lang.Override
11422  return clauseCleanupLbdBound_;
11423  }
11434  public Builder setClauseCleanupLbdBound(int value) {
11435  bitField0_ |= 0x00004000;
11436  clauseCleanupLbdBound_ = value;
11437  onChanged();
11438  return this;
11439  }
11450  bitField0_ = (bitField0_ & ~0x00004000);
11451  clauseCleanupLbdBound_ = 5;
11452  onChanged();
11453  return this;
11454  }
11455 
11456  private int clauseCleanupOrdering_ = 0;
11461  @java.lang.Override public boolean hasClauseCleanupOrdering() {
11462  return ((bitField0_ & 0x00008000) != 0);
11463  }
11468  @java.lang.Override
11470  @SuppressWarnings("deprecation")
11472  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
11473  }
11480  if (value == null) {
11481  throw new NullPointerException();
11482  }
11483  bitField0_ |= 0x00008000;
11484  clauseCleanupOrdering_ = value.getNumber();
11485  onChanged();
11486  return this;
11487  }
11493  bitField0_ = (bitField0_ & ~0x00008000);
11494  clauseCleanupOrdering_ = 0;
11495  onChanged();
11496  return this;
11497  }
11498 
11499  private int pbCleanupIncrement_ = 200;
11508  @java.lang.Override
11509  public boolean hasPbCleanupIncrement() {
11510  return ((bitField0_ & 0x00010000) != 0);
11511  }
11520  @java.lang.Override
11521  public int getPbCleanupIncrement() {
11522  return pbCleanupIncrement_;
11523  }
11533  public Builder setPbCleanupIncrement(int value) {
11534  bitField0_ |= 0x00010000;
11535  pbCleanupIncrement_ = value;
11536  onChanged();
11537  return this;
11538  }
11548  bitField0_ = (bitField0_ & ~0x00010000);
11549  pbCleanupIncrement_ = 200;
11550  onChanged();
11551  return this;
11552  }
11553 
11554  private double pbCleanupRatio_ = 0.5D;
11559  @java.lang.Override
11560  public boolean hasPbCleanupRatio() {
11561  return ((bitField0_ & 0x00020000) != 0);
11562  }
11567  @java.lang.Override
11568  public double getPbCleanupRatio() {
11569  return pbCleanupRatio_;
11570  }
11576  public Builder setPbCleanupRatio(double value) {
11577  bitField0_ |= 0x00020000;
11578  pbCleanupRatio_ = value;
11579  onChanged();
11580  return this;
11581  }
11587  bitField0_ = (bitField0_ & ~0x00020000);
11588  pbCleanupRatio_ = 0.5D;
11589  onChanged();
11590  return this;
11591  }
11592 
11593  private int minimizeWithPropagationRestartPeriod_ = 10;
11612  @java.lang.Override
11614  return ((bitField0_ & 0x00040000) != 0);
11615  }
11634  @java.lang.Override
11636  return minimizeWithPropagationRestartPeriod_;
11637  }
11658  bitField0_ |= 0x00040000;
11659  minimizeWithPropagationRestartPeriod_ = value;
11660  onChanged();
11661  return this;
11662  }
11682  bitField0_ = (bitField0_ & ~0x00040000);
11683  minimizeWithPropagationRestartPeriod_ = 10;
11684  onChanged();
11685  return this;
11686  }
11687 
11688  private int minimizeWithPropagationNumDecisions_ = 1000;
11693  @java.lang.Override
11695  return ((bitField0_ & 0x00080000) != 0);
11696  }
11701  @java.lang.Override
11703  return minimizeWithPropagationNumDecisions_;
11704  }
11711  bitField0_ |= 0x00080000;
11712  minimizeWithPropagationNumDecisions_ = value;
11713  onChanged();
11714  return this;
11715  }
11721  bitField0_ = (bitField0_ & ~0x00080000);
11722  minimizeWithPropagationNumDecisions_ = 1000;
11723  onChanged();
11724  return this;
11725  }
11726 
11727  private double variableActivityDecay_ = 0.8D;
11742  @java.lang.Override
11743  public boolean hasVariableActivityDecay() {
11744  return ((bitField0_ & 0x00100000) != 0);
11745  }
11760  @java.lang.Override
11761  public double getVariableActivityDecay() {
11762  return variableActivityDecay_;
11763  }
11779  public Builder setVariableActivityDecay(double value) {
11780  bitField0_ |= 0x00100000;
11781  variableActivityDecay_ = value;
11782  onChanged();
11783  return this;
11784  }
11800  bitField0_ = (bitField0_ & ~0x00100000);
11801  variableActivityDecay_ = 0.8D;
11802  onChanged();
11803  return this;
11804  }
11805 
11806  private double maxVariableActivityValue_ = 1e+100D;
11811  @java.lang.Override
11812  public boolean hasMaxVariableActivityValue() {
11813  return ((bitField0_ & 0x00200000) != 0);
11814  }
11819  @java.lang.Override
11821  return maxVariableActivityValue_;
11822  }
11828  public Builder setMaxVariableActivityValue(double value) {
11829  bitField0_ |= 0x00200000;
11830  maxVariableActivityValue_ = value;
11831  onChanged();
11832  return this;
11833  }
11839  bitField0_ = (bitField0_ & ~0x00200000);
11840  maxVariableActivityValue_ = 1e+100D;
11841  onChanged();
11842  return this;
11843  }
11844 
11845  private double glucoseMaxDecay_ = 0.95D;
11857  @java.lang.Override
11858  public boolean hasGlucoseMaxDecay() {
11859  return ((bitField0_ & 0x00400000) != 0);
11860  }
11872  @java.lang.Override
11873  public double getGlucoseMaxDecay() {
11874  return glucoseMaxDecay_;
11875  }
11888  public Builder setGlucoseMaxDecay(double value) {
11889  bitField0_ |= 0x00400000;
11890  glucoseMaxDecay_ = value;
11891  onChanged();
11892  return this;
11893  }
11906  bitField0_ = (bitField0_ & ~0x00400000);
11907  glucoseMaxDecay_ = 0.95D;
11908  onChanged();
11909  return this;
11910  }
11911 
11912  private double glucoseDecayIncrement_ = 0.01D;
11917  @java.lang.Override
11918  public boolean hasGlucoseDecayIncrement() {
11919  return ((bitField0_ & 0x00800000) != 0);
11920  }
11925  @java.lang.Override
11926  public double getGlucoseDecayIncrement() {
11927  return glucoseDecayIncrement_;
11928  }
11934  public Builder setGlucoseDecayIncrement(double value) {
11935  bitField0_ |= 0x00800000;
11936  glucoseDecayIncrement_ = value;
11937  onChanged();
11938  return this;
11939  }
11945  bitField0_ = (bitField0_ & ~0x00800000);
11946  glucoseDecayIncrement_ = 0.01D;
11947  onChanged();
11948  return this;
11949  }
11950 
11951  private int glucoseDecayIncrementPeriod_ = 5000;
11956  @java.lang.Override
11958  return ((bitField0_ & 0x01000000) != 0);
11959  }
11964  @java.lang.Override
11966  return glucoseDecayIncrementPeriod_;
11967  }
11974  bitField0_ |= 0x01000000;
11975  glucoseDecayIncrementPeriod_ = value;
11976  onChanged();
11977  return this;
11978  }
11984  bitField0_ = (bitField0_ & ~0x01000000);
11985  glucoseDecayIncrementPeriod_ = 5000;
11986  onChanged();
11987  return this;
11988  }
11989 
11990  private double clauseActivityDecay_ = 0.999D;
11999  @java.lang.Override
12000  public boolean hasClauseActivityDecay() {
12001  return ((bitField0_ & 0x02000000) != 0);
12002  }
12011  @java.lang.Override
12012  public double getClauseActivityDecay() {
12013  return clauseActivityDecay_;
12014  }
12024  public Builder setClauseActivityDecay(double value) {
12025  bitField0_ |= 0x02000000;
12026  clauseActivityDecay_ = value;
12027  onChanged();
12028  return this;
12029  }
12039  bitField0_ = (bitField0_ & ~0x02000000);
12040  clauseActivityDecay_ = 0.999D;
12041  onChanged();
12042  return this;
12043  }
12044 
12045  private double maxClauseActivityValue_ = 1e+20D;
12050  @java.lang.Override
12051  public boolean hasMaxClauseActivityValue() {
12052  return ((bitField0_ & 0x04000000) != 0);
12053  }
12058  @java.lang.Override
12059  public double getMaxClauseActivityValue() {
12060  return maxClauseActivityValue_;
12061  }
12067  public Builder setMaxClauseActivityValue(double value) {
12068  bitField0_ |= 0x04000000;
12069  maxClauseActivityValue_ = value;
12070  onChanged();
12071  return this;
12072  }
12078  bitField0_ = (bitField0_ & ~0x04000000);
12079  maxClauseActivityValue_ = 1e+20D;
12080  onChanged();
12081  return this;
12082  }
12083 
12084  private java.util.List<java.lang.Integer> restartAlgorithms_ =
12085  java.util.Collections.emptyList();
12086  private void ensureRestartAlgorithmsIsMutable() {
12087  if (!((bitField0_ & 0x08000000) != 0)) {
12088  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
12089  bitField0_ |= 0x08000000;
12090  }
12091  }
12108  return new com.google.protobuf.Internal.ListAdapter<
12109  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
12110  }
12127  return restartAlgorithms_.size();
12128  }
12146  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
12147  }
12166  int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
12167  if (value == null) {
12168  throw new NullPointerException();
12169  }
12170  ensureRestartAlgorithmsIsMutable();
12171  restartAlgorithms_.set(index, value.getNumber());
12172  onChanged();
12173  return this;
12174  }
12192  if (value == null) {
12193  throw new NullPointerException();
12194  }
12195  ensureRestartAlgorithmsIsMutable();
12196  restartAlgorithms_.add(value.getNumber());
12197  onChanged();
12198  return this;
12199  }
12217  java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
12218  ensureRestartAlgorithmsIsMutable();
12219  for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
12220  restartAlgorithms_.add(value.getNumber());
12221  }
12222  onChanged();
12223  return this;
12224  }
12241  restartAlgorithms_ = java.util.Collections.emptyList();
12242  bitField0_ = (bitField0_ & ~0x08000000);
12243  onChanged();
12244  return this;
12245  }
12246 
12247  private java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
12252  public boolean hasDefaultRestartAlgorithms() {
12253  return ((bitField0_ & 0x10000000) != 0);
12254  }
12259  public java.lang.String getDefaultRestartAlgorithms() {
12260  java.lang.Object ref = defaultRestartAlgorithms_;
12261  if (!(ref instanceof java.lang.String)) {
12262  com.google.protobuf.ByteString bs =
12263  (com.google.protobuf.ByteString) ref;
12264  java.lang.String s = bs.toStringUtf8();
12265  if (bs.isValidUtf8()) {
12266  defaultRestartAlgorithms_ = s;
12267  }
12268  return s;
12269  } else {
12270  return (java.lang.String) ref;
12271  }
12272  }
12277  public com.google.protobuf.ByteString
12279  java.lang.Object ref = defaultRestartAlgorithms_;
12280  if (ref instanceof String) {
12281  com.google.protobuf.ByteString b =
12282  com.google.protobuf.ByteString.copyFromUtf8(
12283  (java.lang.String) ref);
12284  defaultRestartAlgorithms_ = b;
12285  return b;
12286  } else {
12287  return (com.google.protobuf.ByteString) ref;
12288  }
12289  }
12296  java.lang.String value) {
12297  if (value == null) {
12298  throw new NullPointerException();
12299  }
12300  bitField0_ |= 0x10000000;
12301  defaultRestartAlgorithms_ = value;
12302  onChanged();
12303  return this;
12304  }
12310  bitField0_ = (bitField0_ & ~0x10000000);
12311  defaultRestartAlgorithms_ = getDefaultInstance().getDefaultRestartAlgorithms();
12312  onChanged();
12313  return this;
12314  }
12321  com.google.protobuf.ByteString value) {
12322  if (value == null) {
12323  throw new NullPointerException();
12324  }
12325  bitField0_ |= 0x10000000;
12326  defaultRestartAlgorithms_ = value;
12327  onChanged();
12328  return this;
12329  }
12330 
12331  private int restartPeriod_ = 50;
12341  @java.lang.Override
12342  public boolean hasRestartPeriod() {
12343  return ((bitField0_ & 0x20000000) != 0);
12344  }
12354  @java.lang.Override
12355  public int getRestartPeriod() {
12356  return restartPeriod_;
12357  }
12368  public Builder setRestartPeriod(int value) {
12369  bitField0_ |= 0x20000000;
12370  restartPeriod_ = value;
12371  onChanged();
12372  return this;
12373  }
12384  bitField0_ = (bitField0_ & ~0x20000000);
12385  restartPeriod_ = 50;
12386  onChanged();
12387  return this;
12388  }
12389 
12390  private int restartRunningWindowSize_ = 50;
12399  @java.lang.Override
12400  public boolean hasRestartRunningWindowSize() {
12401  return ((bitField0_ & 0x40000000) != 0);
12402  }
12411  @java.lang.Override
12413  return restartRunningWindowSize_;
12414  }
12425  bitField0_ |= 0x40000000;
12426  restartRunningWindowSize_ = value;
12427  onChanged();
12428  return this;
12429  }
12439  bitField0_ = (bitField0_ & ~0x40000000);
12440  restartRunningWindowSize_ = 50;
12441  onChanged();
12442  return this;
12443  }
12444 
12445  private double restartDlAverageRatio_ = 1D;
12455  @java.lang.Override
12456  public boolean hasRestartDlAverageRatio() {
12457  return ((bitField0_ & 0x80000000) != 0);
12458  }
12468  @java.lang.Override
12469  public double getRestartDlAverageRatio() {
12470  return restartDlAverageRatio_;
12471  }
12482  public Builder setRestartDlAverageRatio(double value) {
12483  bitField0_ |= 0x80000000;
12484  restartDlAverageRatio_ = value;
12485  onChanged();
12486  return this;
12487  }
12498  bitField0_ = (bitField0_ & ~0x80000000);
12499  restartDlAverageRatio_ = 1D;
12500  onChanged();
12501  return this;
12502  }
12503 
12504  private double restartLbdAverageRatio_ = 1D;
12509  @java.lang.Override
12510  public boolean hasRestartLbdAverageRatio() {
12511  return ((bitField1_ & 0x00000001) != 0);
12512  }
12517  @java.lang.Override
12518  public double getRestartLbdAverageRatio() {
12519  return restartLbdAverageRatio_;
12520  }
12526  public Builder setRestartLbdAverageRatio(double value) {
12527  bitField1_ |= 0x00000001;
12528  restartLbdAverageRatio_ = value;
12529  onChanged();
12530  return this;
12531  }
12537  bitField1_ = (bitField1_ & ~0x00000001);
12538  restartLbdAverageRatio_ = 1D;
12539  onChanged();
12540  return this;
12541  }
12542 
12543  private boolean useBlockingRestart_ ;
12554  @java.lang.Override
12555  public boolean hasUseBlockingRestart() {
12556  return ((bitField1_ & 0x00000002) != 0);
12557  }
12568  @java.lang.Override
12569  public boolean getUseBlockingRestart() {
12570  return useBlockingRestart_;
12571  }
12583  public Builder setUseBlockingRestart(boolean value) {
12584  bitField1_ |= 0x00000002;
12585  useBlockingRestart_ = value;
12586  onChanged();
12587  return this;
12588  }
12600  bitField1_ = (bitField1_ & ~0x00000002);
12601  useBlockingRestart_ = false;
12602  onChanged();
12603  return this;
12604  }
12605 
12606  private int blockingRestartWindowSize_ = 5000;
12611  @java.lang.Override
12612  public boolean hasBlockingRestartWindowSize() {
12613  return ((bitField1_ & 0x00000004) != 0);
12614  }
12619  @java.lang.Override
12621  return blockingRestartWindowSize_;
12622  }
12629  bitField1_ |= 0x00000004;
12630  blockingRestartWindowSize_ = value;
12631  onChanged();
12632  return this;
12633  }
12639  bitField1_ = (bitField1_ & ~0x00000004);
12640  blockingRestartWindowSize_ = 5000;
12641  onChanged();
12642  return this;
12643  }
12644 
12645  private double blockingRestartMultiplier_ = 1.4D;
12650  @java.lang.Override
12651  public boolean hasBlockingRestartMultiplier() {
12652  return ((bitField1_ & 0x00000008) != 0);
12653  }
12658  @java.lang.Override
12660  return blockingRestartMultiplier_;
12661  }
12667  public Builder setBlockingRestartMultiplier(double value) {
12668  bitField1_ |= 0x00000008;
12669  blockingRestartMultiplier_ = value;
12670  onChanged();
12671  return this;
12672  }
12678  bitField1_ = (bitField1_ & ~0x00000008);
12679  blockingRestartMultiplier_ = 1.4D;
12680  onChanged();
12681  return this;
12682  }
12683 
12684  private int numConflictsBeforeStrategyChanges_ ;
12695  @java.lang.Override
12697  return ((bitField1_ & 0x00000010) != 0);
12698  }
12709  @java.lang.Override
12711  return numConflictsBeforeStrategyChanges_;
12712  }
12725  bitField1_ |= 0x00000010;
12726  numConflictsBeforeStrategyChanges_ = value;
12727  onChanged();
12728  return this;
12729  }
12741  bitField1_ = (bitField1_ & ~0x00000010);
12742  numConflictsBeforeStrategyChanges_ = 0;
12743  onChanged();
12744  return this;
12745  }
12746 
12747  private double strategyChangeIncreaseRatio_ ;
12757  @java.lang.Override
12759  return ((bitField1_ & 0x00000020) != 0);
12760  }
12770  @java.lang.Override
12772  return strategyChangeIncreaseRatio_;
12773  }
12785  bitField1_ |= 0x00000020;
12786  strategyChangeIncreaseRatio_ = value;
12787  onChanged();
12788  return this;
12789  }
12800  bitField1_ = (bitField1_ & ~0x00000020);
12801  strategyChangeIncreaseRatio_ = 0D;
12802  onChanged();
12803  return this;
12804  }
12805 
12806  private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
12816  @java.lang.Override
12817  public boolean hasMaxTimeInSeconds() {
12818  return ((bitField1_ & 0x00000040) != 0);
12819  }
12829  @java.lang.Override
12830  public double getMaxTimeInSeconds() {
12831  return maxTimeInSeconds_;
12832  }
12843  public Builder setMaxTimeInSeconds(double value) {
12844  bitField1_ |= 0x00000040;
12845  maxTimeInSeconds_ = value;
12846  onChanged();
12847  return this;
12848  }
12859  bitField1_ = (bitField1_ & ~0x00000040);
12860  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
12861  onChanged();
12862  return this;
12863  }
12864 
12865  private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
12876  @java.lang.Override
12877  public boolean hasMaxDeterministicTime() {
12878  return ((bitField1_ & 0x00000080) != 0);
12879  }
12890  @java.lang.Override
12891  public double getMaxDeterministicTime() {
12892  return maxDeterministicTime_;
12893  }
12905  public Builder setMaxDeterministicTime(double value) {
12906  bitField1_ |= 0x00000080;
12907  maxDeterministicTime_ = value;
12908  onChanged();
12909  return this;
12910  }
12922  bitField1_ = (bitField1_ & ~0x00000080);
12923  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
12924  onChanged();
12925  return this;
12926  }
12927 
12928  private long maxNumberOfConflicts_ = 9223372036854775807L;
12942  @java.lang.Override
12943  public boolean hasMaxNumberOfConflicts() {
12944  return ((bitField1_ & 0x00000100) != 0);
12945  }
12959  @java.lang.Override
12960  public long getMaxNumberOfConflicts() {
12961  return maxNumberOfConflicts_;
12962  }
12977  public Builder setMaxNumberOfConflicts(long value) {
12978  bitField1_ |= 0x00000100;
12979  maxNumberOfConflicts_ = value;
12980  onChanged();
12981  return this;
12982  }
12997  bitField1_ = (bitField1_ & ~0x00000100);
12998  maxNumberOfConflicts_ = 9223372036854775807L;
12999  onChanged();
13000  return this;
13001  }
13002 
13003  private long maxMemoryInMb_ = 10000L;
13015  @java.lang.Override
13016  public boolean hasMaxMemoryInMb() {
13017  return ((bitField1_ & 0x00000200) != 0);
13018  }
13030  @java.lang.Override
13031  public long getMaxMemoryInMb() {
13032  return maxMemoryInMb_;
13033  }
13046  public Builder setMaxMemoryInMb(long value) {
13047  bitField1_ |= 0x00000200;
13048  maxMemoryInMb_ = value;
13049  onChanged();
13050  return this;
13051  }
13064  bitField1_ = (bitField1_ & ~0x00000200);
13065  maxMemoryInMb_ = 10000L;
13066  onChanged();
13067  return this;
13068  }
13069 
13070  private double absoluteGapLimit_ ;
13088  @java.lang.Override
13089  public boolean hasAbsoluteGapLimit() {
13090  return ((bitField1_ & 0x00000400) != 0);
13091  }
13109  @java.lang.Override
13110  public double getAbsoluteGapLimit() {
13111  return absoluteGapLimit_;
13112  }
13131  public Builder setAbsoluteGapLimit(double value) {
13132  bitField1_ |= 0x00000400;
13133  absoluteGapLimit_ = value;
13134  onChanged();
13135  return this;
13136  }
13155  bitField1_ = (bitField1_ & ~0x00000400);
13156  absoluteGapLimit_ = 0D;
13157  onChanged();
13158  return this;
13159  }
13160 
13161  private double relativeGapLimit_ ;
13166  @java.lang.Override
13167  public boolean hasRelativeGapLimit() {
13168  return ((bitField1_ & 0x00000800) != 0);
13169  }
13174  @java.lang.Override
13175  public double getRelativeGapLimit() {
13176  return relativeGapLimit_;
13177  }
13183  public Builder setRelativeGapLimit(double value) {
13184  bitField1_ |= 0x00000800;
13185  relativeGapLimit_ = value;
13186  onChanged();
13187  return this;
13188  }
13194  bitField1_ = (bitField1_ & ~0x00000800);
13195  relativeGapLimit_ = 0D;
13196  onChanged();
13197  return this;
13198  }
13199 
13200  private boolean treatBinaryClausesSeparately_ = true;
13211  @java.lang.Override
13213  return ((bitField1_ & 0x00001000) != 0);
13214  }
13225  @java.lang.Override
13227  return treatBinaryClausesSeparately_;
13228  }
13241  bitField1_ |= 0x00001000;
13242  treatBinaryClausesSeparately_ = value;
13243  onChanged();
13244  return this;
13245  }
13257  bitField1_ = (bitField1_ & ~0x00001000);
13258  treatBinaryClausesSeparately_ = true;
13259  onChanged();
13260  return this;
13261  }
13262 
13263  private int randomSeed_ = 1;
13277  @java.lang.Override
13278  public boolean hasRandomSeed() {
13279  return ((bitField1_ & 0x00002000) != 0);
13280  }
13294  @java.lang.Override
13295  public int getRandomSeed() {
13296  return randomSeed_;
13297  }
13312  public Builder setRandomSeed(int value) {
13313  bitField1_ |= 0x00002000;
13314  randomSeed_ = value;
13315  onChanged();
13316  return this;
13317  }
13332  bitField1_ = (bitField1_ & ~0x00002000);
13333  randomSeed_ = 1;
13334  onChanged();
13335  return this;
13336  }
13337 
13338  private boolean logSearchProgress_ ;
13347  @java.lang.Override
13348  public boolean hasLogSearchProgress() {
13349  return ((bitField1_ & 0x00004000) != 0);
13350  }
13359  @java.lang.Override
13360  public boolean getLogSearchProgress() {
13361  return logSearchProgress_;
13362  }
13372  public Builder setLogSearchProgress(boolean value) {
13373  bitField1_ |= 0x00004000;
13374  logSearchProgress_ = value;
13375  onChanged();
13376  return this;
13377  }
13387  bitField1_ = (bitField1_ & ~0x00004000);
13388  logSearchProgress_ = false;
13389  onChanged();
13390  return this;
13391  }
13392 
13393  private boolean usePbResolution_ ;
13405  @java.lang.Override
13406  public boolean hasUsePbResolution() {
13407  return ((bitField1_ & 0x00008000) != 0);
13408  }
13420  @java.lang.Override
13421  public boolean getUsePbResolution() {
13422  return usePbResolution_;
13423  }
13436  public Builder setUsePbResolution(boolean value) {
13437  bitField1_ |= 0x00008000;
13438  usePbResolution_ = value;
13439  onChanged();
13440  return this;
13441  }
13454  bitField1_ = (bitField1_ & ~0x00008000);
13455  usePbResolution_ = false;
13456  onChanged();
13457  return this;
13458  }
13459 
13460  private boolean minimizeReductionDuringPbResolution_ ;
13472  @java.lang.Override
13474  return ((bitField1_ & 0x00010000) != 0);
13475  }
13487  @java.lang.Override
13489  return minimizeReductionDuringPbResolution_;
13490  }
13504  bitField1_ |= 0x00010000;
13505  minimizeReductionDuringPbResolution_ = value;
13506  onChanged();
13507  return this;
13508  }
13521  bitField1_ = (bitField1_ & ~0x00010000);
13522  minimizeReductionDuringPbResolution_ = false;
13523  onChanged();
13524  return this;
13525  }
13526 
13527  private boolean countAssumptionLevelsInLbd_ = true;
13543  @java.lang.Override
13545  return ((bitField1_ & 0x00020000) != 0);
13546  }
13562  @java.lang.Override
13564  return countAssumptionLevelsInLbd_;
13565  }
13582  public Builder setCountAssumptionLevelsInLbd(boolean value) {
13583  bitField1_ |= 0x00020000;
13584  countAssumptionLevelsInLbd_ = value;
13585  onChanged();
13586  return this;
13587  }
13604  bitField1_ = (bitField1_ & ~0x00020000);
13605  countAssumptionLevelsInLbd_ = true;
13606  onChanged();
13607  return this;
13608  }
13609 
13610  private int presolveBveThreshold_ = 500;
13621  @java.lang.Override
13622  public boolean hasPresolveBveThreshold() {
13623  return ((bitField1_ & 0x00040000) != 0);
13624  }
13635  @java.lang.Override
13637  return presolveBveThreshold_;
13638  }
13650  public Builder setPresolveBveThreshold(int value) {
13651  bitField1_ |= 0x00040000;
13652  presolveBveThreshold_ = value;
13653  onChanged();
13654  return this;
13655  }
13667  bitField1_ = (bitField1_ & ~0x00040000);
13668  presolveBveThreshold_ = 500;
13669  onChanged();
13670  return this;
13671  }
13672 
13673  private int presolveBveClauseWeight_ = 3;
13683  @java.lang.Override
13684  public boolean hasPresolveBveClauseWeight() {
13685  return ((bitField1_ & 0x00080000) != 0);
13686  }
13696  @java.lang.Override
13698  return presolveBveClauseWeight_;
13699  }
13711  bitField1_ |= 0x00080000;
13712  presolveBveClauseWeight_ = value;
13713  onChanged();
13714  return this;
13715  }
13726  bitField1_ = (bitField1_ & ~0x00080000);
13727  presolveBveClauseWeight_ = 3;
13728  onChanged();
13729  return this;
13730  }
13731 
13732  private double presolveProbingDeterministicTimeLimit_ = 30D;
13742  @java.lang.Override
13744  return ((bitField1_ & 0x00100000) != 0);
13745  }
13755  @java.lang.Override
13757  return presolveProbingDeterministicTimeLimit_;
13758  }
13770  bitField1_ |= 0x00100000;
13771  presolveProbingDeterministicTimeLimit_ = value;
13772  onChanged();
13773  return this;
13774  }
13785  bitField1_ = (bitField1_ & ~0x00100000);
13786  presolveProbingDeterministicTimeLimit_ = 30D;
13787  onChanged();
13788  return this;
13789  }
13790 
13791  private boolean presolveBlockedClause_ = true;
13801  @java.lang.Override
13802  public boolean hasPresolveBlockedClause() {
13803  return ((bitField1_ & 0x00200000) != 0);
13804  }
13814  @java.lang.Override
13815  public boolean getPresolveBlockedClause() {
13816  return presolveBlockedClause_;
13817  }
13828  public Builder setPresolveBlockedClause(boolean value) {
13829  bitField1_ |= 0x00200000;
13830  presolveBlockedClause_ = value;
13831  onChanged();
13832  return this;
13833  }
13844  bitField1_ = (bitField1_ & ~0x00200000);
13845  presolveBlockedClause_ = true;
13846  onChanged();
13847  return this;
13848  }
13849 
13850  private boolean presolveUseBva_ = true;
13859  @java.lang.Override
13860  public boolean hasPresolveUseBva() {
13861  return ((bitField1_ & 0x00400000) != 0);
13862  }
13871  @java.lang.Override
13872  public boolean getPresolveUseBva() {
13873  return presolveUseBva_;
13874  }
13884  public Builder setPresolveUseBva(boolean value) {
13885  bitField1_ |= 0x00400000;
13886  presolveUseBva_ = value;
13887  onChanged();
13888  return this;
13889  }
13899  bitField1_ = (bitField1_ & ~0x00400000);
13900  presolveUseBva_ = true;
13901  onChanged();
13902  return this;
13903  }
13904 
13905  private int presolveBvaThreshold_ = 1;
13917  @java.lang.Override
13918  public boolean hasPresolveBvaThreshold() {
13919  return ((bitField1_ & 0x00800000) != 0);
13920  }
13932  @java.lang.Override
13934  return presolveBvaThreshold_;
13935  }
13948  public Builder setPresolveBvaThreshold(int value) {
13949  bitField1_ |= 0x00800000;
13950  presolveBvaThreshold_ = value;
13951  onChanged();
13952  return this;
13953  }
13966  bitField1_ = (bitField1_ & ~0x00800000);
13967  presolveBvaThreshold_ = 1;
13968  onChanged();
13969  return this;
13970  }
13971 
13972  private int maxPresolveIterations_ = 3;
13983  @java.lang.Override
13984  public boolean hasMaxPresolveIterations() {
13985  return ((bitField1_ & 0x01000000) != 0);
13986  }
13997  @java.lang.Override
13999  return maxPresolveIterations_;
14000  }
14012  public Builder setMaxPresolveIterations(int value) {
14013  bitField1_ |= 0x01000000;
14014  maxPresolveIterations_ = value;
14015  onChanged();
14016  return this;
14017  }
14029  bitField1_ = (bitField1_ & ~0x01000000);
14030  maxPresolveIterations_ = 3;
14031  onChanged();
14032  return this;
14033  }
14034 
14035  private boolean cpModelPresolve_ = true;
14044  @java.lang.Override
14045  public boolean hasCpModelPresolve() {
14046  return ((bitField1_ & 0x02000000) != 0);
14047  }
14056  @java.lang.Override
14057  public boolean getCpModelPresolve() {
14058  return cpModelPresolve_;
14059  }
14069  public Builder setCpModelPresolve(boolean value) {
14070  bitField1_ |= 0x02000000;
14071  cpModelPresolve_ = value;
14072  onChanged();
14073  return this;
14074  }
14084  bitField1_ = (bitField1_ & ~0x02000000);
14085  cpModelPresolve_ = true;
14086  onChanged();
14087  return this;
14088  }
14089 
14090  private boolean cpModelPostsolveWithFullSolver_ ;
14102  @java.lang.Override
14104  return ((bitField1_ & 0x04000000) != 0);
14105  }
14117  @java.lang.Override
14119  return cpModelPostsolveWithFullSolver_;
14120  }
14134  bitField1_ |= 0x04000000;
14135  cpModelPostsolveWithFullSolver_ = value;
14136  onChanged();
14137  return this;
14138  }
14151  bitField1_ = (bitField1_ & ~0x04000000);
14152  cpModelPostsolveWithFullSolver_ = false;
14153  onChanged();
14154  return this;
14155  }
14156 
14157  private int cpModelMaxNumPresolveOperations_ ;
14167  @java.lang.Override
14169  return ((bitField1_ & 0x08000000) != 0);
14170  }
14180  @java.lang.Override
14182  return cpModelMaxNumPresolveOperations_;
14183  }
14195  bitField1_ |= 0x08000000;
14196  cpModelMaxNumPresolveOperations_ = value;
14197  onChanged();
14198  return this;
14199  }
14210  bitField1_ = (bitField1_ & ~0x08000000);
14211  cpModelMaxNumPresolveOperations_ = 0;
14212  onChanged();
14213  return this;
14214  }
14215 
14216  private int cpModelProbingLevel_ = 2;
14225  @java.lang.Override
14226  public boolean hasCpModelProbingLevel() {
14227  return ((bitField1_ & 0x10000000) != 0);
14228  }
14237  @java.lang.Override
14238  public int getCpModelProbingLevel() {
14239  return cpModelProbingLevel_;
14240  }
14250  public Builder setCpModelProbingLevel(int value) {
14251  bitField1_ |= 0x10000000;
14252  cpModelProbingLevel_ = value;
14253  onChanged();
14254  return this;
14255  }
14265  bitField1_ = (bitField1_ & ~0x10000000);
14266  cpModelProbingLevel_ = 2;
14267  onChanged();
14268  return this;
14269  }
14270 
14271  private boolean cpModelUseSatPresolve_ = true;
14280  @java.lang.Override
14281  public boolean hasCpModelUseSatPresolve() {
14282  return ((bitField1_ & 0x20000000) != 0);
14283  }
14292  @java.lang.Override
14293  public boolean getCpModelUseSatPresolve() {
14294  return cpModelUseSatPresolve_;
14295  }
14305  public Builder setCpModelUseSatPresolve(boolean value) {
14306  bitField1_ |= 0x20000000;
14307  cpModelUseSatPresolve_ = value;
14308  onChanged();
14309  return this;
14310  }
14320  bitField1_ = (bitField1_ & ~0x20000000);
14321  cpModelUseSatPresolve_ = true;
14322  onChanged();
14323  return this;
14324  }
14325 
14326  private boolean useSatInprocessing_ ;
14331  @java.lang.Override
14332  public boolean hasUseSatInprocessing() {
14333  return ((bitField1_ & 0x40000000) != 0);
14334  }
14339  @java.lang.Override
14340  public boolean getUseSatInprocessing() {
14341  return useSatInprocessing_;
14342  }
14348  public Builder setUseSatInprocessing(boolean value) {
14349  bitField1_ |= 0x40000000;
14350  useSatInprocessing_ = value;
14351  onChanged();
14352  return this;
14353  }
14359  bitField1_ = (bitField1_ & ~0x40000000);
14360  useSatInprocessing_ = false;
14361  onChanged();
14362  return this;
14363  }
14364 
14365  private boolean expandElementConstraints_ = true;
14375  @java.lang.Override
14376  public boolean hasExpandElementConstraints() {
14377  return ((bitField1_ & 0x80000000) != 0);
14378  }
14388  @java.lang.Override
14389  public boolean getExpandElementConstraints() {
14390  return expandElementConstraints_;
14391  }
14402  public Builder setExpandElementConstraints(boolean value) {
14403  bitField1_ |= 0x80000000;
14404  expandElementConstraints_ = value;
14405  onChanged();
14406  return this;
14407  }
14418  bitField1_ = (bitField1_ & ~0x80000000);
14419  expandElementConstraints_ = true;
14420  onChanged();
14421  return this;
14422  }
14423 
14424  private boolean expandAutomatonConstraints_ = true;
14433  @java.lang.Override
14435  return ((bitField2_ & 0x00000001) != 0);
14436  }
14445  @java.lang.Override
14447  return expandAutomatonConstraints_;
14448  }
14458  public Builder setExpandAutomatonConstraints(boolean value) {
14459  bitField2_ |= 0x00000001;
14460  expandAutomatonConstraints_ = value;
14461  onChanged();
14462  return this;
14463  }
14473  bitField2_ = (bitField2_ & ~0x00000001);
14474  expandAutomatonConstraints_ = true;
14475  onChanged();
14476  return this;
14477  }
14478 
14479  private boolean expandTableConstraints_ = true;
14489  @java.lang.Override
14490  public boolean hasExpandTableConstraints() {
14491  return ((bitField2_ & 0x00000002) != 0);
14492  }
14502  @java.lang.Override
14503  public boolean getExpandTableConstraints() {
14504  return expandTableConstraints_;
14505  }
14516  public Builder setExpandTableConstraints(boolean value) {
14517  bitField2_ |= 0x00000002;
14518  expandTableConstraints_ = value;
14519  onChanged();
14520  return this;
14521  }
14532  bitField2_ = (bitField2_ & ~0x00000002);
14533  expandTableConstraints_ = true;
14534  onChanged();
14535  return this;
14536  }
14537 
14538  private double mergeNoOverlapWorkLimit_ = 1000000000000D;
14551  @java.lang.Override
14552  public boolean hasMergeNoOverlapWorkLimit() {
14553  return ((bitField2_ & 0x00000004) != 0);
14554  }
14567  @java.lang.Override
14568  public double getMergeNoOverlapWorkLimit() {
14569  return mergeNoOverlapWorkLimit_;
14570  }
14584  public Builder setMergeNoOverlapWorkLimit(double value) {
14585  bitField2_ |= 0x00000004;
14586  mergeNoOverlapWorkLimit_ = value;
14587  onChanged();
14588  return this;
14589  }
14603  bitField2_ = (bitField2_ & ~0x00000004);
14604  mergeNoOverlapWorkLimit_ = 1000000000000D;
14605  onChanged();
14606  return this;
14607  }
14608 
14609  private double mergeAtMostOneWorkLimit_ = 100000000D;
14614  @java.lang.Override
14615  public boolean hasMergeAtMostOneWorkLimit() {
14616  return ((bitField2_ & 0x00000008) != 0);
14617  }
14622  @java.lang.Override
14623  public double getMergeAtMostOneWorkLimit() {
14624  return mergeAtMostOneWorkLimit_;
14625  }
14631  public Builder setMergeAtMostOneWorkLimit(double value) {
14632  bitField2_ |= 0x00000008;
14633  mergeAtMostOneWorkLimit_ = value;
14634  onChanged();
14635  return this;
14636  }
14642  bitField2_ = (bitField2_ & ~0x00000008);
14643  mergeAtMostOneWorkLimit_ = 100000000D;
14644  onChanged();
14645  return this;
14646  }
14647 
14648  private int presolveSubstitutionLevel_ = 1;
14660  @java.lang.Override
14661  public boolean hasPresolveSubstitutionLevel() {
14662  return ((bitField2_ & 0x00000010) != 0);
14663  }
14675  @java.lang.Override
14677  return presolveSubstitutionLevel_;
14678  }
14692  bitField2_ |= 0x00000010;
14693  presolveSubstitutionLevel_ = value;
14694  onChanged();
14695  return this;
14696  }
14709  bitField2_ = (bitField2_ & ~0x00000010);
14710  presolveSubstitutionLevel_ = 1;
14711  onChanged();
14712  return this;
14713  }
14714 
14715  private boolean useOptimizationHints_ = true;
14727  @java.lang.Override
14728  public boolean hasUseOptimizationHints() {
14729  return ((bitField2_ & 0x00000020) != 0);
14730  }
14742  @java.lang.Override
14743  public boolean getUseOptimizationHints() {
14744  return useOptimizationHints_;
14745  }
14758  public Builder setUseOptimizationHints(boolean value) {
14759  bitField2_ |= 0x00000020;
14760  useOptimizationHints_ = value;
14761  onChanged();
14762  return this;
14763  }
14776  bitField2_ = (bitField2_ & ~0x00000020);
14777  useOptimizationHints_ = true;
14778  onChanged();
14779  return this;
14780  }
14781 
14782  private boolean minimizeCore_ = true;
14791  @java.lang.Override
14792  public boolean hasMinimizeCore() {
14793  return ((bitField2_ & 0x00000040) != 0);
14794  }
14803  @java.lang.Override
14804  public boolean getMinimizeCore() {
14805  return minimizeCore_;
14806  }
14816  public Builder setMinimizeCore(boolean value) {
14817  bitField2_ |= 0x00000040;
14818  minimizeCore_ = value;
14819  onChanged();
14820  return this;
14821  }
14831  bitField2_ = (bitField2_ & ~0x00000040);
14832  minimizeCore_ = true;
14833  onChanged();
14834  return this;
14835  }
14836 
14837  private boolean findMultipleCores_ = true;
14847  @java.lang.Override
14848  public boolean hasFindMultipleCores() {
14849  return ((bitField2_ & 0x00000080) != 0);
14850  }
14860  @java.lang.Override
14861  public boolean getFindMultipleCores() {
14862  return findMultipleCores_;
14863  }
14874  public Builder setFindMultipleCores(boolean value) {
14875  bitField2_ |= 0x00000080;
14876  findMultipleCores_ = value;
14877  onChanged();
14878  return this;
14879  }
14890  bitField2_ = (bitField2_ & ~0x00000080);
14891  findMultipleCores_ = true;
14892  onChanged();
14893  return this;
14894  }
14895 
14896  private boolean coverOptimization_ = true;
14906  @java.lang.Override
14907  public boolean hasCoverOptimization() {
14908  return ((bitField2_ & 0x00000100) != 0);
14909  }
14919  @java.lang.Override
14920  public boolean getCoverOptimization() {
14921  return coverOptimization_;
14922  }
14933  public Builder setCoverOptimization(boolean value) {
14934  bitField2_ |= 0x00000100;
14935  coverOptimization_ = value;
14936  onChanged();
14937  return this;
14938  }
14949  bitField2_ = (bitField2_ & ~0x00000100);
14950  coverOptimization_ = true;
14951  onChanged();
14952  return this;
14953  }
14954 
14955  private int maxSatAssumptionOrder_ = 0;
14960  @java.lang.Override public boolean hasMaxSatAssumptionOrder() {
14961  return ((bitField2_ & 0x00000200) != 0);
14962  }
14967  @java.lang.Override
14969  @SuppressWarnings("deprecation")
14972  }
14979  if (value == null) {
14980  throw new NullPointerException();
14981  }
14982  bitField2_ |= 0x00000200;
14983  maxSatAssumptionOrder_ = value.getNumber();
14984  onChanged();
14985  return this;
14986  }
14992  bitField2_ = (bitField2_ & ~0x00000200);
14993  maxSatAssumptionOrder_ = 0;
14994  onChanged();
14995  return this;
14996  }
14997 
14998  private boolean maxSatReverseAssumptionOrder_ ;
15008  @java.lang.Override
15010  return ((bitField2_ & 0x00000400) != 0);
15011  }
15021  @java.lang.Override
15023  return maxSatReverseAssumptionOrder_;
15024  }
15036  bitField2_ |= 0x00000400;
15037  maxSatReverseAssumptionOrder_ = value;
15038  onChanged();
15039  return this;
15040  }
15051  bitField2_ = (bitField2_ & ~0x00000400);
15052  maxSatReverseAssumptionOrder_ = false;
15053  onChanged();
15054  return this;
15055  }
15056 
15057  private int maxSatStratification_ = 1;
15062  @java.lang.Override public boolean hasMaxSatStratification() {
15063  return ((bitField2_ & 0x00000800) != 0);
15064  }
15069  @java.lang.Override
15071  @SuppressWarnings("deprecation")
15074  }
15081  if (value == null) {
15082  throw new NullPointerException();
15083  }
15084  bitField2_ |= 0x00000800;
15085  maxSatStratification_ = value.getNumber();
15086  onChanged();
15087  return this;
15088  }
15094  bitField2_ = (bitField2_ & ~0x00000800);
15095  maxSatStratification_ = 1;
15096  onChanged();
15097  return this;
15098  }
15099 
15100  private boolean usePrecedencesInDisjunctiveConstraint_ = true;
15116  @java.lang.Override
15118  return ((bitField2_ & 0x00001000) != 0);
15119  }
15135  @java.lang.Override
15137  return usePrecedencesInDisjunctiveConstraint_;
15138  }
15156  bitField2_ |= 0x00001000;
15157  usePrecedencesInDisjunctiveConstraint_ = value;
15158  onChanged();
15159  return this;
15160  }
15177  bitField2_ = (bitField2_ & ~0x00001000);
15178  usePrecedencesInDisjunctiveConstraint_ = true;
15179  onChanged();
15180  return this;
15181  }
15182 
15183  private boolean useOverloadCheckerInCumulativeConstraint_ ;
15197  @java.lang.Override
15199  return ((bitField2_ & 0x00002000) != 0);
15200  }
15214  @java.lang.Override
15216  return useOverloadCheckerInCumulativeConstraint_;
15217  }
15233  bitField2_ |= 0x00002000;
15234  useOverloadCheckerInCumulativeConstraint_ = value;
15235  onChanged();
15236  return this;
15237  }
15252  bitField2_ = (bitField2_ & ~0x00002000);
15253  useOverloadCheckerInCumulativeConstraint_ = false;
15254  onChanged();
15255  return this;
15256  }
15257 
15258  private boolean useTimetableEdgeFindingInCumulativeConstraint_ ;
15272  @java.lang.Override
15274  return ((bitField2_ & 0x00004000) != 0);
15275  }
15289  @java.lang.Override
15291  return useTimetableEdgeFindingInCumulativeConstraint_;
15292  }
15308  bitField2_ |= 0x00004000;
15309  useTimetableEdgeFindingInCumulativeConstraint_ = value;
15310  onChanged();
15311  return this;
15312  }
15327  bitField2_ = (bitField2_ & ~0x00004000);
15328  useTimetableEdgeFindingInCumulativeConstraint_ = false;
15329  onChanged();
15330  return this;
15331  }
15332 
15333  private boolean useDisjunctiveConstraintInCumulativeConstraint_ = true;
15349  @java.lang.Override
15351  return ((bitField2_ & 0x00008000) != 0);
15352  }
15368  @java.lang.Override
15370  return useDisjunctiveConstraintInCumulativeConstraint_;
15371  }
15389  bitField2_ |= 0x00008000;
15390  useDisjunctiveConstraintInCumulativeConstraint_ = value;
15391  onChanged();
15392  return this;
15393  }
15410  bitField2_ = (bitField2_ & ~0x00008000);
15411  useDisjunctiveConstraintInCumulativeConstraint_ = true;
15412  onChanged();
15413  return this;
15414  }
15415 
15416  private int linearizationLevel_ = 1;
15428  @java.lang.Override
15429  public boolean hasLinearizationLevel() {
15430  return ((bitField2_ & 0x00010000) != 0);
15431  }
15443  @java.lang.Override
15444  public int getLinearizationLevel() {
15445  return linearizationLevel_;
15446  }
15459  public Builder setLinearizationLevel(int value) {
15460  bitField2_ |= 0x00010000;
15461  linearizationLevel_ = value;
15462  onChanged();
15463  return this;
15464  }
15477  bitField2_ = (bitField2_ & ~0x00010000);
15478  linearizationLevel_ = 1;
15479  onChanged();
15480  return this;
15481  }
15482 
15483  private int booleanEncodingLevel_ = 1;
15493  @java.lang.Override
15494  public boolean hasBooleanEncodingLevel() {
15495  return ((bitField2_ & 0x00020000) != 0);
15496  }
15506  @java.lang.Override
15508  return booleanEncodingLevel_;
15509  }
15520  public Builder setBooleanEncodingLevel(int value) {
15521  bitField2_ |= 0x00020000;
15522  booleanEncodingLevel_ = value;
15523  onChanged();
15524  return this;
15525  }
15536  bitField2_ = (bitField2_ & ~0x00020000);
15537  booleanEncodingLevel_ = 1;
15538  onChanged();
15539  return this;
15540  }
15541 
15542  private int maxNumCuts_ = 10000;
15554  @java.lang.Override
15555  public boolean hasMaxNumCuts() {
15556  return ((bitField2_ & 0x00040000) != 0);
15557  }
15569  @java.lang.Override
15570  public int getMaxNumCuts() {
15571  return maxNumCuts_;
15572  }
15585  public Builder setMaxNumCuts(int value) {
15586  bitField2_ |= 0x00040000;
15587  maxNumCuts_ = value;
15588  onChanged();
15589  return this;
15590  }
15603  bitField2_ = (bitField2_ & ~0x00040000);
15604  maxNumCuts_ = 10000;
15605  onChanged();
15606  return this;
15607  }
15608 
15609  private boolean onlyAddCutsAtLevelZero_ ;
15619  @java.lang.Override
15620  public boolean hasOnlyAddCutsAtLevelZero() {
15621  return ((bitField2_ & 0x00080000) != 0);
15622  }
15632  @java.lang.Override
15633  public boolean getOnlyAddCutsAtLevelZero() {
15634  return onlyAddCutsAtLevelZero_;
15635  }
15646  public Builder setOnlyAddCutsAtLevelZero(boolean value) {
15647  bitField2_ |= 0x00080000;
15648  onlyAddCutsAtLevelZero_ = value;
15649  onChanged();
15650  return this;
15651  }
15662  bitField2_ = (bitField2_ & ~0x00080000);
15663  onlyAddCutsAtLevelZero_ = false;
15664  onChanged();
15665  return this;
15666  }
15667 
15668  private boolean addKnapsackCuts_ ;
15679  @java.lang.Override
15680  public boolean hasAddKnapsackCuts() {
15681  return ((bitField2_ & 0x00100000) != 0);
15682  }
15693  @java.lang.Override
15694  public boolean getAddKnapsackCuts() {
15695  return addKnapsackCuts_;
15696  }
15708  public Builder setAddKnapsackCuts(boolean value) {
15709  bitField2_ |= 0x00100000;
15710  addKnapsackCuts_ = value;
15711  onChanged();
15712  return this;
15713  }
15725  bitField2_ = (bitField2_ & ~0x00100000);
15726  addKnapsackCuts_ = false;
15727  onChanged();
15728  return this;
15729  }
15730 
15731  private boolean addCgCuts_ = true;
15741  @java.lang.Override
15742  public boolean hasAddCgCuts() {
15743  return ((bitField2_ & 0x00200000) != 0);
15744  }
15754  @java.lang.Override
15755  public boolean getAddCgCuts() {
15756  return addCgCuts_;
15757  }
15768  public Builder setAddCgCuts(boolean value) {
15769  bitField2_ |= 0x00200000;
15770  addCgCuts_ = value;
15771  onChanged();
15772  return this;
15773  }
15784  bitField2_ = (bitField2_ & ~0x00200000);
15785  addCgCuts_ = true;
15786  onChanged();
15787  return this;
15788  }
15789 
15790  private boolean addMirCuts_ = true;
15800  @java.lang.Override
15801  public boolean hasAddMirCuts() {
15802  return ((bitField2_ & 0x00400000) != 0);
15803  }
15813  @java.lang.Override
15814  public boolean getAddMirCuts() {
15815  return addMirCuts_;
15816  }
15827  public Builder setAddMirCuts(boolean value) {
15828  bitField2_ |= 0x00400000;
15829  addMirCuts_ = value;
15830  onChanged();
15831  return this;
15832  }
15843  bitField2_ = (bitField2_ & ~0x00400000);
15844  addMirCuts_ = true;
15845  onChanged();
15846  return this;
15847  }
15848 
15849  private int maxAllDiffCutSize_ = 7;
15860  @java.lang.Override
15861  public boolean hasMaxAllDiffCutSize() {
15862  return ((bitField2_ & 0x00800000) != 0);
15863  }
15874  @java.lang.Override
15875  public int getMaxAllDiffCutSize() {
15876  return maxAllDiffCutSize_;
15877  }
15889  public Builder setMaxAllDiffCutSize(int value) {
15890  bitField2_ |= 0x00800000;
15891  maxAllDiffCutSize_ = value;
15892  onChanged();
15893  return this;
15894  }
15906  bitField2_ = (bitField2_ & ~0x00800000);
15907  maxAllDiffCutSize_ = 7;
15908  onChanged();
15909  return this;
15910  }
15911 
15912  private boolean addLinMaxCuts_ = true;
15923  @java.lang.Override
15924  public boolean hasAddLinMaxCuts() {
15925  return ((bitField2_ & 0x01000000) != 0);
15926  }
15937  @java.lang.Override
15938  public boolean getAddLinMaxCuts() {
15939  return addLinMaxCuts_;
15940  }
15952  public Builder setAddLinMaxCuts(boolean value) {
15953  bitField2_ |= 0x01000000;
15954  addLinMaxCuts_ = value;
15955  onChanged();
15956  return this;
15957  }
15969  bitField2_ = (bitField2_ & ~0x01000000);
15970  addLinMaxCuts_ = true;
15971  onChanged();
15972  return this;
15973  }
15974 
15975  private int maxIntegerRoundingScaling_ = 600;
15990  @java.lang.Override
15991  public boolean hasMaxIntegerRoundingScaling() {
15992  return ((bitField2_ & 0x02000000) != 0);
15993  }
16008  @java.lang.Override
16010  return maxIntegerRoundingScaling_;
16011  }
16028  bitField2_ |= 0x02000000;
16029  maxIntegerRoundingScaling_ = value;
16030  onChanged();
16031  return this;
16032  }
16048  bitField2_ = (bitField2_ & ~0x02000000);
16049  maxIntegerRoundingScaling_ = 600;
16050  onChanged();
16051  return this;
16052  }
16053 
16054  private boolean addLpConstraintsLazily_ = true;
16066  @java.lang.Override
16067  public boolean hasAddLpConstraintsLazily() {
16068  return ((bitField2_ & 0x04000000) != 0);
16069  }
16081  @java.lang.Override
16082  public boolean getAddLpConstraintsLazily() {
16083  return addLpConstraintsLazily_;
16084  }
16097  public Builder setAddLpConstraintsLazily(boolean value) {
16098  bitField2_ |= 0x04000000;
16099  addLpConstraintsLazily_ = value;
16100  onChanged();
16101  return this;
16102  }
16115  bitField2_ = (bitField2_ & ~0x04000000);
16116  addLpConstraintsLazily_ = true;
16117  onChanged();
16118  return this;
16119  }
16120 
16121  private double minOrthogonalityForLpConstraints_ = 0.05D;
16134  @java.lang.Override
16136  return ((bitField2_ & 0x08000000) != 0);
16137  }
16150  @java.lang.Override
16152  return minOrthogonalityForLpConstraints_;
16153  }
16168  bitField2_ |= 0x08000000;
16169  minOrthogonalityForLpConstraints_ = value;
16170  onChanged();
16171  return this;
16172  }
16186  bitField2_ = (bitField2_ & ~0x08000000);
16187  minOrthogonalityForLpConstraints_ = 0.05D;
16188  onChanged();
16189  return this;
16190  }
16191 
16192  private int maxCutRoundsAtLevelZero_ = 1;
16201  @java.lang.Override
16202  public boolean hasMaxCutRoundsAtLevelZero() {
16203  return ((bitField2_ & 0x10000000) != 0);
16204  }
16213  @java.lang.Override
16215  return maxCutRoundsAtLevelZero_;
16216  }
16227  bitField2_ |= 0x10000000;
16228  maxCutRoundsAtLevelZero_ = value;
16229  onChanged();
16230  return this;
16231  }
16241  bitField2_ = (bitField2_ & ~0x10000000);
16242  maxCutRoundsAtLevelZero_ = 1;
16243  onChanged();
16244  return this;
16245  }
16246 
16247  private int maxConsecutiveInactiveCount_ = 100;
16258  @java.lang.Override
16260  return ((bitField2_ & 0x20000000) != 0);
16261  }
16272  @java.lang.Override
16274  return maxConsecutiveInactiveCount_;
16275  }
16288  bitField2_ |= 0x20000000;
16289  maxConsecutiveInactiveCount_ = value;
16290  onChanged();
16291  return this;
16292  }
16304  bitField2_ = (bitField2_ & ~0x20000000);
16305  maxConsecutiveInactiveCount_ = 100;
16306  onChanged();
16307  return this;
16308  }
16309 
16310  private double cutMaxActiveCountValue_ = 10000000000D;
16321  @java.lang.Override
16322  public boolean hasCutMaxActiveCountValue() {
16323  return ((bitField2_ & 0x40000000) != 0);
16324  }
16335  @java.lang.Override
16336  public double getCutMaxActiveCountValue() {
16337  return cutMaxActiveCountValue_;
16338  }
16350  public Builder setCutMaxActiveCountValue(double value) {
16351  bitField2_ |= 0x40000000;
16352  cutMaxActiveCountValue_ = value;
16353  onChanged();
16354  return this;
16355  }
16367  bitField2_ = (bitField2_ & ~0x40000000);
16368  cutMaxActiveCountValue_ = 10000000000D;
16369  onChanged();
16370  return this;
16371  }
16372 
16373  private double cutActiveCountDecay_ = 0.8D;
16378  @java.lang.Override
16379  public boolean hasCutActiveCountDecay() {
16380  return ((bitField2_ & 0x80000000) != 0);
16381  }
16386  @java.lang.Override
16387  public double getCutActiveCountDecay() {
16388  return cutActiveCountDecay_;
16389  }
16395  public Builder setCutActiveCountDecay(double value) {
16396  bitField2_ |= 0x80000000;
16397  cutActiveCountDecay_ = value;
16398  onChanged();
16399  return this;
16400  }
16406  bitField2_ = (bitField2_ & ~0x80000000);
16407  cutActiveCountDecay_ = 0.8D;
16408  onChanged();
16409  return this;
16410  }
16411 
16412  private int cutCleanupTarget_ = 1000;
16421  @java.lang.Override
16422  public boolean hasCutCleanupTarget() {
16423  return ((bitField3_ & 0x00000001) != 0);
16424  }
16433  @java.lang.Override
16434  public int getCutCleanupTarget() {
16435  return cutCleanupTarget_;
16436  }
16446  public Builder setCutCleanupTarget(int value) {
16447  bitField3_ |= 0x00000001;
16448  cutCleanupTarget_ = value;
16449  onChanged();
16450  return this;
16451  }
16461  bitField3_ = (bitField3_ & ~0x00000001);
16462  cutCleanupTarget_ = 1000;
16463  onChanged();
16464  return this;
16465  }
16466 
16467  private int newConstraintsBatchSize_ = 50;
16477  @java.lang.Override
16478  public boolean hasNewConstraintsBatchSize() {
16479  return ((bitField3_ & 0x00000002) != 0);
16480  }
16490  @java.lang.Override
16492  return newConstraintsBatchSize_;
16493  }
16505  bitField3_ |= 0x00000002;
16506  newConstraintsBatchSize_ = value;
16507  onChanged();
16508  return this;
16509  }
16520  bitField3_ = (bitField3_ & ~0x00000002);
16521  newConstraintsBatchSize_ = 50;
16522  onChanged();
16523  return this;
16524  }
16525 
16526  private int searchBranching_ = 0;
16531  @java.lang.Override public boolean hasSearchBranching() {
16532  return ((bitField3_ & 0x00000004) != 0);
16533  }
16538  @java.lang.Override
16540  @SuppressWarnings("deprecation")
16542  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
16543  }
16550  if (value == null) {
16551  throw new NullPointerException();
16552  }
16553  bitField3_ |= 0x00000004;
16554  searchBranching_ = value.getNumber();
16555  onChanged();
16556  return this;
16557  }
16563  bitField3_ = (bitField3_ & ~0x00000004);
16564  searchBranching_ = 0;
16565  onChanged();
16566  return this;
16567  }
16568 
16569  private int hintConflictLimit_ = 10;
16579  @java.lang.Override
16580  public boolean hasHintConflictLimit() {
16581  return ((bitField3_ & 0x00000008) != 0);
16582  }
16592  @java.lang.Override
16593  public int getHintConflictLimit() {
16594  return hintConflictLimit_;
16595  }
16606  public Builder setHintConflictLimit(int value) {
16607  bitField3_ |= 0x00000008;
16608  hintConflictLimit_ = value;
16609  onChanged();
16610  return this;
16611  }
16622  bitField3_ = (bitField3_ & ~0x00000008);
16623  hintConflictLimit_ = 10;
16624  onChanged();
16625  return this;
16626  }
16627 
16628  private boolean exploitIntegerLpSolution_ = true;
16640  @java.lang.Override
16641  public boolean hasExploitIntegerLpSolution() {
16642  return ((bitField3_ & 0x00000010) != 0);
16643  }
16655  @java.lang.Override
16656  public boolean getExploitIntegerLpSolution() {
16657  return exploitIntegerLpSolution_;
16658  }
16671  public Builder setExploitIntegerLpSolution(boolean value) {
16672  bitField3_ |= 0x00000010;
16673  exploitIntegerLpSolution_ = value;
16674  onChanged();
16675  return this;
16676  }
16689  bitField3_ = (bitField3_ & ~0x00000010);
16690  exploitIntegerLpSolution_ = true;
16691  onChanged();
16692  return this;
16693  }
16694 
16695  private boolean exploitAllLpSolution_ = true;
16706  @java.lang.Override
16707  public boolean hasExploitAllLpSolution() {
16708  return ((bitField3_ & 0x00000020) != 0);
16709  }
16720  @java.lang.Override
16721  public boolean getExploitAllLpSolution() {
16722  return exploitAllLpSolution_;
16723  }
16735  public Builder setExploitAllLpSolution(boolean value) {
16736  bitField3_ |= 0x00000020;
16737  exploitAllLpSolution_ = value;
16738  onChanged();
16739  return this;
16740  }
16752  bitField3_ = (bitField3_ & ~0x00000020);
16753  exploitAllLpSolution_ = true;
16754  onChanged();
16755  return this;
16756  }
16757 
16758  private boolean exploitBestSolution_ ;
16767  @java.lang.Override
16768  public boolean hasExploitBestSolution() {
16769  return ((bitField3_ & 0x00000040) != 0);
16770  }
16779  @java.lang.Override
16780  public boolean getExploitBestSolution() {
16781  return exploitBestSolution_;
16782  }
16792  public Builder setExploitBestSolution(boolean value) {
16793  bitField3_ |= 0x00000040;
16794  exploitBestSolution_ = value;
16795  onChanged();
16796  return this;
16797  }
16807  bitField3_ = (bitField3_ & ~0x00000040);
16808  exploitBestSolution_ = false;
16809  onChanged();
16810  return this;
16811  }
16812 
16813  private boolean exploitRelaxationSolution_ ;
16824  @java.lang.Override
16825  public boolean hasExploitRelaxationSolution() {
16826  return ((bitField3_ & 0x00000080) != 0);
16827  }
16838  @java.lang.Override
16839  public boolean getExploitRelaxationSolution() {
16840  return exploitRelaxationSolution_;
16841  }
16853  public Builder setExploitRelaxationSolution(boolean value) {
16854  bitField3_ |= 0x00000080;
16855  exploitRelaxationSolution_ = value;
16856  onChanged();
16857  return this;
16858  }
16870  bitField3_ = (bitField3_ & ~0x00000080);
16871  exploitRelaxationSolution_ = false;
16872  onChanged();
16873  return this;
16874  }
16875 
16876  private boolean exploitObjective_ = true;
16886  @java.lang.Override
16887  public boolean hasExploitObjective() {
16888  return ((bitField3_ & 0x00000100) != 0);
16889  }
16899  @java.lang.Override
16900  public boolean getExploitObjective() {
16901  return exploitObjective_;
16902  }
16913  public Builder setExploitObjective(boolean value) {
16914  bitField3_ |= 0x00000100;
16915  exploitObjective_ = value;
16916  onChanged();
16917  return this;
16918  }
16929  bitField3_ = (bitField3_ & ~0x00000100);
16930  exploitObjective_ = true;
16931  onChanged();
16932  return this;
16933  }
16934 
16935  private long probingPeriodAtRoot_ ;
16946  @java.lang.Override
16947  public boolean hasProbingPeriodAtRoot() {
16948  return ((bitField3_ & 0x00000200) != 0);
16949  }
16960  @java.lang.Override
16961  public long getProbingPeriodAtRoot() {
16962  return probingPeriodAtRoot_;
16963  }
16975  public Builder setProbingPeriodAtRoot(long value) {
16976  bitField3_ |= 0x00000200;
16977  probingPeriodAtRoot_ = value;
16978  onChanged();
16979  return this;
16980  }
16992  bitField3_ = (bitField3_ & ~0x00000200);
16993  probingPeriodAtRoot_ = 0L;
16994  onChanged();
16995  return this;
16996  }
16997 
16998  private long pseudoCostReliabilityThreshold_ = 100L;
17008  @java.lang.Override
17010  return ((bitField3_ & 0x00000400) != 0);
17011  }
17021  @java.lang.Override
17023  return pseudoCostReliabilityThreshold_;
17024  }
17036  bitField3_ |= 0x00000400;
17037  pseudoCostReliabilityThreshold_ = value;
17038  onChanged();
17039  return this;
17040  }
17051  bitField3_ = (bitField3_ & ~0x00000400);
17052  pseudoCostReliabilityThreshold_ = 100L;
17053  onChanged();
17054  return this;
17055  }
17056 
17057  private boolean optimizeWithCore_ ;
17069  @java.lang.Override
17070  public boolean hasOptimizeWithCore() {
17071  return ((bitField3_ & 0x00000800) != 0);
17072  }
17084  @java.lang.Override
17085  public boolean getOptimizeWithCore() {
17086  return optimizeWithCore_;
17087  }
17100  public Builder setOptimizeWithCore(boolean value) {
17101  bitField3_ |= 0x00000800;
17102  optimizeWithCore_ = value;
17103  onChanged();
17104  return this;
17105  }
17118  bitField3_ = (bitField3_ & ~0x00000800);
17119  optimizeWithCore_ = false;
17120  onChanged();
17121  return this;
17122  }
17123 
17124  private int binarySearchNumConflicts_ = -1;
17136  @java.lang.Override
17137  public boolean hasBinarySearchNumConflicts() {
17138  return ((bitField3_ & 0x00001000) != 0);
17139  }
17151  @java.lang.Override
17153  return binarySearchNumConflicts_;
17154  }
17168  bitField3_ |= 0x00001000;
17169  binarySearchNumConflicts_ = value;
17170  onChanged();
17171  return this;
17172  }
17185  bitField3_ = (bitField3_ & ~0x00001000);
17186  binarySearchNumConflicts_ = -1;
17187  onChanged();
17188  return this;
17189  }
17190 
17191  private boolean optimizeWithMaxHs_ ;
17205  @java.lang.Override
17206  public boolean hasOptimizeWithMaxHs() {
17207  return ((bitField3_ & 0x00002000) != 0);
17208  }
17222  @java.lang.Override
17223  public boolean getOptimizeWithMaxHs() {
17224  return optimizeWithMaxHs_;
17225  }
17240  public Builder setOptimizeWithMaxHs(boolean value) {
17241  bitField3_ |= 0x00002000;
17242  optimizeWithMaxHs_ = value;
17243  onChanged();
17244  return this;
17245  }
17260  bitField3_ = (bitField3_ & ~0x00002000);
17261  optimizeWithMaxHs_ = false;
17262  onChanged();
17263  return this;
17264  }
17265 
17266  private boolean enumerateAllSolutions_ ;
17280  @java.lang.Override
17281  public boolean hasEnumerateAllSolutions() {
17282  return ((bitField3_ & 0x00004000) != 0);
17283  }
17297  @java.lang.Override
17298  public boolean getEnumerateAllSolutions() {
17299  return enumerateAllSolutions_;
17300  }
17315  public Builder setEnumerateAllSolutions(boolean value) {
17316  bitField3_ |= 0x00004000;
17317  enumerateAllSolutions_ = value;
17318  onChanged();
17319  return this;
17320  }
17335  bitField3_ = (bitField3_ & ~0x00004000);
17336  enumerateAllSolutions_ = false;
17337  onChanged();
17338  return this;
17339  }
17340 
17341  private boolean fillTightenedDomainsInResponse_ ;
17354  @java.lang.Override
17356  return ((bitField3_ & 0x00008000) != 0);
17357  }
17370  @java.lang.Override
17372  return fillTightenedDomainsInResponse_;
17373  }
17388  bitField3_ |= 0x00008000;
17389  fillTightenedDomainsInResponse_ = value;
17390  onChanged();
17391  return this;
17392  }
17406  bitField3_ = (bitField3_ & ~0x00008000);
17407  fillTightenedDomainsInResponse_ = false;
17408  onChanged();
17409  return this;
17410  }
17411 
17412  private boolean instantiateAllVariables_ = true;
17422  @java.lang.Override
17423  public boolean hasInstantiateAllVariables() {
17424  return ((bitField3_ & 0x00010000) != 0);
17425  }
17435  @java.lang.Override
17436  public boolean getInstantiateAllVariables() {
17437  return instantiateAllVariables_;
17438  }
17449  public Builder setInstantiateAllVariables(boolean value) {
17450  bitField3_ |= 0x00010000;
17451  instantiateAllVariables_ = value;
17452  onChanged();
17453  return this;
17454  }
17465  bitField3_ = (bitField3_ & ~0x00010000);
17466  instantiateAllVariables_ = true;
17467  onChanged();
17468  return this;
17469  }
17470 
17471  private boolean autoDetectGreaterThanAtLeastOneOf_ = true;
17483  @java.lang.Override
17485  return ((bitField3_ & 0x00020000) != 0);
17486  }
17498  @java.lang.Override
17500  return autoDetectGreaterThanAtLeastOneOf_;
17501  }
17515  bitField3_ |= 0x00020000;
17516  autoDetectGreaterThanAtLeastOneOf_ = value;
17517  onChanged();
17518  return this;
17519  }
17532  bitField3_ = (bitField3_ & ~0x00020000);
17533  autoDetectGreaterThanAtLeastOneOf_ = true;
17534  onChanged();
17535  return this;
17536  }
17537 
17538  private boolean stopAfterFirstSolution_ ;
17547  @java.lang.Override
17548  public boolean hasStopAfterFirstSolution() {
17549  return ((bitField3_ & 0x00040000) != 0);
17550  }
17559  @java.lang.Override
17560  public boolean getStopAfterFirstSolution() {
17561  return stopAfterFirstSolution_;
17562  }
17572  public Builder setStopAfterFirstSolution(boolean value) {
17573  bitField3_ |= 0x00040000;
17574  stopAfterFirstSolution_ = value;
17575  onChanged();
17576  return this;
17577  }
17587  bitField3_ = (bitField3_ & ~0x00040000);
17588  stopAfterFirstSolution_ = false;
17589  onChanged();
17590  return this;
17591  }
17592 
17593  private boolean stopAfterPresolve_ ;
17603  @java.lang.Override
17604  public boolean hasStopAfterPresolve() {
17605  return ((bitField3_ & 0x00080000) != 0);
17606  }
17616  @java.lang.Override
17617  public boolean getStopAfterPresolve() {
17618  return stopAfterPresolve_;
17619  }
17630  public Builder setStopAfterPresolve(boolean value) {
17631  bitField3_ |= 0x00080000;
17632  stopAfterPresolve_ = value;
17633  onChanged();
17634  return this;
17635  }
17646  bitField3_ = (bitField3_ & ~0x00080000);
17647  stopAfterPresolve_ = false;
17648  onChanged();
17649  return this;
17650  }
17651 
17652  private int numSearchWorkers_ = 1;
17666  @java.lang.Override
17667  public boolean hasNumSearchWorkers() {
17668  return ((bitField3_ & 0x00100000) != 0);
17669  }
17683  @java.lang.Override
17684  public int getNumSearchWorkers() {
17685  return numSearchWorkers_;
17686  }
17701  public Builder setNumSearchWorkers(int value) {
17702  bitField3_ |= 0x00100000;
17703  numSearchWorkers_ = value;
17704  onChanged();
17705  return this;
17706  }
17721  bitField3_ = (bitField3_ & ~0x00100000);
17722  numSearchWorkers_ = 1;
17723  onChanged();
17724  return this;
17725  }
17726 
17727  private boolean interleaveSearch_ ;
17740  @java.lang.Override
17741  public boolean hasInterleaveSearch() {
17742  return ((bitField3_ & 0x00200000) != 0);
17743  }
17756  @java.lang.Override
17757  public boolean getInterleaveSearch() {
17758  return interleaveSearch_;
17759  }
17773  public Builder setInterleaveSearch(boolean value) {
17774  bitField3_ |= 0x00200000;
17775  interleaveSearch_ = value;
17776  onChanged();
17777  return this;
17778  }
17792  bitField3_ = (bitField3_ & ~0x00200000);
17793  interleaveSearch_ = false;
17794  onChanged();
17795  return this;
17796  }
17797 
17798  private int interleaveBatchSize_ = 1;
17803  @java.lang.Override
17804  public boolean hasInterleaveBatchSize() {
17805  return ((bitField3_ & 0x00400000) != 0);
17806  }
17811  @java.lang.Override
17812  public int getInterleaveBatchSize() {
17813  return interleaveBatchSize_;
17814  }
17820  public Builder setInterleaveBatchSize(int value) {
17821  bitField3_ |= 0x00400000;
17822  interleaveBatchSize_ = value;
17823  onChanged();
17824  return this;
17825  }
17831  bitField3_ = (bitField3_ & ~0x00400000);
17832  interleaveBatchSize_ = 1;
17833  onChanged();
17834  return this;
17835  }
17836 
17837  private boolean reduceMemoryUsageInInterleaveMode_ ;
17846  @java.lang.Override
17848  return ((bitField3_ & 0x00800000) != 0);
17849  }
17858  @java.lang.Override
17860  return reduceMemoryUsageInInterleaveMode_;
17861  }
17872  bitField3_ |= 0x00800000;
17873  reduceMemoryUsageInInterleaveMode_ = value;
17874  onChanged();
17875  return this;
17876  }
17886  bitField3_ = (bitField3_ & ~0x00800000);
17887  reduceMemoryUsageInInterleaveMode_ = false;
17888  onChanged();
17889  return this;
17890  }
17891 
17892  private boolean shareObjectiveBounds_ = true;
17901  @java.lang.Override
17902  public boolean hasShareObjectiveBounds() {
17903  return ((bitField3_ & 0x01000000) != 0);
17904  }
17913  @java.lang.Override
17914  public boolean getShareObjectiveBounds() {
17915  return shareObjectiveBounds_;
17916  }
17926  public Builder setShareObjectiveBounds(boolean value) {
17927  bitField3_ |= 0x01000000;
17928  shareObjectiveBounds_ = value;
17929  onChanged();
17930  return this;
17931  }
17941  bitField3_ = (bitField3_ & ~0x01000000);
17942  shareObjectiveBounds_ = true;
17943  onChanged();
17944  return this;
17945  }
17946 
17947  private boolean shareLevelZeroBounds_ = true;
17956  @java.lang.Override
17957  public boolean hasShareLevelZeroBounds() {
17958  return ((bitField3_ & 0x02000000) != 0);
17959  }
17968  @java.lang.Override
17969  public boolean getShareLevelZeroBounds() {
17970  return shareLevelZeroBounds_;
17971  }
17981  public Builder setShareLevelZeroBounds(boolean value) {
17982  bitField3_ |= 0x02000000;
17983  shareLevelZeroBounds_ = value;
17984  onChanged();
17985  return this;
17986  }
17996  bitField3_ = (bitField3_ & ~0x02000000);
17997  shareLevelZeroBounds_ = true;
17998  onChanged();
17999  return this;
18000  }
18001 
18002  private boolean useLnsOnly_ ;
18011  @java.lang.Override
18012  public boolean hasUseLnsOnly() {
18013  return ((bitField3_ & 0x04000000) != 0);
18014  }
18023  @java.lang.Override
18024  public boolean getUseLnsOnly() {
18025  return useLnsOnly_;
18026  }
18036  public Builder setUseLnsOnly(boolean value) {
18037  bitField3_ |= 0x04000000;
18038  useLnsOnly_ = value;
18039  onChanged();
18040  return this;
18041  }
18051  bitField3_ = (bitField3_ & ~0x04000000);
18052  useLnsOnly_ = false;
18053  onChanged();
18054  return this;
18055  }
18056 
18057  private boolean lnsFocusOnDecisionVariables_ ;
18062  @java.lang.Override
18064  return ((bitField3_ & 0x08000000) != 0);
18065  }
18070  @java.lang.Override
18072  return lnsFocusOnDecisionVariables_;
18073  }
18079  public Builder setLnsFocusOnDecisionVariables(boolean value) {
18080  bitField3_ |= 0x08000000;
18081  lnsFocusOnDecisionVariables_ = value;
18082  onChanged();
18083  return this;
18084  }
18090  bitField3_ = (bitField3_ & ~0x08000000);
18091  lnsFocusOnDecisionVariables_ = false;
18092  onChanged();
18093  return this;
18094  }
18095 
18096  private boolean useRinsLns_ = true;
18105  @java.lang.Override
18106  public boolean hasUseRinsLns() {
18107  return ((bitField3_ & 0x10000000) != 0);
18108  }
18117  @java.lang.Override
18118  public boolean getUseRinsLns() {
18119  return useRinsLns_;
18120  }
18130  public Builder setUseRinsLns(boolean value) {
18131  bitField3_ |= 0x10000000;
18132  useRinsLns_ = value;
18133  onChanged();
18134  return this;
18135  }
18145  bitField3_ = (bitField3_ & ~0x10000000);
18146  useRinsLns_ = true;
18147  onChanged();
18148  return this;
18149  }
18150 
18151  private boolean useFeasibilityPump_ ;
18160  @java.lang.Override
18161  public boolean hasUseFeasibilityPump() {
18162  return ((bitField3_ & 0x20000000) != 0);
18163  }
18172  @java.lang.Override
18173  public boolean getUseFeasibilityPump() {
18174  return useFeasibilityPump_;
18175  }
18185  public Builder setUseFeasibilityPump(boolean value) {
18186  bitField3_ |= 0x20000000;
18187  useFeasibilityPump_ = value;
18188  onChanged();
18189  return this;
18190  }
18200  bitField3_ = (bitField3_ & ~0x20000000);
18201  useFeasibilityPump_ = false;
18202  onChanged();
18203  return this;
18204  }
18205 
18206  private boolean useRelaxationLns_ ;
18216  @java.lang.Override
18217  public boolean hasUseRelaxationLns() {
18218  return ((bitField3_ & 0x40000000) != 0);
18219  }
18229  @java.lang.Override
18230  public boolean getUseRelaxationLns() {
18231  return useRelaxationLns_;
18232  }
18243  public Builder setUseRelaxationLns(boolean value) {
18244  bitField3_ |= 0x40000000;
18245  useRelaxationLns_ = value;
18246  onChanged();
18247  return this;
18248  }
18259  bitField3_ = (bitField3_ & ~0x40000000);
18260  useRelaxationLns_ = false;
18261  onChanged();
18262  return this;
18263  }
18264 
18265  private boolean diversifyLnsParams_ ;
18274  @java.lang.Override
18275  public boolean hasDiversifyLnsParams() {
18276  return ((bitField3_ & 0x80000000) != 0);
18277  }
18286  @java.lang.Override
18287  public boolean getDiversifyLnsParams() {
18288  return diversifyLnsParams_;
18289  }
18299  public Builder setDiversifyLnsParams(boolean value) {
18300  bitField3_ |= 0x80000000;
18301  diversifyLnsParams_ = value;
18302  onChanged();
18303  return this;
18304  }
18314  bitField3_ = (bitField3_ & ~0x80000000);
18315  diversifyLnsParams_ = false;
18316  onChanged();
18317  return this;
18318  }
18319 
18320  private boolean randomizeSearch_ ;
18329  @java.lang.Override
18330  public boolean hasRandomizeSearch() {
18331  return ((bitField4_ & 0x00000001) != 0);
18332  }
18341  @java.lang.Override
18342  public boolean getRandomizeSearch() {
18343  return randomizeSearch_;
18344  }
18354  public Builder setRandomizeSearch(boolean value) {
18355  bitField4_ |= 0x00000001;
18356  randomizeSearch_ = value;
18357  onChanged();
18358  return this;
18359  }
18369  bitField4_ = (bitField4_ & ~0x00000001);
18370  randomizeSearch_ = false;
18371  onChanged();
18372  return this;
18373  }
18374 
18375  private long searchRandomizationTolerance_ ;
18390  @java.lang.Override
18392  return ((bitField4_ & 0x00000002) != 0);
18393  }
18408  @java.lang.Override
18410  return searchRandomizationTolerance_;
18411  }
18428  bitField4_ |= 0x00000002;
18429  searchRandomizationTolerance_ = value;
18430  onChanged();
18431  return this;
18432  }
18448  bitField4_ = (bitField4_ & ~0x00000002);
18449  searchRandomizationTolerance_ = 0L;
18450  onChanged();
18451  return this;
18452  }
18453 
18454  private boolean useOptionalVariables_ = true;
18465  @java.lang.Override
18466  public boolean hasUseOptionalVariables() {
18467  return ((bitField4_ & 0x00000004) != 0);
18468  }
18479  @java.lang.Override
18480  public boolean getUseOptionalVariables() {
18481  return useOptionalVariables_;
18482  }
18494  public Builder setUseOptionalVariables(boolean value) {
18495  bitField4_ |= 0x00000004;
18496  useOptionalVariables_ = value;
18497  onChanged();
18498  return this;
18499  }
18511  bitField4_ = (bitField4_ & ~0x00000004);
18512  useOptionalVariables_ = true;
18513  onChanged();
18514  return this;
18515  }
18516 
18517  private boolean useExactLpReason_ = true;
18529  @java.lang.Override
18530  public boolean hasUseExactLpReason() {
18531  return ((bitField4_ & 0x00000008) != 0);
18532  }
18544  @java.lang.Override
18545  public boolean getUseExactLpReason() {
18546  return useExactLpReason_;
18547  }
18560  public Builder setUseExactLpReason(boolean value) {
18561  bitField4_ |= 0x00000008;
18562  useExactLpReason_ = value;
18563  onChanged();
18564  return this;
18565  }
18578  bitField4_ = (bitField4_ & ~0x00000008);
18579  useExactLpReason_ = true;
18580  onChanged();
18581  return this;
18582  }
18583 
18584  private boolean useBranchingInLp_ ;
18595  @java.lang.Override
18596  public boolean hasUseBranchingInLp() {
18597  return ((bitField4_ & 0x00000010) != 0);
18598  }
18609  @java.lang.Override
18610  public boolean getUseBranchingInLp() {
18611  return useBranchingInLp_;
18612  }
18624  public Builder setUseBranchingInLp(boolean value) {
18625  bitField4_ |= 0x00000010;
18626  useBranchingInLp_ = value;
18627  onChanged();
18628  return this;
18629  }
18641  bitField4_ = (bitField4_ & ~0x00000010);
18642  useBranchingInLp_ = false;
18643  onChanged();
18644  return this;
18645  }
18646 
18647  private boolean useCombinedNoOverlap_ ;
18658  @java.lang.Override
18659  public boolean hasUseCombinedNoOverlap() {
18660  return ((bitField4_ & 0x00000020) != 0);
18661  }
18672  @java.lang.Override
18673  public boolean getUseCombinedNoOverlap() {
18674  return useCombinedNoOverlap_;
18675  }
18687  public Builder setUseCombinedNoOverlap(boolean value) {
18688  bitField4_ |= 0x00000020;
18689  useCombinedNoOverlap_ = value;
18690  onChanged();
18691  return this;
18692  }
18704  bitField4_ = (bitField4_ & ~0x00000020);
18705  useCombinedNoOverlap_ = false;
18706  onChanged();
18707  return this;
18708  }
18709 
18710  private boolean catchSigintSignal_ = true;
18721  @java.lang.Override
18722  public boolean hasCatchSigintSignal() {
18723  return ((bitField4_ & 0x00000040) != 0);
18724  }
18735  @java.lang.Override
18736  public boolean getCatchSigintSignal() {
18737  return catchSigintSignal_;
18738  }
18750  public Builder setCatchSigintSignal(boolean value) {
18751  bitField4_ |= 0x00000040;
18752  catchSigintSignal_ = value;
18753  onChanged();
18754  return this;
18755  }
18767  bitField4_ = (bitField4_ & ~0x00000040);
18768  catchSigintSignal_ = true;
18769  onChanged();
18770  return this;
18771  }
18772 
18773  private boolean useImpliedBounds_ = true;
18784  @java.lang.Override
18785  public boolean hasUseImpliedBounds() {
18786  return ((bitField4_ & 0x00000080) != 0);
18787  }
18798  @java.lang.Override
18799  public boolean getUseImpliedBounds() {
18800  return useImpliedBounds_;
18801  }
18813  public Builder setUseImpliedBounds(boolean value) {
18814  bitField4_ |= 0x00000080;
18815  useImpliedBounds_ = value;
18816  onChanged();
18817  return this;
18818  }
18830  bitField4_ = (bitField4_ & ~0x00000080);
18831  useImpliedBounds_ = true;
18832  onChanged();
18833  return this;
18834  }
18835 
18836  private double mipMaxBound_ = 10000000D;
18847  @java.lang.Override
18848  public boolean hasMipMaxBound() {
18849  return ((bitField4_ & 0x00000100) != 0);
18850  }
18861  @java.lang.Override
18862  public double getMipMaxBound() {
18863  return mipMaxBound_;
18864  }
18876  public Builder setMipMaxBound(double value) {
18877  bitField4_ |= 0x00000100;
18878  mipMaxBound_ = value;
18879  onChanged();
18880  return this;
18881  }
18893  bitField4_ = (bitField4_ & ~0x00000100);
18894  mipMaxBound_ = 10000000D;
18895  onChanged();
18896  return this;
18897  }
18898 
18899  private double mipVarScaling_ = 1D;
18910  @java.lang.Override
18911  public boolean hasMipVarScaling() {
18912  return ((bitField4_ & 0x00000200) != 0);
18913  }
18924  @java.lang.Override
18925  public double getMipVarScaling() {
18926  return mipVarScaling_;
18927  }
18939  public Builder setMipVarScaling(double value) {
18940  bitField4_ |= 0x00000200;
18941  mipVarScaling_ = value;
18942  onChanged();
18943  return this;
18944  }
18956  bitField4_ = (bitField4_ & ~0x00000200);
18957  mipVarScaling_ = 1D;
18958  onChanged();
18959  return this;
18960  }
18961 
18962  private double mipWantedPrecision_ = 1e-06D;
18979  @java.lang.Override
18980  public boolean hasMipWantedPrecision() {
18981  return ((bitField4_ & 0x00000400) != 0);
18982  }
18999  @java.lang.Override
19000  public double getMipWantedPrecision() {
19001  return mipWantedPrecision_;
19002  }
19020  public Builder setMipWantedPrecision(double value) {
19021  bitField4_ |= 0x00000400;
19022  mipWantedPrecision_ = value;
19023  onChanged();
19024  return this;
19025  }
19043  bitField4_ = (bitField4_ & ~0x00000400);
19044  mipWantedPrecision_ = 1e-06D;
19045  onChanged();
19046  return this;
19047  }
19048 
19049  private int mipMaxActivityExponent_ = 53;
19064  @java.lang.Override
19065  public boolean hasMipMaxActivityExponent() {
19066  return ((bitField4_ & 0x00000800) != 0);
19067  }
19082  @java.lang.Override
19084  return mipMaxActivityExponent_;
19085  }
19102  bitField4_ |= 0x00000800;
19103  mipMaxActivityExponent_ = value;
19104  onChanged();
19105  return this;
19106  }
19122  bitField4_ = (bitField4_ & ~0x00000800);
19123  mipMaxActivityExponent_ = 53;
19124  onChanged();
19125  return this;
19126  }
19127 
19128  private double mipCheckPrecision_ = 0.0001D;
19140  @java.lang.Override
19141  public boolean hasMipCheckPrecision() {
19142  return ((bitField4_ & 0x00001000) != 0);
19143  }
19155  @java.lang.Override
19156  public double getMipCheckPrecision() {
19157  return mipCheckPrecision_;
19158  }
19171  public Builder setMipCheckPrecision(double value) {
19172  bitField4_ |= 0x00001000;
19173  mipCheckPrecision_ = value;
19174  onChanged();
19175  return this;
19176  }
19189  bitField4_ = (bitField4_ & ~0x00001000);
19190  mipCheckPrecision_ = 0.0001D;
19191  onChanged();
19192  return this;
19193  }
19194  @java.lang.Override
19196  final com.google.protobuf.UnknownFieldSet unknownFields) {
19197  return super.setUnknownFields(unknownFields);
19198  }
19199 
19200  @java.lang.Override
19202  final com.google.protobuf.UnknownFieldSet unknownFields) {
19203  return super.mergeUnknownFields(unknownFields);
19204  }
19205 
19206 
19207  // @@protoc_insertion_point(builder_scope:operations_research.sat.SatParameters)
19208  }
19209 
19210  // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
19211  private static final com.google.ortools.sat.SatParameters DEFAULT_INSTANCE;
19212  static {
19213  DEFAULT_INSTANCE = new com.google.ortools.sat.SatParameters();
19214  }
19215 
19217  return DEFAULT_INSTANCE;
19218  }
19219 
19220  @java.lang.Deprecated public static final com.google.protobuf.Parser<SatParameters>
19221  PARSER = new com.google.protobuf.AbstractParser<SatParameters>() {
19222  @java.lang.Override
19223  public SatParameters parsePartialFrom(
19224  com.google.protobuf.CodedInputStream input,
19225  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
19226  throws com.google.protobuf.InvalidProtocolBufferException {
19227  return new SatParameters(input, extensionRegistry);
19228  }
19229  };
19230 
19231  public static com.google.protobuf.Parser<SatParameters> parser() {
19232  return PARSER;
19233  }
19234 
19235  @java.lang.Override
19236  public com.google.protobuf.Parser<SatParameters> getParserForType() {
19237  return PARSER;
19238  }
19239 
19240  @java.lang.Override
19242  return DEFAULT_INSTANCE;
19243  }
19244 
19245 }
19246 
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 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)
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 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.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 int getMaxPresolveIterations()
.lang.Override boolean hasMinimizeReductionDuringPbResolution()
Builder clearMinimizeWithPropagationRestartPeriod()
Builder clearMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
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()
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 =...
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setAbsoluteGapLimit(double value)
static final int USE_COMBINED_NO_OVERLAP_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 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 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()
.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()
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)
.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()
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 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)
.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()
static ClauseOrdering forNumber(int value)
Builder setSubsumptionDuringConflictAnalysis(boolean value)
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)
.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];
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 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()
.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()
.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()
.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()
.lang.Override boolean hasUseSatInprocessing()
optional bool use_sat_inprocessing = 163 [default = false];
Builder setShareObjectiveBounds(boolean value)
.lang.Override boolean getStopAfterFirstSolution()
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()
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()
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()
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 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 =...
.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
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)
.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()
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()
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()
.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)
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()
Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value)
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
.lang.Override boolean hasHintConflictLimit()