6package com.google.ortools.glop;
15@com.google.protobuf.Generated
16public final class GlopParameters
extends
17 com.google.protobuf.GeneratedMessage implements
20private static final long serialVersionUID = 0L;
22 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
23 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
28 GlopParameters.class.getName());
31 private GlopParameters(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
34 private GlopParameters() {
37 optimizationRule_ = 1;
38 refactorizationThreshold_ = 1e-09D;
39 recomputeReducedCostsThreshold_ = 1e-08D;
40 recomputeEdgesNormThreshold_ = 100D;
41 primalFeasibilityTolerance_ = 1e-08D;
42 dualFeasibilityTolerance_ = 1e-08D;
43 ratioTestZeroThreshold_ = 1e-09D;
44 harrisToleranceRatio_ = 0.5D;
45 smallPivotThreshold_ = 1e-06D;
46 minimumAcceptablePivot_ = 1e-06D;
47 dropTolerance_ = 1e-14D;
51 useTransposedMatrix_ =
true;
52 basisRefactorizationPeriod_ = 64;
53 dynamicallyAdjustRefactorizationPeriod_ =
true;
54 solveDualProblem_ = 2;
55 dualizerThreshold_ = 1.5D;
56 solutionFeasibilityTolerance_ = 1e-06D;
57 provideStrongOptimalGuarantee_ =
true;
58 changeStatusToImprecise_ =
true;
59 maxNumberOfReoptimizations_ = 40D;
60 luFactorizationPivotThreshold_ = 0.01D;
61 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
62 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
63 maxNumberOfIterations_ = -1L;
64 markowitzZlatevParameter_ = 3;
65 markowitzSingularityThreshold_ = 1e-15D;
66 devexWeightsResetPeriod_ = 150;
67 usePreprocessing_ =
true;
68 useMiddleProductFormUpdate_ =
true;
69 initializeDevexWithColumnNorms_ =
true;
70 exploitSingletonColumnInInitialBasis_ =
true;
71 dualSmallPivotThreshold_ = 0.0001D;
72 preprocessorZeroTolerance_ = 1e-09D;
73 objectiveLowerLimit_ = Double.NEGATIVE_INFINITY;
74 objectiveUpperLimit_ = Double.POSITIVE_INFINITY;
75 degenerateMinistepFactor_ = 0.01D;
78 useDedicatedDualFeasibilityAlgorithm_ =
true;
79 relativeCostPerturbation_ = 1e-05D;
80 relativeMaxCostPerturbation_ = 1e-07D;
81 initialConditionNumberThreshold_ = 1e+50D;
83 crossoverBoundSnappingDistance_ = Double.POSITIVE_INFINITY;
85 useImpliedFreePreprocessor_ =
true;
86 maxValidMagnitude_ = 1e+30D;
87 dropMagnitude_ = 1e-30D;
90 public static final com.google.protobuf.Descriptors.Descriptor
92 return com.google.ortools.glop.Parameters.internal_static_operations_research_glop_GlopParameters_descriptor;
96 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
98 return com.google.ortools.glop.Parameters.internal_static_operations_research_glop_GlopParameters_fieldAccessorTable
99 .ensureFieldAccessorsInitialized(
100 com.google.ortools.glop.GlopParameters.class, com.google.ortools.glop.GlopParameters.Builder.class);
114 public enum ScalingAlgorithm
115 implements com.google.protobuf.ProtocolMessageEnum {
131 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
132 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
137 ScalingAlgorithm.class.getName());
162 @java.lang.Deprecated
163 public static ScalingAlgorithm
valueOf(
int value) {
176 default:
return null;
182 return internalValueMap;
184 private static final com.google.protobuf.Internal.EnumLiteMap<
192 public final com.google.protobuf.Descriptors.EnumValueDescriptor
196 public final com.google.protobuf.Descriptors.EnumDescriptor
200 public static com.google.protobuf.Descriptors.EnumDescriptor
202 return com.google.ortools.glop.GlopParameters.getDescriptor().getEnumTypes().get(0);
208 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
210 throw new java.lang.IllegalArgumentException(
211 "EnumValueDescriptor is not for this type.");
213 return VALUES[desc.getIndex()];
216 private final int value;
233 public enum SolverBehavior
234 implements com.google.protobuf.ProtocolMessageEnum {
250 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
251 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
256 SolverBehavior.class.getName());
281 @java.lang.Deprecated
282 public static SolverBehavior
valueOf(
int value) {
295 default:
return null;
299 public static com.google.protobuf.Internal.EnumLiteMap<
SolverBehavior>
301 return internalValueMap;
303 private static final com.google.protobuf.Internal.EnumLiteMap<
311 public final com.google.protobuf.Descriptors.EnumValueDescriptor
315 public final com.google.protobuf.Descriptors.EnumDescriptor
319 public static com.google.protobuf.Descriptors.EnumDescriptor
321 return com.google.ortools.glop.GlopParameters.getDescriptor().getEnumTypes().get(1);
327 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
329 throw new java.lang.IllegalArgumentException(
330 "EnumValueDescriptor is not for this type.");
332 return VALUES[desc.getIndex()];
335 private final int value;
351 public enum PricingRule
352 implements com.google.protobuf.ProtocolMessageEnum {
388 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
389 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
394 PricingRule.class.getName());
439 @java.lang.Deprecated
440 public static PricingRule
valueOf(
int value) {
452 case 2:
return DEVEX;
453 default:
return null;
457 public static com.google.protobuf.Internal.EnumLiteMap<
PricingRule>
459 return internalValueMap;
461 private static final com.google.protobuf.Internal.EnumLiteMap<
463 new com.google.protobuf.Internal.EnumLiteMap<
PricingRule>() {
469 public final com.google.protobuf.Descriptors.EnumValueDescriptor
473 public final com.google.protobuf.Descriptors.EnumDescriptor
477 public static com.google.protobuf.Descriptors.EnumDescriptor
479 return com.google.ortools.glop.GlopParameters.getDescriptor().getEnumTypes().get(2);
482 private static final PricingRule[] VALUES = values();
485 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
487 throw new java.lang.IllegalArgumentException(
488 "EnumValueDescriptor is not for this type.");
490 return VALUES[desc.getIndex()];
493 private final int value;
510 public enum InitialBasisHeuristic
511 implements com.google.protobuf.ProtocolMessageEnum {
558 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
559 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
564 InitialBasisHeuristic.class.getName());
620 @java.lang.Deprecated
621 public static InitialBasisHeuristic
valueOf(
int value) {
629 public static InitialBasisHeuristic
forNumber(
int value) {
632 case 1:
return BIXBY;
634 case 3:
return MAROS;
635 default:
return null;
641 return internalValueMap;
643 private static final com.google.protobuf.Internal.EnumLiteMap<
651 public final com.google.protobuf.Descriptors.EnumValueDescriptor
655 public final com.google.protobuf.Descriptors.EnumDescriptor
659 public static com.google.protobuf.Descriptors.EnumDescriptor
661 return com.google.ortools.glop.GlopParameters.getDescriptor().getEnumTypes().get(3);
667 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
669 throw new java.lang.IllegalArgumentException(
670 "EnumValueDescriptor is not for this type.");
672 return VALUES[desc.getIndex()];
675 private final int value;
695 public enum CostScalingAlgorithm
696 implements com.google.protobuf.ProtocolMessageEnum {
734 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
735 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
740 CostScalingAlgorithm.class.getName());
787 @java.lang.Deprecated
788 public static CostScalingAlgorithm
valueOf(
int value) {
796 public static CostScalingAlgorithm
forNumber(
int value) {
802 default:
return null;
808 return internalValueMap;
810 private static final com.google.protobuf.Internal.EnumLiteMap<
818 public final com.google.protobuf.Descriptors.EnumValueDescriptor
822 public final com.google.protobuf.Descriptors.EnumDescriptor
826 public static com.google.protobuf.Descriptors.EnumDescriptor
828 return com.google.ortools.glop.GlopParameters.getDescriptor().getEnumTypes().get(4);
834 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
836 throw new java.lang.IllegalArgumentException(
837 "EnumValueDescriptor is not for this type.");
839 return VALUES[desc.getIndex()];
842 private final int value;
851 private int bitField0_;
852 private int bitField1_;
854 private int scalingMethod_ = 1;
860 return ((bitField0_ & 0x00000001) != 0);
872 private int feasibilityRule_ = 1;
882 return ((bitField0_ & 0x00000002) != 0);
898 private int optimizationRule_ = 1;
908 return ((bitField0_ & 0x00000004) != 0);
924 private double refactorizationThreshold_ = 1e-09D;
940 return ((bitField0_ & 0x00000008) != 0);
957 return refactorizationThreshold_;
961 private double recomputeReducedCostsThreshold_ = 1e-08D;
976 return ((bitField0_ & 0x00000010) != 0);
992 return recomputeReducedCostsThreshold_;
996 private double recomputeEdgesNormThreshold_ = 100D;
1011 return ((bitField0_ & 0x00000020) != 0);
1027 return recomputeEdgesNormThreshold_;
1031 private double primalFeasibilityTolerance_ = 1e-08D;
1048 return ((bitField0_ & 0x00000040) != 0);
1066 return primalFeasibilityTolerance_;
1070 private double dualFeasibilityTolerance_ = 1e-08D;
1090 return ((bitField0_ & 0x00000080) != 0);
1111 return dualFeasibilityTolerance_;
1115 private double ratioTestZeroThreshold_ = 1e-09D;
1132 return ((bitField0_ & 0x00000100) != 0);
1150 return ratioTestZeroThreshold_;
1154 private double harrisToleranceRatio_ = 0.5D;
1175 return ((bitField0_ & 0x00000200) != 0);
1197 return harrisToleranceRatio_;
1201 private double smallPivotThreshold_ = 1e-06D;
1215 return ((bitField0_ & 0x00000400) != 0);
1230 return smallPivotThreshold_;
1234 private double minimumAcceptablePivot_ = 1e-06D;
1245 return ((bitField0_ & 0x00000800) != 0);
1257 return minimumAcceptablePivot_;
1261 private double dropTolerance_ = 1e-14D;
1274 return ((bitField0_ & 0x00001000) != 0);
1288 return dropTolerance_;
1292 private boolean useScaling_ =
true;
1304 return ((bitField0_ & 0x00002000) != 0);
1321 private int costScaling_ = 1;
1327 return ((bitField0_ & 0x00004000) != 0);
1339 private int initialBasis_ = 2;
1350 return ((bitField0_ & 0x00008000) != 0);
1367 private boolean useTransposedMatrix_ =
true;
1380 return ((bitField0_ & 0x00010000) != 0);
1394 return useTransposedMatrix_;
1398 private int basisRefactorizationPeriod_ = 64;
1411 return ((bitField0_ & 0x00020000) != 0);
1425 return basisRefactorizationPeriod_;
1429 private boolean dynamicallyAdjustRefactorizationPeriod_ =
true;
1444 return ((bitField0_ & 0x00040000) != 0);
1460 return dynamicallyAdjustRefactorizationPeriod_;
1464 private int solveDualProblem_ = 2;
1476 return ((bitField0_ & 0x00080000) != 0);
1494 private double dualizerThreshold_ = 1.5D;
1507 return ((bitField0_ & 0x00100000) != 0);
1521 return dualizerThreshold_;
1525 private double solutionFeasibilityTolerance_ = 1e-06D;
1543 return ((bitField0_ & 0x00200000) != 0);
1562 return solutionFeasibilityTolerance_;
1566 private boolean provideStrongOptimalGuarantee_ =
true;
1594 return ((bitField0_ & 0x00400000) != 0);
1623 return provideStrongOptimalGuarantee_;
1627 private boolean changeStatusToImprecise_ =
true;
1639 return ((bitField0_ & 0x00800000) != 0);
1652 return changeStatusToImprecise_;
1656 private double maxNumberOfReoptimizations_ = 40D;
1670 return ((bitField0_ & 0x01000000) != 0);
1685 return maxNumberOfReoptimizations_;
1689 private double luFactorizationPivotThreshold_ = 0.01D;
1703 return ((bitField0_ & 0x02000000) != 0);
1718 return luFactorizationPivotThreshold_;
1722 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
1733 return ((bitField0_ & 0x04000000) != 0);
1745 return maxTimeInSeconds_;
1749 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
1764 return ((bitField0_ & 0x08000000) != 0);
1780 return maxDeterministicTime_;
1784 private long maxNumberOfIterations_ = -1L;
1796 return ((bitField0_ & 0x10000000) != 0);
1809 return maxNumberOfIterations_;
1813 private int markowitzZlatevParameter_ = 3;
1825 return ((bitField0_ & 0x20000000) != 0);
1838 return markowitzZlatevParameter_;
1842 private double markowitzSingularityThreshold_ = 1e-15D;
1856 return ((bitField0_ & 0x40000000) != 0);
1871 return markowitzSingularityThreshold_;
1875 private boolean useDualSimplex_ =
false;
1886 return ((bitField0_ & 0x80000000) != 0);
1898 return useDualSimplex_;
1902 private boolean allowSimplexAlgorithmChange_ =
false;
1916 return ((bitField1_ & 0x00000001) != 0);
1931 return allowSimplexAlgorithmChange_;
1935 private int devexWeightsResetPeriod_ = 150;
1946 return ((bitField1_ & 0x00000002) != 0);
1958 return devexWeightsResetPeriod_;
1962 private boolean usePreprocessing_ =
true;
1973 return ((bitField1_ & 0x00000004) != 0);
1985 return usePreprocessing_;
1989 private boolean useMiddleProductFormUpdate_ =
true;
2006 return ((bitField1_ & 0x00000008) != 0);
2024 return useMiddleProductFormUpdate_;
2028 private boolean initializeDevexWithColumnNorms_ =
true;
2040 return ((bitField1_ & 0x00000010) != 0);
2053 return initializeDevexWithColumnNorms_;
2057 private boolean exploitSingletonColumnInInitialBasis_ =
true;
2069 return ((bitField1_ & 0x00000020) != 0);
2082 return exploitSingletonColumnInInitialBasis_;
2086 private double dualSmallPivotThreshold_ = 0.0001D;
2099 return ((bitField1_ & 0x00000040) != 0);
2113 return dualSmallPivotThreshold_;
2117 private double preprocessorZeroTolerance_ = 1e-09D;
2133 return ((bitField1_ & 0x00000080) != 0);
2150 return preprocessorZeroTolerance_;
2154 private double objectiveLowerLimit_ = Double.NEGATIVE_INFINITY;
2173 return ((bitField1_ & 0x00000100) != 0);
2193 return objectiveLowerLimit_;
2197 private double objectiveUpperLimit_ = Double.POSITIVE_INFINITY;
2204 return ((bitField1_ & 0x00000200) != 0);
2212 return objectiveUpperLimit_;
2216 private double degenerateMinistepFactor_ = 0.01D;
2244 return ((bitField1_ & 0x00000400) != 0);
2273 return degenerateMinistepFactor_;
2277 private int randomSeed_ = 1;
2302 return ((bitField1_ & 0x00000800) != 0);
2332 private boolean useAbslRandom_ =
false;
2343 return ((bitField1_ & 0x00001000) != 0);
2355 return useAbslRandom_;
2359 private int numOmpThreads_ = 1;
2371 return ((bitField1_ & 0x00002000) != 0);
2384 return numOmpThreads_;
2388 private boolean perturbCostsInDualSimplex_ =
false;
2402 return ((bitField1_ & 0x00004000) != 0);
2417 return perturbCostsInDualSimplex_;
2421 private boolean useDedicatedDualFeasibilityAlgorithm_ =
true;
2439 return ((bitField1_ & 0x00008000) != 0);
2458 return useDedicatedDualFeasibilityAlgorithm_;
2462 private double relativeCostPerturbation_ = 1e-05D;
2476 return ((bitField1_ & 0x00010000) != 0);
2491 return relativeCostPerturbation_;
2495 private double relativeMaxCostPerturbation_ = 1e-07D;
2502 return ((bitField1_ & 0x00020000) != 0);
2510 return relativeMaxCostPerturbation_;
2514 private double initialConditionNumberThreshold_ = 1e+50D;
2527 return ((bitField1_ & 0x00040000) != 0);
2541 return initialConditionNumberThreshold_;
2545 private boolean logSearchProgress_ =
false;
2558 return ((bitField1_ & 0x00080000) != 0);
2572 return logSearchProgress_;
2576 private boolean logToStdout_ =
true;
2587 return ((bitField1_ & 0x00100000) != 0);
2599 return logToStdout_;
2603 private double crossoverBoundSnappingDistance_ = Double.POSITIVE_INFINITY;
2628 return ((bitField1_ & 0x00200000) != 0);
2654 return crossoverBoundSnappingDistance_;
2658 private boolean pushToVertex_ =
true;
2674 return ((bitField1_ & 0x00400000) != 0);
2691 return pushToVertex_;
2695 private boolean useImpliedFreePreprocessor_ =
true;
2706 return ((bitField1_ & 0x00800000) != 0);
2718 return useImpliedFreePreprocessor_;
2722 private double maxValidMagnitude_ = 1e+30D;
2738 return ((bitField1_ & 0x01000000) != 0);
2755 return maxValidMagnitude_;
2759 private double dropMagnitude_ = 1e-30D;
2773 return ((bitField1_ & 0x02000000) != 0);
2788 return dropMagnitude_;
2792 private boolean dualPricePrioritizeNorm_ =
false;
2804 return ((bitField1_ & 0x04000000) != 0);
2817 return dualPricePrioritizeNorm_;
2820 private byte memoizedIsInitialized = -1;
2827 memoizedIsInitialized = 1;
2832 public void writeTo(com.google.protobuf.CodedOutputStream output)
2833 throws java.io.IOException {
2834 if (((bitField0_ & 0x00000002) != 0)) {
2835 output.writeEnum(1, feasibilityRule_);
2837 if (((bitField0_ & 0x00000004) != 0)) {
2838 output.writeEnum(2, optimizationRule_);
2840 if (((bitField0_ & 0x00000008) != 0)) {
2841 output.writeDouble(6, refactorizationThreshold_);
2843 if (((bitField0_ & 0x00000010) != 0)) {
2844 output.writeDouble(8, recomputeReducedCostsThreshold_);
2846 if (((bitField0_ & 0x00000020) != 0)) {
2847 output.writeDouble(9, recomputeEdgesNormThreshold_);
2849 if (((bitField0_ & 0x00000040) != 0)) {
2850 output.writeDouble(10, primalFeasibilityTolerance_);
2852 if (((bitField0_ & 0x00000080) != 0)) {
2853 output.writeDouble(11, dualFeasibilityTolerance_);
2855 if (((bitField0_ & 0x00000100) != 0)) {
2856 output.writeDouble(12, ratioTestZeroThreshold_);
2858 if (((bitField0_ & 0x00000200) != 0)) {
2859 output.writeDouble(13, harrisToleranceRatio_);
2861 if (((bitField0_ & 0x00000400) != 0)) {
2862 output.writeDouble(14, smallPivotThreshold_);
2864 if (((bitField0_ & 0x00000800) != 0)) {
2865 output.writeDouble(15, minimumAcceptablePivot_);
2867 if (((bitField0_ & 0x00002000) != 0)) {
2868 output.writeBool(16, useScaling_);
2870 if (((bitField0_ & 0x00008000) != 0)) {
2871 output.writeEnum(17, initialBasis_);
2873 if (((bitField0_ & 0x00010000) != 0)) {
2874 output.writeBool(18, useTransposedMatrix_);
2876 if (((bitField0_ & 0x00020000) != 0)) {
2877 output.writeInt32(19, basisRefactorizationPeriod_);
2879 if (((bitField0_ & 0x00080000) != 0)) {
2880 output.writeEnum(20, solveDualProblem_);
2882 if (((bitField0_ & 0x00100000) != 0)) {
2883 output.writeDouble(21, dualizerThreshold_);
2885 if (((bitField0_ & 0x00200000) != 0)) {
2886 output.writeDouble(22, solutionFeasibilityTolerance_);
2888 if (((bitField0_ & 0x00400000) != 0)) {
2889 output.writeBool(24, provideStrongOptimalGuarantee_);
2891 if (((bitField0_ & 0x02000000) != 0)) {
2892 output.writeDouble(25, luFactorizationPivotThreshold_);
2894 if (((bitField0_ & 0x04000000) != 0)) {
2895 output.writeDouble(26, maxTimeInSeconds_);
2897 if (((bitField0_ & 0x10000000) != 0)) {
2898 output.writeInt64(27, maxNumberOfIterations_);
2900 if (((bitField0_ & 0x20000000) != 0)) {
2901 output.writeInt32(29, markowitzZlatevParameter_);
2903 if (((bitField0_ & 0x40000000) != 0)) {
2904 output.writeDouble(30, markowitzSingularityThreshold_);
2906 if (((bitField0_ & 0x80000000) != 0)) {
2907 output.writeBool(31, useDualSimplex_);
2909 if (((bitField1_ & 0x00000001) != 0)) {
2910 output.writeBool(32, allowSimplexAlgorithmChange_);
2912 if (((bitField1_ & 0x00000002) != 0)) {
2913 output.writeInt32(33, devexWeightsResetPeriod_);
2915 if (((bitField1_ & 0x00000004) != 0)) {
2916 output.writeBool(34, usePreprocessing_);
2918 if (((bitField1_ & 0x00000008) != 0)) {
2919 output.writeBool(35, useMiddleProductFormUpdate_);
2921 if (((bitField1_ & 0x00000010) != 0)) {
2922 output.writeBool(36, initializeDevexWithColumnNorms_);
2924 if (((bitField1_ & 0x00000020) != 0)) {
2925 output.writeBool(37, exploitSingletonColumnInInitialBasis_);
2927 if (((bitField1_ & 0x00000040) != 0)) {
2928 output.writeDouble(38, dualSmallPivotThreshold_);
2930 if (((bitField1_ & 0x00000080) != 0)) {
2931 output.writeDouble(39, preprocessorZeroTolerance_);
2933 if (((bitField1_ & 0x00000100) != 0)) {
2934 output.writeDouble(40, objectiveLowerLimit_);
2936 if (((bitField1_ & 0x00000200) != 0)) {
2937 output.writeDouble(41, objectiveUpperLimit_);
2939 if (((bitField1_ & 0x00000400) != 0)) {
2940 output.writeDouble(42, degenerateMinistepFactor_);
2942 if (((bitField1_ & 0x00000800) != 0)) {
2943 output.writeInt32(43, randomSeed_);
2945 if (((bitField1_ & 0x00002000) != 0)) {
2946 output.writeInt32(44, numOmpThreads_);
2948 if (((bitField0_ & 0x08000000) != 0)) {
2949 output.writeDouble(45, maxDeterministicTime_);
2951 if (((bitField0_ & 0x00001000) != 0)) {
2952 output.writeDouble(52, dropTolerance_);
2954 if (((bitField1_ & 0x00004000) != 0)) {
2955 output.writeBool(53, perturbCostsInDualSimplex_);
2957 if (((bitField1_ & 0x00010000) != 0)) {
2958 output.writeDouble(54, relativeCostPerturbation_);
2960 if (((bitField1_ & 0x00020000) != 0)) {
2961 output.writeDouble(55, relativeMaxCostPerturbation_);
2963 if (((bitField0_ & 0x01000000) != 0)) {
2964 output.writeDouble(56, maxNumberOfReoptimizations_);
2966 if (((bitField0_ & 0x00000001) != 0)) {
2967 output.writeEnum(57, scalingMethod_);
2969 if (((bitField0_ & 0x00800000) != 0)) {
2970 output.writeBool(58, changeStatusToImprecise_);
2972 if (((bitField1_ & 0x00040000) != 0)) {
2973 output.writeDouble(59, initialConditionNumberThreshold_);
2975 if (((bitField0_ & 0x00004000) != 0)) {
2976 output.writeEnum(60, costScaling_);
2978 if (((bitField1_ & 0x00080000) != 0)) {
2979 output.writeBool(61, logSearchProgress_);
2981 if (((bitField1_ & 0x00008000) != 0)) {
2982 output.writeBool(62, useDedicatedDualFeasibilityAlgorithm_);
2984 if (((bitField0_ & 0x00040000) != 0)) {
2985 output.writeBool(63, dynamicallyAdjustRefactorizationPeriod_);
2987 if (((bitField1_ & 0x00200000) != 0)) {
2988 output.writeDouble(64, crossoverBoundSnappingDistance_);
2990 if (((bitField1_ & 0x00400000) != 0)) {
2991 output.writeBool(65, pushToVertex_);
2993 if (((bitField1_ & 0x00100000) != 0)) {
2994 output.writeBool(66, logToStdout_);
2996 if (((bitField1_ & 0x00800000) != 0)) {
2997 output.writeBool(67, useImpliedFreePreprocessor_);
2999 if (((bitField1_ & 0x04000000) != 0)) {
3000 output.writeBool(69, dualPricePrioritizeNorm_);
3002 if (((bitField1_ & 0x01000000) != 0)) {
3003 output.writeDouble(70, maxValidMagnitude_);
3005 if (((bitField1_ & 0x02000000) != 0)) {
3006 output.writeDouble(71, dropMagnitude_);
3008 if (((bitField1_ & 0x00001000) != 0)) {
3009 output.writeBool(72, useAbslRandom_);
3011 getUnknownFields().writeTo(output);
3016 int size = memoizedSize;
3017 if (size != -1)
return size;
3020 if (((bitField0_ & 0x00000002) != 0)) {
3021 size += com.google.protobuf.CodedOutputStream
3022 .computeEnumSize(1, feasibilityRule_);
3024 if (((bitField0_ & 0x00000004) != 0)) {
3025 size += com.google.protobuf.CodedOutputStream
3026 .computeEnumSize(2, optimizationRule_);
3028 if (((bitField0_ & 0x00000008) != 0)) {
3029 size += com.google.protobuf.CodedOutputStream
3030 .computeDoubleSize(6, refactorizationThreshold_);
3032 if (((bitField0_ & 0x00000010) != 0)) {
3033 size += com.google.protobuf.CodedOutputStream
3034 .computeDoubleSize(8, recomputeReducedCostsThreshold_);
3036 if (((bitField0_ & 0x00000020) != 0)) {
3037 size += com.google.protobuf.CodedOutputStream
3038 .computeDoubleSize(9, recomputeEdgesNormThreshold_);
3040 if (((bitField0_ & 0x00000040) != 0)) {
3041 size += com.google.protobuf.CodedOutputStream
3042 .computeDoubleSize(10, primalFeasibilityTolerance_);
3044 if (((bitField0_ & 0x00000080) != 0)) {
3045 size += com.google.protobuf.CodedOutputStream
3046 .computeDoubleSize(11, dualFeasibilityTolerance_);
3048 if (((bitField0_ & 0x00000100) != 0)) {
3049 size += com.google.protobuf.CodedOutputStream
3050 .computeDoubleSize(12, ratioTestZeroThreshold_);
3052 if (((bitField0_ & 0x00000200) != 0)) {
3053 size += com.google.protobuf.CodedOutputStream
3054 .computeDoubleSize(13, harrisToleranceRatio_);
3056 if (((bitField0_ & 0x00000400) != 0)) {
3057 size += com.google.protobuf.CodedOutputStream
3058 .computeDoubleSize(14, smallPivotThreshold_);
3060 if (((bitField0_ & 0x00000800) != 0)) {
3061 size += com.google.protobuf.CodedOutputStream
3062 .computeDoubleSize(15, minimumAcceptablePivot_);
3064 if (((bitField0_ & 0x00002000) != 0)) {
3065 size += com.google.protobuf.CodedOutputStream
3066 .computeBoolSize(16, useScaling_);
3068 if (((bitField0_ & 0x00008000) != 0)) {
3069 size += com.google.protobuf.CodedOutputStream
3070 .computeEnumSize(17, initialBasis_);
3072 if (((bitField0_ & 0x00010000) != 0)) {
3073 size += com.google.protobuf.CodedOutputStream
3074 .computeBoolSize(18, useTransposedMatrix_);
3076 if (((bitField0_ & 0x00020000) != 0)) {
3077 size += com.google.protobuf.CodedOutputStream
3078 .computeInt32Size(19, basisRefactorizationPeriod_);
3080 if (((bitField0_ & 0x00080000) != 0)) {
3081 size += com.google.protobuf.CodedOutputStream
3082 .computeEnumSize(20, solveDualProblem_);
3084 if (((bitField0_ & 0x00100000) != 0)) {
3085 size += com.google.protobuf.CodedOutputStream
3086 .computeDoubleSize(21, dualizerThreshold_);
3088 if (((bitField0_ & 0x00200000) != 0)) {
3089 size += com.google.protobuf.CodedOutputStream
3090 .computeDoubleSize(22, solutionFeasibilityTolerance_);
3092 if (((bitField0_ & 0x00400000) != 0)) {
3093 size += com.google.protobuf.CodedOutputStream
3094 .computeBoolSize(24, provideStrongOptimalGuarantee_);
3096 if (((bitField0_ & 0x02000000) != 0)) {
3097 size += com.google.protobuf.CodedOutputStream
3098 .computeDoubleSize(25, luFactorizationPivotThreshold_);
3100 if (((bitField0_ & 0x04000000) != 0)) {
3101 size += com.google.protobuf.CodedOutputStream
3102 .computeDoubleSize(26, maxTimeInSeconds_);
3104 if (((bitField0_ & 0x10000000) != 0)) {
3105 size += com.google.protobuf.CodedOutputStream
3106 .computeInt64Size(27, maxNumberOfIterations_);
3108 if (((bitField0_ & 0x20000000) != 0)) {
3109 size += com.google.protobuf.CodedOutputStream
3110 .computeInt32Size(29, markowitzZlatevParameter_);
3112 if (((bitField0_ & 0x40000000) != 0)) {
3113 size += com.google.protobuf.CodedOutputStream
3114 .computeDoubleSize(30, markowitzSingularityThreshold_);
3116 if (((bitField0_ & 0x80000000) != 0)) {
3117 size += com.google.protobuf.CodedOutputStream
3118 .computeBoolSize(31, useDualSimplex_);
3120 if (((bitField1_ & 0x00000001) != 0)) {
3121 size += com.google.protobuf.CodedOutputStream
3122 .computeBoolSize(32, allowSimplexAlgorithmChange_);
3124 if (((bitField1_ & 0x00000002) != 0)) {
3125 size += com.google.protobuf.CodedOutputStream
3126 .computeInt32Size(33, devexWeightsResetPeriod_);
3128 if (((bitField1_ & 0x00000004) != 0)) {
3129 size += com.google.protobuf.CodedOutputStream
3130 .computeBoolSize(34, usePreprocessing_);
3132 if (((bitField1_ & 0x00000008) != 0)) {
3133 size += com.google.protobuf.CodedOutputStream
3134 .computeBoolSize(35, useMiddleProductFormUpdate_);
3136 if (((bitField1_ & 0x00000010) != 0)) {
3137 size += com.google.protobuf.CodedOutputStream
3138 .computeBoolSize(36, initializeDevexWithColumnNorms_);
3140 if (((bitField1_ & 0x00000020) != 0)) {
3141 size += com.google.protobuf.CodedOutputStream
3142 .computeBoolSize(37, exploitSingletonColumnInInitialBasis_);
3144 if (((bitField1_ & 0x00000040) != 0)) {
3145 size += com.google.protobuf.CodedOutputStream
3146 .computeDoubleSize(38, dualSmallPivotThreshold_);
3148 if (((bitField1_ & 0x00000080) != 0)) {
3149 size += com.google.protobuf.CodedOutputStream
3150 .computeDoubleSize(39, preprocessorZeroTolerance_);
3152 if (((bitField1_ & 0x00000100) != 0)) {
3153 size += com.google.protobuf.CodedOutputStream
3154 .computeDoubleSize(40, objectiveLowerLimit_);
3156 if (((bitField1_ & 0x00000200) != 0)) {
3157 size += com.google.protobuf.CodedOutputStream
3158 .computeDoubleSize(41, objectiveUpperLimit_);
3160 if (((bitField1_ & 0x00000400) != 0)) {
3161 size += com.google.protobuf.CodedOutputStream
3162 .computeDoubleSize(42, degenerateMinistepFactor_);
3164 if (((bitField1_ & 0x00000800) != 0)) {
3165 size += com.google.protobuf.CodedOutputStream
3166 .computeInt32Size(43, randomSeed_);
3168 if (((bitField1_ & 0x00002000) != 0)) {
3169 size += com.google.protobuf.CodedOutputStream
3170 .computeInt32Size(44, numOmpThreads_);
3172 if (((bitField0_ & 0x08000000) != 0)) {
3173 size += com.google.protobuf.CodedOutputStream
3174 .computeDoubleSize(45, maxDeterministicTime_);
3176 if (((bitField0_ & 0x00001000) != 0)) {
3177 size += com.google.protobuf.CodedOutputStream
3178 .computeDoubleSize(52, dropTolerance_);
3180 if (((bitField1_ & 0x00004000) != 0)) {
3181 size += com.google.protobuf.CodedOutputStream
3182 .computeBoolSize(53, perturbCostsInDualSimplex_);
3184 if (((bitField1_ & 0x00010000) != 0)) {
3185 size += com.google.protobuf.CodedOutputStream
3186 .computeDoubleSize(54, relativeCostPerturbation_);
3188 if (((bitField1_ & 0x00020000) != 0)) {
3189 size += com.google.protobuf.CodedOutputStream
3190 .computeDoubleSize(55, relativeMaxCostPerturbation_);
3192 if (((bitField0_ & 0x01000000) != 0)) {
3193 size += com.google.protobuf.CodedOutputStream
3194 .computeDoubleSize(56, maxNumberOfReoptimizations_);
3196 if (((bitField0_ & 0x00000001) != 0)) {
3197 size += com.google.protobuf.CodedOutputStream
3198 .computeEnumSize(57, scalingMethod_);
3200 if (((bitField0_ & 0x00800000) != 0)) {
3201 size += com.google.protobuf.CodedOutputStream
3202 .computeBoolSize(58, changeStatusToImprecise_);
3204 if (((bitField1_ & 0x00040000) != 0)) {
3205 size += com.google.protobuf.CodedOutputStream
3206 .computeDoubleSize(59, initialConditionNumberThreshold_);
3208 if (((bitField0_ & 0x00004000) != 0)) {
3209 size += com.google.protobuf.CodedOutputStream
3210 .computeEnumSize(60, costScaling_);
3212 if (((bitField1_ & 0x00080000) != 0)) {
3213 size += com.google.protobuf.CodedOutputStream
3214 .computeBoolSize(61, logSearchProgress_);
3216 if (((bitField1_ & 0x00008000) != 0)) {
3217 size += com.google.protobuf.CodedOutputStream
3218 .computeBoolSize(62, useDedicatedDualFeasibilityAlgorithm_);
3220 if (((bitField0_ & 0x00040000) != 0)) {
3221 size += com.google.protobuf.CodedOutputStream
3222 .computeBoolSize(63, dynamicallyAdjustRefactorizationPeriod_);
3224 if (((bitField1_ & 0x00200000) != 0)) {
3225 size += com.google.protobuf.CodedOutputStream
3226 .computeDoubleSize(64, crossoverBoundSnappingDistance_);
3228 if (((bitField1_ & 0x00400000) != 0)) {
3229 size += com.google.protobuf.CodedOutputStream
3230 .computeBoolSize(65, pushToVertex_);
3232 if (((bitField1_ & 0x00100000) != 0)) {
3233 size += com.google.protobuf.CodedOutputStream
3234 .computeBoolSize(66, logToStdout_);
3236 if (((bitField1_ & 0x00800000) != 0)) {
3237 size += com.google.protobuf.CodedOutputStream
3238 .computeBoolSize(67, useImpliedFreePreprocessor_);
3240 if (((bitField1_ & 0x04000000) != 0)) {
3241 size += com.google.protobuf.CodedOutputStream
3242 .computeBoolSize(69, dualPricePrioritizeNorm_);
3244 if (((bitField1_ & 0x01000000) != 0)) {
3245 size += com.google.protobuf.CodedOutputStream
3246 .computeDoubleSize(70, maxValidMagnitude_);
3248 if (((bitField1_ & 0x02000000) != 0)) {
3249 size += com.google.protobuf.CodedOutputStream
3250 .computeDoubleSize(71, dropMagnitude_);
3252 if (((bitField1_ & 0x00001000) != 0)) {
3253 size += com.google.protobuf.CodedOutputStream
3254 .computeBoolSize(72, useAbslRandom_);
3256 size += getUnknownFields().getSerializedSize();
3257 memoizedSize = size;
3262 public boolean equals(
final java.lang.Object obj) {
3266 if (!(obj instanceof com.google.ortools.glop.GlopParameters)) {
3267 return super.equals(obj);
3273 if (scalingMethod_ != other.scalingMethod_)
return false;
3277 if (feasibilityRule_ != other.feasibilityRule_)
return false;
3281 if (optimizationRule_ != other.optimizationRule_)
return false;
3286 != java.lang.Double.doubleToLongBits(
3292 != java.lang.Double.doubleToLongBits(
3298 != java.lang.Double.doubleToLongBits(
3304 != java.lang.Double.doubleToLongBits(
3310 != java.lang.Double.doubleToLongBits(
3316 != java.lang.Double.doubleToLongBits(
3322 != java.lang.Double.doubleToLongBits(
3328 != java.lang.Double.doubleToLongBits(
3334 != java.lang.Double.doubleToLongBits(
3340 != java.lang.Double.doubleToLongBits(
3350 if (costScaling_ != other.costScaling_)
return false;
3354 if (initialBasis_ != other.initialBasis_)
return false;
3373 if (solveDualProblem_ != other.solveDualProblem_)
return false;
3378 != java.lang.Double.doubleToLongBits(
3384 != java.lang.Double.doubleToLongBits(
3400 != java.lang.Double.doubleToLongBits(
3406 != java.lang.Double.doubleToLongBits(
3412 != java.lang.Double.doubleToLongBits(
3418 != java.lang.Double.doubleToLongBits(
3434 != java.lang.Double.doubleToLongBits(
3475 != java.lang.Double.doubleToLongBits(
3481 != java.lang.Double.doubleToLongBits(
3487 != java.lang.Double.doubleToLongBits(
3493 != java.lang.Double.doubleToLongBits(
3499 != java.lang.Double.doubleToLongBits(
3530 != java.lang.Double.doubleToLongBits(
3536 != java.lang.Double.doubleToLongBits(
3542 != java.lang.Double.doubleToLongBits(
3558 != java.lang.Double.doubleToLongBits(
3574 != java.lang.Double.doubleToLongBits(
3580 != java.lang.Double.doubleToLongBits(
3588 if (!getUnknownFields().
equals(other.getUnknownFields()))
return false;
3594 if (memoizedHashCode != 0) {
3595 return memoizedHashCode;
3601 hash = (53 * hash) + scalingMethod_;
3605 hash = (53 * hash) + feasibilityRule_;
3609 hash = (53 * hash) + optimizationRule_;
3613 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3618 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3623 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3628 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3633 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3638 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3643 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3648 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3653 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3658 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3663 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3668 hash = (53 * hash) + costScaling_;
3672 hash = (53 * hash) + initialBasis_;
3676 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3685 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3690 hash = (53 * hash) + solveDualProblem_;
3694 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3699 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3704 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3709 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3714 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3719 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3724 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3729 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3734 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3743 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3748 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3753 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3762 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3767 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3772 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3777 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3782 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3787 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3792 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3797 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3802 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3811 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3820 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3825 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3830 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3835 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3840 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3845 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3850 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3855 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3860 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3865 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3870 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3875 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3880 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3883 hash = (29 * hash) + getUnknownFields().hashCode();
3884 memoizedHashCode = hash;
3889 java.nio.ByteBuffer data)
3890 throws com.google.protobuf.InvalidProtocolBufferException {
3891 return PARSER.parseFrom(data);
3894 java.nio.ByteBuffer data,
3895 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3896 throws com.google.protobuf.InvalidProtocolBufferException {
3897 return PARSER.parseFrom(data, extensionRegistry);
3900 com.google.protobuf.ByteString data)
3901 throws com.google.protobuf.InvalidProtocolBufferException {
3902 return PARSER.parseFrom(data);
3905 com.google.protobuf.ByteString data,
3906 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3907 throws com.google.protobuf.InvalidProtocolBufferException {
3908 return PARSER.parseFrom(data, extensionRegistry);
3911 throws com.google.protobuf.InvalidProtocolBufferException {
3912 return PARSER.parseFrom(data);
3916 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3917 throws com.google.protobuf.InvalidProtocolBufferException {
3918 return PARSER.parseFrom(data, extensionRegistry);
3921 throws java.io.IOException {
3922 return com.google.protobuf.GeneratedMessage
3923 .parseWithIOException(PARSER, input);
3926 java.io.InputStream input,
3927 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3928 throws java.io.IOException {
3929 return com.google.protobuf.GeneratedMessage
3930 .parseWithIOException(PARSER, input, extensionRegistry);
3934 throws java.io.IOException {
3935 return com.google.protobuf.GeneratedMessage
3936 .parseDelimitedWithIOException(PARSER, input);
3940 java.io.InputStream input,
3941 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3942 throws java.io.IOException {
3943 return com.google.protobuf.GeneratedMessage
3944 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
3947 com.google.protobuf.CodedInputStream input)
3948 throws java.io.IOException {
3949 return com.google.protobuf.GeneratedMessage
3950 .parseWithIOException(PARSER, input);
3953 com.google.protobuf.CodedInputStream input,
3954 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3955 throws java.io.IOException {
3956 return com.google.protobuf.GeneratedMessage
3957 .parseWithIOException(PARSER, input, extensionRegistry);
3963 return DEFAULT_INSTANCE.toBuilder();
3966 return DEFAULT_INSTANCE.toBuilder().
mergeFrom(prototype);
3970 return this == DEFAULT_INSTANCE
3976 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
3987 public static final class Builder
extends
3988 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
3991 public static final com.google.protobuf.Descriptors.Descriptor
3993 return com.google.ortools.glop.Parameters.internal_static_operations_research_glop_GlopParameters_descriptor;
3997 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
3999 return com.google.ortools.glop.Parameters.internal_static_operations_research_glop_GlopParameters_fieldAccessorTable
4000 .ensureFieldAccessorsInitialized(
4001 com.google.ortools.glop.GlopParameters.class, com.google.ortools.glop.GlopParameters.Builder.class);
4010 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
4020 feasibilityRule_ = 1;
4021 optimizationRule_ = 1;
4022 refactorizationThreshold_ = 1e-09D;
4023 recomputeReducedCostsThreshold_ = 1e-08D;
4024 recomputeEdgesNormThreshold_ = 100D;
4025 primalFeasibilityTolerance_ = 1e-08D;
4026 dualFeasibilityTolerance_ = 1e-08D;
4027 ratioTestZeroThreshold_ = 1e-09D;
4028 harrisToleranceRatio_ = 0.5D;
4029 smallPivotThreshold_ = 1e-06D;
4030 minimumAcceptablePivot_ = 1e-06D;
4031 dropTolerance_ = 1e-14D;
4035 useTransposedMatrix_ =
true;
4036 basisRefactorizationPeriod_ = 64;
4037 dynamicallyAdjustRefactorizationPeriod_ =
true;
4038 solveDualProblem_ = 2;
4039 dualizerThreshold_ = 1.5D;
4040 solutionFeasibilityTolerance_ = 1e-06D;
4041 provideStrongOptimalGuarantee_ =
true;
4042 changeStatusToImprecise_ =
true;
4043 maxNumberOfReoptimizations_ = 40D;
4044 luFactorizationPivotThreshold_ = 0.01D;
4045 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
4046 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
4047 maxNumberOfIterations_ = -1L;
4048 markowitzZlatevParameter_ = 3;
4049 markowitzSingularityThreshold_ = 1e-15D;
4050 useDualSimplex_ =
false;
4051 allowSimplexAlgorithmChange_ =
false;
4052 devexWeightsResetPeriod_ = 150;
4053 usePreprocessing_ =
true;
4054 useMiddleProductFormUpdate_ =
true;
4055 initializeDevexWithColumnNorms_ =
true;
4056 exploitSingletonColumnInInitialBasis_ =
true;
4057 dualSmallPivotThreshold_ = 0.0001D;
4058 preprocessorZeroTolerance_ = 1e-09D;
4059 objectiveLowerLimit_ = Double.NEGATIVE_INFINITY;
4060 objectiveUpperLimit_ = Double.POSITIVE_INFINITY;
4061 degenerateMinistepFactor_ = 0.01D;
4063 useAbslRandom_ =
false;
4065 perturbCostsInDualSimplex_ =
false;
4066 useDedicatedDualFeasibilityAlgorithm_ =
true;
4067 relativeCostPerturbation_ = 1e-05D;
4068 relativeMaxCostPerturbation_ = 1e-07D;
4069 initialConditionNumberThreshold_ = 1e+50D;
4070 logSearchProgress_ =
false;
4071 logToStdout_ =
true;
4072 crossoverBoundSnappingDistance_ = Double.POSITIVE_INFINITY;
4073 pushToVertex_ =
true;
4074 useImpliedFreePreprocessor_ =
true;
4075 maxValidMagnitude_ = 1e+30D;
4076 dropMagnitude_ = 1e-30D;
4077 dualPricePrioritizeNorm_ =
false;
4082 public com.google.protobuf.Descriptors.Descriptor
4084 return com.google.ortools.glop.Parameters.internal_static_operations_research_glop_GlopParameters_descriptor;
4089 return com.google.ortools.glop.GlopParameters.getDefaultInstance();
4096 throw newUninitializedMessageException(result);
4104 if (bitField0_ != 0) { buildPartial0(result); }
4105 if (bitField1_ != 0) { buildPartial1(result); }
4110 private void buildPartial0(com.google.ortools.glop.GlopParameters result) {
4111 int from_bitField0_ = bitField0_;
4112 int to_bitField0_ = 0;
4113 if (((from_bitField0_ & 0x00000001) != 0)) {
4114 result.scalingMethod_ = scalingMethod_;
4115 to_bitField0_ |= 0x00000001;
4117 if (((from_bitField0_ & 0x00000002) != 0)) {
4118 result.feasibilityRule_ = feasibilityRule_;
4119 to_bitField0_ |= 0x00000002;
4121 if (((from_bitField0_ & 0x00000004) != 0)) {
4122 result.optimizationRule_ = optimizationRule_;
4123 to_bitField0_ |= 0x00000004;
4125 if (((from_bitField0_ & 0x00000008) != 0)) {
4126 result.refactorizationThreshold_ = refactorizationThreshold_;
4127 to_bitField0_ |= 0x00000008;
4129 if (((from_bitField0_ & 0x00000010) != 0)) {
4130 result.recomputeReducedCostsThreshold_ = recomputeReducedCostsThreshold_;
4131 to_bitField0_ |= 0x00000010;
4133 if (((from_bitField0_ & 0x00000020) != 0)) {
4134 result.recomputeEdgesNormThreshold_ = recomputeEdgesNormThreshold_;
4135 to_bitField0_ |= 0x00000020;
4137 if (((from_bitField0_ & 0x00000040) != 0)) {
4138 result.primalFeasibilityTolerance_ = primalFeasibilityTolerance_;
4139 to_bitField0_ |= 0x00000040;
4141 if (((from_bitField0_ & 0x00000080) != 0)) {
4142 result.dualFeasibilityTolerance_ = dualFeasibilityTolerance_;
4143 to_bitField0_ |= 0x00000080;
4145 if (((from_bitField0_ & 0x00000100) != 0)) {
4146 result.ratioTestZeroThreshold_ = ratioTestZeroThreshold_;
4147 to_bitField0_ |= 0x00000100;
4149 if (((from_bitField0_ & 0x00000200) != 0)) {
4150 result.harrisToleranceRatio_ = harrisToleranceRatio_;
4151 to_bitField0_ |= 0x00000200;
4153 if (((from_bitField0_ & 0x00000400) != 0)) {
4154 result.smallPivotThreshold_ = smallPivotThreshold_;
4155 to_bitField0_ |= 0x00000400;
4157 if (((from_bitField0_ & 0x00000800) != 0)) {
4158 result.minimumAcceptablePivot_ = minimumAcceptablePivot_;
4159 to_bitField0_ |= 0x00000800;
4161 if (((from_bitField0_ & 0x00001000) != 0)) {
4162 result.dropTolerance_ = dropTolerance_;
4163 to_bitField0_ |= 0x00001000;
4165 if (((from_bitField0_ & 0x00002000) != 0)) {
4166 result.useScaling_ = useScaling_;
4167 to_bitField0_ |= 0x00002000;
4169 if (((from_bitField0_ & 0x00004000) != 0)) {
4170 result.costScaling_ = costScaling_;
4171 to_bitField0_ |= 0x00004000;
4173 if (((from_bitField0_ & 0x00008000) != 0)) {
4174 result.initialBasis_ = initialBasis_;
4175 to_bitField0_ |= 0x00008000;
4177 if (((from_bitField0_ & 0x00010000) != 0)) {
4178 result.useTransposedMatrix_ = useTransposedMatrix_;
4179 to_bitField0_ |= 0x00010000;
4181 if (((from_bitField0_ & 0x00020000) != 0)) {
4182 result.basisRefactorizationPeriod_ = basisRefactorizationPeriod_;
4183 to_bitField0_ |= 0x00020000;
4185 if (((from_bitField0_ & 0x00040000) != 0)) {
4186 result.dynamicallyAdjustRefactorizationPeriod_ = dynamicallyAdjustRefactorizationPeriod_;
4187 to_bitField0_ |= 0x00040000;
4189 if (((from_bitField0_ & 0x00080000) != 0)) {
4190 result.solveDualProblem_ = solveDualProblem_;
4191 to_bitField0_ |= 0x00080000;
4193 if (((from_bitField0_ & 0x00100000) != 0)) {
4194 result.dualizerThreshold_ = dualizerThreshold_;
4195 to_bitField0_ |= 0x00100000;
4197 if (((from_bitField0_ & 0x00200000) != 0)) {
4198 result.solutionFeasibilityTolerance_ = solutionFeasibilityTolerance_;
4199 to_bitField0_ |= 0x00200000;
4201 if (((from_bitField0_ & 0x00400000) != 0)) {
4202 result.provideStrongOptimalGuarantee_ = provideStrongOptimalGuarantee_;
4203 to_bitField0_ |= 0x00400000;
4205 if (((from_bitField0_ & 0x00800000) != 0)) {
4206 result.changeStatusToImprecise_ = changeStatusToImprecise_;
4207 to_bitField0_ |= 0x00800000;
4209 if (((from_bitField0_ & 0x01000000) != 0)) {
4210 result.maxNumberOfReoptimizations_ = maxNumberOfReoptimizations_;
4211 to_bitField0_ |= 0x01000000;
4213 if (((from_bitField0_ & 0x02000000) != 0)) {
4214 result.luFactorizationPivotThreshold_ = luFactorizationPivotThreshold_;
4215 to_bitField0_ |= 0x02000000;
4217 if (((from_bitField0_ & 0x04000000) != 0)) {
4218 result.maxTimeInSeconds_ = maxTimeInSeconds_;
4219 to_bitField0_ |= 0x04000000;
4221 if (((from_bitField0_ & 0x08000000) != 0)) {
4222 result.maxDeterministicTime_ = maxDeterministicTime_;
4223 to_bitField0_ |= 0x08000000;
4225 if (((from_bitField0_ & 0x10000000) != 0)) {
4226 result.maxNumberOfIterations_ = maxNumberOfIterations_;
4227 to_bitField0_ |= 0x10000000;
4229 if (((from_bitField0_ & 0x20000000) != 0)) {
4230 result.markowitzZlatevParameter_ = markowitzZlatevParameter_;
4231 to_bitField0_ |= 0x20000000;
4233 if (((from_bitField0_ & 0x40000000) != 0)) {
4234 result.markowitzSingularityThreshold_ = markowitzSingularityThreshold_;
4235 to_bitField0_ |= 0x40000000;
4237 if (((from_bitField0_ & 0x80000000) != 0)) {
4238 result.useDualSimplex_ = useDualSimplex_;
4239 to_bitField0_ |= 0x80000000;
4241 result.bitField0_ |= to_bitField0_;
4244 private void buildPartial1(com.google.ortools.glop.GlopParameters result) {
4245 int from_bitField1_ = bitField1_;
4246 int to_bitField1_ = 0;
4247 if (((from_bitField1_ & 0x00000001) != 0)) {
4248 result.allowSimplexAlgorithmChange_ = allowSimplexAlgorithmChange_;
4249 to_bitField1_ |= 0x00000001;
4251 if (((from_bitField1_ & 0x00000002) != 0)) {
4252 result.devexWeightsResetPeriod_ = devexWeightsResetPeriod_;
4253 to_bitField1_ |= 0x00000002;
4255 if (((from_bitField1_ & 0x00000004) != 0)) {
4256 result.usePreprocessing_ = usePreprocessing_;
4257 to_bitField1_ |= 0x00000004;
4259 if (((from_bitField1_ & 0x00000008) != 0)) {
4260 result.useMiddleProductFormUpdate_ = useMiddleProductFormUpdate_;
4261 to_bitField1_ |= 0x00000008;
4263 if (((from_bitField1_ & 0x00000010) != 0)) {
4264 result.initializeDevexWithColumnNorms_ = initializeDevexWithColumnNorms_;
4265 to_bitField1_ |= 0x00000010;
4267 if (((from_bitField1_ & 0x00000020) != 0)) {
4268 result.exploitSingletonColumnInInitialBasis_ = exploitSingletonColumnInInitialBasis_;
4269 to_bitField1_ |= 0x00000020;
4271 if (((from_bitField1_ & 0x00000040) != 0)) {
4272 result.dualSmallPivotThreshold_ = dualSmallPivotThreshold_;
4273 to_bitField1_ |= 0x00000040;
4275 if (((from_bitField1_ & 0x00000080) != 0)) {
4276 result.preprocessorZeroTolerance_ = preprocessorZeroTolerance_;
4277 to_bitField1_ |= 0x00000080;
4279 if (((from_bitField1_ & 0x00000100) != 0)) {
4280 result.objectiveLowerLimit_ = objectiveLowerLimit_;
4281 to_bitField1_ |= 0x00000100;
4283 if (((from_bitField1_ & 0x00000200) != 0)) {
4284 result.objectiveUpperLimit_ = objectiveUpperLimit_;
4285 to_bitField1_ |= 0x00000200;
4287 if (((from_bitField1_ & 0x00000400) != 0)) {
4288 result.degenerateMinistepFactor_ = degenerateMinistepFactor_;
4289 to_bitField1_ |= 0x00000400;
4291 if (((from_bitField1_ & 0x00000800) != 0)) {
4292 result.randomSeed_ = randomSeed_;
4293 to_bitField1_ |= 0x00000800;
4295 if (((from_bitField1_ & 0x00001000) != 0)) {
4296 result.useAbslRandom_ = useAbslRandom_;
4297 to_bitField1_ |= 0x00001000;
4299 if (((from_bitField1_ & 0x00002000) != 0)) {
4300 result.numOmpThreads_ = numOmpThreads_;
4301 to_bitField1_ |= 0x00002000;
4303 if (((from_bitField1_ & 0x00004000) != 0)) {
4304 result.perturbCostsInDualSimplex_ = perturbCostsInDualSimplex_;
4305 to_bitField1_ |= 0x00004000;
4307 if (((from_bitField1_ & 0x00008000) != 0)) {
4308 result.useDedicatedDualFeasibilityAlgorithm_ = useDedicatedDualFeasibilityAlgorithm_;
4309 to_bitField1_ |= 0x00008000;
4311 if (((from_bitField1_ & 0x00010000) != 0)) {
4312 result.relativeCostPerturbation_ = relativeCostPerturbation_;
4313 to_bitField1_ |= 0x00010000;
4315 if (((from_bitField1_ & 0x00020000) != 0)) {
4316 result.relativeMaxCostPerturbation_ = relativeMaxCostPerturbation_;
4317 to_bitField1_ |= 0x00020000;
4319 if (((from_bitField1_ & 0x00040000) != 0)) {
4320 result.initialConditionNumberThreshold_ = initialConditionNumberThreshold_;
4321 to_bitField1_ |= 0x00040000;
4323 if (((from_bitField1_ & 0x00080000) != 0)) {
4324 result.logSearchProgress_ = logSearchProgress_;
4325 to_bitField1_ |= 0x00080000;
4327 if (((from_bitField1_ & 0x00100000) != 0)) {
4328 result.logToStdout_ = logToStdout_;
4329 to_bitField1_ |= 0x00100000;
4331 if (((from_bitField1_ & 0x00200000) != 0)) {
4332 result.crossoverBoundSnappingDistance_ = crossoverBoundSnappingDistance_;
4333 to_bitField1_ |= 0x00200000;
4335 if (((from_bitField1_ & 0x00400000) != 0)) {
4336 result.pushToVertex_ = pushToVertex_;
4337 to_bitField1_ |= 0x00400000;
4339 if (((from_bitField1_ & 0x00800000) != 0)) {
4340 result.useImpliedFreePreprocessor_ = useImpliedFreePreprocessor_;
4341 to_bitField1_ |= 0x00800000;
4343 if (((from_bitField1_ & 0x01000000) != 0)) {
4344 result.maxValidMagnitude_ = maxValidMagnitude_;
4345 to_bitField1_ |= 0x01000000;
4347 if (((from_bitField1_ & 0x02000000) != 0)) {
4348 result.dropMagnitude_ = dropMagnitude_;
4349 to_bitField1_ |= 0x02000000;
4351 if (((from_bitField1_ & 0x04000000) != 0)) {
4352 result.dualPricePrioritizeNorm_ = dualPricePrioritizeNorm_;
4353 to_bitField1_ |= 0x04000000;
4355 result.bitField1_ |= to_bitField1_;
4359 public Builder
mergeFrom(com.google.protobuf.Message other) {
4360 if (other instanceof com.google.ortools.glop.GlopParameters) {
4361 return mergeFrom((com.google.ortools.glop.GlopParameters)other);
4363 super.mergeFrom(other);
4368 public Builder
mergeFrom(com.google.ortools.glop.GlopParameters other) {
4369 if (other == com.google.ortools.glop.GlopParameters.getDefaultInstance())
return this;
4370 if (other.hasScalingMethod()) {
4373 if (other.hasFeasibilityRule()) {
4376 if (other.hasOptimizationRule()) {
4379 if (other.hasRefactorizationThreshold()) {
4382 if (other.hasRecomputeReducedCostsThreshold()) {
4385 if (other.hasRecomputeEdgesNormThreshold()) {
4388 if (other.hasPrimalFeasibilityTolerance()) {
4391 if (other.hasDualFeasibilityTolerance()) {
4394 if (other.hasRatioTestZeroThreshold()) {
4397 if (other.hasHarrisToleranceRatio()) {
4400 if (other.hasSmallPivotThreshold()) {
4403 if (other.hasMinimumAcceptablePivot()) {
4406 if (other.hasDropTolerance()) {
4409 if (other.hasUseScaling()) {
4412 if (other.hasCostScaling()) {
4415 if (other.hasInitialBasis()) {
4418 if (other.hasUseTransposedMatrix()) {
4421 if (other.hasBasisRefactorizationPeriod()) {
4424 if (other.hasDynamicallyAdjustRefactorizationPeriod()) {
4427 if (other.hasSolveDualProblem()) {
4430 if (other.hasDualizerThreshold()) {
4433 if (other.hasSolutionFeasibilityTolerance()) {
4436 if (other.hasProvideStrongOptimalGuarantee()) {
4439 if (other.hasChangeStatusToImprecise()) {
4442 if (other.hasMaxNumberOfReoptimizations()) {
4445 if (other.hasLuFactorizationPivotThreshold()) {
4448 if (other.hasMaxTimeInSeconds()) {
4451 if (other.hasMaxDeterministicTime()) {
4454 if (other.hasMaxNumberOfIterations()) {
4457 if (other.hasMarkowitzZlatevParameter()) {
4460 if (other.hasMarkowitzSingularityThreshold()) {
4463 if (other.hasUseDualSimplex()) {
4466 if (other.hasAllowSimplexAlgorithmChange()) {
4469 if (other.hasDevexWeightsResetPeriod()) {
4472 if (other.hasUsePreprocessing()) {
4475 if (other.hasUseMiddleProductFormUpdate()) {
4478 if (other.hasInitializeDevexWithColumnNorms()) {
4481 if (other.hasExploitSingletonColumnInInitialBasis()) {
4484 if (other.hasDualSmallPivotThreshold()) {
4487 if (other.hasPreprocessorZeroTolerance()) {
4490 if (other.hasObjectiveLowerLimit()) {
4493 if (other.hasObjectiveUpperLimit()) {
4496 if (other.hasDegenerateMinistepFactor()) {
4499 if (other.hasRandomSeed()) {
4502 if (other.hasUseAbslRandom()) {
4505 if (other.hasNumOmpThreads()) {
4508 if (other.hasPerturbCostsInDualSimplex()) {
4511 if (other.hasUseDedicatedDualFeasibilityAlgorithm()) {
4514 if (other.hasRelativeCostPerturbation()) {
4517 if (other.hasRelativeMaxCostPerturbation()) {
4520 if (other.hasInitialConditionNumberThreshold()) {
4523 if (other.hasLogSearchProgress()) {
4526 if (other.hasLogToStdout()) {
4529 if (other.hasCrossoverBoundSnappingDistance()) {
4532 if (other.hasPushToVertex()) {
4535 if (other.hasUseImpliedFreePreprocessor()) {
4538 if (other.hasMaxValidMagnitude()) {
4541 if (other.hasDropMagnitude()) {
4544 if (other.hasDualPricePrioritizeNorm()) {
4547 this.mergeUnknownFields(other.getUnknownFields());
4559 com.google.protobuf.CodedInputStream input,
4560 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4561 throws java.io.IOException {
4562 if (extensionRegistry ==
null) {
4563 throw new java.lang.NullPointerException();
4566 boolean done =
false;
4568 int tag = input.readTag();
4574 int tmpRaw = input.readEnum();
4576 com.google.ortools.glop.GlopParameters.PricingRule.forNumber(tmpRaw);
4577 if (tmpValue ==
null) {
4578 mergeUnknownVarintField(1, tmpRaw);
4580 feasibilityRule_ = tmpRaw;
4581 bitField0_ |= 0x00000002;
4586 int tmpRaw = input.readEnum();
4588 com.google.ortools.glop.GlopParameters.PricingRule.forNumber(tmpRaw);
4589 if (tmpValue ==
null) {
4590 mergeUnknownVarintField(2, tmpRaw);
4592 optimizationRule_ = tmpRaw;
4593 bitField0_ |= 0x00000004;
4598 refactorizationThreshold_ = input.readDouble();
4599 bitField0_ |= 0x00000008;
4603 recomputeReducedCostsThreshold_ = input.readDouble();
4604 bitField0_ |= 0x00000010;
4608 recomputeEdgesNormThreshold_ = input.readDouble();
4609 bitField0_ |= 0x00000020;
4613 primalFeasibilityTolerance_ = input.readDouble();
4614 bitField0_ |= 0x00000040;
4618 dualFeasibilityTolerance_ = input.readDouble();
4619 bitField0_ |= 0x00000080;
4623 ratioTestZeroThreshold_ = input.readDouble();
4624 bitField0_ |= 0x00000100;
4628 harrisToleranceRatio_ = input.readDouble();
4629 bitField0_ |= 0x00000200;
4633 smallPivotThreshold_ = input.readDouble();
4634 bitField0_ |= 0x00000400;
4638 minimumAcceptablePivot_ = input.readDouble();
4639 bitField0_ |= 0x00000800;
4643 useScaling_ = input.readBool();
4644 bitField0_ |= 0x00002000;
4648 int tmpRaw = input.readEnum();
4650 com.google.ortools.glop.GlopParameters.InitialBasisHeuristic.forNumber(tmpRaw);
4651 if (tmpValue ==
null) {
4652 mergeUnknownVarintField(17, tmpRaw);
4654 initialBasis_ = tmpRaw;
4655 bitField0_ |= 0x00008000;
4660 useTransposedMatrix_ = input.readBool();
4661 bitField0_ |= 0x00010000;
4665 basisRefactorizationPeriod_ = input.readInt32();
4666 bitField0_ |= 0x00020000;
4670 int tmpRaw = input.readEnum();
4672 com.google.ortools.glop.GlopParameters.SolverBehavior.forNumber(tmpRaw);
4673 if (tmpValue ==
null) {
4674 mergeUnknownVarintField(20, tmpRaw);
4676 solveDualProblem_ = tmpRaw;
4677 bitField0_ |= 0x00080000;
4682 dualizerThreshold_ = input.readDouble();
4683 bitField0_ |= 0x00100000;
4687 solutionFeasibilityTolerance_ = input.readDouble();
4688 bitField0_ |= 0x00200000;
4692 provideStrongOptimalGuarantee_ = input.readBool();
4693 bitField0_ |= 0x00400000;
4697 luFactorizationPivotThreshold_ = input.readDouble();
4698 bitField0_ |= 0x02000000;
4702 maxTimeInSeconds_ = input.readDouble();
4703 bitField0_ |= 0x04000000;
4707 maxNumberOfIterations_ = input.readInt64();
4708 bitField0_ |= 0x10000000;
4712 markowitzZlatevParameter_ = input.readInt32();
4713 bitField0_ |= 0x20000000;
4717 markowitzSingularityThreshold_ = input.readDouble();
4718 bitField0_ |= 0x40000000;
4722 useDualSimplex_ = input.readBool();
4723 bitField0_ |= 0x80000000;
4727 allowSimplexAlgorithmChange_ = input.readBool();
4728 bitField1_ |= 0x00000001;
4732 devexWeightsResetPeriod_ = input.readInt32();
4733 bitField1_ |= 0x00000002;
4737 usePreprocessing_ = input.readBool();
4738 bitField1_ |= 0x00000004;
4742 useMiddleProductFormUpdate_ = input.readBool();
4743 bitField1_ |= 0x00000008;
4747 initializeDevexWithColumnNorms_ = input.readBool();
4748 bitField1_ |= 0x00000010;
4752 exploitSingletonColumnInInitialBasis_ = input.readBool();
4753 bitField1_ |= 0x00000020;
4757 dualSmallPivotThreshold_ = input.readDouble();
4758 bitField1_ |= 0x00000040;
4762 preprocessorZeroTolerance_ = input.readDouble();
4763 bitField1_ |= 0x00000080;
4767 objectiveLowerLimit_ = input.readDouble();
4768 bitField1_ |= 0x00000100;
4772 objectiveUpperLimit_ = input.readDouble();
4773 bitField1_ |= 0x00000200;
4777 degenerateMinistepFactor_ = input.readDouble();
4778 bitField1_ |= 0x00000400;
4782 randomSeed_ = input.readInt32();
4783 bitField1_ |= 0x00000800;
4787 numOmpThreads_ = input.readInt32();
4788 bitField1_ |= 0x00002000;
4792 maxDeterministicTime_ = input.readDouble();
4793 bitField0_ |= 0x08000000;
4797 dropTolerance_ = input.readDouble();
4798 bitField0_ |= 0x00001000;
4802 perturbCostsInDualSimplex_ = input.readBool();
4803 bitField1_ |= 0x00004000;
4807 relativeCostPerturbation_ = input.readDouble();
4808 bitField1_ |= 0x00010000;
4812 relativeMaxCostPerturbation_ = input.readDouble();
4813 bitField1_ |= 0x00020000;
4817 maxNumberOfReoptimizations_ = input.readDouble();
4818 bitField0_ |= 0x01000000;
4822 int tmpRaw = input.readEnum();
4824 com.google.ortools.glop.GlopParameters.ScalingAlgorithm.forNumber(tmpRaw);
4825 if (tmpValue ==
null) {
4826 mergeUnknownVarintField(57, tmpRaw);
4828 scalingMethod_ = tmpRaw;
4829 bitField0_ |= 0x00000001;
4834 changeStatusToImprecise_ = input.readBool();
4835 bitField0_ |= 0x00800000;
4839 initialConditionNumberThreshold_ = input.readDouble();
4840 bitField1_ |= 0x00040000;
4844 int tmpRaw = input.readEnum();
4846 com.google.ortools.glop.GlopParameters.CostScalingAlgorithm.forNumber(tmpRaw);
4847 if (tmpValue ==
null) {
4848 mergeUnknownVarintField(60, tmpRaw);
4850 costScaling_ = tmpRaw;
4851 bitField0_ |= 0x00004000;
4856 logSearchProgress_ = input.readBool();
4857 bitField1_ |= 0x00080000;
4861 useDedicatedDualFeasibilityAlgorithm_ = input.readBool();
4862 bitField1_ |= 0x00008000;
4866 dynamicallyAdjustRefactorizationPeriod_ = input.readBool();
4867 bitField0_ |= 0x00040000;
4871 crossoverBoundSnappingDistance_ = input.readDouble();
4872 bitField1_ |= 0x00200000;
4876 pushToVertex_ = input.readBool();
4877 bitField1_ |= 0x00400000;
4881 logToStdout_ = input.readBool();
4882 bitField1_ |= 0x00100000;
4886 useImpliedFreePreprocessor_ = input.readBool();
4887 bitField1_ |= 0x00800000;
4891 dualPricePrioritizeNorm_ = input.readBool();
4892 bitField1_ |= 0x04000000;
4896 maxValidMagnitude_ = input.readDouble();
4897 bitField1_ |= 0x01000000;
4901 dropMagnitude_ = input.readDouble();
4902 bitField1_ |= 0x02000000;
4906 useAbslRandom_ = input.readBool();
4907 bitField1_ |= 0x00001000;
4911 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
4918 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
4919 throw e.unwrapIOException();
4925 private int bitField0_;
4926 private int bitField1_;
4928 private int scalingMethod_ = 1;
4934 return ((bitField0_ & 0x00000001) != 0);
4950 public Builder
setScalingMethod(com.google.ortools.glop.GlopParameters.ScalingAlgorithm value) {
4951 if (value ==
null) {
throw new NullPointerException(); }
4952 bitField0_ |= 0x00000001;
4953 scalingMethod_ = value.getNumber();
4962 bitField0_ = (bitField0_ & ~0x00000001);
4968 private int feasibilityRule_ = 1;
4978 return ((bitField0_ & 0x00000002) != 0);
5003 if (value ==
null) {
throw new NullPointerException(); }
5004 bitField0_ |= 0x00000002;
5005 feasibilityRule_ = value.getNumber();
5018 bitField0_ = (bitField0_ & ~0x00000002);
5019 feasibilityRule_ = 1;
5024 private int optimizationRule_ = 1;
5034 return ((bitField0_ & 0x00000004) != 0);
5059 if (value ==
null) {
throw new NullPointerException(); }
5060 bitField0_ |= 0x00000004;
5061 optimizationRule_ = value.getNumber();
5074 bitField0_ = (bitField0_ & ~0x00000004);
5075 optimizationRule_ = 1;
5080 private double refactorizationThreshold_ = 1e-09D;
5096 return ((bitField0_ & 0x00000008) != 0);
5113 return refactorizationThreshold_;
5131 refactorizationThreshold_ = value;
5132 bitField0_ |= 0x00000008;
5150 bitField0_ = (bitField0_ & ~0x00000008);
5151 refactorizationThreshold_ = 1e-09D;
5156 private double recomputeReducedCostsThreshold_ = 1e-08D;
5171 return ((bitField0_ & 0x00000010) != 0);
5187 return recomputeReducedCostsThreshold_;
5204 recomputeReducedCostsThreshold_ = value;
5205 bitField0_ |= 0x00000010;
5222 bitField0_ = (bitField0_ & ~0x00000010);
5223 recomputeReducedCostsThreshold_ = 1e-08D;
5228 private double recomputeEdgesNormThreshold_ = 100D;
5243 return ((bitField0_ & 0x00000020) != 0);
5259 return recomputeEdgesNormThreshold_;
5276 recomputeEdgesNormThreshold_ = value;
5277 bitField0_ |= 0x00000020;
5294 bitField0_ = (bitField0_ & ~0x00000020);
5295 recomputeEdgesNormThreshold_ = 100D;
5300 private double primalFeasibilityTolerance_ = 1e-08D;
5317 return ((bitField0_ & 0x00000040) != 0);
5335 return primalFeasibilityTolerance_;
5354 primalFeasibilityTolerance_ = value;
5355 bitField0_ |= 0x00000040;
5374 bitField0_ = (bitField0_ & ~0x00000040);
5375 primalFeasibilityTolerance_ = 1e-08D;
5380 private double dualFeasibilityTolerance_ = 1e-08D;
5400 return ((bitField0_ & 0x00000080) != 0);
5421 return dualFeasibilityTolerance_;
5443 dualFeasibilityTolerance_ = value;
5444 bitField0_ |= 0x00000080;
5466 bitField0_ = (bitField0_ & ~0x00000080);
5467 dualFeasibilityTolerance_ = 1e-08D;
5472 private double ratioTestZeroThreshold_ = 1e-09D;
5489 return ((bitField0_ & 0x00000100) != 0);
5507 return ratioTestZeroThreshold_;
5526 ratioTestZeroThreshold_ = value;
5527 bitField0_ |= 0x00000100;
5546 bitField0_ = (bitField0_ & ~0x00000100);
5547 ratioTestZeroThreshold_ = 1e-09D;
5552 private double harrisToleranceRatio_ = 0.5D;
5573 return ((bitField0_ & 0x00000200) != 0);
5595 return harrisToleranceRatio_;
5618 harrisToleranceRatio_ = value;
5619 bitField0_ |= 0x00000200;
5642 bitField0_ = (bitField0_ & ~0x00000200);
5643 harrisToleranceRatio_ = 0.5D;
5648 private double smallPivotThreshold_ = 1e-06D;
5662 return ((bitField0_ & 0x00000400) != 0);
5677 return smallPivotThreshold_;
5693 smallPivotThreshold_ = value;
5694 bitField0_ |= 0x00000400;
5710 bitField0_ = (bitField0_ & ~0x00000400);
5711 smallPivotThreshold_ = 1e-06D;
5716 private double minimumAcceptablePivot_ = 1e-06D;
5727 return ((bitField0_ & 0x00000800) != 0);
5739 return minimumAcceptablePivot_;
5752 minimumAcceptablePivot_ = value;
5753 bitField0_ |= 0x00000800;
5766 bitField0_ = (bitField0_ & ~0x00000800);
5767 minimumAcceptablePivot_ = 1e-06D;
5772 private double dropTolerance_ = 1e-14D;
5785 return ((bitField0_ & 0x00001000) != 0);
5799 return dropTolerance_;
5814 dropTolerance_ = value;
5815 bitField0_ |= 0x00001000;
5830 bitField0_ = (bitField0_ & ~0x00001000);
5831 dropTolerance_ = 1e-14D;
5836 private boolean useScaling_ =
true;
5848 return ((bitField0_ & 0x00002000) != 0);
5875 useScaling_ = value;
5876 bitField0_ |= 0x00002000;
5890 bitField0_ = (bitField0_ & ~0x00002000);
5896 private int costScaling_ = 1;
5902 return ((bitField0_ & 0x00004000) != 0);
5918 public Builder
setCostScaling(com.google.ortools.glop.GlopParameters.CostScalingAlgorithm value) {
5919 if (value ==
null) {
throw new NullPointerException(); }
5920 bitField0_ |= 0x00004000;
5921 costScaling_ = value.getNumber();
5930 bitField0_ = (bitField0_ & ~0x00004000);
5936 private int initialBasis_ = 2;
5947 return ((bitField0_ & 0x00008000) != 0);
5973 public Builder
setInitialBasis(com.google.ortools.glop.GlopParameters.InitialBasisHeuristic value) {
5974 if (value ==
null) {
throw new NullPointerException(); }
5975 bitField0_ |= 0x00008000;
5976 initialBasis_ = value.getNumber();
5990 bitField0_ = (bitField0_ & ~0x00008000);
5996 private boolean useTransposedMatrix_ =
true;
6009 return ((bitField0_ & 0x00010000) != 0);
6023 return useTransposedMatrix_;
6038 useTransposedMatrix_ = value;
6039 bitField0_ |= 0x00010000;
6054 bitField0_ = (bitField0_ & ~0x00010000);
6055 useTransposedMatrix_ =
true;
6060 private int basisRefactorizationPeriod_ = 64;
6073 return ((bitField0_ & 0x00020000) != 0);
6087 return basisRefactorizationPeriod_;
6102 basisRefactorizationPeriod_ = value;
6103 bitField0_ |= 0x00020000;
6118 bitField0_ = (bitField0_ & ~0x00020000);
6119 basisRefactorizationPeriod_ = 64;
6124 private boolean dynamicallyAdjustRefactorizationPeriod_ =
true;
6139 return ((bitField0_ & 0x00040000) != 0);
6155 return dynamicallyAdjustRefactorizationPeriod_;
6172 dynamicallyAdjustRefactorizationPeriod_ = value;
6173 bitField0_ |= 0x00040000;
6190 bitField0_ = (bitField0_ & ~0x00040000);
6191 dynamicallyAdjustRefactorizationPeriod_ =
true;
6196 private int solveDualProblem_ = 2;
6208 return ((bitField0_ & 0x00080000) != 0);
6237 if (value ==
null) {
throw new NullPointerException(); }
6238 bitField0_ |= 0x00080000;
6239 solveDualProblem_ = value.getNumber();
6254 bitField0_ = (bitField0_ & ~0x00080000);
6255 solveDualProblem_ = 2;
6260 private double dualizerThreshold_ = 1.5D;
6273 return ((bitField0_ & 0x00100000) != 0);
6287 return dualizerThreshold_;
6302 dualizerThreshold_ = value;
6303 bitField0_ |= 0x00100000;
6318 bitField0_ = (bitField0_ & ~0x00100000);
6319 dualizerThreshold_ = 1.5D;
6324 private double solutionFeasibilityTolerance_ = 1e-06D;
6342 return ((bitField0_ & 0x00200000) != 0);
6361 return solutionFeasibilityTolerance_;
6381 solutionFeasibilityTolerance_ = value;
6382 bitField0_ |= 0x00200000;
6402 bitField0_ = (bitField0_ & ~0x00200000);
6403 solutionFeasibilityTolerance_ = 1e-06D;
6408 private boolean provideStrongOptimalGuarantee_ =
true;
6436 return ((bitField0_ & 0x00400000) != 0);
6465 return provideStrongOptimalGuarantee_;
6495 provideStrongOptimalGuarantee_ = value;
6496 bitField0_ |= 0x00400000;
6526 bitField0_ = (bitField0_ & ~0x00400000);
6527 provideStrongOptimalGuarantee_ =
true;
6532 private boolean changeStatusToImprecise_ =
true;
6544 return ((bitField0_ & 0x00800000) != 0);
6557 return changeStatusToImprecise_;
6571 changeStatusToImprecise_ = value;
6572 bitField0_ |= 0x00800000;
6586 bitField0_ = (bitField0_ & ~0x00800000);
6587 changeStatusToImprecise_ =
true;
6592 private double maxNumberOfReoptimizations_ = 40D;
6606 return ((bitField0_ & 0x01000000) != 0);
6621 return maxNumberOfReoptimizations_;
6637 maxNumberOfReoptimizations_ = value;
6638 bitField0_ |= 0x01000000;
6654 bitField0_ = (bitField0_ & ~0x01000000);
6655 maxNumberOfReoptimizations_ = 40D;
6660 private double luFactorizationPivotThreshold_ = 0.01D;
6674 return ((bitField0_ & 0x02000000) != 0);
6689 return luFactorizationPivotThreshold_;
6705 luFactorizationPivotThreshold_ = value;
6706 bitField0_ |= 0x02000000;
6722 bitField0_ = (bitField0_ & ~0x02000000);
6723 luFactorizationPivotThreshold_ = 0.01D;
6728 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
6739 return ((bitField0_ & 0x04000000) != 0);
6751 return maxTimeInSeconds_;
6764 maxTimeInSeconds_ = value;
6765 bitField0_ |= 0x04000000;
6778 bitField0_ = (bitField0_ & ~0x04000000);
6779 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
6784 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
6799 return ((bitField0_ & 0x08000000) != 0);
6815 return maxDeterministicTime_;
6832 maxDeterministicTime_ = value;
6833 bitField0_ |= 0x08000000;
6850 bitField0_ = (bitField0_ & ~0x08000000);
6851 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
6856 private long maxNumberOfIterations_ = -1L;
6868 return ((bitField0_ & 0x10000000) != 0);
6881 return maxNumberOfIterations_;
6895 maxNumberOfIterations_ = value;
6896 bitField0_ |= 0x10000000;
6910 bitField0_ = (bitField0_ & ~0x10000000);
6911 maxNumberOfIterations_ = -1L;
6916 private int markowitzZlatevParameter_ = 3;
6928 return ((bitField0_ & 0x20000000) != 0);
6941 return markowitzZlatevParameter_;
6955 markowitzZlatevParameter_ = value;
6956 bitField0_ |= 0x20000000;
6970 bitField0_ = (bitField0_ & ~0x20000000);
6971 markowitzZlatevParameter_ = 3;
6976 private double markowitzSingularityThreshold_ = 1e-15D;
6990 return ((bitField0_ & 0x40000000) != 0);
7005 return markowitzSingularityThreshold_;
7021 markowitzSingularityThreshold_ = value;
7022 bitField0_ |= 0x40000000;
7038 bitField0_ = (bitField0_ & ~0x40000000);
7039 markowitzSingularityThreshold_ = 1e-15D;
7044 private boolean useDualSimplex_ ;
7055 return ((bitField0_ & 0x80000000) != 0);
7067 return useDualSimplex_;
7080 useDualSimplex_ = value;
7081 bitField0_ |= 0x80000000;
7094 bitField0_ = (bitField0_ & ~0x80000000);
7095 useDualSimplex_ =
false;
7100 private boolean allowSimplexAlgorithmChange_ ;
7114 return ((bitField1_ & 0x00000001) != 0);
7129 return allowSimplexAlgorithmChange_;
7145 allowSimplexAlgorithmChange_ = value;
7146 bitField1_ |= 0x00000001;
7162 bitField1_ = (bitField1_ & ~0x00000001);
7163 allowSimplexAlgorithmChange_ =
false;
7168 private int devexWeightsResetPeriod_ = 150;
7179 return ((bitField1_ & 0x00000002) != 0);
7191 return devexWeightsResetPeriod_;
7204 devexWeightsResetPeriod_ = value;
7205 bitField1_ |= 0x00000002;
7218 bitField1_ = (bitField1_ & ~0x00000002);
7219 devexWeightsResetPeriod_ = 150;
7224 private boolean usePreprocessing_ =
true;
7235 return ((bitField1_ & 0x00000004) != 0);
7247 return usePreprocessing_;
7260 usePreprocessing_ = value;
7261 bitField1_ |= 0x00000004;
7274 bitField1_ = (bitField1_ & ~0x00000004);
7275 usePreprocessing_ =
true;
7280 private boolean useMiddleProductFormUpdate_ =
true;
7297 return ((bitField1_ & 0x00000008) != 0);
7315 return useMiddleProductFormUpdate_;
7334 useMiddleProductFormUpdate_ = value;
7335 bitField1_ |= 0x00000008;
7354 bitField1_ = (bitField1_ & ~0x00000008);
7355 useMiddleProductFormUpdate_ =
true;
7360 private boolean initializeDevexWithColumnNorms_ =
true;
7372 return ((bitField1_ & 0x00000010) != 0);
7385 return initializeDevexWithColumnNorms_;
7399 initializeDevexWithColumnNorms_ = value;
7400 bitField1_ |= 0x00000010;
7414 bitField1_ = (bitField1_ & ~0x00000010);
7415 initializeDevexWithColumnNorms_ =
true;
7420 private boolean exploitSingletonColumnInInitialBasis_ =
true;
7432 return ((bitField1_ & 0x00000020) != 0);
7445 return exploitSingletonColumnInInitialBasis_;
7459 exploitSingletonColumnInInitialBasis_ = value;
7460 bitField1_ |= 0x00000020;
7474 bitField1_ = (bitField1_ & ~0x00000020);
7475 exploitSingletonColumnInInitialBasis_ =
true;
7480 private double dualSmallPivotThreshold_ = 0.0001D;
7493 return ((bitField1_ & 0x00000040) != 0);
7507 return dualSmallPivotThreshold_;
7522 dualSmallPivotThreshold_ = value;
7523 bitField1_ |= 0x00000040;
7538 bitField1_ = (bitField1_ & ~0x00000040);
7539 dualSmallPivotThreshold_ = 0.0001D;
7544 private double preprocessorZeroTolerance_ = 1e-09D;
7560 return ((bitField1_ & 0x00000080) != 0);
7577 return preprocessorZeroTolerance_;
7595 preprocessorZeroTolerance_ = value;
7596 bitField1_ |= 0x00000080;
7614 bitField1_ = (bitField1_ & ~0x00000080);
7615 preprocessorZeroTolerance_ = 1e-09D;
7620 private double objectiveLowerLimit_ = Double.NEGATIVE_INFINITY;
7639 return ((bitField1_ & 0x00000100) != 0);
7659 return objectiveLowerLimit_;
7680 objectiveLowerLimit_ = value;
7681 bitField1_ |= 0x00000100;
7702 bitField1_ = (bitField1_ & ~0x00000100);
7703 objectiveLowerLimit_ = Double.NEGATIVE_INFINITY;
7708 private double objectiveUpperLimit_ = Double.POSITIVE_INFINITY;
7715 return ((bitField1_ & 0x00000200) != 0);
7723 return objectiveUpperLimit_;
7732 objectiveUpperLimit_ = value;
7733 bitField1_ |= 0x00000200;
7742 bitField1_ = (bitField1_ & ~0x00000200);
7743 objectiveUpperLimit_ = Double.POSITIVE_INFINITY;
7748 private double degenerateMinistepFactor_ = 0.01D;
7776 return ((bitField1_ & 0x00000400) != 0);
7805 return degenerateMinistepFactor_;
7835 degenerateMinistepFactor_ = value;
7836 bitField1_ |= 0x00000400;
7866 bitField1_ = (bitField1_ & ~0x00000400);
7867 degenerateMinistepFactor_ = 0.01D;
7872 private int randomSeed_ = 1;
7897 return ((bitField1_ & 0x00000800) != 0);
7950 randomSeed_ = value;
7951 bitField1_ |= 0x00000800;
7978 bitField1_ = (bitField1_ & ~0x00000800);
7984 private boolean useAbslRandom_ ;
7995 return ((bitField1_ & 0x00001000) != 0);
8007 return useAbslRandom_;
8020 useAbslRandom_ = value;
8021 bitField1_ |= 0x00001000;
8034 bitField1_ = (bitField1_ & ~0x00001000);
8035 useAbslRandom_ =
false;
8040 private int numOmpThreads_ = 1;
8052 return ((bitField1_ & 0x00002000) != 0);
8065 return numOmpThreads_;
8079 numOmpThreads_ = value;
8080 bitField1_ |= 0x00002000;
8094 bitField1_ = (bitField1_ & ~0x00002000);
8100 private boolean perturbCostsInDualSimplex_ ;
8114 return ((bitField1_ & 0x00004000) != 0);
8129 return perturbCostsInDualSimplex_;
8145 perturbCostsInDualSimplex_ = value;
8146 bitField1_ |= 0x00004000;
8162 bitField1_ = (bitField1_ & ~0x00004000);
8163 perturbCostsInDualSimplex_ =
false;
8168 private boolean useDedicatedDualFeasibilityAlgorithm_ =
true;
8186 return ((bitField1_ & 0x00008000) != 0);
8205 return useDedicatedDualFeasibilityAlgorithm_;
8225 useDedicatedDualFeasibilityAlgorithm_ = value;
8226 bitField1_ |= 0x00008000;
8246 bitField1_ = (bitField1_ & ~0x00008000);
8247 useDedicatedDualFeasibilityAlgorithm_ =
true;
8252 private double relativeCostPerturbation_ = 1e-05D;
8266 return ((bitField1_ & 0x00010000) != 0);
8281 return relativeCostPerturbation_;
8297 relativeCostPerturbation_ = value;
8298 bitField1_ |= 0x00010000;
8314 bitField1_ = (bitField1_ & ~0x00010000);
8315 relativeCostPerturbation_ = 1e-05D;
8320 private double relativeMaxCostPerturbation_ = 1e-07D;
8327 return ((bitField1_ & 0x00020000) != 0);
8335 return relativeMaxCostPerturbation_;
8344 relativeMaxCostPerturbation_ = value;
8345 bitField1_ |= 0x00020000;
8354 bitField1_ = (bitField1_ & ~0x00020000);
8355 relativeMaxCostPerturbation_ = 1e-07D;
8360 private double initialConditionNumberThreshold_ = 1e+50D;
8373 return ((bitField1_ & 0x00040000) != 0);
8387 return initialConditionNumberThreshold_;
8402 initialConditionNumberThreshold_ = value;
8403 bitField1_ |= 0x00040000;
8418 bitField1_ = (bitField1_ & ~0x00040000);
8419 initialConditionNumberThreshold_ = 1e+50D;
8424 private boolean logSearchProgress_ ;
8437 return ((bitField1_ & 0x00080000) != 0);
8451 return logSearchProgress_;
8466 logSearchProgress_ = value;
8467 bitField1_ |= 0x00080000;
8482 bitField1_ = (bitField1_ & ~0x00080000);
8483 logSearchProgress_ =
false;
8488 private boolean logToStdout_ =
true;
8499 return ((bitField1_ & 0x00100000) != 0);
8511 return logToStdout_;
8524 logToStdout_ = value;
8525 bitField1_ |= 0x00100000;
8538 bitField1_ = (bitField1_ & ~0x00100000);
8539 logToStdout_ =
true;
8544 private double crossoverBoundSnappingDistance_ = Double.POSITIVE_INFINITY;
8569 return ((bitField1_ & 0x00200000) != 0);
8595 return crossoverBoundSnappingDistance_;
8622 crossoverBoundSnappingDistance_ = value;
8623 bitField1_ |= 0x00200000;
8650 bitField1_ = (bitField1_ & ~0x00200000);
8651 crossoverBoundSnappingDistance_ = Double.POSITIVE_INFINITY;
8656 private boolean pushToVertex_ =
true;
8672 return ((bitField1_ & 0x00400000) != 0);
8689 return pushToVertex_;
8707 pushToVertex_ = value;
8708 bitField1_ |= 0x00400000;
8726 bitField1_ = (bitField1_ & ~0x00400000);
8727 pushToVertex_ =
true;
8732 private boolean useImpliedFreePreprocessor_ =
true;
8743 return ((bitField1_ & 0x00800000) != 0);
8755 return useImpliedFreePreprocessor_;
8768 useImpliedFreePreprocessor_ = value;
8769 bitField1_ |= 0x00800000;
8782 bitField1_ = (bitField1_ & ~0x00800000);
8783 useImpliedFreePreprocessor_ =
true;
8788 private double maxValidMagnitude_ = 1e+30D;
8804 return ((bitField1_ & 0x01000000) != 0);
8821 return maxValidMagnitude_;
8839 maxValidMagnitude_ = value;
8840 bitField1_ |= 0x01000000;
8858 bitField1_ = (bitField1_ & ~0x01000000);
8859 maxValidMagnitude_ = 1e+30D;
8864 private double dropMagnitude_ = 1e-30D;
8878 return ((bitField1_ & 0x02000000) != 0);
8893 return dropMagnitude_;
8909 dropMagnitude_ = value;
8910 bitField1_ |= 0x02000000;
8926 bitField1_ = (bitField1_ & ~0x02000000);
8927 dropMagnitude_ = 1e-30D;
8932 private boolean dualPricePrioritizeNorm_ ;
8944 return ((bitField1_ & 0x04000000) != 0);
8957 return dualPricePrioritizeNorm_;
8971 dualPricePrioritizeNorm_ = value;
8972 bitField1_ |= 0x04000000;
8986 bitField1_ = (bitField1_ & ~0x04000000);
8987 dualPricePrioritizeNorm_ =
false;
8998 DEFAULT_INSTANCE =
new com.google.ortools.glop.GlopParameters();
9002 return DEFAULT_INSTANCE;
9006 PARSER =
new com.google.protobuf.AbstractParser<
GlopParameters>() {
9009 com.google.protobuf.CodedInputStream input,
9010 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9011 throws com.google.protobuf.InvalidProtocolBufferException {
9014 builder.mergeFrom(input, extensionRegistry);
9015 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
9016 throw e.setUnfinishedMessage(builder.buildPartial());
9017 }
catch (com.google.protobuf.UninitializedMessageException e) {
9018 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
9019 }
catch (java.io.IOException e) {
9020 throw new com.google.protobuf.InvalidProtocolBufferException(e)
9021 .setUnfinishedMessage(builder.buildPartial());
9023 return builder.buildPartial();
9027 public static com.google.protobuf.Parser<GlopParameters>
parser() {
9038 return DEFAULT_INSTANCE;