Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
GlopParameters.java
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// source: ortools/glop/parameters.proto
3
4// Protobuf Java Version: 4.26.1
5package com.google.ortools.glop;
6
14public final class GlopParameters extends
15 com.google.protobuf.GeneratedMessage implements
16 // @@protoc_insertion_point(message_implements:operations_research.glop.GlopParameters)
18private static final long serialVersionUID = 0L;
19 static {
20 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
21 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
22 /* major= */ 4,
23 /* minor= */ 26,
24 /* patch= */ 1,
25 /* suffix= */ "",
26 GlopParameters.class.getName());
27 }
28 // Use GlopParameters.newBuilder() to construct.
29 private GlopParameters(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
30 super(builder);
31 }
32 private GlopParameters() {
33 scalingMethod_ = 1;
34 feasibilityRule_ = 1;
35 optimizationRule_ = 1;
36 refactorizationThreshold_ = 1e-09D;
37 recomputeReducedCostsThreshold_ = 1e-08D;
38 recomputeEdgesNormThreshold_ = 100D;
39 primalFeasibilityTolerance_ = 1e-08D;
40 dualFeasibilityTolerance_ = 1e-08D;
41 ratioTestZeroThreshold_ = 1e-09D;
42 harrisToleranceRatio_ = 0.5D;
43 smallPivotThreshold_ = 1e-06D;
44 minimumAcceptablePivot_ = 1e-06D;
45 dropTolerance_ = 1e-14D;
46 useScaling_ = true;
47 costScaling_ = 1;
48 initialBasis_ = 2;
49 useTransposedMatrix_ = true;
50 basisRefactorizationPeriod_ = 64;
51 dynamicallyAdjustRefactorizationPeriod_ = true;
52 solveDualProblem_ = 2;
53 dualizerThreshold_ = 1.5D;
54 solutionFeasibilityTolerance_ = 1e-06D;
55 provideStrongOptimalGuarantee_ = true;
56 changeStatusToImprecise_ = true;
57 maxNumberOfReoptimizations_ = 40D;
58 luFactorizationPivotThreshold_ = 0.01D;
59 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
60 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
61 maxNumberOfIterations_ = -1L;
62 markowitzZlatevParameter_ = 3;
63 markowitzSingularityThreshold_ = 1e-15D;
64 devexWeightsResetPeriod_ = 150;
65 usePreprocessing_ = true;
66 useMiddleProductFormUpdate_ = true;
67 initializeDevexWithColumnNorms_ = true;
68 exploitSingletonColumnInInitialBasis_ = true;
69 dualSmallPivotThreshold_ = 0.0001D;
70 preprocessorZeroTolerance_ = 1e-09D;
71 objectiveLowerLimit_ = Double.NEGATIVE_INFINITY;
72 objectiveUpperLimit_ = Double.POSITIVE_INFINITY;
73 degenerateMinistepFactor_ = 0.01D;
74 randomSeed_ = 1;
75 numOmpThreads_ = 1;
76 useDedicatedDualFeasibilityAlgorithm_ = true;
77 relativeCostPerturbation_ = 1e-05D;
78 relativeMaxCostPerturbation_ = 1e-07D;
79 initialConditionNumberThreshold_ = 1e+50D;
80 logToStdout_ = true;
81 crossoverBoundSnappingDistance_ = Double.POSITIVE_INFINITY;
82 pushToVertex_ = true;
83 useImpliedFreePreprocessor_ = true;
84 maxValidMagnitude_ = 1e+30D;
85 dropMagnitude_ = 1e-30D;
86 }
87
88 public static final com.google.protobuf.Descriptors.Descriptor
90 return com.google.ortools.glop.Parameters.internal_static_operations_research_glop_GlopParameters_descriptor;
91 }
92
93 @java.lang.Override
94 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
96 return com.google.ortools.glop.Parameters.internal_static_operations_research_glop_GlopParameters_fieldAccessorTable
97 .ensureFieldAccessorsInitialized(
98 com.google.ortools.glop.GlopParameters.class, com.google.ortools.glop.GlopParameters.Builder.class);
99 }
100
113 implements com.google.protobuf.ProtocolMessageEnum {
126 ;
127
128 static {
129 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
130 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
131 /* major= */ 4,
132 /* minor= */ 26,
133 /* patch= */ 1,
134 /* suffix= */ "",
135 ScalingAlgorithm.class.getName());
136 }
140 public static final int DEFAULT_VALUE = 0;
144 public static final int EQUILIBRATION_VALUE = 1;
148 public static final int LINEAR_PROGRAM_VALUE = 2;
149
150
151 public final int getNumber() {
152 return value;
153 }
154
160 @java.lang.Deprecated
161 public static ScalingAlgorithm valueOf(int value) {
162 return forNumber(value);
163 }
164
169 public static ScalingAlgorithm forNumber(int value) {
170 switch (value) {
171 case 0: return DEFAULT;
172 case 1: return EQUILIBRATION;
173 case 2: return LINEAR_PROGRAM;
174 default: return null;
175 }
176 }
177
178 public static com.google.protobuf.Internal.EnumLiteMap<ScalingAlgorithm>
180 return internalValueMap;
181 }
182 private static final com.google.protobuf.Internal.EnumLiteMap<
183 ScalingAlgorithm> internalValueMap =
184 new com.google.protobuf.Internal.EnumLiteMap<ScalingAlgorithm>() {
185 public ScalingAlgorithm findValueByNumber(int number) {
186 return ScalingAlgorithm.forNumber(number);
187 }
188 };
189
190 public final com.google.protobuf.Descriptors.EnumValueDescriptor
192 return getDescriptor().getValues().get(ordinal());
193 }
194 public final com.google.protobuf.Descriptors.EnumDescriptor
196 return getDescriptor();
197 }
198 public static final com.google.protobuf.Descriptors.EnumDescriptor
200 return com.google.ortools.glop.GlopParameters.getDescriptor().getEnumTypes().get(0);
201 }
202
203 private static final ScalingAlgorithm[] VALUES = values();
204
206 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
207 if (desc.getType() != getDescriptor()) {
208 throw new java.lang.IllegalArgumentException(
209 "EnumValueDescriptor is not for this type.");
210 }
211 return VALUES[desc.getIndex()];
212 }
213
214 private final int value;
215
216 private ScalingAlgorithm(int value) {
217 this.value = value;
218 }
219
220 // @@protoc_insertion_point(enum_scope:operations_research.glop.GlopParameters.ScalingAlgorithm)
221 }
222
231 public enum SolverBehavior
232 implements com.google.protobuf.ProtocolMessageEnum {
245 ;
246
247 static {
248 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
249 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
250 /* major= */ 4,
251 /* minor= */ 26,
252 /* patch= */ 1,
253 /* suffix= */ "",
254 SolverBehavior.class.getName());
255 }
259 public static final int ALWAYS_DO_VALUE = 0;
263 public static final int NEVER_DO_VALUE = 1;
267 public static final int LET_SOLVER_DECIDE_VALUE = 2;
268
269
270 public final int getNumber() {
271 return value;
272 }
273
279 @java.lang.Deprecated
280 public static SolverBehavior valueOf(int value) {
281 return forNumber(value);
282 }
283
288 public static SolverBehavior forNumber(int value) {
289 switch (value) {
290 case 0: return ALWAYS_DO;
291 case 1: return NEVER_DO;
292 case 2: return LET_SOLVER_DECIDE;
293 default: return null;
294 }
295 }
296
297 public static com.google.protobuf.Internal.EnumLiteMap<SolverBehavior>
299 return internalValueMap;
300 }
301 private static final com.google.protobuf.Internal.EnumLiteMap<
302 SolverBehavior> internalValueMap =
303 new com.google.protobuf.Internal.EnumLiteMap<SolverBehavior>() {
304 public SolverBehavior findValueByNumber(int number) {
305 return SolverBehavior.forNumber(number);
306 }
307 };
308
309 public final com.google.protobuf.Descriptors.EnumValueDescriptor
311 return getDescriptor().getValues().get(ordinal());
312 }
313 public final com.google.protobuf.Descriptors.EnumDescriptor
315 return getDescriptor();
316 }
317 public static final com.google.protobuf.Descriptors.EnumDescriptor
319 return com.google.ortools.glop.GlopParameters.getDescriptor().getEnumTypes().get(1);
320 }
321
322 private static final SolverBehavior[] VALUES = values();
323
324 public static SolverBehavior valueOf(
325 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
326 if (desc.getType() != getDescriptor()) {
327 throw new java.lang.IllegalArgumentException(
328 "EnumValueDescriptor is not for this type.");
329 }
330 return VALUES[desc.getIndex()];
331 }
332
333 private final int value;
334
335 private SolverBehavior(int value) {
336 this.value = value;
337 }
338
339 // @@protoc_insertion_point(enum_scope:operations_research.glop.GlopParameters.SolverBehavior)
340 }
341
349 public enum PricingRule
350 implements com.google.protobuf.ProtocolMessageEnum {
383 ;
384
385 static {
386 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
387 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
388 /* major= */ 4,
389 /* minor= */ 26,
390 /* patch= */ 1,
391 /* suffix= */ "",
392 PricingRule.class.getName());
393 }
406 public static final int DANTZIG_VALUE = 0;
416 public static final int STEEPEST_EDGE_VALUE = 1;
425 public static final int DEVEX_VALUE = 2;
426
427
428 public final int getNumber() {
429 return value;
430 }
431
437 @java.lang.Deprecated
438 public static PricingRule valueOf(int value) {
439 return forNumber(value);
440 }
441
446 public static PricingRule forNumber(int value) {
447 switch (value) {
448 case 0: return DANTZIG;
449 case 1: return STEEPEST_EDGE;
450 case 2: return DEVEX;
451 default: return null;
452 }
453 }
454
455 public static com.google.protobuf.Internal.EnumLiteMap<PricingRule>
457 return internalValueMap;
458 }
459 private static final com.google.protobuf.Internal.EnumLiteMap<
460 PricingRule> internalValueMap =
461 new com.google.protobuf.Internal.EnumLiteMap<PricingRule>() {
462 public PricingRule findValueByNumber(int number) {
463 return PricingRule.forNumber(number);
464 }
465 };
466
467 public final com.google.protobuf.Descriptors.EnumValueDescriptor
469 return getDescriptor().getValues().get(ordinal());
470 }
471 public final com.google.protobuf.Descriptors.EnumDescriptor
473 return getDescriptor();
474 }
475 public static final com.google.protobuf.Descriptors.EnumDescriptor
477 return com.google.ortools.glop.GlopParameters.getDescriptor().getEnumTypes().get(2);
478 }
479
480 private static final PricingRule[] VALUES = values();
481
482 public static PricingRule valueOf(
483 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
484 if (desc.getType() != getDescriptor()) {
485 throw new java.lang.IllegalArgumentException(
486 "EnumValueDescriptor is not for this type.");
487 }
488 return VALUES[desc.getIndex()];
489 }
490
491 private final int value;
492
493 private PricingRule(int value) {
494 this.value = value;
495 }
496
497 // @@protoc_insertion_point(enum_scope:operations_research.glop.GlopParameters.PricingRule)
498 }
499
509 implements com.google.protobuf.ProtocolMessageEnum {
553 ;
554
555 static {
556 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
557 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
558 /* major= */ 4,
559 /* minor= */ 26,
560 /* patch= */ 1,
561 /* suffix= */ "",
562 InitialBasisHeuristic.class.getName());
563 }
571 public static final int NONE_VALUE = 0;
584 public static final int BIXBY_VALUE = 1;
596 public static final int TRIANGULAR_VALUE = 2;
606 public static final int MAROS_VALUE = 3;
607
608
609 public final int getNumber() {
610 return value;
611 }
612
618 @java.lang.Deprecated
619 public static InitialBasisHeuristic valueOf(int value) {
620 return forNumber(value);
621 }
622
627 public static InitialBasisHeuristic forNumber(int value) {
628 switch (value) {
629 case 0: return NONE;
630 case 1: return BIXBY;
631 case 2: return TRIANGULAR;
632 case 3: return MAROS;
633 default: return null;
634 }
635 }
636
637 public static com.google.protobuf.Internal.EnumLiteMap<InitialBasisHeuristic>
639 return internalValueMap;
640 }
641 private static final com.google.protobuf.Internal.EnumLiteMap<
642 InitialBasisHeuristic> internalValueMap =
643 new com.google.protobuf.Internal.EnumLiteMap<InitialBasisHeuristic>() {
644 public InitialBasisHeuristic findValueByNumber(int number) {
645 return InitialBasisHeuristic.forNumber(number);
646 }
647 };
648
649 public final com.google.protobuf.Descriptors.EnumValueDescriptor
651 return getDescriptor().getValues().get(ordinal());
652 }
653 public final com.google.protobuf.Descriptors.EnumDescriptor
655 return getDescriptor();
656 }
657 public static final com.google.protobuf.Descriptors.EnumDescriptor
659 return com.google.ortools.glop.GlopParameters.getDescriptor().getEnumTypes().get(3);
660 }
661
662 private static final InitialBasisHeuristic[] VALUES = values();
663
665 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
666 if (desc.getType() != getDescriptor()) {
667 throw new java.lang.IllegalArgumentException(
668 "EnumValueDescriptor is not for this type.");
669 }
670 return VALUES[desc.getIndex()];
671 }
672
673 private final int value;
674
675 private InitialBasisHeuristic(int value) {
676 this.value = value;
677 }
678
679 // @@protoc_insertion_point(enum_scope:operations_research.glop.GlopParameters.InitialBasisHeuristic)
680 }
681
694 implements com.google.protobuf.ProtocolMessageEnum {
729 ;
730
731 static {
732 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
733 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
734 /* major= */ 4,
735 /* minor= */ 26,
736 /* patch= */ 1,
737 /* suffix= */ "",
738 CostScalingAlgorithm.class.getName());
739 }
747 public static final int NO_COST_SCALING_VALUE = 0;
757 public static final int CONTAIN_ONE_COST_SCALING_VALUE = 1;
765 public static final int MEAN_COST_SCALING_VALUE = 2;
773 public static final int MEDIAN_COST_SCALING_VALUE = 3;
774
775
776 public final int getNumber() {
777 return value;
778 }
779
785 @java.lang.Deprecated
786 public static CostScalingAlgorithm valueOf(int value) {
787 return forNumber(value);
788 }
789
794 public static CostScalingAlgorithm forNumber(int value) {
795 switch (value) {
796 case 0: return NO_COST_SCALING;
797 case 1: return CONTAIN_ONE_COST_SCALING;
798 case 2: return MEAN_COST_SCALING;
799 case 3: return MEDIAN_COST_SCALING;
800 default: return null;
801 }
802 }
803
804 public static com.google.protobuf.Internal.EnumLiteMap<CostScalingAlgorithm>
806 return internalValueMap;
807 }
808 private static final com.google.protobuf.Internal.EnumLiteMap<
809 CostScalingAlgorithm> internalValueMap =
810 new com.google.protobuf.Internal.EnumLiteMap<CostScalingAlgorithm>() {
811 public CostScalingAlgorithm findValueByNumber(int number) {
812 return CostScalingAlgorithm.forNumber(number);
813 }
814 };
815
816 public final com.google.protobuf.Descriptors.EnumValueDescriptor
818 return getDescriptor().getValues().get(ordinal());
819 }
820 public final com.google.protobuf.Descriptors.EnumDescriptor
822 return getDescriptor();
823 }
824 public static final com.google.protobuf.Descriptors.EnumDescriptor
826 return com.google.ortools.glop.GlopParameters.getDescriptor().getEnumTypes().get(4);
827 }
828
829 private static final CostScalingAlgorithm[] VALUES = values();
830
832 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
833 if (desc.getType() != getDescriptor()) {
834 throw new java.lang.IllegalArgumentException(
835 "EnumValueDescriptor is not for this type.");
836 }
837 return VALUES[desc.getIndex()];
838 }
839
840 private final int value;
841
842 private CostScalingAlgorithm(int value) {
843 this.value = value;
844 }
845
846 // @@protoc_insertion_point(enum_scope:operations_research.glop.GlopParameters.CostScalingAlgorithm)
847 }
848
849 private int bitField0_;
850 private int bitField1_;
851 public static final int SCALING_METHOD_FIELD_NUMBER = 57;
852 private int scalingMethod_ = 1;
857 @java.lang.Override public boolean hasScalingMethod() {
858 return ((bitField0_ & 0x00000001) != 0);
859 }
865 com.google.ortools.glop.GlopParameters.ScalingAlgorithm result = com.google.ortools.glop.GlopParameters.ScalingAlgorithm.forNumber(scalingMethod_);
866 return result == null ? com.google.ortools.glop.GlopParameters.ScalingAlgorithm.EQUILIBRATION : result;
867 }
868
869 public static final int FEASIBILITY_RULE_FIELD_NUMBER = 1;
870 private int feasibilityRule_ = 1;
879 @java.lang.Override public boolean hasFeasibilityRule() {
880 return ((bitField0_ & 0x00000002) != 0);
881 }
891 com.google.ortools.glop.GlopParameters.PricingRule result = com.google.ortools.glop.GlopParameters.PricingRule.forNumber(feasibilityRule_);
892 return result == null ? com.google.ortools.glop.GlopParameters.PricingRule.STEEPEST_EDGE : result;
893 }
894
895 public static final int OPTIMIZATION_RULE_FIELD_NUMBER = 2;
896 private int optimizationRule_ = 1;
905 @java.lang.Override public boolean hasOptimizationRule() {
906 return ((bitField0_ & 0x00000004) != 0);
907 }
917 com.google.ortools.glop.GlopParameters.PricingRule result = com.google.ortools.glop.GlopParameters.PricingRule.forNumber(optimizationRule_);
918 return result == null ? com.google.ortools.glop.GlopParameters.PricingRule.STEEPEST_EDGE : result;
919 }
920
921 public static final int REFACTORIZATION_THRESHOLD_FIELD_NUMBER = 6;
922 private double refactorizationThreshold_ = 1e-09D;
936 @java.lang.Override
938 return ((bitField0_ & 0x00000008) != 0);
939 }
953 @java.lang.Override
955 return refactorizationThreshold_;
956 }
957
959 private double recomputeReducedCostsThreshold_ = 1e-08D;
972 @java.lang.Override
974 return ((bitField0_ & 0x00000010) != 0);
975 }
988 @java.lang.Override
990 return recomputeReducedCostsThreshold_;
991 }
992
994 private double recomputeEdgesNormThreshold_ = 100D;
1007 @java.lang.Override
1009 return ((bitField0_ & 0x00000020) != 0);
1010 }
1023 @java.lang.Override
1025 return recomputeEdgesNormThreshold_;
1026 }
1027
1028 public static final int PRIMAL_FEASIBILITY_TOLERANCE_FIELD_NUMBER = 10;
1029 private double primalFeasibilityTolerance_ = 1e-08D;
1044 @java.lang.Override
1046 return ((bitField0_ & 0x00000040) != 0);
1047 }
1062 @java.lang.Override
1064 return primalFeasibilityTolerance_;
1065 }
1066
1067 public static final int DUAL_FEASIBILITY_TOLERANCE_FIELD_NUMBER = 11;
1068 private double dualFeasibilityTolerance_ = 1e-08D;
1086 @java.lang.Override
1088 return ((bitField0_ & 0x00000080) != 0);
1089 }
1107 @java.lang.Override
1109 return dualFeasibilityTolerance_;
1110 }
1111
1112 public static final int RATIO_TEST_ZERO_THRESHOLD_FIELD_NUMBER = 12;
1113 private double ratioTestZeroThreshold_ = 1e-09D;
1128 @java.lang.Override
1129 public boolean hasRatioTestZeroThreshold() {
1130 return ((bitField0_ & 0x00000100) != 0);
1131 }
1146 @java.lang.Override
1148 return ratioTestZeroThreshold_;
1149 }
1150
1151 public static final int HARRIS_TOLERANCE_RATIO_FIELD_NUMBER = 13;
1152 private double harrisToleranceRatio_ = 0.5D;
1171 @java.lang.Override
1172 public boolean hasHarrisToleranceRatio() {
1173 return ((bitField0_ & 0x00000200) != 0);
1174 }
1193 @java.lang.Override
1194 public double getHarrisToleranceRatio() {
1195 return harrisToleranceRatio_;
1196 }
1197
1198 public static final int SMALL_PIVOT_THRESHOLD_FIELD_NUMBER = 14;
1199 private double smallPivotThreshold_ = 1e-06D;
1211 @java.lang.Override
1212 public boolean hasSmallPivotThreshold() {
1213 return ((bitField0_ & 0x00000400) != 0);
1214 }
1226 @java.lang.Override
1227 public double getSmallPivotThreshold() {
1228 return smallPivotThreshold_;
1229 }
1230
1231 public static final int MINIMUM_ACCEPTABLE_PIVOT_FIELD_NUMBER = 15;
1232 private double minimumAcceptablePivot_ = 1e-06D;
1241 @java.lang.Override
1242 public boolean hasMinimumAcceptablePivot() {
1243 return ((bitField0_ & 0x00000800) != 0);
1244 }
1253 @java.lang.Override
1255 return minimumAcceptablePivot_;
1256 }
1257
1258 public static final int DROP_TOLERANCE_FIELD_NUMBER = 52;
1259 private double dropTolerance_ = 1e-14D;
1270 @java.lang.Override
1271 public boolean hasDropTolerance() {
1272 return ((bitField0_ & 0x00001000) != 0);
1273 }
1284 @java.lang.Override
1285 public double getDropTolerance() {
1286 return dropTolerance_;
1287 }
1288
1289 public static final int USE_SCALING_FIELD_NUMBER = 16;
1290 private boolean useScaling_ = true;
1300 @java.lang.Override
1301 public boolean hasUseScaling() {
1302 return ((bitField0_ & 0x00002000) != 0);
1303 }
1313 @java.lang.Override
1314 public boolean getUseScaling() {
1315 return useScaling_;
1316 }
1317
1318 public static final int COST_SCALING_FIELD_NUMBER = 60;
1319 private int costScaling_ = 1;
1324 @java.lang.Override public boolean hasCostScaling() {
1325 return ((bitField0_ & 0x00004000) != 0);
1326 }
1332 com.google.ortools.glop.GlopParameters.CostScalingAlgorithm result = com.google.ortools.glop.GlopParameters.CostScalingAlgorithm.forNumber(costScaling_);
1333 return result == null ? com.google.ortools.glop.GlopParameters.CostScalingAlgorithm.CONTAIN_ONE_COST_SCALING : result;
1334 }
1335
1336 public static final int INITIAL_BASIS_FIELD_NUMBER = 17;
1337 private int initialBasis_ = 2;
1347 @java.lang.Override public boolean hasInitialBasis() {
1348 return ((bitField0_ & 0x00008000) != 0);
1349 }
1360 com.google.ortools.glop.GlopParameters.InitialBasisHeuristic result = com.google.ortools.glop.GlopParameters.InitialBasisHeuristic.forNumber(initialBasis_);
1361 return result == null ? com.google.ortools.glop.GlopParameters.InitialBasisHeuristic.TRIANGULAR : result;
1362 }
1363
1364 public static final int USE_TRANSPOSED_MATRIX_FIELD_NUMBER = 18;
1365 private boolean useTransposedMatrix_ = true;
1376 @java.lang.Override
1377 public boolean hasUseTransposedMatrix() {
1378 return ((bitField0_ & 0x00010000) != 0);
1379 }
1390 @java.lang.Override
1391 public boolean getUseTransposedMatrix() {
1392 return useTransposedMatrix_;
1393 }
1394
1395 public static final int BASIS_REFACTORIZATION_PERIOD_FIELD_NUMBER = 19;
1396 private int basisRefactorizationPeriod_ = 64;
1407 @java.lang.Override
1409 return ((bitField0_ & 0x00020000) != 0);
1410 }
1421 @java.lang.Override
1423 return basisRefactorizationPeriod_;
1424 }
1425
1427 private boolean dynamicallyAdjustRefactorizationPeriod_ = true;
1440 @java.lang.Override
1442 return ((bitField0_ & 0x00040000) != 0);
1443 }
1456 @java.lang.Override
1458 return dynamicallyAdjustRefactorizationPeriod_;
1459 }
1460
1461 public static final int SOLVE_DUAL_PROBLEM_FIELD_NUMBER = 20;
1462 private int solveDualProblem_ = 2;
1473 @java.lang.Override public boolean hasSolveDualProblem() {
1474 return ((bitField0_ & 0x00080000) != 0);
1475 }
1487 com.google.ortools.glop.GlopParameters.SolverBehavior result = com.google.ortools.glop.GlopParameters.SolverBehavior.forNumber(solveDualProblem_);
1488 return result == null ? com.google.ortools.glop.GlopParameters.SolverBehavior.LET_SOLVER_DECIDE : result;
1489 }
1490
1491 public static final int DUALIZER_THRESHOLD_FIELD_NUMBER = 21;
1492 private double dualizerThreshold_ = 1.5D;
1503 @java.lang.Override
1504 public boolean hasDualizerThreshold() {
1505 return ((bitField0_ & 0x00100000) != 0);
1506 }
1517 @java.lang.Override
1518 public double getDualizerThreshold() {
1519 return dualizerThreshold_;
1520 }
1521
1523 private double solutionFeasibilityTolerance_ = 1e-06D;
1539 @java.lang.Override
1541 return ((bitField0_ & 0x00200000) != 0);
1542 }
1558 @java.lang.Override
1560 return solutionFeasibilityTolerance_;
1561 }
1562
1564 private boolean provideStrongOptimalGuarantee_ = true;
1590 @java.lang.Override
1592 return ((bitField0_ & 0x00400000) != 0);
1593 }
1619 @java.lang.Override
1621 return provideStrongOptimalGuarantee_;
1622 }
1623
1624 public static final int CHANGE_STATUS_TO_IMPRECISE_FIELD_NUMBER = 58;
1625 private boolean changeStatusToImprecise_ = true;
1635 @java.lang.Override
1637 return ((bitField0_ & 0x00800000) != 0);
1638 }
1648 @java.lang.Override
1650 return changeStatusToImprecise_;
1651 }
1652
1654 private double maxNumberOfReoptimizations_ = 40D;
1666 @java.lang.Override
1668 return ((bitField0_ & 0x01000000) != 0);
1669 }
1681 @java.lang.Override
1683 return maxNumberOfReoptimizations_;
1684 }
1685
1687 private double luFactorizationPivotThreshold_ = 0.01D;
1699 @java.lang.Override
1701 return ((bitField0_ & 0x02000000) != 0);
1702 }
1714 @java.lang.Override
1716 return luFactorizationPivotThreshold_;
1717 }
1718
1719 public static final int MAX_TIME_IN_SECONDS_FIELD_NUMBER = 26;
1720 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
1729 @java.lang.Override
1730 public boolean hasMaxTimeInSeconds() {
1731 return ((bitField0_ & 0x04000000) != 0);
1732 }
1741 @java.lang.Override
1742 public double getMaxTimeInSeconds() {
1743 return maxTimeInSeconds_;
1744 }
1745
1746 public static final int MAX_DETERMINISTIC_TIME_FIELD_NUMBER = 45;
1747 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
1760 @java.lang.Override
1761 public boolean hasMaxDeterministicTime() {
1762 return ((bitField0_ & 0x08000000) != 0);
1763 }
1776 @java.lang.Override
1777 public double getMaxDeterministicTime() {
1778 return maxDeterministicTime_;
1779 }
1780
1781 public static final int MAX_NUMBER_OF_ITERATIONS_FIELD_NUMBER = 27;
1782 private long maxNumberOfIterations_ = -1L;
1792 @java.lang.Override
1793 public boolean hasMaxNumberOfIterations() {
1794 return ((bitField0_ & 0x10000000) != 0);
1795 }
1805 @java.lang.Override
1807 return maxNumberOfIterations_;
1808 }
1809
1810 public static final int MARKOWITZ_ZLATEV_PARAMETER_FIELD_NUMBER = 29;
1811 private int markowitzZlatevParameter_ = 3;
1821 @java.lang.Override
1823 return ((bitField0_ & 0x20000000) != 0);
1824 }
1834 @java.lang.Override
1836 return markowitzZlatevParameter_;
1837 }
1838
1840 private double markowitzSingularityThreshold_ = 1e-15D;
1852 @java.lang.Override
1854 return ((bitField0_ & 0x40000000) != 0);
1855 }
1867 @java.lang.Override
1869 return markowitzSingularityThreshold_;
1870 }
1871
1872 public static final int USE_DUAL_SIMPLEX_FIELD_NUMBER = 31;
1873 private boolean useDualSimplex_ = false;
1882 @java.lang.Override
1883 public boolean hasUseDualSimplex() {
1884 return ((bitField0_ & 0x80000000) != 0);
1885 }
1894 @java.lang.Override
1895 public boolean getUseDualSimplex() {
1896 return useDualSimplex_;
1897 }
1898
1900 private boolean allowSimplexAlgorithmChange_ = false;
1912 @java.lang.Override
1914 return ((bitField1_ & 0x00000001) != 0);
1915 }
1927 @java.lang.Override
1929 return allowSimplexAlgorithmChange_;
1930 }
1931
1932 public static final int DEVEX_WEIGHTS_RESET_PERIOD_FIELD_NUMBER = 33;
1933 private int devexWeightsResetPeriod_ = 150;
1942 @java.lang.Override
1944 return ((bitField1_ & 0x00000002) != 0);
1945 }
1954 @java.lang.Override
1956 return devexWeightsResetPeriod_;
1957 }
1958
1959 public static final int USE_PREPROCESSING_FIELD_NUMBER = 34;
1960 private boolean usePreprocessing_ = true;
1969 @java.lang.Override
1970 public boolean hasUsePreprocessing() {
1971 return ((bitField1_ & 0x00000004) != 0);
1972 }
1981 @java.lang.Override
1982 public boolean getUsePreprocessing() {
1983 return usePreprocessing_;
1984 }
1985
1987 private boolean useMiddleProductFormUpdate_ = true;
2002 @java.lang.Override
2004 return ((bitField1_ & 0x00000008) != 0);
2005 }
2020 @java.lang.Override
2022 return useMiddleProductFormUpdate_;
2023 }
2024
2026 private boolean initializeDevexWithColumnNorms_ = true;
2036 @java.lang.Override
2038 return ((bitField1_ & 0x00000010) != 0);
2039 }
2049 @java.lang.Override
2051 return initializeDevexWithColumnNorms_;
2052 }
2053
2055 private boolean exploitSingletonColumnInInitialBasis_ = true;
2065 @java.lang.Override
2067 return ((bitField1_ & 0x00000020) != 0);
2068 }
2078 @java.lang.Override
2080 return exploitSingletonColumnInInitialBasis_;
2081 }
2082
2083 public static final int DUAL_SMALL_PIVOT_THRESHOLD_FIELD_NUMBER = 38;
2084 private double dualSmallPivotThreshold_ = 0.0001D;
2095 @java.lang.Override
2097 return ((bitField1_ & 0x00000040) != 0);
2098 }
2109 @java.lang.Override
2111 return dualSmallPivotThreshold_;
2112 }
2113
2114 public static final int PREPROCESSOR_ZERO_TOLERANCE_FIELD_NUMBER = 39;
2115 private double preprocessorZeroTolerance_ = 1e-09D;
2129 @java.lang.Override
2131 return ((bitField1_ & 0x00000080) != 0);
2132 }
2146 @java.lang.Override
2148 return preprocessorZeroTolerance_;
2149 }
2150
2151 public static final int OBJECTIVE_LOWER_LIMIT_FIELD_NUMBER = 40;
2152 private double objectiveLowerLimit_ = Double.NEGATIVE_INFINITY;
2169 @java.lang.Override
2170 public boolean hasObjectiveLowerLimit() {
2171 return ((bitField1_ & 0x00000100) != 0);
2172 }
2189 @java.lang.Override
2190 public double getObjectiveLowerLimit() {
2191 return objectiveLowerLimit_;
2192 }
2193
2194 public static final int OBJECTIVE_UPPER_LIMIT_FIELD_NUMBER = 41;
2195 private double objectiveUpperLimit_ = Double.POSITIVE_INFINITY;
2200 @java.lang.Override
2201 public boolean hasObjectiveUpperLimit() {
2202 return ((bitField1_ & 0x00000200) != 0);
2203 }
2208 @java.lang.Override
2209 public double getObjectiveUpperLimit() {
2210 return objectiveUpperLimit_;
2211 }
2212
2213 public static final int DEGENERATE_MINISTEP_FACTOR_FIELD_NUMBER = 42;
2214 private double degenerateMinistepFactor_ = 0.01D;
2240 @java.lang.Override
2242 return ((bitField1_ & 0x00000400) != 0);
2243 }
2269 @java.lang.Override
2271 return degenerateMinistepFactor_;
2272 }
2273
2274 public static final int RANDOM_SEED_FIELD_NUMBER = 43;
2275 private int randomSeed_ = 1;
2298 @java.lang.Override
2299 public boolean hasRandomSeed() {
2300 return ((bitField1_ & 0x00000800) != 0);
2301 }
2324 @java.lang.Override
2325 public int getRandomSeed() {
2326 return randomSeed_;
2327 }
2328
2329 public static final int NUM_OMP_THREADS_FIELD_NUMBER = 44;
2330 private int numOmpThreads_ = 1;
2340 @java.lang.Override
2341 public boolean hasNumOmpThreads() {
2342 return ((bitField1_ & 0x00001000) != 0);
2343 }
2353 @java.lang.Override
2354 public int getNumOmpThreads() {
2355 return numOmpThreads_;
2356 }
2357
2359 private boolean perturbCostsInDualSimplex_ = false;
2371 @java.lang.Override
2373 return ((bitField1_ & 0x00002000) != 0);
2374 }
2386 @java.lang.Override
2388 return perturbCostsInDualSimplex_;
2389 }
2390
2392 private boolean useDedicatedDualFeasibilityAlgorithm_ = true;
2408 @java.lang.Override
2410 return ((bitField1_ & 0x00004000) != 0);
2411 }
2427 @java.lang.Override
2429 return useDedicatedDualFeasibilityAlgorithm_;
2430 }
2431
2432 public static final int RELATIVE_COST_PERTURBATION_FIELD_NUMBER = 54;
2433 private double relativeCostPerturbation_ = 1e-05D;
2445 @java.lang.Override
2447 return ((bitField1_ & 0x00008000) != 0);
2448 }
2460 @java.lang.Override
2462 return relativeCostPerturbation_;
2463 }
2464
2466 private double relativeMaxCostPerturbation_ = 1e-07D;
2471 @java.lang.Override
2473 return ((bitField1_ & 0x00010000) != 0);
2474 }
2479 @java.lang.Override
2481 return relativeMaxCostPerturbation_;
2482 }
2483
2485 private double initialConditionNumberThreshold_ = 1e+50D;
2496 @java.lang.Override
2498 return ((bitField1_ & 0x00020000) != 0);
2499 }
2510 @java.lang.Override
2512 return initialConditionNumberThreshold_;
2513 }
2514
2515 public static final int LOG_SEARCH_PROGRESS_FIELD_NUMBER = 61;
2516 private boolean logSearchProgress_ = false;
2527 @java.lang.Override
2528 public boolean hasLogSearchProgress() {
2529 return ((bitField1_ & 0x00040000) != 0);
2530 }
2541 @java.lang.Override
2542 public boolean getLogSearchProgress() {
2543 return logSearchProgress_;
2544 }
2545
2546 public static final int LOG_TO_STDOUT_FIELD_NUMBER = 66;
2547 private boolean logToStdout_ = true;
2556 @java.lang.Override
2557 public boolean hasLogToStdout() {
2558 return ((bitField1_ & 0x00080000) != 0);
2559 }
2568 @java.lang.Override
2569 public boolean getLogToStdout() {
2570 return logToStdout_;
2571 }
2572
2574 private double crossoverBoundSnappingDistance_ = Double.POSITIVE_INFINITY;
2597 @java.lang.Override
2599 return ((bitField1_ & 0x00100000) != 0);
2600 }
2623 @java.lang.Override
2625 return crossoverBoundSnappingDistance_;
2626 }
2627
2628 public static final int PUSH_TO_VERTEX_FIELD_NUMBER = 65;
2629 private boolean pushToVertex_ = true;
2643 @java.lang.Override
2644 public boolean hasPushToVertex() {
2645 return ((bitField1_ & 0x00200000) != 0);
2646 }
2660 @java.lang.Override
2661 public boolean getPushToVertex() {
2662 return pushToVertex_;
2663 }
2664
2666 private boolean useImpliedFreePreprocessor_ = true;
2675 @java.lang.Override
2677 return ((bitField1_ & 0x00400000) != 0);
2678 }
2687 @java.lang.Override
2689 return useImpliedFreePreprocessor_;
2690 }
2691
2692 public static final int MAX_VALID_MAGNITUDE_FIELD_NUMBER = 70;
2693 private double maxValidMagnitude_ = 1e+30D;
2707 @java.lang.Override
2708 public boolean hasMaxValidMagnitude() {
2709 return ((bitField1_ & 0x00800000) != 0);
2710 }
2724 @java.lang.Override
2725 public double getMaxValidMagnitude() {
2726 return maxValidMagnitude_;
2727 }
2728
2729 public static final int DROP_MAGNITUDE_FIELD_NUMBER = 71;
2730 private double dropMagnitude_ = 1e-30D;
2742 @java.lang.Override
2743 public boolean hasDropMagnitude() {
2744 return ((bitField1_ & 0x01000000) != 0);
2745 }
2757 @java.lang.Override
2758 public double getDropMagnitude() {
2759 return dropMagnitude_;
2760 }
2761
2762 public static final int DUAL_PRICE_PRIORITIZE_NORM_FIELD_NUMBER = 69;
2763 private boolean dualPricePrioritizeNorm_ = false;
2773 @java.lang.Override
2775 return ((bitField1_ & 0x02000000) != 0);
2776 }
2786 @java.lang.Override
2788 return dualPricePrioritizeNorm_;
2789 }
2790
2791 private byte memoizedIsInitialized = -1;
2792 @java.lang.Override
2793 public final boolean isInitialized() {
2794 byte isInitialized = memoizedIsInitialized;
2795 if (isInitialized == 1) return true;
2796 if (isInitialized == 0) return false;
2797
2798 memoizedIsInitialized = 1;
2799 return true;
2800 }
2801
2802 @java.lang.Override
2803 public void writeTo(com.google.protobuf.CodedOutputStream output)
2804 throws java.io.IOException {
2805 if (((bitField0_ & 0x00000002) != 0)) {
2806 output.writeEnum(1, feasibilityRule_);
2807 }
2808 if (((bitField0_ & 0x00000004) != 0)) {
2809 output.writeEnum(2, optimizationRule_);
2810 }
2811 if (((bitField0_ & 0x00000008) != 0)) {
2812 output.writeDouble(6, refactorizationThreshold_);
2813 }
2814 if (((bitField0_ & 0x00000010) != 0)) {
2815 output.writeDouble(8, recomputeReducedCostsThreshold_);
2816 }
2817 if (((bitField0_ & 0x00000020) != 0)) {
2818 output.writeDouble(9, recomputeEdgesNormThreshold_);
2819 }
2820 if (((bitField0_ & 0x00000040) != 0)) {
2821 output.writeDouble(10, primalFeasibilityTolerance_);
2822 }
2823 if (((bitField0_ & 0x00000080) != 0)) {
2824 output.writeDouble(11, dualFeasibilityTolerance_);
2825 }
2826 if (((bitField0_ & 0x00000100) != 0)) {
2827 output.writeDouble(12, ratioTestZeroThreshold_);
2828 }
2829 if (((bitField0_ & 0x00000200) != 0)) {
2830 output.writeDouble(13, harrisToleranceRatio_);
2831 }
2832 if (((bitField0_ & 0x00000400) != 0)) {
2833 output.writeDouble(14, smallPivotThreshold_);
2834 }
2835 if (((bitField0_ & 0x00000800) != 0)) {
2836 output.writeDouble(15, minimumAcceptablePivot_);
2837 }
2838 if (((bitField0_ & 0x00002000) != 0)) {
2839 output.writeBool(16, useScaling_);
2840 }
2841 if (((bitField0_ & 0x00008000) != 0)) {
2842 output.writeEnum(17, initialBasis_);
2843 }
2844 if (((bitField0_ & 0x00010000) != 0)) {
2845 output.writeBool(18, useTransposedMatrix_);
2846 }
2847 if (((bitField0_ & 0x00020000) != 0)) {
2848 output.writeInt32(19, basisRefactorizationPeriod_);
2849 }
2850 if (((bitField0_ & 0x00080000) != 0)) {
2851 output.writeEnum(20, solveDualProblem_);
2852 }
2853 if (((bitField0_ & 0x00100000) != 0)) {
2854 output.writeDouble(21, dualizerThreshold_);
2855 }
2856 if (((bitField0_ & 0x00200000) != 0)) {
2857 output.writeDouble(22, solutionFeasibilityTolerance_);
2858 }
2859 if (((bitField0_ & 0x00400000) != 0)) {
2860 output.writeBool(24, provideStrongOptimalGuarantee_);
2861 }
2862 if (((bitField0_ & 0x02000000) != 0)) {
2863 output.writeDouble(25, luFactorizationPivotThreshold_);
2864 }
2865 if (((bitField0_ & 0x04000000) != 0)) {
2866 output.writeDouble(26, maxTimeInSeconds_);
2867 }
2868 if (((bitField0_ & 0x10000000) != 0)) {
2869 output.writeInt64(27, maxNumberOfIterations_);
2870 }
2871 if (((bitField0_ & 0x20000000) != 0)) {
2872 output.writeInt32(29, markowitzZlatevParameter_);
2873 }
2874 if (((bitField0_ & 0x40000000) != 0)) {
2875 output.writeDouble(30, markowitzSingularityThreshold_);
2876 }
2877 if (((bitField0_ & 0x80000000) != 0)) {
2878 output.writeBool(31, useDualSimplex_);
2879 }
2880 if (((bitField1_ & 0x00000001) != 0)) {
2881 output.writeBool(32, allowSimplexAlgorithmChange_);
2882 }
2883 if (((bitField1_ & 0x00000002) != 0)) {
2884 output.writeInt32(33, devexWeightsResetPeriod_);
2885 }
2886 if (((bitField1_ & 0x00000004) != 0)) {
2887 output.writeBool(34, usePreprocessing_);
2888 }
2889 if (((bitField1_ & 0x00000008) != 0)) {
2890 output.writeBool(35, useMiddleProductFormUpdate_);
2891 }
2892 if (((bitField1_ & 0x00000010) != 0)) {
2893 output.writeBool(36, initializeDevexWithColumnNorms_);
2894 }
2895 if (((bitField1_ & 0x00000020) != 0)) {
2896 output.writeBool(37, exploitSingletonColumnInInitialBasis_);
2897 }
2898 if (((bitField1_ & 0x00000040) != 0)) {
2899 output.writeDouble(38, dualSmallPivotThreshold_);
2900 }
2901 if (((bitField1_ & 0x00000080) != 0)) {
2902 output.writeDouble(39, preprocessorZeroTolerance_);
2903 }
2904 if (((bitField1_ & 0x00000100) != 0)) {
2905 output.writeDouble(40, objectiveLowerLimit_);
2906 }
2907 if (((bitField1_ & 0x00000200) != 0)) {
2908 output.writeDouble(41, objectiveUpperLimit_);
2909 }
2910 if (((bitField1_ & 0x00000400) != 0)) {
2911 output.writeDouble(42, degenerateMinistepFactor_);
2912 }
2913 if (((bitField1_ & 0x00000800) != 0)) {
2914 output.writeInt32(43, randomSeed_);
2915 }
2916 if (((bitField1_ & 0x00001000) != 0)) {
2917 output.writeInt32(44, numOmpThreads_);
2918 }
2919 if (((bitField0_ & 0x08000000) != 0)) {
2920 output.writeDouble(45, maxDeterministicTime_);
2921 }
2922 if (((bitField0_ & 0x00001000) != 0)) {
2923 output.writeDouble(52, dropTolerance_);
2924 }
2925 if (((bitField1_ & 0x00002000) != 0)) {
2926 output.writeBool(53, perturbCostsInDualSimplex_);
2927 }
2928 if (((bitField1_ & 0x00008000) != 0)) {
2929 output.writeDouble(54, relativeCostPerturbation_);
2930 }
2931 if (((bitField1_ & 0x00010000) != 0)) {
2932 output.writeDouble(55, relativeMaxCostPerturbation_);
2933 }
2934 if (((bitField0_ & 0x01000000) != 0)) {
2935 output.writeDouble(56, maxNumberOfReoptimizations_);
2936 }
2937 if (((bitField0_ & 0x00000001) != 0)) {
2938 output.writeEnum(57, scalingMethod_);
2939 }
2940 if (((bitField0_ & 0x00800000) != 0)) {
2941 output.writeBool(58, changeStatusToImprecise_);
2942 }
2943 if (((bitField1_ & 0x00020000) != 0)) {
2944 output.writeDouble(59, initialConditionNumberThreshold_);
2945 }
2946 if (((bitField0_ & 0x00004000) != 0)) {
2947 output.writeEnum(60, costScaling_);
2948 }
2949 if (((bitField1_ & 0x00040000) != 0)) {
2950 output.writeBool(61, logSearchProgress_);
2951 }
2952 if (((bitField1_ & 0x00004000) != 0)) {
2953 output.writeBool(62, useDedicatedDualFeasibilityAlgorithm_);
2954 }
2955 if (((bitField0_ & 0x00040000) != 0)) {
2956 output.writeBool(63, dynamicallyAdjustRefactorizationPeriod_);
2957 }
2958 if (((bitField1_ & 0x00100000) != 0)) {
2959 output.writeDouble(64, crossoverBoundSnappingDistance_);
2960 }
2961 if (((bitField1_ & 0x00200000) != 0)) {
2962 output.writeBool(65, pushToVertex_);
2963 }
2964 if (((bitField1_ & 0x00080000) != 0)) {
2965 output.writeBool(66, logToStdout_);
2966 }
2967 if (((bitField1_ & 0x00400000) != 0)) {
2968 output.writeBool(67, useImpliedFreePreprocessor_);
2969 }
2970 if (((bitField1_ & 0x02000000) != 0)) {
2971 output.writeBool(69, dualPricePrioritizeNorm_);
2972 }
2973 if (((bitField1_ & 0x00800000) != 0)) {
2974 output.writeDouble(70, maxValidMagnitude_);
2975 }
2976 if (((bitField1_ & 0x01000000) != 0)) {
2977 output.writeDouble(71, dropMagnitude_);
2978 }
2979 getUnknownFields().writeTo(output);
2980 }
2981
2982 @java.lang.Override
2983 public int getSerializedSize() {
2984 int size = memoizedSize;
2985 if (size != -1) return size;
2986
2987 size = 0;
2988 if (((bitField0_ & 0x00000002) != 0)) {
2989 size += com.google.protobuf.CodedOutputStream
2990 .computeEnumSize(1, feasibilityRule_);
2991 }
2992 if (((bitField0_ & 0x00000004) != 0)) {
2993 size += com.google.protobuf.CodedOutputStream
2994 .computeEnumSize(2, optimizationRule_);
2995 }
2996 if (((bitField0_ & 0x00000008) != 0)) {
2997 size += com.google.protobuf.CodedOutputStream
2998 .computeDoubleSize(6, refactorizationThreshold_);
2999 }
3000 if (((bitField0_ & 0x00000010) != 0)) {
3001 size += com.google.protobuf.CodedOutputStream
3002 .computeDoubleSize(8, recomputeReducedCostsThreshold_);
3003 }
3004 if (((bitField0_ & 0x00000020) != 0)) {
3005 size += com.google.protobuf.CodedOutputStream
3006 .computeDoubleSize(9, recomputeEdgesNormThreshold_);
3007 }
3008 if (((bitField0_ & 0x00000040) != 0)) {
3009 size += com.google.protobuf.CodedOutputStream
3010 .computeDoubleSize(10, primalFeasibilityTolerance_);
3011 }
3012 if (((bitField0_ & 0x00000080) != 0)) {
3013 size += com.google.protobuf.CodedOutputStream
3014 .computeDoubleSize(11, dualFeasibilityTolerance_);
3015 }
3016 if (((bitField0_ & 0x00000100) != 0)) {
3017 size += com.google.protobuf.CodedOutputStream
3018 .computeDoubleSize(12, ratioTestZeroThreshold_);
3019 }
3020 if (((bitField0_ & 0x00000200) != 0)) {
3021 size += com.google.protobuf.CodedOutputStream
3022 .computeDoubleSize(13, harrisToleranceRatio_);
3023 }
3024 if (((bitField0_ & 0x00000400) != 0)) {
3025 size += com.google.protobuf.CodedOutputStream
3026 .computeDoubleSize(14, smallPivotThreshold_);
3027 }
3028 if (((bitField0_ & 0x00000800) != 0)) {
3029 size += com.google.protobuf.CodedOutputStream
3030 .computeDoubleSize(15, minimumAcceptablePivot_);
3031 }
3032 if (((bitField0_ & 0x00002000) != 0)) {
3033 size += com.google.protobuf.CodedOutputStream
3034 .computeBoolSize(16, useScaling_);
3035 }
3036 if (((bitField0_ & 0x00008000) != 0)) {
3037 size += com.google.protobuf.CodedOutputStream
3038 .computeEnumSize(17, initialBasis_);
3039 }
3040 if (((bitField0_ & 0x00010000) != 0)) {
3041 size += com.google.protobuf.CodedOutputStream
3042 .computeBoolSize(18, useTransposedMatrix_);
3043 }
3044 if (((bitField0_ & 0x00020000) != 0)) {
3045 size += com.google.protobuf.CodedOutputStream
3046 .computeInt32Size(19, basisRefactorizationPeriod_);
3047 }
3048 if (((bitField0_ & 0x00080000) != 0)) {
3049 size += com.google.protobuf.CodedOutputStream
3050 .computeEnumSize(20, solveDualProblem_);
3051 }
3052 if (((bitField0_ & 0x00100000) != 0)) {
3053 size += com.google.protobuf.CodedOutputStream
3054 .computeDoubleSize(21, dualizerThreshold_);
3055 }
3056 if (((bitField0_ & 0x00200000) != 0)) {
3057 size += com.google.protobuf.CodedOutputStream
3058 .computeDoubleSize(22, solutionFeasibilityTolerance_);
3059 }
3060 if (((bitField0_ & 0x00400000) != 0)) {
3061 size += com.google.protobuf.CodedOutputStream
3062 .computeBoolSize(24, provideStrongOptimalGuarantee_);
3063 }
3064 if (((bitField0_ & 0x02000000) != 0)) {
3065 size += com.google.protobuf.CodedOutputStream
3066 .computeDoubleSize(25, luFactorizationPivotThreshold_);
3067 }
3068 if (((bitField0_ & 0x04000000) != 0)) {
3069 size += com.google.protobuf.CodedOutputStream
3070 .computeDoubleSize(26, maxTimeInSeconds_);
3071 }
3072 if (((bitField0_ & 0x10000000) != 0)) {
3073 size += com.google.protobuf.CodedOutputStream
3074 .computeInt64Size(27, maxNumberOfIterations_);
3075 }
3076 if (((bitField0_ & 0x20000000) != 0)) {
3077 size += com.google.protobuf.CodedOutputStream
3078 .computeInt32Size(29, markowitzZlatevParameter_);
3079 }
3080 if (((bitField0_ & 0x40000000) != 0)) {
3081 size += com.google.protobuf.CodedOutputStream
3082 .computeDoubleSize(30, markowitzSingularityThreshold_);
3083 }
3084 if (((bitField0_ & 0x80000000) != 0)) {
3085 size += com.google.protobuf.CodedOutputStream
3086 .computeBoolSize(31, useDualSimplex_);
3087 }
3088 if (((bitField1_ & 0x00000001) != 0)) {
3089 size += com.google.protobuf.CodedOutputStream
3090 .computeBoolSize(32, allowSimplexAlgorithmChange_);
3091 }
3092 if (((bitField1_ & 0x00000002) != 0)) {
3093 size += com.google.protobuf.CodedOutputStream
3094 .computeInt32Size(33, devexWeightsResetPeriod_);
3095 }
3096 if (((bitField1_ & 0x00000004) != 0)) {
3097 size += com.google.protobuf.CodedOutputStream
3098 .computeBoolSize(34, usePreprocessing_);
3099 }
3100 if (((bitField1_ & 0x00000008) != 0)) {
3101 size += com.google.protobuf.CodedOutputStream
3102 .computeBoolSize(35, useMiddleProductFormUpdate_);
3103 }
3104 if (((bitField1_ & 0x00000010) != 0)) {
3105 size += com.google.protobuf.CodedOutputStream
3106 .computeBoolSize(36, initializeDevexWithColumnNorms_);
3107 }
3108 if (((bitField1_ & 0x00000020) != 0)) {
3109 size += com.google.protobuf.CodedOutputStream
3110 .computeBoolSize(37, exploitSingletonColumnInInitialBasis_);
3111 }
3112 if (((bitField1_ & 0x00000040) != 0)) {
3113 size += com.google.protobuf.CodedOutputStream
3114 .computeDoubleSize(38, dualSmallPivotThreshold_);
3115 }
3116 if (((bitField1_ & 0x00000080) != 0)) {
3117 size += com.google.protobuf.CodedOutputStream
3118 .computeDoubleSize(39, preprocessorZeroTolerance_);
3119 }
3120 if (((bitField1_ & 0x00000100) != 0)) {
3121 size += com.google.protobuf.CodedOutputStream
3122 .computeDoubleSize(40, objectiveLowerLimit_);
3123 }
3124 if (((bitField1_ & 0x00000200) != 0)) {
3125 size += com.google.protobuf.CodedOutputStream
3126 .computeDoubleSize(41, objectiveUpperLimit_);
3127 }
3128 if (((bitField1_ & 0x00000400) != 0)) {
3129 size += com.google.protobuf.CodedOutputStream
3130 .computeDoubleSize(42, degenerateMinistepFactor_);
3131 }
3132 if (((bitField1_ & 0x00000800) != 0)) {
3133 size += com.google.protobuf.CodedOutputStream
3134 .computeInt32Size(43, randomSeed_);
3135 }
3136 if (((bitField1_ & 0x00001000) != 0)) {
3137 size += com.google.protobuf.CodedOutputStream
3138 .computeInt32Size(44, numOmpThreads_);
3139 }
3140 if (((bitField0_ & 0x08000000) != 0)) {
3141 size += com.google.protobuf.CodedOutputStream
3142 .computeDoubleSize(45, maxDeterministicTime_);
3143 }
3144 if (((bitField0_ & 0x00001000) != 0)) {
3145 size += com.google.protobuf.CodedOutputStream
3146 .computeDoubleSize(52, dropTolerance_);
3147 }
3148 if (((bitField1_ & 0x00002000) != 0)) {
3149 size += com.google.protobuf.CodedOutputStream
3150 .computeBoolSize(53, perturbCostsInDualSimplex_);
3151 }
3152 if (((bitField1_ & 0x00008000) != 0)) {
3153 size += com.google.protobuf.CodedOutputStream
3154 .computeDoubleSize(54, relativeCostPerturbation_);
3155 }
3156 if (((bitField1_ & 0x00010000) != 0)) {
3157 size += com.google.protobuf.CodedOutputStream
3158 .computeDoubleSize(55, relativeMaxCostPerturbation_);
3159 }
3160 if (((bitField0_ & 0x01000000) != 0)) {
3161 size += com.google.protobuf.CodedOutputStream
3162 .computeDoubleSize(56, maxNumberOfReoptimizations_);
3163 }
3164 if (((bitField0_ & 0x00000001) != 0)) {
3165 size += com.google.protobuf.CodedOutputStream
3166 .computeEnumSize(57, scalingMethod_);
3167 }
3168 if (((bitField0_ & 0x00800000) != 0)) {
3169 size += com.google.protobuf.CodedOutputStream
3170 .computeBoolSize(58, changeStatusToImprecise_);
3171 }
3172 if (((bitField1_ & 0x00020000) != 0)) {
3173 size += com.google.protobuf.CodedOutputStream
3174 .computeDoubleSize(59, initialConditionNumberThreshold_);
3175 }
3176 if (((bitField0_ & 0x00004000) != 0)) {
3177 size += com.google.protobuf.CodedOutputStream
3178 .computeEnumSize(60, costScaling_);
3179 }
3180 if (((bitField1_ & 0x00040000) != 0)) {
3181 size += com.google.protobuf.CodedOutputStream
3182 .computeBoolSize(61, logSearchProgress_);
3183 }
3184 if (((bitField1_ & 0x00004000) != 0)) {
3185 size += com.google.protobuf.CodedOutputStream
3186 .computeBoolSize(62, useDedicatedDualFeasibilityAlgorithm_);
3187 }
3188 if (((bitField0_ & 0x00040000) != 0)) {
3189 size += com.google.protobuf.CodedOutputStream
3190 .computeBoolSize(63, dynamicallyAdjustRefactorizationPeriod_);
3191 }
3192 if (((bitField1_ & 0x00100000) != 0)) {
3193 size += com.google.protobuf.CodedOutputStream
3194 .computeDoubleSize(64, crossoverBoundSnappingDistance_);
3195 }
3196 if (((bitField1_ & 0x00200000) != 0)) {
3197 size += com.google.protobuf.CodedOutputStream
3198 .computeBoolSize(65, pushToVertex_);
3199 }
3200 if (((bitField1_ & 0x00080000) != 0)) {
3201 size += com.google.protobuf.CodedOutputStream
3202 .computeBoolSize(66, logToStdout_);
3203 }
3204 if (((bitField1_ & 0x00400000) != 0)) {
3205 size += com.google.protobuf.CodedOutputStream
3206 .computeBoolSize(67, useImpliedFreePreprocessor_);
3207 }
3208 if (((bitField1_ & 0x02000000) != 0)) {
3209 size += com.google.protobuf.CodedOutputStream
3210 .computeBoolSize(69, dualPricePrioritizeNorm_);
3211 }
3212 if (((bitField1_ & 0x00800000) != 0)) {
3213 size += com.google.protobuf.CodedOutputStream
3214 .computeDoubleSize(70, maxValidMagnitude_);
3215 }
3216 if (((bitField1_ & 0x01000000) != 0)) {
3217 size += com.google.protobuf.CodedOutputStream
3218 .computeDoubleSize(71, dropMagnitude_);
3219 }
3220 size += getUnknownFields().getSerializedSize();
3221 memoizedSize = size;
3222 return size;
3223 }
3224
3225 @java.lang.Override
3226 public boolean equals(final java.lang.Object obj) {
3227 if (obj == this) {
3228 return true;
3229 }
3230 if (!(obj instanceof com.google.ortools.glop.GlopParameters)) {
3231 return super.equals(obj);
3232 }
3233 com.google.ortools.glop.GlopParameters other = (com.google.ortools.glop.GlopParameters) obj;
3234
3235 if (hasScalingMethod() != other.hasScalingMethod()) return false;
3236 if (hasScalingMethod()) {
3237 if (scalingMethod_ != other.scalingMethod_) return false;
3238 }
3239 if (hasFeasibilityRule() != other.hasFeasibilityRule()) return false;
3240 if (hasFeasibilityRule()) {
3241 if (feasibilityRule_ != other.feasibilityRule_) return false;
3242 }
3243 if (hasOptimizationRule() != other.hasOptimizationRule()) return false;
3244 if (hasOptimizationRule()) {
3245 if (optimizationRule_ != other.optimizationRule_) return false;
3246 }
3247 if (hasRefactorizationThreshold() != other.hasRefactorizationThreshold()) return false;
3249 if (java.lang.Double.doubleToLongBits(getRefactorizationThreshold())
3250 != java.lang.Double.doubleToLongBits(
3251 other.getRefactorizationThreshold())) return false;
3252 }
3255 if (java.lang.Double.doubleToLongBits(getRecomputeReducedCostsThreshold())
3256 != java.lang.Double.doubleToLongBits(
3257 other.getRecomputeReducedCostsThreshold())) return false;
3258 }
3261 if (java.lang.Double.doubleToLongBits(getRecomputeEdgesNormThreshold())
3262 != java.lang.Double.doubleToLongBits(
3263 other.getRecomputeEdgesNormThreshold())) return false;
3264 }
3265 if (hasPrimalFeasibilityTolerance() != other.hasPrimalFeasibilityTolerance()) return false;
3267 if (java.lang.Double.doubleToLongBits(getPrimalFeasibilityTolerance())
3268 != java.lang.Double.doubleToLongBits(
3269 other.getPrimalFeasibilityTolerance())) return false;
3270 }
3271 if (hasDualFeasibilityTolerance() != other.hasDualFeasibilityTolerance()) return false;
3273 if (java.lang.Double.doubleToLongBits(getDualFeasibilityTolerance())
3274 != java.lang.Double.doubleToLongBits(
3275 other.getDualFeasibilityTolerance())) return false;
3276 }
3277 if (hasRatioTestZeroThreshold() != other.hasRatioTestZeroThreshold()) return false;
3279 if (java.lang.Double.doubleToLongBits(getRatioTestZeroThreshold())
3280 != java.lang.Double.doubleToLongBits(
3281 other.getRatioTestZeroThreshold())) return false;
3282 }
3283 if (hasHarrisToleranceRatio() != other.hasHarrisToleranceRatio()) return false;
3285 if (java.lang.Double.doubleToLongBits(getHarrisToleranceRatio())
3286 != java.lang.Double.doubleToLongBits(
3287 other.getHarrisToleranceRatio())) return false;
3288 }
3289 if (hasSmallPivotThreshold() != other.hasSmallPivotThreshold()) return false;
3290 if (hasSmallPivotThreshold()) {
3291 if (java.lang.Double.doubleToLongBits(getSmallPivotThreshold())
3292 != java.lang.Double.doubleToLongBits(
3293 other.getSmallPivotThreshold())) return false;
3294 }
3295 if (hasMinimumAcceptablePivot() != other.hasMinimumAcceptablePivot()) return false;
3297 if (java.lang.Double.doubleToLongBits(getMinimumAcceptablePivot())
3298 != java.lang.Double.doubleToLongBits(
3299 other.getMinimumAcceptablePivot())) return false;
3300 }
3301 if (hasDropTolerance() != other.hasDropTolerance()) return false;
3302 if (hasDropTolerance()) {
3303 if (java.lang.Double.doubleToLongBits(getDropTolerance())
3304 != java.lang.Double.doubleToLongBits(
3305 other.getDropTolerance())) return false;
3306 }
3307 if (hasUseScaling() != other.hasUseScaling()) return false;
3308 if (hasUseScaling()) {
3309 if (getUseScaling()
3310 != other.getUseScaling()) return false;
3311 }
3312 if (hasCostScaling() != other.hasCostScaling()) return false;
3313 if (hasCostScaling()) {
3314 if (costScaling_ != other.costScaling_) return false;
3315 }
3316 if (hasInitialBasis() != other.hasInitialBasis()) return false;
3317 if (hasInitialBasis()) {
3318 if (initialBasis_ != other.initialBasis_) return false;
3319 }
3320 if (hasUseTransposedMatrix() != other.hasUseTransposedMatrix()) return false;
3321 if (hasUseTransposedMatrix()) {
3323 != other.getUseTransposedMatrix()) return false;
3324 }
3325 if (hasBasisRefactorizationPeriod() != other.hasBasisRefactorizationPeriod()) return false;
3328 != other.getBasisRefactorizationPeriod()) return false;
3329 }
3333 != other.getDynamicallyAdjustRefactorizationPeriod()) return false;
3334 }
3335 if (hasSolveDualProblem() != other.hasSolveDualProblem()) return false;
3336 if (hasSolveDualProblem()) {
3337 if (solveDualProblem_ != other.solveDualProblem_) return false;
3338 }
3339 if (hasDualizerThreshold() != other.hasDualizerThreshold()) return false;
3340 if (hasDualizerThreshold()) {
3341 if (java.lang.Double.doubleToLongBits(getDualizerThreshold())
3342 != java.lang.Double.doubleToLongBits(
3343 other.getDualizerThreshold())) return false;
3344 }
3347 if (java.lang.Double.doubleToLongBits(getSolutionFeasibilityTolerance())
3348 != java.lang.Double.doubleToLongBits(
3349 other.getSolutionFeasibilityTolerance())) return false;
3350 }
3354 != other.getProvideStrongOptimalGuarantee()) return false;
3355 }
3356 if (hasChangeStatusToImprecise() != other.hasChangeStatusToImprecise()) return false;
3359 != other.getChangeStatusToImprecise()) return false;
3360 }
3361 if (hasMaxNumberOfReoptimizations() != other.hasMaxNumberOfReoptimizations()) return false;
3363 if (java.lang.Double.doubleToLongBits(getMaxNumberOfReoptimizations())
3364 != java.lang.Double.doubleToLongBits(
3365 other.getMaxNumberOfReoptimizations())) return false;
3366 }
3369 if (java.lang.Double.doubleToLongBits(getLuFactorizationPivotThreshold())
3370 != java.lang.Double.doubleToLongBits(
3371 other.getLuFactorizationPivotThreshold())) return false;
3372 }
3373 if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
3374 if (hasMaxTimeInSeconds()) {
3375 if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
3376 != java.lang.Double.doubleToLongBits(
3377 other.getMaxTimeInSeconds())) return false;
3378 }
3379 if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
3381 if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
3382 != java.lang.Double.doubleToLongBits(
3383 other.getMaxDeterministicTime())) return false;
3384 }
3385 if (hasMaxNumberOfIterations() != other.hasMaxNumberOfIterations()) return false;
3388 != other.getMaxNumberOfIterations()) return false;
3389 }
3390 if (hasMarkowitzZlatevParameter() != other.hasMarkowitzZlatevParameter()) return false;
3393 != other.getMarkowitzZlatevParameter()) return false;
3394 }
3397 if (java.lang.Double.doubleToLongBits(getMarkowitzSingularityThreshold())
3398 != java.lang.Double.doubleToLongBits(
3399 other.getMarkowitzSingularityThreshold())) return false;
3400 }
3401 if (hasUseDualSimplex() != other.hasUseDualSimplex()) return false;
3402 if (hasUseDualSimplex()) {
3403 if (getUseDualSimplex()
3404 != other.getUseDualSimplex()) return false;
3405 }
3409 != other.getAllowSimplexAlgorithmChange()) return false;
3410 }
3411 if (hasDevexWeightsResetPeriod() != other.hasDevexWeightsResetPeriod()) return false;
3414 != other.getDevexWeightsResetPeriod()) return false;
3415 }
3416 if (hasUsePreprocessing() != other.hasUsePreprocessing()) return false;
3417 if (hasUsePreprocessing()) {
3419 != other.getUsePreprocessing()) return false;
3420 }
3421 if (hasUseMiddleProductFormUpdate() != other.hasUseMiddleProductFormUpdate()) return false;
3424 != other.getUseMiddleProductFormUpdate()) return false;
3425 }
3429 != other.getInitializeDevexWithColumnNorms()) return false;
3430 }
3434 != other.getExploitSingletonColumnInInitialBasis()) return false;
3435 }
3436 if (hasDualSmallPivotThreshold() != other.hasDualSmallPivotThreshold()) return false;
3438 if (java.lang.Double.doubleToLongBits(getDualSmallPivotThreshold())
3439 != java.lang.Double.doubleToLongBits(
3440 other.getDualSmallPivotThreshold())) return false;
3441 }
3442 if (hasPreprocessorZeroTolerance() != other.hasPreprocessorZeroTolerance()) return false;
3444 if (java.lang.Double.doubleToLongBits(getPreprocessorZeroTolerance())
3445 != java.lang.Double.doubleToLongBits(
3446 other.getPreprocessorZeroTolerance())) return false;
3447 }
3448 if (hasObjectiveLowerLimit() != other.hasObjectiveLowerLimit()) return false;
3449 if (hasObjectiveLowerLimit()) {
3450 if (java.lang.Double.doubleToLongBits(getObjectiveLowerLimit())
3451 != java.lang.Double.doubleToLongBits(
3452 other.getObjectiveLowerLimit())) return false;
3453 }
3454 if (hasObjectiveUpperLimit() != other.hasObjectiveUpperLimit()) return false;
3455 if (hasObjectiveUpperLimit()) {
3456 if (java.lang.Double.doubleToLongBits(getObjectiveUpperLimit())
3457 != java.lang.Double.doubleToLongBits(
3458 other.getObjectiveUpperLimit())) return false;
3459 }
3460 if (hasDegenerateMinistepFactor() != other.hasDegenerateMinistepFactor()) return false;
3462 if (java.lang.Double.doubleToLongBits(getDegenerateMinistepFactor())
3463 != java.lang.Double.doubleToLongBits(
3464 other.getDegenerateMinistepFactor())) return false;
3465 }
3466 if (hasRandomSeed() != other.hasRandomSeed()) return false;
3467 if (hasRandomSeed()) {
3468 if (getRandomSeed()
3469 != other.getRandomSeed()) return false;
3470 }
3471 if (hasNumOmpThreads() != other.hasNumOmpThreads()) return false;
3472 if (hasNumOmpThreads()) {
3473 if (getNumOmpThreads()
3474 != other.getNumOmpThreads()) return false;
3475 }
3476 if (hasPerturbCostsInDualSimplex() != other.hasPerturbCostsInDualSimplex()) return false;
3479 != other.getPerturbCostsInDualSimplex()) return false;
3480 }
3484 != other.getUseDedicatedDualFeasibilityAlgorithm()) return false;
3485 }
3486 if (hasRelativeCostPerturbation() != other.hasRelativeCostPerturbation()) return false;
3488 if (java.lang.Double.doubleToLongBits(getRelativeCostPerturbation())
3489 != java.lang.Double.doubleToLongBits(
3490 other.getRelativeCostPerturbation())) return false;
3491 }
3494 if (java.lang.Double.doubleToLongBits(getRelativeMaxCostPerturbation())
3495 != java.lang.Double.doubleToLongBits(
3496 other.getRelativeMaxCostPerturbation())) return false;
3497 }
3500 if (java.lang.Double.doubleToLongBits(getInitialConditionNumberThreshold())
3501 != java.lang.Double.doubleToLongBits(
3502 other.getInitialConditionNumberThreshold())) return false;
3503 }
3504 if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
3505 if (hasLogSearchProgress()) {
3507 != other.getLogSearchProgress()) return false;
3508 }
3509 if (hasLogToStdout() != other.hasLogToStdout()) return false;
3510 if (hasLogToStdout()) {
3511 if (getLogToStdout()
3512 != other.getLogToStdout()) return false;
3513 }
3516 if (java.lang.Double.doubleToLongBits(getCrossoverBoundSnappingDistance())
3517 != java.lang.Double.doubleToLongBits(
3518 other.getCrossoverBoundSnappingDistance())) return false;
3519 }
3520 if (hasPushToVertex() != other.hasPushToVertex()) return false;
3521 if (hasPushToVertex()) {
3522 if (getPushToVertex()
3523 != other.getPushToVertex()) return false;
3524 }
3525 if (hasUseImpliedFreePreprocessor() != other.hasUseImpliedFreePreprocessor()) return false;
3528 != other.getUseImpliedFreePreprocessor()) return false;
3529 }
3530 if (hasMaxValidMagnitude() != other.hasMaxValidMagnitude()) return false;
3531 if (hasMaxValidMagnitude()) {
3532 if (java.lang.Double.doubleToLongBits(getMaxValidMagnitude())
3533 != java.lang.Double.doubleToLongBits(
3534 other.getMaxValidMagnitude())) return false;
3535 }
3536 if (hasDropMagnitude() != other.hasDropMagnitude()) return false;
3537 if (hasDropMagnitude()) {
3538 if (java.lang.Double.doubleToLongBits(getDropMagnitude())
3539 != java.lang.Double.doubleToLongBits(
3540 other.getDropMagnitude())) return false;
3541 }
3542 if (hasDualPricePrioritizeNorm() != other.hasDualPricePrioritizeNorm()) return false;
3545 != other.getDualPricePrioritizeNorm()) return false;
3546 }
3547 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
3548 return true;
3549 }
3550
3551 @java.lang.Override
3552 public int hashCode() {
3553 if (memoizedHashCode != 0) {
3554 return memoizedHashCode;
3555 }
3556 int hash = 41;
3557 hash = (19 * hash) + getDescriptor().hashCode();
3558 if (hasScalingMethod()) {
3559 hash = (37 * hash) + SCALING_METHOD_FIELD_NUMBER;
3560 hash = (53 * hash) + scalingMethod_;
3561 }
3562 if (hasFeasibilityRule()) {
3563 hash = (37 * hash) + FEASIBILITY_RULE_FIELD_NUMBER;
3564 hash = (53 * hash) + feasibilityRule_;
3565 }
3566 if (hasOptimizationRule()) {
3567 hash = (37 * hash) + OPTIMIZATION_RULE_FIELD_NUMBER;
3568 hash = (53 * hash) + optimizationRule_;
3569 }
3571 hash = (37 * hash) + REFACTORIZATION_THRESHOLD_FIELD_NUMBER;
3572 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3573 java.lang.Double.doubleToLongBits(getRefactorizationThreshold()));
3574 }
3577 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3578 java.lang.Double.doubleToLongBits(getRecomputeReducedCostsThreshold()));
3579 }
3582 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3583 java.lang.Double.doubleToLongBits(getRecomputeEdgesNormThreshold()));
3584 }
3586 hash = (37 * hash) + PRIMAL_FEASIBILITY_TOLERANCE_FIELD_NUMBER;
3587 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3588 java.lang.Double.doubleToLongBits(getPrimalFeasibilityTolerance()));
3589 }
3591 hash = (37 * hash) + DUAL_FEASIBILITY_TOLERANCE_FIELD_NUMBER;
3592 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3593 java.lang.Double.doubleToLongBits(getDualFeasibilityTolerance()));
3594 }
3596 hash = (37 * hash) + RATIO_TEST_ZERO_THRESHOLD_FIELD_NUMBER;
3597 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3598 java.lang.Double.doubleToLongBits(getRatioTestZeroThreshold()));
3599 }
3601 hash = (37 * hash) + HARRIS_TOLERANCE_RATIO_FIELD_NUMBER;
3602 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3603 java.lang.Double.doubleToLongBits(getHarrisToleranceRatio()));
3604 }
3605 if (hasSmallPivotThreshold()) {
3606 hash = (37 * hash) + SMALL_PIVOT_THRESHOLD_FIELD_NUMBER;
3607 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3608 java.lang.Double.doubleToLongBits(getSmallPivotThreshold()));
3609 }
3611 hash = (37 * hash) + MINIMUM_ACCEPTABLE_PIVOT_FIELD_NUMBER;
3612 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3613 java.lang.Double.doubleToLongBits(getMinimumAcceptablePivot()));
3614 }
3615 if (hasDropTolerance()) {
3616 hash = (37 * hash) + DROP_TOLERANCE_FIELD_NUMBER;
3617 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3618 java.lang.Double.doubleToLongBits(getDropTolerance()));
3619 }
3620 if (hasUseScaling()) {
3621 hash = (37 * hash) + USE_SCALING_FIELD_NUMBER;
3622 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3623 getUseScaling());
3624 }
3625 if (hasCostScaling()) {
3626 hash = (37 * hash) + COST_SCALING_FIELD_NUMBER;
3627 hash = (53 * hash) + costScaling_;
3628 }
3629 if (hasInitialBasis()) {
3630 hash = (37 * hash) + INITIAL_BASIS_FIELD_NUMBER;
3631 hash = (53 * hash) + initialBasis_;
3632 }
3633 if (hasUseTransposedMatrix()) {
3634 hash = (37 * hash) + USE_TRANSPOSED_MATRIX_FIELD_NUMBER;
3635 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3637 }
3639 hash = (37 * hash) + BASIS_REFACTORIZATION_PERIOD_FIELD_NUMBER;
3640 hash = (53 * hash) + getBasisRefactorizationPeriod();
3641 }
3644 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3646 }
3647 if (hasSolveDualProblem()) {
3648 hash = (37 * hash) + SOLVE_DUAL_PROBLEM_FIELD_NUMBER;
3649 hash = (53 * hash) + solveDualProblem_;
3650 }
3651 if (hasDualizerThreshold()) {
3652 hash = (37 * hash) + DUALIZER_THRESHOLD_FIELD_NUMBER;
3653 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3654 java.lang.Double.doubleToLongBits(getDualizerThreshold()));
3655 }
3658 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3659 java.lang.Double.doubleToLongBits(getSolutionFeasibilityTolerance()));
3660 }
3663 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3665 }
3667 hash = (37 * hash) + CHANGE_STATUS_TO_IMPRECISE_FIELD_NUMBER;
3668 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3670 }
3672 hash = (37 * hash) + MAX_NUMBER_OF_REOPTIMIZATIONS_FIELD_NUMBER;
3673 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3674 java.lang.Double.doubleToLongBits(getMaxNumberOfReoptimizations()));
3675 }
3678 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3679 java.lang.Double.doubleToLongBits(getLuFactorizationPivotThreshold()));
3680 }
3681 if (hasMaxTimeInSeconds()) {
3682 hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
3683 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3684 java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
3685 }
3687 hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
3688 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3689 java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
3690 }
3692 hash = (37 * hash) + MAX_NUMBER_OF_ITERATIONS_FIELD_NUMBER;
3693 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3695 }
3697 hash = (37 * hash) + MARKOWITZ_ZLATEV_PARAMETER_FIELD_NUMBER;
3698 hash = (53 * hash) + getMarkowitzZlatevParameter();
3699 }
3702 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3703 java.lang.Double.doubleToLongBits(getMarkowitzSingularityThreshold()));
3704 }
3705 if (hasUseDualSimplex()) {
3706 hash = (37 * hash) + USE_DUAL_SIMPLEX_FIELD_NUMBER;
3707 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3709 }
3712 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3714 }
3716 hash = (37 * hash) + DEVEX_WEIGHTS_RESET_PERIOD_FIELD_NUMBER;
3717 hash = (53 * hash) + getDevexWeightsResetPeriod();
3718 }
3719 if (hasUsePreprocessing()) {
3720 hash = (37 * hash) + USE_PREPROCESSING_FIELD_NUMBER;
3721 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3723 }
3726 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3728 }
3731 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3733 }
3736 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3738 }
3740 hash = (37 * hash) + DUAL_SMALL_PIVOT_THRESHOLD_FIELD_NUMBER;
3741 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3742 java.lang.Double.doubleToLongBits(getDualSmallPivotThreshold()));
3743 }
3745 hash = (37 * hash) + PREPROCESSOR_ZERO_TOLERANCE_FIELD_NUMBER;
3746 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3747 java.lang.Double.doubleToLongBits(getPreprocessorZeroTolerance()));
3748 }
3749 if (hasObjectiveLowerLimit()) {
3750 hash = (37 * hash) + OBJECTIVE_LOWER_LIMIT_FIELD_NUMBER;
3751 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3752 java.lang.Double.doubleToLongBits(getObjectiveLowerLimit()));
3753 }
3754 if (hasObjectiveUpperLimit()) {
3755 hash = (37 * hash) + OBJECTIVE_UPPER_LIMIT_FIELD_NUMBER;
3756 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3757 java.lang.Double.doubleToLongBits(getObjectiveUpperLimit()));
3758 }
3760 hash = (37 * hash) + DEGENERATE_MINISTEP_FACTOR_FIELD_NUMBER;
3761 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3762 java.lang.Double.doubleToLongBits(getDegenerateMinistepFactor()));
3763 }
3764 if (hasRandomSeed()) {
3765 hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
3766 hash = (53 * hash) + getRandomSeed();
3767 }
3768 if (hasNumOmpThreads()) {
3769 hash = (37 * hash) + NUM_OMP_THREADS_FIELD_NUMBER;
3770 hash = (53 * hash) + getNumOmpThreads();
3771 }
3773 hash = (37 * hash) + PERTURB_COSTS_IN_DUAL_SIMPLEX_FIELD_NUMBER;
3774 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3776 }
3779 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3781 }
3783 hash = (37 * hash) + RELATIVE_COST_PERTURBATION_FIELD_NUMBER;
3784 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3785 java.lang.Double.doubleToLongBits(getRelativeCostPerturbation()));
3786 }
3789 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3790 java.lang.Double.doubleToLongBits(getRelativeMaxCostPerturbation()));
3791 }
3794 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3795 java.lang.Double.doubleToLongBits(getInitialConditionNumberThreshold()));
3796 }
3797 if (hasLogSearchProgress()) {
3798 hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
3799 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3801 }
3802 if (hasLogToStdout()) {
3803 hash = (37 * hash) + LOG_TO_STDOUT_FIELD_NUMBER;
3804 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3805 getLogToStdout());
3806 }
3809 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3810 java.lang.Double.doubleToLongBits(getCrossoverBoundSnappingDistance()));
3811 }
3812 if (hasPushToVertex()) {
3813 hash = (37 * hash) + PUSH_TO_VERTEX_FIELD_NUMBER;
3814 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3815 getPushToVertex());
3816 }
3818 hash = (37 * hash) + USE_IMPLIED_FREE_PREPROCESSOR_FIELD_NUMBER;
3819 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3821 }
3822 if (hasMaxValidMagnitude()) {
3823 hash = (37 * hash) + MAX_VALID_MAGNITUDE_FIELD_NUMBER;
3824 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3825 java.lang.Double.doubleToLongBits(getMaxValidMagnitude()));
3826 }
3827 if (hasDropMagnitude()) {
3828 hash = (37 * hash) + DROP_MAGNITUDE_FIELD_NUMBER;
3829 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3830 java.lang.Double.doubleToLongBits(getDropMagnitude()));
3831 }
3833 hash = (37 * hash) + DUAL_PRICE_PRIORITIZE_NORM_FIELD_NUMBER;
3834 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3836 }
3837 hash = (29 * hash) + getUnknownFields().hashCode();
3838 memoizedHashCode = hash;
3839 return hash;
3840 }
3841
3843 java.nio.ByteBuffer data)
3844 throws com.google.protobuf.InvalidProtocolBufferException {
3845 return PARSER.parseFrom(data);
3846 }
3848 java.nio.ByteBuffer data,
3849 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3850 throws com.google.protobuf.InvalidProtocolBufferException {
3851 return PARSER.parseFrom(data, extensionRegistry);
3852 }
3854 com.google.protobuf.ByteString data)
3855 throws com.google.protobuf.InvalidProtocolBufferException {
3856 return PARSER.parseFrom(data);
3857 }
3859 com.google.protobuf.ByteString data,
3860 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3861 throws com.google.protobuf.InvalidProtocolBufferException {
3862 return PARSER.parseFrom(data, extensionRegistry);
3863 }
3865 throws com.google.protobuf.InvalidProtocolBufferException {
3866 return PARSER.parseFrom(data);
3867 }
3869 byte[] data,
3870 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3871 throws com.google.protobuf.InvalidProtocolBufferException {
3872 return PARSER.parseFrom(data, extensionRegistry);
3873 }
3874 public static com.google.ortools.glop.GlopParameters parseFrom(java.io.InputStream input)
3875 throws java.io.IOException {
3876 return com.google.protobuf.GeneratedMessage
3877 .parseWithIOException(PARSER, input);
3878 }
3880 java.io.InputStream input,
3881 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3882 throws java.io.IOException {
3883 return com.google.protobuf.GeneratedMessage
3884 .parseWithIOException(PARSER, input, extensionRegistry);
3885 }
3886
3887 public static com.google.ortools.glop.GlopParameters parseDelimitedFrom(java.io.InputStream input)
3888 throws java.io.IOException {
3889 return com.google.protobuf.GeneratedMessage
3890 .parseDelimitedWithIOException(PARSER, input);
3891 }
3892
3894 java.io.InputStream input,
3895 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3896 throws java.io.IOException {
3897 return com.google.protobuf.GeneratedMessage
3898 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
3899 }
3901 com.google.protobuf.CodedInputStream input)
3902 throws java.io.IOException {
3903 return com.google.protobuf.GeneratedMessage
3904 .parseWithIOException(PARSER, input);
3905 }
3907 com.google.protobuf.CodedInputStream input,
3908 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3909 throws java.io.IOException {
3910 return com.google.protobuf.GeneratedMessage
3911 .parseWithIOException(PARSER, input, extensionRegistry);
3912 }
3913
3914 @java.lang.Override
3915 public Builder newBuilderForType() { return newBuilder(); }
3916 public static Builder newBuilder() {
3917 return DEFAULT_INSTANCE.toBuilder();
3918 }
3919 public static Builder newBuilder(com.google.ortools.glop.GlopParameters prototype) {
3920 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
3921 }
3922 @java.lang.Override
3924 return this == DEFAULT_INSTANCE
3925 ? new Builder() : new Builder().mergeFrom(this);
3926 }
3927
3928 @java.lang.Override
3930 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
3931 Builder builder = new Builder(parent);
3932 return builder;
3933 }
3941 public static final class Builder extends
3942 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
3943 // @@protoc_insertion_point(builder_implements:operations_research.glop.GlopParameters)
3944 com.google.ortools.glop.GlopParametersOrBuilder {
3945 public static final com.google.protobuf.Descriptors.Descriptor
3947 return com.google.ortools.glop.Parameters.internal_static_operations_research_glop_GlopParameters_descriptor;
3948 }
3949
3950 @java.lang.Override
3951 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
3953 return com.google.ortools.glop.Parameters.internal_static_operations_research_glop_GlopParameters_fieldAccessorTable
3954 .ensureFieldAccessorsInitialized(
3955 com.google.ortools.glop.GlopParameters.class, com.google.ortools.glop.GlopParameters.Builder.class);
3956 }
3957
3958 // Construct using com.google.ortools.glop.GlopParameters.newBuilder()
3959 private Builder() {
3960
3961 }
3962
3963 private Builder(
3964 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
3965 super(parent);
3966
3967 }
3968 @java.lang.Override
3969 public Builder clear() {
3970 super.clear();
3971 bitField0_ = 0;
3972 bitField1_ = 0;
3973 scalingMethod_ = 1;
3974 feasibilityRule_ = 1;
3975 optimizationRule_ = 1;
3976 refactorizationThreshold_ = 1e-09D;
3977 recomputeReducedCostsThreshold_ = 1e-08D;
3978 recomputeEdgesNormThreshold_ = 100D;
3979 primalFeasibilityTolerance_ = 1e-08D;
3980 dualFeasibilityTolerance_ = 1e-08D;
3981 ratioTestZeroThreshold_ = 1e-09D;
3982 harrisToleranceRatio_ = 0.5D;
3983 smallPivotThreshold_ = 1e-06D;
3984 minimumAcceptablePivot_ = 1e-06D;
3985 dropTolerance_ = 1e-14D;
3986 useScaling_ = true;
3987 costScaling_ = 1;
3988 initialBasis_ = 2;
3989 useTransposedMatrix_ = true;
3990 basisRefactorizationPeriod_ = 64;
3991 dynamicallyAdjustRefactorizationPeriod_ = true;
3992 solveDualProblem_ = 2;
3993 dualizerThreshold_ = 1.5D;
3994 solutionFeasibilityTolerance_ = 1e-06D;
3995 provideStrongOptimalGuarantee_ = true;
3996 changeStatusToImprecise_ = true;
3997 maxNumberOfReoptimizations_ = 40D;
3998 luFactorizationPivotThreshold_ = 0.01D;
3999 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
4000 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
4001 maxNumberOfIterations_ = -1L;
4002 markowitzZlatevParameter_ = 3;
4003 markowitzSingularityThreshold_ = 1e-15D;
4004 useDualSimplex_ = false;
4005 allowSimplexAlgorithmChange_ = false;
4006 devexWeightsResetPeriod_ = 150;
4007 usePreprocessing_ = true;
4008 useMiddleProductFormUpdate_ = true;
4009 initializeDevexWithColumnNorms_ = true;
4010 exploitSingletonColumnInInitialBasis_ = true;
4011 dualSmallPivotThreshold_ = 0.0001D;
4012 preprocessorZeroTolerance_ = 1e-09D;
4013 objectiveLowerLimit_ = Double.NEGATIVE_INFINITY;
4014 objectiveUpperLimit_ = Double.POSITIVE_INFINITY;
4015 degenerateMinistepFactor_ = 0.01D;
4016 randomSeed_ = 1;
4017 numOmpThreads_ = 1;
4018 perturbCostsInDualSimplex_ = false;
4019 useDedicatedDualFeasibilityAlgorithm_ = true;
4020 relativeCostPerturbation_ = 1e-05D;
4021 relativeMaxCostPerturbation_ = 1e-07D;
4022 initialConditionNumberThreshold_ = 1e+50D;
4023 logSearchProgress_ = false;
4024 logToStdout_ = true;
4025 crossoverBoundSnappingDistance_ = Double.POSITIVE_INFINITY;
4026 pushToVertex_ = true;
4027 useImpliedFreePreprocessor_ = true;
4028 maxValidMagnitude_ = 1e+30D;
4029 dropMagnitude_ = 1e-30D;
4030 dualPricePrioritizeNorm_ = false;
4031 return this;
4032 }
4033
4034 @java.lang.Override
4035 public com.google.protobuf.Descriptors.Descriptor
4037 return com.google.ortools.glop.Parameters.internal_static_operations_research_glop_GlopParameters_descriptor;
4038 }
4039
4040 @java.lang.Override
4042 return com.google.ortools.glop.GlopParameters.getDefaultInstance();
4043 }
4044
4045 @java.lang.Override
4048 if (!result.isInitialized()) {
4049 throw newUninitializedMessageException(result);
4050 }
4051 return result;
4052 }
4053
4054 @java.lang.Override
4056 com.google.ortools.glop.GlopParameters result = new com.google.ortools.glop.GlopParameters(this);
4057 if (bitField0_ != 0) { buildPartial0(result); }
4058 if (bitField1_ != 0) { buildPartial1(result); }
4059 onBuilt();
4060 return result;
4061 }
4062
4063 private void buildPartial0(com.google.ortools.glop.GlopParameters result) {
4064 int from_bitField0_ = bitField0_;
4065 int to_bitField0_ = 0;
4066 if (((from_bitField0_ & 0x00000001) != 0)) {
4067 result.scalingMethod_ = scalingMethod_;
4068 to_bitField0_ |= 0x00000001;
4069 }
4070 if (((from_bitField0_ & 0x00000002) != 0)) {
4071 result.feasibilityRule_ = feasibilityRule_;
4072 to_bitField0_ |= 0x00000002;
4073 }
4074 if (((from_bitField0_ & 0x00000004) != 0)) {
4075 result.optimizationRule_ = optimizationRule_;
4076 to_bitField0_ |= 0x00000004;
4077 }
4078 if (((from_bitField0_ & 0x00000008) != 0)) {
4079 result.refactorizationThreshold_ = refactorizationThreshold_;
4080 to_bitField0_ |= 0x00000008;
4081 }
4082 if (((from_bitField0_ & 0x00000010) != 0)) {
4083 result.recomputeReducedCostsThreshold_ = recomputeReducedCostsThreshold_;
4084 to_bitField0_ |= 0x00000010;
4085 }
4086 if (((from_bitField0_ & 0x00000020) != 0)) {
4087 result.recomputeEdgesNormThreshold_ = recomputeEdgesNormThreshold_;
4088 to_bitField0_ |= 0x00000020;
4089 }
4090 if (((from_bitField0_ & 0x00000040) != 0)) {
4091 result.primalFeasibilityTolerance_ = primalFeasibilityTolerance_;
4092 to_bitField0_ |= 0x00000040;
4093 }
4094 if (((from_bitField0_ & 0x00000080) != 0)) {
4095 result.dualFeasibilityTolerance_ = dualFeasibilityTolerance_;
4096 to_bitField0_ |= 0x00000080;
4097 }
4098 if (((from_bitField0_ & 0x00000100) != 0)) {
4099 result.ratioTestZeroThreshold_ = ratioTestZeroThreshold_;
4100 to_bitField0_ |= 0x00000100;
4101 }
4102 if (((from_bitField0_ & 0x00000200) != 0)) {
4103 result.harrisToleranceRatio_ = harrisToleranceRatio_;
4104 to_bitField0_ |= 0x00000200;
4105 }
4106 if (((from_bitField0_ & 0x00000400) != 0)) {
4107 result.smallPivotThreshold_ = smallPivotThreshold_;
4108 to_bitField0_ |= 0x00000400;
4109 }
4110 if (((from_bitField0_ & 0x00000800) != 0)) {
4111 result.minimumAcceptablePivot_ = minimumAcceptablePivot_;
4112 to_bitField0_ |= 0x00000800;
4113 }
4114 if (((from_bitField0_ & 0x00001000) != 0)) {
4115 result.dropTolerance_ = dropTolerance_;
4116 to_bitField0_ |= 0x00001000;
4117 }
4118 if (((from_bitField0_ & 0x00002000) != 0)) {
4119 result.useScaling_ = useScaling_;
4120 to_bitField0_ |= 0x00002000;
4121 }
4122 if (((from_bitField0_ & 0x00004000) != 0)) {
4123 result.costScaling_ = costScaling_;
4124 to_bitField0_ |= 0x00004000;
4125 }
4126 if (((from_bitField0_ & 0x00008000) != 0)) {
4127 result.initialBasis_ = initialBasis_;
4128 to_bitField0_ |= 0x00008000;
4129 }
4130 if (((from_bitField0_ & 0x00010000) != 0)) {
4131 result.useTransposedMatrix_ = useTransposedMatrix_;
4132 to_bitField0_ |= 0x00010000;
4133 }
4134 if (((from_bitField0_ & 0x00020000) != 0)) {
4135 result.basisRefactorizationPeriod_ = basisRefactorizationPeriod_;
4136 to_bitField0_ |= 0x00020000;
4137 }
4138 if (((from_bitField0_ & 0x00040000) != 0)) {
4139 result.dynamicallyAdjustRefactorizationPeriod_ = dynamicallyAdjustRefactorizationPeriod_;
4140 to_bitField0_ |= 0x00040000;
4141 }
4142 if (((from_bitField0_ & 0x00080000) != 0)) {
4143 result.solveDualProblem_ = solveDualProblem_;
4144 to_bitField0_ |= 0x00080000;
4145 }
4146 if (((from_bitField0_ & 0x00100000) != 0)) {
4147 result.dualizerThreshold_ = dualizerThreshold_;
4148 to_bitField0_ |= 0x00100000;
4149 }
4150 if (((from_bitField0_ & 0x00200000) != 0)) {
4151 result.solutionFeasibilityTolerance_ = solutionFeasibilityTolerance_;
4152 to_bitField0_ |= 0x00200000;
4153 }
4154 if (((from_bitField0_ & 0x00400000) != 0)) {
4155 result.provideStrongOptimalGuarantee_ = provideStrongOptimalGuarantee_;
4156 to_bitField0_ |= 0x00400000;
4157 }
4158 if (((from_bitField0_ & 0x00800000) != 0)) {
4159 result.changeStatusToImprecise_ = changeStatusToImprecise_;
4160 to_bitField0_ |= 0x00800000;
4161 }
4162 if (((from_bitField0_ & 0x01000000) != 0)) {
4163 result.maxNumberOfReoptimizations_ = maxNumberOfReoptimizations_;
4164 to_bitField0_ |= 0x01000000;
4165 }
4166 if (((from_bitField0_ & 0x02000000) != 0)) {
4167 result.luFactorizationPivotThreshold_ = luFactorizationPivotThreshold_;
4168 to_bitField0_ |= 0x02000000;
4169 }
4170 if (((from_bitField0_ & 0x04000000) != 0)) {
4171 result.maxTimeInSeconds_ = maxTimeInSeconds_;
4172 to_bitField0_ |= 0x04000000;
4173 }
4174 if (((from_bitField0_ & 0x08000000) != 0)) {
4175 result.maxDeterministicTime_ = maxDeterministicTime_;
4176 to_bitField0_ |= 0x08000000;
4177 }
4178 if (((from_bitField0_ & 0x10000000) != 0)) {
4179 result.maxNumberOfIterations_ = maxNumberOfIterations_;
4180 to_bitField0_ |= 0x10000000;
4181 }
4182 if (((from_bitField0_ & 0x20000000) != 0)) {
4183 result.markowitzZlatevParameter_ = markowitzZlatevParameter_;
4184 to_bitField0_ |= 0x20000000;
4185 }
4186 if (((from_bitField0_ & 0x40000000) != 0)) {
4187 result.markowitzSingularityThreshold_ = markowitzSingularityThreshold_;
4188 to_bitField0_ |= 0x40000000;
4189 }
4190 if (((from_bitField0_ & 0x80000000) != 0)) {
4191 result.useDualSimplex_ = useDualSimplex_;
4192 to_bitField0_ |= 0x80000000;
4193 }
4194 result.bitField0_ |= to_bitField0_;
4195 }
4196
4197 private void buildPartial1(com.google.ortools.glop.GlopParameters result) {
4198 int from_bitField1_ = bitField1_;
4199 int to_bitField1_ = 0;
4200 if (((from_bitField1_ & 0x00000001) != 0)) {
4201 result.allowSimplexAlgorithmChange_ = allowSimplexAlgorithmChange_;
4202 to_bitField1_ |= 0x00000001;
4203 }
4204 if (((from_bitField1_ & 0x00000002) != 0)) {
4205 result.devexWeightsResetPeriod_ = devexWeightsResetPeriod_;
4206 to_bitField1_ |= 0x00000002;
4207 }
4208 if (((from_bitField1_ & 0x00000004) != 0)) {
4209 result.usePreprocessing_ = usePreprocessing_;
4210 to_bitField1_ |= 0x00000004;
4211 }
4212 if (((from_bitField1_ & 0x00000008) != 0)) {
4213 result.useMiddleProductFormUpdate_ = useMiddleProductFormUpdate_;
4214 to_bitField1_ |= 0x00000008;
4215 }
4216 if (((from_bitField1_ & 0x00000010) != 0)) {
4217 result.initializeDevexWithColumnNorms_ = initializeDevexWithColumnNorms_;
4218 to_bitField1_ |= 0x00000010;
4219 }
4220 if (((from_bitField1_ & 0x00000020) != 0)) {
4221 result.exploitSingletonColumnInInitialBasis_ = exploitSingletonColumnInInitialBasis_;
4222 to_bitField1_ |= 0x00000020;
4223 }
4224 if (((from_bitField1_ & 0x00000040) != 0)) {
4225 result.dualSmallPivotThreshold_ = dualSmallPivotThreshold_;
4226 to_bitField1_ |= 0x00000040;
4227 }
4228 if (((from_bitField1_ & 0x00000080) != 0)) {
4229 result.preprocessorZeroTolerance_ = preprocessorZeroTolerance_;
4230 to_bitField1_ |= 0x00000080;
4231 }
4232 if (((from_bitField1_ & 0x00000100) != 0)) {
4233 result.objectiveLowerLimit_ = objectiveLowerLimit_;
4234 to_bitField1_ |= 0x00000100;
4235 }
4236 if (((from_bitField1_ & 0x00000200) != 0)) {
4237 result.objectiveUpperLimit_ = objectiveUpperLimit_;
4238 to_bitField1_ |= 0x00000200;
4239 }
4240 if (((from_bitField1_ & 0x00000400) != 0)) {
4241 result.degenerateMinistepFactor_ = degenerateMinistepFactor_;
4242 to_bitField1_ |= 0x00000400;
4243 }
4244 if (((from_bitField1_ & 0x00000800) != 0)) {
4245 result.randomSeed_ = randomSeed_;
4246 to_bitField1_ |= 0x00000800;
4247 }
4248 if (((from_bitField1_ & 0x00001000) != 0)) {
4249 result.numOmpThreads_ = numOmpThreads_;
4250 to_bitField1_ |= 0x00001000;
4251 }
4252 if (((from_bitField1_ & 0x00002000) != 0)) {
4253 result.perturbCostsInDualSimplex_ = perturbCostsInDualSimplex_;
4254 to_bitField1_ |= 0x00002000;
4255 }
4256 if (((from_bitField1_ & 0x00004000) != 0)) {
4257 result.useDedicatedDualFeasibilityAlgorithm_ = useDedicatedDualFeasibilityAlgorithm_;
4258 to_bitField1_ |= 0x00004000;
4259 }
4260 if (((from_bitField1_ & 0x00008000) != 0)) {
4261 result.relativeCostPerturbation_ = relativeCostPerturbation_;
4262 to_bitField1_ |= 0x00008000;
4263 }
4264 if (((from_bitField1_ & 0x00010000) != 0)) {
4265 result.relativeMaxCostPerturbation_ = relativeMaxCostPerturbation_;
4266 to_bitField1_ |= 0x00010000;
4267 }
4268 if (((from_bitField1_ & 0x00020000) != 0)) {
4269 result.initialConditionNumberThreshold_ = initialConditionNumberThreshold_;
4270 to_bitField1_ |= 0x00020000;
4271 }
4272 if (((from_bitField1_ & 0x00040000) != 0)) {
4273 result.logSearchProgress_ = logSearchProgress_;
4274 to_bitField1_ |= 0x00040000;
4275 }
4276 if (((from_bitField1_ & 0x00080000) != 0)) {
4277 result.logToStdout_ = logToStdout_;
4278 to_bitField1_ |= 0x00080000;
4279 }
4280 if (((from_bitField1_ & 0x00100000) != 0)) {
4281 result.crossoverBoundSnappingDistance_ = crossoverBoundSnappingDistance_;
4282 to_bitField1_ |= 0x00100000;
4283 }
4284 if (((from_bitField1_ & 0x00200000) != 0)) {
4285 result.pushToVertex_ = pushToVertex_;
4286 to_bitField1_ |= 0x00200000;
4287 }
4288 if (((from_bitField1_ & 0x00400000) != 0)) {
4289 result.useImpliedFreePreprocessor_ = useImpliedFreePreprocessor_;
4290 to_bitField1_ |= 0x00400000;
4291 }
4292 if (((from_bitField1_ & 0x00800000) != 0)) {
4293 result.maxValidMagnitude_ = maxValidMagnitude_;
4294 to_bitField1_ |= 0x00800000;
4295 }
4296 if (((from_bitField1_ & 0x01000000) != 0)) {
4297 result.dropMagnitude_ = dropMagnitude_;
4298 to_bitField1_ |= 0x01000000;
4299 }
4300 if (((from_bitField1_ & 0x02000000) != 0)) {
4301 result.dualPricePrioritizeNorm_ = dualPricePrioritizeNorm_;
4302 to_bitField1_ |= 0x02000000;
4303 }
4304 result.bitField1_ |= to_bitField1_;
4305 }
4306
4307 @java.lang.Override
4308 public Builder mergeFrom(com.google.protobuf.Message other) {
4309 if (other instanceof com.google.ortools.glop.GlopParameters) {
4310 return mergeFrom((com.google.ortools.glop.GlopParameters)other);
4311 } else {
4312 super.mergeFrom(other);
4313 return this;
4314 }
4315 }
4316
4317 public Builder mergeFrom(com.google.ortools.glop.GlopParameters other) {
4318 if (other == com.google.ortools.glop.GlopParameters.getDefaultInstance()) return this;
4319 if (other.hasScalingMethod()) {
4320 setScalingMethod(other.getScalingMethod());
4321 }
4322 if (other.hasFeasibilityRule()) {
4323 setFeasibilityRule(other.getFeasibilityRule());
4324 }
4325 if (other.hasOptimizationRule()) {
4326 setOptimizationRule(other.getOptimizationRule());
4327 }
4328 if (other.hasRefactorizationThreshold()) {
4329 setRefactorizationThreshold(other.getRefactorizationThreshold());
4330 }
4331 if (other.hasRecomputeReducedCostsThreshold()) {
4332 setRecomputeReducedCostsThreshold(other.getRecomputeReducedCostsThreshold());
4333 }
4334 if (other.hasRecomputeEdgesNormThreshold()) {
4335 setRecomputeEdgesNormThreshold(other.getRecomputeEdgesNormThreshold());
4336 }
4337 if (other.hasPrimalFeasibilityTolerance()) {
4338 setPrimalFeasibilityTolerance(other.getPrimalFeasibilityTolerance());
4339 }
4340 if (other.hasDualFeasibilityTolerance()) {
4341 setDualFeasibilityTolerance(other.getDualFeasibilityTolerance());
4342 }
4343 if (other.hasRatioTestZeroThreshold()) {
4344 setRatioTestZeroThreshold(other.getRatioTestZeroThreshold());
4345 }
4346 if (other.hasHarrisToleranceRatio()) {
4347 setHarrisToleranceRatio(other.getHarrisToleranceRatio());
4348 }
4349 if (other.hasSmallPivotThreshold()) {
4350 setSmallPivotThreshold(other.getSmallPivotThreshold());
4351 }
4352 if (other.hasMinimumAcceptablePivot()) {
4353 setMinimumAcceptablePivot(other.getMinimumAcceptablePivot());
4354 }
4355 if (other.hasDropTolerance()) {
4356 setDropTolerance(other.getDropTolerance());
4357 }
4358 if (other.hasUseScaling()) {
4359 setUseScaling(other.getUseScaling());
4360 }
4361 if (other.hasCostScaling()) {
4362 setCostScaling(other.getCostScaling());
4363 }
4364 if (other.hasInitialBasis()) {
4365 setInitialBasis(other.getInitialBasis());
4366 }
4367 if (other.hasUseTransposedMatrix()) {
4368 setUseTransposedMatrix(other.getUseTransposedMatrix());
4369 }
4370 if (other.hasBasisRefactorizationPeriod()) {
4371 setBasisRefactorizationPeriod(other.getBasisRefactorizationPeriod());
4372 }
4373 if (other.hasDynamicallyAdjustRefactorizationPeriod()) {
4374 setDynamicallyAdjustRefactorizationPeriod(other.getDynamicallyAdjustRefactorizationPeriod());
4375 }
4376 if (other.hasSolveDualProblem()) {
4377 setSolveDualProblem(other.getSolveDualProblem());
4378 }
4379 if (other.hasDualizerThreshold()) {
4380 setDualizerThreshold(other.getDualizerThreshold());
4381 }
4382 if (other.hasSolutionFeasibilityTolerance()) {
4383 setSolutionFeasibilityTolerance(other.getSolutionFeasibilityTolerance());
4384 }
4385 if (other.hasProvideStrongOptimalGuarantee()) {
4386 setProvideStrongOptimalGuarantee(other.getProvideStrongOptimalGuarantee());
4387 }
4388 if (other.hasChangeStatusToImprecise()) {
4389 setChangeStatusToImprecise(other.getChangeStatusToImprecise());
4390 }
4391 if (other.hasMaxNumberOfReoptimizations()) {
4392 setMaxNumberOfReoptimizations(other.getMaxNumberOfReoptimizations());
4393 }
4394 if (other.hasLuFactorizationPivotThreshold()) {
4395 setLuFactorizationPivotThreshold(other.getLuFactorizationPivotThreshold());
4396 }
4397 if (other.hasMaxTimeInSeconds()) {
4398 setMaxTimeInSeconds(other.getMaxTimeInSeconds());
4399 }
4400 if (other.hasMaxDeterministicTime()) {
4401 setMaxDeterministicTime(other.getMaxDeterministicTime());
4402 }
4403 if (other.hasMaxNumberOfIterations()) {
4404 setMaxNumberOfIterations(other.getMaxNumberOfIterations());
4405 }
4406 if (other.hasMarkowitzZlatevParameter()) {
4407 setMarkowitzZlatevParameter(other.getMarkowitzZlatevParameter());
4408 }
4409 if (other.hasMarkowitzSingularityThreshold()) {
4410 setMarkowitzSingularityThreshold(other.getMarkowitzSingularityThreshold());
4411 }
4412 if (other.hasUseDualSimplex()) {
4413 setUseDualSimplex(other.getUseDualSimplex());
4414 }
4415 if (other.hasAllowSimplexAlgorithmChange()) {
4416 setAllowSimplexAlgorithmChange(other.getAllowSimplexAlgorithmChange());
4417 }
4418 if (other.hasDevexWeightsResetPeriod()) {
4419 setDevexWeightsResetPeriod(other.getDevexWeightsResetPeriod());
4420 }
4421 if (other.hasUsePreprocessing()) {
4422 setUsePreprocessing(other.getUsePreprocessing());
4423 }
4424 if (other.hasUseMiddleProductFormUpdate()) {
4425 setUseMiddleProductFormUpdate(other.getUseMiddleProductFormUpdate());
4426 }
4427 if (other.hasInitializeDevexWithColumnNorms()) {
4428 setInitializeDevexWithColumnNorms(other.getInitializeDevexWithColumnNorms());
4429 }
4430 if (other.hasExploitSingletonColumnInInitialBasis()) {
4431 setExploitSingletonColumnInInitialBasis(other.getExploitSingletonColumnInInitialBasis());
4432 }
4433 if (other.hasDualSmallPivotThreshold()) {
4434 setDualSmallPivotThreshold(other.getDualSmallPivotThreshold());
4435 }
4436 if (other.hasPreprocessorZeroTolerance()) {
4437 setPreprocessorZeroTolerance(other.getPreprocessorZeroTolerance());
4438 }
4439 if (other.hasObjectiveLowerLimit()) {
4440 setObjectiveLowerLimit(other.getObjectiveLowerLimit());
4441 }
4442 if (other.hasObjectiveUpperLimit()) {
4443 setObjectiveUpperLimit(other.getObjectiveUpperLimit());
4444 }
4445 if (other.hasDegenerateMinistepFactor()) {
4446 setDegenerateMinistepFactor(other.getDegenerateMinistepFactor());
4447 }
4448 if (other.hasRandomSeed()) {
4449 setRandomSeed(other.getRandomSeed());
4450 }
4451 if (other.hasNumOmpThreads()) {
4452 setNumOmpThreads(other.getNumOmpThreads());
4453 }
4454 if (other.hasPerturbCostsInDualSimplex()) {
4455 setPerturbCostsInDualSimplex(other.getPerturbCostsInDualSimplex());
4456 }
4457 if (other.hasUseDedicatedDualFeasibilityAlgorithm()) {
4458 setUseDedicatedDualFeasibilityAlgorithm(other.getUseDedicatedDualFeasibilityAlgorithm());
4459 }
4460 if (other.hasRelativeCostPerturbation()) {
4461 setRelativeCostPerturbation(other.getRelativeCostPerturbation());
4462 }
4463 if (other.hasRelativeMaxCostPerturbation()) {
4464 setRelativeMaxCostPerturbation(other.getRelativeMaxCostPerturbation());
4465 }
4466 if (other.hasInitialConditionNumberThreshold()) {
4467 setInitialConditionNumberThreshold(other.getInitialConditionNumberThreshold());
4468 }
4469 if (other.hasLogSearchProgress()) {
4470 setLogSearchProgress(other.getLogSearchProgress());
4471 }
4472 if (other.hasLogToStdout()) {
4473 setLogToStdout(other.getLogToStdout());
4474 }
4475 if (other.hasCrossoverBoundSnappingDistance()) {
4476 setCrossoverBoundSnappingDistance(other.getCrossoverBoundSnappingDistance());
4477 }
4478 if (other.hasPushToVertex()) {
4479 setPushToVertex(other.getPushToVertex());
4480 }
4481 if (other.hasUseImpliedFreePreprocessor()) {
4482 setUseImpliedFreePreprocessor(other.getUseImpliedFreePreprocessor());
4483 }
4484 if (other.hasMaxValidMagnitude()) {
4485 setMaxValidMagnitude(other.getMaxValidMagnitude());
4486 }
4487 if (other.hasDropMagnitude()) {
4488 setDropMagnitude(other.getDropMagnitude());
4489 }
4490 if (other.hasDualPricePrioritizeNorm()) {
4491 setDualPricePrioritizeNorm(other.getDualPricePrioritizeNorm());
4492 }
4493 this.mergeUnknownFields(other.getUnknownFields());
4494 onChanged();
4495 return this;
4496 }
4497
4498 @java.lang.Override
4499 public final boolean isInitialized() {
4500 return true;
4501 }
4502
4503 @java.lang.Override
4505 com.google.protobuf.CodedInputStream input,
4506 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4507 throws java.io.IOException {
4508 if (extensionRegistry == null) {
4509 throw new java.lang.NullPointerException();
4510 }
4511 try {
4512 boolean done = false;
4513 while (!done) {
4514 int tag = input.readTag();
4515 switch (tag) {
4516 case 0:
4517 done = true;
4518 break;
4519 case 8: {
4520 int tmpRaw = input.readEnum();
4522 com.google.ortools.glop.GlopParameters.PricingRule.forNumber(tmpRaw);
4523 if (tmpValue == null) {
4524 mergeUnknownVarintField(1, tmpRaw);
4525 } else {
4526 feasibilityRule_ = tmpRaw;
4527 bitField0_ |= 0x00000002;
4528 }
4529 break;
4530 } // case 8
4531 case 16: {
4532 int tmpRaw = input.readEnum();
4534 com.google.ortools.glop.GlopParameters.PricingRule.forNumber(tmpRaw);
4535 if (tmpValue == null) {
4536 mergeUnknownVarintField(2, tmpRaw);
4537 } else {
4538 optimizationRule_ = tmpRaw;
4539 bitField0_ |= 0x00000004;
4540 }
4541 break;
4542 } // case 16
4543 case 49: {
4544 refactorizationThreshold_ = input.readDouble();
4545 bitField0_ |= 0x00000008;
4546 break;
4547 } // case 49
4548 case 65: {
4549 recomputeReducedCostsThreshold_ = input.readDouble();
4550 bitField0_ |= 0x00000010;
4551 break;
4552 } // case 65
4553 case 73: {
4554 recomputeEdgesNormThreshold_ = input.readDouble();
4555 bitField0_ |= 0x00000020;
4556 break;
4557 } // case 73
4558 case 81: {
4559 primalFeasibilityTolerance_ = input.readDouble();
4560 bitField0_ |= 0x00000040;
4561 break;
4562 } // case 81
4563 case 89: {
4564 dualFeasibilityTolerance_ = input.readDouble();
4565 bitField0_ |= 0x00000080;
4566 break;
4567 } // case 89
4568 case 97: {
4569 ratioTestZeroThreshold_ = input.readDouble();
4570 bitField0_ |= 0x00000100;
4571 break;
4572 } // case 97
4573 case 105: {
4574 harrisToleranceRatio_ = input.readDouble();
4575 bitField0_ |= 0x00000200;
4576 break;
4577 } // case 105
4578 case 113: {
4579 smallPivotThreshold_ = input.readDouble();
4580 bitField0_ |= 0x00000400;
4581 break;
4582 } // case 113
4583 case 121: {
4584 minimumAcceptablePivot_ = input.readDouble();
4585 bitField0_ |= 0x00000800;
4586 break;
4587 } // case 121
4588 case 128: {
4589 useScaling_ = input.readBool();
4590 bitField0_ |= 0x00002000;
4591 break;
4592 } // case 128
4593 case 136: {
4594 int tmpRaw = input.readEnum();
4596 com.google.ortools.glop.GlopParameters.InitialBasisHeuristic.forNumber(tmpRaw);
4597 if (tmpValue == null) {
4598 mergeUnknownVarintField(17, tmpRaw);
4599 } else {
4600 initialBasis_ = tmpRaw;
4601 bitField0_ |= 0x00008000;
4602 }
4603 break;
4604 } // case 136
4605 case 144: {
4606 useTransposedMatrix_ = input.readBool();
4607 bitField0_ |= 0x00010000;
4608 break;
4609 } // case 144
4610 case 152: {
4611 basisRefactorizationPeriod_ = input.readInt32();
4612 bitField0_ |= 0x00020000;
4613 break;
4614 } // case 152
4615 case 160: {
4616 int tmpRaw = input.readEnum();
4618 com.google.ortools.glop.GlopParameters.SolverBehavior.forNumber(tmpRaw);
4619 if (tmpValue == null) {
4620 mergeUnknownVarintField(20, tmpRaw);
4621 } else {
4622 solveDualProblem_ = tmpRaw;
4623 bitField0_ |= 0x00080000;
4624 }
4625 break;
4626 } // case 160
4627 case 169: {
4628 dualizerThreshold_ = input.readDouble();
4629 bitField0_ |= 0x00100000;
4630 break;
4631 } // case 169
4632 case 177: {
4633 solutionFeasibilityTolerance_ = input.readDouble();
4634 bitField0_ |= 0x00200000;
4635 break;
4636 } // case 177
4637 case 192: {
4638 provideStrongOptimalGuarantee_ = input.readBool();
4639 bitField0_ |= 0x00400000;
4640 break;
4641 } // case 192
4642 case 201: {
4643 luFactorizationPivotThreshold_ = input.readDouble();
4644 bitField0_ |= 0x02000000;
4645 break;
4646 } // case 201
4647 case 209: {
4648 maxTimeInSeconds_ = input.readDouble();
4649 bitField0_ |= 0x04000000;
4650 break;
4651 } // case 209
4652 case 216: {
4653 maxNumberOfIterations_ = input.readInt64();
4654 bitField0_ |= 0x10000000;
4655 break;
4656 } // case 216
4657 case 232: {
4658 markowitzZlatevParameter_ = input.readInt32();
4659 bitField0_ |= 0x20000000;
4660 break;
4661 } // case 232
4662 case 241: {
4663 markowitzSingularityThreshold_ = input.readDouble();
4664 bitField0_ |= 0x40000000;
4665 break;
4666 } // case 241
4667 case 248: {
4668 useDualSimplex_ = input.readBool();
4669 bitField0_ |= 0x80000000;
4670 break;
4671 } // case 248
4672 case 256: {
4673 allowSimplexAlgorithmChange_ = input.readBool();
4674 bitField1_ |= 0x00000001;
4675 break;
4676 } // case 256
4677 case 264: {
4678 devexWeightsResetPeriod_ = input.readInt32();
4679 bitField1_ |= 0x00000002;
4680 break;
4681 } // case 264
4682 case 272: {
4683 usePreprocessing_ = input.readBool();
4684 bitField1_ |= 0x00000004;
4685 break;
4686 } // case 272
4687 case 280: {
4688 useMiddleProductFormUpdate_ = input.readBool();
4689 bitField1_ |= 0x00000008;
4690 break;
4691 } // case 280
4692 case 288: {
4693 initializeDevexWithColumnNorms_ = input.readBool();
4694 bitField1_ |= 0x00000010;
4695 break;
4696 } // case 288
4697 case 296: {
4698 exploitSingletonColumnInInitialBasis_ = input.readBool();
4699 bitField1_ |= 0x00000020;
4700 break;
4701 } // case 296
4702 case 305: {
4703 dualSmallPivotThreshold_ = input.readDouble();
4704 bitField1_ |= 0x00000040;
4705 break;
4706 } // case 305
4707 case 313: {
4708 preprocessorZeroTolerance_ = input.readDouble();
4709 bitField1_ |= 0x00000080;
4710 break;
4711 } // case 313
4712 case 321: {
4713 objectiveLowerLimit_ = input.readDouble();
4714 bitField1_ |= 0x00000100;
4715 break;
4716 } // case 321
4717 case 329: {
4718 objectiveUpperLimit_ = input.readDouble();
4719 bitField1_ |= 0x00000200;
4720 break;
4721 } // case 329
4722 case 337: {
4723 degenerateMinistepFactor_ = input.readDouble();
4724 bitField1_ |= 0x00000400;
4725 break;
4726 } // case 337
4727 case 344: {
4728 randomSeed_ = input.readInt32();
4729 bitField1_ |= 0x00000800;
4730 break;
4731 } // case 344
4732 case 352: {
4733 numOmpThreads_ = input.readInt32();
4734 bitField1_ |= 0x00001000;
4735 break;
4736 } // case 352
4737 case 361: {
4738 maxDeterministicTime_ = input.readDouble();
4739 bitField0_ |= 0x08000000;
4740 break;
4741 } // case 361
4742 case 417: {
4743 dropTolerance_ = input.readDouble();
4744 bitField0_ |= 0x00001000;
4745 break;
4746 } // case 417
4747 case 424: {
4748 perturbCostsInDualSimplex_ = input.readBool();
4749 bitField1_ |= 0x00002000;
4750 break;
4751 } // case 424
4752 case 433: {
4753 relativeCostPerturbation_ = input.readDouble();
4754 bitField1_ |= 0x00008000;
4755 break;
4756 } // case 433
4757 case 441: {
4758 relativeMaxCostPerturbation_ = input.readDouble();
4759 bitField1_ |= 0x00010000;
4760 break;
4761 } // case 441
4762 case 449: {
4763 maxNumberOfReoptimizations_ = input.readDouble();
4764 bitField0_ |= 0x01000000;
4765 break;
4766 } // case 449
4767 case 456: {
4768 int tmpRaw = input.readEnum();
4770 com.google.ortools.glop.GlopParameters.ScalingAlgorithm.forNumber(tmpRaw);
4771 if (tmpValue == null) {
4772 mergeUnknownVarintField(57, tmpRaw);
4773 } else {
4774 scalingMethod_ = tmpRaw;
4775 bitField0_ |= 0x00000001;
4776 }
4777 break;
4778 } // case 456
4779 case 464: {
4780 changeStatusToImprecise_ = input.readBool();
4781 bitField0_ |= 0x00800000;
4782 break;
4783 } // case 464
4784 case 473: {
4785 initialConditionNumberThreshold_ = input.readDouble();
4786 bitField1_ |= 0x00020000;
4787 break;
4788 } // case 473
4789 case 480: {
4790 int tmpRaw = input.readEnum();
4792 com.google.ortools.glop.GlopParameters.CostScalingAlgorithm.forNumber(tmpRaw);
4793 if (tmpValue == null) {
4794 mergeUnknownVarintField(60, tmpRaw);
4795 } else {
4796 costScaling_ = tmpRaw;
4797 bitField0_ |= 0x00004000;
4798 }
4799 break;
4800 } // case 480
4801 case 488: {
4802 logSearchProgress_ = input.readBool();
4803 bitField1_ |= 0x00040000;
4804 break;
4805 } // case 488
4806 case 496: {
4807 useDedicatedDualFeasibilityAlgorithm_ = input.readBool();
4808 bitField1_ |= 0x00004000;
4809 break;
4810 } // case 496
4811 case 504: {
4812 dynamicallyAdjustRefactorizationPeriod_ = input.readBool();
4813 bitField0_ |= 0x00040000;
4814 break;
4815 } // case 504
4816 case 513: {
4817 crossoverBoundSnappingDistance_ = input.readDouble();
4818 bitField1_ |= 0x00100000;
4819 break;
4820 } // case 513
4821 case 520: {
4822 pushToVertex_ = input.readBool();
4823 bitField1_ |= 0x00200000;
4824 break;
4825 } // case 520
4826 case 528: {
4827 logToStdout_ = input.readBool();
4828 bitField1_ |= 0x00080000;
4829 break;
4830 } // case 528
4831 case 536: {
4832 useImpliedFreePreprocessor_ = input.readBool();
4833 bitField1_ |= 0x00400000;
4834 break;
4835 } // case 536
4836 case 552: {
4837 dualPricePrioritizeNorm_ = input.readBool();
4838 bitField1_ |= 0x02000000;
4839 break;
4840 } // case 552
4841 case 561: {
4842 maxValidMagnitude_ = input.readDouble();
4843 bitField1_ |= 0x00800000;
4844 break;
4845 } // case 561
4846 case 569: {
4847 dropMagnitude_ = input.readDouble();
4848 bitField1_ |= 0x01000000;
4849 break;
4850 } // case 569
4851 default: {
4852 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
4853 done = true; // was an endgroup tag
4854 }
4855 break;
4856 } // default:
4857 } // switch (tag)
4858 } // while (!done)
4859 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4860 throw e.unwrapIOException();
4861 } finally {
4862 onChanged();
4863 } // finally
4864 return this;
4865 }
4866 private int bitField0_;
4867 private int bitField1_;
4868
4869 private int scalingMethod_ = 1;
4874 @java.lang.Override public boolean hasScalingMethod() {
4875 return ((bitField0_ & 0x00000001) != 0);
4876 }
4881 @java.lang.Override
4883 com.google.ortools.glop.GlopParameters.ScalingAlgorithm result = com.google.ortools.glop.GlopParameters.ScalingAlgorithm.forNumber(scalingMethod_);
4884 return result == null ? com.google.ortools.glop.GlopParameters.ScalingAlgorithm.EQUILIBRATION : result;
4885 }
4891 public Builder setScalingMethod(com.google.ortools.glop.GlopParameters.ScalingAlgorithm value) {
4892 if (value == null) {
4893 throw new NullPointerException();
4894 }
4895 bitField0_ |= 0x00000001;
4896 scalingMethod_ = value.getNumber();
4897 onChanged();
4898 return this;
4899 }
4905 bitField0_ = (bitField0_ & ~0x00000001);
4906 scalingMethod_ = 1;
4907 onChanged();
4908 return this;
4909 }
4910
4911 private int feasibilityRule_ = 1;
4920 @java.lang.Override public boolean hasFeasibilityRule() {
4921 return ((bitField0_ & 0x00000002) != 0);
4922 }
4931 @java.lang.Override
4933 com.google.ortools.glop.GlopParameters.PricingRule result = com.google.ortools.glop.GlopParameters.PricingRule.forNumber(feasibilityRule_);
4934 return result == null ? com.google.ortools.glop.GlopParameters.PricingRule.STEEPEST_EDGE : result;
4935 }
4945 public Builder setFeasibilityRule(com.google.ortools.glop.GlopParameters.PricingRule value) {
4946 if (value == null) {
4947 throw new NullPointerException();
4948 }
4949 bitField0_ |= 0x00000002;
4950 feasibilityRule_ = value.getNumber();
4951 onChanged();
4952 return this;
4953 }
4963 bitField0_ = (bitField0_ & ~0x00000002);
4964 feasibilityRule_ = 1;
4965 onChanged();
4966 return this;
4967 }
4968
4969 private int optimizationRule_ = 1;
4978 @java.lang.Override public boolean hasOptimizationRule() {
4979 return ((bitField0_ & 0x00000004) != 0);
4980 }
4989 @java.lang.Override
4991 com.google.ortools.glop.GlopParameters.PricingRule result = com.google.ortools.glop.GlopParameters.PricingRule.forNumber(optimizationRule_);
4992 return result == null ? com.google.ortools.glop.GlopParameters.PricingRule.STEEPEST_EDGE : result;
4993 }
5003 public Builder setOptimizationRule(com.google.ortools.glop.GlopParameters.PricingRule value) {
5004 if (value == null) {
5005 throw new NullPointerException();
5006 }
5007 bitField0_ |= 0x00000004;
5008 optimizationRule_ = value.getNumber();
5009 onChanged();
5010 return this;
5011 }
5021 bitField0_ = (bitField0_ & ~0x00000004);
5022 optimizationRule_ = 1;
5023 onChanged();
5024 return this;
5025 }
5026
5027 private double refactorizationThreshold_ = 1e-09D;
5041 @java.lang.Override
5043 return ((bitField0_ & 0x00000008) != 0);
5044 }
5058 @java.lang.Override
5060 return refactorizationThreshold_;
5061 }
5077
5078 refactorizationThreshold_ = value;
5079 bitField0_ |= 0x00000008;
5080 onChanged();
5081 return this;
5082 }
5097 bitField0_ = (bitField0_ & ~0x00000008);
5098 refactorizationThreshold_ = 1e-09D;
5099 onChanged();
5100 return this;
5101 }
5102
5103 private double recomputeReducedCostsThreshold_ = 1e-08D;
5116 @java.lang.Override
5118 return ((bitField0_ & 0x00000010) != 0);
5119 }
5132 @java.lang.Override
5134 return recomputeReducedCostsThreshold_;
5135 }
5150
5151 recomputeReducedCostsThreshold_ = value;
5152 bitField0_ |= 0x00000010;
5153 onChanged();
5154 return this;
5155 }
5169 bitField0_ = (bitField0_ & ~0x00000010);
5170 recomputeReducedCostsThreshold_ = 1e-08D;
5171 onChanged();
5172 return this;
5173 }
5174
5175 private double recomputeEdgesNormThreshold_ = 100D;
5188 @java.lang.Override
5190 return ((bitField0_ & 0x00000020) != 0);
5191 }
5204 @java.lang.Override
5206 return recomputeEdgesNormThreshold_;
5207 }
5222
5223 recomputeEdgesNormThreshold_ = value;
5224 bitField0_ |= 0x00000020;
5225 onChanged();
5226 return this;
5227 }
5241 bitField0_ = (bitField0_ & ~0x00000020);
5242 recomputeEdgesNormThreshold_ = 100D;
5243 onChanged();
5244 return this;
5245 }
5246
5247 private double primalFeasibilityTolerance_ = 1e-08D;
5262 @java.lang.Override
5264 return ((bitField0_ & 0x00000040) != 0);
5265 }
5280 @java.lang.Override
5282 return primalFeasibilityTolerance_;
5283 }
5300
5301 primalFeasibilityTolerance_ = value;
5302 bitField0_ |= 0x00000040;
5303 onChanged();
5304 return this;
5305 }
5321 bitField0_ = (bitField0_ & ~0x00000040);
5322 primalFeasibilityTolerance_ = 1e-08D;
5323 onChanged();
5324 return this;
5325 }
5326
5327 private double dualFeasibilityTolerance_ = 1e-08D;
5345 @java.lang.Override
5347 return ((bitField0_ & 0x00000080) != 0);
5348 }
5366 @java.lang.Override
5368 return dualFeasibilityTolerance_;
5369 }
5389
5390 dualFeasibilityTolerance_ = value;
5391 bitField0_ |= 0x00000080;
5392 onChanged();
5393 return this;
5394 }
5413 bitField0_ = (bitField0_ & ~0x00000080);
5414 dualFeasibilityTolerance_ = 1e-08D;
5415 onChanged();
5416 return this;
5417 }
5418
5419 private double ratioTestZeroThreshold_ = 1e-09D;
5434 @java.lang.Override
5435 public boolean hasRatioTestZeroThreshold() {
5436 return ((bitField0_ & 0x00000100) != 0);
5437 }
5452 @java.lang.Override
5454 return ratioTestZeroThreshold_;
5455 }
5471 public Builder setRatioTestZeroThreshold(double value) {
5472
5473 ratioTestZeroThreshold_ = value;
5474 bitField0_ |= 0x00000100;
5475 onChanged();
5476 return this;
5477 }
5493 bitField0_ = (bitField0_ & ~0x00000100);
5494 ratioTestZeroThreshold_ = 1e-09D;
5495 onChanged();
5496 return this;
5497 }
5498
5499 private double harrisToleranceRatio_ = 0.5D;
5518 @java.lang.Override
5519 public boolean hasHarrisToleranceRatio() {
5520 return ((bitField0_ & 0x00000200) != 0);
5521 }
5540 @java.lang.Override
5541 public double getHarrisToleranceRatio() {
5542 return harrisToleranceRatio_;
5543 }
5563 public Builder setHarrisToleranceRatio(double value) {
5564
5565 harrisToleranceRatio_ = value;
5566 bitField0_ |= 0x00000200;
5567 onChanged();
5568 return this;
5569 }
5589 bitField0_ = (bitField0_ & ~0x00000200);
5590 harrisToleranceRatio_ = 0.5D;
5591 onChanged();
5592 return this;
5593 }
5594
5595 private double smallPivotThreshold_ = 1e-06D;
5607 @java.lang.Override
5608 public boolean hasSmallPivotThreshold() {
5609 return ((bitField0_ & 0x00000400) != 0);
5610 }
5622 @java.lang.Override
5623 public double getSmallPivotThreshold() {
5624 return smallPivotThreshold_;
5625 }
5638 public Builder setSmallPivotThreshold(double value) {
5639
5640 smallPivotThreshold_ = value;
5641 bitField0_ |= 0x00000400;
5642 onChanged();
5643 return this;
5644 }
5657 bitField0_ = (bitField0_ & ~0x00000400);
5658 smallPivotThreshold_ = 1e-06D;
5659 onChanged();
5660 return this;
5661 }
5662
5663 private double minimumAcceptablePivot_ = 1e-06D;
5672 @java.lang.Override
5673 public boolean hasMinimumAcceptablePivot() {
5674 return ((bitField0_ & 0x00000800) != 0);
5675 }
5684 @java.lang.Override
5686 return minimumAcceptablePivot_;
5687 }
5697 public Builder setMinimumAcceptablePivot(double value) {
5698
5699 minimumAcceptablePivot_ = value;
5700 bitField0_ |= 0x00000800;
5701 onChanged();
5702 return this;
5703 }
5713 bitField0_ = (bitField0_ & ~0x00000800);
5714 minimumAcceptablePivot_ = 1e-06D;
5715 onChanged();
5716 return this;
5717 }
5718
5719 private double dropTolerance_ = 1e-14D;
5730 @java.lang.Override
5731 public boolean hasDropTolerance() {
5732 return ((bitField0_ & 0x00001000) != 0);
5733 }
5744 @java.lang.Override
5745 public double getDropTolerance() {
5746 return dropTolerance_;
5747 }
5759 public Builder setDropTolerance(double value) {
5760
5761 dropTolerance_ = value;
5762 bitField0_ |= 0x00001000;
5763 onChanged();
5764 return this;
5765 }
5777 bitField0_ = (bitField0_ & ~0x00001000);
5778 dropTolerance_ = 1e-14D;
5779 onChanged();
5780 return this;
5781 }
5782
5783 private boolean useScaling_ = true;
5793 @java.lang.Override
5794 public boolean hasUseScaling() {
5795 return ((bitField0_ & 0x00002000) != 0);
5796 }
5806 @java.lang.Override
5807 public boolean getUseScaling() {
5808 return useScaling_;
5809 }
5820 public Builder setUseScaling(boolean value) {
5821
5822 useScaling_ = value;
5823 bitField0_ |= 0x00002000;
5824 onChanged();
5825 return this;
5826 }
5837 bitField0_ = (bitField0_ & ~0x00002000);
5838 useScaling_ = true;
5839 onChanged();
5840 return this;
5841 }
5842
5843 private int costScaling_ = 1;
5848 @java.lang.Override public boolean hasCostScaling() {
5849 return ((bitField0_ & 0x00004000) != 0);
5850 }
5855 @java.lang.Override
5857 com.google.ortools.glop.GlopParameters.CostScalingAlgorithm result = com.google.ortools.glop.GlopParameters.CostScalingAlgorithm.forNumber(costScaling_);
5858 return result == null ? com.google.ortools.glop.GlopParameters.CostScalingAlgorithm.CONTAIN_ONE_COST_SCALING : result;
5859 }
5865 public Builder setCostScaling(com.google.ortools.glop.GlopParameters.CostScalingAlgorithm value) {
5866 if (value == null) {
5867 throw new NullPointerException();
5868 }
5869 bitField0_ |= 0x00004000;
5870 costScaling_ = value.getNumber();
5871 onChanged();
5872 return this;
5873 }
5879 bitField0_ = (bitField0_ & ~0x00004000);
5880 costScaling_ = 1;
5881 onChanged();
5882 return this;
5883 }
5884
5885 private int initialBasis_ = 2;
5895 @java.lang.Override public boolean hasInitialBasis() {
5896 return ((bitField0_ & 0x00008000) != 0);
5897 }
5907 @java.lang.Override
5909 com.google.ortools.glop.GlopParameters.InitialBasisHeuristic result = com.google.ortools.glop.GlopParameters.InitialBasisHeuristic.forNumber(initialBasis_);
5910 return result == null ? com.google.ortools.glop.GlopParameters.InitialBasisHeuristic.TRIANGULAR : result;
5911 }
5922 public Builder setInitialBasis(com.google.ortools.glop.GlopParameters.InitialBasisHeuristic value) {
5923 if (value == null) {
5924 throw new NullPointerException();
5925 }
5926 bitField0_ |= 0x00008000;
5927 initialBasis_ = value.getNumber();
5928 onChanged();
5929 return this;
5930 }
5941 bitField0_ = (bitField0_ & ~0x00008000);
5942 initialBasis_ = 2;
5943 onChanged();
5944 return this;
5945 }
5946
5947 private boolean useTransposedMatrix_ = true;
5958 @java.lang.Override
5959 public boolean hasUseTransposedMatrix() {
5960 return ((bitField0_ & 0x00010000) != 0);
5961 }
5972 @java.lang.Override
5973 public boolean getUseTransposedMatrix() {
5974 return useTransposedMatrix_;
5975 }
5987 public Builder setUseTransposedMatrix(boolean value) {
5988
5989 useTransposedMatrix_ = value;
5990 bitField0_ |= 0x00010000;
5991 onChanged();
5992 return this;
5993 }
6005 bitField0_ = (bitField0_ & ~0x00010000);
6006 useTransposedMatrix_ = true;
6007 onChanged();
6008 return this;
6009 }
6010
6011 private int basisRefactorizationPeriod_ = 64;
6022 @java.lang.Override
6024 return ((bitField0_ & 0x00020000) != 0);
6025 }
6036 @java.lang.Override
6038 return basisRefactorizationPeriod_;
6039 }
6052
6053 basisRefactorizationPeriod_ = value;
6054 bitField0_ |= 0x00020000;
6055 onChanged();
6056 return this;
6057 }
6069 bitField0_ = (bitField0_ & ~0x00020000);
6070 basisRefactorizationPeriod_ = 64;
6071 onChanged();
6072 return this;
6073 }
6074
6075 private boolean dynamicallyAdjustRefactorizationPeriod_ = true;
6088 @java.lang.Override
6090 return ((bitField0_ & 0x00040000) != 0);
6091 }
6104 @java.lang.Override
6106 return dynamicallyAdjustRefactorizationPeriod_;
6107 }
6122
6123 dynamicallyAdjustRefactorizationPeriod_ = value;
6124 bitField0_ |= 0x00040000;
6125 onChanged();
6126 return this;
6127 }
6141 bitField0_ = (bitField0_ & ~0x00040000);
6142 dynamicallyAdjustRefactorizationPeriod_ = true;
6143 onChanged();
6144 return this;
6145 }
6146
6147 private int solveDualProblem_ = 2;
6158 @java.lang.Override public boolean hasSolveDualProblem() {
6159 return ((bitField0_ & 0x00080000) != 0);
6160 }
6171 @java.lang.Override
6173 com.google.ortools.glop.GlopParameters.SolverBehavior result = com.google.ortools.glop.GlopParameters.SolverBehavior.forNumber(solveDualProblem_);
6174 return result == null ? com.google.ortools.glop.GlopParameters.SolverBehavior.LET_SOLVER_DECIDE : result;
6175 }
6187 public Builder setSolveDualProblem(com.google.ortools.glop.GlopParameters.SolverBehavior value) {
6188 if (value == null) {
6189 throw new NullPointerException();
6190 }
6191 bitField0_ |= 0x00080000;
6192 solveDualProblem_ = value.getNumber();
6193 onChanged();
6194 return this;
6195 }
6207 bitField0_ = (bitField0_ & ~0x00080000);
6208 solveDualProblem_ = 2;
6209 onChanged();
6210 return this;
6211 }
6212
6213 private double dualizerThreshold_ = 1.5D;
6224 @java.lang.Override
6225 public boolean hasDualizerThreshold() {
6226 return ((bitField0_ & 0x00100000) != 0);
6227 }
6238 @java.lang.Override
6239 public double getDualizerThreshold() {
6240 return dualizerThreshold_;
6241 }
6253 public Builder setDualizerThreshold(double value) {
6254
6255 dualizerThreshold_ = value;
6256 bitField0_ |= 0x00100000;
6257 onChanged();
6258 return this;
6259 }
6271 bitField0_ = (bitField0_ & ~0x00100000);
6272 dualizerThreshold_ = 1.5D;
6273 onChanged();
6274 return this;
6275 }
6276
6277 private double solutionFeasibilityTolerance_ = 1e-06D;
6293 @java.lang.Override
6295 return ((bitField0_ & 0x00200000) != 0);
6296 }
6312 @java.lang.Override
6314 return solutionFeasibilityTolerance_;
6315 }
6333
6334 solutionFeasibilityTolerance_ = value;
6335 bitField0_ |= 0x00200000;
6336 onChanged();
6337 return this;
6338 }
6355 bitField0_ = (bitField0_ & ~0x00200000);
6356 solutionFeasibilityTolerance_ = 1e-06D;
6357 onChanged();
6358 return this;
6359 }
6360
6361 private boolean provideStrongOptimalGuarantee_ = true;
6387 @java.lang.Override
6389 return ((bitField0_ & 0x00400000) != 0);
6390 }
6416 @java.lang.Override
6418 return provideStrongOptimalGuarantee_;
6419 }
6447
6448 provideStrongOptimalGuarantee_ = value;
6449 bitField0_ |= 0x00400000;
6450 onChanged();
6451 return this;
6452 }
6479 bitField0_ = (bitField0_ & ~0x00400000);
6480 provideStrongOptimalGuarantee_ = true;
6481 onChanged();
6482 return this;
6483 }
6484
6485 private boolean changeStatusToImprecise_ = true;
6495 @java.lang.Override
6497 return ((bitField0_ & 0x00800000) != 0);
6498 }
6508 @java.lang.Override
6510 return changeStatusToImprecise_;
6511 }
6522 public Builder setChangeStatusToImprecise(boolean value) {
6523
6524 changeStatusToImprecise_ = value;
6525 bitField0_ |= 0x00800000;
6526 onChanged();
6527 return this;
6528 }
6539 bitField0_ = (bitField0_ & ~0x00800000);
6540 changeStatusToImprecise_ = true;
6541 onChanged();
6542 return this;
6543 }
6544
6545 private double maxNumberOfReoptimizations_ = 40D;
6557 @java.lang.Override
6559 return ((bitField0_ & 0x01000000) != 0);
6560 }
6572 @java.lang.Override
6574 return maxNumberOfReoptimizations_;
6575 }
6589
6590 maxNumberOfReoptimizations_ = value;
6591 bitField0_ |= 0x01000000;
6592 onChanged();
6593 return this;
6594 }
6607 bitField0_ = (bitField0_ & ~0x01000000);
6608 maxNumberOfReoptimizations_ = 40D;
6609 onChanged();
6610 return this;
6611 }
6612
6613 private double luFactorizationPivotThreshold_ = 0.01D;
6625 @java.lang.Override
6627 return ((bitField0_ & 0x02000000) != 0);
6628 }
6640 @java.lang.Override
6642 return luFactorizationPivotThreshold_;
6643 }
6657
6658 luFactorizationPivotThreshold_ = value;
6659 bitField0_ |= 0x02000000;
6660 onChanged();
6661 return this;
6662 }
6675 bitField0_ = (bitField0_ & ~0x02000000);
6676 luFactorizationPivotThreshold_ = 0.01D;
6677 onChanged();
6678 return this;
6679 }
6680
6681 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
6690 @java.lang.Override
6691 public boolean hasMaxTimeInSeconds() {
6692 return ((bitField0_ & 0x04000000) != 0);
6693 }
6702 @java.lang.Override
6703 public double getMaxTimeInSeconds() {
6704 return maxTimeInSeconds_;
6705 }
6715 public Builder setMaxTimeInSeconds(double value) {
6716
6717 maxTimeInSeconds_ = value;
6718 bitField0_ |= 0x04000000;
6719 onChanged();
6720 return this;
6721 }
6731 bitField0_ = (bitField0_ & ~0x04000000);
6732 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
6733 onChanged();
6734 return this;
6735 }
6736
6737 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
6750 @java.lang.Override
6751 public boolean hasMaxDeterministicTime() {
6752 return ((bitField0_ & 0x08000000) != 0);
6753 }
6766 @java.lang.Override
6767 public double getMaxDeterministicTime() {
6768 return maxDeterministicTime_;
6769 }
6783 public Builder setMaxDeterministicTime(double value) {
6784
6785 maxDeterministicTime_ = value;
6786 bitField0_ |= 0x08000000;
6787 onChanged();
6788 return this;
6789 }
6803 bitField0_ = (bitField0_ & ~0x08000000);
6804 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
6805 onChanged();
6806 return this;
6807 }
6808
6809 private long maxNumberOfIterations_ = -1L;
6819 @java.lang.Override
6820 public boolean hasMaxNumberOfIterations() {
6821 return ((bitField0_ & 0x10000000) != 0);
6822 }
6832 @java.lang.Override
6834 return maxNumberOfIterations_;
6835 }
6847
6848 maxNumberOfIterations_ = value;
6849 bitField0_ |= 0x10000000;
6850 onChanged();
6851 return this;
6852 }
6863 bitField0_ = (bitField0_ & ~0x10000000);
6864 maxNumberOfIterations_ = -1L;
6865 onChanged();
6866 return this;
6867 }
6868
6869 private int markowitzZlatevParameter_ = 3;
6879 @java.lang.Override
6881 return ((bitField0_ & 0x20000000) != 0);
6882 }
6892 @java.lang.Override
6894 return markowitzZlatevParameter_;
6895 }
6907
6908 markowitzZlatevParameter_ = value;
6909 bitField0_ |= 0x20000000;
6910 onChanged();
6911 return this;
6912 }
6923 bitField0_ = (bitField0_ & ~0x20000000);
6924 markowitzZlatevParameter_ = 3;
6925 onChanged();
6926 return this;
6927 }
6928
6929 private double markowitzSingularityThreshold_ = 1e-15D;
6941 @java.lang.Override
6943 return ((bitField0_ & 0x40000000) != 0);
6944 }
6956 @java.lang.Override
6958 return markowitzSingularityThreshold_;
6959 }
6973
6974 markowitzSingularityThreshold_ = value;
6975 bitField0_ |= 0x40000000;
6976 onChanged();
6977 return this;
6978 }
6991 bitField0_ = (bitField0_ & ~0x40000000);
6992 markowitzSingularityThreshold_ = 1e-15D;
6993 onChanged();
6994 return this;
6995 }
6996
6997 private boolean useDualSimplex_ ;
7006 @java.lang.Override
7007 public boolean hasUseDualSimplex() {
7008 return ((bitField0_ & 0x80000000) != 0);
7009 }
7018 @java.lang.Override
7019 public boolean getUseDualSimplex() {
7020 return useDualSimplex_;
7021 }
7031 public Builder setUseDualSimplex(boolean value) {
7032
7033 useDualSimplex_ = value;
7034 bitField0_ |= 0x80000000;
7035 onChanged();
7036 return this;
7037 }
7047 bitField0_ = (bitField0_ & ~0x80000000);
7048 useDualSimplex_ = false;
7049 onChanged();
7050 return this;
7051 }
7052
7053 private boolean allowSimplexAlgorithmChange_ ;
7065 @java.lang.Override
7067 return ((bitField1_ & 0x00000001) != 0);
7068 }
7080 @java.lang.Override
7082 return allowSimplexAlgorithmChange_;
7083 }
7097
7098 allowSimplexAlgorithmChange_ = value;
7099 bitField1_ |= 0x00000001;
7100 onChanged();
7101 return this;
7102 }
7115 bitField1_ = (bitField1_ & ~0x00000001);
7116 allowSimplexAlgorithmChange_ = false;
7117 onChanged();
7118 return this;
7119 }
7120
7121 private int devexWeightsResetPeriod_ = 150;
7130 @java.lang.Override
7132 return ((bitField1_ & 0x00000002) != 0);
7133 }
7142 @java.lang.Override
7144 return devexWeightsResetPeriod_;
7145 }
7156
7157 devexWeightsResetPeriod_ = value;
7158 bitField1_ |= 0x00000002;
7159 onChanged();
7160 return this;
7161 }
7171 bitField1_ = (bitField1_ & ~0x00000002);
7172 devexWeightsResetPeriod_ = 150;
7173 onChanged();
7174 return this;
7175 }
7176
7177 private boolean usePreprocessing_ = true;
7186 @java.lang.Override
7187 public boolean hasUsePreprocessing() {
7188 return ((bitField1_ & 0x00000004) != 0);
7189 }
7198 @java.lang.Override
7199 public boolean getUsePreprocessing() {
7200 return usePreprocessing_;
7201 }
7211 public Builder setUsePreprocessing(boolean value) {
7212
7213 usePreprocessing_ = value;
7214 bitField1_ |= 0x00000004;
7215 onChanged();
7216 return this;
7217 }
7227 bitField1_ = (bitField1_ & ~0x00000004);
7228 usePreprocessing_ = true;
7229 onChanged();
7230 return this;
7231 }
7232
7233 private boolean useMiddleProductFormUpdate_ = true;
7248 @java.lang.Override
7250 return ((bitField1_ & 0x00000008) != 0);
7251 }
7266 @java.lang.Override
7268 return useMiddleProductFormUpdate_;
7269 }
7286
7287 useMiddleProductFormUpdate_ = value;
7288 bitField1_ |= 0x00000008;
7289 onChanged();
7290 return this;
7291 }
7307 bitField1_ = (bitField1_ & ~0x00000008);
7308 useMiddleProductFormUpdate_ = true;
7309 onChanged();
7310 return this;
7311 }
7312
7313 private boolean initializeDevexWithColumnNorms_ = true;
7323 @java.lang.Override
7325 return ((bitField1_ & 0x00000010) != 0);
7326 }
7336 @java.lang.Override
7338 return initializeDevexWithColumnNorms_;
7339 }
7351
7352 initializeDevexWithColumnNorms_ = value;
7353 bitField1_ |= 0x00000010;
7354 onChanged();
7355 return this;
7356 }
7367 bitField1_ = (bitField1_ & ~0x00000010);
7368 initializeDevexWithColumnNorms_ = true;
7369 onChanged();
7370 return this;
7371 }
7372
7373 private boolean exploitSingletonColumnInInitialBasis_ = true;
7383 @java.lang.Override
7385 return ((bitField1_ & 0x00000020) != 0);
7386 }
7396 @java.lang.Override
7398 return exploitSingletonColumnInInitialBasis_;
7399 }
7411
7412 exploitSingletonColumnInInitialBasis_ = value;
7413 bitField1_ |= 0x00000020;
7414 onChanged();
7415 return this;
7416 }
7427 bitField1_ = (bitField1_ & ~0x00000020);
7428 exploitSingletonColumnInInitialBasis_ = true;
7429 onChanged();
7430 return this;
7431 }
7432
7433 private double dualSmallPivotThreshold_ = 0.0001D;
7444 @java.lang.Override
7446 return ((bitField1_ & 0x00000040) != 0);
7447 }
7458 @java.lang.Override
7460 return dualSmallPivotThreshold_;
7461 }
7474
7475 dualSmallPivotThreshold_ = value;
7476 bitField1_ |= 0x00000040;
7477 onChanged();
7478 return this;
7479 }
7491 bitField1_ = (bitField1_ & ~0x00000040);
7492 dualSmallPivotThreshold_ = 0.0001D;
7493 onChanged();
7494 return this;
7495 }
7496
7497 private double preprocessorZeroTolerance_ = 1e-09D;
7511 @java.lang.Override
7513 return ((bitField1_ & 0x00000080) != 0);
7514 }
7528 @java.lang.Override
7530 return preprocessorZeroTolerance_;
7531 }
7547
7548 preprocessorZeroTolerance_ = value;
7549 bitField1_ |= 0x00000080;
7550 onChanged();
7551 return this;
7552 }
7567 bitField1_ = (bitField1_ & ~0x00000080);
7568 preprocessorZeroTolerance_ = 1e-09D;
7569 onChanged();
7570 return this;
7571 }
7572
7573 private double objectiveLowerLimit_ = Double.NEGATIVE_INFINITY;
7590 @java.lang.Override
7591 public boolean hasObjectiveLowerLimit() {
7592 return ((bitField1_ & 0x00000100) != 0);
7593 }
7610 @java.lang.Override
7611 public double getObjectiveLowerLimit() {
7612 return objectiveLowerLimit_;
7613 }
7631 public Builder setObjectiveLowerLimit(double value) {
7632
7633 objectiveLowerLimit_ = value;
7634 bitField1_ |= 0x00000100;
7635 onChanged();
7636 return this;
7637 }
7655 bitField1_ = (bitField1_ & ~0x00000100);
7656 objectiveLowerLimit_ = Double.NEGATIVE_INFINITY;
7657 onChanged();
7658 return this;
7659 }
7660
7661 private double objectiveUpperLimit_ = Double.POSITIVE_INFINITY;
7666 @java.lang.Override
7667 public boolean hasObjectiveUpperLimit() {
7668 return ((bitField1_ & 0x00000200) != 0);
7669 }
7674 @java.lang.Override
7675 public double getObjectiveUpperLimit() {
7676 return objectiveUpperLimit_;
7677 }
7683 public Builder setObjectiveUpperLimit(double value) {
7684
7685 objectiveUpperLimit_ = value;
7686 bitField1_ |= 0x00000200;
7687 onChanged();
7688 return this;
7689 }
7695 bitField1_ = (bitField1_ & ~0x00000200);
7696 objectiveUpperLimit_ = Double.POSITIVE_INFINITY;
7697 onChanged();
7698 return this;
7699 }
7700
7701 private double degenerateMinistepFactor_ = 0.01D;
7727 @java.lang.Override
7729 return ((bitField1_ & 0x00000400) != 0);
7730 }
7756 @java.lang.Override
7758 return degenerateMinistepFactor_;
7759 }
7787
7788 degenerateMinistepFactor_ = value;
7789 bitField1_ |= 0x00000400;
7790 onChanged();
7791 return this;
7792 }
7819 bitField1_ = (bitField1_ & ~0x00000400);
7820 degenerateMinistepFactor_ = 0.01D;
7821 onChanged();
7822 return this;
7823 }
7824
7825 private int randomSeed_ = 1;
7848 @java.lang.Override
7849 public boolean hasRandomSeed() {
7850 return ((bitField1_ & 0x00000800) != 0);
7851 }
7874 @java.lang.Override
7875 public int getRandomSeed() {
7876 return randomSeed_;
7877 }
7901 public Builder setRandomSeed(int value) {
7902
7903 randomSeed_ = value;
7904 bitField1_ |= 0x00000800;
7905 onChanged();
7906 return this;
7907 }
7931 bitField1_ = (bitField1_ & ~0x00000800);
7932 randomSeed_ = 1;
7933 onChanged();
7934 return this;
7935 }
7936
7937 private int numOmpThreads_ = 1;
7947 @java.lang.Override
7948 public boolean hasNumOmpThreads() {
7949 return ((bitField1_ & 0x00001000) != 0);
7950 }
7960 @java.lang.Override
7961 public int getNumOmpThreads() {
7962 return numOmpThreads_;
7963 }
7974 public Builder setNumOmpThreads(int value) {
7975
7976 numOmpThreads_ = value;
7977 bitField1_ |= 0x00001000;
7978 onChanged();
7979 return this;
7980 }
7991 bitField1_ = (bitField1_ & ~0x00001000);
7992 numOmpThreads_ = 1;
7993 onChanged();
7994 return this;
7995 }
7996
7997 private boolean perturbCostsInDualSimplex_ ;
8009 @java.lang.Override
8011 return ((bitField1_ & 0x00002000) != 0);
8012 }
8024 @java.lang.Override
8026 return perturbCostsInDualSimplex_;
8027 }
8041
8042 perturbCostsInDualSimplex_ = value;
8043 bitField1_ |= 0x00002000;
8044 onChanged();
8045 return this;
8046 }
8059 bitField1_ = (bitField1_ & ~0x00002000);
8060 perturbCostsInDualSimplex_ = false;
8061 onChanged();
8062 return this;
8063 }
8064
8065 private boolean useDedicatedDualFeasibilityAlgorithm_ = true;
8081 @java.lang.Override
8083 return ((bitField1_ & 0x00004000) != 0);
8084 }
8100 @java.lang.Override
8102 return useDedicatedDualFeasibilityAlgorithm_;
8103 }
8121
8122 useDedicatedDualFeasibilityAlgorithm_ = value;
8123 bitField1_ |= 0x00004000;
8124 onChanged();
8125 return this;
8126 }
8143 bitField1_ = (bitField1_ & ~0x00004000);
8144 useDedicatedDualFeasibilityAlgorithm_ = true;
8145 onChanged();
8146 return this;
8147 }
8148
8149 private double relativeCostPerturbation_ = 1e-05D;
8161 @java.lang.Override
8163 return ((bitField1_ & 0x00008000) != 0);
8164 }
8176 @java.lang.Override
8178 return relativeCostPerturbation_;
8179 }
8193
8194 relativeCostPerturbation_ = value;
8195 bitField1_ |= 0x00008000;
8196 onChanged();
8197 return this;
8198 }
8211 bitField1_ = (bitField1_ & ~0x00008000);
8212 relativeCostPerturbation_ = 1e-05D;
8213 onChanged();
8214 return this;
8215 }
8216
8217 private double relativeMaxCostPerturbation_ = 1e-07D;
8222 @java.lang.Override
8224 return ((bitField1_ & 0x00010000) != 0);
8225 }
8230 @java.lang.Override
8232 return relativeMaxCostPerturbation_;
8233 }
8240
8241 relativeMaxCostPerturbation_ = value;
8242 bitField1_ |= 0x00010000;
8243 onChanged();
8244 return this;
8245 }
8251 bitField1_ = (bitField1_ & ~0x00010000);
8252 relativeMaxCostPerturbation_ = 1e-07D;
8253 onChanged();
8254 return this;
8255 }
8256
8257 private double initialConditionNumberThreshold_ = 1e+50D;
8268 @java.lang.Override
8270 return ((bitField1_ & 0x00020000) != 0);
8271 }
8282 @java.lang.Override
8284 return initialConditionNumberThreshold_;
8285 }
8298
8299 initialConditionNumberThreshold_ = value;
8300 bitField1_ |= 0x00020000;
8301 onChanged();
8302 return this;
8303 }
8315 bitField1_ = (bitField1_ & ~0x00020000);
8316 initialConditionNumberThreshold_ = 1e+50D;
8317 onChanged();
8318 return this;
8319 }
8320
8321 private boolean logSearchProgress_ ;
8332 @java.lang.Override
8333 public boolean hasLogSearchProgress() {
8334 return ((bitField1_ & 0x00040000) != 0);
8335 }
8346 @java.lang.Override
8347 public boolean getLogSearchProgress() {
8348 return logSearchProgress_;
8349 }
8361 public Builder setLogSearchProgress(boolean value) {
8362
8363 logSearchProgress_ = value;
8364 bitField1_ |= 0x00040000;
8365 onChanged();
8366 return this;
8367 }
8379 bitField1_ = (bitField1_ & ~0x00040000);
8380 logSearchProgress_ = false;
8381 onChanged();
8382 return this;
8383 }
8384
8385 private boolean logToStdout_ = true;
8394 @java.lang.Override
8395 public boolean hasLogToStdout() {
8396 return ((bitField1_ & 0x00080000) != 0);
8397 }
8406 @java.lang.Override
8407 public boolean getLogToStdout() {
8408 return logToStdout_;
8409 }
8419 public Builder setLogToStdout(boolean value) {
8420
8421 logToStdout_ = value;
8422 bitField1_ |= 0x00080000;
8423 onChanged();
8424 return this;
8425 }
8435 bitField1_ = (bitField1_ & ~0x00080000);
8436 logToStdout_ = true;
8437 onChanged();
8438 return this;
8439 }
8440
8441 private double crossoverBoundSnappingDistance_ = Double.POSITIVE_INFINITY;
8464 @java.lang.Override
8466 return ((bitField1_ & 0x00100000) != 0);
8467 }
8490 @java.lang.Override
8492 return crossoverBoundSnappingDistance_;
8493 }
8518
8519 crossoverBoundSnappingDistance_ = value;
8520 bitField1_ |= 0x00100000;
8521 onChanged();
8522 return this;
8523 }
8547 bitField1_ = (bitField1_ & ~0x00100000);
8548 crossoverBoundSnappingDistance_ = Double.POSITIVE_INFINITY;
8549 onChanged();
8550 return this;
8551 }
8552
8553 private boolean pushToVertex_ = true;
8567 @java.lang.Override
8568 public boolean hasPushToVertex() {
8569 return ((bitField1_ & 0x00200000) != 0);
8570 }
8584 @java.lang.Override
8585 public boolean getPushToVertex() {
8586 return pushToVertex_;
8587 }
8602 public Builder setPushToVertex(boolean value) {
8603
8604 pushToVertex_ = value;
8605 bitField1_ |= 0x00200000;
8606 onChanged();
8607 return this;
8608 }
8623 bitField1_ = (bitField1_ & ~0x00200000);
8624 pushToVertex_ = true;
8625 onChanged();
8626 return this;
8627 }
8628
8629 private boolean useImpliedFreePreprocessor_ = true;
8638 @java.lang.Override
8640 return ((bitField1_ & 0x00400000) != 0);
8641 }
8650 @java.lang.Override
8652 return useImpliedFreePreprocessor_;
8653 }
8664
8665 useImpliedFreePreprocessor_ = value;
8666 bitField1_ |= 0x00400000;
8667 onChanged();
8668 return this;
8669 }
8679 bitField1_ = (bitField1_ & ~0x00400000);
8680 useImpliedFreePreprocessor_ = true;
8681 onChanged();
8682 return this;
8683 }
8684
8685 private double maxValidMagnitude_ = 1e+30D;
8699 @java.lang.Override
8700 public boolean hasMaxValidMagnitude() {
8701 return ((bitField1_ & 0x00800000) != 0);
8702 }
8716 @java.lang.Override
8717 public double getMaxValidMagnitude() {
8718 return maxValidMagnitude_;
8719 }
8734 public Builder setMaxValidMagnitude(double value) {
8735
8736 maxValidMagnitude_ = value;
8737 bitField1_ |= 0x00800000;
8738 onChanged();
8739 return this;
8740 }
8755 bitField1_ = (bitField1_ & ~0x00800000);
8756 maxValidMagnitude_ = 1e+30D;
8757 onChanged();
8758 return this;
8759 }
8760
8761 private double dropMagnitude_ = 1e-30D;
8773 @java.lang.Override
8774 public boolean hasDropMagnitude() {
8775 return ((bitField1_ & 0x01000000) != 0);
8776 }
8788 @java.lang.Override
8789 public double getDropMagnitude() {
8790 return dropMagnitude_;
8791 }
8804 public Builder setDropMagnitude(double value) {
8805
8806 dropMagnitude_ = value;
8807 bitField1_ |= 0x01000000;
8808 onChanged();
8809 return this;
8810 }
8823 bitField1_ = (bitField1_ & ~0x01000000);
8824 dropMagnitude_ = 1e-30D;
8825 onChanged();
8826 return this;
8827 }
8828
8829 private boolean dualPricePrioritizeNorm_ ;
8839 @java.lang.Override
8841 return ((bitField1_ & 0x02000000) != 0);
8842 }
8852 @java.lang.Override
8854 return dualPricePrioritizeNorm_;
8855 }
8866 public Builder setDualPricePrioritizeNorm(boolean value) {
8867
8868 dualPricePrioritizeNorm_ = value;
8869 bitField1_ |= 0x02000000;
8870 onChanged();
8871 return this;
8872 }
8883 bitField1_ = (bitField1_ & ~0x02000000);
8884 dualPricePrioritizeNorm_ = false;
8885 onChanged();
8886 return this;
8887 }
8888
8889 // @@protoc_insertion_point(builder_scope:operations_research.glop.GlopParameters)
8890 }
8891
8892 // @@protoc_insertion_point(class_scope:operations_research.glop.GlopParameters)
8893 private static final com.google.ortools.glop.GlopParameters DEFAULT_INSTANCE;
8894 static {
8895 DEFAULT_INSTANCE = new com.google.ortools.glop.GlopParameters();
8896 }
8897
8899 return DEFAULT_INSTANCE;
8900 }
8901
8902 private static final com.google.protobuf.Parser<GlopParameters>
8903 PARSER = new com.google.protobuf.AbstractParser<GlopParameters>() {
8904 @java.lang.Override
8905 public GlopParameters parsePartialFrom(
8906 com.google.protobuf.CodedInputStream input,
8907 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8908 throws com.google.protobuf.InvalidProtocolBufferException {
8909 Builder builder = newBuilder();
8910 try {
8911 builder.mergeFrom(input, extensionRegistry);
8912 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8913 throw e.setUnfinishedMessage(builder.buildPartial());
8914 } catch (com.google.protobuf.UninitializedMessageException e) {
8915 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
8916 } catch (java.io.IOException e) {
8917 throw new com.google.protobuf.InvalidProtocolBufferException(e)
8918 .setUnfinishedMessage(builder.buildPartial());
8919 }
8920 return builder.buildPartial();
8921 }
8922 };
8923
8924 public static com.google.protobuf.Parser<GlopParameters> parser() {
8925 return PARSER;
8926 }
8927
8928 @java.lang.Override
8929 public com.google.protobuf.Parser<GlopParameters> getParserForType() {
8930 return PARSER;
8931 }
8932
8933 @java.lang.Override
8935 return DEFAULT_INSTANCE;
8936 }
8937
8938}
8939
com.google.ortools.glop.GlopParameters build()
com.google.ortools.glop.GlopParameters.CostScalingAlgorithm getCostScaling()
Builder setFeasibilityRule(com.google.ortools.glop.GlopParameters.PricingRule value)
com.google.ortools.glop.GlopParameters.SolverBehavior getSolveDualProblem()
com.google.ortools.glop.GlopParameters.InitialBasisHeuristic getInitialBasis()
Builder mergeFrom(com.google.ortools.glop.GlopParameters other)
Builder setOptimizationRule(com.google.ortools.glop.GlopParameters.PricingRule value)
Builder mergeFrom(com.google.protobuf.Message other)
Builder setSolveDualProblem(com.google.ortools.glop.GlopParameters.SolverBehavior value)
com.google.ortools.glop.GlopParameters.PricingRule getFeasibilityRule()
Builder setCostScaling(com.google.ortools.glop.GlopParameters.CostScalingAlgorithm value)
Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
Builder setDynamicallyAdjustRefactorizationPeriod(boolean value)
com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
com.google.ortools.glop.GlopParameters buildPartial()
Builder setInitialBasis(com.google.ortools.glop.GlopParameters.InitialBasisHeuristic value)
Builder setScalingMethod(com.google.ortools.glop.GlopParameters.ScalingAlgorithm value)
com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
com.google.ortools.glop.GlopParameters.ScalingAlgorithm getScalingMethod()
com.google.ortools.glop.GlopParameters.PricingRule getOptimizationRule()
com.google.ortools.glop.GlopParameters getDefaultInstanceForType()
static final int DYNAMICALLY_ADJUST_REFACTORIZATION_PERIOD_FIELD_NUMBER
com.google.ortools.glop.GlopParameters getDefaultInstanceForType()
static final int LU_FACTORIZATION_PIVOT_THRESHOLD_FIELD_NUMBER
com.google.ortools.glop.GlopParameters.CostScalingAlgorithm getCostScaling()
com.google.ortools.glop.GlopParameters.ScalingAlgorithm getScalingMethod()
com.google.ortools.glop.GlopParameters.PricingRule getFeasibilityRule()
com.google.ortools.glop.GlopParameters.PricingRule getOptimizationRule()
static com.google.ortools.glop.GlopParameters parseFrom(java.io.InputStream input)
static final int SOLUTION_FEASIBILITY_TOLERANCE_FIELD_NUMBER
static com.google.ortools.glop.GlopParameters getDefaultInstance()
static final int INITIAL_CONDITION_NUMBER_THRESHOLD_FIELD_NUMBER
static com.google.ortools.glop.GlopParameters parseDelimitedFrom(java.io.InputStream input)
static final int EXPLOIT_SINGLETON_COLUMN_IN_INITIAL_BASIS_FIELD_NUMBER
com.google.ortools.glop.GlopParameters.InitialBasisHeuristic getInitialBasis()
static com.google.ortools.glop.GlopParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.glop.GlopParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.glop.GlopParameters parseFrom(com.google.protobuf.CodedInputStream input)
static final int CROSSOVER_BOUND_SNAPPING_DISTANCE_FIELD_NUMBER
static final int ALLOW_SIMPLEX_ALGORITHM_CHANGE_FIELD_NUMBER
static com.google.ortools.glop.GlopParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.glop.GlopParameters.SolverBehavior getSolveDualProblem()
static final int USE_DEDICATED_DUAL_FEASIBILITY_ALGORITHM_FIELD_NUMBER
Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent)
static com.google.ortools.glop.GlopParameters parseFrom(java.nio.ByteBuffer data)
static com.google.ortools.glop.GlopParameters parseFrom(com.google.protobuf.ByteString data)
static final int MARKOWITZ_SINGULARITY_THRESHOLD_FIELD_NUMBER
static final int RECOMPUTE_EDGES_NORM_THRESHOLD_FIELD_NUMBER
static com.google.ortools.glop.GlopParameters parseFrom(byte[] data)
static com.google.protobuf.Parser< GlopParameters > parser()
com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
static final int MAX_NUMBER_OF_REOPTIMIZATIONS_FIELD_NUMBER
static final int INITIALIZE_DEVEX_WITH_COLUMN_NORMS_FIELD_NUMBER
static final int PROVIDE_STRONG_OPTIMAL_GUARANTEE_FIELD_NUMBER
com.google.protobuf.Parser< GlopParameters > getParserForType()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
static final int USE_IMPLIED_FREE_PREPROCESSOR_FIELD_NUMBER
static Builder newBuilder(com.google.ortools.glop.GlopParameters prototype)
void writeTo(com.google.protobuf.CodedOutputStream output)
static final int RECOMPUTE_REDUCED_COSTS_THRESHOLD_FIELD_NUMBER
boolean equals(final java.lang.Object obj)
static final int PERTURB_COSTS_IN_DUAL_SIMPLEX_FIELD_NUMBER
static final int RELATIVE_MAX_COST_PERTURBATION_FIELD_NUMBER
static final int USE_MIDDLE_PRODUCT_FORM_UPDATE_FIELD_NUMBER
static com.google.ortools.glop.GlopParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.glop.GlopParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.glop.GlopParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< CostScalingAlgorithm > internalGetValueMap()
static CostScalingAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static InitialBasisHeuristic valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< InitialBasisHeuristic > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< PricingRule > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static PricingRule valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static com.google.protobuf.Internal.EnumLiteMap< ScalingAlgorithm > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static ScalingAlgorithm valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static SolverBehavior valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< SolverBehavior > internalGetValueMap()