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_ |= 0x00000400;
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_ |= 0x00000200;
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_ |= 0x00000001;
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_ |= 0x00000800;
297  logSearchProgress_ = input.readBool();
298  break;
299  }
300  case 344: {
301  bitField1_ |= 0x00001000;
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_ |= 0x00002000;
327  minimizeReductionDuringPbResolution_ = input.readBool();
328  break;
329  }
330  case 392: {
331  bitField1_ |= 0x00004000;
332  countAssumptionLevelsInLbd_ = input.readBool();
333  break;
334  }
335  case 400: {
336  bitField2_ |= 0x00000002;
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_ |= 0x00000010;
348  maxSatAssumptionOrder_ = rawValue;
349  }
350  break;
351  }
352  case 416: {
353  bitField2_ |= 0x00000020;
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_ |= 0x00000040;
365  maxSatStratification_ = rawValue;
366  }
367  break;
368  }
369  case 432: {
370  bitField1_ |= 0x00008000;
371  presolveBveThreshold_ = input.readInt32();
372  break;
373  }
374  case 440: {
375  bitField1_ |= 0x00010000;
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_ |= 0x00020000;
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_ |= 0x00080000;
506  presolveUseBva_ = input.readBool();
507  break;
508  }
509  case 584: {
510  bitField1_ |= 0x00100000;
511  presolveBvaThreshold_ = input.readInt32();
512  break;
513  }
514  case 592: {
515  bitField2_ |= 0x00000080;
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_ |= 0x00000100;
536  useOverloadCheckerInCumulativeConstraint_ = input.readBool();
537  break;
538  }
539  case 632: {
540  bitField2_ |= 0x00000200;
541  useTimetableEdgeFindingInCumulativeConstraint_ = input.readBool();
542  break;
543  }
544  case 640: {
545  bitField2_ |= 0x00000400;
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  bitField2_ |= 0x20000000;
557  searchBranching_ = rawValue;
558  }
559  break;
560  }
561  case 664: {
562  bitField3_ |= 0x00000020;
563  optimizeWithCore_ = input.readBool();
564  break;
565  }
566  case 672: {
567  bitField2_ |= 0x00000004;
568  findMultipleCores_ = input.readBool();
569  break;
570  }
571  case 680: {
572  bitField3_ |= 0x00000080;
573  optimizeWithMaxHs_ = input.readBool();
574  break;
575  }
576  case 688: {
577  bitField1_ |= 0x00400000;
578  cpModelPresolve_ = input.readBool();
579  break;
580  }
581  case 696: {
582  bitField3_ |= 0x00000100;
583  enumerateAllSolutions_ = input.readBool();
584  break;
585  }
586  case 704: {
587  bitField1_ |= 0x00040000;
588  presolveBlockedClause_ = input.readBool();
589  break;
590  }
591  case 712: {
592  bitField2_ |= 0x00000008;
593  coverOptimization_ = input.readBool();
594  break;
595  }
596  case 720: {
597  bitField2_ |= 0x00000800;
598  linearizationLevel_ = input.readInt32();
599  break;
600  }
601  case 728: {
602  bitField2_ |= 0x00002000;
603  maxNumCuts_ = input.readInt32();
604  break;
605  }
606  case 736: {
607  bitField2_ |= 0x00004000;
608  onlyAddCutsAtLevelZero_ = input.readBool();
609  break;
610  }
611  case 744: {
612  bitField1_ |= 0x02000000;
613  cpModelUseSatPresolve_ = input.readBool();
614  break;
615  }
616  case 752: {
617  bitField2_ |= 0x80000000;
618  exploitIntegerLpSolution_ = input.readBool();
619  break;
620  }
621  case 760: {
622  bitField3_ |= 0x00000800;
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_ |= 0x00001000;
638  stopAfterFirstSolution_ = input.readBool();
639  break;
640  }
641  case 792: {
642  bitField3_ |= 0x00000040;
643  binarySearchNumConflicts_ = input.readInt32();
644  break;
645  }
646  case 800: {
647  bitField3_ |= 0x00004000;
648  numSearchWorkers_ = input.readInt32();
649  break;
650  }
651  case 808: {
652  bitField3_ |= 0x00100000;
653  useLnsOnly_ = input.readBool();
654  break;
655  }
656  case 824: {
657  bitField3_ |= 0x02000000;
658  randomizeSearch_ = input.readBool();
659  break;
660  }
661  case 832: {
662  bitField3_ |= 0x04000000;
663  searchRandomizationTolerance_ = input.readInt64();
664  break;
665  }
666  case 840: {
667  bitField3_ |= 0x00200000;
668  lnsFocusOnDecisionVariables_ = input.readBool();
669  break;
670  }
671  case 848: {
672  bitField3_ |= 0x00000400;
673  instantiateAllVariables_ = input.readBool();
674  break;
675  }
676  case 856: {
677  bitField2_ |= 0x00001000;
678  booleanEncodingLevel_ = input.readInt32();
679  break;
680  }
681  case 864: {
682  bitField3_ |= 0x08000000;
683  useOptionalVariables_ = input.readBool();
684  break;
685  }
686  case 872: {
687  bitField3_ |= 0x10000000;
688  useExactLpReason_ = input.readBool();
689  break;
690  }
691  case 880: {
692  bitField1_ |= 0x01000000;
693  cpModelProbingLevel_ = input.readInt32();
694  break;
695  }
696  case 888: {
697  bitField2_ |= 0x00008000;
698  addKnapsackCuts_ = input.readBool();
699  break;
700  }
701  case 896: {
702  bitField2_ |= 0x00200000;
703  addLpConstraintsLazily_ = input.readBool();
704  break;
705  }
706  case 904: {
707  bitField3_ |= 0x00040000;
708  shareObjectiveBounds_ = input.readBool();
709  break;
710  }
711  case 912: {
712  bitField3_ |= 0x00080000;
713  shareLevelZeroBounds_ = input.readBool();
714  break;
715  }
716  case 921: {
717  bitField2_ |= 0x00400000;
718  minOrthogonalityForLpConstraints_ = input.readDouble();
719  break;
720  }
721  case 928: {
722  bitField3_ |= 0x00000001;
723  exploitAllLpSolution_ = input.readBool();
724  break;
725  }
726  case 936: {
727  bitField2_ |= 0x00010000;
728  addCgCuts_ = input.readBool();
729  break;
730  }
731  case 952: {
732  bitField2_ |= 0x00100000;
733  maxIntegerRoundingScaling_ = input.readInt32();
734  break;
735  }
736  case 960: {
737  bitField2_ |= 0x00020000;
738  addMirCuts_ = input.readBool();
739  break;
740  }
741  case 968: {
742  bitField2_ |= 0x01000000;
743  maxConsecutiveInactiveCount_ = input.readInt32();
744  break;
745  }
746  case 976: {
747  bitField2_ |= 0x10000000;
748  newConstraintsBatchSize_ = input.readInt32();
749  break;
750  }
751  case 984: {
752  bitField3_ |= 0x00000010;
753  pseudoCostReliabilityThreshold_ = input.readInt64();
754  break;
755  }
756  case 993: {
757  bitField4_ |= 0x00000002;
758  mipMaxBound_ = input.readDouble();
759  break;
760  }
761  case 1001: {
762  bitField4_ |= 0x00000004;
763  mipVarScaling_ = input.readDouble();
764  break;
765  }
766  case 1009: {
767  bitField4_ |= 0x00000008;
768  mipWantedPrecision_ = input.readDouble();
769  break;
770  }
771  case 1016: {
772  bitField4_ |= 0x00000010;
773  mipMaxActivityExponent_ = input.readInt32();
774  break;
775  }
776  case 1025: {
777  bitField4_ |= 0x00000020;
778  mipCheckPrecision_ = input.readDouble();
779  break;
780  }
781  case 1032: {
782  bitField3_ |= 0x00400000;
783  useRinsLns_ = input.readBool();
784  break;
785  }
786  case 1040: {
787  bitField3_ |= 0x00000002;
788  exploitBestSolution_ = input.readBool();
789  break;
790  }
791  case 1048: {
792  bitField3_ |= 0x00000004;
793  exploitObjective_ = input.readBool();
794  break;
795  }
796  case 1056: {
797  bitField3_ |= 0x00000200;
798  fillTightenedDomainsInResponse_ = input.readBool();
799  break;
800  }
801  case 1064: {
802  bitField3_ |= 0x40000000;
803  useCombinedNoOverlap_ = input.readBool();
804  break;
805  }
806  case 1072: {
807  bitField3_ |= 0x00010000;
808  interleaveBatchSize_ = input.readInt32();
809  break;
810  }
811  case 1080: {
812  bitField3_ |= 0x80000000;
813  catchSigintSignal_ = input.readBool();
814  break;
815  }
816  case 1088: {
817  bitField3_ |= 0x00008000;
818  interleaveSearch_ = input.readBool();
819  break;
820  }
821  case 1096: {
822  bitField3_ |= 0x01000000;
823  diversifyLnsParams_ = input.readBool();
824  break;
825  }
826  case 1104: {
827  bitField1_ |= 0x00200000;
828  maxPresolveIterations_ = input.readInt32();
829  break;
830  }
831  case 1112: {
832  bitField3_ |= 0x20000000;
833  useBranchingInLp_ = input.readBool();
834  break;
835  }
836  case 1120: {
837  bitField1_ |= 0x04000000;
838  expandElementConstraints_ = input.readBool();
839  break;
840  }
841  case 1128: {
842  bitField3_ |= 0x00020000;
843  reduceMemoryUsageInInterleaveMode_ = input.readBool();
844  break;
845  }
846  case 1136: {
847  bitField3_ |= 0x00000008;
848  probingPeriodAtRoot_ = input.readInt64();
849  break;
850  }
851  case 1144: {
852  bitField1_ |= 0x08000000;
853  expandAutomatonConstraints_ = input.readBool();
854  break;
855  }
856  case 1152: {
857  bitField4_ |= 0x00000001;
858  useImpliedBounds_ = input.readBool();
859  break;
860  }
861  case 1161: {
862  bitField1_ |= 0x20000000;
863  mergeNoOverlapWorkLimit_ = input.readDouble();
864  break;
865  }
866  case 1169: {
867  bitField1_ |= 0x40000000;
868  mergeAtMostOneWorkLimit_ = input.readDouble();
869  break;
870  }
871  case 1176: {
872  bitField1_ |= 0x80000000;
873  presolveSubstitutionLevel_ = input.readInt32();
874  break;
875  }
876  case 1184: {
877  bitField2_ |= 0x00040000;
878  maxAllDiffCutSize_ = input.readInt32();
879  break;
880  }
881  case 1192: {
882  bitField3_ |= 0x00002000;
883  stopAfterPresolve_ = input.readBool();
884  break;
885  }
886  case 1200: {
887  bitField3_ |= 0x00800000;
888  useRelaxationLns_ = input.readBool();
889  break;
890  }
891  case 1208: {
892  bitField1_ |= 0x00800000;
893  cpModelMaxNumPresolveOperations_ = input.readInt32();
894  break;
895  }
896  case 1216: {
897  bitField2_ |= 0x00080000;
898  addLinMaxCuts_ = input.readBool();
899  break;
900  }
901  case 1224: {
902  bitField2_ |= 0x40000000;
903  hintConflictLimit_ = input.readInt32();
904  break;
905  }
906  case 1232: {
907  bitField2_ |= 0x00800000;
908  maxCutRoundsAtLevelZero_ = input.readInt32();
909  break;
910  }
911  case 1241: {
912  bitField2_ |= 0x02000000;
913  cutMaxActiveCountValue_ = input.readDouble();
914  break;
915  }
916  case 1249: {
917  bitField2_ |= 0x04000000;
918  cutActiveCountDecay_ = input.readDouble();
919  break;
920  }
921  case 1256: {
922  bitField2_ |= 0x08000000;
923  cutCleanupTarget_ = input.readInt32();
924  break;
925  }
926  case 1264: {
927  bitField1_ |= 0x10000000;
928  expandTableConstraints_ = input.readBool();
929  break;
930  }
931  default: {
932  if (!parseUnknownField(
933  input, unknownFields, extensionRegistry, tag)) {
934  done = true;
935  }
936  break;
937  }
938  }
939  }
940  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
941  throw e.setUnfinishedMessage(this);
942  } catch (java.io.IOException e) {
943  throw new com.google.protobuf.InvalidProtocolBufferException(
944  e).setUnfinishedMessage(this);
945  } finally {
946  if (((mutable_bitField0_ & 0x08000000) != 0)) {
947  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
948  }
949  this.unknownFields = unknownFields.build();
950  makeExtensionsImmutable();
951  }
952  }
953  public static final com.google.protobuf.Descriptors.Descriptor
955  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
956  }
957 
958  @java.lang.Override
959  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
961  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
962  .ensureFieldAccessorsInitialized(
964  }
965 
974  public enum VariableOrder
975  implements com.google.protobuf.ProtocolMessageEnum {
992  ;
993 
1001  public static final int IN_ORDER_VALUE = 0;
1005  public static final int IN_REVERSE_ORDER_VALUE = 1;
1009  public static final int IN_RANDOM_ORDER_VALUE = 2;
1010 
1011 
1012  public final int getNumber() {
1013  return value;
1014  }
1015 
1021  @java.lang.Deprecated
1022  public static VariableOrder valueOf(int value) {
1023  return forNumber(value);
1024  }
1025 
1030  public static VariableOrder forNumber(int value) {
1031  switch (value) {
1032  case 0: return IN_ORDER;
1033  case 1: return IN_REVERSE_ORDER;
1034  case 2: return IN_RANDOM_ORDER;
1035  default: return null;
1036  }
1037  }
1038 
1039  public static com.google.protobuf.Internal.EnumLiteMap<VariableOrder>
1041  return internalValueMap;
1042  }
1043  private static final com.google.protobuf.Internal.EnumLiteMap<
1044  VariableOrder> internalValueMap =
1045  new com.google.protobuf.Internal.EnumLiteMap<VariableOrder>() {
1046  public VariableOrder findValueByNumber(int number) {
1047  return VariableOrder.forNumber(number);
1048  }
1049  };
1050 
1051  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1053  return getDescriptor().getValues().get(ordinal());
1054  }
1055  public final com.google.protobuf.Descriptors.EnumDescriptor
1057  return getDescriptor();
1058  }
1059  public static final com.google.protobuf.Descriptors.EnumDescriptor
1061  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
1062  }
1063 
1064  private static final VariableOrder[] VALUES = values();
1065 
1066  public static VariableOrder valueOf(
1067  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1068  if (desc.getType() != getDescriptor()) {
1069  throw new java.lang.IllegalArgumentException(
1070  "EnumValueDescriptor is not for this type.");
1071  }
1072  return VALUES[desc.getIndex()];
1073  }
1074 
1075  private final int value;
1076 
1077  private VariableOrder(int value) {
1078  this.value = value;
1079  }
1080 
1081  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.VariableOrder)
1082  }
1083 
1095  public enum Polarity
1096  implements com.google.protobuf.ProtocolMessageEnum {
1128  ;
1129 
1133  public static final int POLARITY_TRUE_VALUE = 0;
1137  public static final int POLARITY_FALSE_VALUE = 1;
1141  public static final int POLARITY_RANDOM_VALUE = 2;
1152  public static final int POLARITY_WEIGHTED_SIGN_VALUE = 3;
1160  public static final int POLARITY_REVERSE_WEIGHTED_SIGN_VALUE = 4;
1161 
1162 
1163  public final int getNumber() {
1164  return value;
1165  }
1166 
1172  @java.lang.Deprecated
1173  public static Polarity valueOf(int value) {
1174  return forNumber(value);
1175  }
1176 
1181  public static Polarity forNumber(int value) {
1182  switch (value) {
1183  case 0: return POLARITY_TRUE;
1184  case 1: return POLARITY_FALSE;
1185  case 2: return POLARITY_RANDOM;
1186  case 3: return POLARITY_WEIGHTED_SIGN;
1187  case 4: return POLARITY_REVERSE_WEIGHTED_SIGN;
1188  default: return null;
1189  }
1190  }
1191 
1192  public static com.google.protobuf.Internal.EnumLiteMap<Polarity>
1194  return internalValueMap;
1195  }
1196  private static final com.google.protobuf.Internal.EnumLiteMap<
1197  Polarity> internalValueMap =
1198  new com.google.protobuf.Internal.EnumLiteMap<Polarity>() {
1199  public Polarity findValueByNumber(int number) {
1200  return Polarity.forNumber(number);
1201  }
1202  };
1203 
1204  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1206  return getDescriptor().getValues().get(ordinal());
1207  }
1208  public final com.google.protobuf.Descriptors.EnumDescriptor
1210  return getDescriptor();
1211  }
1212  public static final com.google.protobuf.Descriptors.EnumDescriptor
1214  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
1215  }
1216 
1217  private static final Polarity[] VALUES = values();
1218 
1219  public static Polarity valueOf(
1220  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1221  if (desc.getType() != getDescriptor()) {
1222  throw new java.lang.IllegalArgumentException(
1223  "EnumValueDescriptor is not for this type.");
1224  }
1225  return VALUES[desc.getIndex()];
1226  }
1227 
1228  private final int value;
1229 
1230  private Polarity(int value) {
1231  this.value = value;
1232  }
1233 
1234  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.Polarity)
1235  }
1236 
1245  implements com.google.protobuf.ProtocolMessageEnum {
1249  NONE(0),
1262  ;
1263 
1267  public static final int NONE_VALUE = 0;
1271  public static final int SIMPLE_VALUE = 1;
1275  public static final int RECURSIVE_VALUE = 2;
1279  public static final int EXPERIMENTAL_VALUE = 3;
1280 
1281 
1282  public final int getNumber() {
1283  return value;
1284  }
1285 
1291  @java.lang.Deprecated
1292  public static ConflictMinimizationAlgorithm valueOf(int value) {
1293  return forNumber(value);
1294  }
1295 
1300  public static ConflictMinimizationAlgorithm forNumber(int value) {
1301  switch (value) {
1302  case 0: return NONE;
1303  case 1: return SIMPLE;
1304  case 2: return RECURSIVE;
1305  case 3: return EXPERIMENTAL;
1306  default: return null;
1307  }
1308  }
1309 
1310  public static com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>
1312  return internalValueMap;
1313  }
1314  private static final com.google.protobuf.Internal.EnumLiteMap<
1315  ConflictMinimizationAlgorithm> internalValueMap =
1316  new com.google.protobuf.Internal.EnumLiteMap<ConflictMinimizationAlgorithm>() {
1317  public ConflictMinimizationAlgorithm findValueByNumber(int number) {
1319  }
1320  };
1321 
1322  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1324  return getDescriptor().getValues().get(ordinal());
1325  }
1326  public final com.google.protobuf.Descriptors.EnumDescriptor
1328  return getDescriptor();
1329  }
1330  public static final com.google.protobuf.Descriptors.EnumDescriptor
1332  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
1333  }
1334 
1335  private static final ConflictMinimizationAlgorithm[] VALUES = values();
1336 
1338  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1339  if (desc.getType() != getDescriptor()) {
1340  throw new java.lang.IllegalArgumentException(
1341  "EnumValueDescriptor is not for this type.");
1342  }
1343  return VALUES[desc.getIndex()];
1344  }
1345 
1346  private final int value;
1347 
1348  private ConflictMinimizationAlgorithm(int value) {
1349  this.value = value;
1350  }
1351 
1352  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ConflictMinimizationAlgorithm)
1353  }
1354 
1364  implements com.google.protobuf.ProtocolMessageEnum {
1385  ;
1386 
1390  public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
1394  public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
1398  public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
1402  public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
1406  public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
1407 
1408 
1409  public final int getNumber() {
1410  return value;
1411  }
1412 
1418  @java.lang.Deprecated
1419  public static BinaryMinizationAlgorithm valueOf(int value) {
1420  return forNumber(value);
1421  }
1422 
1427  public static BinaryMinizationAlgorithm forNumber(int value) {
1428  switch (value) {
1429  case 0: return NO_BINARY_MINIMIZATION;
1430  case 1: return BINARY_MINIMIZATION_FIRST;
1431  case 4: return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
1432  case 2: return BINARY_MINIMIZATION_WITH_REACHABILITY;
1433  case 3: return EXPERIMENTAL_BINARY_MINIMIZATION;
1434  default: return null;
1435  }
1436  }
1437 
1438  public static com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>
1440  return internalValueMap;
1441  }
1442  private static final com.google.protobuf.Internal.EnumLiteMap<
1443  BinaryMinizationAlgorithm> internalValueMap =
1444  new com.google.protobuf.Internal.EnumLiteMap<BinaryMinizationAlgorithm>() {
1445  public BinaryMinizationAlgorithm findValueByNumber(int number) {
1446  return BinaryMinizationAlgorithm.forNumber(number);
1447  }
1448  };
1449 
1450  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1452  return getDescriptor().getValues().get(ordinal());
1453  }
1454  public final com.google.protobuf.Descriptors.EnumDescriptor
1456  return getDescriptor();
1457  }
1458  public static final com.google.protobuf.Descriptors.EnumDescriptor
1460  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
1461  }
1462 
1463  private static final BinaryMinizationAlgorithm[] VALUES = values();
1464 
1466  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1467  if (desc.getType() != getDescriptor()) {
1468  throw new java.lang.IllegalArgumentException(
1469  "EnumValueDescriptor is not for this type.");
1470  }
1471  return VALUES[desc.getIndex()];
1472  }
1473 
1474  private final int value;
1475 
1476  private BinaryMinizationAlgorithm(int value) {
1477  this.value = value;
1478  }
1479 
1480  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.BinaryMinizationAlgorithm)
1481  }
1482 
1492  public enum ClauseProtection
1493  implements com.google.protobuf.ProtocolMessageEnum {
1518  ;
1519 
1527  public static final int PROTECTION_NONE_VALUE = 0;
1535  public static final int PROTECTION_ALWAYS_VALUE = 1;
1543  public static final int PROTECTION_LBD_VALUE = 2;
1544 
1545 
1546  public final int getNumber() {
1547  return value;
1548  }
1549 
1555  @java.lang.Deprecated
1556  public static ClauseProtection valueOf(int value) {
1557  return forNumber(value);
1558  }
1559 
1564  public static ClauseProtection forNumber(int value) {
1565  switch (value) {
1566  case 0: return PROTECTION_NONE;
1567  case 1: return PROTECTION_ALWAYS;
1568  case 2: return PROTECTION_LBD;
1569  default: return null;
1570  }
1571  }
1572 
1573  public static com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>
1575  return internalValueMap;
1576  }
1577  private static final com.google.protobuf.Internal.EnumLiteMap<
1578  ClauseProtection> internalValueMap =
1579  new com.google.protobuf.Internal.EnumLiteMap<ClauseProtection>() {
1580  public ClauseProtection findValueByNumber(int number) {
1581  return ClauseProtection.forNumber(number);
1582  }
1583  };
1584 
1585  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1587  return getDescriptor().getValues().get(ordinal());
1588  }
1589  public final com.google.protobuf.Descriptors.EnumDescriptor
1591  return getDescriptor();
1592  }
1593  public static final com.google.protobuf.Descriptors.EnumDescriptor
1595  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
1596  }
1597 
1598  private static final ClauseProtection[] VALUES = values();
1599 
1600  public static ClauseProtection valueOf(
1601  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1602  if (desc.getType() != getDescriptor()) {
1603  throw new java.lang.IllegalArgumentException(
1604  "EnumValueDescriptor is not for this type.");
1605  }
1606  return VALUES[desc.getIndex()];
1607  }
1608 
1609  private final int value;
1610 
1611  private ClauseProtection(int value) {
1612  this.value = value;
1613  }
1614 
1615  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseProtection)
1616  }
1617 
1626  public enum ClauseOrdering
1627  implements com.google.protobuf.ProtocolMessageEnum {
1644  ;
1645 
1653  public static final int CLAUSE_ACTIVITY_VALUE = 0;
1661  public static final int CLAUSE_LBD_VALUE = 1;
1662 
1663 
1664  public final int getNumber() {
1665  return value;
1666  }
1667 
1673  @java.lang.Deprecated
1674  public static ClauseOrdering valueOf(int value) {
1675  return forNumber(value);
1676  }
1677 
1682  public static ClauseOrdering forNumber(int value) {
1683  switch (value) {
1684  case 0: return CLAUSE_ACTIVITY;
1685  case 1: return CLAUSE_LBD;
1686  default: return null;
1687  }
1688  }
1689 
1690  public static com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>
1692  return internalValueMap;
1693  }
1694  private static final com.google.protobuf.Internal.EnumLiteMap<
1695  ClauseOrdering> internalValueMap =
1696  new com.google.protobuf.Internal.EnumLiteMap<ClauseOrdering>() {
1697  public ClauseOrdering findValueByNumber(int number) {
1698  return ClauseOrdering.forNumber(number);
1699  }
1700  };
1701 
1702  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1704  return getDescriptor().getValues().get(ordinal());
1705  }
1706  public final com.google.protobuf.Descriptors.EnumDescriptor
1708  return getDescriptor();
1709  }
1710  public static final com.google.protobuf.Descriptors.EnumDescriptor
1712  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
1713  }
1714 
1715  private static final ClauseOrdering[] VALUES = values();
1716 
1717  public static ClauseOrdering valueOf(
1718  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1719  if (desc.getType() != getDescriptor()) {
1720  throw new java.lang.IllegalArgumentException(
1721  "EnumValueDescriptor is not for this type.");
1722  }
1723  return VALUES[desc.getIndex()];
1724  }
1725 
1726  private final int value;
1727 
1728  private ClauseOrdering(int value) {
1729  this.value = value;
1730  }
1731 
1732  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.ClauseOrdering)
1733  }
1734 
1746  public enum RestartAlgorithm
1747  implements com.google.protobuf.ProtocolMessageEnum {
1784  ;
1785 
1789  public static final int NO_RESTART_VALUE = 0;
1797  public static final int LUBY_RESTART_VALUE = 1;
1805  public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
1813  public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
1821  public static final int FIXED_RESTART_VALUE = 4;
1822 
1823 
1824  public final int getNumber() {
1825  return value;
1826  }
1827 
1833  @java.lang.Deprecated
1834  public static RestartAlgorithm valueOf(int value) {
1835  return forNumber(value);
1836  }
1837 
1842  public static RestartAlgorithm forNumber(int value) {
1843  switch (value) {
1844  case 0: return NO_RESTART;
1845  case 1: return LUBY_RESTART;
1846  case 2: return DL_MOVING_AVERAGE_RESTART;
1847  case 3: return LBD_MOVING_AVERAGE_RESTART;
1848  case 4: return FIXED_RESTART;
1849  default: return null;
1850  }
1851  }
1852 
1853  public static com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>
1855  return internalValueMap;
1856  }
1857  private static final com.google.protobuf.Internal.EnumLiteMap<
1858  RestartAlgorithm> internalValueMap =
1859  new com.google.protobuf.Internal.EnumLiteMap<RestartAlgorithm>() {
1860  public RestartAlgorithm findValueByNumber(int number) {
1861  return RestartAlgorithm.forNumber(number);
1862  }
1863  };
1864 
1865  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1867  return getDescriptor().getValues().get(ordinal());
1868  }
1869  public final com.google.protobuf.Descriptors.EnumDescriptor
1871  return getDescriptor();
1872  }
1873  public static final com.google.protobuf.Descriptors.EnumDescriptor
1875  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
1876  }
1877 
1878  private static final RestartAlgorithm[] VALUES = values();
1879 
1880  public static RestartAlgorithm valueOf(
1881  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1882  if (desc.getType() != getDescriptor()) {
1883  throw new java.lang.IllegalArgumentException(
1884  "EnumValueDescriptor is not for this type.");
1885  }
1886  return VALUES[desc.getIndex()];
1887  }
1888 
1889  private final int value;
1890 
1891  private RestartAlgorithm(int value) {
1892  this.value = value;
1893  }
1894 
1895  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.RestartAlgorithm)
1896  }
1897 
1906  implements com.google.protobuf.ProtocolMessageEnum {
1919  ;
1920 
1924  public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
1928  public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
1932  public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
1933 
1934 
1935  public final int getNumber() {
1936  return value;
1937  }
1938 
1944  @java.lang.Deprecated
1945  public static MaxSatAssumptionOrder valueOf(int value) {
1946  return forNumber(value);
1947  }
1948 
1953  public static MaxSatAssumptionOrder forNumber(int value) {
1954  switch (value) {
1955  case 0: return DEFAULT_ASSUMPTION_ORDER;
1956  case 1: return ORDER_ASSUMPTION_BY_DEPTH;
1957  case 2: return ORDER_ASSUMPTION_BY_WEIGHT;
1958  default: return null;
1959  }
1960  }
1961 
1962  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>
1964  return internalValueMap;
1965  }
1966  private static final com.google.protobuf.Internal.EnumLiteMap<
1967  MaxSatAssumptionOrder> internalValueMap =
1968  new com.google.protobuf.Internal.EnumLiteMap<MaxSatAssumptionOrder>() {
1969  public MaxSatAssumptionOrder findValueByNumber(int number) {
1970  return MaxSatAssumptionOrder.forNumber(number);
1971  }
1972  };
1973 
1974  public final com.google.protobuf.Descriptors.EnumValueDescriptor
1976  return getDescriptor().getValues().get(ordinal());
1977  }
1978  public final com.google.protobuf.Descriptors.EnumDescriptor
1980  return getDescriptor();
1981  }
1982  public static final com.google.protobuf.Descriptors.EnumDescriptor
1984  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
1985  }
1986 
1987  private static final MaxSatAssumptionOrder[] VALUES = values();
1988 
1990  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1991  if (desc.getType() != getDescriptor()) {
1992  throw new java.lang.IllegalArgumentException(
1993  "EnumValueDescriptor is not for this type.");
1994  }
1995  return VALUES[desc.getIndex()];
1996  }
1997 
1998  private final int value;
1999 
2000  private MaxSatAssumptionOrder(int value) {
2001  this.value = value;
2002  }
2003 
2004  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatAssumptionOrder)
2005  }
2006 
2015  implements com.google.protobuf.ProtocolMessageEnum {
2044  ;
2045 
2053  public static final int STRATIFICATION_NONE_VALUE = 0;
2062  public static final int STRATIFICATION_DESCENT_VALUE = 1;
2073  public static final int STRATIFICATION_ASCENT_VALUE = 2;
2074 
2075 
2076  public final int getNumber() {
2077  return value;
2078  }
2079 
2085  @java.lang.Deprecated
2086  public static MaxSatStratificationAlgorithm valueOf(int value) {
2087  return forNumber(value);
2088  }
2089 
2094  public static MaxSatStratificationAlgorithm forNumber(int value) {
2095  switch (value) {
2096  case 0: return STRATIFICATION_NONE;
2097  case 1: return STRATIFICATION_DESCENT;
2098  case 2: return STRATIFICATION_ASCENT;
2099  default: return null;
2100  }
2101  }
2102 
2103  public static com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>
2105  return internalValueMap;
2106  }
2107  private static final com.google.protobuf.Internal.EnumLiteMap<
2108  MaxSatStratificationAlgorithm> internalValueMap =
2109  new com.google.protobuf.Internal.EnumLiteMap<MaxSatStratificationAlgorithm>() {
2110  public MaxSatStratificationAlgorithm findValueByNumber(int number) {
2112  }
2113  };
2114 
2115  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2117  return getDescriptor().getValues().get(ordinal());
2118  }
2119  public final com.google.protobuf.Descriptors.EnumDescriptor
2121  return getDescriptor();
2122  }
2123  public static final com.google.protobuf.Descriptors.EnumDescriptor
2125  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
2126  }
2127 
2128  private static final MaxSatStratificationAlgorithm[] VALUES = values();
2129 
2131  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2132  if (desc.getType() != getDescriptor()) {
2133  throw new java.lang.IllegalArgumentException(
2134  "EnumValueDescriptor is not for this type.");
2135  }
2136  return VALUES[desc.getIndex()];
2137  }
2138 
2139  private final int value;
2140 
2141  private MaxSatStratificationAlgorithm(int value) {
2142  this.value = value;
2143  }
2144 
2145  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.MaxSatStratificationAlgorithm)
2146  }
2147 
2155  public enum SearchBranching
2156  implements com.google.protobuf.ProtocolMessageEnum {
2224  ;
2225 
2234  public static final int AUTOMATIC_SEARCH_VALUE = 0;
2244  public static final int FIXED_SEARCH_VALUE = 1;
2252  public static final int PORTFOLIO_SEARCH_VALUE = 2;
2262  public static final int LP_SEARCH_VALUE = 3;
2272  public static final int PSEUDO_COST_SEARCH_VALUE = 4;
2282  public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
2292  public static final int HINT_SEARCH_VALUE = 6;
2293 
2294 
2295  public final int getNumber() {
2296  return value;
2297  }
2298 
2304  @java.lang.Deprecated
2305  public static SearchBranching valueOf(int value) {
2306  return forNumber(value);
2307  }
2308 
2313  public static SearchBranching forNumber(int value) {
2314  switch (value) {
2315  case 0: return AUTOMATIC_SEARCH;
2316  case 1: return FIXED_SEARCH;
2317  case 2: return PORTFOLIO_SEARCH;
2318  case 3: return LP_SEARCH;
2319  case 4: return PSEUDO_COST_SEARCH;
2320  case 5: return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
2321  case 6: return HINT_SEARCH;
2322  default: return null;
2323  }
2324  }
2325 
2326  public static com.google.protobuf.Internal.EnumLiteMap<SearchBranching>
2328  return internalValueMap;
2329  }
2330  private static final com.google.protobuf.Internal.EnumLiteMap<
2331  SearchBranching> internalValueMap =
2332  new com.google.protobuf.Internal.EnumLiteMap<SearchBranching>() {
2333  public SearchBranching findValueByNumber(int number) {
2334  return SearchBranching.forNumber(number);
2335  }
2336  };
2337 
2338  public final com.google.protobuf.Descriptors.EnumValueDescriptor
2340  return getDescriptor().getValues().get(ordinal());
2341  }
2342  public final com.google.protobuf.Descriptors.EnumDescriptor
2344  return getDescriptor();
2345  }
2346  public static final com.google.protobuf.Descriptors.EnumDescriptor
2348  return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
2349  }
2350 
2351  private static final SearchBranching[] VALUES = values();
2352 
2353  public static SearchBranching valueOf(
2354  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
2355  if (desc.getType() != getDescriptor()) {
2356  throw new java.lang.IllegalArgumentException(
2357  "EnumValueDescriptor is not for this type.");
2358  }
2359  return VALUES[desc.getIndex()];
2360  }
2361 
2362  private final int value;
2363 
2364  private SearchBranching(int value) {
2365  this.value = value;
2366  }
2367 
2368  // @@protoc_insertion_point(enum_scope:operations_research.sat.SatParameters.SearchBranching)
2369  }
2370 
2371  private int bitField0_;
2372  private int bitField1_;
2373  private int bitField2_;
2374  private int bitField3_;
2375  private int bitField4_;
2376  public static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER = 1;
2377  private int preferredVariableOrder_;
2382  public boolean hasPreferredVariableOrder() {
2383  return ((bitField0_ & 0x00000001) != 0);
2384  }
2390  @SuppressWarnings("deprecation")
2392  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
2393  }
2394 
2395  public static final int INITIAL_POLARITY_FIELD_NUMBER = 2;
2396  private int initialPolarity_;
2401  public boolean hasInitialPolarity() {
2402  return ((bitField0_ & 0x00000002) != 0);
2403  }
2409  @SuppressWarnings("deprecation")
2411  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
2412  }
2413 
2414  public static final int USE_PHASE_SAVING_FIELD_NUMBER = 44;
2415  private boolean usePhaseSaving_;
2430  public boolean hasUsePhaseSaving() {
2431  return ((bitField0_ & 0x00000004) != 0);
2432  }
2447  public boolean getUsePhaseSaving() {
2448  return usePhaseSaving_;
2449  }
2450 
2451  public static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER = 45;
2452  private double randomPolarityRatio_;
2465  public boolean hasRandomPolarityRatio() {
2466  return ((bitField0_ & 0x00000008) != 0);
2467  }
2480  public double getRandomPolarityRatio() {
2481  return randomPolarityRatio_;
2482  }
2483 
2484  public static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER = 32;
2485  private double randomBranchesRatio_;
2496  public boolean hasRandomBranchesRatio() {
2497  return ((bitField0_ & 0x00000010) != 0);
2498  }
2509  public double getRandomBranchesRatio() {
2510  return randomBranchesRatio_;
2511  }
2512 
2513  public static final int USE_ERWA_HEURISTIC_FIELD_NUMBER = 75;
2514  private boolean useErwaHeuristic_;
2525  public boolean hasUseErwaHeuristic() {
2526  return ((bitField0_ & 0x00000020) != 0);
2527  }
2538  public boolean getUseErwaHeuristic() {
2539  return useErwaHeuristic_;
2540  }
2541 
2542  public static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER = 76;
2543  private double initialVariablesActivity_;
2557  public boolean hasInitialVariablesActivity() {
2558  return ((bitField0_ & 0x00000040) != 0);
2559  }
2574  return initialVariablesActivity_;
2575  }
2576 
2578  private boolean alsoBumpVariablesInConflictReasons_;
2591  return ((bitField0_ & 0x00000080) != 0);
2592  }
2605  return alsoBumpVariablesInConflictReasons_;
2606  }
2607 
2608  public static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER = 4;
2609  private int minimizationAlgorithm_;
2614  public boolean hasMinimizationAlgorithm() {
2615  return ((bitField0_ & 0x00000100) != 0);
2616  }
2622  @SuppressWarnings("deprecation")
2624  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
2625  }
2626 
2627  public static final int BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER = 34;
2628  private int binaryMinimizationAlgorithm_;
2634  return ((bitField0_ & 0x00000200) != 0);
2635  }
2641  @SuppressWarnings("deprecation")
2644  }
2645 
2647  private boolean subsumptionDuringConflictAnalysis_;
2660  return ((bitField0_ & 0x00000400) != 0);
2661  }
2674  return subsumptionDuringConflictAnalysis_;
2675  }
2676 
2677  public static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER = 11;
2678  private int clauseCleanupPeriod_;
2687  public boolean hasClauseCleanupPeriod() {
2688  return ((bitField0_ & 0x00000800) != 0);
2689  }
2698  public int getClauseCleanupPeriod() {
2699  return clauseCleanupPeriod_;
2700  }
2701 
2702  public static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER = 13;
2703  private int clauseCleanupTarget_;
2713  public boolean hasClauseCleanupTarget() {
2714  return ((bitField0_ & 0x00001000) != 0);
2715  }
2725  public int getClauseCleanupTarget() {
2726  return clauseCleanupTarget_;
2727  }
2728 
2729  public static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER = 58;
2730  private int clauseCleanupProtection_;
2735  public boolean hasClauseCleanupProtection() {
2736  return ((bitField0_ & 0x00002000) != 0);
2737  }
2743  @SuppressWarnings("deprecation")
2745  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
2746  }
2747 
2748  public static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER = 59;
2749  private int clauseCleanupLbdBound_;
2759  public boolean hasClauseCleanupLbdBound() {
2760  return ((bitField0_ & 0x00004000) != 0);
2761  }
2772  return clauseCleanupLbdBound_;
2773  }
2774 
2775  public static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER = 60;
2776  private int clauseCleanupOrdering_;
2781  public boolean hasClauseCleanupOrdering() {
2782  return ((bitField0_ & 0x00008000) != 0);
2783  }
2789  @SuppressWarnings("deprecation")
2791  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
2792  }
2793 
2794  public static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER = 46;
2795  private int pbCleanupIncrement_;
2804  public boolean hasPbCleanupIncrement() {
2805  return ((bitField0_ & 0x00010000) != 0);
2806  }
2815  public int getPbCleanupIncrement() {
2816  return pbCleanupIncrement_;
2817  }
2818 
2819  public static final int PB_CLEANUP_RATIO_FIELD_NUMBER = 47;
2820  private double pbCleanupRatio_;
2825  public boolean hasPbCleanupRatio() {
2826  return ((bitField0_ & 0x00020000) != 0);
2827  }
2832  public double getPbCleanupRatio() {
2833  return pbCleanupRatio_;
2834  }
2835 
2837  private int minimizeWithPropagationRestartPeriod_;
2857  return ((bitField0_ & 0x00040000) != 0);
2858  }
2878  return minimizeWithPropagationRestartPeriod_;
2879  }
2880 
2882  private int minimizeWithPropagationNumDecisions_;
2888  return ((bitField0_ & 0x00080000) != 0);
2889  }
2895  return minimizeWithPropagationNumDecisions_;
2896  }
2897 
2898  public static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER = 15;
2899  private double variableActivityDecay_;
2914  public boolean hasVariableActivityDecay() {
2915  return ((bitField0_ & 0x00100000) != 0);
2916  }
2931  public double getVariableActivityDecay() {
2932  return variableActivityDecay_;
2933  }
2934 
2935  public static final int MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER = 16;
2936  private double maxVariableActivityValue_;
2941  public boolean hasMaxVariableActivityValue() {
2942  return ((bitField0_ & 0x00200000) != 0);
2943  }
2949  return maxVariableActivityValue_;
2950  }
2951 
2952  public static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER = 22;
2953  private double glucoseMaxDecay_;
2965  public boolean hasGlucoseMaxDecay() {
2966  return ((bitField0_ & 0x00400000) != 0);
2967  }
2979  public double getGlucoseMaxDecay() {
2980  return glucoseMaxDecay_;
2981  }
2982 
2983  public static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER = 23;
2984  private double glucoseDecayIncrement_;
2989  public boolean hasGlucoseDecayIncrement() {
2990  return ((bitField0_ & 0x00800000) != 0);
2991  }
2996  public double getGlucoseDecayIncrement() {
2997  return glucoseDecayIncrement_;
2998  }
2999 
3000  public static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER = 24;
3001  private int glucoseDecayIncrementPeriod_;
3007  return ((bitField0_ & 0x01000000) != 0);
3008  }
3014  return glucoseDecayIncrementPeriod_;
3015  }
3016 
3017  public static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER = 17;
3018  private double clauseActivityDecay_;
3027  public boolean hasClauseActivityDecay() {
3028  return ((bitField0_ & 0x02000000) != 0);
3029  }
3038  public double getClauseActivityDecay() {
3039  return clauseActivityDecay_;
3040  }
3041 
3042  public static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER = 18;
3043  private double maxClauseActivityValue_;
3048  public boolean hasMaxClauseActivityValue() {
3049  return ((bitField0_ & 0x04000000) != 0);
3050  }
3055  public double getMaxClauseActivityValue() {
3056  return maxClauseActivityValue_;
3057  }
3058 
3059  public static final int RESTART_ALGORITHMS_FIELD_NUMBER = 61;
3060  private java.util.List<java.lang.Integer> restartAlgorithms_;
3061  private static final com.google.protobuf.Internal.ListAdapter.Converter<
3062  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm> restartAlgorithms_converter_ =
3063  new com.google.protobuf.Internal.ListAdapter.Converter<
3064  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>() {
3065  public com.google.ortools.sat.SatParameters.RestartAlgorithm convert(java.lang.Integer from) {
3066  @SuppressWarnings("deprecation")
3068  return result == null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
3069  }
3070  };
3087  return new com.google.protobuf.Internal.ListAdapter<
3088  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
3089  }
3106  return restartAlgorithms_.size();
3107  }
3125  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
3126  }
3127 
3128  public static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER = 70;
3129  private volatile java.lang.Object defaultRestartAlgorithms_;
3134  public boolean hasDefaultRestartAlgorithms() {
3135  return ((bitField0_ & 0x08000000) != 0);
3136  }
3141  public java.lang.String getDefaultRestartAlgorithms() {
3142  java.lang.Object ref = defaultRestartAlgorithms_;
3143  if (ref instanceof java.lang.String) {
3144  return (java.lang.String) ref;
3145  } else {
3146  com.google.protobuf.ByteString bs =
3147  (com.google.protobuf.ByteString) ref;
3148  java.lang.String s = bs.toStringUtf8();
3149  if (bs.isValidUtf8()) {
3150  defaultRestartAlgorithms_ = s;
3151  }
3152  return s;
3153  }
3154  }
3159  public com.google.protobuf.ByteString
3161  java.lang.Object ref = defaultRestartAlgorithms_;
3162  if (ref instanceof java.lang.String) {
3163  com.google.protobuf.ByteString b =
3164  com.google.protobuf.ByteString.copyFromUtf8(
3165  (java.lang.String) ref);
3166  defaultRestartAlgorithms_ = b;
3167  return b;
3168  } else {
3169  return (com.google.protobuf.ByteString) ref;
3170  }
3171  }
3172 
3173  public static final int RESTART_PERIOD_FIELD_NUMBER = 30;
3174  private int restartPeriod_;
3184  public boolean hasRestartPeriod() {
3185  return ((bitField0_ & 0x10000000) != 0);
3186  }
3196  public int getRestartPeriod() {
3197  return restartPeriod_;
3198  }
3199 
3200  public static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER = 62;
3201  private int restartRunningWindowSize_;
3210  public boolean hasRestartRunningWindowSize() {
3211  return ((bitField0_ & 0x20000000) != 0);
3212  }
3222  return restartRunningWindowSize_;
3223  }
3224 
3225  public static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER = 63;
3226  private double restartDlAverageRatio_;
3236  public boolean hasRestartDlAverageRatio() {
3237  return ((bitField0_ & 0x40000000) != 0);
3238  }
3248  public double getRestartDlAverageRatio() {
3249  return restartDlAverageRatio_;
3250  }
3251 
3252  public static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER = 71;
3253  private double restartLbdAverageRatio_;
3258  public boolean hasRestartLbdAverageRatio() {
3259  return ((bitField0_ & 0x80000000) != 0);
3260  }
3265  public double getRestartLbdAverageRatio() {
3266  return restartLbdAverageRatio_;
3267  }
3268 
3269  public static final int USE_BLOCKING_RESTART_FIELD_NUMBER = 64;
3270  private boolean useBlockingRestart_;
3281  public boolean hasUseBlockingRestart() {
3282  return ((bitField1_ & 0x00000001) != 0);
3283  }
3294  public boolean getUseBlockingRestart() {
3295  return useBlockingRestart_;
3296  }
3297 
3298  public static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER = 65;
3299  private int blockingRestartWindowSize_;
3304  public boolean hasBlockingRestartWindowSize() {
3305  return ((bitField1_ & 0x00000002) != 0);
3306  }
3312  return blockingRestartWindowSize_;
3313  }
3314 
3315  public static final int BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER = 66;
3316  private double blockingRestartMultiplier_;
3321  public boolean hasBlockingRestartMultiplier() {
3322  return ((bitField1_ & 0x00000004) != 0);
3323  }
3329  return blockingRestartMultiplier_;
3330  }
3331 
3333  private int numConflictsBeforeStrategyChanges_;
3345  return ((bitField1_ & 0x00000008) != 0);
3346  }
3358  return numConflictsBeforeStrategyChanges_;
3359  }
3360 
3361  public static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER = 69;
3362  private double strategyChangeIncreaseRatio_;
3373  return ((bitField1_ & 0x00000010) != 0);
3374  }
3385  return strategyChangeIncreaseRatio_;
3386  }
3387 
3388  public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 36;
3389  private double maxTimeInSeconds_;
3400  public boolean hasMaxTimeInSeconds() {
3401  return ((bitField1_ & 0x00000020) != 0);
3402  }
3413  public double getMaxTimeInSeconds() {
3414  return maxTimeInSeconds_;
3415  }
3416 
3417  public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 67;
3418  private double maxDeterministicTime_;
3431  public boolean hasMaxDeterministicTime() {
3432  return ((bitField1_ & 0x00000040) != 0);
3433  }
3446  public double getMaxDeterministicTime() {
3447  return maxDeterministicTime_;
3448  }
3449 
3450  public static final int MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER = 37;
3451  private long maxNumberOfConflicts_;
3465  public boolean hasMaxNumberOfConflicts() {
3466  return ((bitField1_ & 0x00000080) != 0);
3467  }
3481  public long getMaxNumberOfConflicts() {
3482  return maxNumberOfConflicts_;
3483  }
3484 
3485  public static final int MAX_MEMORY_IN_MB_FIELD_NUMBER = 40;
3486  private long maxMemoryInMb_;
3498  public boolean hasMaxMemoryInMb() {
3499  return ((bitField1_ & 0x00000100) != 0);
3500  }
3512  public long getMaxMemoryInMb() {
3513  return maxMemoryInMb_;
3514  }
3515 
3516  public static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER = 33;
3517  private boolean treatBinaryClausesSeparately_;
3529  return ((bitField1_ & 0x00000200) != 0);
3530  }
3542  return treatBinaryClausesSeparately_;
3543  }
3544 
3545  public static final int RANDOM_SEED_FIELD_NUMBER = 31;
3546  private int randomSeed_;
3560  public boolean hasRandomSeed() {
3561  return ((bitField1_ & 0x00000400) != 0);
3562  }
3576  public int getRandomSeed() {
3577  return randomSeed_;
3578  }
3579 
3580  public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 41;
3581  private boolean logSearchProgress_;
3590  public boolean hasLogSearchProgress() {
3591  return ((bitField1_ & 0x00000800) != 0);
3592  }
3601  public boolean getLogSearchProgress() {
3602  return logSearchProgress_;
3603  }
3604 
3605  public static final int USE_PB_RESOLUTION_FIELD_NUMBER = 43;
3606  private boolean usePbResolution_;
3618  public boolean hasUsePbResolution() {
3619  return ((bitField1_ & 0x00001000) != 0);
3620  }
3632  public boolean getUsePbResolution() {
3633  return usePbResolution_;
3634  }
3635 
3637  private boolean minimizeReductionDuringPbResolution_;
3650  return ((bitField1_ & 0x00002000) != 0);
3651  }
3664  return minimizeReductionDuringPbResolution_;
3665  }
3666 
3667  public static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER = 49;
3668  private boolean countAssumptionLevelsInLbd_;
3685  return ((bitField1_ & 0x00004000) != 0);
3686  }
3703  return countAssumptionLevelsInLbd_;
3704  }
3705 
3706  public static final int PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER = 54;
3707  private int presolveBveThreshold_;
3718  public boolean hasPresolveBveThreshold() {
3719  return ((bitField1_ & 0x00008000) != 0);
3720  }
3732  return presolveBveThreshold_;
3733  }
3734 
3735  public static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER = 55;
3736  private int presolveBveClauseWeight_;
3746  public boolean hasPresolveBveClauseWeight() {
3747  return ((bitField1_ & 0x00010000) != 0);
3748  }
3759  return presolveBveClauseWeight_;
3760  }
3761 
3763  private double presolveProbingDeterministicTimeLimit_;
3774  return ((bitField1_ & 0x00020000) != 0);
3775  }
3786  return presolveProbingDeterministicTimeLimit_;
3787  }
3788 
3789  public static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER = 88;
3790  private boolean presolveBlockedClause_;
3800  public boolean hasPresolveBlockedClause() {
3801  return ((bitField1_ & 0x00040000) != 0);
3802  }
3812  public boolean getPresolveBlockedClause() {
3813  return presolveBlockedClause_;
3814  }
3815 
3816  public static final int PRESOLVE_USE_BVA_FIELD_NUMBER = 72;
3817  private boolean presolveUseBva_;
3826  public boolean hasPresolveUseBva() {
3827  return ((bitField1_ & 0x00080000) != 0);
3828  }
3837  public boolean getPresolveUseBva() {
3838  return presolveUseBva_;
3839  }
3840 
3841  public static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER = 73;
3842  private int presolveBvaThreshold_;
3854  public boolean hasPresolveBvaThreshold() {
3855  return ((bitField1_ & 0x00100000) != 0);
3856  }
3869  return presolveBvaThreshold_;
3870  }
3871 
3872  public static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER = 138;
3873  private int maxPresolveIterations_;
3884  public boolean hasMaxPresolveIterations() {
3885  return ((bitField1_ & 0x00200000) != 0);
3886  }
3898  return maxPresolveIterations_;
3899  }
3900 
3901  public static final int CP_MODEL_PRESOLVE_FIELD_NUMBER = 86;
3902  private boolean cpModelPresolve_;
3911  public boolean hasCpModelPresolve() {
3912  return ((bitField1_ & 0x00400000) != 0);
3913  }
3922  public boolean getCpModelPresolve() {
3923  return cpModelPresolve_;
3924  }
3925 
3927  private int cpModelMaxNumPresolveOperations_;
3938  return ((bitField1_ & 0x00800000) != 0);
3939  }
3950  return cpModelMaxNumPresolveOperations_;
3951  }
3952 
3953  public static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER = 110;
3954  private int cpModelProbingLevel_;
3963  public boolean hasCpModelProbingLevel() {
3964  return ((bitField1_ & 0x01000000) != 0);
3965  }
3974  public int getCpModelProbingLevel() {
3975  return cpModelProbingLevel_;
3976  }
3977 
3978  public static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER = 93;
3979  private boolean cpModelUseSatPresolve_;
3988  public boolean hasCpModelUseSatPresolve() {
3989  return ((bitField1_ & 0x02000000) != 0);
3990  }
3999  public boolean getCpModelUseSatPresolve() {
4000  return cpModelUseSatPresolve_;
4001  }
4002 
4003  public static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER = 140;
4004  private boolean expandElementConstraints_;
4014  public boolean hasExpandElementConstraints() {
4015  return ((bitField1_ & 0x04000000) != 0);
4016  }
4026  public boolean getExpandElementConstraints() {
4027  return expandElementConstraints_;
4028  }
4029 
4030  public static final int EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER = 143;
4031  private boolean expandAutomatonConstraints_;
4041  return ((bitField1_ & 0x08000000) != 0);
4042  }
4052  return expandAutomatonConstraints_;
4053  }
4054 
4055  public static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER = 158;
4056  private boolean expandTableConstraints_;
4066  public boolean hasExpandTableConstraints() {
4067  return ((bitField1_ & 0x10000000) != 0);
4068  }
4078  public boolean getExpandTableConstraints() {
4079  return expandTableConstraints_;
4080  }
4081 
4082  public static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER = 145;
4083  private double mergeNoOverlapWorkLimit_;
4096  public boolean hasMergeNoOverlapWorkLimit() {
4097  return ((bitField1_ & 0x20000000) != 0);
4098  }
4111  public double getMergeNoOverlapWorkLimit() {
4112  return mergeNoOverlapWorkLimit_;
4113  }
4114 
4115  public static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER = 146;
4116  private double mergeAtMostOneWorkLimit_;
4121  public boolean hasMergeAtMostOneWorkLimit() {
4122  return ((bitField1_ & 0x40000000) != 0);
4123  }
4128  public double getMergeAtMostOneWorkLimit() {
4129  return mergeAtMostOneWorkLimit_;
4130  }
4131 
4132  public static final int PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER = 147;
4133  private int presolveSubstitutionLevel_;
4145  public boolean hasPresolveSubstitutionLevel() {
4146  return ((bitField1_ & 0x80000000) != 0);
4147  }
4160  return presolveSubstitutionLevel_;
4161  }
4162 
4163  public static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER = 35;
4164  private boolean useOptimizationHints_;
4176  public boolean hasUseOptimizationHints() {
4177  return ((bitField2_ & 0x00000001) != 0);
4178  }
4190  public boolean getUseOptimizationHints() {
4191  return useOptimizationHints_;
4192  }
4193 
4194  public static final int MINIMIZE_CORE_FIELD_NUMBER = 50;
4195  private boolean minimizeCore_;
4204  public boolean hasMinimizeCore() {
4205  return ((bitField2_ & 0x00000002) != 0);
4206  }
4215  public boolean getMinimizeCore() {
4216  return minimizeCore_;
4217  }
4218 
4219  public static final int FIND_MULTIPLE_CORES_FIELD_NUMBER = 84;
4220  private boolean findMultipleCores_;
4230  public boolean hasFindMultipleCores() {
4231  return ((bitField2_ & 0x00000004) != 0);
4232  }
4242  public boolean getFindMultipleCores() {
4243  return findMultipleCores_;
4244  }
4245 
4246  public static final int COVER_OPTIMIZATION_FIELD_NUMBER = 89;
4247  private boolean coverOptimization_;
4257  public boolean hasCoverOptimization() {
4258  return ((bitField2_ & 0x00000008) != 0);
4259  }
4269  public boolean getCoverOptimization() {
4270  return coverOptimization_;
4271  }
4272 
4273  public static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER = 51;
4274  private int maxSatAssumptionOrder_;
4279  public boolean hasMaxSatAssumptionOrder() {
4280  return ((bitField2_ & 0x00000010) != 0);
4281  }
4287  @SuppressWarnings("deprecation")
4290  }
4291 
4293  private boolean maxSatReverseAssumptionOrder_;
4304  return ((bitField2_ & 0x00000020) != 0);
4305  }
4316  return maxSatReverseAssumptionOrder_;
4317  }
4318 
4319  public static final int MAX_SAT_STRATIFICATION_FIELD_NUMBER = 53;
4320  private int maxSatStratification_;
4325  public boolean hasMaxSatStratification() {
4326  return ((bitField2_ & 0x00000040) != 0);
4327  }
4333  @SuppressWarnings("deprecation")
4336  }
4337 
4339  private boolean usePrecedencesInDisjunctiveConstraint_;
4356  return ((bitField2_ & 0x00000080) != 0);
4357  }
4374  return usePrecedencesInDisjunctiveConstraint_;
4375  }
4376 
4378  private boolean useOverloadCheckerInCumulativeConstraint_;
4393  return ((bitField2_ & 0x00000100) != 0);
4394  }
4409  return useOverloadCheckerInCumulativeConstraint_;
4410  }
4411 
4413  private boolean useTimetableEdgeFindingInCumulativeConstraint_;
4428  return ((bitField2_ & 0x00000200) != 0);
4429  }
4444  return useTimetableEdgeFindingInCumulativeConstraint_;
4445  }
4446 
4448  private boolean useDisjunctiveConstraintInCumulativeConstraint_;
4465  return ((bitField2_ & 0x00000400) != 0);
4466  }
4483  return useDisjunctiveConstraintInCumulativeConstraint_;
4484  }
4485 
4486  public static final int LINEARIZATION_LEVEL_FIELD_NUMBER = 90;
4487  private int linearizationLevel_;
4499  public boolean hasLinearizationLevel() {
4500  return ((bitField2_ & 0x00000800) != 0);
4501  }
4513  public int getLinearizationLevel() {
4514  return linearizationLevel_;
4515  }
4516 
4517  public static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER = 107;
4518  private int booleanEncodingLevel_;
4528  public boolean hasBooleanEncodingLevel() {
4529  return ((bitField2_ & 0x00001000) != 0);
4530  }
4541  return booleanEncodingLevel_;
4542  }
4543 
4544  public static final int MAX_NUM_CUTS_FIELD_NUMBER = 91;
4545  private int maxNumCuts_;
4557  public boolean hasMaxNumCuts() {
4558  return ((bitField2_ & 0x00002000) != 0);
4559  }
4571  public int getMaxNumCuts() {
4572  return maxNumCuts_;
4573  }
4574 
4575  public static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER = 92;
4576  private boolean onlyAddCutsAtLevelZero_;
4586  public boolean hasOnlyAddCutsAtLevelZero() {
4587  return ((bitField2_ & 0x00004000) != 0);
4588  }
4598  public boolean getOnlyAddCutsAtLevelZero() {
4599  return onlyAddCutsAtLevelZero_;
4600  }
4601 
4602  public static final int ADD_KNAPSACK_CUTS_FIELD_NUMBER = 111;
4603  private boolean addKnapsackCuts_;
4614  public boolean hasAddKnapsackCuts() {
4615  return ((bitField2_ & 0x00008000) != 0);
4616  }
4627  public boolean getAddKnapsackCuts() {
4628  return addKnapsackCuts_;
4629  }
4630 
4631  public static final int ADD_CG_CUTS_FIELD_NUMBER = 117;
4632  private boolean addCgCuts_;
4642  public boolean hasAddCgCuts() {
4643  return ((bitField2_ & 0x00010000) != 0);
4644  }
4654  public boolean getAddCgCuts() {
4655  return addCgCuts_;
4656  }
4657 
4658  public static final int ADD_MIR_CUTS_FIELD_NUMBER = 120;
4659  private boolean addMirCuts_;
4669  public boolean hasAddMirCuts() {
4670  return ((bitField2_ & 0x00020000) != 0);
4671  }
4681  public boolean getAddMirCuts() {
4682  return addMirCuts_;
4683  }
4684 
4685  public static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER = 148;
4686  private int maxAllDiffCutSize_;
4697  public boolean hasMaxAllDiffCutSize() {
4698  return ((bitField2_ & 0x00040000) != 0);
4699  }
4710  public int getMaxAllDiffCutSize() {
4711  return maxAllDiffCutSize_;
4712  }
4713 
4714  public static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER = 152;
4715  private boolean addLinMaxCuts_;
4726  public boolean hasAddLinMaxCuts() {
4727  return ((bitField2_ & 0x00080000) != 0);
4728  }
4739  public boolean getAddLinMaxCuts() {
4740  return addLinMaxCuts_;
4741  }
4742 
4743  public static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER = 119;
4744  private int maxIntegerRoundingScaling_;
4759  public boolean hasMaxIntegerRoundingScaling() {
4760  return ((bitField2_ & 0x00100000) != 0);
4761  }
4777  return maxIntegerRoundingScaling_;
4778  }
4779 
4780  public static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER = 112;
4781  private boolean addLpConstraintsLazily_;
4793  public boolean hasAddLpConstraintsLazily() {
4794  return ((bitField2_ & 0x00200000) != 0);
4795  }
4807  public boolean getAddLpConstraintsLazily() {
4808  return addLpConstraintsLazily_;
4809  }
4810 
4812  private double minOrthogonalityForLpConstraints_;
4826  return ((bitField2_ & 0x00400000) != 0);
4827  }
4841  return minOrthogonalityForLpConstraints_;
4842  }
4843 
4844  public static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER = 154;
4845  private int maxCutRoundsAtLevelZero_;
4854  public boolean hasMaxCutRoundsAtLevelZero() {
4855  return ((bitField2_ & 0x00800000) != 0);
4856  }
4866  return maxCutRoundsAtLevelZero_;
4867  }
4868 
4869  public static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER = 121;
4870  private int maxConsecutiveInactiveCount_;
4882  return ((bitField2_ & 0x01000000) != 0);
4883  }
4895  return maxConsecutiveInactiveCount_;
4896  }
4897 
4898  public static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER = 155;
4899  private double cutMaxActiveCountValue_;
4910  public boolean hasCutMaxActiveCountValue() {
4911  return ((bitField2_ & 0x02000000) != 0);
4912  }
4923  public double getCutMaxActiveCountValue() {
4924  return cutMaxActiveCountValue_;
4925  }
4926 
4927  public static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER = 156;
4928  private double cutActiveCountDecay_;
4933  public boolean hasCutActiveCountDecay() {
4934  return ((bitField2_ & 0x04000000) != 0);
4935  }
4940  public double getCutActiveCountDecay() {
4941  return cutActiveCountDecay_;
4942  }
4943 
4944  public static final int CUT_CLEANUP_TARGET_FIELD_NUMBER = 157;
4945  private int cutCleanupTarget_;
4954  public boolean hasCutCleanupTarget() {
4955  return ((bitField2_ & 0x08000000) != 0);
4956  }
4965  public int getCutCleanupTarget() {
4966  return cutCleanupTarget_;
4967  }
4968 
4969  public static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER = 122;
4970  private int newConstraintsBatchSize_;
4980  public boolean hasNewConstraintsBatchSize() {
4981  return ((bitField2_ & 0x10000000) != 0);
4982  }
4993  return newConstraintsBatchSize_;
4994  }
4995 
4996  public static final int SEARCH_BRANCHING_FIELD_NUMBER = 82;
4997  private int searchBranching_;
5002  public boolean hasSearchBranching() {
5003  return ((bitField2_ & 0x20000000) != 0);
5004  }
5010  @SuppressWarnings("deprecation")
5012  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
5013  }
5014 
5015  public static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER = 153;
5016  private int hintConflictLimit_;
5026  public boolean hasHintConflictLimit() {
5027  return ((bitField2_ & 0x40000000) != 0);
5028  }
5038  public int getHintConflictLimit() {
5039  return hintConflictLimit_;
5040  }
5041 
5042  public static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER = 94;
5043  private boolean exploitIntegerLpSolution_;
5055  public boolean hasExploitIntegerLpSolution() {
5056  return ((bitField2_ & 0x80000000) != 0);
5057  }
5069  public boolean getExploitIntegerLpSolution() {
5070  return exploitIntegerLpSolution_;
5071  }
5072 
5073  public static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER = 116;
5074  private boolean exploitAllLpSolution_;
5085  public boolean hasExploitAllLpSolution() {
5086  return ((bitField3_ & 0x00000001) != 0);
5087  }
5098  public boolean getExploitAllLpSolution() {
5099  return exploitAllLpSolution_;
5100  }
5101 
5102  public static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER = 130;
5103  private boolean exploitBestSolution_;
5112  public boolean hasExploitBestSolution() {
5113  return ((bitField3_ & 0x00000002) != 0);
5114  }
5123  public boolean getExploitBestSolution() {
5124  return exploitBestSolution_;
5125  }
5126 
5127  public static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER = 131;
5128  private boolean exploitObjective_;
5138  public boolean hasExploitObjective() {
5139  return ((bitField3_ & 0x00000004) != 0);
5140  }
5150  public boolean getExploitObjective() {
5151  return exploitObjective_;
5152  }
5153 
5154  public static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER = 142;
5155  private long probingPeriodAtRoot_;
5166  public boolean hasProbingPeriodAtRoot() {
5167  return ((bitField3_ & 0x00000008) != 0);
5168  }
5179  public long getProbingPeriodAtRoot() {
5180  return probingPeriodAtRoot_;
5181  }
5182 
5183  public static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER = 123;
5184  private long pseudoCostReliabilityThreshold_;
5195  return ((bitField3_ & 0x00000010) != 0);
5196  }
5207  return pseudoCostReliabilityThreshold_;
5208  }
5209 
5210  public static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER = 83;
5211  private boolean optimizeWithCore_;
5223  public boolean hasOptimizeWithCore() {
5224  return ((bitField3_ & 0x00000020) != 0);
5225  }
5237  public boolean getOptimizeWithCore() {
5238  return optimizeWithCore_;
5239  }
5240 
5241  public static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER = 99;
5242  private int binarySearchNumConflicts_;
5254  public boolean hasBinarySearchNumConflicts() {
5255  return ((bitField3_ & 0x00000040) != 0);
5256  }
5269  return binarySearchNumConflicts_;
5270  }
5271 
5272  public static final int OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER = 85;
5273  private boolean optimizeWithMaxHs_;
5287  public boolean hasOptimizeWithMaxHs() {
5288  return ((bitField3_ & 0x00000080) != 0);
5289  }
5303  public boolean getOptimizeWithMaxHs() {
5304  return optimizeWithMaxHs_;
5305  }
5306 
5307  public static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER = 87;
5308  private boolean enumerateAllSolutions_;
5322  public boolean hasEnumerateAllSolutions() {
5323  return ((bitField3_ & 0x00000100) != 0);
5324  }
5338  public boolean getEnumerateAllSolutions() {
5339  return enumerateAllSolutions_;
5340  }
5341 
5343  private boolean fillTightenedDomainsInResponse_;
5357  return ((bitField3_ & 0x00000200) != 0);
5358  }
5372  return fillTightenedDomainsInResponse_;
5373  }
5374 
5375  public static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER = 106;
5376  private boolean instantiateAllVariables_;
5386  public boolean hasInstantiateAllVariables() {
5387  return ((bitField3_ & 0x00000400) != 0);
5388  }
5398  public boolean getInstantiateAllVariables() {
5399  return instantiateAllVariables_;
5400  }
5401 
5403  private boolean autoDetectGreaterThanAtLeastOneOf_;
5416  return ((bitField3_ & 0x00000800) != 0);
5417  }
5430  return autoDetectGreaterThanAtLeastOneOf_;
5431  }
5432 
5433  public static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER = 98;
5434  private boolean stopAfterFirstSolution_;
5443  public boolean hasStopAfterFirstSolution() {
5444  return ((bitField3_ & 0x00001000) != 0);
5445  }
5454  public boolean getStopAfterFirstSolution() {
5455  return stopAfterFirstSolution_;
5456  }
5457 
5458  public static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER = 149;
5459  private boolean stopAfterPresolve_;
5469  public boolean hasStopAfterPresolve() {
5470  return ((bitField3_ & 0x00002000) != 0);
5471  }
5481  public boolean getStopAfterPresolve() {
5482  return stopAfterPresolve_;
5483  }
5484 
5485  public static final int NUM_SEARCH_WORKERS_FIELD_NUMBER = 100;
5486  private int numSearchWorkers_;
5496  public boolean hasNumSearchWorkers() {
5497  return ((bitField3_ & 0x00004000) != 0);
5498  }
5508  public int getNumSearchWorkers() {
5509  return numSearchWorkers_;
5510  }
5511 
5512  public static final int INTERLEAVE_SEARCH_FIELD_NUMBER = 136;
5513  private boolean interleaveSearch_;
5526  public boolean hasInterleaveSearch() {
5527  return ((bitField3_ & 0x00008000) != 0);
5528  }
5541  public boolean getInterleaveSearch() {
5542  return interleaveSearch_;
5543  }
5544 
5545  public static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER = 134;
5546  private int interleaveBatchSize_;
5551  public boolean hasInterleaveBatchSize() {
5552  return ((bitField3_ & 0x00010000) != 0);
5553  }
5558  public int getInterleaveBatchSize() {
5559  return interleaveBatchSize_;
5560  }
5561 
5563  private boolean reduceMemoryUsageInInterleaveMode_;
5573  return ((bitField3_ & 0x00020000) != 0);
5574  }
5584  return reduceMemoryUsageInInterleaveMode_;
5585  }
5586 
5587  public static final int SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER = 113;
5588  private boolean shareObjectiveBounds_;
5597  public boolean hasShareObjectiveBounds() {
5598  return ((bitField3_ & 0x00040000) != 0);
5599  }
5608  public boolean getShareObjectiveBounds() {
5609  return shareObjectiveBounds_;
5610  }
5611 
5612  public static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER = 114;
5613  private boolean shareLevelZeroBounds_;
5622  public boolean hasShareLevelZeroBounds() {
5623  return ((bitField3_ & 0x00080000) != 0);
5624  }
5633  public boolean getShareLevelZeroBounds() {
5634  return shareLevelZeroBounds_;
5635  }
5636 
5637  public static final int USE_LNS_ONLY_FIELD_NUMBER = 101;
5638  private boolean useLnsOnly_;
5647  public boolean hasUseLnsOnly() {
5648  return ((bitField3_ & 0x00100000) != 0);
5649  }
5658  public boolean getUseLnsOnly() {
5659  return useLnsOnly_;
5660  }
5661 
5662  public static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER = 105;
5663  private boolean lnsFocusOnDecisionVariables_;
5669  return ((bitField3_ & 0x00200000) != 0);
5670  }
5676  return lnsFocusOnDecisionVariables_;
5677  }
5678 
5679  public static final int USE_RINS_LNS_FIELD_NUMBER = 129;
5680  private boolean useRinsLns_;
5689  public boolean hasUseRinsLns() {
5690  return ((bitField3_ & 0x00400000) != 0);
5691  }
5700  public boolean getUseRinsLns() {
5701  return useRinsLns_;
5702  }
5703 
5704  public static final int USE_RELAXATION_LNS_FIELD_NUMBER = 150;
5705  private boolean useRelaxationLns_;
5715  public boolean hasUseRelaxationLns() {
5716  return ((bitField3_ & 0x00800000) != 0);
5717  }
5727  public boolean getUseRelaxationLns() {
5728  return useRelaxationLns_;
5729  }
5730 
5731  public static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER = 137;
5732  private boolean diversifyLnsParams_;
5741  public boolean hasDiversifyLnsParams() {
5742  return ((bitField3_ & 0x01000000) != 0);
5743  }
5752  public boolean getDiversifyLnsParams() {
5753  return diversifyLnsParams_;
5754  }
5755 
5756  public static final int RANDOMIZE_SEARCH_FIELD_NUMBER = 103;
5757  private boolean randomizeSearch_;
5766  public boolean hasRandomizeSearch() {
5767  return ((bitField3_ & 0x02000000) != 0);
5768  }
5777  public boolean getRandomizeSearch() {
5778  return randomizeSearch_;
5779  }
5780 
5781  public static final int SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER = 104;
5782  private long searchRandomizationTolerance_;
5798  return ((bitField3_ & 0x04000000) != 0);
5799  }
5815  return searchRandomizationTolerance_;
5816  }
5817 
5818  public static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER = 108;
5819  private boolean useOptionalVariables_;
5830  public boolean hasUseOptionalVariables() {
5831  return ((bitField3_ & 0x08000000) != 0);
5832  }
5843  public boolean getUseOptionalVariables() {
5844  return useOptionalVariables_;
5845  }
5846 
5847  public static final int USE_EXACT_LP_REASON_FIELD_NUMBER = 109;
5848  private boolean useExactLpReason_;
5860  public boolean hasUseExactLpReason() {
5861  return ((bitField3_ & 0x10000000) != 0);
5862  }
5874  public boolean getUseExactLpReason() {
5875  return useExactLpReason_;
5876  }
5877 
5878  public static final int USE_BRANCHING_IN_LP_FIELD_NUMBER = 139;
5879  private boolean useBranchingInLp_;
5890  public boolean hasUseBranchingInLp() {
5891  return ((bitField3_ & 0x20000000) != 0);
5892  }
5903  public boolean getUseBranchingInLp() {
5904  return useBranchingInLp_;
5905  }
5906 
5907  public static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER = 133;
5908  private boolean useCombinedNoOverlap_;
5919  public boolean hasUseCombinedNoOverlap() {
5920  return ((bitField3_ & 0x40000000) != 0);
5921  }
5932  public boolean getUseCombinedNoOverlap() {
5933  return useCombinedNoOverlap_;
5934  }
5935 
5936  public static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER = 135;
5937  private boolean catchSigintSignal_;
5948  public boolean hasCatchSigintSignal() {
5949  return ((bitField3_ & 0x80000000) != 0);
5950  }
5961  public boolean getCatchSigintSignal() {
5962  return catchSigintSignal_;
5963  }
5964 
5965  public static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER = 144;
5966  private boolean useImpliedBounds_;
5977  public boolean hasUseImpliedBounds() {
5978  return ((bitField4_ & 0x00000001) != 0);
5979  }
5990  public boolean getUseImpliedBounds() {
5991  return useImpliedBounds_;
5992  }
5993 
5994  public static final int MIP_MAX_BOUND_FIELD_NUMBER = 124;
5995  private double mipMaxBound_;
6006  public boolean hasMipMaxBound() {
6007  return ((bitField4_ & 0x00000002) != 0);
6008  }
6019  public double getMipMaxBound() {
6020  return mipMaxBound_;
6021  }
6022 
6023  public static final int MIP_VAR_SCALING_FIELD_NUMBER = 125;
6024  private double mipVarScaling_;
6035  public boolean hasMipVarScaling() {
6036  return ((bitField4_ & 0x00000004) != 0);
6037  }
6048  public double getMipVarScaling() {
6049  return mipVarScaling_;
6050  }
6051 
6052  public static final int MIP_WANTED_PRECISION_FIELD_NUMBER = 126;
6053  private double mipWantedPrecision_;
6070  public boolean hasMipWantedPrecision() {
6071  return ((bitField4_ & 0x00000008) != 0);
6072  }
6089  public double getMipWantedPrecision() {
6090  return mipWantedPrecision_;
6091  }
6092 
6093  public static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER = 127;
6094  private int mipMaxActivityExponent_;
6109  public boolean hasMipMaxActivityExponent() {
6110  return ((bitField4_ & 0x00000010) != 0);
6111  }
6127  return mipMaxActivityExponent_;
6128  }
6129 
6130  public static final int MIP_CHECK_PRECISION_FIELD_NUMBER = 128;
6131  private double mipCheckPrecision_;
6143  public boolean hasMipCheckPrecision() {
6144  return ((bitField4_ & 0x00000020) != 0);
6145  }
6157  public double getMipCheckPrecision() {
6158  return mipCheckPrecision_;
6159  }
6160 
6161  private byte memoizedIsInitialized = -1;
6162  @java.lang.Override
6163  public final boolean isInitialized() {
6164  byte isInitialized = memoizedIsInitialized;
6165  if (isInitialized == 1) return true;
6166  if (isInitialized == 0) return false;
6167 
6168  memoizedIsInitialized = 1;
6169  return true;
6170  }
6171 
6172  @java.lang.Override
6173  public void writeTo(com.google.protobuf.CodedOutputStream output)
6174  throws java.io.IOException {
6175  if (((bitField0_ & 0x00000001) != 0)) {
6176  output.writeEnum(1, preferredVariableOrder_);
6177  }
6178  if (((bitField0_ & 0x00000002) != 0)) {
6179  output.writeEnum(2, initialPolarity_);
6180  }
6181  if (((bitField0_ & 0x00000100) != 0)) {
6182  output.writeEnum(4, minimizationAlgorithm_);
6183  }
6184  if (((bitField0_ & 0x00000800) != 0)) {
6185  output.writeInt32(11, clauseCleanupPeriod_);
6186  }
6187  if (((bitField0_ & 0x00001000) != 0)) {
6188  output.writeInt32(13, clauseCleanupTarget_);
6189  }
6190  if (((bitField0_ & 0x00100000) != 0)) {
6191  output.writeDouble(15, variableActivityDecay_);
6192  }
6193  if (((bitField0_ & 0x00200000) != 0)) {
6194  output.writeDouble(16, maxVariableActivityValue_);
6195  }
6196  if (((bitField0_ & 0x02000000) != 0)) {
6197  output.writeDouble(17, clauseActivityDecay_);
6198  }
6199  if (((bitField0_ & 0x04000000) != 0)) {
6200  output.writeDouble(18, maxClauseActivityValue_);
6201  }
6202  if (((bitField0_ & 0x00400000) != 0)) {
6203  output.writeDouble(22, glucoseMaxDecay_);
6204  }
6205  if (((bitField0_ & 0x00800000) != 0)) {
6206  output.writeDouble(23, glucoseDecayIncrement_);
6207  }
6208  if (((bitField0_ & 0x01000000) != 0)) {
6209  output.writeInt32(24, glucoseDecayIncrementPeriod_);
6210  }
6211  if (((bitField0_ & 0x10000000) != 0)) {
6212  output.writeInt32(30, restartPeriod_);
6213  }
6214  if (((bitField1_ & 0x00000400) != 0)) {
6215  output.writeInt32(31, randomSeed_);
6216  }
6217  if (((bitField0_ & 0x00000010) != 0)) {
6218  output.writeDouble(32, randomBranchesRatio_);
6219  }
6220  if (((bitField1_ & 0x00000200) != 0)) {
6221  output.writeBool(33, treatBinaryClausesSeparately_);
6222  }
6223  if (((bitField0_ & 0x00000200) != 0)) {
6224  output.writeEnum(34, binaryMinimizationAlgorithm_);
6225  }
6226  if (((bitField2_ & 0x00000001) != 0)) {
6227  output.writeBool(35, useOptimizationHints_);
6228  }
6229  if (((bitField1_ & 0x00000020) != 0)) {
6230  output.writeDouble(36, maxTimeInSeconds_);
6231  }
6232  if (((bitField1_ & 0x00000080) != 0)) {
6233  output.writeInt64(37, maxNumberOfConflicts_);
6234  }
6235  if (((bitField1_ & 0x00000100) != 0)) {
6236  output.writeInt64(40, maxMemoryInMb_);
6237  }
6238  if (((bitField1_ & 0x00000800) != 0)) {
6239  output.writeBool(41, logSearchProgress_);
6240  }
6241  if (((bitField1_ & 0x00001000) != 0)) {
6242  output.writeBool(43, usePbResolution_);
6243  }
6244  if (((bitField0_ & 0x00000004) != 0)) {
6245  output.writeBool(44, usePhaseSaving_);
6246  }
6247  if (((bitField0_ & 0x00000008) != 0)) {
6248  output.writeDouble(45, randomPolarityRatio_);
6249  }
6250  if (((bitField0_ & 0x00010000) != 0)) {
6251  output.writeInt32(46, pbCleanupIncrement_);
6252  }
6253  if (((bitField0_ & 0x00020000) != 0)) {
6254  output.writeDouble(47, pbCleanupRatio_);
6255  }
6256  if (((bitField1_ & 0x00002000) != 0)) {
6257  output.writeBool(48, minimizeReductionDuringPbResolution_);
6258  }
6259  if (((bitField1_ & 0x00004000) != 0)) {
6260  output.writeBool(49, countAssumptionLevelsInLbd_);
6261  }
6262  if (((bitField2_ & 0x00000002) != 0)) {
6263  output.writeBool(50, minimizeCore_);
6264  }
6265  if (((bitField2_ & 0x00000010) != 0)) {
6266  output.writeEnum(51, maxSatAssumptionOrder_);
6267  }
6268  if (((bitField2_ & 0x00000020) != 0)) {
6269  output.writeBool(52, maxSatReverseAssumptionOrder_);
6270  }
6271  if (((bitField2_ & 0x00000040) != 0)) {
6272  output.writeEnum(53, maxSatStratification_);
6273  }
6274  if (((bitField1_ & 0x00008000) != 0)) {
6275  output.writeInt32(54, presolveBveThreshold_);
6276  }
6277  if (((bitField1_ & 0x00010000) != 0)) {
6278  output.writeInt32(55, presolveBveClauseWeight_);
6279  }
6280  if (((bitField0_ & 0x00000400) != 0)) {
6281  output.writeBool(56, subsumptionDuringConflictAnalysis_);
6282  }
6283  if (((bitField1_ & 0x00020000) != 0)) {
6284  output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
6285  }
6286  if (((bitField0_ & 0x00002000) != 0)) {
6287  output.writeEnum(58, clauseCleanupProtection_);
6288  }
6289  if (((bitField0_ & 0x00004000) != 0)) {
6290  output.writeInt32(59, clauseCleanupLbdBound_);
6291  }
6292  if (((bitField0_ & 0x00008000) != 0)) {
6293  output.writeEnum(60, clauseCleanupOrdering_);
6294  }
6295  for (int i = 0; i < restartAlgorithms_.size(); i++) {
6296  output.writeEnum(61, restartAlgorithms_.get(i));
6297  }
6298  if (((bitField0_ & 0x20000000) != 0)) {
6299  output.writeInt32(62, restartRunningWindowSize_);
6300  }
6301  if (((bitField0_ & 0x40000000) != 0)) {
6302  output.writeDouble(63, restartDlAverageRatio_);
6303  }
6304  if (((bitField1_ & 0x00000001) != 0)) {
6305  output.writeBool(64, useBlockingRestart_);
6306  }
6307  if (((bitField1_ & 0x00000002) != 0)) {
6308  output.writeInt32(65, blockingRestartWindowSize_);
6309  }
6310  if (((bitField1_ & 0x00000004) != 0)) {
6311  output.writeDouble(66, blockingRestartMultiplier_);
6312  }
6313  if (((bitField1_ & 0x00000040) != 0)) {
6314  output.writeDouble(67, maxDeterministicTime_);
6315  }
6316  if (((bitField1_ & 0x00000008) != 0)) {
6317  output.writeInt32(68, numConflictsBeforeStrategyChanges_);
6318  }
6319  if (((bitField1_ & 0x00000010) != 0)) {
6320  output.writeDouble(69, strategyChangeIncreaseRatio_);
6321  }
6322  if (((bitField0_ & 0x08000000) != 0)) {
6323  com.google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
6324  }
6325  if (((bitField0_ & 0x80000000) != 0)) {
6326  output.writeDouble(71, restartLbdAverageRatio_);
6327  }
6328  if (((bitField1_ & 0x00080000) != 0)) {
6329  output.writeBool(72, presolveUseBva_);
6330  }
6331  if (((bitField1_ & 0x00100000) != 0)) {
6332  output.writeInt32(73, presolveBvaThreshold_);
6333  }
6334  if (((bitField2_ & 0x00000080) != 0)) {
6335  output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
6336  }
6337  if (((bitField0_ & 0x00000020) != 0)) {
6338  output.writeBool(75, useErwaHeuristic_);
6339  }
6340  if (((bitField0_ & 0x00000040) != 0)) {
6341  output.writeDouble(76, initialVariablesActivity_);
6342  }
6343  if (((bitField0_ & 0x00000080) != 0)) {
6344  output.writeBool(77, alsoBumpVariablesInConflictReasons_);
6345  }
6346  if (((bitField2_ & 0x00000100) != 0)) {
6347  output.writeBool(78, useOverloadCheckerInCumulativeConstraint_);
6348  }
6349  if (((bitField2_ & 0x00000200) != 0)) {
6350  output.writeBool(79, useTimetableEdgeFindingInCumulativeConstraint_);
6351  }
6352  if (((bitField2_ & 0x00000400) != 0)) {
6353  output.writeBool(80, useDisjunctiveConstraintInCumulativeConstraint_);
6354  }
6355  if (((bitField2_ & 0x20000000) != 0)) {
6356  output.writeEnum(82, searchBranching_);
6357  }
6358  if (((bitField3_ & 0x00000020) != 0)) {
6359  output.writeBool(83, optimizeWithCore_);
6360  }
6361  if (((bitField2_ & 0x00000004) != 0)) {
6362  output.writeBool(84, findMultipleCores_);
6363  }
6364  if (((bitField3_ & 0x00000080) != 0)) {
6365  output.writeBool(85, optimizeWithMaxHs_);
6366  }
6367  if (((bitField1_ & 0x00400000) != 0)) {
6368  output.writeBool(86, cpModelPresolve_);
6369  }
6370  if (((bitField3_ & 0x00000100) != 0)) {
6371  output.writeBool(87, enumerateAllSolutions_);
6372  }
6373  if (((bitField1_ & 0x00040000) != 0)) {
6374  output.writeBool(88, presolveBlockedClause_);
6375  }
6376  if (((bitField2_ & 0x00000008) != 0)) {
6377  output.writeBool(89, coverOptimization_);
6378  }
6379  if (((bitField2_ & 0x00000800) != 0)) {
6380  output.writeInt32(90, linearizationLevel_);
6381  }
6382  if (((bitField2_ & 0x00002000) != 0)) {
6383  output.writeInt32(91, maxNumCuts_);
6384  }
6385  if (((bitField2_ & 0x00004000) != 0)) {
6386  output.writeBool(92, onlyAddCutsAtLevelZero_);
6387  }
6388  if (((bitField1_ & 0x02000000) != 0)) {
6389  output.writeBool(93, cpModelUseSatPresolve_);
6390  }
6391  if (((bitField2_ & 0x80000000) != 0)) {
6392  output.writeBool(94, exploitIntegerLpSolution_);
6393  }
6394  if (((bitField3_ & 0x00000800) != 0)) {
6395  output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
6396  }
6397  if (((bitField0_ & 0x00040000) != 0)) {
6398  output.writeInt32(96, minimizeWithPropagationRestartPeriod_);
6399  }
6400  if (((bitField0_ & 0x00080000) != 0)) {
6401  output.writeInt32(97, minimizeWithPropagationNumDecisions_);
6402  }
6403  if (((bitField3_ & 0x00001000) != 0)) {
6404  output.writeBool(98, stopAfterFirstSolution_);
6405  }
6406  if (((bitField3_ & 0x00000040) != 0)) {
6407  output.writeInt32(99, binarySearchNumConflicts_);
6408  }
6409  if (((bitField3_ & 0x00004000) != 0)) {
6410  output.writeInt32(100, numSearchWorkers_);
6411  }
6412  if (((bitField3_ & 0x00100000) != 0)) {
6413  output.writeBool(101, useLnsOnly_);
6414  }
6415  if (((bitField3_ & 0x02000000) != 0)) {
6416  output.writeBool(103, randomizeSearch_);
6417  }
6418  if (((bitField3_ & 0x04000000) != 0)) {
6419  output.writeInt64(104, searchRandomizationTolerance_);
6420  }
6421  if (((bitField3_ & 0x00200000) != 0)) {
6422  output.writeBool(105, lnsFocusOnDecisionVariables_);
6423  }
6424  if (((bitField3_ & 0x00000400) != 0)) {
6425  output.writeBool(106, instantiateAllVariables_);
6426  }
6427  if (((bitField2_ & 0x00001000) != 0)) {
6428  output.writeInt32(107, booleanEncodingLevel_);
6429  }
6430  if (((bitField3_ & 0x08000000) != 0)) {
6431  output.writeBool(108, useOptionalVariables_);
6432  }
6433  if (((bitField3_ & 0x10000000) != 0)) {
6434  output.writeBool(109, useExactLpReason_);
6435  }
6436  if (((bitField1_ & 0x01000000) != 0)) {
6437  output.writeInt32(110, cpModelProbingLevel_);
6438  }
6439  if (((bitField2_ & 0x00008000) != 0)) {
6440  output.writeBool(111, addKnapsackCuts_);
6441  }
6442  if (((bitField2_ & 0x00200000) != 0)) {
6443  output.writeBool(112, addLpConstraintsLazily_);
6444  }
6445  if (((bitField3_ & 0x00040000) != 0)) {
6446  output.writeBool(113, shareObjectiveBounds_);
6447  }
6448  if (((bitField3_ & 0x00080000) != 0)) {
6449  output.writeBool(114, shareLevelZeroBounds_);
6450  }
6451  if (((bitField2_ & 0x00400000) != 0)) {
6452  output.writeDouble(115, minOrthogonalityForLpConstraints_);
6453  }
6454  if (((bitField3_ & 0x00000001) != 0)) {
6455  output.writeBool(116, exploitAllLpSolution_);
6456  }
6457  if (((bitField2_ & 0x00010000) != 0)) {
6458  output.writeBool(117, addCgCuts_);
6459  }
6460  if (((bitField2_ & 0x00100000) != 0)) {
6461  output.writeInt32(119, maxIntegerRoundingScaling_);
6462  }
6463  if (((bitField2_ & 0x00020000) != 0)) {
6464  output.writeBool(120, addMirCuts_);
6465  }
6466  if (((bitField2_ & 0x01000000) != 0)) {
6467  output.writeInt32(121, maxConsecutiveInactiveCount_);
6468  }
6469  if (((bitField2_ & 0x10000000) != 0)) {
6470  output.writeInt32(122, newConstraintsBatchSize_);
6471  }
6472  if (((bitField3_ & 0x00000010) != 0)) {
6473  output.writeInt64(123, pseudoCostReliabilityThreshold_);
6474  }
6475  if (((bitField4_ & 0x00000002) != 0)) {
6476  output.writeDouble(124, mipMaxBound_);
6477  }
6478  if (((bitField4_ & 0x00000004) != 0)) {
6479  output.writeDouble(125, mipVarScaling_);
6480  }
6481  if (((bitField4_ & 0x00000008) != 0)) {
6482  output.writeDouble(126, mipWantedPrecision_);
6483  }
6484  if (((bitField4_ & 0x00000010) != 0)) {
6485  output.writeInt32(127, mipMaxActivityExponent_);
6486  }
6487  if (((bitField4_ & 0x00000020) != 0)) {
6488  output.writeDouble(128, mipCheckPrecision_);
6489  }
6490  if (((bitField3_ & 0x00400000) != 0)) {
6491  output.writeBool(129, useRinsLns_);
6492  }
6493  if (((bitField3_ & 0x00000002) != 0)) {
6494  output.writeBool(130, exploitBestSolution_);
6495  }
6496  if (((bitField3_ & 0x00000004) != 0)) {
6497  output.writeBool(131, exploitObjective_);
6498  }
6499  if (((bitField3_ & 0x00000200) != 0)) {
6500  output.writeBool(132, fillTightenedDomainsInResponse_);
6501  }
6502  if (((bitField3_ & 0x40000000) != 0)) {
6503  output.writeBool(133, useCombinedNoOverlap_);
6504  }
6505  if (((bitField3_ & 0x00010000) != 0)) {
6506  output.writeInt32(134, interleaveBatchSize_);
6507  }
6508  if (((bitField3_ & 0x80000000) != 0)) {
6509  output.writeBool(135, catchSigintSignal_);
6510  }
6511  if (((bitField3_ & 0x00008000) != 0)) {
6512  output.writeBool(136, interleaveSearch_);
6513  }
6514  if (((bitField3_ & 0x01000000) != 0)) {
6515  output.writeBool(137, diversifyLnsParams_);
6516  }
6517  if (((bitField1_ & 0x00200000) != 0)) {
6518  output.writeInt32(138, maxPresolveIterations_);
6519  }
6520  if (((bitField3_ & 0x20000000) != 0)) {
6521  output.writeBool(139, useBranchingInLp_);
6522  }
6523  if (((bitField1_ & 0x04000000) != 0)) {
6524  output.writeBool(140, expandElementConstraints_);
6525  }
6526  if (((bitField3_ & 0x00020000) != 0)) {
6527  output.writeBool(141, reduceMemoryUsageInInterleaveMode_);
6528  }
6529  if (((bitField3_ & 0x00000008) != 0)) {
6530  output.writeInt64(142, probingPeriodAtRoot_);
6531  }
6532  if (((bitField1_ & 0x08000000) != 0)) {
6533  output.writeBool(143, expandAutomatonConstraints_);
6534  }
6535  if (((bitField4_ & 0x00000001) != 0)) {
6536  output.writeBool(144, useImpliedBounds_);
6537  }
6538  if (((bitField1_ & 0x20000000) != 0)) {
6539  output.writeDouble(145, mergeNoOverlapWorkLimit_);
6540  }
6541  if (((bitField1_ & 0x40000000) != 0)) {
6542  output.writeDouble(146, mergeAtMostOneWorkLimit_);
6543  }
6544  if (((bitField1_ & 0x80000000) != 0)) {
6545  output.writeInt32(147, presolveSubstitutionLevel_);
6546  }
6547  if (((bitField2_ & 0x00040000) != 0)) {
6548  output.writeInt32(148, maxAllDiffCutSize_);
6549  }
6550  if (((bitField3_ & 0x00002000) != 0)) {
6551  output.writeBool(149, stopAfterPresolve_);
6552  }
6553  if (((bitField3_ & 0x00800000) != 0)) {
6554  output.writeBool(150, useRelaxationLns_);
6555  }
6556  if (((bitField1_ & 0x00800000) != 0)) {
6557  output.writeInt32(151, cpModelMaxNumPresolveOperations_);
6558  }
6559  if (((bitField2_ & 0x00080000) != 0)) {
6560  output.writeBool(152, addLinMaxCuts_);
6561  }
6562  if (((bitField2_ & 0x40000000) != 0)) {
6563  output.writeInt32(153, hintConflictLimit_);
6564  }
6565  if (((bitField2_ & 0x00800000) != 0)) {
6566  output.writeInt32(154, maxCutRoundsAtLevelZero_);
6567  }
6568  if (((bitField2_ & 0x02000000) != 0)) {
6569  output.writeDouble(155, cutMaxActiveCountValue_);
6570  }
6571  if (((bitField2_ & 0x04000000) != 0)) {
6572  output.writeDouble(156, cutActiveCountDecay_);
6573  }
6574  if (((bitField2_ & 0x08000000) != 0)) {
6575  output.writeInt32(157, cutCleanupTarget_);
6576  }
6577  if (((bitField1_ & 0x10000000) != 0)) {
6578  output.writeBool(158, expandTableConstraints_);
6579  }
6580  unknownFields.writeTo(output);
6581  }
6582 
6583  @java.lang.Override
6584  public int getSerializedSize() {
6585  int size = memoizedSize;
6586  if (size != -1) return size;
6587 
6588  size = 0;
6589  if (((bitField0_ & 0x00000001) != 0)) {
6590  size += com.google.protobuf.CodedOutputStream
6591  .computeEnumSize(1, preferredVariableOrder_);
6592  }
6593  if (((bitField0_ & 0x00000002) != 0)) {
6594  size += com.google.protobuf.CodedOutputStream
6595  .computeEnumSize(2, initialPolarity_);
6596  }
6597  if (((bitField0_ & 0x00000100) != 0)) {
6598  size += com.google.protobuf.CodedOutputStream
6599  .computeEnumSize(4, minimizationAlgorithm_);
6600  }
6601  if (((bitField0_ & 0x00000800) != 0)) {
6602  size += com.google.protobuf.CodedOutputStream
6603  .computeInt32Size(11, clauseCleanupPeriod_);
6604  }
6605  if (((bitField0_ & 0x00001000) != 0)) {
6606  size += com.google.protobuf.CodedOutputStream
6607  .computeInt32Size(13, clauseCleanupTarget_);
6608  }
6609  if (((bitField0_ & 0x00100000) != 0)) {
6610  size += com.google.protobuf.CodedOutputStream
6611  .computeDoubleSize(15, variableActivityDecay_);
6612  }
6613  if (((bitField0_ & 0x00200000) != 0)) {
6614  size += com.google.protobuf.CodedOutputStream
6615  .computeDoubleSize(16, maxVariableActivityValue_);
6616  }
6617  if (((bitField0_ & 0x02000000) != 0)) {
6618  size += com.google.protobuf.CodedOutputStream
6619  .computeDoubleSize(17, clauseActivityDecay_);
6620  }
6621  if (((bitField0_ & 0x04000000) != 0)) {
6622  size += com.google.protobuf.CodedOutputStream
6623  .computeDoubleSize(18, maxClauseActivityValue_);
6624  }
6625  if (((bitField0_ & 0x00400000) != 0)) {
6626  size += com.google.protobuf.CodedOutputStream
6627  .computeDoubleSize(22, glucoseMaxDecay_);
6628  }
6629  if (((bitField0_ & 0x00800000) != 0)) {
6630  size += com.google.protobuf.CodedOutputStream
6631  .computeDoubleSize(23, glucoseDecayIncrement_);
6632  }
6633  if (((bitField0_ & 0x01000000) != 0)) {
6634  size += com.google.protobuf.CodedOutputStream
6635  .computeInt32Size(24, glucoseDecayIncrementPeriod_);
6636  }
6637  if (((bitField0_ & 0x10000000) != 0)) {
6638  size += com.google.protobuf.CodedOutputStream
6639  .computeInt32Size(30, restartPeriod_);
6640  }
6641  if (((bitField1_ & 0x00000400) != 0)) {
6642  size += com.google.protobuf.CodedOutputStream
6643  .computeInt32Size(31, randomSeed_);
6644  }
6645  if (((bitField0_ & 0x00000010) != 0)) {
6646  size += com.google.protobuf.CodedOutputStream
6647  .computeDoubleSize(32, randomBranchesRatio_);
6648  }
6649  if (((bitField1_ & 0x00000200) != 0)) {
6650  size += com.google.protobuf.CodedOutputStream
6651  .computeBoolSize(33, treatBinaryClausesSeparately_);
6652  }
6653  if (((bitField0_ & 0x00000200) != 0)) {
6654  size += com.google.protobuf.CodedOutputStream
6655  .computeEnumSize(34, binaryMinimizationAlgorithm_);
6656  }
6657  if (((bitField2_ & 0x00000001) != 0)) {
6658  size += com.google.protobuf.CodedOutputStream
6659  .computeBoolSize(35, useOptimizationHints_);
6660  }
6661  if (((bitField1_ & 0x00000020) != 0)) {
6662  size += com.google.protobuf.CodedOutputStream
6663  .computeDoubleSize(36, maxTimeInSeconds_);
6664  }
6665  if (((bitField1_ & 0x00000080) != 0)) {
6666  size += com.google.protobuf.CodedOutputStream
6667  .computeInt64Size(37, maxNumberOfConflicts_);
6668  }
6669  if (((bitField1_ & 0x00000100) != 0)) {
6670  size += com.google.protobuf.CodedOutputStream
6671  .computeInt64Size(40, maxMemoryInMb_);
6672  }
6673  if (((bitField1_ & 0x00000800) != 0)) {
6674  size += com.google.protobuf.CodedOutputStream
6675  .computeBoolSize(41, logSearchProgress_);
6676  }
6677  if (((bitField1_ & 0x00001000) != 0)) {
6678  size += com.google.protobuf.CodedOutputStream
6679  .computeBoolSize(43, usePbResolution_);
6680  }
6681  if (((bitField0_ & 0x00000004) != 0)) {
6682  size += com.google.protobuf.CodedOutputStream
6683  .computeBoolSize(44, usePhaseSaving_);
6684  }
6685  if (((bitField0_ & 0x00000008) != 0)) {
6686  size += com.google.protobuf.CodedOutputStream
6687  .computeDoubleSize(45, randomPolarityRatio_);
6688  }
6689  if (((bitField0_ & 0x00010000) != 0)) {
6690  size += com.google.protobuf.CodedOutputStream
6691  .computeInt32Size(46, pbCleanupIncrement_);
6692  }
6693  if (((bitField0_ & 0x00020000) != 0)) {
6694  size += com.google.protobuf.CodedOutputStream
6695  .computeDoubleSize(47, pbCleanupRatio_);
6696  }
6697  if (((bitField1_ & 0x00002000) != 0)) {
6698  size += com.google.protobuf.CodedOutputStream
6699  .computeBoolSize(48, minimizeReductionDuringPbResolution_);
6700  }
6701  if (((bitField1_ & 0x00004000) != 0)) {
6702  size += com.google.protobuf.CodedOutputStream
6703  .computeBoolSize(49, countAssumptionLevelsInLbd_);
6704  }
6705  if (((bitField2_ & 0x00000002) != 0)) {
6706  size += com.google.protobuf.CodedOutputStream
6707  .computeBoolSize(50, minimizeCore_);
6708  }
6709  if (((bitField2_ & 0x00000010) != 0)) {
6710  size += com.google.protobuf.CodedOutputStream
6711  .computeEnumSize(51, maxSatAssumptionOrder_);
6712  }
6713  if (((bitField2_ & 0x00000020) != 0)) {
6714  size += com.google.protobuf.CodedOutputStream
6715  .computeBoolSize(52, maxSatReverseAssumptionOrder_);
6716  }
6717  if (((bitField2_ & 0x00000040) != 0)) {
6718  size += com.google.protobuf.CodedOutputStream
6719  .computeEnumSize(53, maxSatStratification_);
6720  }
6721  if (((bitField1_ & 0x00008000) != 0)) {
6722  size += com.google.protobuf.CodedOutputStream
6723  .computeInt32Size(54, presolveBveThreshold_);
6724  }
6725  if (((bitField1_ & 0x00010000) != 0)) {
6726  size += com.google.protobuf.CodedOutputStream
6727  .computeInt32Size(55, presolveBveClauseWeight_);
6728  }
6729  if (((bitField0_ & 0x00000400) != 0)) {
6730  size += com.google.protobuf.CodedOutputStream
6731  .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
6732  }
6733  if (((bitField1_ & 0x00020000) != 0)) {
6734  size += com.google.protobuf.CodedOutputStream
6735  .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
6736  }
6737  if (((bitField0_ & 0x00002000) != 0)) {
6738  size += com.google.protobuf.CodedOutputStream
6739  .computeEnumSize(58, clauseCleanupProtection_);
6740  }
6741  if (((bitField0_ & 0x00004000) != 0)) {
6742  size += com.google.protobuf.CodedOutputStream
6743  .computeInt32Size(59, clauseCleanupLbdBound_);
6744  }
6745  if (((bitField0_ & 0x00008000) != 0)) {
6746  size += com.google.protobuf.CodedOutputStream
6747  .computeEnumSize(60, clauseCleanupOrdering_);
6748  }
6749  {
6750  int dataSize = 0;
6751  for (int i = 0; i < restartAlgorithms_.size(); i++) {
6752  dataSize += com.google.protobuf.CodedOutputStream
6753  .computeEnumSizeNoTag(restartAlgorithms_.get(i));
6754  }
6755  size += dataSize;
6756  size += 2 * restartAlgorithms_.size();
6757  }
6758  if (((bitField0_ & 0x20000000) != 0)) {
6759  size += com.google.protobuf.CodedOutputStream
6760  .computeInt32Size(62, restartRunningWindowSize_);
6761  }
6762  if (((bitField0_ & 0x40000000) != 0)) {
6763  size += com.google.protobuf.CodedOutputStream
6764  .computeDoubleSize(63, restartDlAverageRatio_);
6765  }
6766  if (((bitField1_ & 0x00000001) != 0)) {
6767  size += com.google.protobuf.CodedOutputStream
6768  .computeBoolSize(64, useBlockingRestart_);
6769  }
6770  if (((bitField1_ & 0x00000002) != 0)) {
6771  size += com.google.protobuf.CodedOutputStream
6772  .computeInt32Size(65, blockingRestartWindowSize_);
6773  }
6774  if (((bitField1_ & 0x00000004) != 0)) {
6775  size += com.google.protobuf.CodedOutputStream
6776  .computeDoubleSize(66, blockingRestartMultiplier_);
6777  }
6778  if (((bitField1_ & 0x00000040) != 0)) {
6779  size += com.google.protobuf.CodedOutputStream
6780  .computeDoubleSize(67, maxDeterministicTime_);
6781  }
6782  if (((bitField1_ & 0x00000008) != 0)) {
6783  size += com.google.protobuf.CodedOutputStream
6784  .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
6785  }
6786  if (((bitField1_ & 0x00000010) != 0)) {
6787  size += com.google.protobuf.CodedOutputStream
6788  .computeDoubleSize(69, strategyChangeIncreaseRatio_);
6789  }
6790  if (((bitField0_ & 0x08000000) != 0)) {
6791  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
6792  }
6793  if (((bitField0_ & 0x80000000) != 0)) {
6794  size += com.google.protobuf.CodedOutputStream
6795  .computeDoubleSize(71, restartLbdAverageRatio_);
6796  }
6797  if (((bitField1_ & 0x00080000) != 0)) {
6798  size += com.google.protobuf.CodedOutputStream
6799  .computeBoolSize(72, presolveUseBva_);
6800  }
6801  if (((bitField1_ & 0x00100000) != 0)) {
6802  size += com.google.protobuf.CodedOutputStream
6803  .computeInt32Size(73, presolveBvaThreshold_);
6804  }
6805  if (((bitField2_ & 0x00000080) != 0)) {
6806  size += com.google.protobuf.CodedOutputStream
6807  .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
6808  }
6809  if (((bitField0_ & 0x00000020) != 0)) {
6810  size += com.google.protobuf.CodedOutputStream
6811  .computeBoolSize(75, useErwaHeuristic_);
6812  }
6813  if (((bitField0_ & 0x00000040) != 0)) {
6814  size += com.google.protobuf.CodedOutputStream
6815  .computeDoubleSize(76, initialVariablesActivity_);
6816  }
6817  if (((bitField0_ & 0x00000080) != 0)) {
6818  size += com.google.protobuf.CodedOutputStream
6819  .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
6820  }
6821  if (((bitField2_ & 0x00000100) != 0)) {
6822  size += com.google.protobuf.CodedOutputStream
6823  .computeBoolSize(78, useOverloadCheckerInCumulativeConstraint_);
6824  }
6825  if (((bitField2_ & 0x00000200) != 0)) {
6826  size += com.google.protobuf.CodedOutputStream
6827  .computeBoolSize(79, useTimetableEdgeFindingInCumulativeConstraint_);
6828  }
6829  if (((bitField2_ & 0x00000400) != 0)) {
6830  size += com.google.protobuf.CodedOutputStream
6831  .computeBoolSize(80, useDisjunctiveConstraintInCumulativeConstraint_);
6832  }
6833  if (((bitField2_ & 0x20000000) != 0)) {
6834  size += com.google.protobuf.CodedOutputStream
6835  .computeEnumSize(82, searchBranching_);
6836  }
6837  if (((bitField3_ & 0x00000020) != 0)) {
6838  size += com.google.protobuf.CodedOutputStream
6839  .computeBoolSize(83, optimizeWithCore_);
6840  }
6841  if (((bitField2_ & 0x00000004) != 0)) {
6842  size += com.google.protobuf.CodedOutputStream
6843  .computeBoolSize(84, findMultipleCores_);
6844  }
6845  if (((bitField3_ & 0x00000080) != 0)) {
6846  size += com.google.protobuf.CodedOutputStream
6847  .computeBoolSize(85, optimizeWithMaxHs_);
6848  }
6849  if (((bitField1_ & 0x00400000) != 0)) {
6850  size += com.google.protobuf.CodedOutputStream
6851  .computeBoolSize(86, cpModelPresolve_);
6852  }
6853  if (((bitField3_ & 0x00000100) != 0)) {
6854  size += com.google.protobuf.CodedOutputStream
6855  .computeBoolSize(87, enumerateAllSolutions_);
6856  }
6857  if (((bitField1_ & 0x00040000) != 0)) {
6858  size += com.google.protobuf.CodedOutputStream
6859  .computeBoolSize(88, presolveBlockedClause_);
6860  }
6861  if (((bitField2_ & 0x00000008) != 0)) {
6862  size += com.google.protobuf.CodedOutputStream
6863  .computeBoolSize(89, coverOptimization_);
6864  }
6865  if (((bitField2_ & 0x00000800) != 0)) {
6866  size += com.google.protobuf.CodedOutputStream
6867  .computeInt32Size(90, linearizationLevel_);
6868  }
6869  if (((bitField2_ & 0x00002000) != 0)) {
6870  size += com.google.protobuf.CodedOutputStream
6871  .computeInt32Size(91, maxNumCuts_);
6872  }
6873  if (((bitField2_ & 0x00004000) != 0)) {
6874  size += com.google.protobuf.CodedOutputStream
6875  .computeBoolSize(92, onlyAddCutsAtLevelZero_);
6876  }
6877  if (((bitField1_ & 0x02000000) != 0)) {
6878  size += com.google.protobuf.CodedOutputStream
6879  .computeBoolSize(93, cpModelUseSatPresolve_);
6880  }
6881  if (((bitField2_ & 0x80000000) != 0)) {
6882  size += com.google.protobuf.CodedOutputStream
6883  .computeBoolSize(94, exploitIntegerLpSolution_);
6884  }
6885  if (((bitField3_ & 0x00000800) != 0)) {
6886  size += com.google.protobuf.CodedOutputStream
6887  .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
6888  }
6889  if (((bitField0_ & 0x00040000) != 0)) {
6890  size += com.google.protobuf.CodedOutputStream
6891  .computeInt32Size(96, minimizeWithPropagationRestartPeriod_);
6892  }
6893  if (((bitField0_ & 0x00080000) != 0)) {
6894  size += com.google.protobuf.CodedOutputStream
6895  .computeInt32Size(97, minimizeWithPropagationNumDecisions_);
6896  }
6897  if (((bitField3_ & 0x00001000) != 0)) {
6898  size += com.google.protobuf.CodedOutputStream
6899  .computeBoolSize(98, stopAfterFirstSolution_);
6900  }
6901  if (((bitField3_ & 0x00000040) != 0)) {
6902  size += com.google.protobuf.CodedOutputStream
6903  .computeInt32Size(99, binarySearchNumConflicts_);
6904  }
6905  if (((bitField3_ & 0x00004000) != 0)) {
6906  size += com.google.protobuf.CodedOutputStream
6907  .computeInt32Size(100, numSearchWorkers_);
6908  }
6909  if (((bitField3_ & 0x00100000) != 0)) {
6910  size += com.google.protobuf.CodedOutputStream
6911  .computeBoolSize(101, useLnsOnly_);
6912  }
6913  if (((bitField3_ & 0x02000000) != 0)) {
6914  size += com.google.protobuf.CodedOutputStream
6915  .computeBoolSize(103, randomizeSearch_);
6916  }
6917  if (((bitField3_ & 0x04000000) != 0)) {
6918  size += com.google.protobuf.CodedOutputStream
6919  .computeInt64Size(104, searchRandomizationTolerance_);
6920  }
6921  if (((bitField3_ & 0x00200000) != 0)) {
6922  size += com.google.protobuf.CodedOutputStream
6923  .computeBoolSize(105, lnsFocusOnDecisionVariables_);
6924  }
6925  if (((bitField3_ & 0x00000400) != 0)) {
6926  size += com.google.protobuf.CodedOutputStream
6927  .computeBoolSize(106, instantiateAllVariables_);
6928  }
6929  if (((bitField2_ & 0x00001000) != 0)) {
6930  size += com.google.protobuf.CodedOutputStream
6931  .computeInt32Size(107, booleanEncodingLevel_);
6932  }
6933  if (((bitField3_ & 0x08000000) != 0)) {
6934  size += com.google.protobuf.CodedOutputStream
6935  .computeBoolSize(108, useOptionalVariables_);
6936  }
6937  if (((bitField3_ & 0x10000000) != 0)) {
6938  size += com.google.protobuf.CodedOutputStream
6939  .computeBoolSize(109, useExactLpReason_);
6940  }
6941  if (((bitField1_ & 0x01000000) != 0)) {
6942  size += com.google.protobuf.CodedOutputStream
6943  .computeInt32Size(110, cpModelProbingLevel_);
6944  }
6945  if (((bitField2_ & 0x00008000) != 0)) {
6946  size += com.google.protobuf.CodedOutputStream
6947  .computeBoolSize(111, addKnapsackCuts_);
6948  }
6949  if (((bitField2_ & 0x00200000) != 0)) {
6950  size += com.google.protobuf.CodedOutputStream
6951  .computeBoolSize(112, addLpConstraintsLazily_);
6952  }
6953  if (((bitField3_ & 0x00040000) != 0)) {
6954  size += com.google.protobuf.CodedOutputStream
6955  .computeBoolSize(113, shareObjectiveBounds_);
6956  }
6957  if (((bitField3_ & 0x00080000) != 0)) {
6958  size += com.google.protobuf.CodedOutputStream
6959  .computeBoolSize(114, shareLevelZeroBounds_);
6960  }
6961  if (((bitField2_ & 0x00400000) != 0)) {
6962  size += com.google.protobuf.CodedOutputStream
6963  .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
6964  }
6965  if (((bitField3_ & 0x00000001) != 0)) {
6966  size += com.google.protobuf.CodedOutputStream
6967  .computeBoolSize(116, exploitAllLpSolution_);
6968  }
6969  if (((bitField2_ & 0x00010000) != 0)) {
6970  size += com.google.protobuf.CodedOutputStream
6971  .computeBoolSize(117, addCgCuts_);
6972  }
6973  if (((bitField2_ & 0x00100000) != 0)) {
6974  size += com.google.protobuf.CodedOutputStream
6975  .computeInt32Size(119, maxIntegerRoundingScaling_);
6976  }
6977  if (((bitField2_ & 0x00020000) != 0)) {
6978  size += com.google.protobuf.CodedOutputStream
6979  .computeBoolSize(120, addMirCuts_);
6980  }
6981  if (((bitField2_ & 0x01000000) != 0)) {
6982  size += com.google.protobuf.CodedOutputStream
6983  .computeInt32Size(121, maxConsecutiveInactiveCount_);
6984  }
6985  if (((bitField2_ & 0x10000000) != 0)) {
6986  size += com.google.protobuf.CodedOutputStream
6987  .computeInt32Size(122, newConstraintsBatchSize_);
6988  }
6989  if (((bitField3_ & 0x00000010) != 0)) {
6990  size += com.google.protobuf.CodedOutputStream
6991  .computeInt64Size(123, pseudoCostReliabilityThreshold_);
6992  }
6993  if (((bitField4_ & 0x00000002) != 0)) {
6994  size += com.google.protobuf.CodedOutputStream
6995  .computeDoubleSize(124, mipMaxBound_);
6996  }
6997  if (((bitField4_ & 0x00000004) != 0)) {
6998  size += com.google.protobuf.CodedOutputStream
6999  .computeDoubleSize(125, mipVarScaling_);
7000  }
7001  if (((bitField4_ & 0x00000008) != 0)) {
7002  size += com.google.protobuf.CodedOutputStream
7003  .computeDoubleSize(126, mipWantedPrecision_);
7004  }
7005  if (((bitField4_ & 0x00000010) != 0)) {
7006  size += com.google.protobuf.CodedOutputStream
7007  .computeInt32Size(127, mipMaxActivityExponent_);
7008  }
7009  if (((bitField4_ & 0x00000020) != 0)) {
7010  size += com.google.protobuf.CodedOutputStream
7011  .computeDoubleSize(128, mipCheckPrecision_);
7012  }
7013  if (((bitField3_ & 0x00400000) != 0)) {
7014  size += com.google.protobuf.CodedOutputStream
7015  .computeBoolSize(129, useRinsLns_);
7016  }
7017  if (((bitField3_ & 0x00000002) != 0)) {
7018  size += com.google.protobuf.CodedOutputStream
7019  .computeBoolSize(130, exploitBestSolution_);
7020  }
7021  if (((bitField3_ & 0x00000004) != 0)) {
7022  size += com.google.protobuf.CodedOutputStream
7023  .computeBoolSize(131, exploitObjective_);
7024  }
7025  if (((bitField3_ & 0x00000200) != 0)) {
7026  size += com.google.protobuf.CodedOutputStream
7027  .computeBoolSize(132, fillTightenedDomainsInResponse_);
7028  }
7029  if (((bitField3_ & 0x40000000) != 0)) {
7030  size += com.google.protobuf.CodedOutputStream
7031  .computeBoolSize(133, useCombinedNoOverlap_);
7032  }
7033  if (((bitField3_ & 0x00010000) != 0)) {
7034  size += com.google.protobuf.CodedOutputStream
7035  .computeInt32Size(134, interleaveBatchSize_);
7036  }
7037  if (((bitField3_ & 0x80000000) != 0)) {
7038  size += com.google.protobuf.CodedOutputStream
7039  .computeBoolSize(135, catchSigintSignal_);
7040  }
7041  if (((bitField3_ & 0x00008000) != 0)) {
7042  size += com.google.protobuf.CodedOutputStream
7043  .computeBoolSize(136, interleaveSearch_);
7044  }
7045  if (((bitField3_ & 0x01000000) != 0)) {
7046  size += com.google.protobuf.CodedOutputStream
7047  .computeBoolSize(137, diversifyLnsParams_);
7048  }
7049  if (((bitField1_ & 0x00200000) != 0)) {
7050  size += com.google.protobuf.CodedOutputStream
7051  .computeInt32Size(138, maxPresolveIterations_);
7052  }
7053  if (((bitField3_ & 0x20000000) != 0)) {
7054  size += com.google.protobuf.CodedOutputStream
7055  .computeBoolSize(139, useBranchingInLp_);
7056  }
7057  if (((bitField1_ & 0x04000000) != 0)) {
7058  size += com.google.protobuf.CodedOutputStream
7059  .computeBoolSize(140, expandElementConstraints_);
7060  }
7061  if (((bitField3_ & 0x00020000) != 0)) {
7062  size += com.google.protobuf.CodedOutputStream
7063  .computeBoolSize(141, reduceMemoryUsageInInterleaveMode_);
7064  }
7065  if (((bitField3_ & 0x00000008) != 0)) {
7066  size += com.google.protobuf.CodedOutputStream
7067  .computeInt64Size(142, probingPeriodAtRoot_);
7068  }
7069  if (((bitField1_ & 0x08000000) != 0)) {
7070  size += com.google.protobuf.CodedOutputStream
7071  .computeBoolSize(143, expandAutomatonConstraints_);
7072  }
7073  if (((bitField4_ & 0x00000001) != 0)) {
7074  size += com.google.protobuf.CodedOutputStream
7075  .computeBoolSize(144, useImpliedBounds_);
7076  }
7077  if (((bitField1_ & 0x20000000) != 0)) {
7078  size += com.google.protobuf.CodedOutputStream
7079  .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
7080  }
7081  if (((bitField1_ & 0x40000000) != 0)) {
7082  size += com.google.protobuf.CodedOutputStream
7083  .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
7084  }
7085  if (((bitField1_ & 0x80000000) != 0)) {
7086  size += com.google.protobuf.CodedOutputStream
7087  .computeInt32Size(147, presolveSubstitutionLevel_);
7088  }
7089  if (((bitField2_ & 0x00040000) != 0)) {
7090  size += com.google.protobuf.CodedOutputStream
7091  .computeInt32Size(148, maxAllDiffCutSize_);
7092  }
7093  if (((bitField3_ & 0x00002000) != 0)) {
7094  size += com.google.protobuf.CodedOutputStream
7095  .computeBoolSize(149, stopAfterPresolve_);
7096  }
7097  if (((bitField3_ & 0x00800000) != 0)) {
7098  size += com.google.protobuf.CodedOutputStream
7099  .computeBoolSize(150, useRelaxationLns_);
7100  }
7101  if (((bitField1_ & 0x00800000) != 0)) {
7102  size += com.google.protobuf.CodedOutputStream
7103  .computeInt32Size(151, cpModelMaxNumPresolveOperations_);
7104  }
7105  if (((bitField2_ & 0x00080000) != 0)) {
7106  size += com.google.protobuf.CodedOutputStream
7107  .computeBoolSize(152, addLinMaxCuts_);
7108  }
7109  if (((bitField2_ & 0x40000000) != 0)) {
7110  size += com.google.protobuf.CodedOutputStream
7111  .computeInt32Size(153, hintConflictLimit_);
7112  }
7113  if (((bitField2_ & 0x00800000) != 0)) {
7114  size += com.google.protobuf.CodedOutputStream
7115  .computeInt32Size(154, maxCutRoundsAtLevelZero_);
7116  }
7117  if (((bitField2_ & 0x02000000) != 0)) {
7118  size += com.google.protobuf.CodedOutputStream
7119  .computeDoubleSize(155, cutMaxActiveCountValue_);
7120  }
7121  if (((bitField2_ & 0x04000000) != 0)) {
7122  size += com.google.protobuf.CodedOutputStream
7123  .computeDoubleSize(156, cutActiveCountDecay_);
7124  }
7125  if (((bitField2_ & 0x08000000) != 0)) {
7126  size += com.google.protobuf.CodedOutputStream
7127  .computeInt32Size(157, cutCleanupTarget_);
7128  }
7129  if (((bitField1_ & 0x10000000) != 0)) {
7130  size += com.google.protobuf.CodedOutputStream
7131  .computeBoolSize(158, expandTableConstraints_);
7132  }
7133  size += unknownFields.getSerializedSize();
7134  memoizedSize = size;
7135  return size;
7136  }
7137 
7138  @java.lang.Override
7139  public boolean equals(final java.lang.Object obj) {
7140  if (obj == this) {
7141  return true;
7142  }
7143  if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
7144  return super.equals(obj);
7145  }
7147 
7148  if (hasPreferredVariableOrder() != other.hasPreferredVariableOrder()) return false;
7149  if (hasPreferredVariableOrder()) {
7150  if (preferredVariableOrder_ != other.preferredVariableOrder_) return false;
7151  }
7152  if (hasInitialPolarity() != other.hasInitialPolarity()) return false;
7153  if (hasInitialPolarity()) {
7154  if (initialPolarity_ != other.initialPolarity_) return false;
7155  }
7156  if (hasUsePhaseSaving() != other.hasUsePhaseSaving()) return false;
7157  if (hasUsePhaseSaving()) {
7158  if (getUsePhaseSaving()
7159  != other.getUsePhaseSaving()) return false;
7160  }
7161  if (hasRandomPolarityRatio() != other.hasRandomPolarityRatio()) return false;
7162  if (hasRandomPolarityRatio()) {
7163  if (java.lang.Double.doubleToLongBits(getRandomPolarityRatio())
7164  != java.lang.Double.doubleToLongBits(
7165  other.getRandomPolarityRatio())) return false;
7166  }
7167  if (hasRandomBranchesRatio() != other.hasRandomBranchesRatio()) return false;
7168  if (hasRandomBranchesRatio()) {
7169  if (java.lang.Double.doubleToLongBits(getRandomBranchesRatio())
7170  != java.lang.Double.doubleToLongBits(
7171  other.getRandomBranchesRatio())) return false;
7172  }
7173  if (hasUseErwaHeuristic() != other.hasUseErwaHeuristic()) return false;
7174  if (hasUseErwaHeuristic()) {
7175  if (getUseErwaHeuristic()
7176  != other.getUseErwaHeuristic()) return false;
7177  }
7178  if (hasInitialVariablesActivity() != other.hasInitialVariablesActivity()) return false;
7180  if (java.lang.Double.doubleToLongBits(getInitialVariablesActivity())
7181  != java.lang.Double.doubleToLongBits(
7182  other.getInitialVariablesActivity())) return false;
7183  }
7184  if (hasAlsoBumpVariablesInConflictReasons() != other.hasAlsoBumpVariablesInConflictReasons()) return false;
7187  != other.getAlsoBumpVariablesInConflictReasons()) return false;
7188  }
7189  if (hasMinimizationAlgorithm() != other.hasMinimizationAlgorithm()) return false;
7190  if (hasMinimizationAlgorithm()) {
7191  if (minimizationAlgorithm_ != other.minimizationAlgorithm_) return false;
7192  }
7193  if (hasBinaryMinimizationAlgorithm() != other.hasBinaryMinimizationAlgorithm()) return false;
7195  if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_) return false;
7196  }
7197  if (hasSubsumptionDuringConflictAnalysis() != other.hasSubsumptionDuringConflictAnalysis()) return false;
7200  != other.getSubsumptionDuringConflictAnalysis()) return false;
7201  }
7202  if (hasClauseCleanupPeriod() != other.hasClauseCleanupPeriod()) return false;
7203  if (hasClauseCleanupPeriod()) {
7205  != other.getClauseCleanupPeriod()) return false;
7206  }
7207  if (hasClauseCleanupTarget() != other.hasClauseCleanupTarget()) return false;
7208  if (hasClauseCleanupTarget()) {
7210  != other.getClauseCleanupTarget()) return false;
7211  }
7212  if (hasClauseCleanupProtection() != other.hasClauseCleanupProtection()) return false;
7214  if (clauseCleanupProtection_ != other.clauseCleanupProtection_) return false;
7215  }
7216  if (hasClauseCleanupLbdBound() != other.hasClauseCleanupLbdBound()) return false;
7217  if (hasClauseCleanupLbdBound()) {
7219  != other.getClauseCleanupLbdBound()) return false;
7220  }
7221  if (hasClauseCleanupOrdering() != other.hasClauseCleanupOrdering()) return false;
7222  if (hasClauseCleanupOrdering()) {
7223  if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_) return false;
7224  }
7225  if (hasPbCleanupIncrement() != other.hasPbCleanupIncrement()) return false;
7226  if (hasPbCleanupIncrement()) {
7227  if (getPbCleanupIncrement()
7228  != other.getPbCleanupIncrement()) return false;
7229  }
7230  if (hasPbCleanupRatio() != other.hasPbCleanupRatio()) return false;
7231  if (hasPbCleanupRatio()) {
7232  if (java.lang.Double.doubleToLongBits(getPbCleanupRatio())
7233  != java.lang.Double.doubleToLongBits(
7234  other.getPbCleanupRatio())) return false;
7235  }
7236  if (hasMinimizeWithPropagationRestartPeriod() != other.hasMinimizeWithPropagationRestartPeriod()) return false;
7239  != other.getMinimizeWithPropagationRestartPeriod()) return false;
7240  }
7241  if (hasMinimizeWithPropagationNumDecisions() != other.hasMinimizeWithPropagationNumDecisions()) return false;
7244  != other.getMinimizeWithPropagationNumDecisions()) return false;
7245  }
7246  if (hasVariableActivityDecay() != other.hasVariableActivityDecay()) return false;
7247  if (hasVariableActivityDecay()) {
7248  if (java.lang.Double.doubleToLongBits(getVariableActivityDecay())
7249  != java.lang.Double.doubleToLongBits(
7250  other.getVariableActivityDecay())) return false;
7251  }
7252  if (hasMaxVariableActivityValue() != other.hasMaxVariableActivityValue()) return false;
7254  if (java.lang.Double.doubleToLongBits(getMaxVariableActivityValue())
7255  != java.lang.Double.doubleToLongBits(
7256  other.getMaxVariableActivityValue())) return false;
7257  }
7258  if (hasGlucoseMaxDecay() != other.hasGlucoseMaxDecay()) return false;
7259  if (hasGlucoseMaxDecay()) {
7260  if (java.lang.Double.doubleToLongBits(getGlucoseMaxDecay())
7261  != java.lang.Double.doubleToLongBits(
7262  other.getGlucoseMaxDecay())) return false;
7263  }
7264  if (hasGlucoseDecayIncrement() != other.hasGlucoseDecayIncrement()) return false;
7265  if (hasGlucoseDecayIncrement()) {
7266  if (java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement())
7267  != java.lang.Double.doubleToLongBits(
7268  other.getGlucoseDecayIncrement())) return false;
7269  }
7270  if (hasGlucoseDecayIncrementPeriod() != other.hasGlucoseDecayIncrementPeriod()) return false;
7273  != other.getGlucoseDecayIncrementPeriod()) return false;
7274  }
7275  if (hasClauseActivityDecay() != other.hasClauseActivityDecay()) return false;
7276  if (hasClauseActivityDecay()) {
7277  if (java.lang.Double.doubleToLongBits(getClauseActivityDecay())
7278  != java.lang.Double.doubleToLongBits(
7279  other.getClauseActivityDecay())) return false;
7280  }
7281  if (hasMaxClauseActivityValue() != other.hasMaxClauseActivityValue()) return false;
7282  if (hasMaxClauseActivityValue()) {
7283  if (java.lang.Double.doubleToLongBits(getMaxClauseActivityValue())
7284  != java.lang.Double.doubleToLongBits(
7285  other.getMaxClauseActivityValue())) return false;
7286  }
7287  if (!restartAlgorithms_.equals(other.restartAlgorithms_)) return false;
7288  if (hasDefaultRestartAlgorithms() != other.hasDefaultRestartAlgorithms()) return false;
7291  .equals(other.getDefaultRestartAlgorithms())) return false;
7292  }
7293  if (hasRestartPeriod() != other.hasRestartPeriod()) return false;
7294  if (hasRestartPeriod()) {
7295  if (getRestartPeriod()
7296  != other.getRestartPeriod()) return false;
7297  }
7298  if (hasRestartRunningWindowSize() != other.hasRestartRunningWindowSize()) return false;
7301  != other.getRestartRunningWindowSize()) return false;
7302  }
7303  if (hasRestartDlAverageRatio() != other.hasRestartDlAverageRatio()) return false;
7304  if (hasRestartDlAverageRatio()) {
7305  if (java.lang.Double.doubleToLongBits(getRestartDlAverageRatio())
7306  != java.lang.Double.doubleToLongBits(
7307  other.getRestartDlAverageRatio())) return false;
7308  }
7309  if (hasRestartLbdAverageRatio() != other.hasRestartLbdAverageRatio()) return false;
7310  if (hasRestartLbdAverageRatio()) {
7311  if (java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio())
7312  != java.lang.Double.doubleToLongBits(
7313  other.getRestartLbdAverageRatio())) return false;
7314  }
7315  if (hasUseBlockingRestart() != other.hasUseBlockingRestart()) return false;
7316  if (hasUseBlockingRestart()) {
7317  if (getUseBlockingRestart()
7318  != other.getUseBlockingRestart()) return false;
7319  }
7320  if (hasBlockingRestartWindowSize() != other.hasBlockingRestartWindowSize()) return false;
7323  != other.getBlockingRestartWindowSize()) return false;
7324  }
7325  if (hasBlockingRestartMultiplier() != other.hasBlockingRestartMultiplier()) return false;
7327  if (java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier())
7328  != java.lang.Double.doubleToLongBits(
7329  other.getBlockingRestartMultiplier())) return false;
7330  }
7331  if (hasNumConflictsBeforeStrategyChanges() != other.hasNumConflictsBeforeStrategyChanges()) return false;
7334  != other.getNumConflictsBeforeStrategyChanges()) return false;
7335  }
7336  if (hasStrategyChangeIncreaseRatio() != other.hasStrategyChangeIncreaseRatio()) return false;
7338  if (java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio())
7339  != java.lang.Double.doubleToLongBits(
7340  other.getStrategyChangeIncreaseRatio())) return false;
7341  }
7342  if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
7343  if (hasMaxTimeInSeconds()) {
7344  if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
7345  != java.lang.Double.doubleToLongBits(
7346  other.getMaxTimeInSeconds())) return false;
7347  }
7348  if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
7349  if (hasMaxDeterministicTime()) {
7350  if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
7351  != java.lang.Double.doubleToLongBits(
7352  other.getMaxDeterministicTime())) return false;
7353  }
7354  if (hasMaxNumberOfConflicts() != other.hasMaxNumberOfConflicts()) return false;
7355  if (hasMaxNumberOfConflicts()) {
7357  != other.getMaxNumberOfConflicts()) return false;
7358  }
7359  if (hasMaxMemoryInMb() != other.hasMaxMemoryInMb()) return false;
7360  if (hasMaxMemoryInMb()) {
7361  if (getMaxMemoryInMb()
7362  != other.getMaxMemoryInMb()) return false;
7363  }
7364  if (hasTreatBinaryClausesSeparately() != other.hasTreatBinaryClausesSeparately()) return false;
7367  != other.getTreatBinaryClausesSeparately()) return false;
7368  }
7369  if (hasRandomSeed() != other.hasRandomSeed()) return false;
7370  if (hasRandomSeed()) {
7371  if (getRandomSeed()
7372  != other.getRandomSeed()) return false;
7373  }
7374  if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
7375  if (hasLogSearchProgress()) {
7376  if (getLogSearchProgress()
7377  != other.getLogSearchProgress()) return false;
7378  }
7379  if (hasUsePbResolution() != other.hasUsePbResolution()) return false;
7380  if (hasUsePbResolution()) {
7381  if (getUsePbResolution()
7382  != other.getUsePbResolution()) return false;
7383  }
7384  if (hasMinimizeReductionDuringPbResolution() != other.hasMinimizeReductionDuringPbResolution()) return false;
7387  != other.getMinimizeReductionDuringPbResolution()) return false;
7388  }
7389  if (hasCountAssumptionLevelsInLbd() != other.hasCountAssumptionLevelsInLbd()) return false;
7392  != other.getCountAssumptionLevelsInLbd()) return false;
7393  }
7394  if (hasPresolveBveThreshold() != other.hasPresolveBveThreshold()) return false;
7395  if (hasPresolveBveThreshold()) {
7397  != other.getPresolveBveThreshold()) return false;
7398  }
7399  if (hasPresolveBveClauseWeight() != other.hasPresolveBveClauseWeight()) return false;
7402  != other.getPresolveBveClauseWeight()) return false;
7403  }
7404  if (hasPresolveProbingDeterministicTimeLimit() != other.hasPresolveProbingDeterministicTimeLimit()) return false;
7406  if (java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit())
7407  != java.lang.Double.doubleToLongBits(
7408  other.getPresolveProbingDeterministicTimeLimit())) return false;
7409  }
7410  if (hasPresolveBlockedClause() != other.hasPresolveBlockedClause()) return false;
7411  if (hasPresolveBlockedClause()) {
7413  != other.getPresolveBlockedClause()) return false;
7414  }
7415  if (hasPresolveUseBva() != other.hasPresolveUseBva()) return false;
7416  if (hasPresolveUseBva()) {
7417  if (getPresolveUseBva()
7418  != other.getPresolveUseBva()) return false;
7419  }
7420  if (hasPresolveBvaThreshold() != other.hasPresolveBvaThreshold()) return false;
7421  if (hasPresolveBvaThreshold()) {
7423  != other.getPresolveBvaThreshold()) return false;
7424  }
7425  if (hasMaxPresolveIterations() != other.hasMaxPresolveIterations()) return false;
7426  if (hasMaxPresolveIterations()) {
7428  != other.getMaxPresolveIterations()) return false;
7429  }
7430  if (hasCpModelPresolve() != other.hasCpModelPresolve()) return false;
7431  if (hasCpModelPresolve()) {
7432  if (getCpModelPresolve()
7433  != other.getCpModelPresolve()) return false;
7434  }
7435  if (hasCpModelMaxNumPresolveOperations() != other.hasCpModelMaxNumPresolveOperations()) return false;
7438  != other.getCpModelMaxNumPresolveOperations()) return false;
7439  }
7440  if (hasCpModelProbingLevel() != other.hasCpModelProbingLevel()) return false;
7441  if (hasCpModelProbingLevel()) {
7443  != other.getCpModelProbingLevel()) return false;
7444  }
7445  if (hasCpModelUseSatPresolve() != other.hasCpModelUseSatPresolve()) return false;
7446  if (hasCpModelUseSatPresolve()) {
7448  != other.getCpModelUseSatPresolve()) return false;
7449  }
7450  if (hasExpandElementConstraints() != other.hasExpandElementConstraints()) return false;
7453  != other.getExpandElementConstraints()) return false;
7454  }
7455  if (hasExpandAutomatonConstraints() != other.hasExpandAutomatonConstraints()) return false;
7458  != other.getExpandAutomatonConstraints()) return false;
7459  }
7460  if (hasExpandTableConstraints() != other.hasExpandTableConstraints()) return false;
7461  if (hasExpandTableConstraints()) {
7463  != other.getExpandTableConstraints()) return false;
7464  }
7465  if (hasMergeNoOverlapWorkLimit() != other.hasMergeNoOverlapWorkLimit()) return false;
7467  if (java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit())
7468  != java.lang.Double.doubleToLongBits(
7469  other.getMergeNoOverlapWorkLimit())) return false;
7470  }
7471  if (hasMergeAtMostOneWorkLimit() != other.hasMergeAtMostOneWorkLimit()) return false;
7473  if (java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit())
7474  != java.lang.Double.doubleToLongBits(
7475  other.getMergeAtMostOneWorkLimit())) return false;
7476  }
7477  if (hasPresolveSubstitutionLevel() != other.hasPresolveSubstitutionLevel()) return false;
7480  != other.getPresolveSubstitutionLevel()) return false;
7481  }
7482  if (hasUseOptimizationHints() != other.hasUseOptimizationHints()) return false;
7483  if (hasUseOptimizationHints()) {
7485  != other.getUseOptimizationHints()) return false;
7486  }
7487  if (hasMinimizeCore() != other.hasMinimizeCore()) return false;
7488  if (hasMinimizeCore()) {
7489  if (getMinimizeCore()
7490  != other.getMinimizeCore()) return false;
7491  }
7492  if (hasFindMultipleCores() != other.hasFindMultipleCores()) return false;
7493  if (hasFindMultipleCores()) {
7494  if (getFindMultipleCores()
7495  != other.getFindMultipleCores()) return false;
7496  }
7497  if (hasCoverOptimization() != other.hasCoverOptimization()) return false;
7498  if (hasCoverOptimization()) {
7499  if (getCoverOptimization()
7500  != other.getCoverOptimization()) return false;
7501  }
7502  if (hasMaxSatAssumptionOrder() != other.hasMaxSatAssumptionOrder()) return false;
7503  if (hasMaxSatAssumptionOrder()) {
7504  if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_) return false;
7505  }
7506  if (hasMaxSatReverseAssumptionOrder() != other.hasMaxSatReverseAssumptionOrder()) return false;
7509  != other.getMaxSatReverseAssumptionOrder()) return false;
7510  }
7511  if (hasMaxSatStratification() != other.hasMaxSatStratification()) return false;
7512  if (hasMaxSatStratification()) {
7513  if (maxSatStratification_ != other.maxSatStratification_) return false;
7514  }
7515  if (hasUsePrecedencesInDisjunctiveConstraint() != other.hasUsePrecedencesInDisjunctiveConstraint()) return false;
7518  != other.getUsePrecedencesInDisjunctiveConstraint()) return false;
7519  }
7520  if (hasUseOverloadCheckerInCumulativeConstraint() != other.hasUseOverloadCheckerInCumulativeConstraint()) return false;
7523  != other.getUseOverloadCheckerInCumulativeConstraint()) return false;
7524  }
7525  if (hasUseTimetableEdgeFindingInCumulativeConstraint() != other.hasUseTimetableEdgeFindingInCumulativeConstraint()) return false;
7528  != other.getUseTimetableEdgeFindingInCumulativeConstraint()) return false;
7529  }
7530  if (hasUseDisjunctiveConstraintInCumulativeConstraint() != other.hasUseDisjunctiveConstraintInCumulativeConstraint()) return false;
7533  != other.getUseDisjunctiveConstraintInCumulativeConstraint()) return false;
7534  }
7535  if (hasLinearizationLevel() != other.hasLinearizationLevel()) return false;
7536  if (hasLinearizationLevel()) {
7537  if (getLinearizationLevel()
7538  != other.getLinearizationLevel()) return false;
7539  }
7540  if (hasBooleanEncodingLevel() != other.hasBooleanEncodingLevel()) return false;
7541  if (hasBooleanEncodingLevel()) {
7543  != other.getBooleanEncodingLevel()) return false;
7544  }
7545  if (hasMaxNumCuts() != other.hasMaxNumCuts()) return false;
7546  if (hasMaxNumCuts()) {
7547  if (getMaxNumCuts()
7548  != other.getMaxNumCuts()) return false;
7549  }
7550  if (hasOnlyAddCutsAtLevelZero() != other.hasOnlyAddCutsAtLevelZero()) return false;
7551  if (hasOnlyAddCutsAtLevelZero()) {
7553  != other.getOnlyAddCutsAtLevelZero()) return false;
7554  }
7555  if (hasAddKnapsackCuts() != other.hasAddKnapsackCuts()) return false;
7556  if (hasAddKnapsackCuts()) {
7557  if (getAddKnapsackCuts()
7558  != other.getAddKnapsackCuts()) return false;
7559  }
7560  if (hasAddCgCuts() != other.hasAddCgCuts()) return false;
7561  if (hasAddCgCuts()) {
7562  if (getAddCgCuts()
7563  != other.getAddCgCuts()) return false;
7564  }
7565  if (hasAddMirCuts() != other.hasAddMirCuts()) return false;
7566  if (hasAddMirCuts()) {
7567  if (getAddMirCuts()
7568  != other.getAddMirCuts()) return false;
7569  }
7570  if (hasMaxAllDiffCutSize() != other.hasMaxAllDiffCutSize()) return false;
7571  if (hasMaxAllDiffCutSize()) {
7572  if (getMaxAllDiffCutSize()
7573  != other.getMaxAllDiffCutSize()) return false;
7574  }
7575  if (hasAddLinMaxCuts() != other.hasAddLinMaxCuts()) return false;
7576  if (hasAddLinMaxCuts()) {
7577  if (getAddLinMaxCuts()
7578  != other.getAddLinMaxCuts()) return false;
7579  }
7580  if (hasMaxIntegerRoundingScaling() != other.hasMaxIntegerRoundingScaling()) return false;
7583  != other.getMaxIntegerRoundingScaling()) return false;
7584  }
7585  if (hasAddLpConstraintsLazily() != other.hasAddLpConstraintsLazily()) return false;
7586  if (hasAddLpConstraintsLazily()) {
7588  != other.getAddLpConstraintsLazily()) return false;
7589  }
7590  if (hasMinOrthogonalityForLpConstraints() != other.hasMinOrthogonalityForLpConstraints()) return false;
7592  if (java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints())
7593  != java.lang.Double.doubleToLongBits(
7594  other.getMinOrthogonalityForLpConstraints())) return false;
7595  }
7596  if (hasMaxCutRoundsAtLevelZero() != other.hasMaxCutRoundsAtLevelZero()) return false;
7599  != other.getMaxCutRoundsAtLevelZero()) return false;
7600  }
7601  if (hasMaxConsecutiveInactiveCount() != other.hasMaxConsecutiveInactiveCount()) return false;
7604  != other.getMaxConsecutiveInactiveCount()) return false;
7605  }
7606  if (hasCutMaxActiveCountValue() != other.hasCutMaxActiveCountValue()) return false;
7607  if (hasCutMaxActiveCountValue()) {
7608  if (java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue())
7609  != java.lang.Double.doubleToLongBits(
7610  other.getCutMaxActiveCountValue())) return false;
7611  }
7612  if (hasCutActiveCountDecay() != other.hasCutActiveCountDecay()) return false;
7613  if (hasCutActiveCountDecay()) {
7614  if (java.lang.Double.doubleToLongBits(getCutActiveCountDecay())
7615  != java.lang.Double.doubleToLongBits(
7616  other.getCutActiveCountDecay())) return false;
7617  }
7618  if (hasCutCleanupTarget() != other.hasCutCleanupTarget()) return false;
7619  if (hasCutCleanupTarget()) {
7620  if (getCutCleanupTarget()
7621  != other.getCutCleanupTarget()) return false;
7622  }
7623  if (hasNewConstraintsBatchSize() != other.hasNewConstraintsBatchSize()) return false;
7626  != other.getNewConstraintsBatchSize()) return false;
7627  }
7628  if (hasSearchBranching() != other.hasSearchBranching()) return false;
7629  if (hasSearchBranching()) {
7630  if (searchBranching_ != other.searchBranching_) return false;
7631  }
7632  if (hasHintConflictLimit() != other.hasHintConflictLimit()) return false;
7633  if (hasHintConflictLimit()) {
7634  if (getHintConflictLimit()
7635  != other.getHintConflictLimit()) return false;
7636  }
7637  if (hasExploitIntegerLpSolution() != other.hasExploitIntegerLpSolution()) return false;
7640  != other.getExploitIntegerLpSolution()) return false;
7641  }
7642  if (hasExploitAllLpSolution() != other.hasExploitAllLpSolution()) return false;
7643  if (hasExploitAllLpSolution()) {
7645  != other.getExploitAllLpSolution()) return false;
7646  }
7647  if (hasExploitBestSolution() != other.hasExploitBestSolution()) return false;
7648  if (hasExploitBestSolution()) {
7650  != other.getExploitBestSolution()) return false;
7651  }
7652  if (hasExploitObjective() != other.hasExploitObjective()) return false;
7653  if (hasExploitObjective()) {
7654  if (getExploitObjective()
7655  != other.getExploitObjective()) return false;
7656  }
7657  if (hasProbingPeriodAtRoot() != other.hasProbingPeriodAtRoot()) return false;
7658  if (hasProbingPeriodAtRoot()) {
7660  != other.getProbingPeriodAtRoot()) return false;
7661  }
7662  if (hasPseudoCostReliabilityThreshold() != other.hasPseudoCostReliabilityThreshold()) return false;
7665  != other.getPseudoCostReliabilityThreshold()) return false;
7666  }
7667  if (hasOptimizeWithCore() != other.hasOptimizeWithCore()) return false;
7668  if (hasOptimizeWithCore()) {
7669  if (getOptimizeWithCore()
7670  != other.getOptimizeWithCore()) return false;
7671  }
7672  if (hasBinarySearchNumConflicts() != other.hasBinarySearchNumConflicts()) return false;
7675  != other.getBinarySearchNumConflicts()) return false;
7676  }
7677  if (hasOptimizeWithMaxHs() != other.hasOptimizeWithMaxHs()) return false;
7678  if (hasOptimizeWithMaxHs()) {
7679  if (getOptimizeWithMaxHs()
7680  != other.getOptimizeWithMaxHs()) return false;
7681  }
7682  if (hasEnumerateAllSolutions() != other.hasEnumerateAllSolutions()) return false;
7683  if (hasEnumerateAllSolutions()) {
7685  != other.getEnumerateAllSolutions()) return false;
7686  }
7687  if (hasFillTightenedDomainsInResponse() != other.hasFillTightenedDomainsInResponse()) return false;
7690  != other.getFillTightenedDomainsInResponse()) return false;
7691  }
7692  if (hasInstantiateAllVariables() != other.hasInstantiateAllVariables()) return false;
7695  != other.getInstantiateAllVariables()) return false;
7696  }
7697  if (hasAutoDetectGreaterThanAtLeastOneOf() != other.hasAutoDetectGreaterThanAtLeastOneOf()) return false;
7700  != other.getAutoDetectGreaterThanAtLeastOneOf()) return false;
7701  }
7702  if (hasStopAfterFirstSolution() != other.hasStopAfterFirstSolution()) return false;
7703  if (hasStopAfterFirstSolution()) {
7705  != other.getStopAfterFirstSolution()) return false;
7706  }
7707  if (hasStopAfterPresolve() != other.hasStopAfterPresolve()) return false;
7708  if (hasStopAfterPresolve()) {
7709  if (getStopAfterPresolve()
7710  != other.getStopAfterPresolve()) return false;
7711  }
7712  if (hasNumSearchWorkers() != other.hasNumSearchWorkers()) return false;
7713  if (hasNumSearchWorkers()) {
7714  if (getNumSearchWorkers()
7715  != other.getNumSearchWorkers()) return false;
7716  }
7717  if (hasInterleaveSearch() != other.hasInterleaveSearch()) return false;
7718  if (hasInterleaveSearch()) {
7719  if (getInterleaveSearch()
7720  != other.getInterleaveSearch()) return false;
7721  }
7722  if (hasInterleaveBatchSize() != other.hasInterleaveBatchSize()) return false;
7723  if (hasInterleaveBatchSize()) {
7725  != other.getInterleaveBatchSize()) return false;
7726  }
7727  if (hasReduceMemoryUsageInInterleaveMode() != other.hasReduceMemoryUsageInInterleaveMode()) return false;
7730  != other.getReduceMemoryUsageInInterleaveMode()) return false;
7731  }
7732  if (hasShareObjectiveBounds() != other.hasShareObjectiveBounds()) return false;
7733  if (hasShareObjectiveBounds()) {
7735  != other.getShareObjectiveBounds()) return false;
7736  }
7737  if (hasShareLevelZeroBounds() != other.hasShareLevelZeroBounds()) return false;
7738  if (hasShareLevelZeroBounds()) {
7740  != other.getShareLevelZeroBounds()) return false;
7741  }
7742  if (hasUseLnsOnly() != other.hasUseLnsOnly()) return false;
7743  if (hasUseLnsOnly()) {
7744  if (getUseLnsOnly()
7745  != other.getUseLnsOnly()) return false;
7746  }
7747  if (hasLnsFocusOnDecisionVariables() != other.hasLnsFocusOnDecisionVariables()) return false;
7750  != other.getLnsFocusOnDecisionVariables()) return false;
7751  }
7752  if (hasUseRinsLns() != other.hasUseRinsLns()) return false;
7753  if (hasUseRinsLns()) {
7754  if (getUseRinsLns()
7755  != other.getUseRinsLns()) return false;
7756  }
7757  if (hasUseRelaxationLns() != other.hasUseRelaxationLns()) return false;
7758  if (hasUseRelaxationLns()) {
7759  if (getUseRelaxationLns()
7760  != other.getUseRelaxationLns()) return false;
7761  }
7762  if (hasDiversifyLnsParams() != other.hasDiversifyLnsParams()) return false;
7763  if (hasDiversifyLnsParams()) {
7764  if (getDiversifyLnsParams()
7765  != other.getDiversifyLnsParams()) return false;
7766  }
7767  if (hasRandomizeSearch() != other.hasRandomizeSearch()) return false;
7768  if (hasRandomizeSearch()) {
7769  if (getRandomizeSearch()
7770  != other.getRandomizeSearch()) return false;
7771  }
7772  if (hasSearchRandomizationTolerance() != other.hasSearchRandomizationTolerance()) return false;
7775  != other.getSearchRandomizationTolerance()) return false;
7776  }
7777  if (hasUseOptionalVariables() != other.hasUseOptionalVariables()) return false;
7778  if (hasUseOptionalVariables()) {
7780  != other.getUseOptionalVariables()) return false;
7781  }
7782  if (hasUseExactLpReason() != other.hasUseExactLpReason()) return false;
7783  if (hasUseExactLpReason()) {
7784  if (getUseExactLpReason()
7785  != other.getUseExactLpReason()) return false;
7786  }
7787  if (hasUseBranchingInLp() != other.hasUseBranchingInLp()) return false;
7788  if (hasUseBranchingInLp()) {
7789  if (getUseBranchingInLp()
7790  != other.getUseBranchingInLp()) return false;
7791  }
7792  if (hasUseCombinedNoOverlap() != other.hasUseCombinedNoOverlap()) return false;
7793  if (hasUseCombinedNoOverlap()) {
7795  != other.getUseCombinedNoOverlap()) return false;
7796  }
7797  if (hasCatchSigintSignal() != other.hasCatchSigintSignal()) return false;
7798  if (hasCatchSigintSignal()) {
7799  if (getCatchSigintSignal()
7800  != other.getCatchSigintSignal()) return false;
7801  }
7802  if (hasUseImpliedBounds() != other.hasUseImpliedBounds()) return false;
7803  if (hasUseImpliedBounds()) {
7804  if (getUseImpliedBounds()
7805  != other.getUseImpliedBounds()) return false;
7806  }
7807  if (hasMipMaxBound() != other.hasMipMaxBound()) return false;
7808  if (hasMipMaxBound()) {
7809  if (java.lang.Double.doubleToLongBits(getMipMaxBound())
7810  != java.lang.Double.doubleToLongBits(
7811  other.getMipMaxBound())) return false;
7812  }
7813  if (hasMipVarScaling() != other.hasMipVarScaling()) return false;
7814  if (hasMipVarScaling()) {
7815  if (java.lang.Double.doubleToLongBits(getMipVarScaling())
7816  != java.lang.Double.doubleToLongBits(
7817  other.getMipVarScaling())) return false;
7818  }
7819  if (hasMipWantedPrecision() != other.hasMipWantedPrecision()) return false;
7820  if (hasMipWantedPrecision()) {
7821  if (java.lang.Double.doubleToLongBits(getMipWantedPrecision())
7822  != java.lang.Double.doubleToLongBits(
7823  other.getMipWantedPrecision())) return false;
7824  }
7825  if (hasMipMaxActivityExponent() != other.hasMipMaxActivityExponent()) return false;
7826  if (hasMipMaxActivityExponent()) {
7828  != other.getMipMaxActivityExponent()) return false;
7829  }
7830  if (hasMipCheckPrecision() != other.hasMipCheckPrecision()) return false;
7831  if (hasMipCheckPrecision()) {
7832  if (java.lang.Double.doubleToLongBits(getMipCheckPrecision())
7833  != java.lang.Double.doubleToLongBits(
7834  other.getMipCheckPrecision())) return false;
7835  }
7836  if (!unknownFields.equals(other.unknownFields)) return false;
7837  return true;
7838  }
7839 
7840  @java.lang.Override
7841  public int hashCode() {
7842  if (memoizedHashCode != 0) {
7843  return memoizedHashCode;
7844  }
7845  int hash = 41;
7846  hash = (19 * hash) + getDescriptor().hashCode();
7847  if (hasPreferredVariableOrder()) {
7848  hash = (37 * hash) + PREFERRED_VARIABLE_ORDER_FIELD_NUMBER;
7849  hash = (53 * hash) + preferredVariableOrder_;
7850  }
7851  if (hasInitialPolarity()) {
7852  hash = (37 * hash) + INITIAL_POLARITY_FIELD_NUMBER;
7853  hash = (53 * hash) + initialPolarity_;
7854  }
7855  if (hasUsePhaseSaving()) {
7856  hash = (37 * hash) + USE_PHASE_SAVING_FIELD_NUMBER;
7857  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7858  getUsePhaseSaving());
7859  }
7860  if (hasRandomPolarityRatio()) {
7861  hash = (37 * hash) + RANDOM_POLARITY_RATIO_FIELD_NUMBER;
7862  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7863  java.lang.Double.doubleToLongBits(getRandomPolarityRatio()));
7864  }
7865  if (hasRandomBranchesRatio()) {
7866  hash = (37 * hash) + RANDOM_BRANCHES_RATIO_FIELD_NUMBER;
7867  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7868  java.lang.Double.doubleToLongBits(getRandomBranchesRatio()));
7869  }
7870  if (hasUseErwaHeuristic()) {
7871  hash = (37 * hash) + USE_ERWA_HEURISTIC_FIELD_NUMBER;
7872  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7874  }
7876  hash = (37 * hash) + INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER;
7877  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7878  java.lang.Double.doubleToLongBits(getInitialVariablesActivity()));
7879  }
7882  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7884  }
7885  if (hasMinimizationAlgorithm()) {
7886  hash = (37 * hash) + MINIMIZATION_ALGORITHM_FIELD_NUMBER;
7887  hash = (53 * hash) + minimizationAlgorithm_;
7888  }
7890  hash = (37 * hash) + BINARY_MINIMIZATION_ALGORITHM_FIELD_NUMBER;
7891  hash = (53 * hash) + binaryMinimizationAlgorithm_;
7892  }
7895  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7897  }
7898  if (hasClauseCleanupPeriod()) {
7899  hash = (37 * hash) + CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER;
7900  hash = (53 * hash) + getClauseCleanupPeriod();
7901  }
7902  if (hasClauseCleanupTarget()) {
7903  hash = (37 * hash) + CLAUSE_CLEANUP_TARGET_FIELD_NUMBER;
7904  hash = (53 * hash) + getClauseCleanupTarget();
7905  }
7907  hash = (37 * hash) + CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER;
7908  hash = (53 * hash) + clauseCleanupProtection_;
7909  }
7910  if (hasClauseCleanupLbdBound()) {
7911  hash = (37 * hash) + CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER;
7912  hash = (53 * hash) + getClauseCleanupLbdBound();
7913  }
7914  if (hasClauseCleanupOrdering()) {
7915  hash = (37 * hash) + CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER;
7916  hash = (53 * hash) + clauseCleanupOrdering_;
7917  }
7918  if (hasPbCleanupIncrement()) {
7919  hash = (37 * hash) + PB_CLEANUP_INCREMENT_FIELD_NUMBER;
7920  hash = (53 * hash) + getPbCleanupIncrement();
7921  }
7922  if (hasPbCleanupRatio()) {
7923  hash = (37 * hash) + PB_CLEANUP_RATIO_FIELD_NUMBER;
7924  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7925  java.lang.Double.doubleToLongBits(getPbCleanupRatio()));
7926  }
7929  hash = (53 * hash) + getMinimizeWithPropagationRestartPeriod();
7930  }
7933  hash = (53 * hash) + getMinimizeWithPropagationNumDecisions();
7934  }
7935  if (hasVariableActivityDecay()) {
7936  hash = (37 * hash) + VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER;
7937  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7938  java.lang.Double.doubleToLongBits(getVariableActivityDecay()));
7939  }
7941  hash = (37 * hash) + MAX_VARIABLE_ACTIVITY_VALUE_FIELD_NUMBER;
7942  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7943  java.lang.Double.doubleToLongBits(getMaxVariableActivityValue()));
7944  }
7945  if (hasGlucoseMaxDecay()) {
7946  hash = (37 * hash) + GLUCOSE_MAX_DECAY_FIELD_NUMBER;
7947  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7948  java.lang.Double.doubleToLongBits(getGlucoseMaxDecay()));
7949  }
7950  if (hasGlucoseDecayIncrement()) {
7951  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER;
7952  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7953  java.lang.Double.doubleToLongBits(getGlucoseDecayIncrement()));
7954  }
7956  hash = (37 * hash) + GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER;
7957  hash = (53 * hash) + getGlucoseDecayIncrementPeriod();
7958  }
7959  if (hasClauseActivityDecay()) {
7960  hash = (37 * hash) + CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER;
7961  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7962  java.lang.Double.doubleToLongBits(getClauseActivityDecay()));
7963  }
7964  if (hasMaxClauseActivityValue()) {
7965  hash = (37 * hash) + MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER;
7966  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7967  java.lang.Double.doubleToLongBits(getMaxClauseActivityValue()));
7968  }
7969  if (getRestartAlgorithmsCount() > 0) {
7970  hash = (37 * hash) + RESTART_ALGORITHMS_FIELD_NUMBER;
7971  hash = (53 * hash) + restartAlgorithms_.hashCode();
7972  }
7974  hash = (37 * hash) + DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER;
7975  hash = (53 * hash) + getDefaultRestartAlgorithms().hashCode();
7976  }
7977  if (hasRestartPeriod()) {
7978  hash = (37 * hash) + RESTART_PERIOD_FIELD_NUMBER;
7979  hash = (53 * hash) + getRestartPeriod();
7980  }
7982  hash = (37 * hash) + RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER;
7983  hash = (53 * hash) + getRestartRunningWindowSize();
7984  }
7985  if (hasRestartDlAverageRatio()) {
7986  hash = (37 * hash) + RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER;
7987  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7988  java.lang.Double.doubleToLongBits(getRestartDlAverageRatio()));
7989  }
7990  if (hasRestartLbdAverageRatio()) {
7991  hash = (37 * hash) + RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER;
7992  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7993  java.lang.Double.doubleToLongBits(getRestartLbdAverageRatio()));
7994  }
7995  if (hasUseBlockingRestart()) {
7996  hash = (37 * hash) + USE_BLOCKING_RESTART_FIELD_NUMBER;
7997  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7999  }
8001  hash = (37 * hash) + BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER;
8002  hash = (53 * hash) + getBlockingRestartWindowSize();
8003  }
8005  hash = (37 * hash) + BLOCKING_RESTART_MULTIPLIER_FIELD_NUMBER;
8006  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8007  java.lang.Double.doubleToLongBits(getBlockingRestartMultiplier()));
8008  }
8011  hash = (53 * hash) + getNumConflictsBeforeStrategyChanges();
8012  }
8014  hash = (37 * hash) + STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER;
8015  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8016  java.lang.Double.doubleToLongBits(getStrategyChangeIncreaseRatio()));
8017  }
8018  if (hasMaxTimeInSeconds()) {
8019  hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
8020  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8021  java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
8022  }
8023  if (hasMaxDeterministicTime()) {
8024  hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
8025  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8026  java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
8027  }
8028  if (hasMaxNumberOfConflicts()) {
8029  hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_FIELD_NUMBER;
8030  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8032  }
8033  if (hasMaxMemoryInMb()) {
8034  hash = (37 * hash) + MAX_MEMORY_IN_MB_FIELD_NUMBER;
8035  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8036  getMaxMemoryInMb());
8037  }
8039  hash = (37 * hash) + TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER;
8040  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8042  }
8043  if (hasRandomSeed()) {
8044  hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
8045  hash = (53 * hash) + getRandomSeed();
8046  }
8047  if (hasLogSearchProgress()) {
8048  hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
8049  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8051  }
8052  if (hasUsePbResolution()) {
8053  hash = (37 * hash) + USE_PB_RESOLUTION_FIELD_NUMBER;
8054  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8055  getUsePbResolution());
8056  }
8059  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8061  }
8063  hash = (37 * hash) + COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER;
8064  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8066  }
8067  if (hasPresolveBveThreshold()) {
8068  hash = (37 * hash) + PRESOLVE_BVE_THRESHOLD_FIELD_NUMBER;
8069  hash = (53 * hash) + getPresolveBveThreshold();
8070  }
8072  hash = (37 * hash) + PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER;
8073  hash = (53 * hash) + getPresolveBveClauseWeight();
8074  }
8077  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8078  java.lang.Double.doubleToLongBits(getPresolveProbingDeterministicTimeLimit()));
8079  }
8080  if (hasPresolveBlockedClause()) {
8081  hash = (37 * hash) + PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER;
8082  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8084  }
8085  if (hasPresolveUseBva()) {
8086  hash = (37 * hash) + PRESOLVE_USE_BVA_FIELD_NUMBER;
8087  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8088  getPresolveUseBva());
8089  }
8090  if (hasPresolveBvaThreshold()) {
8091  hash = (37 * hash) + PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER;
8092  hash = (53 * hash) + getPresolveBvaThreshold();
8093  }
8094  if (hasMaxPresolveIterations()) {
8095  hash = (37 * hash) + MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER;
8096  hash = (53 * hash) + getMaxPresolveIterations();
8097  }
8098  if (hasCpModelPresolve()) {
8099  hash = (37 * hash) + CP_MODEL_PRESOLVE_FIELD_NUMBER;
8100  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8101  getCpModelPresolve());
8102  }
8105  hash = (53 * hash) + getCpModelMaxNumPresolveOperations();
8106  }
8107  if (hasCpModelProbingLevel()) {
8108  hash = (37 * hash) + CP_MODEL_PROBING_LEVEL_FIELD_NUMBER;
8109  hash = (53 * hash) + getCpModelProbingLevel();
8110  }
8111  if (hasCpModelUseSatPresolve()) {
8112  hash = (37 * hash) + CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER;
8113  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8115  }
8117  hash = (37 * hash) + EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER;
8118  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8120  }
8122  hash = (37 * hash) + EXPAND_AUTOMATON_CONSTRAINTS_FIELD_NUMBER;
8123  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8125  }
8126  if (hasExpandTableConstraints()) {
8127  hash = (37 * hash) + EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER;
8128  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8130  }
8132  hash = (37 * hash) + MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER;
8133  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8134  java.lang.Double.doubleToLongBits(getMergeNoOverlapWorkLimit()));
8135  }
8137  hash = (37 * hash) + MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER;
8138  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8139  java.lang.Double.doubleToLongBits(getMergeAtMostOneWorkLimit()));
8140  }
8142  hash = (37 * hash) + PRESOLVE_SUBSTITUTION_LEVEL_FIELD_NUMBER;
8143  hash = (53 * hash) + getPresolveSubstitutionLevel();
8144  }
8145  if (hasUseOptimizationHints()) {
8146  hash = (37 * hash) + USE_OPTIMIZATION_HINTS_FIELD_NUMBER;
8147  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8149  }
8150  if (hasMinimizeCore()) {
8151  hash = (37 * hash) + MINIMIZE_CORE_FIELD_NUMBER;
8152  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8153  getMinimizeCore());
8154  }
8155  if (hasFindMultipleCores()) {
8156  hash = (37 * hash) + FIND_MULTIPLE_CORES_FIELD_NUMBER;
8157  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8159  }
8160  if (hasCoverOptimization()) {
8161  hash = (37 * hash) + COVER_OPTIMIZATION_FIELD_NUMBER;
8162  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8164  }
8165  if (hasMaxSatAssumptionOrder()) {
8166  hash = (37 * hash) + MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER;
8167  hash = (53 * hash) + maxSatAssumptionOrder_;
8168  }
8170  hash = (37 * hash) + MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER;
8171  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8173  }
8174  if (hasMaxSatStratification()) {
8175  hash = (37 * hash) + MAX_SAT_STRATIFICATION_FIELD_NUMBER;
8176  hash = (53 * hash) + maxSatStratification_;
8177  }
8180  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8182  }
8185  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8187  }
8190  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8192  }
8195  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8197  }
8198  if (hasLinearizationLevel()) {
8199  hash = (37 * hash) + LINEARIZATION_LEVEL_FIELD_NUMBER;
8200  hash = (53 * hash) + getLinearizationLevel();
8201  }
8202  if (hasBooleanEncodingLevel()) {
8203  hash = (37 * hash) + BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER;
8204  hash = (53 * hash) + getBooleanEncodingLevel();
8205  }
8206  if (hasMaxNumCuts()) {
8207  hash = (37 * hash) + MAX_NUM_CUTS_FIELD_NUMBER;
8208  hash = (53 * hash) + getMaxNumCuts();
8209  }
8210  if (hasOnlyAddCutsAtLevelZero()) {
8211  hash = (37 * hash) + ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER;
8212  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8214  }
8215  if (hasAddKnapsackCuts()) {
8216  hash = (37 * hash) + ADD_KNAPSACK_CUTS_FIELD_NUMBER;
8217  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8218  getAddKnapsackCuts());
8219  }
8220  if (hasAddCgCuts()) {
8221  hash = (37 * hash) + ADD_CG_CUTS_FIELD_NUMBER;
8222  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8223  getAddCgCuts());
8224  }
8225  if (hasAddMirCuts()) {
8226  hash = (37 * hash) + ADD_MIR_CUTS_FIELD_NUMBER;
8227  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8228  getAddMirCuts());
8229  }
8230  if (hasMaxAllDiffCutSize()) {
8231  hash = (37 * hash) + MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER;
8232  hash = (53 * hash) + getMaxAllDiffCutSize();
8233  }
8234  if (hasAddLinMaxCuts()) {
8235  hash = (37 * hash) + ADD_LIN_MAX_CUTS_FIELD_NUMBER;
8236  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8237  getAddLinMaxCuts());
8238  }
8240  hash = (37 * hash) + MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER;
8241  hash = (53 * hash) + getMaxIntegerRoundingScaling();
8242  }
8243  if (hasAddLpConstraintsLazily()) {
8244  hash = (37 * hash) + ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER;
8245  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8247  }
8250  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8251  java.lang.Double.doubleToLongBits(getMinOrthogonalityForLpConstraints()));
8252  }
8254  hash = (37 * hash) + MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER;
8255  hash = (53 * hash) + getMaxCutRoundsAtLevelZero();
8256  }
8258  hash = (37 * hash) + MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER;
8259  hash = (53 * hash) + getMaxConsecutiveInactiveCount();
8260  }
8261  if (hasCutMaxActiveCountValue()) {
8262  hash = (37 * hash) + CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER;
8263  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8264  java.lang.Double.doubleToLongBits(getCutMaxActiveCountValue()));
8265  }
8266  if (hasCutActiveCountDecay()) {
8267  hash = (37 * hash) + CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER;
8268  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8269  java.lang.Double.doubleToLongBits(getCutActiveCountDecay()));
8270  }
8271  if (hasCutCleanupTarget()) {
8272  hash = (37 * hash) + CUT_CLEANUP_TARGET_FIELD_NUMBER;
8273  hash = (53 * hash) + getCutCleanupTarget();
8274  }
8276  hash = (37 * hash) + NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER;
8277  hash = (53 * hash) + getNewConstraintsBatchSize();
8278  }
8279  if (hasSearchBranching()) {
8280  hash = (37 * hash) + SEARCH_BRANCHING_FIELD_NUMBER;
8281  hash = (53 * hash) + searchBranching_;
8282  }
8283  if (hasHintConflictLimit()) {
8284  hash = (37 * hash) + HINT_CONFLICT_LIMIT_FIELD_NUMBER;
8285  hash = (53 * hash) + getHintConflictLimit();
8286  }
8288  hash = (37 * hash) + EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER;
8289  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8291  }
8292  if (hasExploitAllLpSolution()) {
8293  hash = (37 * hash) + EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER;
8294  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8296  }
8297  if (hasExploitBestSolution()) {
8298  hash = (37 * hash) + EXPLOIT_BEST_SOLUTION_FIELD_NUMBER;
8299  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8301  }
8302  if (hasExploitObjective()) {
8303  hash = (37 * hash) + EXPLOIT_OBJECTIVE_FIELD_NUMBER;
8304  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8306  }
8307  if (hasProbingPeriodAtRoot()) {
8308  hash = (37 * hash) + PROBING_PERIOD_AT_ROOT_FIELD_NUMBER;
8309  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8311  }
8314  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8316  }
8317  if (hasOptimizeWithCore()) {
8318  hash = (37 * hash) + OPTIMIZE_WITH_CORE_FIELD_NUMBER;
8319  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8321  }
8323  hash = (37 * hash) + BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER;
8324  hash = (53 * hash) + getBinarySearchNumConflicts();
8325  }
8326  if (hasOptimizeWithMaxHs()) {
8327  hash = (37 * hash) + OPTIMIZE_WITH_MAX_HS_FIELD_NUMBER;
8328  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8330  }
8331  if (hasEnumerateAllSolutions()) {
8332  hash = (37 * hash) + ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER;
8333  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8335  }
8338  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8340  }
8342  hash = (37 * hash) + INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER;
8343  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8345  }
8348  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8350  }
8351  if (hasStopAfterFirstSolution()) {
8352  hash = (37 * hash) + STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER;
8353  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8355  }
8356  if (hasStopAfterPresolve()) {
8357  hash = (37 * hash) + STOP_AFTER_PRESOLVE_FIELD_NUMBER;
8358  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8360  }
8361  if (hasNumSearchWorkers()) {
8362  hash = (37 * hash) + NUM_SEARCH_WORKERS_FIELD_NUMBER;
8363  hash = (53 * hash) + getNumSearchWorkers();
8364  }
8365  if (hasInterleaveSearch()) {
8366  hash = (37 * hash) + INTERLEAVE_SEARCH_FIELD_NUMBER;
8367  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8369  }
8370  if (hasInterleaveBatchSize()) {
8371  hash = (37 * hash) + INTERLEAVE_BATCH_SIZE_FIELD_NUMBER;
8372  hash = (53 * hash) + getInterleaveBatchSize();
8373  }
8376  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8378  }
8379  if (hasShareObjectiveBounds()) {
8380  hash = (37 * hash) + SHARE_OBJECTIVE_BOUNDS_FIELD_NUMBER;
8381  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8383  }
8384  if (hasShareLevelZeroBounds()) {
8385  hash = (37 * hash) + SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER;
8386  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8388  }
8389  if (hasUseLnsOnly()) {
8390  hash = (37 * hash) + USE_LNS_ONLY_FIELD_NUMBER;
8391  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8392  getUseLnsOnly());
8393  }
8395  hash = (37 * hash) + LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER;
8396  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8398  }
8399  if (hasUseRinsLns()) {
8400  hash = (37 * hash) + USE_RINS_LNS_FIELD_NUMBER;
8401  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8402  getUseRinsLns());
8403  }
8404  if (hasUseRelaxationLns()) {
8405  hash = (37 * hash) + USE_RELAXATION_LNS_FIELD_NUMBER;
8406  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8408  }
8409  if (hasDiversifyLnsParams()) {
8410  hash = (37 * hash) + DIVERSIFY_LNS_PARAMS_FIELD_NUMBER;
8411  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8413  }
8414  if (hasRandomizeSearch()) {
8415  hash = (37 * hash) + RANDOMIZE_SEARCH_FIELD_NUMBER;
8416  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8417  getRandomizeSearch());
8418  }
8420  hash = (37 * hash) + SEARCH_RANDOMIZATION_TOLERANCE_FIELD_NUMBER;
8421  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8423  }
8424  if (hasUseOptionalVariables()) {
8425  hash = (37 * hash) + USE_OPTIONAL_VARIABLES_FIELD_NUMBER;
8426  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8428  }
8429  if (hasUseExactLpReason()) {
8430  hash = (37 * hash) + USE_EXACT_LP_REASON_FIELD_NUMBER;
8431  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8433  }
8434  if (hasUseBranchingInLp()) {
8435  hash = (37 * hash) + USE_BRANCHING_IN_LP_FIELD_NUMBER;
8436  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8438  }
8439  if (hasUseCombinedNoOverlap()) {
8440  hash = (37 * hash) + USE_COMBINED_NO_OVERLAP_FIELD_NUMBER;
8441  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8443  }
8444  if (hasCatchSigintSignal()) {
8445  hash = (37 * hash) + CATCH_SIGINT_SIGNAL_FIELD_NUMBER;
8446  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8448  }
8449  if (hasUseImpliedBounds()) {
8450  hash = (37 * hash) + USE_IMPLIED_BOUNDS_FIELD_NUMBER;
8451  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8453  }
8454  if (hasMipMaxBound()) {
8455  hash = (37 * hash) + MIP_MAX_BOUND_FIELD_NUMBER;
8456  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8457  java.lang.Double.doubleToLongBits(getMipMaxBound()));
8458  }
8459  if (hasMipVarScaling()) {
8460  hash = (37 * hash) + MIP_VAR_SCALING_FIELD_NUMBER;
8461  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8462  java.lang.Double.doubleToLongBits(getMipVarScaling()));
8463  }
8464  if (hasMipWantedPrecision()) {
8465  hash = (37 * hash) + MIP_WANTED_PRECISION_FIELD_NUMBER;
8466  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8467  java.lang.Double.doubleToLongBits(getMipWantedPrecision()));
8468  }
8469  if (hasMipMaxActivityExponent()) {
8470  hash = (37 * hash) + MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER;
8471  hash = (53 * hash) + getMipMaxActivityExponent();
8472  }
8473  if (hasMipCheckPrecision()) {
8474  hash = (37 * hash) + MIP_CHECK_PRECISION_FIELD_NUMBER;
8475  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8476  java.lang.Double.doubleToLongBits(getMipCheckPrecision()));
8477  }
8478  hash = (29 * hash) + unknownFields.hashCode();
8479  memoizedHashCode = hash;
8480  return hash;
8481  }
8482 
8484  java.nio.ByteBuffer data)
8485  throws com.google.protobuf.InvalidProtocolBufferException {
8486  return PARSER.parseFrom(data);
8487  }
8489  java.nio.ByteBuffer data,
8490  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8491  throws com.google.protobuf.InvalidProtocolBufferException {
8492  return PARSER.parseFrom(data, extensionRegistry);
8493  }
8495  com.google.protobuf.ByteString data)
8496  throws com.google.protobuf.InvalidProtocolBufferException {
8497  return PARSER.parseFrom(data);
8498  }
8500  com.google.protobuf.ByteString data,
8501  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8502  throws com.google.protobuf.InvalidProtocolBufferException {
8503  return PARSER.parseFrom(data, extensionRegistry);
8504  }
8505  public static com.google.ortools.sat.SatParameters parseFrom(byte[] data)
8506  throws com.google.protobuf.InvalidProtocolBufferException {
8507  return PARSER.parseFrom(data);
8508  }
8510  byte[] data,
8511  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8512  throws com.google.protobuf.InvalidProtocolBufferException {
8513  return PARSER.parseFrom(data, extensionRegistry);
8514  }
8515  public static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
8516  throws java.io.IOException {
8517  return com.google.protobuf.GeneratedMessageV3
8518  .parseWithIOException(PARSER, input);
8519  }
8521  java.io.InputStream input,
8522  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8523  throws java.io.IOException {
8524  return com.google.protobuf.GeneratedMessageV3
8525  .parseWithIOException(PARSER, input, extensionRegistry);
8526  }
8527  public static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
8528  throws java.io.IOException {
8529  return com.google.protobuf.GeneratedMessageV3
8530  .parseDelimitedWithIOException(PARSER, input);
8531  }
8533  java.io.InputStream input,
8534  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8535  throws java.io.IOException {
8536  return com.google.protobuf.GeneratedMessageV3
8537  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
8538  }
8540  com.google.protobuf.CodedInputStream input)
8541  throws java.io.IOException {
8542  return com.google.protobuf.GeneratedMessageV3
8543  .parseWithIOException(PARSER, input);
8544  }
8546  com.google.protobuf.CodedInputStream input,
8547  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8548  throws java.io.IOException {
8549  return com.google.protobuf.GeneratedMessageV3
8550  .parseWithIOException(PARSER, input, extensionRegistry);
8551  }
8552 
8553  @java.lang.Override
8554  public Builder newBuilderForType() { return newBuilder(); }
8555  public static Builder newBuilder() {
8556  return DEFAULT_INSTANCE.toBuilder();
8557  }
8558  public static Builder newBuilder(com.google.ortools.sat.SatParameters prototype) {
8559  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
8560  }
8561  @java.lang.Override
8562  public Builder toBuilder() {
8563  return this == DEFAULT_INSTANCE
8564  ? new Builder() : new Builder().mergeFrom(this);
8565  }
8566 
8567  @java.lang.Override
8569  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
8570  Builder builder = new Builder(parent);
8571  return builder;
8572  }
8582  public static final class Builder extends
8583  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
8584  // @@protoc_insertion_point(builder_implements:operations_research.sat.SatParameters)
8585  com.google.ortools.sat.SatParametersOrBuilder {
8586  public static final com.google.protobuf.Descriptors.Descriptor
8588  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
8589  }
8590 
8591  @java.lang.Override
8592  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
8594  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
8595  .ensureFieldAccessorsInitialized(
8597  }
8598 
8599  // Construct using com.google.ortools.sat.SatParameters.newBuilder()
8600  private Builder() {
8601  maybeForceBuilderInitialization();
8602  }
8603 
8604  private Builder(
8605  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
8606  super(parent);
8607  maybeForceBuilderInitialization();
8608  }
8609  private void maybeForceBuilderInitialization() {
8610  if (com.google.protobuf.GeneratedMessageV3
8611  .alwaysUseFieldBuilders) {
8612  }
8613  }
8614  @java.lang.Override
8615  public Builder clear() {
8616  super.clear();
8617  preferredVariableOrder_ = 0;
8618  bitField0_ = (bitField0_ & ~0x00000001);
8619  initialPolarity_ = 1;
8620  bitField0_ = (bitField0_ & ~0x00000002);
8621  usePhaseSaving_ = true;
8622  bitField0_ = (bitField0_ & ~0x00000004);
8623  randomPolarityRatio_ = 0D;
8624  bitField0_ = (bitField0_ & ~0x00000008);
8625  randomBranchesRatio_ = 0D;
8626  bitField0_ = (bitField0_ & ~0x00000010);
8627  useErwaHeuristic_ = false;
8628  bitField0_ = (bitField0_ & ~0x00000020);
8629  initialVariablesActivity_ = 0D;
8630  bitField0_ = (bitField0_ & ~0x00000040);
8631  alsoBumpVariablesInConflictReasons_ = false;
8632  bitField0_ = (bitField0_ & ~0x00000080);
8633  minimizationAlgorithm_ = 2;
8634  bitField0_ = (bitField0_ & ~0x00000100);
8635  binaryMinimizationAlgorithm_ = 1;
8636  bitField0_ = (bitField0_ & ~0x00000200);
8637  subsumptionDuringConflictAnalysis_ = true;
8638  bitField0_ = (bitField0_ & ~0x00000400);
8639  clauseCleanupPeriod_ = 10000;
8640  bitField0_ = (bitField0_ & ~0x00000800);
8641  clauseCleanupTarget_ = 10000;
8642  bitField0_ = (bitField0_ & ~0x00001000);
8643  clauseCleanupProtection_ = 0;
8644  bitField0_ = (bitField0_ & ~0x00002000);
8645  clauseCleanupLbdBound_ = 5;
8646  bitField0_ = (bitField0_ & ~0x00004000);
8647  clauseCleanupOrdering_ = 0;
8648  bitField0_ = (bitField0_ & ~0x00008000);
8649  pbCleanupIncrement_ = 200;
8650  bitField0_ = (bitField0_ & ~0x00010000);
8651  pbCleanupRatio_ = 0.5D;
8652  bitField0_ = (bitField0_ & ~0x00020000);
8653  minimizeWithPropagationRestartPeriod_ = 10;
8654  bitField0_ = (bitField0_ & ~0x00040000);
8655  minimizeWithPropagationNumDecisions_ = 1000;
8656  bitField0_ = (bitField0_ & ~0x00080000);
8657  variableActivityDecay_ = 0.8D;
8658  bitField0_ = (bitField0_ & ~0x00100000);
8659  maxVariableActivityValue_ = 1e+100D;
8660  bitField0_ = (bitField0_ & ~0x00200000);
8661  glucoseMaxDecay_ = 0.95D;
8662  bitField0_ = (bitField0_ & ~0x00400000);
8663  glucoseDecayIncrement_ = 0.01D;
8664  bitField0_ = (bitField0_ & ~0x00800000);
8665  glucoseDecayIncrementPeriod_ = 5000;
8666  bitField0_ = (bitField0_ & ~0x01000000);
8667  clauseActivityDecay_ = 0.999D;
8668  bitField0_ = (bitField0_ & ~0x02000000);
8669  maxClauseActivityValue_ = 1e+20D;
8670  bitField0_ = (bitField0_ & ~0x04000000);
8671  restartAlgorithms_ = java.util.Collections.emptyList();
8672  bitField0_ = (bitField0_ & ~0x08000000);
8673  defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
8674  bitField0_ = (bitField0_ & ~0x10000000);
8675  restartPeriod_ = 50;
8676  bitField0_ = (bitField0_ & ~0x20000000);
8677  restartRunningWindowSize_ = 50;
8678  bitField0_ = (bitField0_ & ~0x40000000);
8679  restartDlAverageRatio_ = 1D;
8680  bitField0_ = (bitField0_ & ~0x80000000);
8681  restartLbdAverageRatio_ = 1D;
8682  bitField1_ = (bitField1_ & ~0x00000001);
8683  useBlockingRestart_ = false;
8684  bitField1_ = (bitField1_ & ~0x00000002);
8685  blockingRestartWindowSize_ = 5000;
8686  bitField1_ = (bitField1_ & ~0x00000004);
8687  blockingRestartMultiplier_ = 1.4D;
8688  bitField1_ = (bitField1_ & ~0x00000008);
8689  numConflictsBeforeStrategyChanges_ = 0;
8690  bitField1_ = (bitField1_ & ~0x00000010);
8691  strategyChangeIncreaseRatio_ = 0D;
8692  bitField1_ = (bitField1_ & ~0x00000020);
8693  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
8694  bitField1_ = (bitField1_ & ~0x00000040);
8695  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
8696  bitField1_ = (bitField1_ & ~0x00000080);
8697  maxNumberOfConflicts_ = 9223372036854775807L;
8698  bitField1_ = (bitField1_ & ~0x00000100);
8699  maxMemoryInMb_ = 10000L;
8700  bitField1_ = (bitField1_ & ~0x00000200);
8701  treatBinaryClausesSeparately_ = true;
8702  bitField1_ = (bitField1_ & ~0x00000400);
8703  randomSeed_ = 1;
8704  bitField1_ = (bitField1_ & ~0x00000800);
8705  logSearchProgress_ = false;
8706  bitField1_ = (bitField1_ & ~0x00001000);
8707  usePbResolution_ = false;
8708  bitField1_ = (bitField1_ & ~0x00002000);
8709  minimizeReductionDuringPbResolution_ = false;
8710  bitField1_ = (bitField1_ & ~0x00004000);
8711  countAssumptionLevelsInLbd_ = true;
8712  bitField1_ = (bitField1_ & ~0x00008000);
8713  presolveBveThreshold_ = 500;
8714  bitField1_ = (bitField1_ & ~0x00010000);
8715  presolveBveClauseWeight_ = 3;
8716  bitField1_ = (bitField1_ & ~0x00020000);
8717  presolveProbingDeterministicTimeLimit_ = 30D;
8718  bitField1_ = (bitField1_ & ~0x00040000);
8719  presolveBlockedClause_ = true;
8720  bitField1_ = (bitField1_ & ~0x00080000);
8721  presolveUseBva_ = true;
8722  bitField1_ = (bitField1_ & ~0x00100000);
8723  presolveBvaThreshold_ = 1;
8724  bitField1_ = (bitField1_ & ~0x00200000);
8725  maxPresolveIterations_ = 3;
8726  bitField1_ = (bitField1_ & ~0x00400000);
8727  cpModelPresolve_ = true;
8728  bitField1_ = (bitField1_ & ~0x00800000);
8729  cpModelMaxNumPresolveOperations_ = 0;
8730  bitField1_ = (bitField1_ & ~0x01000000);
8731  cpModelProbingLevel_ = 2;
8732  bitField1_ = (bitField1_ & ~0x02000000);
8733  cpModelUseSatPresolve_ = true;
8734  bitField1_ = (bitField1_ & ~0x04000000);
8735  expandElementConstraints_ = true;
8736  bitField1_ = (bitField1_ & ~0x08000000);
8737  expandAutomatonConstraints_ = true;
8738  bitField1_ = (bitField1_ & ~0x10000000);
8739  expandTableConstraints_ = true;
8740  bitField1_ = (bitField1_ & ~0x20000000);
8741  mergeNoOverlapWorkLimit_ = 1000000000000D;
8742  bitField1_ = (bitField1_ & ~0x40000000);
8743  mergeAtMostOneWorkLimit_ = 100000000D;
8744  bitField1_ = (bitField1_ & ~0x80000000);
8745  presolveSubstitutionLevel_ = 1;
8746  bitField2_ = (bitField2_ & ~0x00000001);
8747  useOptimizationHints_ = true;
8748  bitField2_ = (bitField2_ & ~0x00000002);
8749  minimizeCore_ = true;
8750  bitField2_ = (bitField2_ & ~0x00000004);
8751  findMultipleCores_ = true;
8752  bitField2_ = (bitField2_ & ~0x00000008);
8753  coverOptimization_ = true;
8754  bitField2_ = (bitField2_ & ~0x00000010);
8755  maxSatAssumptionOrder_ = 0;
8756  bitField2_ = (bitField2_ & ~0x00000020);
8757  maxSatReverseAssumptionOrder_ = false;
8758  bitField2_ = (bitField2_ & ~0x00000040);
8759  maxSatStratification_ = 1;
8760  bitField2_ = (bitField2_ & ~0x00000080);
8761  usePrecedencesInDisjunctiveConstraint_ = true;
8762  bitField2_ = (bitField2_ & ~0x00000100);
8763  useOverloadCheckerInCumulativeConstraint_ = false;
8764  bitField2_ = (bitField2_ & ~0x00000200);
8765  useTimetableEdgeFindingInCumulativeConstraint_ = false;
8766  bitField2_ = (bitField2_ & ~0x00000400);
8767  useDisjunctiveConstraintInCumulativeConstraint_ = true;
8768  bitField2_ = (bitField2_ & ~0x00000800);
8769  linearizationLevel_ = 1;
8770  bitField2_ = (bitField2_ & ~0x00001000);
8771  booleanEncodingLevel_ = 1;
8772  bitField2_ = (bitField2_ & ~0x00002000);
8773  maxNumCuts_ = 10000;
8774  bitField2_ = (bitField2_ & ~0x00004000);
8775  onlyAddCutsAtLevelZero_ = false;
8776  bitField2_ = (bitField2_ & ~0x00008000);
8777  addKnapsackCuts_ = false;
8778  bitField2_ = (bitField2_ & ~0x00010000);
8779  addCgCuts_ = true;
8780  bitField2_ = (bitField2_ & ~0x00020000);
8781  addMirCuts_ = true;
8782  bitField2_ = (bitField2_ & ~0x00040000);
8783  maxAllDiffCutSize_ = 7;
8784  bitField2_ = (bitField2_ & ~0x00080000);
8785  addLinMaxCuts_ = true;
8786  bitField2_ = (bitField2_ & ~0x00100000);
8787  maxIntegerRoundingScaling_ = 600;
8788  bitField2_ = (bitField2_ & ~0x00200000);
8789  addLpConstraintsLazily_ = true;
8790  bitField2_ = (bitField2_ & ~0x00400000);
8791  minOrthogonalityForLpConstraints_ = 0.05D;
8792  bitField2_ = (bitField2_ & ~0x00800000);
8793  maxCutRoundsAtLevelZero_ = 1;
8794  bitField2_ = (bitField2_ & ~0x01000000);
8795  maxConsecutiveInactiveCount_ = 100;
8796  bitField2_ = (bitField2_ & ~0x02000000);
8797  cutMaxActiveCountValue_ = 10000000000D;
8798  bitField2_ = (bitField2_ & ~0x04000000);
8799  cutActiveCountDecay_ = 0.8D;
8800  bitField2_ = (bitField2_ & ~0x08000000);
8801  cutCleanupTarget_ = 1000;
8802  bitField2_ = (bitField2_ & ~0x10000000);
8803  newConstraintsBatchSize_ = 50;
8804  bitField2_ = (bitField2_ & ~0x20000000);
8805  searchBranching_ = 0;
8806  bitField2_ = (bitField2_ & ~0x40000000);
8807  hintConflictLimit_ = 10;
8808  bitField2_ = (bitField2_ & ~0x80000000);
8809  exploitIntegerLpSolution_ = true;
8810  bitField3_ = (bitField3_ & ~0x00000001);
8811  exploitAllLpSolution_ = true;
8812  bitField3_ = (bitField3_ & ~0x00000002);
8813  exploitBestSolution_ = false;
8814  bitField3_ = (bitField3_ & ~0x00000004);
8815  exploitObjective_ = true;
8816  bitField3_ = (bitField3_ & ~0x00000008);
8817  probingPeriodAtRoot_ = 0L;
8818  bitField3_ = (bitField3_ & ~0x00000010);
8819  pseudoCostReliabilityThreshold_ = 100L;
8820  bitField3_ = (bitField3_ & ~0x00000020);
8821  optimizeWithCore_ = false;
8822  bitField3_ = (bitField3_ & ~0x00000040);
8823  binarySearchNumConflicts_ = -1;
8824  bitField3_ = (bitField3_ & ~0x00000080);
8825  optimizeWithMaxHs_ = false;
8826  bitField3_ = (bitField3_ & ~0x00000100);
8827  enumerateAllSolutions_ = false;
8828  bitField3_ = (bitField3_ & ~0x00000200);
8829  fillTightenedDomainsInResponse_ = false;
8830  bitField3_ = (bitField3_ & ~0x00000400);
8831  instantiateAllVariables_ = true;
8832  bitField3_ = (bitField3_ & ~0x00000800);
8833  autoDetectGreaterThanAtLeastOneOf_ = true;
8834  bitField3_ = (bitField3_ & ~0x00001000);
8835  stopAfterFirstSolution_ = false;
8836  bitField3_ = (bitField3_ & ~0x00002000);
8837  stopAfterPresolve_ = false;
8838  bitField3_ = (bitField3_ & ~0x00004000);
8839  numSearchWorkers_ = 1;
8840  bitField3_ = (bitField3_ & ~0x00008000);
8841  interleaveSearch_ = false;
8842  bitField3_ = (bitField3_ & ~0x00010000);
8843  interleaveBatchSize_ = 1;
8844  bitField3_ = (bitField3_ & ~0x00020000);
8845  reduceMemoryUsageInInterleaveMode_ = false;
8846  bitField3_ = (bitField3_ & ~0x00040000);
8847  shareObjectiveBounds_ = true;
8848  bitField3_ = (bitField3_ & ~0x00080000);
8849  shareLevelZeroBounds_ = true;
8850  bitField3_ = (bitField3_ & ~0x00100000);
8851  useLnsOnly_ = false;
8852  bitField3_ = (bitField3_ & ~0x00200000);
8853  lnsFocusOnDecisionVariables_ = false;
8854  bitField3_ = (bitField3_ & ~0x00400000);
8855  useRinsLns_ = true;
8856  bitField3_ = (bitField3_ & ~0x00800000);
8857  useRelaxationLns_ = false;
8858  bitField3_ = (bitField3_ & ~0x01000000);
8859  diversifyLnsParams_ = false;
8860  bitField3_ = (bitField3_ & ~0x02000000);
8861  randomizeSearch_ = false;
8862  bitField3_ = (bitField3_ & ~0x04000000);
8863  searchRandomizationTolerance_ = 0L;
8864  bitField3_ = (bitField3_ & ~0x08000000);
8865  useOptionalVariables_ = true;
8866  bitField3_ = (bitField3_ & ~0x10000000);
8867  useExactLpReason_ = true;
8868  bitField3_ = (bitField3_ & ~0x20000000);
8869  useBranchingInLp_ = false;
8870  bitField3_ = (bitField3_ & ~0x40000000);
8871  useCombinedNoOverlap_ = false;
8872  bitField3_ = (bitField3_ & ~0x80000000);
8873  catchSigintSignal_ = true;
8874  bitField4_ = (bitField4_ & ~0x00000001);
8875  useImpliedBounds_ = true;
8876  bitField4_ = (bitField4_ & ~0x00000002);
8877  mipMaxBound_ = 10000000D;
8878  bitField4_ = (bitField4_ & ~0x00000004);
8879  mipVarScaling_ = 1D;
8880  bitField4_ = (bitField4_ & ~0x00000008);
8881  mipWantedPrecision_ = 1e-06D;
8882  bitField4_ = (bitField4_ & ~0x00000010);
8883  mipMaxActivityExponent_ = 53;
8884  bitField4_ = (bitField4_ & ~0x00000020);
8885  mipCheckPrecision_ = 0.0001D;
8886  bitField4_ = (bitField4_ & ~0x00000040);
8887  return this;
8888  }
8889 
8890  @java.lang.Override
8891  public com.google.protobuf.Descriptors.Descriptor
8893  return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
8894  }
8895 
8896  @java.lang.Override
8899  }
8900 
8901  @java.lang.Override
8904  if (!result.isInitialized()) {
8905  throw newUninitializedMessageException(result);
8906  }
8907  return result;
8908  }
8909 
8910  @java.lang.Override
8913  int from_bitField0_ = bitField0_;
8914  int from_bitField1_ = bitField1_;
8915  int from_bitField2_ = bitField2_;
8916  int from_bitField3_ = bitField3_;
8917  int from_bitField4_ = bitField4_;
8918  int to_bitField0_ = 0;
8919  int to_bitField1_ = 0;
8920  int to_bitField2_ = 0;
8921  int to_bitField3_ = 0;
8922  int to_bitField4_ = 0;
8923  if (((from_bitField0_ & 0x00000001) != 0)) {
8924  to_bitField0_ |= 0x00000001;
8925  }
8926  result.preferredVariableOrder_ = preferredVariableOrder_;
8927  if (((from_bitField0_ & 0x00000002) != 0)) {
8928  to_bitField0_ |= 0x00000002;
8929  }
8930  result.initialPolarity_ = initialPolarity_;
8931  if (((from_bitField0_ & 0x00000004) != 0)) {
8932  to_bitField0_ |= 0x00000004;
8933  }
8934  result.usePhaseSaving_ = usePhaseSaving_;
8935  if (((from_bitField0_ & 0x00000008) != 0)) {
8936  result.randomPolarityRatio_ = randomPolarityRatio_;
8937  to_bitField0_ |= 0x00000008;
8938  }
8939  if (((from_bitField0_ & 0x00000010) != 0)) {
8940  result.randomBranchesRatio_ = randomBranchesRatio_;
8941  to_bitField0_ |= 0x00000010;
8942  }
8943  if (((from_bitField0_ & 0x00000020) != 0)) {
8944  result.useErwaHeuristic_ = useErwaHeuristic_;
8945  to_bitField0_ |= 0x00000020;
8946  }
8947  if (((from_bitField0_ & 0x00000040) != 0)) {
8948  result.initialVariablesActivity_ = initialVariablesActivity_;
8949  to_bitField0_ |= 0x00000040;
8950  }
8951  if (((from_bitField0_ & 0x00000080) != 0)) {
8952  result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
8953  to_bitField0_ |= 0x00000080;
8954  }
8955  if (((from_bitField0_ & 0x00000100) != 0)) {
8956  to_bitField0_ |= 0x00000100;
8957  }
8958  result.minimizationAlgorithm_ = minimizationAlgorithm_;
8959  if (((from_bitField0_ & 0x00000200) != 0)) {
8960  to_bitField0_ |= 0x00000200;
8961  }
8962  result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
8963  if (((from_bitField0_ & 0x00000400) != 0)) {
8964  to_bitField0_ |= 0x00000400;
8965  }
8966  result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
8967  if (((from_bitField0_ & 0x00000800) != 0)) {
8968  to_bitField0_ |= 0x00000800;
8969  }
8970  result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
8971  if (((from_bitField0_ & 0x00001000) != 0)) {
8972  to_bitField0_ |= 0x00001000;
8973  }
8974  result.clauseCleanupTarget_ = clauseCleanupTarget_;
8975  if (((from_bitField0_ & 0x00002000) != 0)) {
8976  to_bitField0_ |= 0x00002000;
8977  }
8978  result.clauseCleanupProtection_ = clauseCleanupProtection_;
8979  if (((from_bitField0_ & 0x00004000) != 0)) {
8980  to_bitField0_ |= 0x00004000;
8981  }
8982  result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
8983  if (((from_bitField0_ & 0x00008000) != 0)) {
8984  to_bitField0_ |= 0x00008000;
8985  }
8986  result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
8987  if (((from_bitField0_ & 0x00010000) != 0)) {
8988  to_bitField0_ |= 0x00010000;
8989  }
8990  result.pbCleanupIncrement_ = pbCleanupIncrement_;
8991  if (((from_bitField0_ & 0x00020000) != 0)) {
8992  to_bitField0_ |= 0x00020000;
8993  }
8994  result.pbCleanupRatio_ = pbCleanupRatio_;
8995  if (((from_bitField0_ & 0x00040000) != 0)) {
8996  to_bitField0_ |= 0x00040000;
8997  }
8998  result.minimizeWithPropagationRestartPeriod_ = minimizeWithPropagationRestartPeriod_;
8999  if (((from_bitField0_ & 0x00080000) != 0)) {
9000  to_bitField0_ |= 0x00080000;
9001  }
9002  result.minimizeWithPropagationNumDecisions_ = minimizeWithPropagationNumDecisions_;
9003  if (((from_bitField0_ & 0x00100000) != 0)) {
9004  to_bitField0_ |= 0x00100000;
9005  }
9006  result.variableActivityDecay_ = variableActivityDecay_;
9007  if (((from_bitField0_ & 0x00200000) != 0)) {
9008  to_bitField0_ |= 0x00200000;
9009  }
9010  result.maxVariableActivityValue_ = maxVariableActivityValue_;
9011  if (((from_bitField0_ & 0x00400000) != 0)) {
9012  to_bitField0_ |= 0x00400000;
9013  }
9014  result.glucoseMaxDecay_ = glucoseMaxDecay_;
9015  if (((from_bitField0_ & 0x00800000) != 0)) {
9016  to_bitField0_ |= 0x00800000;
9017  }
9018  result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
9019  if (((from_bitField0_ & 0x01000000) != 0)) {
9020  to_bitField0_ |= 0x01000000;
9021  }
9022  result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
9023  if (((from_bitField0_ & 0x02000000) != 0)) {
9024  to_bitField0_ |= 0x02000000;
9025  }
9026  result.clauseActivityDecay_ = clauseActivityDecay_;
9027  if (((from_bitField0_ & 0x04000000) != 0)) {
9028  to_bitField0_ |= 0x04000000;
9029  }
9030  result.maxClauseActivityValue_ = maxClauseActivityValue_;
9031  if (((bitField0_ & 0x08000000) != 0)) {
9032  restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
9033  bitField0_ = (bitField0_ & ~0x08000000);
9034  }
9035  result.restartAlgorithms_ = restartAlgorithms_;
9036  if (((from_bitField0_ & 0x10000000) != 0)) {
9037  to_bitField0_ |= 0x08000000;
9038  }
9039  result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
9040  if (((from_bitField0_ & 0x20000000) != 0)) {
9041  to_bitField0_ |= 0x10000000;
9042  }
9043  result.restartPeriod_ = restartPeriod_;
9044  if (((from_bitField0_ & 0x40000000) != 0)) {
9045  to_bitField0_ |= 0x20000000;
9046  }
9047  result.restartRunningWindowSize_ = restartRunningWindowSize_;
9048  if (((from_bitField0_ & 0x80000000) != 0)) {
9049  to_bitField0_ |= 0x40000000;
9050  }
9051  result.restartDlAverageRatio_ = restartDlAverageRatio_;
9052  if (((from_bitField1_ & 0x00000001) != 0)) {
9053  to_bitField0_ |= 0x80000000;
9054  }
9055  result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
9056  if (((from_bitField1_ & 0x00000002) != 0)) {
9057  result.useBlockingRestart_ = useBlockingRestart_;
9058  to_bitField1_ |= 0x00000001;
9059  }
9060  if (((from_bitField1_ & 0x00000004) != 0)) {
9061  to_bitField1_ |= 0x00000002;
9062  }
9063  result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
9064  if (((from_bitField1_ & 0x00000008) != 0)) {
9065  to_bitField1_ |= 0x00000004;
9066  }
9067  result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
9068  if (((from_bitField1_ & 0x00000010) != 0)) {
9069  result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
9070  to_bitField1_ |= 0x00000008;
9071  }
9072  if (((from_bitField1_ & 0x00000020) != 0)) {
9073  result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
9074  to_bitField1_ |= 0x00000010;
9075  }
9076  if (((from_bitField1_ & 0x00000040) != 0)) {
9077  to_bitField1_ |= 0x00000020;
9078  }
9079  result.maxTimeInSeconds_ = maxTimeInSeconds_;
9080  if (((from_bitField1_ & 0x00000080) != 0)) {
9081  to_bitField1_ |= 0x00000040;
9082  }
9083  result.maxDeterministicTime_ = maxDeterministicTime_;
9084  if (((from_bitField1_ & 0x00000100) != 0)) {
9085  to_bitField1_ |= 0x00000080;
9086  }
9087  result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
9088  if (((from_bitField1_ & 0x00000200) != 0)) {
9089  to_bitField1_ |= 0x00000100;
9090  }
9091  result.maxMemoryInMb_ = maxMemoryInMb_;
9092  if (((from_bitField1_ & 0x00000400) != 0)) {
9093  to_bitField1_ |= 0x00000200;
9094  }
9095  result.treatBinaryClausesSeparately_ = treatBinaryClausesSeparately_;
9096  if (((from_bitField1_ & 0x00000800) != 0)) {
9097  to_bitField1_ |= 0x00000400;
9098  }
9099  result.randomSeed_ = randomSeed_;
9100  if (((from_bitField1_ & 0x00001000) != 0)) {
9101  result.logSearchProgress_ = logSearchProgress_;
9102  to_bitField1_ |= 0x00000800;
9103  }
9104  if (((from_bitField1_ & 0x00002000) != 0)) {
9105  result.usePbResolution_ = usePbResolution_;
9106  to_bitField1_ |= 0x00001000;
9107  }
9108  if (((from_bitField1_ & 0x00004000) != 0)) {
9109  result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
9110  to_bitField1_ |= 0x00002000;
9111  }
9112  if (((from_bitField1_ & 0x00008000) != 0)) {
9113  to_bitField1_ |= 0x00004000;
9114  }
9115  result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
9116  if (((from_bitField1_ & 0x00010000) != 0)) {
9117  to_bitField1_ |= 0x00008000;
9118  }
9119  result.presolveBveThreshold_ = presolveBveThreshold_;
9120  if (((from_bitField1_ & 0x00020000) != 0)) {
9121  to_bitField1_ |= 0x00010000;
9122  }
9123  result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
9124  if (((from_bitField1_ & 0x00040000) != 0)) {
9125  to_bitField1_ |= 0x00020000;
9126  }
9127  result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
9128  if (((from_bitField1_ & 0x00080000) != 0)) {
9129  to_bitField1_ |= 0x00040000;
9130  }
9131  result.presolveBlockedClause_ = presolveBlockedClause_;
9132  if (((from_bitField1_ & 0x00100000) != 0)) {
9133  to_bitField1_ |= 0x00080000;
9134  }
9135  result.presolveUseBva_ = presolveUseBva_;
9136  if (((from_bitField1_ & 0x00200000) != 0)) {
9137  to_bitField1_ |= 0x00100000;
9138  }
9139  result.presolveBvaThreshold_ = presolveBvaThreshold_;
9140  if (((from_bitField1_ & 0x00400000) != 0)) {
9141  to_bitField1_ |= 0x00200000;
9142  }
9143  result.maxPresolveIterations_ = maxPresolveIterations_;
9144  if (((from_bitField1_ & 0x00800000) != 0)) {
9145  to_bitField1_ |= 0x00400000;
9146  }
9147  result.cpModelPresolve_ = cpModelPresolve_;
9148  if (((from_bitField1_ & 0x01000000) != 0)) {
9149  result.cpModelMaxNumPresolveOperations_ = cpModelMaxNumPresolveOperations_;
9150  to_bitField1_ |= 0x00800000;
9151  }
9152  if (((from_bitField1_ & 0x02000000) != 0)) {
9153  to_bitField1_ |= 0x01000000;
9154  }
9155  result.cpModelProbingLevel_ = cpModelProbingLevel_;
9156  if (((from_bitField1_ & 0x04000000) != 0)) {
9157  to_bitField1_ |= 0x02000000;
9158  }
9159  result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
9160  if (((from_bitField1_ & 0x08000000) != 0)) {
9161  to_bitField1_ |= 0x04000000;
9162  }
9163  result.expandElementConstraints_ = expandElementConstraints_;
9164  if (((from_bitField1_ & 0x10000000) != 0)) {
9165  to_bitField1_ |= 0x08000000;
9166  }
9167  result.expandAutomatonConstraints_ = expandAutomatonConstraints_;
9168  if (((from_bitField1_ & 0x20000000) != 0)) {
9169  to_bitField1_ |= 0x10000000;
9170  }
9171  result.expandTableConstraints_ = expandTableConstraints_;
9172  if (((from_bitField1_ & 0x40000000) != 0)) {
9173  to_bitField1_ |= 0x20000000;
9174  }
9175  result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
9176  if (((from_bitField1_ & 0x80000000) != 0)) {
9177  to_bitField1_ |= 0x40000000;
9178  }
9179  result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
9180  if (((from_bitField2_ & 0x00000001) != 0)) {
9181  to_bitField1_ |= 0x80000000;
9182  }
9183  result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
9184  if (((from_bitField2_ & 0x00000002) != 0)) {
9185  to_bitField2_ |= 0x00000001;
9186  }
9187  result.useOptimizationHints_ = useOptimizationHints_;
9188  if (((from_bitField2_ & 0x00000004) != 0)) {
9189  to_bitField2_ |= 0x00000002;
9190  }
9191  result.minimizeCore_ = minimizeCore_;
9192  if (((from_bitField2_ & 0x00000008) != 0)) {
9193  to_bitField2_ |= 0x00000004;
9194  }
9195  result.findMultipleCores_ = findMultipleCores_;
9196  if (((from_bitField2_ & 0x00000010) != 0)) {
9197  to_bitField2_ |= 0x00000008;
9198  }
9199  result.coverOptimization_ = coverOptimization_;
9200  if (((from_bitField2_ & 0x00000020) != 0)) {
9201  to_bitField2_ |= 0x00000010;
9202  }
9203  result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
9204  if (((from_bitField2_ & 0x00000040) != 0)) {
9205  result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
9206  to_bitField2_ |= 0x00000020;
9207  }
9208  if (((from_bitField2_ & 0x00000080) != 0)) {
9209  to_bitField2_ |= 0x00000040;
9210  }
9211  result.maxSatStratification_ = maxSatStratification_;
9212  if (((from_bitField2_ & 0x00000100) != 0)) {
9213  to_bitField2_ |= 0x00000080;
9214  }
9215  result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
9216  if (((from_bitField2_ & 0x00000200) != 0)) {
9217  result.useOverloadCheckerInCumulativeConstraint_ = useOverloadCheckerInCumulativeConstraint_;
9218  to_bitField2_ |= 0x00000100;
9219  }
9220  if (((from_bitField2_ & 0x00000400) != 0)) {
9221  result.useTimetableEdgeFindingInCumulativeConstraint_ = useTimetableEdgeFindingInCumulativeConstraint_;
9222  to_bitField2_ |= 0x00000200;
9223  }
9224  if (((from_bitField2_ & 0x00000800) != 0)) {
9225  to_bitField2_ |= 0x00000400;
9226  }
9227  result.useDisjunctiveConstraintInCumulativeConstraint_ = useDisjunctiveConstraintInCumulativeConstraint_;
9228  if (((from_bitField2_ & 0x00001000) != 0)) {
9229  to_bitField2_ |= 0x00000800;
9230  }
9231  result.linearizationLevel_ = linearizationLevel_;
9232  if (((from_bitField2_ & 0x00002000) != 0)) {
9233  to_bitField2_ |= 0x00001000;
9234  }
9235  result.booleanEncodingLevel_ = booleanEncodingLevel_;
9236  if (((from_bitField2_ & 0x00004000) != 0)) {
9237  to_bitField2_ |= 0x00002000;
9238  }
9239  result.maxNumCuts_ = maxNumCuts_;
9240  if (((from_bitField2_ & 0x00008000) != 0)) {
9241  result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
9242  to_bitField2_ |= 0x00004000;
9243  }
9244  if (((from_bitField2_ & 0x00010000) != 0)) {
9245  result.addKnapsackCuts_ = addKnapsackCuts_;
9246  to_bitField2_ |= 0x00008000;
9247  }
9248  if (((from_bitField2_ & 0x00020000) != 0)) {
9249  to_bitField2_ |= 0x00010000;
9250  }
9251  result.addCgCuts_ = addCgCuts_;
9252  if (((from_bitField2_ & 0x00040000) != 0)) {
9253  to_bitField2_ |= 0x00020000;
9254  }
9255  result.addMirCuts_ = addMirCuts_;
9256  if (((from_bitField2_ & 0x00080000) != 0)) {
9257  to_bitField2_ |= 0x00040000;
9258  }
9259  result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
9260  if (((from_bitField2_ & 0x00100000) != 0)) {
9261  to_bitField2_ |= 0x00080000;
9262  }
9263  result.addLinMaxCuts_ = addLinMaxCuts_;
9264  if (((from_bitField2_ & 0x00200000) != 0)) {
9265  to_bitField2_ |= 0x00100000;
9266  }
9267  result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
9268  if (((from_bitField2_ & 0x00400000) != 0)) {
9269  to_bitField2_ |= 0x00200000;
9270  }
9271  result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
9272  if (((from_bitField2_ & 0x00800000) != 0)) {
9273  to_bitField2_ |= 0x00400000;
9274  }
9275  result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
9276  if (((from_bitField2_ & 0x01000000) != 0)) {
9277  to_bitField2_ |= 0x00800000;
9278  }
9279  result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
9280  if (((from_bitField2_ & 0x02000000) != 0)) {
9281  to_bitField2_ |= 0x01000000;
9282  }
9283  result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
9284  if (((from_bitField2_ & 0x04000000) != 0)) {
9285  to_bitField2_ |= 0x02000000;
9286  }
9287  result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
9288  if (((from_bitField2_ & 0x08000000) != 0)) {
9289  to_bitField2_ |= 0x04000000;
9290  }
9291  result.cutActiveCountDecay_ = cutActiveCountDecay_;
9292  if (((from_bitField2_ & 0x10000000) != 0)) {
9293  to_bitField2_ |= 0x08000000;
9294  }
9295  result.cutCleanupTarget_ = cutCleanupTarget_;
9296  if (((from_bitField2_ & 0x20000000) != 0)) {
9297  to_bitField2_ |= 0x10000000;
9298  }
9299  result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
9300  if (((from_bitField2_ & 0x40000000) != 0)) {
9301  to_bitField2_ |= 0x20000000;
9302  }
9303  result.searchBranching_ = searchBranching_;
9304  if (((from_bitField2_ & 0x80000000) != 0)) {
9305  to_bitField2_ |= 0x40000000;
9306  }
9307  result.hintConflictLimit_ = hintConflictLimit_;
9308  if (((from_bitField3_ & 0x00000001) != 0)) {
9309  to_bitField2_ |= 0x80000000;
9310  }
9311  result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
9312  if (((from_bitField3_ & 0x00000002) != 0)) {
9313  to_bitField3_ |= 0x00000001;
9314  }
9315  result.exploitAllLpSolution_ = exploitAllLpSolution_;
9316  if (((from_bitField3_ & 0x00000004) != 0)) {
9317  result.exploitBestSolution_ = exploitBestSolution_;
9318  to_bitField3_ |= 0x00000002;
9319  }
9320  if (((from_bitField3_ & 0x00000008) != 0)) {
9321  to_bitField3_ |= 0x00000004;
9322  }
9323  result.exploitObjective_ = exploitObjective_;
9324  if (((from_bitField3_ & 0x00000010) != 0)) {
9325  result.probingPeriodAtRoot_ = probingPeriodAtRoot_;
9326  to_bitField3_ |= 0x00000008;
9327  }
9328  if (((from_bitField3_ & 0x00000020) != 0)) {
9329  to_bitField3_ |= 0x00000010;
9330  }
9331  result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
9332  if (((from_bitField3_ & 0x00000040) != 0)) {
9333  result.optimizeWithCore_ = optimizeWithCore_;
9334  to_bitField3_ |= 0x00000020;
9335  }
9336  if (((from_bitField3_ & 0x00000080) != 0)) {
9337  to_bitField3_ |= 0x00000040;
9338  }
9339  result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
9340  if (((from_bitField3_ & 0x00000100) != 0)) {
9341  result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
9342  to_bitField3_ |= 0x00000080;
9343  }
9344  if (((from_bitField3_ & 0x00000200) != 0)) {
9345  result.enumerateAllSolutions_ = enumerateAllSolutions_;
9346  to_bitField3_ |= 0x00000100;
9347  }
9348  if (((from_bitField3_ & 0x00000400) != 0)) {
9349  result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
9350  to_bitField3_ |= 0x00000200;
9351  }
9352  if (((from_bitField3_ & 0x00000800) != 0)) {
9353  to_bitField3_ |= 0x00000400;
9354  }
9355  result.instantiateAllVariables_ = instantiateAllVariables_;
9356  if (((from_bitField3_ & 0x00001000) != 0)) {
9357  to_bitField3_ |= 0x00000800;
9358  }
9359  result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
9360  if (((from_bitField3_ & 0x00002000) != 0)) {
9361  result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
9362  to_bitField3_ |= 0x00001000;
9363  }
9364  if (((from_bitField3_ & 0x00004000) != 0)) {
9365  result.stopAfterPresolve_ = stopAfterPresolve_;
9366  to_bitField3_ |= 0x00002000;
9367  }
9368  if (((from_bitField3_ & 0x00008000) != 0)) {
9369  to_bitField3_ |= 0x00004000;
9370  }
9371  result.numSearchWorkers_ = numSearchWorkers_;
9372  if (((from_bitField3_ & 0x00010000) != 0)) {
9373  result.interleaveSearch_ = interleaveSearch_;
9374  to_bitField3_ |= 0x00008000;
9375  }
9376  if (((from_bitField3_ & 0x00020000) != 0)) {
9377  to_bitField3_ |= 0x00010000;
9378  }
9379  result.interleaveBatchSize_ = interleaveBatchSize_;
9380  if (((from_bitField3_ & 0x00040000) != 0)) {
9381  result.reduceMemoryUsageInInterleaveMode_ = reduceMemoryUsageInInterleaveMode_;
9382  to_bitField3_ |= 0x00020000;
9383  }
9384  if (((from_bitField3_ & 0x00080000) != 0)) {
9385  to_bitField3_ |= 0x00040000;
9386  }
9387  result.shareObjectiveBounds_ = shareObjectiveBounds_;
9388  if (((from_bitField3_ & 0x00100000) != 0)) {
9389  to_bitField3_ |= 0x00080000;
9390  }
9391  result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
9392  if (((from_bitField3_ & 0x00200000) != 0)) {
9393  result.useLnsOnly_ = useLnsOnly_;
9394  to_bitField3_ |= 0x00100000;
9395  }
9396  if (((from_bitField3_ & 0x00400000) != 0)) {
9397  result.lnsFocusOnDecisionVariables_ = lnsFocusOnDecisionVariables_;
9398  to_bitField3_ |= 0x00200000;
9399  }
9400  if (((from_bitField3_ & 0x00800000) != 0)) {
9401  to_bitField3_ |= 0x00400000;
9402  }
9403  result.useRinsLns_ = useRinsLns_;
9404  if (((from_bitField3_ & 0x01000000) != 0)) {
9405  result.useRelaxationLns_ = useRelaxationLns_;
9406  to_bitField3_ |= 0x00800000;
9407  }
9408  if (((from_bitField3_ & 0x02000000) != 0)) {
9409  result.diversifyLnsParams_ = diversifyLnsParams_;
9410  to_bitField3_ |= 0x01000000;
9411  }
9412  if (((from_bitField3_ & 0x04000000) != 0)) {
9413  result.randomizeSearch_ = randomizeSearch_;
9414  to_bitField3_ |= 0x02000000;
9415  }
9416  if (((from_bitField3_ & 0x08000000) != 0)) {
9417  result.searchRandomizationTolerance_ = searchRandomizationTolerance_;
9418  to_bitField3_ |= 0x04000000;
9419  }
9420  if (((from_bitField3_ & 0x10000000) != 0)) {
9421  to_bitField3_ |= 0x08000000;
9422  }
9423  result.useOptionalVariables_ = useOptionalVariables_;
9424  if (((from_bitField3_ & 0x20000000) != 0)) {
9425  to_bitField3_ |= 0x10000000;
9426  }
9427  result.useExactLpReason_ = useExactLpReason_;
9428  if (((from_bitField3_ & 0x40000000) != 0)) {
9429  result.useBranchingInLp_ = useBranchingInLp_;
9430  to_bitField3_ |= 0x20000000;
9431  }
9432  if (((from_bitField3_ & 0x80000000) != 0)) {
9433  result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
9434  to_bitField3_ |= 0x40000000;
9435  }
9436  if (((from_bitField4_ & 0x00000001) != 0)) {
9437  to_bitField3_ |= 0x80000000;
9438  }
9439  result.catchSigintSignal_ = catchSigintSignal_;
9440  if (((from_bitField4_ & 0x00000002) != 0)) {
9441  to_bitField4_ |= 0x00000001;
9442  }
9443  result.useImpliedBounds_ = useImpliedBounds_;
9444  if (((from_bitField4_ & 0x00000004) != 0)) {
9445  to_bitField4_ |= 0x00000002;
9446  }
9447  result.mipMaxBound_ = mipMaxBound_;
9448  if (((from_bitField4_ & 0x00000008) != 0)) {
9449  to_bitField4_ |= 0x00000004;
9450  }
9451  result.mipVarScaling_ = mipVarScaling_;
9452  if (((from_bitField4_ & 0x00000010) != 0)) {
9453  to_bitField4_ |= 0x00000008;
9454  }
9455  result.mipWantedPrecision_ = mipWantedPrecision_;
9456  if (((from_bitField4_ & 0x00000020) != 0)) {
9457  to_bitField4_ |= 0x00000010;
9458  }
9459  result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
9460  if (((from_bitField4_ & 0x00000040) != 0)) {
9461  to_bitField4_ |= 0x00000020;
9462  }
9463  result.mipCheckPrecision_ = mipCheckPrecision_;
9464  result.bitField0_ = to_bitField0_;
9465  result.bitField1_ = to_bitField1_;
9466  result.bitField2_ = to_bitField2_;
9467  result.bitField3_ = to_bitField3_;
9468  result.bitField4_ = to_bitField4_;
9469  onBuilt();
9470  return result;
9471  }
9472 
9473  @java.lang.Override
9474  public Builder clone() {
9475  return super.clone();
9476  }
9477  @java.lang.Override
9479  com.google.protobuf.Descriptors.FieldDescriptor field,
9480  java.lang.Object value) {
9481  return super.setField(field, value);
9482  }
9483  @java.lang.Override
9485  com.google.protobuf.Descriptors.FieldDescriptor field) {
9486  return super.clearField(field);
9487  }
9488  @java.lang.Override
9490  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
9491  return super.clearOneof(oneof);
9492  }
9493  @java.lang.Override
9495  com.google.protobuf.Descriptors.FieldDescriptor field,
9496  int index, java.lang.Object value) {
9497  return super.setRepeatedField(field, index, value);
9498  }
9499  @java.lang.Override
9501  com.google.protobuf.Descriptors.FieldDescriptor field,
9502  java.lang.Object value) {
9503  return super.addRepeatedField(field, value);
9504  }
9505  @java.lang.Override
9506  public Builder mergeFrom(com.google.protobuf.Message other) {
9507  if (other instanceof com.google.ortools.sat.SatParameters) {
9508  return mergeFrom((com.google.ortools.sat.SatParameters)other);
9509  } else {
9510  super.mergeFrom(other);
9511  return this;
9512  }
9513  }
9514 
9516  if (other == com.google.ortools.sat.SatParameters.getDefaultInstance()) return this;
9517  if (other.hasPreferredVariableOrder()) {
9518  setPreferredVariableOrder(other.getPreferredVariableOrder());
9519  }
9520  if (other.hasInitialPolarity()) {
9521  setInitialPolarity(other.getInitialPolarity());
9522  }
9523  if (other.hasUsePhaseSaving()) {
9524  setUsePhaseSaving(other.getUsePhaseSaving());
9525  }
9526  if (other.hasRandomPolarityRatio()) {
9527  setRandomPolarityRatio(other.getRandomPolarityRatio());
9528  }
9529  if (other.hasRandomBranchesRatio()) {
9530  setRandomBranchesRatio(other.getRandomBranchesRatio());
9531  }
9532  if (other.hasUseErwaHeuristic()) {
9533  setUseErwaHeuristic(other.getUseErwaHeuristic());
9534  }
9535  if (other.hasInitialVariablesActivity()) {
9536  setInitialVariablesActivity(other.getInitialVariablesActivity());
9537  }
9538  if (other.hasAlsoBumpVariablesInConflictReasons()) {
9539  setAlsoBumpVariablesInConflictReasons(other.getAlsoBumpVariablesInConflictReasons());
9540  }
9541  if (other.hasMinimizationAlgorithm()) {
9542  setMinimizationAlgorithm(other.getMinimizationAlgorithm());
9543  }
9544  if (other.hasBinaryMinimizationAlgorithm()) {
9545  setBinaryMinimizationAlgorithm(other.getBinaryMinimizationAlgorithm());
9546  }
9547  if (other.hasSubsumptionDuringConflictAnalysis()) {
9548  setSubsumptionDuringConflictAnalysis(other.getSubsumptionDuringConflictAnalysis());
9549  }
9550  if (other.hasClauseCleanupPeriod()) {
9551  setClauseCleanupPeriod(other.getClauseCleanupPeriod());
9552  }
9553  if (other.hasClauseCleanupTarget()) {
9554  setClauseCleanupTarget(other.getClauseCleanupTarget());
9555  }
9556  if (other.hasClauseCleanupProtection()) {
9557  setClauseCleanupProtection(other.getClauseCleanupProtection());
9558  }
9559  if (other.hasClauseCleanupLbdBound()) {
9560  setClauseCleanupLbdBound(other.getClauseCleanupLbdBound());
9561  }
9562  if (other.hasClauseCleanupOrdering()) {
9563  setClauseCleanupOrdering(other.getClauseCleanupOrdering());
9564  }
9565  if (other.hasPbCleanupIncrement()) {
9566  setPbCleanupIncrement(other.getPbCleanupIncrement());
9567  }
9568  if (other.hasPbCleanupRatio()) {
9569  setPbCleanupRatio(other.getPbCleanupRatio());
9570  }
9571  if (other.hasMinimizeWithPropagationRestartPeriod()) {
9572  setMinimizeWithPropagationRestartPeriod(other.getMinimizeWithPropagationRestartPeriod());
9573  }
9574  if (other.hasMinimizeWithPropagationNumDecisions()) {
9575  setMinimizeWithPropagationNumDecisions(other.getMinimizeWithPropagationNumDecisions());
9576  }
9577  if (other.hasVariableActivityDecay()) {
9578  setVariableActivityDecay(other.getVariableActivityDecay());
9579  }
9580  if (other.hasMaxVariableActivityValue()) {
9581  setMaxVariableActivityValue(other.getMaxVariableActivityValue());
9582  }
9583  if (other.hasGlucoseMaxDecay()) {
9584  setGlucoseMaxDecay(other.getGlucoseMaxDecay());
9585  }
9586  if (other.hasGlucoseDecayIncrement()) {
9587  setGlucoseDecayIncrement(other.getGlucoseDecayIncrement());
9588  }
9589  if (other.hasGlucoseDecayIncrementPeriod()) {
9590  setGlucoseDecayIncrementPeriod(other.getGlucoseDecayIncrementPeriod());
9591  }
9592  if (other.hasClauseActivityDecay()) {
9593  setClauseActivityDecay(other.getClauseActivityDecay());
9594  }
9595  if (other.hasMaxClauseActivityValue()) {
9596  setMaxClauseActivityValue(other.getMaxClauseActivityValue());
9597  }
9598  if (!other.restartAlgorithms_.isEmpty()) {
9599  if (restartAlgorithms_.isEmpty()) {
9600  restartAlgorithms_ = other.restartAlgorithms_;
9601  bitField0_ = (bitField0_ & ~0x08000000);
9602  } else {
9603  ensureRestartAlgorithmsIsMutable();
9604  restartAlgorithms_.addAll(other.restartAlgorithms_);
9605  }
9606  onChanged();
9607  }
9608  if (other.hasDefaultRestartAlgorithms()) {
9609  bitField0_ |= 0x10000000;
9610  defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
9611  onChanged();
9612  }
9613  if (other.hasRestartPeriod()) {
9614  setRestartPeriod(other.getRestartPeriod());
9615  }
9616  if (other.hasRestartRunningWindowSize()) {
9617  setRestartRunningWindowSize(other.getRestartRunningWindowSize());
9618  }
9619  if (other.hasRestartDlAverageRatio()) {
9620  setRestartDlAverageRatio(other.getRestartDlAverageRatio());
9621  }
9622  if (other.hasRestartLbdAverageRatio()) {
9623  setRestartLbdAverageRatio(other.getRestartLbdAverageRatio());
9624  }
9625  if (other.hasUseBlockingRestart()) {
9626  setUseBlockingRestart(other.getUseBlockingRestart());
9627  }
9628  if (other.hasBlockingRestartWindowSize()) {
9629  setBlockingRestartWindowSize(other.getBlockingRestartWindowSize());
9630  }
9631  if (other.hasBlockingRestartMultiplier()) {
9632  setBlockingRestartMultiplier(other.getBlockingRestartMultiplier());
9633  }
9634  if (other.hasNumConflictsBeforeStrategyChanges()) {
9635  setNumConflictsBeforeStrategyChanges(other.getNumConflictsBeforeStrategyChanges());
9636  }
9637  if (other.hasStrategyChangeIncreaseRatio()) {
9638  setStrategyChangeIncreaseRatio(other.getStrategyChangeIncreaseRatio());
9639  }
9640  if (other.hasMaxTimeInSeconds()) {
9641  setMaxTimeInSeconds(other.getMaxTimeInSeconds());
9642  }
9643  if (other.hasMaxDeterministicTime()) {
9644  setMaxDeterministicTime(other.getMaxDeterministicTime());
9645  }
9646  if (other.hasMaxNumberOfConflicts()) {
9647  setMaxNumberOfConflicts(other.getMaxNumberOfConflicts());
9648  }
9649  if (other.hasMaxMemoryInMb()) {
9650  setMaxMemoryInMb(other.getMaxMemoryInMb());
9651  }
9652  if (other.hasTreatBinaryClausesSeparately()) {
9653  setTreatBinaryClausesSeparately(other.getTreatBinaryClausesSeparately());
9654  }
9655  if (other.hasRandomSeed()) {
9656  setRandomSeed(other.getRandomSeed());
9657  }
9658  if (other.hasLogSearchProgress()) {
9659  setLogSearchProgress(other.getLogSearchProgress());
9660  }
9661  if (other.hasUsePbResolution()) {
9662  setUsePbResolution(other.getUsePbResolution());
9663  }
9664  if (other.hasMinimizeReductionDuringPbResolution()) {
9665  setMinimizeReductionDuringPbResolution(other.getMinimizeReductionDuringPbResolution());
9666  }
9667  if (other.hasCountAssumptionLevelsInLbd()) {
9668  setCountAssumptionLevelsInLbd(other.getCountAssumptionLevelsInLbd());
9669  }
9670  if (other.hasPresolveBveThreshold()) {
9671  setPresolveBveThreshold(other.getPresolveBveThreshold());
9672  }
9673  if (other.hasPresolveBveClauseWeight()) {
9674  setPresolveBveClauseWeight(other.getPresolveBveClauseWeight());
9675  }
9676  if (other.hasPresolveProbingDeterministicTimeLimit()) {
9677  setPresolveProbingDeterministicTimeLimit(other.getPresolveProbingDeterministicTimeLimit());
9678  }
9679  if (other.hasPresolveBlockedClause()) {
9680  setPresolveBlockedClause(other.getPresolveBlockedClause());
9681  }
9682  if (other.hasPresolveUseBva()) {
9683  setPresolveUseBva(other.getPresolveUseBva());
9684  }
9685  if (other.hasPresolveBvaThreshold()) {
9686  setPresolveBvaThreshold(other.getPresolveBvaThreshold());
9687  }
9688  if (other.hasMaxPresolveIterations()) {
9689  setMaxPresolveIterations(other.getMaxPresolveIterations());
9690  }
9691  if (other.hasCpModelPresolve()) {
9692  setCpModelPresolve(other.getCpModelPresolve());
9693  }
9694  if (other.hasCpModelMaxNumPresolveOperations()) {
9695  setCpModelMaxNumPresolveOperations(other.getCpModelMaxNumPresolveOperations());
9696  }
9697  if (other.hasCpModelProbingLevel()) {
9698  setCpModelProbingLevel(other.getCpModelProbingLevel());
9699  }
9700  if (other.hasCpModelUseSatPresolve()) {
9701  setCpModelUseSatPresolve(other.getCpModelUseSatPresolve());
9702  }
9703  if (other.hasExpandElementConstraints()) {
9704  setExpandElementConstraints(other.getExpandElementConstraints());
9705  }
9706  if (other.hasExpandAutomatonConstraints()) {
9707  setExpandAutomatonConstraints(other.getExpandAutomatonConstraints());
9708  }
9709  if (other.hasExpandTableConstraints()) {
9710  setExpandTableConstraints(other.getExpandTableConstraints());
9711  }
9712  if (other.hasMergeNoOverlapWorkLimit()) {
9713  setMergeNoOverlapWorkLimit(other.getMergeNoOverlapWorkLimit());
9714  }
9715  if (other.hasMergeAtMostOneWorkLimit()) {
9716  setMergeAtMostOneWorkLimit(other.getMergeAtMostOneWorkLimit());
9717  }
9718  if (other.hasPresolveSubstitutionLevel()) {
9719  setPresolveSubstitutionLevel(other.getPresolveSubstitutionLevel());
9720  }
9721  if (other.hasUseOptimizationHints()) {
9722  setUseOptimizationHints(other.getUseOptimizationHints());
9723  }
9724  if (other.hasMinimizeCore()) {
9725  setMinimizeCore(other.getMinimizeCore());
9726  }
9727  if (other.hasFindMultipleCores()) {
9728  setFindMultipleCores(other.getFindMultipleCores());
9729  }
9730  if (other.hasCoverOptimization()) {
9731  setCoverOptimization(other.getCoverOptimization());
9732  }
9733  if (other.hasMaxSatAssumptionOrder()) {
9734  setMaxSatAssumptionOrder(other.getMaxSatAssumptionOrder());
9735  }
9736  if (other.hasMaxSatReverseAssumptionOrder()) {
9737  setMaxSatReverseAssumptionOrder(other.getMaxSatReverseAssumptionOrder());
9738  }
9739  if (other.hasMaxSatStratification()) {
9740  setMaxSatStratification(other.getMaxSatStratification());
9741  }
9742  if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
9743  setUsePrecedencesInDisjunctiveConstraint(other.getUsePrecedencesInDisjunctiveConstraint());
9744  }
9745  if (other.hasUseOverloadCheckerInCumulativeConstraint()) {
9746  setUseOverloadCheckerInCumulativeConstraint(other.getUseOverloadCheckerInCumulativeConstraint());
9747  }
9748  if (other.hasUseTimetableEdgeFindingInCumulativeConstraint()) {
9749  setUseTimetableEdgeFindingInCumulativeConstraint(other.getUseTimetableEdgeFindingInCumulativeConstraint());
9750  }
9751  if (other.hasUseDisjunctiveConstraintInCumulativeConstraint()) {
9752  setUseDisjunctiveConstraintInCumulativeConstraint(other.getUseDisjunctiveConstraintInCumulativeConstraint());
9753  }
9754  if (other.hasLinearizationLevel()) {
9755  setLinearizationLevel(other.getLinearizationLevel());
9756  }
9757  if (other.hasBooleanEncodingLevel()) {
9758  setBooleanEncodingLevel(other.getBooleanEncodingLevel());
9759  }
9760  if (other.hasMaxNumCuts()) {
9761  setMaxNumCuts(other.getMaxNumCuts());
9762  }
9763  if (other.hasOnlyAddCutsAtLevelZero()) {
9764  setOnlyAddCutsAtLevelZero(other.getOnlyAddCutsAtLevelZero());
9765  }
9766  if (other.hasAddKnapsackCuts()) {
9767  setAddKnapsackCuts(other.getAddKnapsackCuts());
9768  }
9769  if (other.hasAddCgCuts()) {
9770  setAddCgCuts(other.getAddCgCuts());
9771  }
9772  if (other.hasAddMirCuts()) {
9773  setAddMirCuts(other.getAddMirCuts());
9774  }
9775  if (other.hasMaxAllDiffCutSize()) {
9776  setMaxAllDiffCutSize(other.getMaxAllDiffCutSize());
9777  }
9778  if (other.hasAddLinMaxCuts()) {
9779  setAddLinMaxCuts(other.getAddLinMaxCuts());
9780  }
9781  if (other.hasMaxIntegerRoundingScaling()) {
9782  setMaxIntegerRoundingScaling(other.getMaxIntegerRoundingScaling());
9783  }
9784  if (other.hasAddLpConstraintsLazily()) {
9785  setAddLpConstraintsLazily(other.getAddLpConstraintsLazily());
9786  }
9787  if (other.hasMinOrthogonalityForLpConstraints()) {
9788  setMinOrthogonalityForLpConstraints(other.getMinOrthogonalityForLpConstraints());
9789  }
9790  if (other.hasMaxCutRoundsAtLevelZero()) {
9791  setMaxCutRoundsAtLevelZero(other.getMaxCutRoundsAtLevelZero());
9792  }
9793  if (other.hasMaxConsecutiveInactiveCount()) {
9794  setMaxConsecutiveInactiveCount(other.getMaxConsecutiveInactiveCount());
9795  }
9796  if (other.hasCutMaxActiveCountValue()) {
9797  setCutMaxActiveCountValue(other.getCutMaxActiveCountValue());
9798  }
9799  if (other.hasCutActiveCountDecay()) {
9800  setCutActiveCountDecay(other.getCutActiveCountDecay());
9801  }
9802  if (other.hasCutCleanupTarget()) {
9803  setCutCleanupTarget(other.getCutCleanupTarget());
9804  }
9805  if (other.hasNewConstraintsBatchSize()) {
9806  setNewConstraintsBatchSize(other.getNewConstraintsBatchSize());
9807  }
9808  if (other.hasSearchBranching()) {
9809  setSearchBranching(other.getSearchBranching());
9810  }
9811  if (other.hasHintConflictLimit()) {
9812  setHintConflictLimit(other.getHintConflictLimit());
9813  }
9814  if (other.hasExploitIntegerLpSolution()) {
9815  setExploitIntegerLpSolution(other.getExploitIntegerLpSolution());
9816  }
9817  if (other.hasExploitAllLpSolution()) {
9818  setExploitAllLpSolution(other.getExploitAllLpSolution());
9819  }
9820  if (other.hasExploitBestSolution()) {
9821  setExploitBestSolution(other.getExploitBestSolution());
9822  }
9823  if (other.hasExploitObjective()) {
9824  setExploitObjective(other.getExploitObjective());
9825  }
9826  if (other.hasProbingPeriodAtRoot()) {
9827  setProbingPeriodAtRoot(other.getProbingPeriodAtRoot());
9828  }
9829  if (other.hasPseudoCostReliabilityThreshold()) {
9830  setPseudoCostReliabilityThreshold(other.getPseudoCostReliabilityThreshold());
9831  }
9832  if (other.hasOptimizeWithCore()) {
9833  setOptimizeWithCore(other.getOptimizeWithCore());
9834  }
9835  if (other.hasBinarySearchNumConflicts()) {
9836  setBinarySearchNumConflicts(other.getBinarySearchNumConflicts());
9837  }
9838  if (other.hasOptimizeWithMaxHs()) {
9839  setOptimizeWithMaxHs(other.getOptimizeWithMaxHs());
9840  }
9841  if (other.hasEnumerateAllSolutions()) {
9842  setEnumerateAllSolutions(other.getEnumerateAllSolutions());
9843  }
9844  if (other.hasFillTightenedDomainsInResponse()) {
9845  setFillTightenedDomainsInResponse(other.getFillTightenedDomainsInResponse());
9846  }
9847  if (other.hasInstantiateAllVariables()) {
9848  setInstantiateAllVariables(other.getInstantiateAllVariables());
9849  }
9850  if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
9851  setAutoDetectGreaterThanAtLeastOneOf(other.getAutoDetectGreaterThanAtLeastOneOf());
9852  }
9853  if (other.hasStopAfterFirstSolution()) {
9854  setStopAfterFirstSolution(other.getStopAfterFirstSolution());
9855  }
9856  if (other.hasStopAfterPresolve()) {
9857  setStopAfterPresolve(other.getStopAfterPresolve());
9858  }
9859  if (other.hasNumSearchWorkers()) {
9860  setNumSearchWorkers(other.getNumSearchWorkers());
9861  }
9862  if (other.hasInterleaveSearch()) {
9863  setInterleaveSearch(other.getInterleaveSearch());
9864  }
9865  if (other.hasInterleaveBatchSize()) {
9866  setInterleaveBatchSize(other.getInterleaveBatchSize());
9867  }
9868  if (other.hasReduceMemoryUsageInInterleaveMode()) {
9869  setReduceMemoryUsageInInterleaveMode(other.getReduceMemoryUsageInInterleaveMode());
9870  }
9871  if (other.hasShareObjectiveBounds()) {
9872  setShareObjectiveBounds(other.getShareObjectiveBounds());
9873  }
9874  if (other.hasShareLevelZeroBounds()) {
9875  setShareLevelZeroBounds(other.getShareLevelZeroBounds());
9876  }
9877  if (other.hasUseLnsOnly()) {
9878  setUseLnsOnly(other.getUseLnsOnly());
9879  }
9880  if (other.hasLnsFocusOnDecisionVariables()) {
9881  setLnsFocusOnDecisionVariables(other.getLnsFocusOnDecisionVariables());
9882  }
9883  if (other.hasUseRinsLns()) {
9884  setUseRinsLns(other.getUseRinsLns());
9885  }
9886  if (other.hasUseRelaxationLns()) {
9887  setUseRelaxationLns(other.getUseRelaxationLns());
9888  }
9889  if (other.hasDiversifyLnsParams()) {
9890  setDiversifyLnsParams(other.getDiversifyLnsParams());
9891  }
9892  if (other.hasRandomizeSearch()) {
9893  setRandomizeSearch(other.getRandomizeSearch());
9894  }
9895  if (other.hasSearchRandomizationTolerance()) {
9896  setSearchRandomizationTolerance(other.getSearchRandomizationTolerance());
9897  }
9898  if (other.hasUseOptionalVariables()) {
9899  setUseOptionalVariables(other.getUseOptionalVariables());
9900  }
9901  if (other.hasUseExactLpReason()) {
9902  setUseExactLpReason(other.getUseExactLpReason());
9903  }
9904  if (other.hasUseBranchingInLp()) {
9905  setUseBranchingInLp(other.getUseBranchingInLp());
9906  }
9907  if (other.hasUseCombinedNoOverlap()) {
9908  setUseCombinedNoOverlap(other.getUseCombinedNoOverlap());
9909  }
9910  if (other.hasCatchSigintSignal()) {
9911  setCatchSigintSignal(other.getCatchSigintSignal());
9912  }
9913  if (other.hasUseImpliedBounds()) {
9914  setUseImpliedBounds(other.getUseImpliedBounds());
9915  }
9916  if (other.hasMipMaxBound()) {
9917  setMipMaxBound(other.getMipMaxBound());
9918  }
9919  if (other.hasMipVarScaling()) {
9920  setMipVarScaling(other.getMipVarScaling());
9921  }
9922  if (other.hasMipWantedPrecision()) {
9923  setMipWantedPrecision(other.getMipWantedPrecision());
9924  }
9925  if (other.hasMipMaxActivityExponent()) {
9926  setMipMaxActivityExponent(other.getMipMaxActivityExponent());
9927  }
9928  if (other.hasMipCheckPrecision()) {
9929  setMipCheckPrecision(other.getMipCheckPrecision());
9930  }
9931  this.mergeUnknownFields(other.unknownFields);
9932  onChanged();
9933  return this;
9934  }
9935 
9936  @java.lang.Override
9937  public final boolean isInitialized() {
9938  return true;
9939  }
9940 
9941  @java.lang.Override
9943  com.google.protobuf.CodedInputStream input,
9944  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9945  throws java.io.IOException {
9946  com.google.ortools.sat.SatParameters parsedMessage = null;
9947  try {
9948  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
9949  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
9950  parsedMessage = (com.google.ortools.sat.SatParameters) e.getUnfinishedMessage();
9951  throw e.unwrapIOException();
9952  } finally {
9953  if (parsedMessage != null) {
9954  mergeFrom(parsedMessage);
9955  }
9956  }
9957  return this;
9958  }
9959  private int bitField0_;
9960  private int bitField1_;
9961  private int bitField2_;
9962  private int bitField3_;
9963  private int bitField4_;
9964 
9965  private int preferredVariableOrder_ = 0;
9970  public boolean hasPreferredVariableOrder() {
9971  return ((bitField0_ & 0x00000001) != 0);
9972  }
9978  @SuppressWarnings("deprecation")
9980  return result == null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
9981  }
9988  if (value == null) {
9989  throw new NullPointerException();
9990  }
9991  bitField0_ |= 0x00000001;
9992  preferredVariableOrder_ = value.getNumber();
9993  onChanged();
9994  return this;
9995  }
10001  bitField0_ = (bitField0_ & ~0x00000001);
10002  preferredVariableOrder_ = 0;
10003  onChanged();
10004  return this;
10005  }
10006 
10007  private int initialPolarity_ = 1;
10012  public boolean hasInitialPolarity() {
10013  return ((bitField0_ & 0x00000002) != 0);
10014  }
10020  @SuppressWarnings("deprecation")
10022  return result == null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
10023  }
10030  if (value == null) {
10031  throw new NullPointerException();
10032  }
10033  bitField0_ |= 0x00000002;
10034  initialPolarity_ = value.getNumber();
10035  onChanged();
10036  return this;
10037  }
10043  bitField0_ = (bitField0_ & ~0x00000002);
10044  initialPolarity_ = 1;
10045  onChanged();
10046  return this;
10047  }
10048 
10049  private boolean usePhaseSaving_ = true;
10064  public boolean hasUsePhaseSaving() {
10065  return ((bitField0_ & 0x00000004) != 0);
10066  }
10081  public boolean getUsePhaseSaving() {
10082  return usePhaseSaving_;
10083  }
10099  public Builder setUsePhaseSaving(boolean value) {
10100  bitField0_ |= 0x00000004;
10101  usePhaseSaving_ = value;
10102  onChanged();
10103  return this;
10104  }
10120  bitField0_ = (bitField0_ & ~0x00000004);
10121  usePhaseSaving_ = true;
10122  onChanged();
10123  return this;
10124  }
10125 
10126  private double randomPolarityRatio_ ;
10139  public boolean hasRandomPolarityRatio() {
10140  return ((bitField0_ & 0x00000008) != 0);
10141  }
10154  public double getRandomPolarityRatio() {
10155  return randomPolarityRatio_;
10156  }
10170  public Builder setRandomPolarityRatio(double value) {
10171  bitField0_ |= 0x00000008;
10172  randomPolarityRatio_ = value;
10173  onChanged();
10174  return this;
10175  }
10189  bitField0_ = (bitField0_ & ~0x00000008);
10190  randomPolarityRatio_ = 0D;
10191  onChanged();
10192  return this;
10193  }
10194 
10195  private double randomBranchesRatio_ ;
10206  public boolean hasRandomBranchesRatio() {
10207  return ((bitField0_ & 0x00000010) != 0);
10208  }
10219  public double getRandomBranchesRatio() {
10220  return randomBranchesRatio_;
10221  }
10233  public Builder setRandomBranchesRatio(double value) {
10234  bitField0_ |= 0x00000010;
10235  randomBranchesRatio_ = value;
10236  onChanged();
10237  return this;
10238  }
10250  bitField0_ = (bitField0_ & ~0x00000010);
10251  randomBranchesRatio_ = 0D;
10252  onChanged();
10253  return this;
10254  }
10255 
10256  private boolean useErwaHeuristic_ ;
10267  public boolean hasUseErwaHeuristic() {
10268  return ((bitField0_ & 0x00000020) != 0);
10269  }
10280  public boolean getUseErwaHeuristic() {
10281  return useErwaHeuristic_;
10282  }
10294  public Builder setUseErwaHeuristic(boolean value) {
10295  bitField0_ |= 0x00000020;
10296  useErwaHeuristic_ = value;
10297  onChanged();
10298  return this;
10299  }
10311  bitField0_ = (bitField0_ & ~0x00000020);
10312  useErwaHeuristic_ = false;
10313  onChanged();
10314  return this;
10315  }
10316 
10317  private double initialVariablesActivity_ ;
10331  public boolean hasInitialVariablesActivity() {
10332  return ((bitField0_ & 0x00000040) != 0);
10333  }
10348  return initialVariablesActivity_;
10349  }
10364  public Builder setInitialVariablesActivity(double value) {
10365  bitField0_ |= 0x00000040;
10366  initialVariablesActivity_ = value;
10367  onChanged();
10368  return this;
10369  }
10384  bitField0_ = (bitField0_ & ~0x00000040);
10385  initialVariablesActivity_ = 0D;
10386  onChanged();
10387  return this;
10388  }
10389 
10390  private boolean alsoBumpVariablesInConflictReasons_ ;
10403  return ((bitField0_ & 0x00000080) != 0);
10404  }
10417  return alsoBumpVariablesInConflictReasons_;
10418  }
10432  bitField0_ |= 0x00000080;
10433  alsoBumpVariablesInConflictReasons_ = value;
10434  onChanged();
10435  return this;
10436  }
10449  bitField0_ = (bitField0_ & ~0x00000080);
10450  alsoBumpVariablesInConflictReasons_ = false;
10451  onChanged();
10452  return this;
10453  }
10454 
10455  private int minimizationAlgorithm_ = 2;
10460  public boolean hasMinimizationAlgorithm() {
10461  return ((bitField0_ & 0x00000100) != 0);
10462  }
10468  @SuppressWarnings("deprecation")
10470  return result == null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
10471  }
10478  if (value == null) {
10479  throw new NullPointerException();
10480  }
10481  bitField0_ |= 0x00000100;
10482  minimizationAlgorithm_ = value.getNumber();
10483  onChanged();
10484  return this;
10485  }
10491  bitField0_ = (bitField0_ & ~0x00000100);
10492  minimizationAlgorithm_ = 2;
10493  onChanged();
10494  return this;
10495  }
10496 
10497  private int binaryMinimizationAlgorithm_ = 1;
10503  return ((bitField0_ & 0x00000200) != 0);
10504  }
10510  @SuppressWarnings("deprecation")
10513  }
10520  if (value == null) {
10521  throw new NullPointerException();
10522  }
10523  bitField0_ |= 0x00000200;
10524  binaryMinimizationAlgorithm_ = value.getNumber();
10525  onChanged();
10526  return this;
10527  }
10533  bitField0_ = (bitField0_ & ~0x00000200);
10534  binaryMinimizationAlgorithm_ = 1;
10535  onChanged();
10536  return this;
10537  }
10538 
10539  private boolean subsumptionDuringConflictAnalysis_ = true;
10552  return ((bitField0_ & 0x00000400) != 0);
10553  }
10566  return subsumptionDuringConflictAnalysis_;
10567  }
10581  bitField0_ |= 0x00000400;
10582  subsumptionDuringConflictAnalysis_ = value;
10583  onChanged();
10584  return this;
10585  }
10598  bitField0_ = (bitField0_ & ~0x00000400);
10599  subsumptionDuringConflictAnalysis_ = true;
10600  onChanged();
10601  return this;
10602  }
10603 
10604  private int clauseCleanupPeriod_ = 10000;
10613  public boolean hasClauseCleanupPeriod() {
10614  return ((bitField0_ & 0x00000800) != 0);
10615  }
10624  public int getClauseCleanupPeriod() {
10625  return clauseCleanupPeriod_;
10626  }
10636  public Builder setClauseCleanupPeriod(int value) {
10637  bitField0_ |= 0x00000800;
10638  clauseCleanupPeriod_ = value;
10639  onChanged();
10640  return this;
10641  }
10651  bitField0_ = (bitField0_ & ~0x00000800);
10652  clauseCleanupPeriod_ = 10000;
10653  onChanged();
10654  return this;
10655  }
10656 
10657  private int clauseCleanupTarget_ = 10000;
10667  public boolean hasClauseCleanupTarget() {
10668  return ((bitField0_ & 0x00001000) != 0);
10669  }
10679  public int getClauseCleanupTarget() {
10680  return clauseCleanupTarget_;
10681  }
10692  public Builder setClauseCleanupTarget(int value) {
10693  bitField0_ |= 0x00001000;
10694  clauseCleanupTarget_ = value;
10695  onChanged();
10696  return this;
10697  }
10708  bitField0_ = (bitField0_ & ~0x00001000);
10709  clauseCleanupTarget_ = 10000;
10710  onChanged();
10711  return this;
10712  }
10713 
10714  private int clauseCleanupProtection_ = 0;
10719  public boolean hasClauseCleanupProtection() {
10720  return ((bitField0_ & 0x00002000) != 0);
10721  }
10727  @SuppressWarnings("deprecation")
10729  return result == null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
10730  }
10737  if (value == null) {
10738  throw new NullPointerException();
10739  }
10740  bitField0_ |= 0x00002000;
10741  clauseCleanupProtection_ = value.getNumber();
10742  onChanged();
10743  return this;
10744  }
10750  bitField0_ = (bitField0_ & ~0x00002000);
10751  clauseCleanupProtection_ = 0;
10752  onChanged();
10753  return this;
10754  }
10755 
10756  private int clauseCleanupLbdBound_ = 5;
10766  public boolean hasClauseCleanupLbdBound() {
10767  return ((bitField0_ & 0x00004000) != 0);
10768  }
10779  return clauseCleanupLbdBound_;
10780  }
10791  public Builder setClauseCleanupLbdBound(int value) {
10792  bitField0_ |= 0x00004000;
10793  clauseCleanupLbdBound_ = value;
10794  onChanged();
10795  return this;
10796  }
10807  bitField0_ = (bitField0_ & ~0x00004000);
10808  clauseCleanupLbdBound_ = 5;
10809  onChanged();
10810  return this;
10811  }
10812 
10813  private int clauseCleanupOrdering_ = 0;
10818  public boolean hasClauseCleanupOrdering() {
10819  return ((bitField0_ & 0x00008000) != 0);
10820  }
10826  @SuppressWarnings("deprecation")
10828  return result == null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
10829  }
10836  if (value == null) {
10837  throw new NullPointerException();
10838  }
10839  bitField0_ |= 0x00008000;
10840  clauseCleanupOrdering_ = value.getNumber();
10841  onChanged();
10842  return this;
10843  }
10849  bitField0_ = (bitField0_ & ~0x00008000);
10850  clauseCleanupOrdering_ = 0;
10851  onChanged();
10852  return this;
10853  }
10854 
10855  private int pbCleanupIncrement_ = 200;
10864  public boolean hasPbCleanupIncrement() {
10865  return ((bitField0_ & 0x00010000) != 0);
10866  }
10875  public int getPbCleanupIncrement() {
10876  return pbCleanupIncrement_;
10877  }
10887  public Builder setPbCleanupIncrement(int value) {
10888  bitField0_ |= 0x00010000;
10889  pbCleanupIncrement_ = value;
10890  onChanged();
10891  return this;
10892  }
10902  bitField0_ = (bitField0_ & ~0x00010000);
10903  pbCleanupIncrement_ = 200;
10904  onChanged();
10905  return this;
10906  }
10907 
10908  private double pbCleanupRatio_ = 0.5D;
10913  public boolean hasPbCleanupRatio() {
10914  return ((bitField0_ & 0x00020000) != 0);
10915  }
10920  public double getPbCleanupRatio() {
10921  return pbCleanupRatio_;
10922  }
10928  public Builder setPbCleanupRatio(double value) {
10929  bitField0_ |= 0x00020000;
10930  pbCleanupRatio_ = value;
10931  onChanged();
10932  return this;
10933  }
10939  bitField0_ = (bitField0_ & ~0x00020000);
10940  pbCleanupRatio_ = 0.5D;
10941  onChanged();
10942  return this;
10943  }
10944 
10945  private int minimizeWithPropagationRestartPeriod_ = 10;
10965  return ((bitField0_ & 0x00040000) != 0);
10966  }
10986  return minimizeWithPropagationRestartPeriod_;
10987  }
11008  bitField0_ |= 0x00040000;
11009  minimizeWithPropagationRestartPeriod_ = value;
11010  onChanged();
11011  return this;
11012  }
11032  bitField0_ = (bitField0_ & ~0x00040000);
11033  minimizeWithPropagationRestartPeriod_ = 10;
11034  onChanged();
11035  return this;
11036  }
11037 
11038  private int minimizeWithPropagationNumDecisions_ = 1000;
11044  return ((bitField0_ & 0x00080000) != 0);
11045  }
11051  return minimizeWithPropagationNumDecisions_;
11052  }
11059  bitField0_ |= 0x00080000;
11060  minimizeWithPropagationNumDecisions_ = value;
11061  onChanged();
11062  return this;
11063  }
11069  bitField0_ = (bitField0_ & ~0x00080000);
11070  minimizeWithPropagationNumDecisions_ = 1000;
11071  onChanged();
11072  return this;
11073  }
11074 
11075  private double variableActivityDecay_ = 0.8D;
11090  public boolean hasVariableActivityDecay() {
11091  return ((bitField0_ & 0x00100000) != 0);
11092  }
11107  public double getVariableActivityDecay() {
11108  return variableActivityDecay_;
11109  }
11125  public Builder setVariableActivityDecay(double value) {
11126  bitField0_ |= 0x00100000;
11127  variableActivityDecay_ = value;
11128  onChanged();
11129  return this;
11130  }
11146  bitField0_ = (bitField0_ & ~0x00100000);
11147  variableActivityDecay_ = 0.8D;
11148  onChanged();
11149  return this;
11150  }
11151 
11152  private double maxVariableActivityValue_ = 1e+100D;
11157  public boolean hasMaxVariableActivityValue() {
11158  return ((bitField0_ & 0x00200000) != 0);
11159  }
11165  return maxVariableActivityValue_;
11166  }
11172  public Builder setMaxVariableActivityValue(double value) {
11173  bitField0_ |= 0x00200000;
11174  maxVariableActivityValue_ = value;
11175  onChanged();
11176  return this;
11177  }
11183  bitField0_ = (bitField0_ & ~0x00200000);
11184  maxVariableActivityValue_ = 1e+100D;
11185  onChanged();
11186  return this;
11187  }
11188 
11189  private double glucoseMaxDecay_ = 0.95D;
11201  public boolean hasGlucoseMaxDecay() {
11202  return ((bitField0_ & 0x00400000) != 0);
11203  }
11215  public double getGlucoseMaxDecay() {
11216  return glucoseMaxDecay_;
11217  }
11230  public Builder setGlucoseMaxDecay(double value) {
11231  bitField0_ |= 0x00400000;
11232  glucoseMaxDecay_ = value;
11233  onChanged();
11234  return this;
11235  }
11248  bitField0_ = (bitField0_ & ~0x00400000);
11249  glucoseMaxDecay_ = 0.95D;
11250  onChanged();
11251  return this;
11252  }
11253 
11254  private double glucoseDecayIncrement_ = 0.01D;
11259  public boolean hasGlucoseDecayIncrement() {
11260  return ((bitField0_ & 0x00800000) != 0);
11261  }
11266  public double getGlucoseDecayIncrement() {
11267  return glucoseDecayIncrement_;
11268  }
11274  public Builder setGlucoseDecayIncrement(double value) {
11275  bitField0_ |= 0x00800000;
11276  glucoseDecayIncrement_ = value;
11277  onChanged();
11278  return this;
11279  }
11285  bitField0_ = (bitField0_ & ~0x00800000);
11286  glucoseDecayIncrement_ = 0.01D;
11287  onChanged();
11288  return this;
11289  }
11290 
11291  private int glucoseDecayIncrementPeriod_ = 5000;
11297  return ((bitField0_ & 0x01000000) != 0);
11298  }
11304  return glucoseDecayIncrementPeriod_;
11305  }
11312  bitField0_ |= 0x01000000;
11313  glucoseDecayIncrementPeriod_ = value;
11314  onChanged();
11315  return this;
11316  }
11322  bitField0_ = (bitField0_ & ~0x01000000);
11323  glucoseDecayIncrementPeriod_ = 5000;
11324  onChanged();
11325  return this;
11326  }
11327 
11328  private double clauseActivityDecay_ = 0.999D;
11337  public boolean hasClauseActivityDecay() {
11338  return ((bitField0_ & 0x02000000) != 0);
11339  }
11348  public double getClauseActivityDecay() {
11349  return clauseActivityDecay_;
11350  }
11360  public Builder setClauseActivityDecay(double value) {
11361  bitField0_ |= 0x02000000;
11362  clauseActivityDecay_ = value;
11363  onChanged();
11364  return this;
11365  }
11375  bitField0_ = (bitField0_ & ~0x02000000);
11376  clauseActivityDecay_ = 0.999D;
11377  onChanged();
11378  return this;
11379  }
11380 
11381  private double maxClauseActivityValue_ = 1e+20D;
11386  public boolean hasMaxClauseActivityValue() {
11387  return ((bitField0_ & 0x04000000) != 0);
11388  }
11393  public double getMaxClauseActivityValue() {
11394  return maxClauseActivityValue_;
11395  }
11401  public Builder setMaxClauseActivityValue(double value) {
11402  bitField0_ |= 0x04000000;
11403  maxClauseActivityValue_ = value;
11404  onChanged();
11405  return this;
11406  }
11412  bitField0_ = (bitField0_ & ~0x04000000);
11413  maxClauseActivityValue_ = 1e+20D;
11414  onChanged();
11415  return this;
11416  }
11417 
11418  private java.util.List<java.lang.Integer> restartAlgorithms_ =
11419  java.util.Collections.emptyList();
11420  private void ensureRestartAlgorithmsIsMutable() {
11421  if (!((bitField0_ & 0x08000000) != 0)) {
11422  restartAlgorithms_ = new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
11423  bitField0_ |= 0x08000000;
11424  }
11425  }
11442  return new com.google.protobuf.Internal.ListAdapter<
11443  java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
11444  }
11461  return restartAlgorithms_.size();
11462  }
11480  return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
11481  }
11500  int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
11501  if (value == null) {
11502  throw new NullPointerException();
11503  }
11504  ensureRestartAlgorithmsIsMutable();
11505  restartAlgorithms_.set(index, value.getNumber());
11506  onChanged();
11507  return this;
11508  }
11526  if (value == null) {
11527  throw new NullPointerException();
11528  }
11529  ensureRestartAlgorithmsIsMutable();
11530  restartAlgorithms_.add(value.getNumber());
11531  onChanged();
11532  return this;
11533  }
11551  java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
11552  ensureRestartAlgorithmsIsMutable();
11553  for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
11554  restartAlgorithms_.add(value.getNumber());
11555  }
11556  onChanged();
11557  return this;
11558  }
11575  restartAlgorithms_ = java.util.Collections.emptyList();
11576  bitField0_ = (bitField0_ & ~0x08000000);
11577  onChanged();
11578  return this;
11579  }
11580 
11581  private java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
11586  public boolean hasDefaultRestartAlgorithms() {
11587  return ((bitField0_ & 0x10000000) != 0);
11588  }
11593  public java.lang.String getDefaultRestartAlgorithms() {
11594  java.lang.Object ref = defaultRestartAlgorithms_;
11595  if (!(ref instanceof java.lang.String)) {
11596  com.google.protobuf.ByteString bs =
11597  (com.google.protobuf.ByteString) ref;
11598  java.lang.String s = bs.toStringUtf8();
11599  if (bs.isValidUtf8()) {
11600  defaultRestartAlgorithms_ = s;
11601  }
11602  return s;
11603  } else {
11604  return (java.lang.String) ref;
11605  }
11606  }
11611  public com.google.protobuf.ByteString
11613  java.lang.Object ref = defaultRestartAlgorithms_;
11614  if (ref instanceof String) {
11615  com.google.protobuf.ByteString b =
11616  com.google.protobuf.ByteString.copyFromUtf8(
11617  (java.lang.String) ref);
11618  defaultRestartAlgorithms_ = b;
11619  return b;
11620  } else {
11621  return (com.google.protobuf.ByteString) ref;
11622  }
11623  }
11630  java.lang.String value) {
11631  if (value == null) {
11632  throw new NullPointerException();
11633  }
11634  bitField0_ |= 0x10000000;
11635  defaultRestartAlgorithms_ = value;
11636  onChanged();
11637  return this;
11638  }
11644  bitField0_ = (bitField0_ & ~0x10000000);
11645  defaultRestartAlgorithms_ = getDefaultInstance().getDefaultRestartAlgorithms();
11646  onChanged();
11647  return this;
11648  }
11655  com.google.protobuf.ByteString value) {
11656  if (value == null) {
11657  throw new NullPointerException();
11658  }
11659  bitField0_ |= 0x10000000;
11660  defaultRestartAlgorithms_ = value;
11661  onChanged();
11662  return this;
11663  }
11664 
11665  private int restartPeriod_ = 50;
11675  public boolean hasRestartPeriod() {
11676  return ((bitField0_ & 0x20000000) != 0);
11677  }
11687  public int getRestartPeriod() {
11688  return restartPeriod_;
11689  }
11700  public Builder setRestartPeriod(int value) {
11701  bitField0_ |= 0x20000000;
11702  restartPeriod_ = value;
11703  onChanged();
11704  return this;
11705  }
11716  bitField0_ = (bitField0_ & ~0x20000000);
11717  restartPeriod_ = 50;
11718  onChanged();
11719  return this;
11720  }
11721 
11722  private int restartRunningWindowSize_ = 50;
11731  public boolean hasRestartRunningWindowSize() {
11732  return ((bitField0_ & 0x40000000) != 0);
11733  }
11743  return restartRunningWindowSize_;
11744  }
11755  bitField0_ |= 0x40000000;
11756  restartRunningWindowSize_ = value;
11757  onChanged();
11758  return this;
11759  }
11769  bitField0_ = (bitField0_ & ~0x40000000);
11770  restartRunningWindowSize_ = 50;
11771  onChanged();
11772  return this;
11773  }
11774 
11775  private double restartDlAverageRatio_ = 1D;
11785  public boolean hasRestartDlAverageRatio() {
11786  return ((bitField0_ & 0x80000000) != 0);
11787  }
11797  public double getRestartDlAverageRatio() {
11798  return restartDlAverageRatio_;
11799  }
11810  public Builder setRestartDlAverageRatio(double value) {
11811  bitField0_ |= 0x80000000;
11812  restartDlAverageRatio_ = value;
11813  onChanged();
11814  return this;
11815  }
11826  bitField0_ = (bitField0_ & ~0x80000000);
11827  restartDlAverageRatio_ = 1D;
11828  onChanged();
11829  return this;
11830  }
11831 
11832  private double restartLbdAverageRatio_ = 1D;
11837  public boolean hasRestartLbdAverageRatio() {
11838  return ((bitField1_ & 0x00000001) != 0);
11839  }
11844  public double getRestartLbdAverageRatio() {
11845  return restartLbdAverageRatio_;
11846  }
11852  public Builder setRestartLbdAverageRatio(double value) {
11853  bitField1_ |= 0x00000001;
11854  restartLbdAverageRatio_ = value;
11855  onChanged();
11856  return this;
11857  }
11863  bitField1_ = (bitField1_ & ~0x00000001);
11864  restartLbdAverageRatio_ = 1D;
11865  onChanged();
11866  return this;
11867  }
11868 
11869  private boolean useBlockingRestart_ ;
11880  public boolean hasUseBlockingRestart() {
11881  return ((bitField1_ & 0x00000002) != 0);
11882  }
11893  public boolean getUseBlockingRestart() {
11894  return useBlockingRestart_;
11895  }
11907  public Builder setUseBlockingRestart(boolean value) {
11908  bitField1_ |= 0x00000002;
11909  useBlockingRestart_ = value;
11910  onChanged();
11911  return this;
11912  }
11924  bitField1_ = (bitField1_ & ~0x00000002);
11925  useBlockingRestart_ = false;
11926  onChanged();
11927  return this;
11928  }
11929 
11930  private int blockingRestartWindowSize_ = 5000;
11935  public boolean hasBlockingRestartWindowSize() {
11936  return ((bitField1_ & 0x00000004) != 0);
11937  }
11943  return blockingRestartWindowSize_;
11944  }
11951  bitField1_ |= 0x00000004;
11952  blockingRestartWindowSize_ = value;
11953  onChanged();
11954  return this;
11955  }
11961  bitField1_ = (bitField1_ & ~0x00000004);
11962  blockingRestartWindowSize_ = 5000;
11963  onChanged();
11964  return this;
11965  }
11966 
11967  private double blockingRestartMultiplier_ = 1.4D;
11972  public boolean hasBlockingRestartMultiplier() {
11973  return ((bitField1_ & 0x00000008) != 0);
11974  }
11980  return blockingRestartMultiplier_;
11981  }
11987  public Builder setBlockingRestartMultiplier(double value) {
11988  bitField1_ |= 0x00000008;
11989  blockingRestartMultiplier_ = value;
11990  onChanged();
11991  return this;
11992  }
11998  bitField1_ = (bitField1_ & ~0x00000008);
11999  blockingRestartMultiplier_ = 1.4D;
12000  onChanged();
12001  return this;
12002  }
12003 
12004  private int numConflictsBeforeStrategyChanges_ ;
12016  return ((bitField1_ & 0x00000010) != 0);
12017  }
12029  return numConflictsBeforeStrategyChanges_;
12030  }
12043  bitField1_ |= 0x00000010;
12044  numConflictsBeforeStrategyChanges_ = value;
12045  onChanged();
12046  return this;
12047  }
12059  bitField1_ = (bitField1_ & ~0x00000010);
12060  numConflictsBeforeStrategyChanges_ = 0;
12061  onChanged();
12062  return this;
12063  }
12064 
12065  private double strategyChangeIncreaseRatio_ ;
12076  return ((bitField1_ & 0x00000020) != 0);
12077  }
12088  return strategyChangeIncreaseRatio_;
12089  }
12101  bitField1_ |= 0x00000020;
12102  strategyChangeIncreaseRatio_ = value;
12103  onChanged();
12104  return this;
12105  }
12116  bitField1_ = (bitField1_ & ~0x00000020);
12117  strategyChangeIncreaseRatio_ = 0D;
12118  onChanged();
12119  return this;
12120  }
12121 
12122  private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
12133  public boolean hasMaxTimeInSeconds() {
12134  return ((bitField1_ & 0x00000040) != 0);
12135  }
12146  public double getMaxTimeInSeconds() {
12147  return maxTimeInSeconds_;
12148  }
12160  public Builder setMaxTimeInSeconds(double value) {
12161  bitField1_ |= 0x00000040;
12162  maxTimeInSeconds_ = value;
12163  onChanged();
12164  return this;
12165  }
12177  bitField1_ = (bitField1_ & ~0x00000040);
12178  maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
12179  onChanged();
12180  return this;
12181  }
12182 
12183  private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
12196  public boolean hasMaxDeterministicTime() {
12197  return ((bitField1_ & 0x00000080) != 0);
12198  }
12211  public double getMaxDeterministicTime() {
12212  return maxDeterministicTime_;
12213  }
12227  public Builder setMaxDeterministicTime(double value) {
12228  bitField1_ |= 0x00000080;
12229  maxDeterministicTime_ = value;
12230  onChanged();
12231  return this;
12232  }
12246  bitField1_ = (bitField1_ & ~0x00000080);
12247  maxDeterministicTime_ = Double.POSITIVE_INFINITY;
12248  onChanged();
12249  return this;
12250  }
12251 
12252  private long maxNumberOfConflicts_ = 9223372036854775807L;
12266  public boolean hasMaxNumberOfConflicts() {
12267  return ((bitField1_ & 0x00000100) != 0);
12268  }
12282  public long getMaxNumberOfConflicts() {
12283  return maxNumberOfConflicts_;
12284  }
12299  public Builder setMaxNumberOfConflicts(long value) {
12300  bitField1_ |= 0x00000100;
12301  maxNumberOfConflicts_ = value;
12302  onChanged();
12303  return this;
12304  }
12319  bitField1_ = (bitField1_ & ~0x00000100);
12320  maxNumberOfConflicts_ = 9223372036854775807L;
12321  onChanged();
12322  return this;
12323  }
12324 
12325  private long maxMemoryInMb_ = 10000L;
12337  public boolean hasMaxMemoryInMb() {
12338  return ((bitField1_ & 0x00000200) != 0);
12339  }
12351  public long getMaxMemoryInMb() {
12352  return maxMemoryInMb_;
12353  }
12366  public Builder setMaxMemoryInMb(long value) {
12367  bitField1_ |= 0x00000200;
12368  maxMemoryInMb_ = value;
12369  onChanged();
12370  return this;
12371  }
12384  bitField1_ = (bitField1_ & ~0x00000200);
12385  maxMemoryInMb_ = 10000L;
12386  onChanged();
12387  return this;
12388  }
12389 
12390  private boolean treatBinaryClausesSeparately_ = true;
12402  return ((bitField1_ & 0x00000400) != 0);
12403  }
12415  return treatBinaryClausesSeparately_;
12416  }
12429  bitField1_ |= 0x00000400;
12430  treatBinaryClausesSeparately_ = value;
12431  onChanged();
12432  return this;
12433  }
12445  bitField1_ = (bitField1_ & ~0x00000400);
12446  treatBinaryClausesSeparately_ = true;
12447  onChanged();
12448  return this;
12449  }
12450 
12451  private int randomSeed_ = 1;
12465  public boolean hasRandomSeed() {
12466  return ((bitField1_ & 0x00000800) != 0);
12467  }
12481  public int getRandomSeed() {
12482  return randomSeed_;
12483  }
12498  public Builder setRandomSeed(int value) {
12499  bitField1_ |= 0x00000800;
12500  randomSeed_ = value;
12501  onChanged();
12502  return this;
12503  }
12518  bitField1_ = (bitField1_ & ~0x00000800);
12519  randomSeed_ = 1;
12520  onChanged();
12521  return this;
12522  }
12523 
12524  private boolean logSearchProgress_ ;
12533  public boolean hasLogSearchProgress() {
12534  return ((bitField1_ & 0x00001000) != 0);
12535  }
12544  public boolean getLogSearchProgress() {
12545  return logSearchProgress_;
12546  }
12556  public Builder setLogSearchProgress(boolean value) {
12557  bitField1_ |= 0x00001000;
12558  logSearchProgress_ = value;
12559  onChanged();
12560  return this;
12561  }
12571  bitField1_ = (bitField1_ & ~0x00001000);
12572  logSearchProgress_ = false;
12573  onChanged();
12574  return this;
12575  }
12576 
12577  private boolean usePbResolution_ ;
12589  public boolean hasUsePbResolution() {
12590  return ((bitField1_ & 0x00002000) != 0);
12591  }
12603  public boolean getUsePbResolution() {
12604  return usePbResolution_;
12605  }
12618  public Builder setUsePbResolution(boolean value) {
12619  bitField1_ |= 0x00002000;
12620  usePbResolution_ = value;
12621  onChanged();
12622  return this;
12623  }
12636  bitField1_ = (bitField1_ & ~0x00002000);
12637  usePbResolution_ = false;
12638  onChanged();
12639  return this;
12640  }
12641 
12642  private boolean minimizeReductionDuringPbResolution_ ;
12655  return ((bitField1_ & 0x00004000) != 0);
12656  }
12669  return minimizeReductionDuringPbResolution_;
12670  }
12684  bitField1_ |= 0x00004000;
12685  minimizeReductionDuringPbResolution_ = value;
12686  onChanged();
12687  return this;
12688  }
12701  bitField1_ = (bitField1_ & ~0x00004000);
12702  minimizeReductionDuringPbResolution_ = false;
12703  onChanged();
12704  return this;
12705  }
12706 
12707  private boolean countAssumptionLevelsInLbd_ = true;
12724  return ((bitField1_ & 0x00008000) != 0);
12725  }
12742  return countAssumptionLevelsInLbd_;
12743  }
12760  public Builder setCountAssumptionLevelsInLbd(boolean value) {
12761  bitField1_ |= 0x00008000;
12762  countAssumptionLevelsInLbd_ = value;
12763  onChanged();
12764  return this;
12765  }
12782  bitField1_ = (bitField1_ & ~0x00008000);
12783  countAssumptionLevelsInLbd_ = true;
12784  onChanged();
12785  return this;
12786  }
12787 
12788  private int presolveBveThreshold_ = 500;
12799  public boolean hasPresolveBveThreshold() {
12800  return ((bitField1_ & 0x00010000) != 0);
12801  }
12813  return presolveBveThreshold_;
12814  }
12826  public Builder setPresolveBveThreshold(int value) {
12827  bitField1_ |= 0x00010000;
12828  presolveBveThreshold_ = value;
12829  onChanged();
12830  return this;
12831  }
12843  bitField1_ = (bitField1_ & ~0x00010000);
12844  presolveBveThreshold_ = 500;
12845  onChanged();
12846  return this;
12847  }
12848 
12849  private int presolveBveClauseWeight_ = 3;
12859  public boolean hasPresolveBveClauseWeight() {
12860  return ((bitField1_ & 0x00020000) != 0);
12861  }
12872  return presolveBveClauseWeight_;
12873  }
12885  bitField1_ |= 0x00020000;
12886  presolveBveClauseWeight_ = value;
12887  onChanged();
12888  return this;
12889  }
12900  bitField1_ = (bitField1_ & ~0x00020000);
12901  presolveBveClauseWeight_ = 3;
12902  onChanged();
12903  return this;
12904  }
12905 
12906  private double presolveProbingDeterministicTimeLimit_ = 30D;
12917  return ((bitField1_ & 0x00040000) != 0);
12918  }
12929  return presolveProbingDeterministicTimeLimit_;
12930  }
12942  bitField1_ |= 0x00040000;
12943  presolveProbingDeterministicTimeLimit_ = value;
12944  onChanged();
12945  return this;
12946  }
12957  bitField1_ = (bitField1_ & ~0x00040000);
12958  presolveProbingDeterministicTimeLimit_ = 30D;
12959  onChanged();
12960  return this;
12961  }
12962 
12963  private boolean presolveBlockedClause_ = true;
12973  public boolean hasPresolveBlockedClause() {
12974  return ((bitField1_ & 0x00080000) != 0);
12975  }
12985  public boolean getPresolveBlockedClause() {
12986  return presolveBlockedClause_;
12987  }
12998  public Builder setPresolveBlockedClause(boolean value) {
12999  bitField1_ |= 0x00080000;
13000  presolveBlockedClause_ = value;
13001  onChanged();
13002  return this;
13003  }
13014  bitField1_ = (bitField1_ & ~0x00080000);
13015  presolveBlockedClause_ = true;
13016  onChanged();
13017  return this;
13018  }
13019 
13020  private boolean presolveUseBva_ = true;
13029  public boolean hasPresolveUseBva() {
13030  return ((bitField1_ & 0x00100000) != 0);
13031  }
13040  public boolean getPresolveUseBva() {
13041  return presolveUseBva_;
13042  }
13052  public Builder setPresolveUseBva(boolean value) {
13053  bitField1_ |= 0x00100000;
13054  presolveUseBva_ = value;
13055  onChanged();
13056  return this;
13057  }
13067  bitField1_ = (bitField1_ & ~0x00100000);
13068  presolveUseBva_ = true;
13069  onChanged();
13070  return this;
13071  }
13072 
13073  private int presolveBvaThreshold_ = 1;
13085  public boolean hasPresolveBvaThreshold() {
13086  return ((bitField1_ & 0x00200000) != 0);
13087  }
13100  return presolveBvaThreshold_;
13101  }
13114  public Builder setPresolveBvaThreshold(int value) {
13115  bitField1_ |= 0x00200000;
13116  presolveBvaThreshold_ = value;
13117  onChanged();
13118  return this;
13119  }
13132  bitField1_ = (bitField1_ & ~0x00200000);
13133  presolveBvaThreshold_ = 1;
13134  onChanged();
13135  return this;
13136  }
13137 
13138  private int maxPresolveIterations_ = 3;
13149  public boolean hasMaxPresolveIterations() {
13150  return ((bitField1_ & 0x00400000) != 0);
13151  }
13163  return maxPresolveIterations_;
13164  }
13176  public Builder setMaxPresolveIterations(int value) {
13177  bitField1_ |= 0x00400000;
13178  maxPresolveIterations_ = value;
13179  onChanged();
13180  return this;
13181  }
13193  bitField1_ = (bitField1_ & ~0x00400000);
13194  maxPresolveIterations_ = 3;
13195  onChanged();
13196  return this;
13197  }
13198 
13199  private boolean cpModelPresolve_ = true;
13208  public boolean hasCpModelPresolve() {
13209  return ((bitField1_ & 0x00800000) != 0);
13210  }
13219  public boolean getCpModelPresolve() {
13220  return cpModelPresolve_;
13221  }
13231  public Builder setCpModelPresolve(boolean value) {
13232  bitField1_ |= 0x00800000;
13233  cpModelPresolve_ = value;
13234  onChanged();
13235  return this;
13236  }
13246  bitField1_ = (bitField1_ & ~0x00800000);
13247  cpModelPresolve_ = true;
13248  onChanged();
13249  return this;
13250  }
13251 
13252  private int cpModelMaxNumPresolveOperations_ ;
13263  return ((bitField1_ & 0x01000000) != 0);
13264  }
13275  return cpModelMaxNumPresolveOperations_;
13276  }
13288  bitField1_ |= 0x01000000;
13289  cpModelMaxNumPresolveOperations_ = value;
13290  onChanged();
13291  return this;
13292  }
13303  bitField1_ = (bitField1_ & ~0x01000000);
13304  cpModelMaxNumPresolveOperations_ = 0;
13305  onChanged();
13306  return this;
13307  }
13308 
13309  private int cpModelProbingLevel_ = 2;
13318  public boolean hasCpModelProbingLevel() {
13319  return ((bitField1_ & 0x02000000) != 0);
13320  }
13329  public int getCpModelProbingLevel() {
13330  return cpModelProbingLevel_;
13331  }
13341  public Builder setCpModelProbingLevel(int value) {
13342  bitField1_ |= 0x02000000;
13343  cpModelProbingLevel_ = value;
13344  onChanged();
13345  return this;
13346  }
13356  bitField1_ = (bitField1_ & ~0x02000000);
13357  cpModelProbingLevel_ = 2;
13358  onChanged();
13359  return this;
13360  }
13361 
13362  private boolean cpModelUseSatPresolve_ = true;
13371  public boolean hasCpModelUseSatPresolve() {
13372  return ((bitField1_ & 0x04000000) != 0);
13373  }
13382  public boolean getCpModelUseSatPresolve() {
13383  return cpModelUseSatPresolve_;
13384  }
13394  public Builder setCpModelUseSatPresolve(boolean value) {
13395  bitField1_ |= 0x04000000;
13396  cpModelUseSatPresolve_ = value;
13397  onChanged();
13398  return this;
13399  }
13409  bitField1_ = (bitField1_ & ~0x04000000);
13410  cpModelUseSatPresolve_ = true;
13411  onChanged();
13412  return this;
13413  }
13414 
13415  private boolean expandElementConstraints_ = true;
13425  public boolean hasExpandElementConstraints() {
13426  return ((bitField1_ & 0x08000000) != 0);
13427  }
13437  public boolean getExpandElementConstraints() {
13438  return expandElementConstraints_;
13439  }
13450  public Builder setExpandElementConstraints(boolean value) {
13451  bitField1_ |= 0x08000000;
13452  expandElementConstraints_ = value;
13453  onChanged();
13454  return this;
13455  }
13466  bitField1_ = (bitField1_ & ~0x08000000);
13467  expandElementConstraints_ = true;
13468  onChanged();
13469  return this;
13470  }
13471 
13472  private boolean expandAutomatonConstraints_ = true;
13482  return ((bitField1_ & 0x10000000) != 0);
13483  }
13493  return expandAutomatonConstraints_;
13494  }
13504  public Builder setExpandAutomatonConstraints(boolean value) {
13505  bitField1_ |= 0x10000000;
13506  expandAutomatonConstraints_ = value;
13507  onChanged();
13508  return this;
13509  }
13519  bitField1_ = (bitField1_ & ~0x10000000);
13520  expandAutomatonConstraints_ = true;
13521  onChanged();
13522  return this;
13523  }
13524 
13525  private boolean expandTableConstraints_ = true;
13535  public boolean hasExpandTableConstraints() {
13536  return ((bitField1_ & 0x20000000) != 0);
13537  }
13547  public boolean getExpandTableConstraints() {
13548  return expandTableConstraints_;
13549  }
13560  public Builder setExpandTableConstraints(boolean value) {
13561  bitField1_ |= 0x20000000;
13562  expandTableConstraints_ = value;
13563  onChanged();
13564  return this;
13565  }
13576  bitField1_ = (bitField1_ & ~0x20000000);
13577  expandTableConstraints_ = true;
13578  onChanged();
13579  return this;
13580  }
13581 
13582  private double mergeNoOverlapWorkLimit_ = 1000000000000D;
13595  public boolean hasMergeNoOverlapWorkLimit() {
13596  return ((bitField1_ & 0x40000000) != 0);
13597  }
13610  public double getMergeNoOverlapWorkLimit() {
13611  return mergeNoOverlapWorkLimit_;
13612  }
13626  public Builder setMergeNoOverlapWorkLimit(double value) {
13627  bitField1_ |= 0x40000000;
13628  mergeNoOverlapWorkLimit_ = value;
13629  onChanged();
13630  return this;
13631  }
13645  bitField1_ = (bitField1_ & ~0x40000000);
13646  mergeNoOverlapWorkLimit_ = 1000000000000D;
13647  onChanged();
13648  return this;
13649  }
13650 
13651  private double mergeAtMostOneWorkLimit_ = 100000000D;
13656  public boolean hasMergeAtMostOneWorkLimit() {
13657  return ((bitField1_ & 0x80000000) != 0);
13658  }
13663  public double getMergeAtMostOneWorkLimit() {
13664  return mergeAtMostOneWorkLimit_;
13665  }
13671  public Builder setMergeAtMostOneWorkLimit(double value) {
13672  bitField1_ |= 0x80000000;
13673  mergeAtMostOneWorkLimit_ = value;
13674  onChanged();
13675  return this;
13676  }
13682  bitField1_ = (bitField1_ & ~0x80000000);
13683  mergeAtMostOneWorkLimit_ = 100000000D;
13684  onChanged();
13685  return this;
13686  }
13687 
13688  private int presolveSubstitutionLevel_ = 1;
13700  public boolean hasPresolveSubstitutionLevel() {
13701  return ((bitField2_ & 0x00000001) != 0);
13702  }
13715  return presolveSubstitutionLevel_;
13716  }
13730  bitField2_ |= 0x00000001;
13731  presolveSubstitutionLevel_ = value;
13732  onChanged();
13733  return this;
13734  }
13747  bitField2_ = (bitField2_ & ~0x00000001);
13748  presolveSubstitutionLevel_ = 1;
13749  onChanged();
13750  return this;
13751  }
13752 
13753  private boolean useOptimizationHints_ = true;
13765  public boolean hasUseOptimizationHints() {
13766  return ((bitField2_ & 0x00000002) != 0);
13767  }
13779  public boolean getUseOptimizationHints() {
13780  return useOptimizationHints_;
13781  }
13794  public Builder setUseOptimizationHints(boolean value) {
13795  bitField2_ |= 0x00000002;
13796  useOptimizationHints_ = value;
13797  onChanged();
13798  return this;
13799  }
13812  bitField2_ = (bitField2_ & ~0x00000002);
13813  useOptimizationHints_ = true;
13814  onChanged();
13815  return this;
13816  }
13817 
13818  private boolean minimizeCore_ = true;
13827  public boolean hasMinimizeCore() {
13828  return ((bitField2_ & 0x00000004) != 0);
13829  }
13838  public boolean getMinimizeCore() {
13839  return minimizeCore_;
13840  }
13850  public Builder setMinimizeCore(boolean value) {
13851  bitField2_ |= 0x00000004;
13852  minimizeCore_ = value;
13853  onChanged();
13854  return this;
13855  }
13865  bitField2_ = (bitField2_ & ~0x00000004);
13866  minimizeCore_ = true;
13867  onChanged();
13868  return this;
13869  }
13870 
13871  private boolean findMultipleCores_ = true;
13881  public boolean hasFindMultipleCores() {
13882  return ((bitField2_ & 0x00000008) != 0);
13883  }
13893  public boolean getFindMultipleCores() {
13894  return findMultipleCores_;
13895  }
13906  public Builder setFindMultipleCores(boolean value) {
13907  bitField2_ |= 0x00000008;
13908  findMultipleCores_ = value;
13909  onChanged();
13910  return this;
13911  }
13922  bitField2_ = (bitField2_ & ~0x00000008);
13923  findMultipleCores_ = true;
13924  onChanged();
13925  return this;
13926  }
13927 
13928  private boolean coverOptimization_ = true;
13938  public boolean hasCoverOptimization() {
13939  return ((bitField2_ & 0x00000010) != 0);
13940  }
13950  public boolean getCoverOptimization() {
13951  return coverOptimization_;
13952  }
13963  public Builder setCoverOptimization(boolean value) {
13964  bitField2_ |= 0x00000010;
13965  coverOptimization_ = value;
13966  onChanged();
13967  return this;
13968  }
13979  bitField2_ = (bitField2_ & ~0x00000010);
13980  coverOptimization_ = true;
13981  onChanged();
13982  return this;
13983  }
13984 
13985  private int maxSatAssumptionOrder_ = 0;
13990  public boolean hasMaxSatAssumptionOrder() {
13991  return ((bitField2_ & 0x00000020) != 0);
13992  }
13998  @SuppressWarnings("deprecation")
14001  }
14008  if (value == null) {
14009  throw new NullPointerException();
14010  }
14011  bitField2_ |= 0x00000020;
14012  maxSatAssumptionOrder_ = value.getNumber();
14013  onChanged();
14014  return this;
14015  }
14021  bitField2_ = (bitField2_ & ~0x00000020);
14022  maxSatAssumptionOrder_ = 0;
14023  onChanged();
14024  return this;
14025  }
14026 
14027  private boolean maxSatReverseAssumptionOrder_ ;
14038  return ((bitField2_ & 0x00000040) != 0);
14039  }
14050  return maxSatReverseAssumptionOrder_;
14051  }
14063  bitField2_ |= 0x00000040;
14064  maxSatReverseAssumptionOrder_ = value;
14065  onChanged();
14066  return this;
14067  }
14078  bitField2_ = (bitField2_ & ~0x00000040);
14079  maxSatReverseAssumptionOrder_ = false;
14080  onChanged();
14081  return this;
14082  }
14083 
14084  private int maxSatStratification_ = 1;
14089  public boolean hasMaxSatStratification() {
14090  return ((bitField2_ & 0x00000080) != 0);
14091  }
14097  @SuppressWarnings("deprecation")
14100  }
14107  if (value == null) {
14108  throw new NullPointerException();
14109  }
14110  bitField2_ |= 0x00000080;
14111  maxSatStratification_ = value.getNumber();
14112  onChanged();
14113  return this;
14114  }
14120  bitField2_ = (bitField2_ & ~0x00000080);
14121  maxSatStratification_ = 1;
14122  onChanged();
14123  return this;
14124  }
14125 
14126  private boolean usePrecedencesInDisjunctiveConstraint_ = true;
14143  return ((bitField2_ & 0x00000100) != 0);
14144  }
14161  return usePrecedencesInDisjunctiveConstraint_;
14162  }
14180  bitField2_ |= 0x00000100;
14181  usePrecedencesInDisjunctiveConstraint_ = value;
14182  onChanged();
14183  return this;
14184  }
14201  bitField2_ = (bitField2_ & ~0x00000100);
14202  usePrecedencesInDisjunctiveConstraint_ = true;
14203  onChanged();
14204  return this;
14205  }
14206 
14207  private boolean useOverloadCheckerInCumulativeConstraint_ ;
14222  return ((bitField2_ & 0x00000200) != 0);
14223  }
14238  return useOverloadCheckerInCumulativeConstraint_;
14239  }
14255  bitField2_ |= 0x00000200;
14256  useOverloadCheckerInCumulativeConstraint_ = value;
14257  onChanged();
14258  return this;
14259  }
14274  bitField2_ = (bitField2_ & ~0x00000200);
14275  useOverloadCheckerInCumulativeConstraint_ = false;
14276  onChanged();
14277  return this;
14278  }
14279 
14280  private boolean useTimetableEdgeFindingInCumulativeConstraint_ ;
14295  return ((bitField2_ & 0x00000400) != 0);
14296  }
14311  return useTimetableEdgeFindingInCumulativeConstraint_;
14312  }
14328  bitField2_ |= 0x00000400;
14329  useTimetableEdgeFindingInCumulativeConstraint_ = value;
14330  onChanged();
14331  return this;
14332  }
14347  bitField2_ = (bitField2_ & ~0x00000400);
14348  useTimetableEdgeFindingInCumulativeConstraint_ = false;
14349  onChanged();
14350  return this;
14351  }
14352 
14353  private boolean useDisjunctiveConstraintInCumulativeConstraint_ = true;
14370  return ((bitField2_ & 0x00000800) != 0);
14371  }
14388  return useDisjunctiveConstraintInCumulativeConstraint_;
14389  }
14407  bitField2_ |= 0x00000800;
14408  useDisjunctiveConstraintInCumulativeConstraint_ = value;
14409  onChanged();
14410  return this;
14411  }
14428  bitField2_ = (bitField2_ & ~0x00000800);
14429  useDisjunctiveConstraintInCumulativeConstraint_ = true;
14430  onChanged();
14431  return this;
14432  }
14433 
14434  private int linearizationLevel_ = 1;
14446  public boolean hasLinearizationLevel() {
14447  return ((bitField2_ & 0x00001000) != 0);
14448  }
14460  public int getLinearizationLevel() {
14461  return linearizationLevel_;
14462  }
14475  public Builder setLinearizationLevel(int value) {
14476  bitField2_ |= 0x00001000;
14477  linearizationLevel_ = value;
14478  onChanged();
14479  return this;
14480  }
14493  bitField2_ = (bitField2_ & ~0x00001000);
14494  linearizationLevel_ = 1;
14495  onChanged();
14496  return this;
14497  }
14498 
14499  private int booleanEncodingLevel_ = 1;
14509  public boolean hasBooleanEncodingLevel() {
14510  return ((bitField2_ & 0x00002000) != 0);
14511  }
14522  return booleanEncodingLevel_;
14523  }
14534  public Builder setBooleanEncodingLevel(int value) {
14535  bitField2_ |= 0x00002000;
14536  booleanEncodingLevel_ = value;
14537  onChanged();
14538  return this;
14539  }
14550  bitField2_ = (bitField2_ & ~0x00002000);
14551  booleanEncodingLevel_ = 1;
14552  onChanged();
14553  return this;
14554  }
14555 
14556  private int maxNumCuts_ = 10000;
14568  public boolean hasMaxNumCuts() {
14569  return ((bitField2_ & 0x00004000) != 0);
14570  }
14582  public int getMaxNumCuts() {
14583  return maxNumCuts_;
14584  }
14597  public Builder setMaxNumCuts(int value) {
14598  bitField2_ |= 0x00004000;
14599  maxNumCuts_ = value;
14600  onChanged();
14601  return this;
14602  }
14615  bitField2_ = (bitField2_ & ~0x00004000);
14616  maxNumCuts_ = 10000;
14617  onChanged();
14618  return this;
14619  }
14620 
14621  private boolean onlyAddCutsAtLevelZero_ ;
14631  public boolean hasOnlyAddCutsAtLevelZero() {
14632  return ((bitField2_ & 0x00008000) != 0);
14633  }
14643  public boolean getOnlyAddCutsAtLevelZero() {
14644  return onlyAddCutsAtLevelZero_;
14645  }
14656  public Builder setOnlyAddCutsAtLevelZero(boolean value) {
14657  bitField2_ |= 0x00008000;
14658  onlyAddCutsAtLevelZero_ = value;
14659  onChanged();
14660  return this;
14661  }
14672  bitField2_ = (bitField2_ & ~0x00008000);
14673  onlyAddCutsAtLevelZero_ = false;
14674  onChanged();
14675  return this;
14676  }
14677 
14678  private boolean addKnapsackCuts_ ;
14689  public boolean hasAddKnapsackCuts() {
14690  return ((bitField2_ & 0x00010000) != 0);
14691  }
14702  public boolean getAddKnapsackCuts() {
14703  return addKnapsackCuts_;
14704  }
14716  public Builder setAddKnapsackCuts(boolean value) {
14717  bitField2_ |= 0x00010000;
14718  addKnapsackCuts_ = value;
14719  onChanged();
14720  return this;
14721  }
14733  bitField2_ = (bitField2_ & ~0x00010000);
14734  addKnapsackCuts_ = false;
14735  onChanged();
14736  return this;
14737  }
14738 
14739  private boolean addCgCuts_ = true;
14749  public boolean hasAddCgCuts() {
14750  return ((bitField2_ & 0x00020000) != 0);
14751  }
14761  public boolean getAddCgCuts() {
14762  return addCgCuts_;
14763  }
14774  public Builder setAddCgCuts(boolean value) {
14775  bitField2_ |= 0x00020000;
14776  addCgCuts_ = value;
14777  onChanged();
14778  return this;
14779  }
14790  bitField2_ = (bitField2_ & ~0x00020000);
14791  addCgCuts_ = true;
14792  onChanged();
14793  return this;
14794  }
14795 
14796  private boolean addMirCuts_ = true;
14806  public boolean hasAddMirCuts() {
14807  return ((bitField2_ & 0x00040000) != 0);
14808  }
14818  public boolean getAddMirCuts() {
14819  return addMirCuts_;
14820  }
14831  public Builder setAddMirCuts(boolean value) {
14832  bitField2_ |= 0x00040000;
14833  addMirCuts_ = value;
14834  onChanged();
14835  return this;
14836  }
14847  bitField2_ = (bitField2_ & ~0x00040000);
14848  addMirCuts_ = true;
14849  onChanged();
14850  return this;
14851  }
14852 
14853  private int maxAllDiffCutSize_ = 7;
14864  public boolean hasMaxAllDiffCutSize() {
14865  return ((bitField2_ & 0x00080000) != 0);
14866  }
14877  public int getMaxAllDiffCutSize() {
14878  return maxAllDiffCutSize_;
14879  }
14891  public Builder setMaxAllDiffCutSize(int value) {
14892  bitField2_ |= 0x00080000;
14893  maxAllDiffCutSize_ = value;
14894  onChanged();
14895  return this;
14896  }
14908  bitField2_ = (bitField2_ & ~0x00080000);
14909  maxAllDiffCutSize_ = 7;
14910  onChanged();
14911  return this;
14912  }
14913 
14914  private boolean addLinMaxCuts_ = true;
14925  public boolean hasAddLinMaxCuts() {
14926  return ((bitField2_ & 0x00100000) != 0);
14927  }
14938  public boolean getAddLinMaxCuts() {
14939  return addLinMaxCuts_;
14940  }
14952  public Builder setAddLinMaxCuts(boolean value) {
14953  bitField2_ |= 0x00100000;
14954  addLinMaxCuts_ = value;
14955  onChanged();
14956  return this;
14957  }
14969  bitField2_ = (bitField2_ & ~0x00100000);
14970  addLinMaxCuts_ = true;
14971  onChanged();
14972  return this;
14973  }
14974 
14975  private int maxIntegerRoundingScaling_ = 600;
14990  public boolean hasMaxIntegerRoundingScaling() {
14991  return ((bitField2_ & 0x00200000) != 0);
14992  }
15008  return maxIntegerRoundingScaling_;
15009  }
15026  bitField2_ |= 0x00200000;
15027  maxIntegerRoundingScaling_ = value;
15028  onChanged();
15029  return this;
15030  }
15046  bitField2_ = (bitField2_ & ~0x00200000);
15047  maxIntegerRoundingScaling_ = 600;
15048  onChanged();
15049  return this;
15050  }
15051 
15052  private boolean addLpConstraintsLazily_ = true;
15064  public boolean hasAddLpConstraintsLazily() {
15065  return ((bitField2_ & 0x00400000) != 0);
15066  }
15078  public boolean getAddLpConstraintsLazily() {
15079  return addLpConstraintsLazily_;
15080  }
15093  public Builder setAddLpConstraintsLazily(boolean value) {
15094  bitField2_ |= 0x00400000;
15095  addLpConstraintsLazily_ = value;
15096  onChanged();
15097  return this;
15098  }
15111  bitField2_ = (bitField2_ & ~0x00400000);
15112  addLpConstraintsLazily_ = true;
15113  onChanged();
15114  return this;
15115  }
15116 
15117  private double minOrthogonalityForLpConstraints_ = 0.05D;
15131  return ((bitField2_ & 0x00800000) != 0);
15132  }
15146  return minOrthogonalityForLpConstraints_;
15147  }
15162  bitField2_ |= 0x00800000;
15163  minOrthogonalityForLpConstraints_ = value;
15164  onChanged();
15165  return this;
15166  }
15180  bitField2_ = (bitField2_ & ~0x00800000);
15181  minOrthogonalityForLpConstraints_ = 0.05D;
15182  onChanged();
15183  return this;
15184  }
15185 
15186  private int maxCutRoundsAtLevelZero_ = 1;
15195  public boolean hasMaxCutRoundsAtLevelZero() {
15196  return ((bitField2_ & 0x01000000) != 0);
15197  }
15207  return maxCutRoundsAtLevelZero_;
15208  }
15219  bitField2_ |= 0x01000000;
15220  maxCutRoundsAtLevelZero_ = value;
15221  onChanged();
15222  return this;
15223  }
15233  bitField2_ = (bitField2_ & ~0x01000000);
15234  maxCutRoundsAtLevelZero_ = 1;
15235  onChanged();
15236  return this;
15237  }
15238 
15239  private int maxConsecutiveInactiveCount_ = 100;
15251  return ((bitField2_ & 0x02000000) != 0);
15252  }
15264  return maxConsecutiveInactiveCount_;
15265  }
15278  bitField2_ |= 0x02000000;
15279  maxConsecutiveInactiveCount_ = value;
15280  onChanged();
15281  return this;
15282  }
15294  bitField2_ = (bitField2_ & ~0x02000000);
15295  maxConsecutiveInactiveCount_ = 100;
15296  onChanged();
15297  return this;
15298  }
15299 
15300  private double cutMaxActiveCountValue_ = 10000000000D;
15311  public boolean hasCutMaxActiveCountValue() {
15312  return ((bitField2_ & 0x04000000) != 0);
15313  }
15324  public double getCutMaxActiveCountValue() {
15325  return cutMaxActiveCountValue_;
15326  }
15338  public Builder setCutMaxActiveCountValue(double value) {
15339  bitField2_ |= 0x04000000;
15340  cutMaxActiveCountValue_ = value;
15341  onChanged();
15342  return this;
15343  }
15355  bitField2_ = (bitField2_ & ~0x04000000);
15356  cutMaxActiveCountValue_ = 10000000000D;
15357  onChanged();
15358  return this;
15359  }
15360 
15361  private double cutActiveCountDecay_ = 0.8D;
15366  public boolean hasCutActiveCountDecay() {
15367  return ((bitField2_ & 0x08000000) != 0);
15368  }
15373  public double getCutActiveCountDecay() {
15374  return cutActiveCountDecay_;
15375  }
15381  public Builder setCutActiveCountDecay(double value) {
15382  bitField2_ |= 0x08000000;
15383  cutActiveCountDecay_ = value;
15384  onChanged();
15385  return this;
15386  }
15392  bitField2_ = (bitField2_ & ~0x08000000);
15393  cutActiveCountDecay_ = 0.8D;
15394  onChanged();
15395  return this;
15396  }
15397 
15398  private int cutCleanupTarget_ = 1000;
15407  public boolean hasCutCleanupTarget() {
15408  return ((bitField2_ & 0x10000000) != 0);
15409  }
15418  public int getCutCleanupTarget() {
15419  return cutCleanupTarget_;
15420  }
15430  public Builder setCutCleanupTarget(int value) {
15431  bitField2_ |= 0x10000000;
15432  cutCleanupTarget_ = value;
15433  onChanged();
15434  return this;
15435  }
15445  bitField2_ = (bitField2_ & ~0x10000000);
15446  cutCleanupTarget_ = 1000;
15447  onChanged();
15448  return this;
15449  }
15450 
15451  private int newConstraintsBatchSize_ = 50;
15461  public boolean hasNewConstraintsBatchSize() {
15462  return ((bitField2_ & 0x20000000) != 0);
15463  }
15474  return newConstraintsBatchSize_;
15475  }
15487  bitField2_ |= 0x20000000;
15488  newConstraintsBatchSize_ = value;
15489  onChanged();
15490  return this;
15491  }
15502  bitField2_ = (bitField2_ & ~0x20000000);
15503  newConstraintsBatchSize_ = 50;
15504  onChanged();
15505  return this;
15506  }
15507 
15508  private int searchBranching_ = 0;
15513  public boolean hasSearchBranching() {
15514  return ((bitField2_ & 0x40000000) != 0);
15515  }
15521  @SuppressWarnings("deprecation")
15523  return result == null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
15524  }
15531  if (value == null) {
15532  throw new NullPointerException();
15533  }
15534  bitField2_ |= 0x40000000;
15535  searchBranching_ = value.getNumber();
15536  onChanged();
15537  return this;
15538  }
15544  bitField2_ = (bitField2_ & ~0x40000000);
15545  searchBranching_ = 0;
15546  onChanged();
15547  return this;
15548  }
15549 
15550  private int hintConflictLimit_ = 10;
15560  public boolean hasHintConflictLimit() {
15561  return ((bitField2_ & 0x80000000) != 0);
15562  }
15572  public int getHintConflictLimit() {
15573  return hintConflictLimit_;
15574  }
15585  public Builder setHintConflictLimit(int value) {
15586  bitField2_ |= 0x80000000;
15587  hintConflictLimit_ = value;
15588  onChanged();
15589  return this;
15590  }
15601  bitField2_ = (bitField2_ & ~0x80000000);
15602  hintConflictLimit_ = 10;
15603  onChanged();
15604  return this;
15605  }
15606 
15607  private boolean exploitIntegerLpSolution_ = true;
15619  public boolean hasExploitIntegerLpSolution() {
15620  return ((bitField3_ & 0x00000001) != 0);
15621  }
15633  public boolean getExploitIntegerLpSolution() {
15634  return exploitIntegerLpSolution_;
15635  }
15648  public Builder setExploitIntegerLpSolution(boolean value) {
15649  bitField3_ |= 0x00000001;
15650  exploitIntegerLpSolution_ = value;
15651  onChanged();
15652  return this;
15653  }
15666  bitField3_ = (bitField3_ & ~0x00000001);
15667  exploitIntegerLpSolution_ = true;
15668  onChanged();
15669  return this;
15670  }
15671 
15672  private boolean exploitAllLpSolution_ = true;
15683  public boolean hasExploitAllLpSolution() {
15684  return ((bitField3_ & 0x00000002) != 0);
15685  }
15696  public boolean getExploitAllLpSolution() {
15697  return exploitAllLpSolution_;
15698  }
15710  public Builder setExploitAllLpSolution(boolean value) {
15711  bitField3_ |= 0x00000002;
15712  exploitAllLpSolution_ = value;
15713  onChanged();
15714  return this;
15715  }
15727  bitField3_ = (bitField3_ & ~0x00000002);
15728  exploitAllLpSolution_ = true;
15729  onChanged();
15730  return this;
15731  }
15732 
15733  private boolean exploitBestSolution_ ;
15742  public boolean hasExploitBestSolution() {
15743  return ((bitField3_ & 0x00000004) != 0);
15744  }
15753  public boolean getExploitBestSolution() {
15754  return exploitBestSolution_;
15755  }
15765  public Builder setExploitBestSolution(boolean value) {
15766  bitField3_ |= 0x00000004;
15767  exploitBestSolution_ = value;
15768  onChanged();
15769  return this;
15770  }
15780  bitField3_ = (bitField3_ & ~0x00000004);
15781  exploitBestSolution_ = false;
15782  onChanged();
15783  return this;
15784  }
15785 
15786  private boolean exploitObjective_ = true;
15796  public boolean hasExploitObjective() {
15797  return ((bitField3_ & 0x00000008) != 0);
15798  }
15808  public boolean getExploitObjective() {
15809  return exploitObjective_;
15810  }
15821  public Builder setExploitObjective(boolean value) {
15822  bitField3_ |= 0x00000008;
15823  exploitObjective_ = value;
15824  onChanged();
15825  return this;
15826  }
15837  bitField3_ = (bitField3_ & ~0x00000008);
15838  exploitObjective_ = true;
15839  onChanged();
15840  return this;
15841  }
15842 
15843  private long probingPeriodAtRoot_ ;
15854  public boolean hasProbingPeriodAtRoot() {
15855  return ((bitField3_ & 0x00000010) != 0);
15856  }
15867  public long getProbingPeriodAtRoot() {
15868  return probingPeriodAtRoot_;
15869  }
15881  public Builder setProbingPeriodAtRoot(long value) {
15882  bitField3_ |= 0x00000010;
15883  probingPeriodAtRoot_ = value;
15884  onChanged();
15885  return this;
15886  }
15898  bitField3_ = (bitField3_ & ~0x00000010);
15899  probingPeriodAtRoot_ = 0L;
15900  onChanged();
15901  return this;
15902  }
15903 
15904  private long pseudoCostReliabilityThreshold_ = 100L;
15915  return ((bitField3_ & 0x00000020) != 0);
15916  }
15927  return pseudoCostReliabilityThreshold_;
15928  }
15940  bitField3_ |= 0x00000020;
15941  pseudoCostReliabilityThreshold_ = value;
15942  onChanged();
15943  return this;
15944  }
15955  bitField3_ = (bitField3_ & ~0x00000020);
15956  pseudoCostReliabilityThreshold_ = 100L;
15957  onChanged();
15958  return this;
15959  }
15960 
15961  private boolean optimizeWithCore_ ;
15973  public boolean hasOptimizeWithCore() {
15974  return ((bitField3_ & 0x00000040) != 0);
15975  }
15987  public boolean getOptimizeWithCore() {
15988  return optimizeWithCore_;
15989  }
16002  public Builder setOptimizeWithCore(boolean value) {
16003  bitField3_ |= 0x00000040;
16004  optimizeWithCore_ = value;
16005  onChanged();
16006  return this;
16007  }
16020  bitField3_ = (bitField3_ & ~0x00000040);
16021  optimizeWithCore_ = false;
16022  onChanged();
16023  return this;
16024  }
16025 
16026  private int binarySearchNumConflicts_ = -1;
16038  public boolean hasBinarySearchNumConflicts() {
16039  return ((bitField3_ & 0x00000080) != 0);
16040  }
16053  return binarySearchNumConflicts_;
16054  }
16068  bitField3_ |= 0x00000080;
16069  binarySearchNumConflicts_ = value;
16070  onChanged();
16071  return this;
16072  }
16085  bitField3_ = (bitField3_ & ~0x00000080);
16086  binarySearchNumConflicts_ = -1;
16087  onChanged();
16088  return this;
16089  }
16090 
16091  private boolean optimizeWithMaxHs_ ;
16105  public boolean hasOptimizeWithMaxHs() {
16106  return ((bitField3_ & 0x00000100) != 0);
16107  }
16121  public boolean getOptimizeWithMaxHs() {
16122  return optimizeWithMaxHs_;
16123  }
16138  public Builder setOptimizeWithMaxHs(boolean value) {
16139  bitField3_ |= 0x00000100;
16140  optimizeWithMaxHs_ = value;
16141  onChanged();
16142  return this;
16143  }
16158  bitField3_ = (bitField3_ & ~0x00000100);
16159  optimizeWithMaxHs_ = false;
16160  onChanged();
16161  return this;
16162  }
16163 
16164  private boolean enumerateAllSolutions_ ;
16178  public boolean hasEnumerateAllSolutions() {
16179  return ((bitField3_ & 0x00000200) != 0);
16180  }
16194  public boolean getEnumerateAllSolutions() {
16195  return enumerateAllSolutions_;
16196  }
16211  public Builder setEnumerateAllSolutions(boolean value) {
16212  bitField3_ |= 0x00000200;
16213  enumerateAllSolutions_ = value;
16214  onChanged();
16215  return this;
16216  }
16231  bitField3_ = (bitField3_ & ~0x00000200);
16232  enumerateAllSolutions_ = false;
16233  onChanged();
16234  return this;
16235  }
16236 
16237  private boolean fillTightenedDomainsInResponse_ ;
16251  return ((bitField3_ & 0x00000400) != 0);
16252  }
16266  return fillTightenedDomainsInResponse_;
16267  }
16282  bitField3_ |= 0x00000400;
16283  fillTightenedDomainsInResponse_ = value;
16284  onChanged();
16285  return this;
16286  }
16300  bitField3_ = (bitField3_ & ~0x00000400);
16301  fillTightenedDomainsInResponse_ = false;
16302  onChanged();
16303  return this;
16304  }
16305 
16306  private boolean instantiateAllVariables_ = true;
16316  public boolean hasInstantiateAllVariables() {
16317  return ((bitField3_ & 0x00000800) != 0);
16318  }
16328  public boolean getInstantiateAllVariables() {
16329  return instantiateAllVariables_;
16330  }
16341  public Builder setInstantiateAllVariables(boolean value) {
16342  bitField3_ |= 0x00000800;
16343  instantiateAllVariables_ = value;
16344  onChanged();
16345  return this;
16346  }
16357  bitField3_ = (bitField3_ & ~0x00000800);
16358  instantiateAllVariables_ = true;
16359  onChanged();
16360  return this;
16361  }
16362 
16363  private boolean autoDetectGreaterThanAtLeastOneOf_ = true;
16376  return ((bitField3_ & 0x00001000) != 0);
16377  }
16390  return autoDetectGreaterThanAtLeastOneOf_;
16391  }
16405  bitField3_ |= 0x00001000;
16406  autoDetectGreaterThanAtLeastOneOf_ = value;
16407  onChanged();
16408  return this;
16409  }
16422  bitField3_ = (bitField3_ & ~0x00001000);
16423  autoDetectGreaterThanAtLeastOneOf_ = true;
16424  onChanged();
16425  return this;
16426  }
16427 
16428  private boolean stopAfterFirstSolution_ ;
16437  public boolean hasStopAfterFirstSolution() {
16438  return ((bitField3_ & 0x00002000) != 0);
16439  }
16448  public boolean getStopAfterFirstSolution() {
16449  return stopAfterFirstSolution_;
16450  }
16460  public Builder setStopAfterFirstSolution(boolean value) {
16461  bitField3_ |= 0x00002000;
16462  stopAfterFirstSolution_ = value;
16463  onChanged();
16464  return this;
16465  }
16475  bitField3_ = (bitField3_ & ~0x00002000);
16476  stopAfterFirstSolution_ = false;
16477  onChanged();
16478  return this;
16479  }
16480 
16481  private boolean stopAfterPresolve_ ;
16491  public boolean hasStopAfterPresolve() {
16492  return ((bitField3_ & 0x00004000) != 0);
16493  }
16503  public boolean getStopAfterPresolve() {
16504  return stopAfterPresolve_;
16505  }
16516  public Builder setStopAfterPresolve(boolean value) {
16517  bitField3_ |= 0x00004000;
16518  stopAfterPresolve_ = value;
16519  onChanged();
16520  return this;
16521  }
16532  bitField3_ = (bitField3_ & ~0x00004000);
16533  stopAfterPresolve_ = false;
16534  onChanged();
16535  return this;
16536  }
16537 
16538  private int numSearchWorkers_ = 1;
16548  public boolean hasNumSearchWorkers() {
16549  return ((bitField3_ & 0x00008000) != 0);
16550  }
16560  public int getNumSearchWorkers() {
16561  return numSearchWorkers_;
16562  }
16573  public Builder setNumSearchWorkers(int value) {
16574  bitField3_ |= 0x00008000;
16575  numSearchWorkers_ = value;
16576  onChanged();
16577  return this;
16578  }
16589  bitField3_ = (bitField3_ & ~0x00008000);
16590  numSearchWorkers_ = 1;
16591  onChanged();
16592  return this;
16593  }
16594 
16595  private boolean interleaveSearch_ ;
16608  public boolean hasInterleaveSearch() {
16609  return ((bitField3_ & 0x00010000) != 0);
16610  }
16623  public boolean getInterleaveSearch() {
16624  return interleaveSearch_;
16625  }
16639  public Builder setInterleaveSearch(boolean value) {
16640  bitField3_ |= 0x00010000;
16641  interleaveSearch_ = value;
16642  onChanged();
16643  return this;
16644  }
16658  bitField3_ = (bitField3_ & ~0x00010000);
16659  interleaveSearch_ = false;
16660  onChanged();
16661  return this;
16662  }
16663 
16664  private int interleaveBatchSize_ = 1;
16669  public boolean hasInterleaveBatchSize() {
16670  return ((bitField3_ & 0x00020000) != 0);
16671  }
16676  public int getInterleaveBatchSize() {
16677  return interleaveBatchSize_;
16678  }
16684  public Builder setInterleaveBatchSize(int value) {
16685  bitField3_ |= 0x00020000;
16686  interleaveBatchSize_ = value;
16687  onChanged();
16688  return this;
16689  }
16695  bitField3_ = (bitField3_ & ~0x00020000);
16696  interleaveBatchSize_ = 1;
16697  onChanged();
16698  return this;
16699  }
16700 
16701  private boolean reduceMemoryUsageInInterleaveMode_ ;
16711  return ((bitField3_ & 0x00040000) != 0);
16712  }
16722  return reduceMemoryUsageInInterleaveMode_;
16723  }
16734  bitField3_ |= 0x00040000;
16735  reduceMemoryUsageInInterleaveMode_ = value;
16736  onChanged();
16737  return this;
16738  }
16748  bitField3_ = (bitField3_ & ~0x00040000);
16749  reduceMemoryUsageInInterleaveMode_ = false;
16750  onChanged();
16751  return this;
16752  }
16753 
16754  private boolean shareObjectiveBounds_ = true;
16763  public boolean hasShareObjectiveBounds() {
16764  return ((bitField3_ & 0x00080000) != 0);
16765  }
16774  public boolean getShareObjectiveBounds() {
16775  return shareObjectiveBounds_;
16776  }
16786  public Builder setShareObjectiveBounds(boolean value) {
16787  bitField3_ |= 0x00080000;
16788  shareObjectiveBounds_ = value;
16789  onChanged();
16790  return this;
16791  }
16801  bitField3_ = (bitField3_ & ~0x00080000);
16802  shareObjectiveBounds_ = true;
16803  onChanged();
16804  return this;
16805  }
16806 
16807  private boolean shareLevelZeroBounds_ = true;
16816  public boolean hasShareLevelZeroBounds() {
16817  return ((bitField3_ & 0x00100000) != 0);
16818  }
16827  public boolean getShareLevelZeroBounds() {
16828  return shareLevelZeroBounds_;
16829  }
16839  public Builder setShareLevelZeroBounds(boolean value) {
16840  bitField3_ |= 0x00100000;
16841  shareLevelZeroBounds_ = value;
16842  onChanged();
16843  return this;
16844  }
16854  bitField3_ = (bitField3_ & ~0x00100000);
16855  shareLevelZeroBounds_ = true;
16856  onChanged();
16857  return this;
16858  }
16859 
16860  private boolean useLnsOnly_ ;
16869  public boolean hasUseLnsOnly() {
16870  return ((bitField3_ & 0x00200000) != 0);
16871  }
16880  public boolean getUseLnsOnly() {
16881  return useLnsOnly_;
16882  }
16892  public Builder setUseLnsOnly(boolean value) {
16893  bitField3_ |= 0x00200000;
16894  useLnsOnly_ = value;
16895  onChanged();
16896  return this;
16897  }
16907  bitField3_ = (bitField3_ & ~0x00200000);
16908  useLnsOnly_ = false;
16909  onChanged();
16910  return this;
16911  }
16912 
16913  private boolean lnsFocusOnDecisionVariables_ ;
16919  return ((bitField3_ & 0x00400000) != 0);
16920  }
16926  return lnsFocusOnDecisionVariables_;
16927  }
16933  public Builder setLnsFocusOnDecisionVariables(boolean value) {
16934  bitField3_ |= 0x00400000;
16935  lnsFocusOnDecisionVariables_ = value;
16936  onChanged();
16937  return this;
16938  }
16944  bitField3_ = (bitField3_ & ~0x00400000);
16945  lnsFocusOnDecisionVariables_ = false;
16946  onChanged();
16947  return this;
16948  }
16949 
16950  private boolean useRinsLns_ = true;
16959  public boolean hasUseRinsLns() {
16960  return ((bitField3_ & 0x00800000) != 0);
16961  }
16970  public boolean getUseRinsLns() {
16971  return useRinsLns_;
16972  }
16982  public Builder setUseRinsLns(boolean value) {
16983  bitField3_ |= 0x00800000;
16984  useRinsLns_ = value;
16985  onChanged();
16986  return this;
16987  }
16997  bitField3_ = (bitField3_ & ~0x00800000);
16998  useRinsLns_ = true;
16999  onChanged();
17000  return this;
17001  }
17002 
17003  private boolean useRelaxationLns_ ;
17013  public boolean hasUseRelaxationLns() {
17014  return ((bitField3_ & 0x01000000) != 0);
17015  }
17025  public boolean getUseRelaxationLns() {
17026  return useRelaxationLns_;
17027  }
17038  public Builder setUseRelaxationLns(boolean value) {
17039  bitField3_ |= 0x01000000;
17040  useRelaxationLns_ = value;
17041  onChanged();
17042  return this;
17043  }
17054  bitField3_ = (bitField3_ & ~0x01000000);
17055  useRelaxationLns_ = false;
17056  onChanged();
17057  return this;
17058  }
17059 
17060  private boolean diversifyLnsParams_ ;
17069  public boolean hasDiversifyLnsParams() {
17070  return ((bitField3_ & 0x02000000) != 0);
17071  }
17080  public boolean getDiversifyLnsParams() {
17081  return diversifyLnsParams_;
17082  }
17092  public Builder setDiversifyLnsParams(boolean value) {
17093  bitField3_ |= 0x02000000;
17094  diversifyLnsParams_ = value;
17095  onChanged();
17096  return this;
17097  }
17107  bitField3_ = (bitField3_ & ~0x02000000);
17108  diversifyLnsParams_ = false;
17109  onChanged();
17110  return this;
17111  }
17112 
17113  private boolean randomizeSearch_ ;
17122  public boolean hasRandomizeSearch() {
17123  return ((bitField3_ & 0x04000000) != 0);
17124  }
17133  public boolean getRandomizeSearch() {
17134  return randomizeSearch_;
17135  }
17145  public Builder setRandomizeSearch(boolean value) {
17146  bitField3_ |= 0x04000000;
17147  randomizeSearch_ = value;
17148  onChanged();
17149  return this;
17150  }
17160  bitField3_ = (bitField3_ & ~0x04000000);
17161  randomizeSearch_ = false;
17162  onChanged();
17163  return this;
17164  }
17165 
17166  private long searchRandomizationTolerance_ ;
17182  return ((bitField3_ & 0x08000000) != 0);
17183  }
17199  return searchRandomizationTolerance_;
17200  }
17217  bitField3_ |= 0x08000000;
17218  searchRandomizationTolerance_ = value;
17219  onChanged();
17220  return this;
17221  }
17237  bitField3_ = (bitField3_ & ~0x08000000);
17238  searchRandomizationTolerance_ = 0L;
17239  onChanged();
17240  return this;
17241  }
17242 
17243  private boolean useOptionalVariables_ = true;
17254  public boolean hasUseOptionalVariables() {
17255  return ((bitField3_ & 0x10000000) != 0);
17256  }
17267  public boolean getUseOptionalVariables() {
17268  return useOptionalVariables_;
17269  }
17281  public Builder setUseOptionalVariables(boolean value) {
17282  bitField3_ |= 0x10000000;
17283  useOptionalVariables_ = value;
17284  onChanged();
17285  return this;
17286  }
17298  bitField3_ = (bitField3_ & ~0x10000000);
17299  useOptionalVariables_ = true;
17300  onChanged();
17301  return this;
17302  }
17303 
17304  private boolean useExactLpReason_ = true;
17316  public boolean hasUseExactLpReason() {
17317  return ((bitField3_ & 0x20000000) != 0);
17318  }
17330  public boolean getUseExactLpReason() {
17331  return useExactLpReason_;
17332  }
17345  public Builder setUseExactLpReason(boolean value) {
17346  bitField3_ |= 0x20000000;
17347  useExactLpReason_ = value;
17348  onChanged();
17349  return this;
17350  }
17363  bitField3_ = (bitField3_ & ~0x20000000);
17364  useExactLpReason_ = true;
17365  onChanged();
17366  return this;
17367  }
17368 
17369  private boolean useBranchingInLp_ ;
17380  public boolean hasUseBranchingInLp() {
17381  return ((bitField3_ & 0x40000000) != 0);
17382  }
17393  public boolean getUseBranchingInLp() {
17394  return useBranchingInLp_;
17395  }
17407  public Builder setUseBranchingInLp(boolean value) {
17408  bitField3_ |= 0x40000000;
17409  useBranchingInLp_ = value;
17410  onChanged();
17411  return this;
17412  }
17424  bitField3_ = (bitField3_ & ~0x40000000);
17425  useBranchingInLp_ = false;
17426  onChanged();
17427  return this;
17428  }
17429 
17430  private boolean useCombinedNoOverlap_ ;
17441  public boolean hasUseCombinedNoOverlap() {
17442  return ((bitField3_ & 0x80000000) != 0);
17443  }
17454  public boolean getUseCombinedNoOverlap() {
17455  return useCombinedNoOverlap_;
17456  }
17468  public Builder setUseCombinedNoOverlap(boolean value) {
17469  bitField3_ |= 0x80000000;
17470  useCombinedNoOverlap_ = value;
17471  onChanged();
17472  return this;
17473  }
17485  bitField3_ = (bitField3_ & ~0x80000000);
17486  useCombinedNoOverlap_ = false;
17487  onChanged();
17488  return this;
17489  }
17490 
17491  private boolean catchSigintSignal_ = true;
17502  public boolean hasCatchSigintSignal() {
17503  return ((bitField4_ & 0x00000001) != 0);
17504  }
17515  public boolean getCatchSigintSignal() {
17516  return catchSigintSignal_;
17517  }
17529  public Builder setCatchSigintSignal(boolean value) {
17530  bitField4_ |= 0x00000001;
17531  catchSigintSignal_ = value;
17532  onChanged();
17533  return this;
17534  }
17546  bitField4_ = (bitField4_ & ~0x00000001);
17547  catchSigintSignal_ = true;
17548  onChanged();
17549  return this;
17550  }
17551 
17552  private boolean useImpliedBounds_ = true;
17563  public boolean hasUseImpliedBounds() {
17564  return ((bitField4_ & 0x00000002) != 0);
17565  }
17576  public boolean getUseImpliedBounds() {
17577  return useImpliedBounds_;
17578  }
17590  public Builder setUseImpliedBounds(boolean value) {
17591  bitField4_ |= 0x00000002;
17592  useImpliedBounds_ = value;
17593  onChanged();
17594  return this;
17595  }
17607  bitField4_ = (bitField4_ & ~0x00000002);
17608  useImpliedBounds_ = true;
17609  onChanged();
17610  return this;
17611  }
17612 
17613  private double mipMaxBound_ = 10000000D;
17624  public boolean hasMipMaxBound() {
17625  return ((bitField4_ & 0x00000004) != 0);
17626  }
17637  public double getMipMaxBound() {
17638  return mipMaxBound_;
17639  }
17651  public Builder setMipMaxBound(double value) {
17652  bitField4_ |= 0x00000004;
17653  mipMaxBound_ = value;
17654  onChanged();
17655  return this;
17656  }
17668  bitField4_ = (bitField4_ & ~0x00000004);
17669  mipMaxBound_ = 10000000D;
17670  onChanged();
17671  return this;
17672  }
17673 
17674  private double mipVarScaling_ = 1D;
17685  public boolean hasMipVarScaling() {
17686  return ((bitField4_ & 0x00000008) != 0);
17687  }
17698  public double getMipVarScaling() {
17699  return mipVarScaling_;
17700  }
17712  public Builder setMipVarScaling(double value) {
17713  bitField4_ |= 0x00000008;
17714  mipVarScaling_ = value;
17715  onChanged();
17716  return this;
17717  }
17729  bitField4_ = (bitField4_ & ~0x00000008);
17730  mipVarScaling_ = 1D;
17731  onChanged();
17732  return this;
17733  }
17734 
17735  private double mipWantedPrecision_ = 1e-06D;
17752  public boolean hasMipWantedPrecision() {
17753  return ((bitField4_ & 0x00000010) != 0);
17754  }
17771  public double getMipWantedPrecision() {
17772  return mipWantedPrecision_;
17773  }
17791  public Builder setMipWantedPrecision(double value) {
17792  bitField4_ |= 0x00000010;
17793  mipWantedPrecision_ = value;
17794  onChanged();
17795  return this;
17796  }
17814  bitField4_ = (bitField4_ & ~0x00000010);
17815  mipWantedPrecision_ = 1e-06D;
17816  onChanged();
17817  return this;
17818  }
17819 
17820  private int mipMaxActivityExponent_ = 53;
17835  public boolean hasMipMaxActivityExponent() {
17836  return ((bitField4_ & 0x00000020) != 0);
17837  }
17853  return mipMaxActivityExponent_;
17854  }
17871  bitField4_ |= 0x00000020;
17872  mipMaxActivityExponent_ = value;
17873  onChanged();
17874  return this;
17875  }
17891  bitField4_ = (bitField4_ & ~0x00000020);
17892  mipMaxActivityExponent_ = 53;
17893  onChanged();
17894  return this;
17895  }
17896 
17897  private double mipCheckPrecision_ = 0.0001D;
17909  public boolean hasMipCheckPrecision() {
17910  return ((bitField4_ & 0x00000040) != 0);
17911  }
17923  public double getMipCheckPrecision() {
17924  return mipCheckPrecision_;
17925  }
17938  public Builder setMipCheckPrecision(double value) {
17939  bitField4_ |= 0x00000040;
17940  mipCheckPrecision_ = value;
17941  onChanged();
17942  return this;
17943  }
17956  bitField4_ = (bitField4_ & ~0x00000040);
17957  mipCheckPrecision_ = 0.0001D;
17958  onChanged();
17959  return this;
17960  }
17961  @java.lang.Override
17963  final com.google.protobuf.UnknownFieldSet unknownFields) {
17964  return super.setUnknownFields(unknownFields);
17965  }
17966 
17967  @java.lang.Override
17969  final com.google.protobuf.UnknownFieldSet unknownFields) {
17970  return super.mergeUnknownFields(unknownFields);
17971  }
17972 
17973 
17974  // @@protoc_insertion_point(builder_scope:operations_research.sat.SatParameters)
17975  }
17976 
17977  // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
17978  private static final com.google.ortools.sat.SatParameters DEFAULT_INSTANCE;
17979  static {
17980  DEFAULT_INSTANCE = new com.google.ortools.sat.SatParameters();
17981  }
17982 
17984  return DEFAULT_INSTANCE;
17985  }
17986 
17987  @java.lang.Deprecated public static final com.google.protobuf.Parser<SatParameters>
17988  PARSER = new com.google.protobuf.AbstractParser<SatParameters>() {
17989  @java.lang.Override
17990  public SatParameters parsePartialFrom(
17991  com.google.protobuf.CodedInputStream input,
17992  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
17993  throws com.google.protobuf.InvalidProtocolBufferException {
17994  return new SatParameters(input, extensionRegistry);
17995  }
17996  };
17997 
17998  public static com.google.protobuf.Parser<SatParameters> parser() {
17999  return PARSER;
18000  }
18001 
18002  @java.lang.Override
18003  public com.google.protobuf.Parser<SatParameters> getParserForType() {
18004  return PARSER;
18005  }
18006 
18007  @java.lang.Override
18009  return DEFAULT_INSTANCE;
18010  }
18011 
18012 }
18013 
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()
Builder setClauseCleanupOrdering(com.google.ortools.sat.SatParameters.ClauseOrdering value)
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int BLOCKING_RESTART_WINDOW_SIZE_FIELD_NUMBER
boolean getDiversifyLnsParams()
static final int USE_RINS_LNS_FIELD_NUMBER
boolean getUseExactLpReason()
boolean hasMaxPresolveIterations()
static ClauseProtection forNumber(int value)
boolean hasProbingPeriodAtRoot()
Builder setMaxMemoryInMb(long value)
com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
boolean hasClauseCleanupPeriod()
static final int EXPLOIT_ALL_LP_SOLUTION_FIELD_NUMBER
Builder setCutMaxActiveCountValue(double value)
boolean hasSearchRandomizationTolerance()
Builder setUsePhaseSaving(boolean value)
boolean hasMipMaxBound()
NO_BINARY_MINIMIZATION
NO_BINARY_MINIMIZATION = 0;
Builder clearExpandAutomatonConstraints()
static final int ONLY_ADD_CUTS_AT_LEVEL_ZERO_FIELD_NUMBER
Builder clearMinOrthogonalityForLpConstraints()
boolean hasLogSearchProgress()
final int getNumber()
static BinaryMinizationAlgorithm forNumber(int value)
boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder setDiversifyLnsParams(boolean value)
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
Builder clearClauseCleanupTarget()
boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
Builder clearAddCgCuts()
com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int PSEUDO_COST_RELIABILITY_THRESHOLD_FIELD_NUMBER
Builder clearCutCleanupTarget()
boolean hasMinimizeWithPropagationRestartPeriod()
Builder addRestartAlgorithms(com.google.ortools.sat.SatParameters.RestartAlgorithm value)
boolean hasAlsoBumpVariablesInConflictReasons()
boolean getInstantiateAllVariables()
int getPresolveBveClauseWeight()
boolean getOnlyAddCutsAtLevelZero()
Builder setPseudoCostReliabilityThreshold(long value)
static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER
boolean hasOptimizeWithMaxHs()
boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
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
boolean getMinimizeReductionDuringPbResolution()
int getMinimizeWithPropagationRestartPeriod()
boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
boolean hasUseRelaxationLns()
boolean hasAddLpConstraintsLazily()
Builder setNumSearchWorkers(int value)
double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
Builder clearUseRinsLns()
static final int FIND_MULTIPLE_CORES_FIELD_NUMBER
static final int CLAUSE_CLEANUP_PROTECTION_FIELD_NUMBER
boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
IN_REVERSE_ORDER
IN_REVERSE_ORDER = 1;
Builder clearVariableActivityDecay()
boolean hasPresolveSubstitutionLevel()
boolean hasAddLpConstraintsLazily()
Builder setAlsoBumpVariablesInConflictReasons(boolean value)
boolean getTreatBinaryClausesSeparately()
boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
boolean hasClauseCleanupTarget()
boolean getMinimizeReductionDuringPbResolution()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
static final int RANDOM_SEED_FIELD_NUMBER
POLARITY_TRUE
POLARITY_TRUE = 0;
boolean hasCatchSigintSignal()
boolean hasProbingPeriodAtRoot()
static com.google.protobuf.Internal.EnumLiteMap< BinaryMinizationAlgorithm > internalGetValueMap()
boolean getInstantiateAllVariables()
boolean hasFillTightenedDomainsInResponse()
Builder clearUseLnsOnly()
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)
boolean getAddKnapsackCuts()
boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
boolean hasOptimizeWithCore()
static final int CP_MODEL_PRESOLVE_FIELD_NUMBER
boolean hasMipVarScaling()
PSEUDO_COST_SEARCH
static VariableOrder forNumber(int value)
Builder setExpandTableConstraints(boolean value)
boolean hasRestartRunningWindowSize()
Builder clearReduceMemoryUsageInInterleaveMode()
Builder setAddLpConstraintsLazily(boolean value)
Builder setMinimizeWithPropagationRestartPeriod(int value)
Builder clearShareObjectiveBounds()
boolean hasUsePhaseSaving()
boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
boolean getMinimizeCore()
boolean hasMinOrthogonalityForLpConstraints()
double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
Builder clearMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
SIMPLE
SIMPLE = 1;
Builder setBooleanEncodingLevel(int value)
boolean hasMaxTimeInSeconds()
double getMipVarScaling()
Builder setPresolveBvaThreshold(int value)
double getRandomPolarityRatio()
boolean getAddCgCuts()
final int getNumber()
boolean getAlsoBumpVariablesInConflictReasons()
static final int CP_MODEL_PROBING_LEVEL_FIELD_NUMBER
boolean hasLinearizationLevel()
Builder clearClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
static final int ADD_LP_CONSTRAINTS_LAZILY_FIELD_NUMBER
int getMinimizeWithPropagationRestartPeriod()
static final int COVER_OPTIMIZATION_FIELD_NUMBER
boolean hasMipCheckPrecision()
final int getNumber()
Builder setCutCleanupTarget(int value)
Builder setMaxIntegerRoundingScaling(int value)
boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
boolean hasUseOverloadCheckerInCumulativeConstraint()
boolean getDiversifyLnsParams()
Builder clearRestartRunningWindowSize()
static final int SUBSUMPTION_DURING_CONFLICT_ANALYSIS_FIELD_NUMBER
boolean hasRandomBranchesRatio()
static final int MIP_CHECK_PRECISION_FIELD_NUMBER
boolean getUseCombinedNoOverlap()
Builder setAddKnapsackCuts(boolean value)
int getPresolveSubstitutionLevel()
boolean hasEnumerateAllSolutions()
static final int RANDOMIZE_SEARCH_FIELD_NUMBER
EXPERIMENTAL_BINARY_MINIMIZATION
EXPERIMENTAL_BINARY_MINIMIZATION = 3;
boolean hasCpModelProbingLevel()
int getPresolveSubstitutionLevel()
boolean getInterleaveSearch()
boolean hasUsePbResolution()
POLARITY_RANDOM
POLARITY_RANDOM = 2;
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
Builder setCpModelMaxNumPresolveOperations(int value)
STRATIFICATION_ASCENT
final int getNumber()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
boolean hasFindMultipleCores()
Builder clearRestartPeriod()
Builder setExploitAllLpSolution(boolean value)
Builder setMaxSatReverseAssumptionOrder(boolean value)
Builder setCpModelUseSatPresolve(boolean value)
long getProbingPeriodAtRoot()
final int getNumber()
boolean getShareObjectiveBounds()
boolean getRandomizeSearch()
Builder clearRestartAlgorithms()
Builder setMipMaxActivityExponent(int value)
double getMipMaxBound()
com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
boolean hasMaxDeterministicTime()
Builder clearBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
Builder setMaxCutRoundsAtLevelZero(int value)
Builder clearNewConstraintsBatchSize()
boolean getUseLnsOnly()
boolean hasBinarySearchNumConflicts()
.lang.Override Builder clear()
static final int CLAUSE_CLEANUP_PERIOD_FIELD_NUMBER
boolean hasMaxNumberOfConflicts()
Builder clearLogSearchProgress()
boolean getOptimizeWithMaxHs()
Builder setAutoDetectGreaterThanAtLeastOneOf(boolean value)
boolean hasExploitIntegerLpSolution()
boolean hasCpModelMaxNumPresolveOperations()
java.lang.String getDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
boolean getUseExactLpReason()
boolean hasVariableActivityDecay()
boolean hasMaxCutRoundsAtLevelZero()
boolean hasExploitAllLpSolution()
Builder clearDiversifyLnsParams()
boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
boolean hasAddMirCuts()
boolean hasPresolveProbingDeterministicTimeLimit()
boolean hasClauseCleanupLbdBound()
boolean hasMaxConsecutiveInactiveCount()
boolean getMinimizeCore()
boolean getUsePhaseSaving()
boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
boolean hasUseExactLpReason()
double getGlucoseMaxDecay()
double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
boolean getStopAfterPresolve()
Builder clearMinimizeWithPropagationRestartPeriod()
Builder clearMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder setSearchRandomizationTolerance(long value)
boolean hasUsePrecedencesInDisjunctiveConstraint()
static final int INTERLEAVE_SEARCH_FIELD_NUMBER
boolean getSubsumptionDuringConflictAnalysis()
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];
boolean hasAddKnapsackCuts()
static final int RESTART_ALGORITHMS_FIELD_NUMBER
boolean getCountAssumptionLevelsInLbd()
com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
static final int RANDOM_POLARITY_RATIO_FIELD_NUMBER
static final int PRESOLVE_BLOCKED_CLAUSE_FIELD_NUMBER
int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
boolean hasUseOptimizationHints()
Builder setReduceMemoryUsageInInterleaveMode(boolean value)
boolean getFillTightenedDomainsInResponse()
.lang.Deprecated static ClauseOrdering valueOf(int value)
static final int CLAUSE_ACTIVITY_DECAY_FIELD_NUMBER
Builder setOptimizeWithCore(boolean value)
boolean hasPresolveBlockedClause()
boolean hasUseExactLpReason()
Builder setUseImpliedBounds(boolean value)
static final int MAX_SAT_REVERSE_ASSUMPTION_ORDER_FIELD_NUMBER
boolean getShareLevelZeroBounds()
Builder setMaxConsecutiveInactiveCount(int value)
boolean getCountAssumptionLevelsInLbd()
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
boolean hasTreatBinaryClausesSeparately()
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder clearPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
boolean hasPresolveBlockedClause()
int getPresolveBveThreshold()
boolean hasMinOrthogonalityForLpConstraints()
static final int USE_COMBINED_NO_OVERLAP_FIELD_NUMBER
double getMipCheckPrecision()
int getClauseCleanupTarget()
boolean hasInstantiateAllVariables()
boolean getUsePrecedencesInDisjunctiveConstraint()
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
Builder clearUseOverloadCheckerInCumulativeConstraint()
static final int PRESOLVE_BVE_CLAUSE_WEIGHT_FIELD_NUMBER
static MaxSatAssumptionOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
boolean hasUseBlockingRestart()
.lang.Deprecated static BinaryMinizationAlgorithm valueOf(int value)
com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
Builder setStopAfterFirstSolution(boolean value)
boolean getUseTimetableEdgeFindingInCumulativeConstraint()
CLAUSE_ACTIVITY
ORDER_ASSUMPTION_BY_WEIGHT
ORDER_ASSUMPTION_BY_WEIGHT = 2;
Builder clearMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
int getCpModelMaxNumPresolveOperations()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
int getPresolveBveClauseWeight()
boolean hasStopAfterFirstSolution()
boolean hasMaxTimeInSeconds()
boolean hasUseOptionalVariables()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
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
boolean hasPresolveBvaThreshold()
static final int PRESOLVE_BVA_THRESHOLD_FIELD_NUMBER
boolean getAddLinMaxCuts()
boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
boolean hasInterleaveSearch()
static final int MIP_MAX_ACTIVITY_EXPONENT_FIELD_NUMBER
static MaxSatAssumptionOrder forNumber(int value)
Builder setPbCleanupIncrement(int value)
static final int MINIMIZE_WITH_PROPAGATION_NUM_DECISIONS_FIELD_NUMBER
boolean getStopAfterFirstSolution()
com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
boolean getAddLpConstraintsLazily()
boolean hasUseCombinedNoOverlap()
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
boolean hasShareLevelZeroBounds()
boolean hasMipWantedPrecision()
boolean hasMaxMemoryInMb()
static final int USE_DISJUNCTIVE_CONSTRAINT_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
final int getNumber()
boolean getUseOptimizationHints()
static final int MAX_CLAUSE_ACTIVITY_VALUE_FIELD_NUMBER
boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder clearCoverOptimization()
static final int OPTIMIZE_WITH_CORE_FIELD_NUMBER
boolean hasNumConflictsBeforeStrategyChanges()
boolean hasCpModelProbingLevel()
Builder clearBinarySearchNumConflicts()
Builder setMaxNumCuts(int value)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
static final int CUT_ACTIVE_COUNT_DECAY_FIELD_NUMBER
boolean hasDiversifyLnsParams()
static RestartAlgorithm forNumber(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder clearCutMaxActiveCountValue()
boolean hasGlucoseMaxDecay()
boolean getLogSearchProgress()
Builder setFindMultipleCores(boolean value)
com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm getBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
boolean hasClauseCleanupLbdBound()
boolean getExpandElementConstraints()
static final int RANDOM_BRANCHES_RATIO_FIELD_NUMBER
boolean hasUsePrecedencesInDisjunctiveConstraint()
int getMaxAllDiffCutSize()
Builder setGlucoseDecayIncrement(double value)
optional double glucose_decay_increment = 23 [default = 0.01];
.lang.Deprecated static ClauseProtection valueOf(int value)
int getLinearizationLevel()
Builder setRestartDlAverageRatio(double value)
.lang.Override int hashCode()
boolean hasRestartRunningWindowSize()
Builder clearExploitAllLpSolution()
boolean getTreatBinaryClausesSeparately()
Builder clearInitialVariablesActivity()
com.google.ortools.sat.SatParameters.SearchBranching getSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
boolean getUseLnsOnly()
int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
int getClauseCleanupTarget()
static final int VARIABLE_ACTIVITY_DECAY_FIELD_NUMBER
Builder setMaxDeterministicTime(double value)
final int getNumber()
boolean getCpModelPresolve()
int getMaxCutRoundsAtLevelZero()
Builder clearOnlyAddCutsAtLevelZero()
int getClauseCleanupPeriod()
int getClauseCleanupPeriod()
Builder setExpandAutomatonConstraints(boolean value)
boolean getExpandElementConstraints()
boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
int getGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
boolean hasMaxNumberOfConflicts()
static final int MERGE_NO_OVERLAP_WORK_LIMIT_FIELD_NUMBER
AUTOMATIC_SEARCH
boolean hasMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
boolean getStopAfterFirstSolution()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
boolean hasMaxMemoryInMb()
boolean hasUseOverloadCheckerInCumulativeConstraint()
boolean getUseOptionalVariables()
Builder setMaxVariableActivityValue(double value)
optional double max_variable_activity_value = 16 [default = 1e+100];
boolean getUseBlockingRestart()
boolean getUseRinsLns()
boolean getUseRelaxationLns()
Builder clearUseTimetableEdgeFindingInCumulativeConstraint()
boolean hasAddCgCuts()
Builder clearMaxAllDiffCutSize()
double getInitialVariablesActivity()
IN_RANDOM_ORDER
IN_RANDOM_ORDER = 2;
Builder clearExploitIntegerLpSolution()
boolean hasAddLinMaxCuts()
Builder clearLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
boolean hasUsePbResolution()
int getMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
int getCutCleanupTarget()
boolean getUseOptimizationHints()
boolean hasMaxCutRoundsAtLevelZero()
BINARY_MINIMIZATION_WITH_REACHABILITY
BINARY_MINIMIZATION_WITH_REACHABILITY = 2;
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input)
boolean getUseRinsLns()
.lang.Override Builder clone()
static Builder newBuilder()
boolean hasAutoDetectGreaterThanAtLeastOneOf()
LBD_MOVING_AVERAGE_RESTART
.lang.Override Builder toBuilder()
Builder clearMipCheckPrecision()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
boolean getUseImpliedBounds()
int getPbCleanupIncrement()
boolean hasUseOptimizationHints()
boolean getCpModelUseSatPresolve()
boolean getUseErwaHeuristic()
boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
boolean hasVariableActivityDecay()
double getMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
int getPresolveBvaThreshold()
Builder setCountAssumptionLevelsInLbd(boolean value)
boolean hasPresolveProbingDeterministicTimeLimit()
boolean hasExploitBestSolution()
double getPresolveProbingDeterministicTimeLimit()
int getMipMaxActivityExponent()
boolean hasAutoDetectGreaterThanAtLeastOneOf()
Builder setNumConflictsBeforeStrategyChanges(int value)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
com.google.ortools.sat.SatParameters.ClauseProtection getClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
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()
boolean getStopAfterPresolve()
Builder setOptimizeWithMaxHs(boolean value)
static ConflictMinimizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
boolean hasEnumerateAllSolutions()
boolean hasMergeNoOverlapWorkLimit()
Builder clearRandomSeed()
boolean getFillTightenedDomainsInResponse()
boolean getUseBranchingInLp()
boolean getOptimizeWithMaxHs()
boolean hasExploitIntegerLpSolution()
static final int MAX_CUT_ROUNDS_AT_LEVEL_ZERO_FIELD_NUMBER
boolean hasCutMaxActiveCountValue()
Builder setMipCheckPrecision(double value)
Builder setMinimizeCore(boolean value)
Builder clearUseDisjunctiveConstraintInCumulativeConstraint()
Builder setStopAfterPresolve(boolean value)
Builder setUseLnsOnly(boolean value)
boolean hasRandomBranchesRatio()
Builder clearUseCombinedNoOverlap()
Builder addAllRestartAlgorithms(java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm > values)
boolean hasPresolveUseBva()
boolean hasInstantiateAllVariables()
static final int CATCH_SIGINT_SIGNAL_FIELD_NUMBER
boolean getOptimizeWithCore()
double getMaxTimeInSeconds()
com.google.protobuf.ByteString getDefaultRestartAlgorithmsBytes()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
boolean getLogSearchProgress()
.lang.Override com.google.ortools.sat.SatParameters buildPartial()
boolean getExpandAutomatonConstraints()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Parser< SatParameters > parser()
static ConflictMinimizationAlgorithm forNumber(int value)
.lang.Override final boolean isInitialized()
boolean hasPresolveSubstitutionLevel()
Builder setUseBranchingInLp(boolean value)
int getClauseCleanupLbdBound()
boolean hasPseudoCostReliabilityThreshold()
boolean getUseCombinedNoOverlap()
boolean hasCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
Builder setStrategyChangeIncreaseRatio(double value)
boolean getEnumerateAllSolutions()
boolean hasExploitObjective()
static final int ADD_LIN_MAX_CUTS_FIELD_NUMBER
Builder clearMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
double getMergeNoOverlapWorkLimit()
boolean hasPresolveUseBva()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
boolean hasUseRinsLns()
FIXED_RESTART
Builder clearStrategyChangeIncreaseRatio()
boolean hasOnlyAddCutsAtLevelZero()
Builder clearMaxNumCuts()
CLAUSE_LBD
boolean getUseBranchingInLp()
double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
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...
boolean getPresolveUseBva()
Builder clearMaxIntegerRoundingScaling()
boolean hasRestartDlAverageRatio()
boolean hasMaxIntegerRoundingScaling()
Builder setRestartAlgorithms(int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value)
Builder setInstantiateAllVariables(boolean value)
boolean hasStopAfterFirstSolution()
boolean getPresolveUseBva()
static final int EXPAND_TABLE_CONSTRAINTS_FIELD_NUMBER
static final int PRESOLVE_USE_BVA_FIELD_NUMBER
double getMipWantedPrecision()
boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
boolean hasNewConstraintsBatchSize()
boolean hasMinimizeWithPropagationRestartPeriod()
Builder clearSearchRandomizationTolerance()
Builder setPresolveBlockedClause(boolean value)
Builder clearMaxTimeInSeconds()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< ClauseOrdering > internalGetValueMap()
double getBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
Builder setMaxPresolveIterations(int value)
Builder setEnumerateAllSolutions(boolean value)
boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
boolean getOnlyAddCutsAtLevelZero()
Builder clearPseudoCostReliabilityThreshold()
boolean hasMinimizeReductionDuringPbResolution()
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
boolean hasExpandAutomatonConstraints()
boolean hasUseBranchingInLp()
Builder clearExpandElementConstraints()
static final int BINARY_SEARCH_NUM_CONFLICTS_FIELD_NUMBER
boolean hasCpModelPresolve()
boolean getUseImpliedBounds()
.lang.Deprecated static MaxSatStratificationAlgorithm valueOf(int value)
double getRestartDlAverageRatio()
Builder clearCpModelProbingLevel()
double getRandomBranchesRatio()
boolean hasUseErwaHeuristic()
int getMaxCutRoundsAtLevelZero()
static final int INTERLEAVE_BATCH_SIZE_FIELD_NUMBER
boolean hasMipMaxActivityExponent()
boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
int getCpModelProbingLevel()
double getMaxTimeInSeconds()
double getMinOrthogonalityForLpConstraints()
boolean hasMaxSatReverseAssumptionOrder()
boolean hasClauseActivityDecay()
boolean hasUseImpliedBounds()
static final int LNS_FOCUS_ON_DECISION_VARIABLES_FIELD_NUMBER
boolean hasStopAfterPresolve()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setMaxNumberOfConflicts(long value)
double getRandomBranchesRatio()
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
boolean getMaxSatReverseAssumptionOrder()
Builder setDefaultRestartAlgorithms(java.lang.String value)
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
boolean hasDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
Builder clearAddLpConstraintsLazily()
double getRestartDlAverageRatio()
Builder clearDefaultRestartAlgorithms()
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
boolean hasUseOptionalVariables()
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
boolean hasNumSearchWorkers()
boolean hasSubsumptionDuringConflictAnalysis()
boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
boolean hasUseErwaHeuristic()
Builder setUseTimetableEdgeFindingInCumulativeConstraint(boolean value)
boolean hasUseTimetableEdgeFindingInCumulativeConstraint()
boolean hasInitialVariablesActivity()
boolean hasRestartPeriod()
long getPseudoCostReliabilityThreshold()
boolean hasBinaryMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
Builder setUsePbResolution(boolean value)
boolean hasMipWantedPrecision()
boolean hasMaxAllDiffCutSize()
Builder clearNumSearchWorkers()
Builder setGlucoseDecayIncrementPeriod(int value)
optional int32 glucose_decay_increment_period = 24 [default = 5000];
Builder clearUsePrecedencesInDisjunctiveConstraint()
static VariableOrder valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
boolean getFindMultipleCores()
boolean getExploitBestSolution()
Builder setClauseCleanupPeriod(int value)
static final int STOP_AFTER_FIRST_SOLUTION_FIELD_NUMBER
double getCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
boolean hasStrategyChangeIncreaseRatio()
Builder setTreatBinaryClausesSeparately(boolean value)
Builder clearFindMultipleCores()
boolean hasUseImpliedBounds()
boolean hasMipVarScaling()
static final int MIP_WANTED_PRECISION_FIELD_NUMBER
boolean getUseOverloadCheckerInCumulativeConstraint()
POLARITY_REVERSE_WEIGHTED_SIGN
boolean hasBooleanEncodingLevel()
IN_ORDER
static final int STOP_AFTER_PRESOLVE_FIELD_NUMBER
static final int MIP_MAX_BOUND_FIELD_NUMBER
double getCutMaxActiveCountValue()
boolean getFindMultipleCores()
boolean hasExpandElementConstraints()
com.google.ortools.sat.SatParameters.ClauseOrdering getClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
boolean hasCatchSigintSignal()
boolean getShareLevelZeroBounds()
int getLinearizationLevel()
Builder setPbCleanupRatio(double value)
optional double pb_cleanup_ratio = 47 [default = 0.5];
boolean hasClauseCleanupTarget()
static final int ADD_KNAPSACK_CUTS_FIELD_NUMBER
boolean hasAlsoBumpVariablesInConflictReasons()
com.google.ortools.sat.SatParameters.RestartAlgorithm getRestartAlgorithms(int index)
Builder clearMipWantedPrecision()
Builder setInitialVariablesActivity(double value)
Builder clearBooleanEncodingLevel()
boolean hasShareLevelZeroBounds()
Builder clearSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
double getMinOrthogonalityForLpConstraints()
int getRandomSeed()
static ClauseProtection valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
boolean hasUseBranchingInLp()
DEFAULT_ASSUMPTION_ORDER
DEFAULT_ASSUMPTION_ORDER = 0;
boolean getAddLpConstraintsLazily()
Builder setUseDisjunctiveConstraintInCumulativeConstraint(boolean value)
boolean hasRandomPolarityRatio()
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
static final int FILL_TIGHTENED_DOMAINS_IN_RESPONSE_FIELD_NUMBER
int getCpModelProbingLevel()
Builder setBlockingRestartMultiplier(double value)
optional double blocking_restart_multiplier = 66 [default = 1.4];
com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
static ClauseOrdering forNumber(int value)
Builder setSubsumptionDuringConflictAnalysis(boolean value)
long getSearchRandomizationTolerance()
static final int MAX_INTEGER_ROUNDING_SCALING_FIELD_NUMBER
Builder setPreferredVariableOrder(com.google.ortools.sat.SatParameters.VariableOrder value)
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
boolean hasNumConflictsBeforeStrategyChanges()
static final int RESTART_DL_AVERAGE_RATIO_FIELD_NUMBER
boolean hasCpModelUseSatPresolve()
static final int USE_PRECEDENCES_IN_DISJUNCTIVE_CONSTRAINT_FIELD_NUMBER
static MaxSatStratificationAlgorithm forNumber(int value)
boolean hasPbCleanupIncrement()
boolean hasCpModelMaxNumPresolveOperations()
Builder clearStopAfterPresolve()
boolean hasOptimizeWithMaxHs()
boolean hasReduceMemoryUsageInInterleaveMode()
static final int BOOLEAN_ENCODING_LEVEL_FIELD_NUMBER
static final int DIVERSIFY_LNS_PARAMS_FIELD_NUMBER
Builder setRestartLbdAverageRatio(double value)
optional double restart_lbd_average_ratio = 71 [default = 1];
boolean hasInterleaveSearch()
Builder setCoverOptimization(boolean value)
Builder setExpandElementConstraints(boolean value)
Builder clearUseBlockingRestart()
double getVariableActivityDecay()
static final int MAX_SAT_ASSUMPTION_ORDER_FIELD_NUMBER
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
boolean getCatchSigintSignal()
com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
POLARITY_WEIGHTED_SIGN
Builder setPresolveProbingDeterministicTimeLimit(double value)
static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER
Builder clearOptimizeWithMaxHs()
Builder clearEnumerateAllSolutions()
boolean hasLogSearchProgress()
double getPresolveProbingDeterministicTimeLimit()
Builder setProbingPeriodAtRoot(long value)
static com.google.protobuf.Internal.EnumLiteMap< ConflictMinimizationAlgorithm > internalGetValueMap()
boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
boolean getEnumerateAllSolutions()
double getRandomPolarityRatio()
int getNumSearchWorkers()
double getMipVarScaling()
Builder clearBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
boolean getExpandAutomatonConstraints()
Builder clearMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
boolean hasMipMaxBound()
com.google.ortools.sat.SatParameters.Polarity getInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
boolean hasTreatBinaryClausesSeparately()
Builder clearGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static final int TREAT_BINARY_CLAUSES_SEPARATELY_FIELD_NUMBER
static final int CUT_CLEANUP_TARGET_FIELD_NUMBER
Builder setUseExactLpReason(boolean value)
int getNumConflictsBeforeStrategyChanges()
static final int MAX_NUM_CUTS_FIELD_NUMBER
static final int RESTART_LBD_AVERAGE_RATIO_FIELD_NUMBER
Builder setShareLevelZeroBounds(boolean value)
boolean hasExpandTableConstraints()
double getVariableActivityDecay()
int getMaxPresolveIterations()
Builder clearPresolveProbingDeterministicTimeLimit()
static RestartAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
boolean getSubsumptionDuringConflictAnalysis()
Builder setPresolveBveThreshold(int value)
static final int CLAUSE_CLEANUP_LBD_BOUND_FIELD_NUMBER
boolean hasExpandTableConstraints()
int getNumSearchWorkers()
double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
double getMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
static final int USE_LNS_ONLY_FIELD_NUMBER
Builder setHintConflictLimit(int value)
Builder setRestartRunningWindowSize(int value)
boolean hasUseLnsOnly()
Builder setMinimizeWithPropagationNumDecisions(int value)
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
boolean getUseErwaHeuristic()
boolean getExploitIntegerLpSolution()
Builder setInterleaveBatchSize(int value)
optional int32 interleave_batch_size = 134 [default = 1];
int getPresolveBveThreshold()
static final int MAX_CONSECUTIVE_INACTIVE_COUNT_FIELD_NUMBER
static final int RESTART_RUNNING_WINDOW_SIZE_FIELD_NUMBER
.lang.Deprecated static SearchBranching valueOf(int value)
boolean getCoverOptimization()
final int getNumber()
Builder setMaxTimeInSeconds(double value)
Builder setRandomizeSearch(boolean value)
Builder clearNumConflictsBeforeStrategyChanges()
boolean hasAddLinMaxCuts()
Builder clearRandomPolarityRatio()
.lang.Deprecated static VariableOrder valueOf(int value)
boolean getExploitObjective()
static final int CUT_MAX_ACTIVE_COUNT_VALUE_FIELD_NUMBER
static final int GLUCOSE_MAX_DECAY_FIELD_NUMBER
Builder setLinearizationLevel(int value)
boolean hasMaxNumCuts()
boolean hasUseDisjunctiveConstraintInCumulativeConstraint()
int getNewConstraintsBatchSize()
com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
Builder setUseOptimizationHints(boolean value)
Builder clearRandomizeSearch()
Builder setExploitIntegerLpSolution(boolean value)
boolean hasMaxSatReverseAssumptionOrder()
boolean hasMipCheckPrecision()
boolean getUseBlockingRestart()
static final int MIN_ORTHOGONALITY_FOR_LP_CONSTRAINTS_FIELD_NUMBER
int getRandomSeed()
boolean hasMinimizeReductionDuringPbResolution()
Builder setAddCgCuts(boolean value)
boolean hasBooleanEncodingLevel()
Builder clearUseOptionalVariables()
int getBooleanEncodingLevel()
boolean hasAddMirCuts()
int getRestartPeriod()
boolean getUseDisjunctiveConstraintInCumulativeConstraint()
boolean hasHintConflictLimit()
Builder setMinOrthogonalityForLpConstraints(double value)
boolean getExploitBestSolution()
long getMaxMemoryInMb()
boolean getUseTimetableEdgeFindingInCumulativeConstraint()
boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
int getPbCleanupIncrement()
static com.google.protobuf.Internal.EnumLiteMap< RestartAlgorithm > internalGetValueMap()
long getProbingPeriodAtRoot()
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
Builder clearAddKnapsackCuts()
boolean getUseDisjunctiveConstraintInCumulativeConstraint()
Builder setBlockingRestartWindowSize(int value)
optional int32 blocking_restart_window_size = 65 [default = 5000];
boolean hasFillTightenedDomainsInResponse()
boolean getExpandTableConstraints()
boolean hasPresolveBveThreshold()
boolean hasDiversifyLnsParams()
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
boolean hasRestartPeriod()
Builder setInitialPolarity(com.google.ortools.sat.SatParameters.Polarity value)
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
boolean getUsePrecedencesInDisjunctiveConstraint()
boolean hasShareObjectiveBounds()
boolean hasBlockingRestartMultiplier()
optional double blocking_restart_multiplier = 66 [default = 1.4];
int getCutCleanupTarget()
Builder setShareObjectiveBounds(boolean value)
boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
boolean hasCountAssumptionLevelsInLbd()
int getMaxNumCuts()
Builder clearUsePhaseSaving()
static final int PROBING_PERIOD_AT_ROOT_FIELD_NUMBER
static final int EXPLOIT_OBJECTIVE_FIELD_NUMBER
boolean hasMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
.lang.Override boolean equals(final java.lang.Object obj)
Builder setClauseActivityDecay(double value)
boolean getUsePbResolution()
boolean getUseOptionalVariables()
static BinaryMinizationAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
boolean hasCutCleanupTarget()
boolean hasCutMaxActiveCountValue()
Builder clearExpandTableConstraints()
double getMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm getMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
Builder clearCutActiveCountDecay()
optional double cut_active_count_decay = 156 [default = 0.8];
boolean hasLinearizationLevel()
static final int RESTART_PERIOD_FIELD_NUMBER
Builder clearUsePbResolution()
boolean hasMergeNoOverlapWorkLimit()
Builder setCutActiveCountDecay(double value)
optional double cut_active_count_decay = 156 [default = 0.8];
boolean hasUseLnsOnly()
boolean hasMaxAllDiffCutSize()
static final int GLUCOSE_DECAY_INCREMENT_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data)
int getCpModelMaxNumPresolveOperations()
boolean getReduceMemoryUsageInInterleaveMode()
Builder clearAutoDetectGreaterThanAtLeastOneOf()
static final int PB_CLEANUP_RATIO_FIELD_NUMBER
Builder clearOptimizeWithCore()
boolean hasPresolveBveClauseWeight()
boolean hasRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
Builder clearUseExactLpReason()
static final int CP_MODEL_USE_SAT_PRESOLVE_FIELD_NUMBER
Builder clearMipMaxBound()
static com.google.protobuf.Internal.EnumLiteMap< Polarity > internalGetValueMap()
boolean getExploitAllLpSolution()
boolean hasPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
long getMaxNumberOfConflicts()
final int getNumber()
static final int ENUMERATE_ALL_SOLUTIONS_FIELD_NUMBER
boolean hasRestartDlAverageRatio()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
boolean hasUseRinsLns()
int getBinarySearchNumConflicts()
boolean getExpandTableConstraints()
boolean hasOptimizeWithCore()
Builder setMipWantedPrecision(double value)
double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
boolean hasMaxIntegerRoundingScaling()
Builder setUseOverloadCheckerInCumulativeConstraint(boolean value)
int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
Builder setNewConstraintsBatchSize(int value)
boolean hasExploitObjective()
.lang.Deprecated static final com.google.protobuf.Parser< SatParameters > PARSER
.lang.Override com.google.protobuf.Parser< SatParameters > getParserForType()
double getMipMaxBound()
Builder setAddLinMaxCuts(boolean value)
Builder clearMaxDeterministicTime()
boolean getShareObjectiveBounds()
Builder setRandomBranchesRatio(double value)
static com.google.protobuf.Internal.EnumLiteMap< ClauseProtection > internalGetValueMap()
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
boolean hasMaxClauseActivityValue()
optional double max_clause_activity_value = 18 [default = 1e+20];
boolean hasCountAssumptionLevelsInLbd()
static final int INITIAL_VARIABLES_ACTIVITY_FIELD_NUMBER
boolean hasExploitBestSolution()
boolean getAutoDetectGreaterThanAtLeastOneOf()
boolean hasPresolveBveClauseWeight()
boolean getReduceMemoryUsageInInterleaveMode()
Builder clearHintConflictLimit()
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
static final int USE_PB_RESOLUTION_FIELD_NUMBER
double getMaxDeterministicTime()
boolean hasExpandAutomatonConstraints()
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
PROTECTION_ALWAYS
Builder setMaxAllDiffCutSize(int value)
boolean hasMaxPresolveIterations()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
boolean hasCoverOptimization()
Builder clearPresolveSubstitutionLevel()
Builder clearStopAfterFirstSolution()
int getMaxConsecutiveInactiveCount()
boolean getAddMirCuts()
Builder clearAddMirCuts()
int getRestartAlgorithmsCount()
Builder clearPresolveBvaThreshold()
Builder setCpModelProbingLevel(int value)
static final int PREFERRED_VARIABLE_ORDER_FIELD_NUMBER
boolean getAddLinMaxCuts()
Builder setClauseCleanupTarget(int value)
static final int DEFAULT_RESTART_ALGORITHMS_FIELD_NUMBER
NONE
NONE = 0;
static final int ADD_CG_CUTS_FIELD_NUMBER
boolean hasPresolveBvaThreshold()
Builder clearUseImpliedBounds()
double getGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
static final int STRATEGY_CHANGE_INCREASE_RATIO_FIELD_NUMBER
HINT_SEARCH
static final int SEARCH_BRANCHING_FIELD_NUMBER
Builder clearInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
Builder setLogSearchProgress(boolean value)
int getInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
Builder clearPresolveBveClauseWeight()
Builder setUseErwaHeuristic(boolean value)
boolean hasMinimizeCore()
boolean hasClauseCleanupProtection()
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
Builder clearGlucoseMaxDecay()
int getMaxIntegerRoundingScaling()
int getMaxPresolveIterations()
.lang.Deprecated static ConflictMinimizationAlgorithm valueOf(int value)
Builder clearCpModelMaxNumPresolveOperations()
boolean hasCpModelPresolve()
boolean hasMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
Builder clearMinimizeCore()
.lang.Deprecated static RestartAlgorithm valueOf(int value)
Builder clearRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
boolean hasExploitAllLpSolution()
boolean hasBinarySearchNumConflicts()
static final int NUM_CONFLICTS_BEFORE_STRATEGY_CHANGES_FIELD_NUMBER
Builder clearUseErwaHeuristic()
Builder clearClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
static final int HINT_CONFLICT_LIMIT_FIELD_NUMBER
boolean hasNumSearchWorkers()
static final int EXPLOIT_BEST_SOLUTION_FIELD_NUMBER
boolean getOptimizeWithCore()
Builder clearUseRelaxationLns()
int getMipMaxActivityExponent()
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()
static com.google.protobuf.Internal.EnumLiteMap< MaxSatStratificationAlgorithm > internalGetValueMap()
BINARY_MINIMIZATION_FIRST
BINARY_MINIMIZATION_FIRST = 1;
static final int MINIMIZE_REDUCTION_DURING_PB_RESOLUTION_FIELD_NUMBER
static com.google.protobuf.Internal.EnumLiteMap< MaxSatAssumptionOrder > internalGetValueMap()
boolean getExploitAllLpSolution()
Builder clearInterleaveSearch()
boolean getUsePhaseSaving()
ORDER_ASSUMPTION_BY_DEPTH
ORDER_ASSUMPTION_BY_DEPTH = 1;
Builder clearPresolveBlockedClause()
com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm getMinimizationAlgorithm()
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
Builder setPresolveBveClauseWeight(int value)
static final int PRESOLVE_PROBING_DETERMINISTIC_TIME_LIMIT_FIELD_NUMBER
Builder setUseCombinedNoOverlap(boolean value)
boolean hasClauseCleanupPeriod()
Builder setMinimizationAlgorithm(com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm value)
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
boolean hasSearchRandomizationTolerance()
static final int USE_OPTIONAL_VARIABLES_FIELD_NUMBER
double getMergeNoOverlapWorkLimit()
int getMaxIntegerRoundingScaling()
double getStrategyChangeIncreaseRatio()
STRATIFICATION_DESCENT
double getInitialVariablesActivity()
static final int SHARE_LEVEL_ZERO_BOUNDS_FIELD_NUMBER
final int getNumber()
Builder setMipVarScaling(double value)
Builder setUseRelaxationLns(boolean value)
Builder setBinarySearchNumConflicts(int value)
boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
boolean hasUseCombinedNoOverlap()
static final int MAX_ALL_DIFF_CUT_SIZE_FIELD_NUMBER
boolean hasRandomPolarityRatio()
static final int USE_IMPLIED_BOUNDS_FIELD_NUMBER
static final int PB_CLEANUP_INCREMENT_FIELD_NUMBER
boolean getCoverOptimization()
static final int NEW_CONSTRAINTS_BATCH_SIZE_FIELD_NUMBER
boolean getExploitIntegerLpSolution()
boolean getAddCgCuts()
Builder clearRestartDlAverageRatio()
Builder clearCatchSigintSignal()
java.util.List< com.google.ortools.sat.SatParameters.RestartAlgorithm > getRestartAlgorithmsList()
Builder clearPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
boolean hasCutCleanupTarget()
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION = 4;
boolean hasAddKnapsackCuts()
int getHintConflictLimit()
boolean getUsePbResolution()
int getNumConflictsBeforeStrategyChanges()
int getRestartRunningWindowSize()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Deprecated static Polarity valueOf(int value)
boolean hasStopAfterPresolve()
boolean getAutoDetectGreaterThanAtLeastOneOf()
boolean getCpModelUseSatPresolve()
.lang.Override int getSerializedSize()
Builder clearSubsumptionDuringConflictAnalysis()
Builder clearUseBranchingInLp()
boolean hasPresolveBveThreshold()
Builder setPresolveUseBva(boolean value)
long getPseudoCostReliabilityThreshold()
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
Builder clearCpModelPresolve()
static Builder newBuilder(com.google.ortools.sat.SatParameters prototype)
PORTFOLIO_WITH_QUICK_RESTART_SEARCH
EXPERIMENTAL
EXPERIMENTAL = 3;
boolean getInterleaveSearch()
Builder clearAlsoBumpVariablesInConflictReasons()
boolean hasMinimizeCore()
static final int EXPAND_ELEMENT_CONSTRAINTS_FIELD_NUMBER
DL_MOVING_AVERAGE_RESTART
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder clearMaxConsecutiveInactiveCount()
boolean hasSubsumptionDuringConflictAnalysis()
static final int INSTANTIATE_ALL_VARIABLES_FIELD_NUMBER
boolean hasMaxDeterministicTime()
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()
Builder clearClauseCleanupPeriod()
double getMipWantedPrecision()
Builder clearPresolveBveThreshold()
boolean hasGlucoseMaxDecay()
Builder clearMipMaxActivityExponent()
static SearchBranching forNumber(int value)
int getMaxConsecutiveInactiveCount()
Builder setMergeAtMostOneWorkLimit(double value)
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
static final int USE_RELAXATION_LNS_FIELD_NUMBER
Builder setBinaryMinimizationAlgorithm(com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm value)
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
boolean hasCoverOptimization()
Builder setMaxClauseActivityValue(double value)
optional double max_clause_activity_value = 18 [default = 1e+20];
int getRestartPeriod()
double getClauseActivityDecay()
static ClauseOrdering valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
double getRestartLbdAverageRatio()
optional double restart_lbd_average_ratio = 71 [default = 1];
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static final int USE_EXACT_LP_REASON_FIELD_NUMBER
static final int INITIAL_POLARITY_FIELD_NUMBER
RECURSIVE
RECURSIVE = 2;
Builder clearLinearizationLevel()
Builder setMipMaxBound(double value)
boolean hasClauseActivityDecay()
double getClauseActivityDecay()
static Polarity forNumber(int value)
Builder setRandomPolarityRatio(double value)
boolean hasExpandElementConstraints()
double getPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
STRATIFICATION_NONE
boolean hasGlucoseDecayIncrement()
optional double glucose_decay_increment = 23 [default = 0.01];
Builder clearInstantiateAllVariables()
boolean hasInitialVariablesActivity()
boolean hasUseRelaxationLns()
PROTECTION_NONE
Builder clearShareLevelZeroBounds()
boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
Builder setClauseCleanupLbdBound(int value)
boolean hasUsePhaseSaving()
static final int EXPLOIT_INTEGER_LP_SOLUTION_FIELD_NUMBER
static final int NUM_SEARCH_WORKERS_FIELD_NUMBER
Builder setRestartPeriod(int value)
Builder clearCpModelUseSatPresolve()
int getPresolveBvaThreshold()
static final int USE_OVERLOAD_CHECKER_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
Builder setVariableActivityDecay(double value)
Builder clearAddLinMaxCuts()
Builder setCpModelPresolve(boolean value)
NO_RESTART
NO_RESTART = 0;
boolean hasBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
Builder setRandomSeed(int value)
boolean hasHintConflictLimit()
static final int USE_TIMETABLE_EDGE_FINDING_IN_CUMULATIVE_CONSTRAINT_FIELD_NUMBER
static final int MAX_PRESOLVE_ITERATIONS_FIELD_NUMBER
boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
Builder clearTreatBinaryClausesSeparately()
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
boolean hasShareObjectiveBounds()
Builder setUsePrecedencesInDisjunctiveConstraint(boolean value)
boolean hasInitialPolarity()
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
boolean hasGlucoseDecayIncrementPeriod()
optional int32 glucose_decay_increment_period = 24 [default = 5000];
boolean hasMaxConsecutiveInactiveCount()
static final int USE_PHASE_SAVING_FIELD_NUMBER
boolean hasMaxSatStratification()
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
static final int GLUCOSE_DECAY_INCREMENT_PERIOD_FIELD_NUMBER
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
boolean hasMaxNumCuts()
Builder clearPbCleanupIncrement()
Builder setExploitBestSolution(boolean value)
Builder clearMergeNoOverlapWorkLimit()
boolean hasReduceMemoryUsageInInterleaveMode()
boolean hasStrategyChangeIncreaseRatio()
FIXED_SEARCH
static final int MINIMIZE_WITH_PROPAGATION_RESTART_PERIOD_FIELD_NUMBER
int getHintConflictLimit()
static Polarity valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
boolean hasMergeAtMostOneWorkLimit()
optional double merge_at_most_one_work_limit = 146 [default = 100000000];
static final int USE_OPTIMIZATION_HINTS_FIELD_NUMBER
static final int LINEARIZATION_LEVEL_FIELD_NUMBER
static SearchBranching valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.ortools.sat.SatParameters getDefaultInstance()
double getCutMaxActiveCountValue()
boolean getUseRelaxationLns()
boolean hasFindMultipleCores()
int getMaxNumCuts()
Builder setMinimizeReductionDuringPbResolution(boolean value)
boolean getPresolveBlockedClause()
int getRestartRunningWindowSize()
.lang.Deprecated static MaxSatAssumptionOrder valueOf(int value)
boolean getPresolveBlockedClause()
static final int USE_BLOCKING_RESTART_FIELD_NUMBER
Builder setUseOptionalVariables(boolean value)
boolean hasLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
static final int COUNT_ASSUMPTION_LEVELS_IN_LBD_FIELD_NUMBER
static final int MINIMIZATION_ALGORITHM_FIELD_NUMBER
static com.google.ortools.sat.SatParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
boolean getLnsFocusOnDecisionVariables()
optional bool lns_focus_on_decision_variables = 105 [default = false];
boolean hasUseBlockingRestart()
LUBY_RESTART
double getMaxDeterministicTime()
Builder clearProbingPeriodAtRoot()
double getGlucoseMaxDecay()
.lang.Override Builder newBuilderForType()
com.google.ortools.sat.SatParameters.VariableOrder getPreferredVariableOrder()
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
boolean hasMipMaxActivityExponent()
boolean hasRandomSeed()
Builder clearPresolveUseBva()
boolean hasOnlyAddCutsAtLevelZero()
static com.google.protobuf.Internal.EnumLiteMap< VariableOrder > internalGetValueMap()
double getStrategyChangeIncreaseRatio()
LP_SEARCH
int getBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
boolean getUseOverloadCheckerInCumulativeConstraint()
Builder setCatchSigintSignal(boolean value)
Builder clearExploitBestSolution()
static final int MERGE_AT_MOST_ONE_WORK_LIMIT_FIELD_NUMBER
static final int CLAUSE_CLEANUP_ORDERING_FIELD_NUMBER
Builder setExploitObjective(boolean value)
static final int MAX_MEMORY_IN_MB_FIELD_NUMBER
int getMaxAllDiffCutSize()
boolean hasAddCgCuts()
boolean hasNewConstraintsBatchSize()
boolean getRandomizeSearch()
.lang.Override com.google.ortools.sat.SatParameters getDefaultInstanceForType()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
Builder clearBlockingRestartWindowSize()
optional int32 blocking_restart_window_size = 65 [default = 5000];
static com.google.ortools.sat.SatParameters parseFrom(java.io.InputStream input)
Builder clearMinimizeReductionDuringPbResolution()
boolean hasMaxVariableActivityValue()
optional double max_variable_activity_value = 16 [default = 1e+100];
boolean hasPbCleanupRatio()
optional double pb_cleanup_ratio = 47 [default = 0.5];
long getMaxMemoryInMb()
static com.google.ortools.sat.SatParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
boolean hasCpModelUseSatPresolve()
boolean getExploitObjective()
int getNewConstraintsBatchSize()
Builder mergeFrom(com.google.ortools.sat.SatParameters other)
static com.google.ortools.sat.SatParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
boolean getAlsoBumpVariablesInConflictReasons()
com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder getMaxSatAssumptionOrder()
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
Builder clearMaxCutRoundsAtLevelZero()
long getSearchRandomizationTolerance()
boolean getAddKnapsackCuts()
long getMaxNumberOfConflicts()
Builder clearMinimizeWithPropagationNumDecisions()
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
boolean hasClauseCleanupOrdering()
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
boolean hasRandomizeSearch()
Builder clearFillTightenedDomainsInResponse()
boolean getCatchSigintSignal()
boolean getCpModelPresolve()
boolean hasInterleaveBatchSize()
optional int32 interleave_batch_size = 134 [default = 1];
Builder clearClauseCleanupLbdBound()
boolean hasPseudoCostReliabilityThreshold()
Builder setFillTightenedDomainsInResponse(boolean value)
Builder setUseBlockingRestart(boolean value)
int getBinarySearchNumConflicts()
int getBooleanEncodingLevel()
double getMipCheckPrecision()
boolean hasSearchBranching()
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
boolean hasPbCleanupIncrement()
Builder clearMaxPresolveIterations()
boolean getAddMirCuts()
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...
boolean hasRandomizeSearch()
static final int USE_ERWA_HEURISTIC_FIELD_NUMBER
Builder clearCountAssumptionLevelsInLbd()
Builder setGlucoseMaxDecay(double value)
Builder clearClauseActivityDecay()
static final int CLAUSE_CLEANUP_TARGET_FIELD_NUMBER
int getClauseCleanupLbdBound()
boolean getMaxSatReverseAssumptionOrder()
boolean hasRandomSeed()
Builder setMaxSatStratification(com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm value)
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...